Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Campus Ciudad de México Escuela de Graduados en Ingeniería y Arquitectura Algoritmo adaptable para contabilizar automóviles a partir de imágenes tomadas a una vía transitada Tesis para la obtención del grado de Maestro en Ciencias de la Ingeniería Autor: Marco José Viramontes Thummler Asesor: Dr. Pedro Ponce Cruz Sinodales: Dr. Víctor Manuel de la Cueva Hernández Dr. Ricardo Zavala Yoe Noviembre 2011 ITESM CCM MCI Índice Índice ... ..... ......... .......... ..... .... ..... ... .. .... ... ... ... ...... ... ... .. ...... ... ..... ... ...... ... ... ... ..... .. ... .. .. ............ ...... .... 1 Introducción ...... ... .... ...... .. .. .. ... ... .. ... .. .. ....... ...... ......... .................. ... ..... ... ...... ... ......... ..... ........ . 3 2 Revisión I iteraría .... .. .................. ... .. .... ... .... .. .. ..... ... .................... .... .. ............. ... .... .................. 9 2.1 Investigaciones sobre conteo <le automóviles .. .... .. .... .. ............ ............ ... ....... .. ....... .. ....... 9 2.2 Investigaciones relacionadas ........... .. ..... ............................. .. .. ............ .. .. ...................... 13 2.3 Aplicaciones en diferentes países ........ ... .. .. ... ................ ....... ............ ... .... ................... .. . 16 2.4 Antecedentes de operaciones morfológicas ...... .. ...... .. .... .. .. .... .... .. .. .......... .. ......... .. .. .. .... 16 2.4 .1 Erosión y Dilatación ..... .. ........................... .. ... ... .. .. .. .............. ....... ........ ... .... .. ....... .. 16 2.4.2 Llenado de huecos .... .. .. .. .. ..... .. .. ....... .. ... .... ........ ... .... ..... .. .... .. ..... .. ..... ................ .... 17 3 Metodología ... ..... ......................... ..... ...... .. ........ ... ........... .. ............ .... .... .... ... ..... ... ........ ......... 17 3.1 Objetivo ......... .. .................. ............. ... .... .......... ............... ...... ... .. .. ... .. ...... ...................... 17 3.2 Alcance .. .. ........ ..... .. .............. .... .. .... .. ....... ................ .. ..... .... .... ... .... ............... ..... .... ...... . 18 3.3 Preguntas de investigación ..... .... ... .. .... .. ..... ...... ...... .. ...... .. ...... .. ... ............. .. ... ..... .. .. .. .... .. 18 3.4 Hipótesis ....... ... ... .... .. ....... .. ... ... ....... .. ...... .. ............. .... .... ... .... ................... ..... .......... ...... 18 3.5 Justificación ... ........... ... ... .... .. ... ... ... ..... .. ........ .... .. ....... ...... .. .... ... ....... .... ... ..... ....... ... ...... .. 19 3.6 Estrategia de investigación .... .. .. ..... ...... ..... .. .. .. ... .......... .. ... .. .. ... .... .... ..... ... ... .... .. .......... .. 20 4 Resultados ...... ...... ...... ..................... .. ..... ... ..... ... ... .................. ........ ... ... ..... ...... ... ................... 21 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1 .6 4.1.7 4.1.8 4.1.9 Resumen resultados .............. .... ....... ............ ... .. .. ... ......... ........ .. ............... ..... ................ 21 Obtención de imágenes/ videos tomados a una vía real ..... .. ................. .... ...... .. .. .. 21 Análisis exhaustivo de las imágenes . ...... .......... .. ....... ............................ .. .. .. .. .. .. .. .. . 24 Lluvia de ideas para la selección de los módulos del algoritmo y_ ................ .... .... . . 25 Determinación de pros y contras de las diferentes ideas.. .. .. ....... ... .. .. .. .. .. .. ............ 25 Diseño ............................... .. .. .... ...... .............................. .... .... ..... ........................... 26 Desarrollo del algoritmo ....... .... ... .. .. ........ ..... .... ... .... ....... ... ..... .. ....... ... ....... ......... .. 37 Pruebas iniciales con el algoritmo preliminar .......... .... ........................ .. .. ...... .... ... . .39 Mejoras al algoritmo con base en las pruebas iniciales .. ... .. .......... .. ....... .. .. .. .. .. .. .. ... 44 Pruebas finales con el algoritmo definitivo .. ..... ..... ... .... ............. ... .... .. .... ... .. .......... . 47 4.2 Descripción detallada del algoritmo ...... .. ..... ..... .. ...... .... ... .... ... ... ..... ..... .... ... ...... .. .... ...... .4 7 1 ITESM CCM MCI 4.2.1 Algoritmo para generar imagen base ..................................................................... 47 4.2.2 Algoritmo para contar coches ................................................................................ 51 4.3 Pruebas sobre las diferentes bases de datos .................................................................. 58 4.3.1 Descripción general de bases de datos ................................................................... 58 4.3.2 Generación de imagen base ................................................................................... 62 4.3.3 Conteo de coches ................................................................................................... 73 4.3.4 Adaptación a cambios en el ambiente .......... .. ........................................................ 84 4.3.5 Verificación de funcionamiento de los filtros .......................................................... 90 5 Conclusiones ................... ............................................................... ........ ............................... 97 5.1 Generación de imagen base ........................................................................................... 97 5.2 Conteo de coches .......................................................................................................... 98 5.3 Adaptación a cambios en el ambiente .......... ........................... .. ..... ........ ....... .............. 100 6 Trabajo futuro ....................................... ....... ........ ....... .................... .................................... 101 6.1 Capacidades del algoritmo ................................................................................ ........... 101 6.2 Parámetros del tránsito real ..................................................... ...... ........ ..................... 103 6.3 Software y Hardware ..... ........ ................ ................................... ....... ............................ 104 7 Anexos ................................................................................................................................ 105 7.1 Algoritmo generador de imagen base ................................. ............. .............. .. ............ 105 7.2 Algoritmo para contar coches y adaptación a cambios ................................................. 106 7.3 Índice de figuras y tablas ....... ................ .. .................... ................................................ 110 8 Referencias ......................................................................... ................................................ 113 2 ITESM CCM MCI 1 Introducción Los Sistemas de Visión Inteligentes tienen muchas aplicaciones en campos muy diversos en la actualidad. Sin embargo, existen varias situaciones cotidianas en las que no se aprovecha todavía todos los beneficios de estos sistemas y pudieran ser de gran utilidad; por ejemplo, la Extracción de Información al Flujo Vehicular. Hay varios avances acerca de la obtención de parámetros sobre el tránsito de automóviles, pero no hay suficientes productos comerciales que se use hoy en día con el fin de saber más acerca del flujo de coches. Muchos de los desarrollos en la literatura se concentran en el conteo de automóviles partiendo de imágenes tomadas a un tramo de una calle; esta información se puede utilizar para diferentes fines, por ejemplo: • Sincronización inteligentede semáforos en cruces de calles. • Análisis certero del flujo vehicular para la toma de decisiones en cuanto a mejoras en las vías. • Consulta del estado actual del flujo en diversas calles a través de diferentes medios de comunicación {Internet, celular, GPS, televisión, radio, tableros informativos como el mostrado en la figura 1.1. l. l ); esta información permitiría al usuario decidir qué ruta tomar y saber una estimación cercana del tiempo que le tomará ir de un punto a otro. - Figura 1.1.1.1 - Tablero Informativo propuesto por Pornpanomchai et a/1 1 En los dos trabajos referenciados en este documento de Pornpanomchai et al los autores proponen como solución a problemas de flujo vehicular tableros informativos en diferentes vías para que los automovilistas tomen la mejor decisión con base en información en tiempo real. 3 ITESM CCM MCI La idea de crear un sistema de visión para la extracción de información relevante acerca del flujo vehicular nace del contexto actual que se vive en la Ciudad de México y en las grandes urbes en el mundo. El problema del tránsito caótico se vive día a día; a continuación se reflexiona acerca de los agravantes que conlleva y algunas posibles soluciones para mejorar la situación. Las grandes metrópolis están en constante crecimiento, tanto poblacional y territorial, como en número de automóviles y en contaminación. Un claro ejemplo es la Zona Metropolitana del Valle de México, con una población que supera los 18 millones de habitantes en una superficie menor a 8 mil km cuadrados2. La densidad es alarmante y los problemas generados por la misma también. Según cifras del 20083, esta Zona alberga a un tercio del total de vehículos de la República Mexicana con un total de 5.5 millones. El Valle de México tiene una densidad poblacional de cercana 2.6 mil habitantes por km 2 y la situación vial es complicada. Sin embargo, hay muchas otras ciudades en el mundo con densidades mucho mayores 4 , donde los conflictos viales son excesivos seguramente, como: Mumbai y Calcula en India con 29.6 y 23.9 mil habitantes por km2 respectivamente; en América destaca Bogotá con 13.5 mil habitantes por km2 • Uno de los graves problemas que causan tantos citadinos es el tránsito vehicular caótico. En horas pico, un trayecto de 10 km se puede llegar a recorrer en 90 minutos. Esta situación no sólo genera enormes pérdidas de tiempo, sino también estresa a la población, incide negativamente en la eficiencia de un coche generando más contaminación y aumenta el consumo de gasolina como se puede apreciar en la figura 1. 1.1.25. 2 Esta información fue obtenida del lnegi. Ver referencias para más detalle. 3 Tomado de Noticieros Televisa en Línea. Ver referencias para más detalle. 4 Cifras según la revista Gestión. Ver referencias para más detalle. 5 El consumo de gasolina óptimo para la mayor parte de los vehículos se da a una velocidad promedio entre 80 y 90 km/h. La imagen demuestra el comportamiento del consumo de gasolina contra la velocidad en unidades inglesas. La información y gráfica fueron tomadas de una página del gobierno estadounidense que da tips para manejar más eficientemente. Ver referencias para más detalles. 4 ITESM CCM - 35 f 30 - 25 :! 20 o : 15 e, 10 • ,, 5 g o o MCI ~ 5 15 25 35 45 55 65 75 Velocidad (mph) Figura 1.1.1.2 - Consumo de gasolina contra velocidad Hay demasiados coches para las insuficientes vías de esta ciudad. Una solución obvia es reducir el número de automóviles, pero va en contra de la libertad de los ciudadanos. Hay más soluciones, de las cuales algunas ya se están aplicando en el D.F.; por ejemplo, el Mctrobús, tal como se menciona en la reciente producción del Discove,y Channel "Soluciones para el Tránsito". Este transporte público es más eficiente que un Microbús común: también tiene mayor capacidad de gente. Más importante que las caracteristicas intrínsecas del vehículo, es que muchas personas dejaron de usar su automóvil para usar el Metrobús. La reducción de vehículos en Insurgentes aumentó la velocidad promedio de 12 a 17 km/h en esa vía. También se está construyendo varias vías alternas y distribuidores viales. Sin embargo, hay otras opciones más baratas, con menos infraestructura, menor tiempo de implementación, sin afectaciones para la población6 y con resultados inmediatos que las dos ya mencionadas. Estas mejores alternativas se basan en la obtención de infonnación en tiempo real acerca del flujo vehicular. Una constante en las metrópolis acerca del tránsito vchicular es que siempre se tiene que salir con tiempo de sobra para trasladarse en automóvil de un lugar a otro. Empero. ¿cuánto 6 La afectación se refiere a los problemas causados para los transportistas por las obras realizadas, al bloquear vías o carriles. 5 ITESM CCM MCI tiempo de sobra asegura que se lle61Ue en tiempo? Esta interrogante podría eliminarse con fuentes de infomiación acerca del tránsito confiables y en tiempo real 7. Hoy en día, las principales fuentes de información acerca del tránsito vehicular en la Ciudad de México son el radio, la televisión, una persona conocida atorada en un embotellamiento, la traficam de lusacelf\ entre otros. De éstos, ¿hay alguno que diga con exactitud cuánto tiempo tardaría uno en trasladarse de un punto a otro? La respuesta es clara, ninguno de los mencionados informa en sus reportes o imágenes un tiempo muy cercano a la realidad sobre un traslado deseado. Las tres primeras opciones mencionadas involucran la intervención de un humano para hacer el análisis. Esto ocasiona errores de apreciación. Otro inconveniente es la selección de vías sobre las que se hace el análisis; normalmente son calles principales y, en casi todos los casos, no contemplan rutas completas9. Por otra parte, la traficam implica un análisis personal de las vistas de sólo algunas vías que ofrece la compañía telefónica. La señal tiene un desfase de tiempo y, además, otorga infomiación no digerida IO_ El resultado de todas las opciones mencionadas para una persona que desea saber cuánto tardará en trasladarse de una ubicación a otra se contesta con alguna de las siguientes respuestas: "mucho", "entre una y dos horas", "demasiado", "más que ayer", y algunas otras respuestas cualitativas. No hay certeza acerca del tiempo de traslado; tampoco, acerca de mejores rutas con base en datos reales y numéricos. Es por eso que se requiere de infomiación numérica, veraz, digerida y en tiempo real acerca del Jlujo vchicular en las diferentes vías de la ciudad. Hay muchas formas de obtener 7 El sistema de tiempo real se define como un sistema de procesamiento de información que tiene que responder a estímulos de entrada generados externamente en un periodo finito y específico. El periodo es definido de acuerdo a lo que requiera la función que cumpla el sistema. 8 La traficam comprende varias cámaras de vídeo situadas en diferentes vías de la ciudad, a las cuales tienen acceso usuarios de lusacell. La visualización es a través de un celular y tiene un retraso aproximado de 5 minutos. 9 Con rutas completas se comprende ir de un destino A a uno B; la información que da el radio es acerca de la carga vehicular en diferentes zonas o en algunos tramos de ciertas calles; pero, en la mayoría de los casos, no mencionan la ruta precisa que el usuario desea conocer. 10 No digerida se refiere a que la persona que consulta debe hacer el análisis y concluir, en lugar de obtener un dato resultante de una análisis automático previo. 6 ITESM CCM MCI este tipo de datos: cables para contar coches 11 , RFID 12 , personal analista de vídeo 13 , sis tema de visión automático 14, entre otros. El primero mencionado ya se utiliza y tiene ventajas y desventajas. Es fácil de colocar y robusto. Sin embargo, sólo sirve para contar coches, se puede manipular fácilmente por alguna persona y requiere mantenimiento.El RFID no se ha aplicado con el fin que se busca en el presente documento, pero pudiera servir. La idea radica en colocar antenas en diferentes puntos deseados de la ciudad, colocarle a cada automóvil una etiqueta localizadora y, de esta manera, todos los coches cercanos a una antena serían contabilizados. Las etiquetas pueden ser únicas, por lo que se tendría detalle de los trayectos de cada coche que circula. Es una tecnología costosa, sería muy exacto, da información detallada, pero el gran problema es el deseo de privacidad de la gente. lnfonnación detallada de cada automóvil podría utilizarse con fines delictivos, por lo que la mayor parte de la población declinaría una propuesta como ésta. La tabla 1. 1. 1. 1 presenta un resumen de las ventajas y desventajas del uso de esta tecnología con el fin de contar coches. Tabla 1.1.1.1 - Ventajas y desventajas del uso de RFID para contar automóviles Ventajas Desventajas Exactitud en el conteo Detalle de rutas por vehículo Cálculo de velocidades promedio y máximas por vehículo Costo elevado Privacidad Uso de información con fines delictivos El personal analista de vídeo ya se utiliza en algunos países y ciudades, como Sao Paulo en Brasil. Requiere de varias cámaras y mucho personal para analizar. concluir e infonnar. 11 Estos cables se aprecian en algunas ocasiones en diferentes vías en la República; normalmente vienen en pares y están colocados perpendicularmente al flujo vehicular; están conectados a una caja donde queda registrada la información. 17 RFID (Radio Frequency /Dentification) es una tecnología que sirve para identificar objetos con base en una identificación colocada a cada uno; la identificación puede ser una sencilla etiqueta identificable con ondas de radio. 13 Son personas que analizan diferentes tomas de vídeo en un centro con varios televisores; en las tomas ven el flujo vehicular de diferentes vías y transmiten su análisis y conclusiones a los transportistas. 14 El sistema de visión automático comprende un sistema autónomo que adquiere las imágenes, analiza, concluye y transmite sus resultados a los usuarios sin la intervención humana. 7 ITESM CCM MCI La información es útil, pero no es exacta ni cuantitativa. El hecho de requerir personal hace a esta opción dependiente de la apreciación humana que, por naturaleza, comete errores. La última opción es un sistema de visión automático. Esta es la tecnología que se presenta en esta tesis. En algunas ciudades del mundo ya se utiliza sistemas con características similares al presente desarrollo y también hay varios avances científicos en temas relacionados. La idea comprende colocar cámaras de vídeo en diferentes vías de la ciudad, como se muestra en la figura 1.1.1.3 (foto tomada en octubre 2011 en la Ciudad de México). Las imágenes alimentan a una computadora que analiza la información contenida, cuantifica los automóviles y emprende una acción simple o compleja. Figura 1.1.1.3 - Cámaras de vigilancia en la Ciudad de México Simplemente informar con exactitud podría significar una gran ventaja para la persona que desea trasladarse. Una acción más compleja podría ser la retroalimentación de un sistema de control para la optimización de flujo a través de semáforos; el control que su podría usar es el que proponen He y Hou usando un algoritmo basado en colonias de hormigas, o bien, algún algoritmo genético. Hay muchas aplicaciones para información como la que se podría obtener: seguimiento de vehículos, determinación de velocidad promedio por vehículo, aplicación de multas por infracciones al reglamento de tránsito, 8 ITESM CCM MCI análisis profundo de la densidad vehicular por vía y horario, entre muchas otras. El presente desarrollo pretende únicamente cuantificar los coches a lo largo de varias imágenes. 2 Revisión literaria 2.1 Investigaciones sobre conteo de automóviles Dentro de la literatura hay varios autores de diferentes países que proponen diferentes métodos para contabilizar automóviles con un sistema de visión a partir de imágenes. A continuación se comenta los más relevantes dentro de los consultados. En la tabla 2.1.1.1 se presenta las diferentes investigaciones consultadas y se menciona los puntos más destacados de cada una de ellas. Tabla 2.1.1.1 - Investigaciones relevantes y puntos destacados de cada una 15 Investigación I Puntos destacados de la investigación Método de detección para flujo vehicular basado en DSP y visión computacional Método para conteo de vehículos en presencio de oclusiones por múltiples vehículos en imágenes de tráfico • • • • Basado en OSP 16. Imágenes de un solo carril. Funciona en tiempo real. Analiza la variación en escala de grises . • Cuantifica los automóviles que pasan por el carril en cierto tiempo. • Certeza del 100% con la base utilizada. • Análisis geométrico de las figuras dentro de una imagen para encontrar esquinas y diferentes contornos. • Concluye cuántos coches hay en cada imagen. • El sistema se alimenta con objetos previamente extraídos del fondo de alguna otra manera que no especifican. • Distingue automóviles traslapados, siempre y cuando estén visibles. • La posición de la cámara no tiene que estar cercano a los 90º medidos contra la calle como en otros sistemas. 15 Toda la información de la segunda columna fue obtenida de cada una de las investigaciones. En las referencias se da la información completa acerca de las investigaciones. 16 DSP (del inglés "Digital Signa/ Processor") es un sistema de alta velocidad comprendido por hardware (Procesador, entradas y salidas, puertos para expandir el hardware); es programable, y es recomendado para aplicaciones que requieren trabajar en tiempo real. 9 ITESM CCM MCI 1 Imestigación 1 Puntos destacados de la investigación Sistema de conteo vehicular en tiempo • Cámara colocada en un punto relativamente alto. real basado en video usando un • Cuenta automóviles. método adoptivo del fondo • El algoritmo es adaptable a cambios en el fondo de la imagen. • Elimina sombras con un método Gaussiano basado en colores HSV. Sistema de conteo vehicular • Solución completa para contar automóviles . automático para supervisión de tráfico • El sistema consta de un DSP que adquiere las imágenes, las procesa y entrega resultados a una computadora remota. • Los resultados pueden ser consultados o utilizados para una intervención en señales de tránsito. • Cumple con requerimientos estrictos de tiempo para aplicaciones prácticas. • Los resultados son buenos con escenas tomadas de tráfico real. Método de segmentación basado en • El método se concentra principalmente en HMM para monitoreo de películas de segmentar de una imagen el fondo, las sombras y el tráfico frente. • Se basa en Modelos Ocultos de Markov para remover las sombras en las imágenes. • Se compone de dos fases principales: aprendizaje y segmentación. • Los resultados mostrados son buenos; sin embargo, las sombras que remueve son únicamente las que están presentes en el fondo, no las generadas por los automóviles. Método integrador basado en video • El método propuesto se fundamente en substraer el para extracción de parámetro de fondo de cada imagen y la detección de bordes. tráfico en ITS • Se puede detectar automóviles y negar sombras . • La información se puede utilizar para obtener diferentes parámetros del tráfico, como conteo vehicular, clasificación, estimación de velocidad y seguimiento. Análisis de secuencias de imágenes de • Los autores logran contar automóviles a través de calle para conteo vehicular imágenes partiendo de un análisis de la estructura de la calle y la velocidad de los coches. • Se usa zonas preferidas dentro de cada imagen para realizar el procesamiento; de esta forma, se elimina zonas que no son relevantes. 10 ITESM CCM MCI Investigación 1 Puntos destacados dela im cstigación Sistema de monitoreo automático • Se presenta un algoritmo para extraer parámetros diurno para control y monitoreo de de los vehículos presentes en una imagen con el fin trófico de saber si se trata de carros o camiones. • El método contempla la eliminación de las sombras originadas por los transportes; esto se logra mediante una transformación lop-hat 17 y operadores morfológicos. • Se realizó pruebas con imágenes de día en vías reales y los resultados fueron buenos. Sistema de monitoreo de trófico • Se presenta una novedosa forma para obtener automático para rastreo y clasificación diferentes parámetros de tráfico partiendo de de vehículos imágenes que contienen vehículos. • Para hacer la extracción de información relevante, se analiza primero las líneas de la calle; a continuación se utiliza estos datos para detectar los objetos del frente de la imagen y remover toda sombra que implique ruido en la imagen, incluyendo las sombras de los carros. • Se propone un clasificador para categorizar a todos los vehículos encontrados en diferentes grupos. • Los resultados muestran robustez y exactitud . Conteo automático de vehículos a • Se presenta un método en el que se utiliza la partir de video para análisis del flujo geometría de la escena para realizar el análisis de vehicular conteo. • La posición de la cámara es muy relevante, ya que la extracción de información de las imágenes depende de la distancia entre los automóviles y la cámara. La cercanía o lejanía resultan en un mayor o menor tamaño de los objetos. • Además de la geometría, los autores realizan una substracción adaptable del fondo y filtros de Kalman para la detección y seguimiento vehicular. ---- Extracción de información de trófico de • Se presenta un método llamado ciclo inductivo imágenes en DEIS virtual para detectar y contar automóviles en una imagen. • Se basa en el análisis de pequeñas ventanas, realizando la diferencia entre un fondo actualizado y la imagen que se desea analizar. El resultado de la operación es el frente de la imagen que contiene vehículos. • Es un método simple, que posiblemente tenga problemas en la presencia de sombras. 17 Esta transformación extrae detalles brillantes en presencia de sombras. 11 ITESM CCM MCI Investigación 1 Puntos destacados de la im estigación 1 Método inteligente de conteo de • Se explica cómo extraer información vehicular de vehículos basado en análisis de imágenes y cómo seguir vehículos en una secuencia. manchas en vigilancia de tráfico • La extracción se basa en la resta de una imagen de fondo y una que contenga objetos en movimiento. • La imagen de fondo se actualiza con cada análisis realizado. • El seguimiento de coches se logra restando dos imágenes con movimiento con una diferencia de tiempo mínima entre las dos. Uso de e/osificación de objetos poro • El método presentado explota métricas de los mejorar el sistema de monitoreo de objetos que no implican gran utilización de tráfico urbano procesamiento computacional para obtener resultados en tiempo real. • El algoritmo utilizado logra clasificar objetos en vehículos o personas con una certeza mayor al 90%. • La información obtenida puede servir para contar objetos y medición de velocidad promedio. Detección y conteo de vehículos • Este método está diseñado para contar automóviles usando lo información de los foros en en la oscuridad. ambiente oscuro • Estos cuatro autores realizan un análisis de la iluminación en la calle generada por la luz de los focos delanteros de los coches. Con esta información logran evaluar la posición de los vehículos y pueden eliminar posibles sombras y regiones brillantes que no son objetos a contabilizar. • Este método puede llegar a una certeza del 90% . Detección y conteo usando el flujo del • Se explora diferentes formas de detectar tráfico en tiempo real a través de automóviles en imágenes que cumplan con la técnicos diferencio/es y evaluación de restricción de tiempo real basados en diferencias. desempeño • Los métodos utilizados se realizaron con la herramienta Matlab, misma que se utilizará en la presente tesis. • Los resultados obtenidos en el artículo presumen tener una certeza cercana al 95%. 12 ITESM CCM MCI 1 Investigación I Puntos destacados de la innstigación Detección y conteo de vehículos a partir de cuadros de video Sensor para monitoreo de tráfico en calles basado en visión • Este método propone cuatro simples pasos para contar automóviles en una secuencia de imágenes: o 1) obtención de la imagen o 2) análisis de la imagen o 3) detección de objetos y conteo o 4) mostrar los resultados • Para el paso 3 se utiliza la diferencia entre una imagen del fondo y una que contiene objetos en movimiento de la misma escena. La diferencia entre ambas resulta en los objetos en movimiento. Lo que sigue es contar estos objetos en movimiento. • Se presenta un método genérico para la detección de vehículos basándose en el análisis espacia I de correspondencia. • El resultado del procesamiento genera información valiosa como posición, orientación y dimensiones. • Con estos datos logran posteriormente determinar la velocidad y trayectoria de los vehículos. • También se destaca las bondades de un sistema de visión sobre los sensores comúnmente utilizados con fines de análisis de flujo vehicular. 2.2 Investigaciones relacionadas Además de los artículos que tratan directamente el tema de contar automóviles en imágenes, también hay otros relacionados con esta investigación y pudieran servir para algunos de los componentes del desarrollo que se hará. A continuación se hace un resumen de los aspectos más relevantes de cada una de las consultas. La infom1ación que se comentará se extrajo directamente de cada una de las fuentes detalladas en la sección de rctcrencias, pero se expresa con palabras propias. Método de eliminación de sombras para análisis vehicular Este artículo se enfoca en la eliminación de sombras en una escena con vehículos en movimiento. Particu lannente. las sombras generadas por los coches son las que se logra eliminar con base en un análisis de las líneas que dividen los carriles. Lo novedoso de este desarrollo es que no se usa la intensidad de los píxclcs para detectar las sombras. sino la geometría. Los resultados muestran que aproximadamente el 92% de las sombras puede ser eliminado. De esta manera, el análisis vehicular es mucho más limpio, fácil y exacto al tener imágenes más rea les de los automóviles. 13 ITESM CCM MCI Detección y eliminación de sombras en imágenes de tráfico Los autores desarrollaron un método para eliminar sombras de diferentes objetos. Lo peculiar de este artículo es que intenta eliminar únicamente las sombras reflejadas en el piso, sin perder aquellas regiones del objeto que contengan sombras. De esta manera, la forma del objeto prevalece muy cercana a la realidad. Para detectar las sombras se utiliza le medición de la intensidad; se continúa el análisis con la determinación de la ubicación y dirección de la sombra; posteriormente se procede a colocar puntos relevantes dentro de la imagen y, así, eliminar las regiones no pertenecientes al objeto y que son sombra del mismo. Se presupone que hubo una extracción previa del frente de la imagen, con la que se trabaja todo lo mencionado; no se especifica cómo se logró esta diferenciación. Enfoque de procesamiento de imagines basado en ventanas para el análisis en tiempo real de tráfico en la calle En este artículo se intenta desarrollar un método para determinar el tamaño de la ventana de análisis automático. La razón para hacer esto es por la necesidad de reducir el tiempo de cómputo en aplicaciones en tiempo real. En los métodos comunes, el procesamiento de imágenes se realiza sobre la escena completa; pero como bien mencionan los autores, sólo algunas regiones del cuadro sonde alto interés. Es por esto que se implementó un sistema que detennina el tamaño y posición de la ventana automáticamente para aplicar la detección de vehículos en únicamente esa región. El tiempo de procesamiento es mucho más eficiente de esta manera permitiendo aplicaciones en tiempo real. Localización de vehículos cercanos en carreteras durante el día basado en la visión frontal de un coche en movimiento En este artículo se desarrolla un sistema para detectar vehículos desde un automóvil base. El fin de esta investigación es para colocar una cámara en un coche autónomo. de tal manera que conozca su alrededor y decida cómo moverse en el espacio. Obviamente. en una aplicación como ésta, el análisis debe ser en tiempo real, ya que se debe tomar decisiones en fracciones de segundo. El tema es relevante para la presente tesis por el hecho de detectar vehículos, pero la posición de la cámara impide tener visibilidad de un área grande con el propósito de contar automóviles. Conteo de objetos mu/ti-color usando búsqueda activa Estos autores presentan un novedoso método para contar objetos en diferentes imágenes con base en un análisis de colores. Detem1 inando regiones con características similares en 14 ITESM CCM MCI cuanto a color, el algoritmo determina si la región es un objeto o no. Las imágenes digitales con colores tienen mucha más información por pixel que una en escala de grises. Este hecho ocasiona que el procesamiento sea mucho más tardado en las primeras mencionadas. Es por esto que los autores desarrollaron una manera de analizar sólo regiones deseadas automáticamente. De esta manera, no toda la imagen es analizada, pero sí aquellas partes que seguramente contienen objetos. Observando los resultados, se encuentra que el menor tiempo de análisis logrado en las diferentes pruebas es mayor a I segundo; es un tiempo relativamente grande, considerando una aplicación como la del análisis del flujo vehicular. Detección de objetos, sombras y fantasmas en videos explotando información de color y movimiento En este estudio se desarrolló un método para segmentar una imagen en objetos en movimiento y el fondo. El fondo de la imagen se estima continuamente para estar actualizado. Los autores también se dieron a la tarea de detectar sombras para su eliminación, tanto para una obtención de los objetos más adecuada y una actualización más certera del fondo. Para esta supresión se utiliza información de colores en formato HSV. Nuevo método para el conteo de objetos en una imagen En este artículo se presenta un método para contar objetos en una imagen. El desarrollo funciona para cuerpos convexos o cóncavos, alargados o no, con un contorno suave sin hoyos, con diferentes longitudes y grueso similar, y en la presencia de oclusiones. El conteo de objetos se logra con una certeza de 94%. Sistema para detección y conteo de objetos Este artículo está muy relacionado con el mostrado en la tabla 2. 1. 1.1 llamado Detección y conteo de vehículos "ptlrtir de cuadros de video, escrito también por Pompanomechai y otros dos autores. La diferencia radica en que, el antes comentado, es específico para vehículos y el presente es más generalizado. Sin embargo, el ejemplo que utilizan en éste también es flujo \ehicular. Otra diferencia yace en los pasos para obtener la infom1ación dese.1da; anteriom1ente eran 4, ahora son los siguientes 6: I) obtención de la imagen, 2) mejoramiento de la imagen, 3) segmentación, 4) análisis, 5) conteo de objetos y 6) reportes. El punto 2 es nuevo y los puntos 4 y 5 están unidos en el artículo anterior. 15 ITESM CCM MCI 2.3 Aplicaciones en diferentes países Hay muchas ciudades en el mundo que cuentan con infraestructura instalada para poder obtener imágenes del flujo vehicular, entre ellas, la Ciudad de México. Sin embargo, el acceso a esta información varia de país a país. En el caso de México, sólo los usuarios de la compañía telefónica Iusacell pueden hacerlo. En cambio, hay otros países como Alemania o Brasil que penniten el acceso a cualquier usuario vía Internet. Empero, el acceso a estas cámaras no presenta información digerida, por lo que el usuario debe hacer un análisis y tomar una decisión por sí mismo. Por otra parte, se encontró una empresa británica llamada Traffic Solutions que ofrece un producto de línea que incluye Hardware y Software para cuantificar el flujo vehicular. El sistema clasifica los objetos en diferentes grupos y también los sigue desde que entran a la escena hasta que salen. El algoritmo patentado analiza más de 5 millones de pixeles por minuto y tiene una precisión mayor a 95%. A pesar de parecer un producto con gran potencial, no se encontró infomrnción que evidenciara en qué aplicación se está utilizando hoy en día. 2.4 Antecedentes de operaciones morfológicas18 Las operaciones morfológicas son procesamientos que se Je realiza a las imágenes con el fin de modificarlas con base en las fomrns presentes en el cuadro. Los cambios que se realiza dependen del resultado deseado. Hay varias funciones utilizadas para un sinfin de aplicaciones; para efectos de esta tesis se comentará sólo las relevantes para este trabajo. A continuación se describe los siguientes operadores aplicados en imágenes binarias: erosión, dilatación y llenado de huecos. 2.4.1 Erosión y Dilatación Para entender estas dos operaciones morfológicas. primero se tiene que explicar lo que es un elemento estructural. Se trata de matrices con dimensiones y fonna arbitrarias; todas las posiciones de la matriz deben recibir un cero o un uno. a esta combinación de ceros y unos se Je llama vecindad. Esta vecindad se utilizará en la erosión y dilatación para hacer las modificaciones a la imagen. 18 Para mayor detalle acerca de operaciones morfológicas se puede consultar cualquier libro con temática de visión computacional; incluso la guía de ayuda de Matlab contiene información suficiente para profundizar en estos operadores. 16 ITESM CCM MCI Para la erosión se usa la vecindad para determinar los pixeles en I dentro de la imagen analizada que serán cambiados a O. Cada pixel dentro de la imagen se somete al proceso de erosión; si su vecindad no es igual que la dctenninada en el elemento estructural, entonces el pixel cambiará a O. Los pixeles que tengan una vecindad igual a la del elemento estructural pcmrnncccrán con su valor original. En este procedimiento, sólo el pixel analizado puede ser cambiado. En el caso de la dilatación se usa la vecindad para determinar cómo se verán afectados los pixcles que rodean al pixel analizado. Cada pixel dentro de la imagen que esté en 1 se analizará y se modificará su vecindad de acuerdo al elemento estructural. En este procedimiento, el pixel analizado no se modifica, se cambia su vecindad. 2.4.2 Llenado de huecos Un campo más de los operadores morfológicos es la reconstrucción de imágenes. Una de las funciones que contiene es la de llenado de huecos. Este procesamiento se fundamente en la conectividad entre pixclcs. La operación dctcmlina si hay conectividad entre una serie de pixelcs adyacentes fomrnndo un cuerpo completo (pixcles en 1 ); si ese cuerpo contiene dentro de él un área que no fonna parte (pixcles en O), entonces esa región deberá ahora pertenecer al cuerpo, por lo que los pixcles cambiarán a 1. 3 Metodología 3.1 Objetivo Desarrollar un algoritmo adaptable a cambios de iluminación y ruido que cuente automóviles partiendo de imágenes tomadas con una cámara fija. El sistema se alimentará con imágenes secuenciales y, para cada una de ellas, deberá dar como resultado el número de automóviles presentes en la imagen. El conteo de vehículos deberá tener un grado de certeza alto (mayor a 90% como se plantea dentro de las hipótesis) y adaptable ante cambios en el ambiente. El número determinado por el código podrá ser usado en un futuro para diferentesfunciones, como optimizar tiempos de diferentes semáforos en crnces de calles, infomrnr a usuarios de coches acerca del tránsito vehicu lar en tiempo real o ayudar para tomar decisiones en cuanto a mejoras en las vías. 17 ITESM CCM MCI 3.2 Alcance La literatura revela que hay muchas investigaciones abordando el tema de contar automóviles en una escena de la calle con un sistema de visión. La presente tesis pretende desarrollar un algoritmo distinto a los propuestos por los diferentes autores consultados en la investigación literaria. El desarrollo se limitará a un algoritmo que cumpla con el objetivo planteado y deberá ser probado para comprobar las hipótesis propuestas. Se tendrá que realizar un análisis sobre un banco de imágenes para entender cómo están formadas las imágenes de una calle que contiene vehículos. Este paso se hará sobre imágenes obtenidas en la Ciudad de México examinando texturas, colores (RGB 19 , HSV 20 ), escala de grises, patrones, contornos, líneas, sombras, por destacar algunas características. Se hará las pruebas definitivas del algoritmo final sobre este banco de imágenes y, si es necesario, se buscará obtener otros bancos para obtener más resultados. 3.3 Preguntas de investigación • ¿Qué nivel de efectividad se puede obtener con un sistema de visión que detecta y cuenta automóviles partiendo de una imagen de la calle sin importar sombras ni ruido? • ¿En qué proporción se puede eliminar el ruido ocasionado por las sombras en una imagen real de una calle con vehículos? • ¿Cómo desarrollar un algoritmo que funcione en tiempo real con restricciones estrictas para el análisis de una imagen que contiene vehículos? • ¿Cómo desarrollar un algoritmo que se adapte a los cambios climáticos como luminosidad, lluvia, obstáculos y algunos otros, sin perder el objetivo de contar coches? 3.4 Hipótesis • Se llega a una certeza alta (>95'%) del número de automóviles presentes en una imagen con un sistema de visión adecuado con un ambiente que no presenta cambios 19 RGB (del inglés "Red, Green, 8/ue") es un formato para identificar colores en imágenes digitales. 20 HSV (del inglés "Hue, Saturation, Va/ue") es un formato para categorizar colores en imágenes digitales. 18 ITESM CCM MCI a lo largo de toda la secuencia analizada. La certeza se detem1inar para cada imagen Ut,·1,·zando la · · . , (Cantidad de coches contados por algoritmo) s1gmente ecuae1on: Cantidad de coches reales el denominador se tiene que calcular manualmente. • El ruido presente en las imágenes se elimina sin perjudicar seriamente la exactitud en la determinación del número de vehículos presentes en la imagen; en este sentido, la certeza debe ser mayor a 90% en la presencia de ruido. • El algoritmo funciona en tiempo real estricto; se propone que el límite de entrega de resultados sea como máximo 10 segundos. • El algoritmo se adapta a los cambios del fondo de la imagen sin perjudicar el conteo de coches después de un periodo de transición. En cada imagen analizada debe haber un proceso de adaptación. 3.5 Justificación La idea de desarrollar este terna de tes is surge de la urgencia que hay en nuestra e iudad por una mejora en el tránsito vehicular que se vive día a día. Las calles se saturan en horas pico diariamente; ante esta situación hay pocos sistemas que ayuden a contrarrestar este caos vial. El sistema de visión que se desarrollará podrá ser utilizado para alimentar a un sistema de optimización de flujo vehicular para sincronizar semáforos en diferentes ernces de la ciudad, infomiar a los automovilistas o mejorar diferentes vías con base en la infom1ación obtenida. La combinación del sistema de visión con el de optimización de flujo podrá mejorar las condiciones de tránsito caóticas que vivimos en la Ciudad de México. La información ayudará a los usuarios de coches a tomar mejores decisiones sobre sus rntas electas. El análisis de los datos recabados ayudará a mejorar vías que resulten críticas, como cuellos de botella. Este sistema se vuelve entonces en una contribución para esta ciudad; de aquí se podrá exportar a otras ciudades del país. y también se podría llevar a otros países. Esto genera una motivación extra para el desarrollo del tema; no sólo se contribuirá a la Ingeniería, también se ayudará al país. 19 ITESM CCM MCI Por otra parte, este algoritmo se podría utilizar en otras aplicaciones. Por ejemplo, un estacionamiento inteligente podría requerir de un sistema de visión que cuente los vehículos dentro de él para un mejor control de lugares. También se podría utilizar para hacer estudios sobre flujo vehicular en diferentes vías. La especialidad de la Maestría que se desea obtener es Robótica, contenida dentro la Mecatrónica. Un sistema de visión es fundamental para varias aplicaciones robóticas. Se convierte en los ojos, es el sensor para que un robot adquiera el conocimiento necesario sobre lo que lo rodea. En este caso, este conocimiento se podría utilizar para controlar semáforos. Entonces, partiendo de las partes fundamentales de un sistema mccatrónico (sensor, cerebro y actuador), el sistema de visión fungirá como el sensor, el sistema de optimización de flujo como el cerebro y los semáforos como los actuadores. Por lo tanto. el algoritmo de visión será una de las partes fundamentales del sistema mecatrónico completo para el control de flujo. Finalmente, un algoritmo como el que se pretende desarrollar podría tener vanos interesados. Para empezar, el gobierno del Distrito Federal debe estar a la expectativa de conocer alternativas para la mejora de la situación de tránsito que impera en esta ciudad. También habrá empresas que puedan utilizar un sistema como éste para alguna aplicación industrial en la que se requiera exactitud en el conteo de automóviles u otros objetos. Entonces, este interés podría convertirse en posibles financiamientos, acuerdos, compra de patente, entre otros. 3.6 Estrategia de investigación Para cumplir con el objetivo y poner a prueba las hipótesis planteadas se seguirá los siguientes pasos, cada uno se comentará en la sección de resultados: 1) Obtención de imágenes / videos tomados a una vía real 2) Análisis exhaustivo de las imágenes 3) Lluvia de ideas para la selección de los módulos del algoritmo 4) Determinación de pros y contras de las diferentes ideas 20 ITESM CCM MCI 5) Diseño 6) Desarrollo del algoritmo 7) Pruebas iniciales con el algoritmo preliminar 8) Mejoras al algoritmo con base en las pruebas iniciales 9) Pruebas finales con el algoritmo definitivo 4 Resultados 4.1 Resumen resultados En esta sección se resumirá lo obtenido en cada uno de los pasos planteados en la estrategia de la investigación: 4.1.1 Obtención de imágenes/ videos tomados a una vía real Se decidió buscar una estructura alta sobre alguna calle que pennitiera capturar videos con un ángulo cercano a 90º contra la calle como lo muestra la figura 4.1.1. l. El ángulo es importante para evitar que los coches se traslapen entre sí dentro de la imagen. Un ángulo lejano a los 90º puede dar como resultado dos o más coches unidos en la imagen, ta I como lo muestra la figura 4.1.1.2. Para el ojo humano es sencillo saber cuántos coches hay en la imagen, pero para un algoritmo sencillo que no consuma mucho tiempo de procesamiento dificilmente se puede separar y detectar como dos objetos diferentes objetos unidos corno los dos coches de la imagen. 21 ITESM CCM MCI Figura 4.1.1.1 -Ángulo entre posición de cámara y calle ... Figura 4.1.1.2 - Imagen con coches traslapados (la camioneta gris y el coche blanco que está detrás están unidos) Además del ángulo, la altura debía ser suficiente para capturar todos los carriles de la calle y tener espacio suficiente en el sentido del flujo vehicular para capturar vehículos largos (camiones) completos como se muestra en las figuras4.1. l.3 y 4.1.1 .4. 22 ITESM CCM MCI Figura 4.1.1.3 - Campo de visión recomendado esquemático Figura 4.1.1.4 - Campo de visión recomendado imagen real Se encontró un puente suficientemente alto que cumpliera con los criterios de altura y ángulo sobre Periférico a la altura de la bandera de San Jerónimo, la figura 4.1. 1.5 muestra el puente utilizado y el mapa con la ubicación. La gran mayoría de las secuencias utilizadas 23 ITESM CCM MCI en este trabajo fueron tomadas sobre este puente. También se grabó en el estacionamiento del TEC-CCM para evaluar el algoritmo con un escenario completamente diferente. tn,~per-óeric,.a . l!I Balilr Norte lr~~r·~r-r:,., s.,r ~~l'Tlr;•I"\ 1n::,eper;:1er.c.,., Ba!af'I Sur ./ i' t ., ... ~ _t ~ .. / Figura 4.1.1.5 - Puente utilizado para la toma de videos21 4.1.2 Análisis exhaustivo de las imágenes. Se llevó a cabo un análisis cualitativo sobre algunas de las imágenes obtenidas. Los principales hallazgos fueron: • Hay factores ambientales dentro de periodos cortos que pudieran llegar a afectar el conteo exacto de coches, como: cambios de iluminación, desplazamiento de sombras de objetos fijos, movimiento pequeño de la cámara. • Hay factores inherentes a los coches en movimiento que pueden afectar el conteo, como: sombras de coches en movimiento, reflejo de coches brillantes sobre la calle, diferentes tonalidades en un mismo coche derivadas de sombras o reflejos en el chasis o vidrios. • La calle presenta diferentes tonalidades, incluso, sm la afectación por sombras. Algunas manchas y las rallas divisoras de carriles tienen colores muy distintos a los 21 Imágenes obtenidas de Google Maps (Coordenadas 19.332162,-99.210234) 24 ITESM CCM MCI de la calle. Se puede observar estos detalles en las imágenes de los dos sentidos de la calle presentados en la figura 4.1.2.1 Figura 4.1.2.1 - Manchas, rallas y diferentes tonalidades en la calle seleccionada (izquierda: tramo norte a sur; derecha: tramo sur a norte) 4.1.3 Lluvia de ideas para la selección de los módulos del algoritmo y_ 4.1.4 Determinación de pros y contras de las diferentes ideas Después del análisis cualitativo se procedió con una lluvia de ideas como propuestas para componer los módulos del algoritmo. Entre éstas destacan: • Testigo para eliminación de sombras: tener un objeto testigo (poste, banqueta, árbol...) para medir el ángulo entre objeto y sombra y distancia de la sombra, para después eliminarla de los coches identificados proporcionalmente a su tamaño. o Pros: se conocería exactamente cuál es el comportamiento de la sombra. o Contras: los coches tienen que estar completamente separados, al igual que sus sombras. • Conteo de coches a partir de detección de bordes: detectar bordes en todas las figuras presentes y comparar contra una imagen base sin objetos en movimiento; la diferencia dará como resultado los objetos que están en movimiento. o Pros: se podría realizar en imágenes en escala de grises y tener un procesamiento rápido. o Contras: las sombras de los coches en movimiento generarían bordes y no podrán ser identificadas y eliminadas. • Caracterización automática del color de la calle (sombra y no sombra): Caracterizar dentro de alguno de los tres parámetros de un pixel con color el color de la calle sin 25 ITESM CCM MCI importar que esté soleado o con sombra; utilizar este parámetro para discriminar el fondo. o Pros: se eliminaría el ruido ocasionado por cualquier tipo de sombra. o Contras: coches que tengan colores dentro de esta caracterización serían considerados como calle. • Eliminación de Colores recurrentes: Adaptación de fondo con memoria de colores más recurrentes en cierto periodo; identificar a lo largo de varias imágenes los colores más recurrentes que deberán ser el fondo. Discriminar todos los pixclcs que estén dentro de estos colores y así obtener objetos en movimiento. Las sombras son recurrentes, por lo que deberán ser discriminadas. o Pros: se eliminaría el ruido ocasionado por cualquier tipo de sombra. o Contras: coches que tengan colores dentro de esta caracterización serían considerados como calle. • Caracterización manual del fondo: Caracterización de color de calle manual con base en muestras de varios escenarios. o Pros: fácilmente se puede determinar las regiones que son calle y grabarlas manualmente en un mapa de colores. o Contras: al ser manual, la determinación del mapa se tendría que hacer para cada diferente escenario y sería poco flex iblc. • Alguna combinación de las diferentes ideas. 4.1.5 Diseño La idea seleccionada fue la caracterización automática de la calle. Esta decisión se fundamentó en: I) el potencial previsto en el análisis cualitativo referente a la extracción de infonnación de colores reales y su utilización para detectar movimiento y eliminar sombras. 2) contempla un algoritmo automático y 3) cada pixel será caracterizado (no funcionará con mapas de colores generales para todos los pixclcs). Este último punto es relevante comentarlo: la idea de eliminar colores recurrentes contempla la utilización de un mapa de colores que contenga los colores del fondo y todos los pixclcs serán comparados contra el mapa; en caso de que el mapa contenga colores iguales a los de algún automóvil, el coche no será detectado. Este caso se puede ciar 26 ITESM CCM MCI fácihnente en ambientes no controlados donde hay variaciones significativas por regiones dentro de la misma imagen. En cambio, un análisis pixel por pixel con caracterización propia elimina el problema de las variaciones por región. Después de seleccionar trabajar con colores, se procedió a analizar brevemente dos diferentes formatos existentes: RGB y HSV. El primero y más utilizado se puede describir visualmente con un cubo como el mostrado en la figura 4.1. 5.1; bajo este mapa, cada pixel recibe tres valores: rojo, verde y azul (del inglés: "Red", "Green", "Blue"); la combinación de éstos dará un resultado determinado por las coordenadas en el cubo. El espacio de colores HSV utiliza un cono para ser visualizado como el mostrado en la figura 4.1.5.2; al igual que en RGB, cada pixel se compone de tres valores, pero en este espacio son: Matiz, Saturación y Valor (del inglés: "Hue", "Saturation", "Yalue"). B Figura 4.1.5.1 - Cubo RGB22 Wh11t: 1155.155.15'.') 22 Figura tomada de la guía de usuario de Matlab, para mayor detalle ver referencias. 27 ITESM CCM MCI Hue Figura 4.1.5.2 - Cono HSV23 Se decidió trabajar con HSV bajo el siguiente racional: para hacer caracterizaciones para cada pixel y poder comparar con el pixel de la imagen subsecuente y determinar si es movimiento o no, en ROB posiblemente se tendría que evaluar los 3 valores de cada pixel, ya que se puede dar el caso en que en R y O los valores coincidan, mientras que en B no, por dar una combinación. En cambio, en el espacio HSV posiblemente se pudiera trabajar en uno o dos de los valores, no necesariamente en los tres, ya que uno de los valores puede ser suficiente para determinar si es movimiento o no. Se corrió una prueba sencilla para entender si este razonamiento podía llegar a ser cierto; se evaluó tres zonas diferentes de la imagen mostrada en la figura 4.1.5.3: 1) coche rojo, 2) sombra generada por coche y 3) zona soleada. De la tabla mostrada en la misma figura se destaca lo siguiente: • La diferencia entre las zonas a y b son significativas en todos los valores de ROB y HSV. • La diferencia entre las zonas by c son significativas en todos los valores de ROB; sin embargo, los valores en S de HSV no varían significativamente entre las dos zonas. De aquí se puede inferir que S mantiene información de la calle a pesar de tener o no 23 Ibídem. 28 ITESM CCM MCI tener sombra, mientras que sí varía significativamente cuando se trata del color del carro. • Se concluye grosso modoque en RGB la información de los tres valores por pixel varía y probablemente sea necesario usar a todos; mientras que en HSV, el comportamiento de S vislumbra que se pueda prescindir de algún valor por pixel. Valor a b e R 0.58736 0.58715 0.60969 G 0.59259 0.61264 0.63061 B 0.66187 0.67538 0.7012 H 0.65736 0.61858 0.62837 s 0.11848 0.13067 0.13048 V 0.66187 0.67538 0.7012 Figura 4.1.5.3 - Comparación valores RGB contra HSV Analizar uno o dos valores por cada pixel en lugar de los tres dará como resultado menor tiempo de procesamiento, lo cual ayudaría a reducir el tiempo de procesamiento. Para efectos de esta tesis, no se comprobará si en formato RGB se tiene que usar los tres valores o si se pudiera usar dos o uno; sólo habrá foco en el formato HSV y se comprobará si con uno o dos valores por pixel se puede tener suficiente información para cuantificar con exactitud los coches. Para la detección de movimiento en imágenes consecutivas se usa comúnmente el método de comparación entre imágenes. Una simple resta entre dos imágenes consecutivas entregará como resultado valores diferentes de O en donde hubo movimiento y O donde no lo hubo; esto, asumiendo que el fondo de la imagen permanece igual entre las dos imágenes. En ambientes no controlados, esta comparación no puede ser tan sencilla, ya que 29 ITESM CCM MCI el fondo sufre cambios entre imágenes consecutivas; a pesar de la complejidad intrínseca de un ambiente cambiante, el concepto de comparación se usará para la detección de movimiento en esta tesis. La comparación se deberá hacer contra una imagen que no contiene movimiento, a ésta se llama imagen base. Esta imagen debe contener únicamente el fondo de la escena; para el caso de la calle, no debe contener objetos que se muevan a lo largo de una secuencia larga. La imagen base se deberá actualizar con el tiempo para adaptarse a cambios en el fondo. Se pretende tener una imagen base muy limpia que represente fielmente el fondo; sin embargo, se anticipa que, por la naturaleza de un ambiente cambiante, la imagen base tendrá pequeñas diferencias contra el fondo real de la imagen que se está sometiendo a conteo de coches. En la figura 4.1.5.4 se muestra dos imágenes consecutivas sin movimiento con sólo un segundo de diferencia entre las tomas. A simple vista, no se puede apreciar diferencias; sin embargo, realizando un análisis profundo pixel por pixel se comprobará que hay diferencias que generan ruido. (Nota: en este ejemplo se toma la primera imagen como la imagen base y la segunda como la imagen analizada para detectar movimiento; esta imagen base cumple con el hecho de no contener movimiento). Figura 4.1.5.4- Imágenes consecutivas sin movimiento (un segundo de diferencia entre las dos) Para corroborar la existencia de ruido se hizo una comparación pixel por pixel en los tres valores del mapa HSV. En la figura 4.1.5.5 se muestra lo siguiente en términos de los valores de V: 30 ITESM CCM MCI • Arriba izquierda: imagen en escala de grises con los valores absolutos de la diferencia entre las dos imágenes de la figura 4.1.5.4. Se observa una imagen muy oscura. por lo que las diferencias son pequeñas; pero sí se observa que hay regiones menos oscuras que otras. • Arriba derecha: histograma de los valores de la imagen de la izquierda. Se aprecia que la mayor parte de los valores están en O y valores muy cercanos a O. Se calculó el valor máximo, éste fue de O. 1059. • Abajo izquierda: se ajustó el rango de la imagen de arriba, de tal manera que O y 0.1059 de la imagen original equivalen a O y I respectivamente. El resultado de este ajuste es la imagen mostrada. Se aprecia que hay mucho ruido resultante de las pequeñas diferencias. • Abajo derecha: histograma de la imagen con el rango ajustado. Figura 4.1.5.5 - lnw,qen con movimiento detectado e histograma de V (arriba: datos ori_qina/es; ahajo: rango ajustado) Partiendo del ejemrlo en la figura 4.1.5.5 se concluye que hay ruido involucrado en el método de comraración en lénninos de V. Esle mismo anúlisis se realizó en tém1 inos de los 31 ITESM CCM MCI valores H y S, se observó que el comportamiento es similar por lo que se omite la presentación de las figuras respectivas. Las pequeñas diferencias entre dos imágenes consecutivas que no presentan movimiento generan ruido. La imagen base se generará a partir de imágenes anteriores a la analizada para conteo, por Jo que, seguramente, habrá también ruido en las comparaciones. Este agraviante en el análisis de imágenes se puede minimizar o eliminar utilizando filtros. El ruido presente en la figura 4.1.5.5 no tiene patrones claros ni ocupa grandes regiones completamente unidas; se asimila al ruido llamado "Sal y Pimienta". El filtro más apropiado para eliminar este tipo de ruido es erosionar. Para este caso, se busca eliminar pequeñas regiones o pixeles que pudieran calificar como movimiento, cuando en realidad no lo son. Se debe definir un elemento estructural acorde a las características del ruido. El área del elemento debe ser suficientemente grande para que elimine las regiones generadas por ruido, pero también suficientemente chica para que no elimine tanta infonnación del movimiento ocasionado por objetos que sí son movimiento. Es importante tener en mente que el filtro hará efecto sobre todo el movimiento detectado, sin importar si es mido o un objeto intruso. Se observó que la mayor parte de las regiones de ruido completamente unidas ocupan áreas pequeñas, menores a 3 pixeles de largo o de ancho. Es por esto que se definió aplicar la erosión con un elemento estructural cuadrado con un área de 3 x 3 pixeles 2. La figura 4.1.5.6 presenta los siguientes cuadros: • Izquierda: imagen binaria de la imagen de la figura 4.1.5.5 con el rango ajustado. La matriz presenta 8905 pixeles en blanco. • Derecha: imagen resultante después de someter la imagen de la izquierda al filtro de erosión con el elemento estructural 3 x 3. La matriz presenta 152 pixeles en blanco. 32 ITESM CCM MCI Figura 4.1.5.6 - Imagen con ruido (izquierda) e imagen después de erosión (derecho) De la figura 4.1.5.6 se rescata que sólo el 1.7% del ruido se mantiene después de aplicar el filtro de erosión: se elimina en gran medida el ruido. El algoritmo completo para el conteo de coches deberá trabajar con un método de comparación más complejo y con más criterios que el utilizado para esta demostración: se anticipa que el ruido en la imagen que será sometida a erosión sea menor, ya que los criterios de comparación deberán filtrar gran parte del ruido. A pesar de poder minimizar el ruido adecuadamente, el filtro utilizado afecta también a regiones más grandes de movimiento. No las elimina, pero sí las reduce en tamaño. La figura 4.1.5. 7 presenta los siguientes cuadros: • Arriba izquierda: imagen sin movimiento. se toma como imagen hase. • Arriba derecha: imagen dos segundos después a la imagen de la izquierda. Presenta un coche que claramente debe ser considerado como movimiento. • Mitad izquierda: imagen con diferencia absoluta de imagen hase contra imagen con coche: se aprecia que las regiones con mayor discrepancia son las que ocupan las áreas blancas del carro y parte de la sombra que éste genera. Se observa ;1reas lejanas al automóvil que presentan grises oscuros: estas regiones son consideradas como ruido. • Mitad derecha: irnagen con el rango ajustado llc\ando el rnúxirno \alor de la imagen anterior a 1. En esta 1rnagen se aprecia rnús claramente lo explicado en el punto anterior. 33 ITESM CCM MCI • Abajo izquierda: imagen binaria considerando el rango ajustado. Es importante destacar que el ruido en grises oscuros desaparece en este cuadro. Esto se debe a que el método para convertir en imagen binaria considera un umbral a partir del histograma para calificar como 1 o O; en este caso, el umbralpara calificar como 1 está calculado con los valores cercanos o iguales a l de la imagen anterior; los valores de las regiones oscuras no están cercanos a 1, por lo que son considerados como O. • Abajo derecha: imagen binaria después del filtro de erosión con elemento estructural 3 x 3. Se observa claramente que el área del coche disminuyó con respecto a la imagen antes del filtro. Esto puede convertirse en un problema durante el proceso de cuantificación de elementos en movimiento dentro de la imagen, ya que, de no estar unidas regiones de un mismo objeto, las áreas que ocupen serán consideradas como objetos diferentes. En este ejemplo se observa que hay varias áreas no unidas pertenecientes al mismo coche; el método de cuantificación las detectaría como diferentes objetos. 34 ITESM CCM MCI Figura 4.1.5. 7 - J\plicación de erosión a una imagen con movimiento generado por un coche El problema de separación de regiones de un mismo objeto ocasionado por la erosión se puede eliminar con una dilatación posterior. Se le llama apertura a esta combinación de filtros en ese orden. Este método contempla el uso de la erosión para eliminar objetos no deseados y la dilatación para el restablecimiento de los objetos que sí se desea conservar; el elemento estructural utilizado es el mismo para las dos etapas. 35 ITESM CCM MCI Se aplicó el método de apertura al ejemplo de la figura 4.1.5.7. El cuadro derecho de la figura 4.1.5.8 muestra el resultado. Se aprecia claramente que el área en blanco crece y que algunas áreas que estaban separadas ahora están unidas (ver detalle marcado), comparando contra la imagen erosionada (cuadro izquierdo). Figura 4.1.5.8- Comparación entre erosión y apertura/ detalle: objeto unido en apertura (izquierda: erosión; derecha: apertura) A pesar de unir con la apertura algunas regiones que pertenecen al mismo cuerpo. hay algunas que siguen separadas. Es por esto que se propuso aplicar la el ilatación posterior a la erosión con un elemento estructural diferente: se decidió usar un cuadrado de 8 x 8 pixcles2, con el fin de unir todas las áreas del mismo objeto. El resultado de la erosión de 3 x 3 seguida por la dilatación de 8 x 8 se muestra en el cuadro izquierdo de la figura 4.1.5. 9. Se aprecia claramente que todas las regiones pertenecientes al coche cstún completamente unidas. esto permitirá cuantificar acertadamente. Por otro lado. en el mismo cuadro izquierdo de la figura 4.1.5.9 se aprecia que hay áreas del carro que no se identificó como movimiento. Estas secciones son parte del \ehículo y así deben ser identificadas. Es por esto que se plantea utilizar la operación morfológica de llenado de huecos. Ésta contempla que, cualquier úrea en ceros rodeada completamente por unos. obtendr{1 valor de I en todos sus pixeles . El resultado de esta operación se obsena en el cuadro derecho de la misma figura : se aprecia que el objeto identificado como movimiento cubre una sola región, completamente unida y sin huecos. 36 ITESM CCM MCI Figura 4.1.5.9 - Erosión 3 x 3 seguida por Dilatación 8 x 8 (izquierda)/ llenado de huecos (derecha) 4.1.6 Desarrollo del algoritmo Después de analizar las imágenes cualitativamente y seleccionar la idea, se procedió a determinar los componentes necesarios del algoritmo y los métodos que se usaría para detectar los coches. Esto dio como resultado los siguientes bloques: a. Se requiere una imagen base sin movimiento que servirá para comparar imágenes subsecuentes en las que se intentará detectar coches. Esta base se puede obtener de dos maneras: 1) buscando una imagen sin movimiento y 2) constrnirla a pan ir de varias imágenes con movimiento eliminando el movimiento. Ya que se trata de un ambiente no controlado en el que puede darse el caso de siempre contar con movimiento, se decidió proceder con la segunda opción. Se desarrolló un algoritmo para generar un fondo sin movimiento a partir de imágenes con movimiento con base en la media por pixel a lo largo de varias imágenes. b. El movimiento de las imágenes analizadas para conteo de coches se determinará evaluando las fotos en cuestión contra la imagen base generada en el bloque anterior. Se requiere que la imagen base sea una fiel representación de la escena sin movimiento, ele tal manera que la diferencia entre la base y la imagen analizada para conteo represente únicamente el movimiento de la imagen analizada. Si la imagen base tuviera movimiento, entonces la diferencia entre ésta y la imagen analizada para conteo mostraría este movimiento como movimiento dentro de la imagen analizada. 37 ITESM CCM MCI Se usará la imagen base sin movimiento para ser comparada con la imagen subsecuente con una resta por pixel considerando una tolerancia; todos los valores absolutos que sean mayores a la tolerancia absoluta serán considerados como movimiento. Se debe tener un manejo especial para las sombras ocasionadas por movimiento, ya que resultarán en movimiento y deberán ser eliminadas. Se pretende usar filtros de erosión y dilatación para eliminar ruido, además de utilizar el área que ocupan los objetos en movimiento para que califiquen como vehículos de acuerdo a un área mínima que se determinará manualmente detectando el coche más pequeño; el área mínima variará de acuerdo a los diferentes escenarios analizados. c. Deberá haber una adaptación de la imagen base a cambios paulatinos o disruptivos en el ambiente. Bajo cambios paulatinos se contempla cambios de iluminación naturales. Bajo cambios disruptivos se contempla objetos intrusos que entran en la escena y se establecen en algún punto dentro del área de análisis permaneciendo suficiente tiempo estáticos, como para que deban ser considerados como parte de la imagen base sin movimiento (coches descompuestos, basura, señalización de tránsito). Para los tres bloques se contempla la utilización de la metodología Región de Interés (del inglés ROi "Region of Interest") para eliminar las áreas que, de antemano, se sabe que no contendrán coches (banquetas, camellones ... ). Esto permitirá ahorro en tiempo de procesamiento. La figura 4.1.6.1 muestra la segmentación del área interés de la de no interés en una imagen de las bases de datos utilizadas Figura 4.1.6.1 - Segmentación de imagen en Región de Interés (izquierda imagen real, derecha, región de interés) 38 ITESM CCM MCI 4.1.7 Pruebas iniciales con el algoritmo preliminar Se realizó las pruebas iniciales por bloque: a. Generador de imagen base: la idea inicial contemplaba calcular la media y desviación estándar de cada uno de los tres valores de cada pixel dentro del espacio HSV a lo largo de una serie de imágenes consecutivas. Los resultados de la media y desviación serían comparados con todos los valores con los que fueron calculados, para luego eliminar todos aquéllos que estuvieran por fuera de la normal; se utilizaría nuevamente todos los valores que quedaran dentro de la normal para calcular la media y desviación estándar final. Este método resultó en imágenes base con mucho ruido debido a los automóviles presentes en las imágenes utilizadas. A mayor flujo de automóviles, mayor el ruido en la imagen base; en cambio, a mayor la velocidad de los automóviles, menor es el ruido en la imagen base. b. Conteo de coches: se buscó tener una imagen base limpia a partir de imágenes generadoras con muy poco movimiento. Esto se hizo para poder evaluar preliminannente el algoritmo para detectar coches. El primer acercamiento contempló la comparación de cada uno de los tres valores de cada pixel contra la imagen base, considerando un comportamiento nonnal utilizando la media y desviación resultantes en la imagen base. Se observó que la aportación a la detección de movimiento de los tres valores H, S y V de cada pixel variaba significativamente: el Valor es el mayor contribuyente, la Saturación el segundoy el Matiz no contribuye de manera importante. Para lograr determinar estas contribuciones se seleccionó una región de 5 x 5 pixeles como lo muestra la figura 4.1. 7.1 y se corrió el algoritmo con una muestra de 499 imúgcncs consecutivas. Manualmente se determinó para cada imagen si la región contenía cualquiera de las siguientes opciones: 1) calle sin movimiento, 2) coche en movimiento, 3) sombra de un coche, 4) combinación de sombra de coche y calle, 5) combinación de coche en movimiento y calle o 6) combinación de coche y sombra del mismo. Se graficó el valor promedio de la región de H, S y Y a lo largo de todas las imúgenes y se precisó la determinación manual. La figura 4.1.7.2 muestra el resultado. 39 ITESM CCM MCI Figura 4.1.7.1 - Región seleccionada para análisis (cuadro con cruz) 1.2 1 X 0.8 > > 11'1 '% 0.6 ... 0 ¡¡¡ > 0.4 0.2 15 X X X 54 uo 193 95110 ~H ·~S X 286 238 275 • • #Imagen X X 361 388 343 355 •• V X % Sombra • % Coche X Figura 4.1.7.2- Valores de H, S, Vy determinación manual De la figura 4.1. 7.2 se rescata lo siguiente: X 463 468 492. 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 o CII .e u 0 u "' CII ·¡;¡ ... 0 ¡¡¡ > 40 ITESM CCM MCI • El atributo en V es el más cambiante a lo largo de todas las imágenes; siempre que hay coche o sombra por coche, V presenta un valor disruptivo con la tendencia mostrada en los valores anteriores. • Se observa que todos los puntos con sombra presentan un ptco hacia abajo en V; mientras que el de los coches puede ser hacia abajo o hacia arriba. • El atributo S presenta variaciones significativas primordialmente cuando se trata de un coche. Sin embargo, no todos los coches generan variación en S. • El atributo H presenta algunas variaciones en algunos casos donde hay coche o sombra, pero no se puede determinar una correlación clara que incluya a todos los efectos de movimiento. • Se observa que el atributo V presenta cambios suaves a lo largo de varias imágenes. Estos cambios suaves modifican el valor en un rango entre 0.6 y hasta 0.8. Después de analizar las imágenes se determinó que esta variación donde no hay movimiento se debe a cambios de iluminación. Se realizó un análisis cuantitativo sobre los valores H, S y V para determinar correlaciones que permitan determinar cuál o cuáles de los tres se usará para detectar coches y las tolerancias que se establecerá. La tabla 4.1. 7.2 muestra la información de las regiones de las imágenes analizadas que son sólo coche; se presenta los valores de H, S y V denotados como Valor, la variación porcentual de ese valor contra el mismo valor de la imagen anterior denotada por Índice vs !A y la diferencia absoluta del valor contra el mismo valor de la imagen anterior denotada por Dif"Abs vs /A (Nota: los valores de la tabla fueron clasificados por colores de acuerdo a los rangos de la tabla 4.1. 7.1 ). Tabla 4.1.7.1 - Rangos de color Mín Máx > < > -10.0% < 10.0% > -15.0% < 15.0% > -25.0% < < > 41 ITESM CCM MCI Tabla 4.1.7.2 - Información de regiones con coche H s V Índice vs Dij Abs Índice vs Dif Abs Índice vs Dif Abs #lm. Valor IA vs IA Valor IA VS /A Valor /A vs /A 95 0.623 -5.4% 0.036 0.210 0.067 0.259 0.452 110 0.700 8.0% 0.052 0.021 0.115 0.937 0.280 159 0.616 0.017 0.532 0.378 0.723 11.5% 0.074 166 0.588 -8.4% 0.054 0.068 0.070 0.939 0.284 177 0.613 0.017 0.235 0.084 0.487 0.171 188 0.678 9.4% 0.058 0.205 0.073 0.833 0.214 238 0.662 0.030 0 .215 0 .102 0.915 0.200 275 0.699 12.6% 0.078 0.156 16.1% 0.022 0.265 0.376 343 0.594 -6.7% 0.043 0.165 0.039 0.366 0.424 355 0.345 0.301 0.147 0.012 0.822 0.109 468 0.572 -7.1% 0.044 0.029 0.127 0.943 0.355 492 0.729 18.8% 0.115 0 .198 0.040 0.236 0.325 Promedio 0.070 0.094 0.272 De la tabla en la tabla 4.1. 7.2 se rescata las siguientes premisas: • En los valores de H no se puede determinar una correlación clara. El índice contra la imagen anterior muestra colores dentro de todos los rangos. Por otra parte, la diferencia absoluta promedio es baja (0.07). Finalmente, las variaciones son tanto positivas como negativas. • En los valores de S se puede ver que 1 O de los 12 valores tienen una diferencia mayor a 25% contra la imagen anterior. Hay diferencias positivas y negativas. La diferencia absoluta promedio es de 0.094. • En los valores de V se observa que I O de los 12 valores tienen una diferencia mayor a 25% contra la imagen anterior; los dos valores restantes están por arriba de 10%. Hay diferencias positivas y negativas. La diferencia absoluta promedio es de 0.272. • Se establece una correlación entre las diferencias positivas de V y las negativas de S; en todos los casos donde la diferencia en S es negativa, la diferencia en V es positiva. Por otra parte, la tabla 4.1. 7 .3 muestra los datos equivalentes a los de la tabla anterior, pero para imágenes con regiones ocupadas en mínimo 75% por sombra. De esta tabla se rescata lo siguiente: 42 ITESM CCM MCI • En los valores de H se observa que hay variación dentro de todos los rangos; se ve que los valores que superan 5% contra la imagen anterior son, en todos los casos, diferencias positivas. La diferencia absoluta promedio es 0.066, similar al resultado de 0.07 calculado cuando hay coche. • En los valores de S se observa que sólo hay dos valores por arriba de 25% de diferencia contra la imagen anterior, ambas son diferencias negativas. La diferencia positiva más grande es de O.O! 7. La diferencia absoluta promedio es 0.022, mientras que en el caso de coches esta diferencia fue 0.094; es una diferencia importante que se utilizará para ajustar la tolerancia de comparación dentro de S. • En los valores de V se observa que sólo un valor presenta una variación menor a 25%, sin embargo, ese valor es mayor a 20%. Se concluye que la sombra resulta en vanactones grandes en V. Por otra parte, también se determina que todas las vanacmnes son negativas. Finalmente, la diferencia absoluta promedio es 0.268, similar al resultado con coche de 0.272. Tabla 4.1.7.3 - Información de regiones con sombra H s V Índice vs Dif Abs Índice vs Dif Abs Índice vs Dif Abs # Imagen Val IA vs IA Val IA vs IA Val IA vslA 15 0.639565 0.007 0.130633 0.006 0.465033 0.204 54 0.647947 0.003 0.149531 10.4% 0.014 0.469608 0.192 71 0.618768 0.032 0.151058 7.7% 0.287146 0.362 120 0.725336 15.2% 0.096 0.141874 0.405556 0.236 193 0.659571 9.2% 0.055 0.107332 0.065 0.488889 -21.7% 0.135 242 0.716291 13.5% 0.085 0.149457 8.2% 0.011 0.390196 0.305 286 0.808275 0.174 0.114406 0.002 0.380501 0.284 361 0.783053 23.1% 0.147 0.119786 -5.5% 0.007 0.354684 0.351 388 0.688683 7.8% o.oso 0.143081 13.1% 0.017 0.340741 0.368 463 0.62372 0.011 0.096944 0.073 0.350545 0.245 Promedio 0.066 0.022 0.268 c. Adaptación: en un principio se planteó realizar dos tipos de adaptación a cambios en el ambiente: 43 ITESM CCM MCI • Adaptación a cambios de iluminación: se propuso realizar un ajuste a los cambios paulatinos por iluminación. Se planteó tener memoria de 5 imágenes consecutivas y evaluar la moda de cada pixel que calificó como no movimiento para detenninar el nuevo valor de la imagen base para comparación con la siguiente imagen. Este método funcionó en términos de adaptación, pero consumió mucho tiempo de procesan, ien to. • Adaptación a cambios disruptivos: se planteó el mismo método de adaptación que para cambios paulatinos, con la diferencia que para disruptivos se correría el proceso en los pixeles que calificaran como movimiento. En este caso, también funcionó el método, pero el consumo de tiempo de procesamiento era excesivo. Se calculó el tiempo promedio de procesamiento utilizado para el análisis de cada imagen con una muestra de 60 imágenes resu Itando en I 0.3 segundos por imagen. Dentro de las mejoras al algoritmo en la siguiente sección,
Compartir