Full text
Escuela de Ingeniería y Arquitectura Ingeniería de Telecomunicación Proyecto Fin de Carrera Classification of pedestrians, vehicles and animals using automotive radar Department of Signal Processing Department of Communications Engineering Tampere University of Technology Tampere, Finland Autor: Sergio Cebollada Gonzalo Director: Pavlo Molchanov Ponente: Santiago Cruz Llanas Zaragoza, Septiembre de 2013
Agradecimientos A Pavlo Molchanov, Alexey Vinel, Yevgeni Koucheryavy y Santiago Cruz por su colaboración en el desarrollo de este proyecto. A mis compañeros de carrera por los buenos momentos vividos a lo largo de estos años. A mi familia, en especial mis padres, y a mis amigos, por su apoyo y su confianza en los momentos en los que más falta hacían.
Resumen El interés creciente en los ámbitos de seguridad y prevención de accidentes en carretera ha propiciado en los últimos años una gran evolución en el desarrollo de sistemas de detección automática de obstáculos buscando evitar las colisiones. En concreto, en países como Finlandia se ha realizado especial hincapié, debido al gran número de accidentes causados por animales (principalmente renos) que se cruzan en las carreteras, causando grandes daños, físicos y económicos. Es por eso que la investigación centrada en evitar colisiones es de suma importancia allí. La Universidad Tecnológica de Tampere ha comenzado a trabajar en uno de estos sistemas, centrando el trabajo en los departamentos de procesado de señal e ingeniería de comunicaciones. El objetivo de este proyecto es desarrollar un sistema que sea capaz de detectar objetos y, además, clasificarlos distinguiendo tres grupos: peatones, vehículos y animales. Para ello se parte desde cero, lo cual implica que el trabajo abarcará desde la toma inicial de muestras de los posibles objetivos, hasta el desarrollo de todas las etapas posteriores, incluyendo una primera aproximación al futuro clasificador. Como primer paso, se analizarán varios sistemas de detección (radar, videocámaras, etc.) y se elegirá uno de ellos de forma razonada. Se tomarán muestras de los diferentes objetivos con dicho sistema, y serán analizadas. Para ello se elegirá el método de filtrado y análisis más apropiado. Una vez se tenga una representación gráfica de las diferentes muestras, el segundo paso será la implementación de un decisor y un posterior clasificador, que sea capaz de discriminar entre las tres posibles categorías que se estudian: peatones, vehículos y animales (renos). De nuevo se considerarán varias opciones y se elegirá aquella que pueda proporcionar mejores resultados. Terminados estos pasos, cualquier señal procedente del detector debería ser automáticamente filtrada y analizada, para ser capaz rápidamente de decidir si hay un obstáculo o no, y clasificarlo en alguno de los tres grupos. El objetivo de este proyecto es que, más adelante, pueda ser aplicado a un sistema capaz de generar una respuesta mecánica en el coche después de haber detectado un obstáculo en la carretera, para evitar posibles colisiones.
vii Índice General Índice General .................................................................................................................. vii Lista de Figuras ................................................................................................................. ix Lista de Tablas .................................................................................................................. xi Lista de Acrónimos y Abreviaciones ............................................................................... xiii 1. Introducción ............................................................................................ 1 1.1. Motivación ......................................................................................................... 1 1.2. Descripción del problema .................................................................................. 1 1.3. Objetivos del trabajo ......................................................................................... 3 1.4. Materiales utilizados .......................................................................................... 3 1.5. Contexto ............................................................................................................. 3 1.6. Estructura ........................................................................................................... 4 2. Estado del arte ......................................................................................... 5 2.1. Sistemas basados en videocámaras ................................................................... 5 2.2. Sistemas radar.................................................................................................... 6 2.2.1. Radares micro-Doppler ............................................................................... 7 2.3. Conclusiones .................................................................................................... 10 3. Métodos y Materiales ............................................................................ 11 3.1. Sensor radar ..................................................................................................... 11 3.1.1. Especificaciones del radar ........................................................................ 12 3.1.2. Recopilación de muestras ......................................................................... 13 3.2. Unidad de procesado de señal......................................................................... 13 3.2.1. Edición de las muestras ............................................................................ 13 3.2.2. Análisis ...................................................................................................... 14 3.2.3. Filtrado ...................................................................................................... 15 3.2.4. Decisión .................................................................................................... 17 3.2.5. Clasificación .............................................................................................. 18 4. Resultados ............................................................................................. 21 4.1. Análisis y Filtrado ............................................................................................. 21 4.1.1. Vehículos .................................................................................................. 21 4.1.2. Peatones ................................................................................................... 24 4.1.3. Renos ........................................................................................................ 27 4.2. Decisión ............................................................................................................ 28 4.2.1. No hay objetivo detectado ....................................................................... 28
viii 4.2.2. Objetivo detectado ................................................................................... 29 4.2.3. Distribución de potencia .......................................................................... 30 4.3. Clasificación ..................................................................................................... 32 5. Conclusiones .......................................................................................... 33 5.1. Líneas futuras ................................................................................................... 34 Bibliografía ................................................................................................... 35 Anexos .......................................................................................................... 37 A. Características de los sistemas basados en videocámaras .................................... 39 B. Aspectos matemáticos de la etapa de clasificación ............................................... 43 C. Scripts en MATLAB .................................................................................................. 47
ix Lista de Figuras Figura 1: Configuraciones del sensor para detector peatones y objetos……………………………………2 Figura 2: Línea temporal de las medidas de protección de peatones………………….……………….……5 Figura 3: Visión esquemática del concepto de radar armónico y transpondedores…………………..7 Figura 4: Dibujo del típico “walk cycle” humano………………………………………………………………...…...8 Figura 5: Diagrama espacio-velocidad simulado para el cuerpo (azul) y para las piernas (verde y rojo) de un peatón andando………………………………...…………………………………………..……..……………...8 Figura 6: Modelo de puntos de reflexión para un peatón en movimiento………….……..…….……….9 Figura 7: Modelo de puntos de reflexión para un vehículo con movimiento longitudinal………...9 Figura 8: Modelo de puntos de reflexión para un vehículo con movimiento lateral………………….9 Figura 9: Representación esquemática del sistema…………………………………….….……………………...11 Figura 10: Ejemplo de espectrograma…………………………………………………………………………..…….….14 Figura 11: Ejemplo de espectrograma de ruido…………………………………………………………..…….…...16 Figura 12: Densidad espectral de potencia media de ruido……………………………………………..……..17 Figura 13: Representación esquemática del método SVM……………………………………….……………..19 Figura 14: Espectrograma de un coche en movimiento alejándose de nosotros (antes de filtrar)………………..........................................................................................................................21 Figura 15: Espectrograma de un coche moviéndose linealmente (antes de filtrar)……………..….22 Figura 16: Espectrograma de un coche en movimiento alejándose de nosotros (tras sustracción espectral con Matlab)…………………………………………………………………….………………………………….…23 Figura 17: Espectrograma de un coche moviéndose linealmente (tras sustracción espectral con Matlab)……………………………………………………………………………………………………………….…...………....23 Figura 18: Espectrograma de una persona yendo hacia nosotros (antes de filtrar)……………..….24 Figura 19: Espectrograma de una persona alejándose y luego acercándose (antes de filtrar)…………………………………………………………………………………………………………………………………....25 Figura 20: Espectrograma de una persona moviéndose hacia nosotros (tras sustracción espectral con Matlab)………………………………………………………….…….............................................26 Figura 21: Espectrograma de una persona alejándose y luego acercándose (tras sustracción espectral con Matlab)……………………………….……………………………………………………………….…………26 Figura 22: Espectrograma de un reno (antes de filtrar)…………………………….………………….………...27 Figura 23: Espectrograma de un reno (tras sustracción espectral con Matlab)………………….….27 Figura 24: Espectrograma de varias muestras sin objetivo y sus potencias………………….………….28 Figura 25: Espectrograma de varias muestras con diferentes objetivos y sus potencias……..….29 Figura 26: Histograma de la distribución de potencia para ambos casos…………….……………….…30 Figura 27: Evolución de las probabilidades de detección, falsa alarma y pérdida…………………...31 Figura 28: Certificación estéreo entre luz visible e imagines térmicas…………………………….……...40 Figura 29: Integración del sistema……………………………………………………………………………….….……..41 Figura 30: Aplicación del método HOG para identificación de renos…………………………………...…42 Figura 31: Ejemplo de margen de separación entre clases……………………………………………………..45 Figura 32: Diferentes tipos de márgenes de separación………………………………………………………….45
2 tienen problemas para realizar detecciones correctas durante la noche, debido a la oscuridad. Por otro lado, tienen mejor resolución angular que los sistemas radar. Fig. 1: Configuraciones del sensor para detector peatones y objetos (2). (a) Línea base estéreo para objetos distantes. (b) RADAR para medidas de distancia para un campo de visión (FOV) estrecho. (c) Línea base estrecha para FOV ancho, para objetos cercanos. (d) Omnicameras para monitorizar puntos ciegos. (e) Cámara inversa monocular. Pero, como punto de partida, nuestro trabajo será estudiar en profundidad ambos sistemas, comparar sus ventajas y desventajas y prestar atención a sus progresos y la calidad de sus resultados para este tipo de aplicaciones. Es importante conocer en qué punto están los dos sistemas, para aprovecharnos a la hora de decidir cuál es el más apropiado para nosotros, y saber cómo continuar las investigaciones previas y modificarlas para completar nuestro proyecto. Tabla 1: Comparación entre diferentes modalidades de sensor para protección de peatones
3 1.3. Objetivos del trabajo Para una mejor organización, se han establecido diferentes objetivos para estructurar el trabajo a llevar a cabo, descritos a continuación: 1. Análisis de los diferentes sistemas usados en seguridad vial (cámaras, radar, etc.) 2. Estudio del sistema que será utilizado finalmente para tomar las muestras (radar de onda continua). 3. Toma de muestras de peatones, vehículos y renos. 4. Edición de audios y vídeos correspondientes a las muestras tomadas, para la extracción de las señales buscadas. 5. Tratamiento de la señal obtenida por el radar en cada caso, de forma separada. 6. Desarrollo de un algoritmo que sea capaz de decidir si la señal detectada corresponde a un obstáculo o no. 7. Desarrollo de un primer algoritmo para clasificar dichas muestras obtenidas. 8. Evaluación de dicho clasificador, en términos de probabilidad de clasificación correcta y, en la medida de lo posible, perfeccionamiento de dicho clasificador. 1.4. Materiales utilizados En este apartado se enumeran los diferentes materiales y herramientas utilizados a lo largo de todo el proyecto. En los siguientes capítulos se tratará con más detalle su utilización: - Radar de onda continua. Modelo IPS-146 de InnoSent, a 24 GHz. - Videocámara de 1.3 mpx. - Grabador de audio con tasa de muestreo 44100 Hz, 16 bit ADC. - Programa de mezclado de audio y vídeo. - Programa de editado de vídeo Virtualdub. - VLC Media Player para la extracción de audio de los vídeos. - Matlab para la construcción de los algoritmos de análisis, filtrado, decisión y clasificación. 1.5. Contexto Este trabajo se ha desarrollado a lo largo de 7 meses en la Universidad Tecnológica de Tampere (Finlandia), gracias al programa de intercambio de estudiantes ERASMUS. Se enmarca en el área de investigación, llevada a cabo entre los departamentos de Tratamiento de Señal y de Ingeniería de Comunicaciones.
4 1.6. Estructura A continuación se describe brevemente el contenido de los capítulos restantes que conforman esta memoria: El capítulo 2 presenta una visión del estado del arte en el que se encuentran las diferentes tecnologías relativas a la detección de objetos que se cruzan en la vía. El capítulo 3 muestra las principales herramientas que se utilizan en este trabajo, así como la metodología seguida para su desarrollo. El capítulo 4 muestra los resultados obtenidos en cada una de las fases del trabajo. Por último, el capítulo 5 expone las conclusiones extraídas de este proyecto, así como futuras líneas de trabajo.
5 2. Estado del arte Parte del trabajo desarrollado en este PFC consiste en el análisis de trabajos similares al que se va a desarrollar, con el objetivo de valorar el sistema a utilizar más adelante. Es por eso, que en este apartado se muestran algunos artículos que explican el estado del arte en el que se encuentran las principales tecnologías aplicadas en casos parecidos. 2.1. Sistemas basados en videocámaras Mejorar la comodidad y seguridad del conductor y los ocupantes de un vehículo es la principal motivación en el desarrollo y la innovación asociada a los llamados “vehículos inteligentes” (IVs, Intelligent Vehicles) y los “sistemas de transporte inteligentes” (ITSs, Intelligent Transportation Systems). Ha habido numerosos estudios y programas basados en el seguimiento y la detección, muchos de ellos centrados en los peatones. La seguridad de los peatones puede ser mejorada en varios pasos, como se muestra en la Fig. 2. Estas mejoras pueden ser complementadas con sistemas que detecten a los peatones y puedan prevenir los accidentes, bien alertando al conductor, bien realizando maniobras de frenado de forma automática. En los casos donde el accidente no pueda ser prevenido, incorporar al vehículo dispositivos para mitigar la colisión puede reducir el impacto causado en el peatón. Las mejoras en la infraestructura para reducir los accidentes relacionados con peatones pueden ser divididas en tres categorías: control de velocidad, separación vehículo-peatón y medidas para aumentar la visibilidad de los peatones. Por supuesto, todas ellas aplicables también a otros vehículos, animales, ciclistas, y cualquier otro objeto que pueda aparecer en la vía. Fig. 2: Línea temporal de las medidas de protección de peatones (2). El tiempo de reacción para una distancia dada decrece con la velocidad.
6 El programa Pedsmart (3) tiene el objetivo de aplicar la tecnología ITS para mejorar la seguridad de los peatones. Han desarrollado varios dispositivos que detectan a los peatones que cruzan o están esperando, así como los motoristas. También han desarrollado un software llamado “Herramienta de Análisis de choques con Peatones y Ciclistas” para analizar las interacciones entre peatones, ciclistas y vehículos a motor. La Unión Europea ha conducido varios proyectos en colaboración con diversas industrias e institutos de investigación para el desarrollo de diferentes sistemas en general, y sistemas de seguridad de peatones en particular. El proyecto PReVENT (4) trabaja en el desarrollo de tecnologías de seguridad que ayudan a los conductores a prevenir o mitigar los efectos de un accidente, utilizando análisis de los alrededores, así como del estado del conductor basado en radares. En particular, el subproyecto COMPOSE se centra en la detección de peatones, ciclistas y otros vehículos usando datos provenientes de sensores y usando frenado automático o semiautomático. El proyecto PROTECTOR y su sucesor SAVE-U se centraron particularmente en la reducción de accidentes involucrando VRUs (5). El proyecto europeo PUVAME propone una solución para prevenir colisiones entre VRUs y autobuses. Todos estos sistemas utilizan cámaras “off-board” que observan las intersecciones y las paradas de autobús para rastrear el movimiento de los buses así como de los VRUs. Los sensores de imagen pueden capturar una perspectiva de alta definición de la escena, pero la extracción de la información implica una gran cantidad de procesado. Además, la visibilidad desde el vehículo es muchas veces limitada. Es muy frecuente el caso en el que es difícil o imposible observar el objeto peligroso desde el propio vehículo. En el Anexo A se detalla más información acerca de las características de los sistemas basados en videocámaras. 2.2. Sistemas radar Los radares automotor están empezando a formar parte del equipamiento estándar de los coches de gama alta, y se espera que pronto lo sean en los de gama media-baja. Aunque estos radares a menudo no son capaces de distinguir con facilidad a los VRUs, tales como peatones, ciclistas y motociclistas de otros usuarios u obstáculos de la vía, como coches o señales de tráfico. Uno de los sistemas que se estudia consiste en un radar armónico, y un pequeño transpondedor que lleva el VRU (6). El radar armónico transmite una señal que consiste en dos componentes frecuenciales distintas (f1 y f2). En el transpondedor, las dos frecuencias son mezcladas y un producto armónico es transmitido de vuelta al radar. Para cumplir con la banda designada para radares automotor, f2 es bastante cercana a f1, así el producto armónico de tercer orden, 2f1-f2, generado en el transpondedor, se sitúa cerca de f1 y f2. El sistema radar procesa las reflexiones de objetivos convencionales usando una de las componentes (f1 o f2) directamente. La respuesta del
7 transpondedor es procesada sintetizando la frecuencia de dicho transpondedor basándose en las componentes f1 y f2. De esta forma, el radar puede tener dos principales salidas, donde una de ellas está relacionada con las reflexiones convencionales y la otra está relacionada con un VRU llevando un transpondedor. Fig. 3: Visión esquemática del concepto de radar armónico y transpondedores El radar transmite una señal consistente en dos frecuencias distintas en la banda de 76-81 GHz. Aunque es posible desarrollar un transpondedor de bajo coste y suficientemente pequeño como para poder ser integrado en la ropa, para poder ser utilizado en este tipo de aplicaciones, puesto que no necesita batería, es básicamente un elemento mezclador unido a una antena, y puede ser mejorado para obtener buenos resultados, se decide abandonar esta idea porque se considera que proveer de un transpondedor a todos los VRUs no es una idea viable. 2.2.1. Radares micro-Doppler Este tipo de radares trabajan constantemente, enviando una señal de frecuencia estable y procesando el eco reflejado. Así maximizan la potencia total en el objetivo. Usan Doppler para medir la velocidad angular del objetivo, lo que les hace inmunes a la interferencia de grandes objetos estáticos, y les permite incrementar el número de muestras para aumentar el rango de detección sin incrementar la potencia transmitida. Dentro de las posibles aplicaciones de estos radares, se encuentra el ámbito militar. Por ejemplo, son usados para guiar misiles aire-aire buscadores de blancos con radares semiactivos (SARH, Semi-Active Radar Homing) como el U.S. AIM-7 Sparrow, y otros misiles estándar. También están incluidos en sistemas de vigilancia, usados en diversas tácticas de vigilancia en el campo de batalla, reconocimiento de infantería o vigilancia de fronteras (7). Publicaciones recientes muestran que un simple sensor radar es capaz de grabar perfiles micro-Doppler de humanos caminantes (8). El movimiento de los peatones se caracteriza por su no-uniformidad. Incluso cuando el centro de gravedad se mueve con una velocidad constante, todas las partes del cuerpo realizan un proceso de aceleración y deceleración técnicamente complicado,
8 pero periódico. La periodicidad de este movimiento viene dada por el llamado “walk cycle”, que se define con dos pasos. En este ciclo, un pie está siempre en el suelo para un movimiento de “no avance”. La Fig. 4 muestra un dibujo de este ciclo para visualizar el proceso periódico del tronco, así como de brazos y piernas. Fig. 4: Dibujo del típico “walk cycle” humano Esta descripción implica una aproximación de las piernas a simples péndulos, lo cual es suficiente para esta aplicación. Las piernas izquierda y derecha tienen una diferencia de fase de 180º, lo cual se representa con un “menos” a la hora de calcular la velocidad de cada parte, como comprobaremos más adelante en el apartado de resultados. Después de las consideraciones teóricas, la misma disposición, esta vez para una persona con movimiento radial fue grabada por un sensor radar a 24 GHz. Para esto, dicho sensor se modifica para medidas de alta resolución. Para detectar las señales esperadas, se estableció una resolución espacial de r = 0.08 m y una resolución de velocidad de v = 0.09 m/s. Fig. 5: Diagrama espacio-velocidad simulado para el cuerpo (azul) y par a las piernas (verde y rojo) de un peatón andando
9 Esto ayuda a comprender que algunos de los resultados que se presentan más adelante, relacionados con algunos de estos parámetros, y aclarar la diferencia de fase de las piernas. Pero, trabajando con este tipo de radares, también se pueden tomar muestras de vehículos. Tal y como se explica en (9), uno de los principales objetivos es diferenciar entre vehículos en movimiento y peatones, en términos de extracción de características y clasificación. El espectro Doppler es la base del reconocimiento de objetivos integrado en un sensor radar automotor. También la velocidad lateral es usada para clasificar peatones y vehículos en cualquier escenario urbano de forma correcta. Los vehículos moviéndose de forma longitudinal tienen la misma velocidad en todos los puntos de reflexión. Sin embargo, en caso de movimientos laterales, se pueden medir diferentes velocidades provenientes de diferentes puntos de reflexión, debido a la dirección del movimiento del vehículo. Esto hace peligrosos y difíciles de clasificar a los vehículos, porque esta característica es bastante similar a la observada en el caso de detección de peatones. Fig. 6: Modelo de puntos de reflexión para un peatón en movimiento Fig. 7: Modelo de puntos de reflexión para un vehículo con movimiento longitudinal Fig. 8: Modelo de puntos de reflexión para un vehículo con movimiento lateral
10 La asignación de un objeto medido a cualquiera de las clases es desarrollada por un algoritmo de decisión subjetivo basado en las características extraídas. Una vez más, los parámetros del clasificador son generados en una fase de entrenamiento usando una serie de muestras de entrenamiento. Estas muestras consisten en vectores de características seleccionados aleatoriamente dentro de las medidas realizadas por el radar y correspondientes a las diferentes clases. Los clasificadores más típicos son los basados en máquinas de vectores de soporte (SVMs). En este estudio, para la detección de peatones, si se comparan solo con vehículos con movimiento longitudinal, se llega a obtener hasta un 99% de precisión. Sin embargo, comparándolos con vehículos con movimiento lateral, solo el 79,9% de los peatones son clasificados correctamente, lo cual no es un buen resultado. Y, además de todo esto, no hay muchos estudios documentados acerca de la utilización de estos sistemas para la detección clasificación de renos. 2.3. Conclusiones Aunque, tal y como se explicaba anteriormente, se pueden obtener buenos resultados utilizando sistemas de imagen, su complejidad, y el hecho de ser altamente influenciables por la oscuridad y las condiciones meteorológicas, nos hacen tomar la decisión de decantarnos por el uso de un sistema radar micro-Doppler para la realización de este proyecto. Además, ha habido un gran progreso en el desarrollo de radares de 24 GHz, y son bastante menos caros en comparación con la tecnología que opera a 77 GHz. Estos radares son simples de fabricar y operar con ellos. Y, por esto, son baratos de fabricar y mantener. Es por eso que algunas de las compañías (por ejemplo Nissan, Mercedes –ver sistema PRE-SAFEetc.) están utilizando este tipo de sistemas radar en lugar de los ópticos. Aplicaciones como el aviso de invasión de carril contrario, ayuda de aparcamiento, control de velocidad o Stop&Go ya han sido introducidas en el mercado.
11 3. Métodos y Materiales Como se explica anteriormente, en este proyecto se decide trabajar con un sistema basado en un sensor radar, en lugar de uno basado en videocámaras. Un sistema de reconocimiento de peatones basado en radar tiene dos componentes principales, un sensor radar y una unidad de procesamiento de señal, que consiste en un procesador de los datos recibidos por el radar (análisis y filtrado) combinado con un algoritmo de detección y clasificación (10), tal y como vemos en la Fig. 9. Fig. 9: Representación esquemática del sistema 3.1. Sensor radar Las medidas se realizan con un radar de onda continua (CW, Continuous-Wave radar). Este tipo de radares están continuamente trabajando, enviando una señal de frecuencia estable y procesando el eco reflejado. De esta manera maximizan la potencia total en el objetivo. Usan Doppler para medir la velocidad del objetivo, lo que les hace inmunes frente a las interferencias provenientes de grandes objetos estáticos, y les permite incrementar el número de muestras para ampliar el rango de detección sin incrementar la potencia transmitida. Para este tipo de aplicaciones, las dos bandas frecuenciales principales son 24 y 77 GHz. Se decide trabajar en la banda de 24 GHz porque este tipo de radares son mucho más atractivos, principalmente debido a su menor coste. En nuestro caso, se utiliza el modelo IPS-146 de InnoSenT. Un radar de onda continua, a 24 GHz, con un preamplificador de radiofrecuencia para operar en el modo más bajo de ruido, y una antena separada para transmisión y recepción.
18 Antes de decidir el valor de dicho umbral, se deben considerar los siguientes conceptos relacionados con el método de hipótesis: - Probabilidad de detección, PD: La probabilidad de que un objetivo sea declarado, cuando existe tal objetivo. - Probabilidad de falsa alarma, PFA: La probabilidad de que un objetivo sea declarado, cuando no hay un objetivo presente. - Probabilidad de pérdida, PM: La probabilidad de que un objetivo no sea declarado, cuando hay un objetivo presente. Basándonos en estas probabilidades, hay diferentes opciones para establecer el umbral. Para determinadas aplicaciones, es interesante tener una alta probabilidad de detección, lo que implica que cada vez que se declara un objetivo, es porque existe la certeza casi absoluta de que dicho objetivo está presente. Pero en nuestro caso la decisión no es tan fácil. Dado que dicha decisión puede implicar una reacción mecánica posterior para evitar la posible colisión, no podemos descuidar la probabilidad de falsa alarma, ni la de pérdida. Un sistema que no avisa de la presencia de un objetivo cuando está, simplemente por su baja probabilidad, se convierte en inútil para su propósito. Pero también lo es un sistema que avisa de la presencia de un objetivo cuando no lo hay, puesto que también puede resultar peligroso. Por lo tanto, es lógico pensar que la decisión final razonable será un punto intermedio, el cual será analizado en la siguiente sección. Una vez se decide el valor umbral, cada nueva muestra será analizada, se calculará la potencia media asociada su espectrograma y, en función del valor obtenido, se decidirá si corresponde a un objetivo o se trata simplemente de ruido. 3.2.5. Clasificación Después de filtrar y analizar la señal medida por el sensor radar, y decidir si corresponde a un objetivo o no, solo queda decidir de qué objetivo se trata. Hay muchos tipos de clasificadores, basados en diferentes métodos. Algunos de los más utilizados son el clasificador Naïve Bayes (13) (14), basado en el teorema de Bayes (15) y el clasificador basado en máquinas de vectores de soporte (SVM) (16), que es el que se usa en este proyecto. Se elige éste porque se trata de un clasificador con el que se pueden llegar a obtener buenos resultados y, como se explica en apartados anteriores y en el Anexo A, es el más comúnmente utilizado en aplicaciones de este tipo. Como muchos sistemas de clasificación, las SVM trabajan sobre lo que se denomina vector de características, y proporcionan a su salida la clase asociada a dicho vector (en nuestro caso peatón, vehículo o reno). El vector de características ha de ser descriptivo de la muestra introducida, permitiendo clasificar la señal. En nuestro caso, como todas las secciones anteriores han ilustrado el interés de las representaciones tiempo-frecuencia para esta tarea, usaremos como vector de características el espectrograma y coeficientes Cepstrum (17) (18). Los coeficientes Cepstrum se calculan
19 como la antitransformada del logaritmo del módulo de la transformada de Fourier de la señal. Es típica su utilización en aquellos problemas de clasificación en los que la variación temporal de las características espectrales es relevante, como en reconocimiento de voz, clasificación sobre señales sísmicas, etc. Las SVM requieren una etapa de entrenamiento, para la que se utilizan vectores de características correctamente clasificados. En esta etapa se determinan una serie de parámetros que permitirán clasificar nuevos vectores. Fig. 13: Representación esquemática del método SVM De nuevo, y puesto que estamos simulando un sistema de seguridad y el objetivo principal es evitar colisiones, buscamos un resultado lo más preciso posible. Algunos detalles adicionales, tanto sobre el Cepstrum como sobre las SVM, se describen en el Anexo B.
21 4. Resultados En este apartado se presentan los resultados obtenidos en las diferentes etapas del proyecto, tras haber seguido los pasos indicados en los capítulos anteriores para su realización. 4.1. Análisis y Filtrado En esta primera parte se observan los espectrogramas correspondientes a algunas de las muestras utilizadas a lo largo del proyecto, correspondientes a las tres clases: vehículos, peatones y renos. Al lado de cada una de ellas aparece la imagen real del objetivo. 4.1.1. Vehículos Fig. 14: Espectrograma de un coche en movimiento alejándose de nosotros (antes de filtrar) En este primer espectrograma se puede apreciar la forma de un coche que aparece detrás de nosotros, y empieza a acelerar mientras se aleja, hasta que desaparece. La velocidad negativa representa el hecho de que el coche se aleja. La velocidad negativa en esta situación está relacionada con las frecuencias negativas medidas por el sensor radar, debidas al movimiento del coche. Se observa también las líneas de ruido introducidas por el propio radar. Calculando la relación entre velocidad y frecuencia, se deduce que las frecuencias son 1 y 2 KHz.
22 Fig. 15: Espectrograma de un coche moviéndose linealmente (antes de filtrar) Aquí tenemos un caso diferente. Aunque se trata también de un coche, podemos observar que la forma del espectrograma es diferente. Esto se debe a que el movimiento del coche también lo es. Estaba parado a nuestra izquierda, y empezó a moverse hacia la derecha, mientras aceleraba. La velocidad aumenta porque al principio el coche está acercándose al radar (desde la izquierda hasta el centro), después de unos segundos, empieza a alejarse (desde el centro hasta la derecha), así que la velocidad empieza a decrecer hasta que desaparece de nuestro alcance.
23 Fig. 16: Espectrograma de un coche en movimiento alejándose de nosotros (tras sustracción espectral con Matlab) Fig. 17: Espectrograma de un coche moviéndose linealmente (tras sustracción espectral con Matlab) Como el espectro de ruido usado para la sustracción espectral se construyó con diferentes muestras, tomadas de coches, peatones y renos, no se obtiene un filtro perfecto para cada muestra. Además, se le añade un filtro de mediana como último paso, para que el resultado sea más limpio.
24 4.1.2. Peatones Fig. 18: Espectrograma de una persona moviéndose hacia nosotros (antes de filtrar) Ahora tenemos un caso distinto. La velocidad cambia mucho más rápidamente que en los casos anteriores, y está relacionado con la explicación de la Fig. 9. Puesto que cada paso tenemos tres partes principales, todas ellas tienen su velocidad. Si prestamos atención a la gráfica, podemos observar una línea gruesa roja, que representa el tronco del peatón y su velocidad media. Aparte de esa línea, y no tan fáciles de apreciar, tenemos otros dos movimientos diferentes que representan las piernas. Mientras uno de ellos incrementa su velocidad, el otro la reduce.
25 Fig. 19: Espectrograma de una persona alejándose y luego acercándose (antes de filtrar) Aunque, como se puede observar, el espectrograma original en este caso es mucho más limpio que en los anteriores (esta muestra fue tomada en condiciones diferentes, un día diferente, con el objetivo de compararlas), podemos observar similitudes. Primero, la forma del espectrograma es casi la misma, puesto que se aprecian las diferentes velocidades asociadas al tronco y las piernas. En este caso además, podemos observar la diferencia entre detectar una persona que se aleja o que se acerca. Al principio, el peatón se está alejando, por lo que la velocidad se considera negativa (como se observaba para el primer coche). Unos segundos después, el objetivo vuelve hacia nosotros, y la velocidad pasa a ser positiva. En este caso también hay que eliminar las líneas de ruido.
26 Fig. 20: Espectrograma de una persona moviéndose hacia nosotros (tras sustracción espectral con Matlab) Fig. 21: Espectrograma de una persona alejándose y luego acercándose (tras sustracción espectral con Matlab) En esta situación tenemos una gran diferencia entre ambos casos. Esto se debe al hecho de que la segunda muestra fue tomada un día diferente, por lo que el ruido es distinto y su espectrograma ya era bastante limpio antes de filtrar. Aun así, podemos observar que las líneas de ruido han sido eliminadas.
27 4.1.3. Renos Fig. 22: Espectrograma de un reno (antes de filtrar) Las muestras de renos fueron tomadas otro día, como se ha explicado al detallar el proceso. Es por eso que la potencia de las señales y la del ruido que las afecta son distintas. Fig. 23: Espectrograma de un reno (tras sustracción espectral con Matlab) Aquí se observa que las líneas de ruido afectan mucho más a estas muestras. Esto se debe a la diferencia de potencia, y al hecho de que el espectro medio de ruido usado para la sustracción espectral está construido con muestras correspondientes a todos los objetivos. Esto explica por qué las líneas parecen no ser eliminadas usando este método.
34 5.1. Líneas futuras Una vez este PFC ha sido terminado, se quieren proponer algunas líneas de trabajo futuras. Algunos pasos o acciones que se pueden realizar con el objetivo, tanto de mejorar los resultados obtenidos, como de ampliar las posibilidades que ofrece este campo, así como proponer algunas preguntas o casos adicionales. En primer lugar, tal y como se explica en apartados anteriores, la tarea principal debe consistir en mejorar los resultados que ofrece el clasificador. Si el objetivo es que el trabajo realizado en este PFC sea implantado en un sistema de seguridad, la precisión, tanto de las etapas de decisión como de clasificación, debería ser lo más cercano posible al 100%. Varias son las opciones que se proponen. En primer lugar, podría ser de utilidad aumentar la base de datos de muestras. Cuantas más muestras de entrenamiento se introduzcan en el clasificador, mejor debería funcionar. Así mismo, un posible perfeccionamiento de las etapas de análisis y filtrado puede producir que las muestras que llegan al clasificador estén mejor definidas y esto ayude a una mejor clasificación. En cuanto al clasificador en sí, una mejora en la extracción de características ayudaría, sin duda, a una mejora en los resultados. Cuanto más compacto sea el vector de características, es decir, cuanta más información se pueda ofrecer en dicho vector, utilizando menos muestras, más fácil resultará para el clasificador la separación entre las clases, y mejor será el resultado de la clasificación final. Este tipo de clasificadores tienen problemas a la hora de procesar muestras que proporcionan información redundante, y esto puede afectar a los resultados ofrecidos. Por otro lado, además de los resultados observados en este PFC, sería una buena idea contemplar la posibilidad de añadir nuevos objetivos. En países como Finlandia, Canadá o EEUU hay muchos problemas con renos cruzando carreteras, tal y como se presenta en la introducción del PFC. Pero esta no es una situación real en muchos otros países, por lo que este objetivo puede ser adaptable a la región donde se quiera trabajar. Perros, gatos, vacas, liebres o ciervos son también intrusos comunes en muchas de las carreteras de algunos países, entre ellos España. Pero también ciclistas o motoristas quedan fuera de este estudio y podría ser interesante incluirlos. Otros problemas que no han sido contemplados y podrían serlo en el futuro se pueden dividir principalmente en dos grupos: trabajar con objetivos parados, que pueden interferir en la detección de nuestros objetivos ya estudiados, y trabajar con grupos, lo cual sería básicamente una evolución de lo analizado en este PFC. Grupos de personas caminando juntas, grupos de animales, o situaciones que involucren a varios vehículos, como pueden ser los atascos, o un simple adelantamiento. Todas ellas son situaciones de las que ahora mismo no se conoce el resultado que se obtendría analizándolas con este sistema, pero podría ser interesante trabajar en ellas.
35 Bibliografía 1. Heuer M, Al-Hamadi A, Meinecke M-M, Mende R. Requirements on Automotive Radar Systems for Enhanced Pedestrian Protection. Warsaw, Poland : 19th International Radar Symposium. 2. Gandhi T, Trivedi M M. Pedestrian Protection Systems: Issues, Survey, and Challenges. s.l. : IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, 2007. VOL. 8, NO. 3. 3. http ://www.walkinginfo.org/pedsmart. [En línea] 4.http://prevent.ertico.webhouse.net/en/prevent_subprojects/vulnerable_road_users_collisio n_mitigation/apalaci/. [En línea] 5. http://www.gavrila.net/Computer_Vision/Smart_Vehicles/smart_vehicles.html. [En línea] 6. Saebboe J, Viikari V, Varpula V, Seppä H, Cheng S, Al-Nuaimi M, Hallbjörner P, Rydberg A. Harmonic Automotve Radar for VRU Classification. Stavanger (Norway), Finland, Uppsala (Sweden) : s.n. 7. Bilik I, Tabrikian J, Cohen A. GMM-Based Target Classification for Ground Surveillance Doppler Radar. s.l. : Ben-Gurion University of the Negev, Israel (http://ieeexplore.ieee.org/). 8. Fölster F, Rohling H, Ritter H. Observation of a walking pedestrian with a 24 GHz automotive radar. Hamburg : Hamburg University of Technology (http://duepublico.uni-duisburgessen.de/servlets/DerivateServlet/Derivate-14694/Final_Papers/GM0014-F.pdf [En línea]). 9. Heuel S, Rohling H. Pedestrian Classification in Automotive Radar Systems. Hamburg, Germany : Hamburg University of Technology (http://ieeexplore.ieee.org/). 10. Bartsch A, Fitzek F, Rasshofer R H. Pedestrian recognition using automotive radar sensors. Munich, Germany : Advances in Radio Science, 2012. 11. http://dea.brunel.ac.uk/cmsp/home_esfandiar/spectral%20subtraction.htm. [En línea] 12. Richards M A. Fundamentals of Radar Signal Processing. s.l. : McGraw-Hill, 2005. 13. Rish I. An empirical study of the naive Bayes classifier. s.l. : T.J. Watson Research Center. 14. Murphy K P. Naive Bayes classifiers. 2006 (http://www.ic.unicamp.br/~rocha/teaching/2011s1/mc906/aulas/naive-bayes.pdf [En línea]). 15. Bohling G. Applications of Bayes' Theorem. s.l. : Kansas Geological Survey, 2005. 16. Hsu C-H, Chang C-C, Lin C-J. A Practical Guide to Support Vector Classification. Taiwan : National Taiwan University, 2010 (http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf [En línea]). 17. Childers D G, Skinner D P, Kemerait R C. The Cepstrum: A Guide to Processing. s.l. : Proceedings of the IEEE, 1977. 18. D'haes W, Rodet X. Discrete Cepstrum Coefficients as Perceptual Features. Paris (France), Brussels (Belgium) : IRCAM and University of Antwerpen.
36 19. Fardi B, Dousa J, Wanielik G, Elias B, Barke A. Obstacle detection and pedestrian recognition using a 3D PMD camera. s.l. : Proc. IEEE Intell. Veh. Symp., 2006. págs. 225-230. 20. Fang Y, Yamada K, Ninomiya Y, Horn B K P, Masaki I. A In thermal IR images, pedestrians that are warmer than the images. s.l. : IEEE Trans. Veh. TechnolIEEE Trans. Veh. Technol., 2004. págs. 1679–1697. vol. 53, no. 6. 21. Raytheon Company, Thermal-Eye TSC. [En línea] https/lgpssignal.com/pdf/THERMALEye%20TSC.pdf. 22. Zhou D, Dillion M, Kwon E. Tracking-Based Deer Vehicle Collision Detection Using Thermal Imaging. s.l. : IEEE International Conference on Robotics and Biomimetics, 2009. 23. Zhou D, Wang J. Identification of Deer in Thermal Images to Avoid Deer-Vehicle Crashes. University of Minnesota : International Coriference on Electronics and Optoelectronics, 2011.
37 Anexos
39 A. Características de los sistemas basados en videocámaras Una de las principales cuestiones es que los sensores de imagen dan una proyección 2-D de un escenario 3-D, perdiendo la información de la profundidad durante el proceso, puesto que la profundidad es una característica fundamental a la hora de intentar evitar colisiones. Aunque el uso de binoculares estéreo pueden recuperar dicha información, se necesita la difícil, y muchas veces ambigua, correspondencia del problema de relacionar las características entre las imágenes. Para intentar resolver este problema, un nuevo sistema con sensor 3-D usando un dispositivo mezclador fotónico es propuesto en (19). Este sistema contiene una cámara 64x16 CCD con iluminación LED emitiendo una señal IR modulada. El sensor calcula la distancia del objeto midiendo la diferencia de fase entre las señales transmitida y reflejada. Así, las imágenes de distancia y amplitud son creadas, y son usadas en el siguiente paso para identificar a los peatones. Otra limitación explicada al principio es el trabajo en condiciones de oscuridad. Para superar estas y otras limitaciones, se puede usar una combinación de múltiples sensores que proporcionen información complementaria. Por ejemplo, la capacidad de los sensores que trabajan con luz visible diurna podría ser combinada con la capacidad de los sensores infrarrojos (IR), para obtener información 3-D a una resolución mayor. En caso de los sensores de imagen, la forma y la apariencia de los peatones puede ser usada para separarlos del fondo. Para ello, se extraen sus características de las imágenes, y un clasificador entrenado es usado para separar a los peatones de otros objetos y del paisaje de fondo. Algunas de las características usadas son la simetría, los histogramas o los llamados contornos activos. En el caso de imágenes IR térmicas, los peatones que son más calientes que el fondo forman puntos que son usados para la detección, pero este sistema suele fallar en entornos en los que haya altas temperaturas. En (20), características basadas en el histograma, la inercia y los contrastes son usadas para distinguir peatones. El movimiento es también una señal importante para detectar peatones. En caso de cámaras estacionarias, se substrae el fondo para separar a los objetos en movimiento de dicho fondo estático. Aunque, en el caso de plataformas en movimiento, el movimiento propio de la cámara puede producir la sensación de un falso movimiento del propio fondo. Para el movimiento lateral de los peatones, es factible separar el movimiento de los peatones de este falso movimiento del fondo. Sin embargo, para peatones con movimiento longitudinal, el movimiento de la imagen es paralelo a este movimiento del fondo y, por tanto, difícil de separar. Además, las características de periodicidad del movimiento del cuerpo humano son útiles en la detección de peatones y su separación de otros objetos, estacionarios o en movimiento. La distribución espacial del movimiento representada por las características del momento, la distribución espectral de potencia del movimiento, las características simétricas de las piernas y los patrones de los pasos son algunas de las señales usadas para detectar y verificar a los candidatos.
40 Fig. 28: Certificación estéreo entre luz visible e imagines térmicas (2). (a) Imagen en color de la entrada, (b) imagen IR térmica de la entrada, (c) superposición desalineada de las imágenes en color e IR antes de la certificación, y (d) superposición desalineada de las imágenes en color e IR después de la certificación Después de la detección del objetivo, el siguiente paso es la clasificación. Varios tipos de clasificadores han sido utilizados para distinguir peatones de otros objetos. La entrada al clasificador es un vector de valores o características extraídas de dichos objetos, y la salida es la decisión, explicando si hay un objeto detectado o no. Los clasificadores son entrenados normalmente usando un número determinado de ejemplos positivos y negativos para determinar la frontera de decisión entre ellos. Después del entrenamiento, el clasificador procesa las muestras desconocidas y decide la presencia o ausencia del objetivo basándose en qué lado de la frontera de decisión se encuentra el vector. Los clasificadores más populares usados para la detección de peatones son los siguientes: máquinas de vectores de soporte (SVMs, Support Vector Machines), que será explicado más adelante, varios tipos de redes neurales, y clasificadores de aprendizaje estadístico, como AdaBoost. A.1. Renos Otro ejemplo de VRU son los animales. Accidentes de coche debidos a colisiones con renos (DVCs, Deer-Vehicle Crashes) son comunes en las carreteras secundarias de Europa y Norteamérica. Se han estudiado, y se estudian, varias opciones para evitar estos accidentes, pero pocas han tenido éxito hasta ahora. Son muchos los métodos estudiados y probados para la detección y disuasión de reno, como reflectores o señales con flashes para la carretera, o bien cámaras térmicas implantadas en los vehículos (21). Los investigadores han intentado usar las cámaras térmicas para detectar la presencia de los renos. En este sistema, no sólo se detectan renos en un rango muy grande, sino que también se pueden rastrear para indicar si se pueden tratar de una amenaza inmediata para el vehículo.
41 En (22), el método del histograma de gradiente orientado (HOG) y las máquinas de vectores de soporte (SVM) se usan para identificar a los renos. En este algoritmo, basado en el cálculo del HOG en imágenes térmicas de miles de muestras (muestras térmicas de renos), el método SVM se usa en un primer momento para obtener el patrón del reno con el objetivo de describirlo. Una vez obtenido el llamado descriptor, éste se usa para compararlo con el HOG de la imagen actual. El resultado de la comparación explicará la existencia o no de renos en la imagen actual. Para aumentar la precisión, se realiza un segundo entrenamiento, donde las imágenes con falsos positivos son usadas como muestras de entrenamiento. Los resultados de las pruebas realizadas, tanto en laboratorio como en campo, muestran una precisión de hasta un 85%. Consiguiendo este objetivo, los renos pueden ser identificados, y una señal de alerta puede ser enviada al conductor. Así, la probabilidad de una colisión vehículo-reno puede ser reducida. Este método ha sido validado para la identificación de objetos como peatones, combinándolo con otros métodos de tratamiento de imagen como HOG y SVM. Hay también una gran cantidad de trabajos realizados usando este método para detectar otro tipo de objetos. Pero no hay investigaciones realizadas sobre el uso del HOG para detectar renos en imágenes térmicas para aplicaciones de seguridad en la carretera anteriores a (22). El dispositivo de obtención de imágenes consiste en un sistema de grabado y procesado de imagen, conectado a una cámara térmica. La dirección de visión de la cámara es dirigida por dos motores con control de movimiento para obtener dos grados de libertad de movimiento, por ejemplo rotación lateral y vertical. La cámara infrarroja usada en este trabajo es la ThermalEye ™ TSCss-FF camera (23). Las imágenes capturadas pueden ser en color o monocromáticas, siendo este segundo tipo el usado en esta aplicación. Fig. 29: Integración del sistema
42 Fig. 30: Aplicación del método HOG para identificación de renos Los métodos HOG y SVM podrían alcanzar hasta un 30% de precisión. Esto implica que otros muchos objetos podrían ser identificados como renos, lo cual hace ver que se trata de una precisión poco o nada aceptable. Otro método, llamado “segundo entrenamiento”, se usa para mejorar esta precisión. Tras el segundo entrenamiento, la parte sin objetos (renos), como la mostrada como B en la Fig. 30(b), es cortada para formar una nueva imagen. Investigaciones posteriores muestran que la precisión es mejorada considerablemente hasta alcanzar un 85%. Por el contrario, el tiempo de procesado de cada imagen usando este método es de 1.5 segundos. Así, el método no es apropiado para ser usado en el rastreo e identificación de renos en tiempo real. En el futuro, se espera que este tiempo de procesado pueda ser reducido para poder usarlo en este tipo de aplicaciones.
43 B. Aspectos matemáticos de la etapa de clasificación En este anexo se detallan algunos conceptos matemáticos relacionados con la última etapa de las realizadas en este PFC y que no se detallan en el capítulo correspondiente de la memoria. B.1. Cepstrum Dos son los conceptos principales a tratar. Por un lado, el Cepstrum. Como ya se ha explicado, es un método de extracción de características que, en este caso, se utilizan para formar el vector que se introduce al clasificador en sí, que será el encargado de realizar la última fase del proceso. El Cepstrum de una señal es el resultado de aplicar una transformada y antitransformada de Fourier, realizando ciertas operaciones matemáticas en el proceso (logaritmos, módulos, cuadrados, etc.). La fórmula que lo define es la siguiente: | { (| { ( )}| )}| No se trata pues, de una operación lineal, pues se realiza el logaritmo, pero el resultado final contiene información relacionada con el espectro inicial de la señal. El Cepstrum de una señal muestra información sobre la tasa de cambio de las diferentes bandas del espectro. B.2. SVM Como se detalla en la memoria, para la fase de clasificación se utiliza un clasificador basado en máquinas de vectores de soporte (SVM). Se trata de un clasificador utilizado con éxito en bastantes aplicaciones (principalmente en el campo de reconocimiento de patrones), y cuyo objetivo es maximizar la separación entre clases, para favorecer la clasificación. Utiliza unas muestras, llamadas de entrenamiento, para una primera etapa de aprendizaje, y luego analiza las muestras, llamadas de test, para llegar al resultado final. En lo que sigue, para realizar la explicación de las SVM, se detallará el caso binario, por su simplicidad. En el trabajo que nos ocupa en este PFC se trabaja con una SVM que ha de distinguir entre tres clases. Una SVM toma una decisión sobre la clase del vector de características X atendiendo al signo de D(x) en la siguiente expresión: ( ) ∑ ( )
50 N = mean(N,2); % 2: Drawing the Averaged power spectrum density of the noise T = linspace(0,Tmax,size(N,1)); plot(T, N) % mirar la escala axis tight title('Averaged power spectrum density of the noise'); xlabel('Time, s'); ylabel('Power, dB'); end C.3. average_noise.m % -------------------------------------------------------------------- % average_noise.m % % Master Thesis 'Classification of pedestrians, vehicles and animals using automotive radar' % Tampere University of Technology % Author: Sergio Cebollada Gonzalo % 07/02/2013 % -------------------------------------------------------------------- % This script loads an audio FILE, draws its spectrogram and calculates % its power spectrum in db function [av, Tmax] = average_noise(FILE) resfactor = 10; fftlength = 1024; over = 1000; % 1: Extracting the FILE [Y,FS,NBITS] = wavread(FILE); Y=Y(:,1)+1i*Y(:,2); Yres = resample(Y,1,resfactor); Yres = Yres(1:round(length(Yres))); Tmax = (length(Yres)) /(44100/resfactor); % 2: Calculating the Spectrogram S = spectrogram(Yres,fftlength,over); S = db(S); S(S<-80) = -80; X = fftshift(S,1); % 3: Calculating the power spectrum in db av = mean(X,2); av = db(av); end
51 C.4. detection2.m % -------------------------------------------------------------------- % detection2.m % % Master Thesis 'Classification of pedestrians, vehicles and animals using automotive radar' % Tampere University of Technology % Author: Sergio Cebollada Gonzalo % 26/02/2013 % -------------------------------------------------------------------- % This script decides whether the file analyzed (X) corresponds to a % target or not, acording to the threshold (th) set. function detection2(X, th) % 1: Noise matrix FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise.wav'; [det, Tmax, V] = detection_b(FILE); T1 = Tmax; S = det; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise2.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise3.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise4.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise6.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise7.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise8.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise9.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det];
52 FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\noise10.wav'; [det, Tmax, V] = detection_b(FILE); T1 = T1 + Tmax; S = [S det]; Sb = sum(10.^(S./10),1)/size(S,1); Sb = 10.*log10(Sb); % 2: Target+noise matrix FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car1.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = Tmax2; S2 = det2; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car3.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car5.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car7.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\twopeople.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car9.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car11.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\person1.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\person2.wav'; [det2, Tmax2, V2] = detection_b(FILE); T2 = T2 + Tmax2; S2 = [S2 det2]; S2b = sum(10.^(S2./10),1)/size(S2,1); S2b = 10.*log10(S2b); % 3: histograms figure subplot(2,1,1) T = linspace(0,T1,size(S,2));
53 surf(T,V,S,'EdgeColor','none'); axis([min(T) max(T) min(V) max(V)]); title('Noise spectrograms'); xlabel('Time (s)'); ylabel('Velocity (m/s)'); subplot(2,1,2) plot(T,Sb) axis tight title('Power of each time slice'); xlabel('Time (s)'); ylabel('Power (dB)'); figure subplot(2,1,1) T = linspace(0,T2,size(S2,2)); surf(T,V2,S2,'EdgeColor','none'); axis([min(T) max(T) min(V2) max(V2)]); title('Target spectrograms'); xlabel('Time (s)'); ylabel('Velocity (m/s)'); subplot(2,1,2) plot(T,S2b) axis tight title('Power of each time slice'); xlabel('Time (s)'); ylabel('Power (dB)'); figure B = logspace(-4, 1.6, 2000); P = histc(Sb, B); P2 = histc(S2b, B); Pb = P / sum(P); % Normalize P2b = P2 / sum(P2); plot(B, P) % Plot noise hold on plot(B, P2, 'r') % Plot signal+noise xlabel('Power (dB)'); ylabel('Number of samples'); title('Power distribution (Blue=noise, Red=target+noise)'); % 4: Calculating the probabilities Pd = sum(P2(B > th)) / sum(P2) Pfa = sum(P(B > th)) / sum(P) Pm = sum(P2(B < th)) / sum(P2) % 5: FILE to be analyzed det1b = sum(10.^(X./10),1)/size(X,1); det1b = sum(det1b,2)/size(det1b,2); det1b = 10.*log10(det1b); if (det1b > th) disp('There is a target'); disp(' '); classification(X) else disp('There is no target'); disp(' '); end end
54 C.5. classification.m % -------------------------------------------------------------------- % classification.m % % Master Thesis 'Classification of pedestrians, vehicles and animals using automotive radar' % Tampere University of Technology % Author: Sergio Cebollada Gonzalo % 16/04/2013 % -------------------------------------------------------------------- % This script builds a training vector of feauters extracted from different % samples and loads a FILE, which will be used as a test vector, to % classify it. function classification(FILE2) % 1: Training FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car1.wav'; [det, Yres] = detection_c(FILE); f = features(det, Yres); trainX = f; trainY = 2*ones(size(det,1),1); % 1=human, 2=car, 3=reindeer FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\car3.wav'; [det, Yres] = detection_c(FILE); f = features(det, Yres); trainX = [trainX; f]; trainY = [trainY; 2*ones(size(det,1),1)]; % 1=human, 2=car, 3=reindeer FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\person1.wav'; [det, Yres] = detection_c(FILE); f = features(det, Yres); trainX = [trainX; f]; trainY = [trainY; ones(size(det,1),1)]; % 1=human, 2=car, 3=reindeer FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\person2.wav'; [det, Yres] = detection_c(FILE); f = features(det, Yres); trainX = [trainX; f]; trainY = [trainY; ones(size(det,1),1)]; % 1=human, 2=car, 3=reindeer FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\deer1.wav'; [det, Yres] = detection_c(FILE); f = features(det, Yres); trainX = [trainX; f]; trainY = [trainY; 3*ones(size(det,1),1)]; % 1=human, 2=car, 3=reindeer FILE = 'C:\Users\Sergio\Documents\CPS\Proyecto\Audios y vídeos\deer2.wav'; [det, Yres] = detection_c(FILE);
55 f = features(det, Yres); trainX = [trainX; f]; trainY = [trainY; 3*ones(size(det,1),1)]; % 1=human, 2=car, 3=reindeer % 2: Testing [det2, Yres2] = detection_c(FILE2); l = lab(FILE2); f2 = features(det2, Yres2); testX = [f2; f2; f2; f2; f2; f2]; testY = [l*ones(size(det,1),1); l*ones(size(det,1),1); l*ones(size(det,1),1); l*ones(size(det,1),1); l*ones(size(det,1),1); l*ones(size(det,1),1)]; [tsACC, cv_acc, tspY, Opt_sigma, Opt_c, model] = SVM_CV_estimate(trainX,trainY,testX,testY); x = mean(tspY); result(x) end C.6. features.m % -------------------------------------------------------------------- % features.m % % Master Thesis 'Classification of pedestrians, vehicles and animals using automotive radar' % Tampere University of Technology % Author: Sergio Cebollada Gonzalo % 17/04/2013 % -------------------------------------------------------------------- % This script extracts the features of the file (S) loaded, and builds % the features vector. function f = features(S, Yres) f = (abs(ifft((S(:,1)./10)))).^2; f = sum(f,1)/size(f,1); % feature 1=mean f2 = (abs(ifft(log10((abs(fft(Yres))).^2)))).^2; % feature 2=cepstrum for i = 2:size(S,1) f_aux = (abs(ifft((S(:,i)./10)))).^2; f_aux = sum(f_aux,1)/size(f_aux,1); f = [f; f_aux]; end f = [f; f2]; end