Modelo de visión artificial para la detección automática de colisión de vehículos en videovigilancia
50
0
0
Texto completo
(2) Agradecimientos. El presente proyecto de tesis es el resultado del esfuerzo conjunto con mi asesor, mis profesores, compañeros de la carrera y amigos, todos ellos aportaron con motivación, consejos y sobretodo con el tiempo que me dedicaron. También quiero agradecer a toda mi familia por su apoyo y comprensión incondicional.. ii.
(3) Resumen. La detección de objetos en el campo de Visión Artificial es todavı́a un reto con la finalidad de alcanzar la mejor precisión en el menor tiempo, enfrentándose a diversos factores del entorno real, tales como iluminación variable, oclusión parcial y otros objetos presentes. Aún continúan surgiendo técnicas de procesamiento y clasificación de imágenes para conformar modelos robustos de detección de objetos o acciones, una de las fortalezas de estos modelos está en la forma de operar con las caracterı́sticas para obtener las que mejor representen el objeto y ası́ obtener resultados satisfactorios de detección. Entre las técnicas de Aprendizaje de Máquina se encuentra la red neuronal artificial, que es un conjunto de cálculos matemáticos sobre las caracterı́sticas del objeto a detectar. El número de neuronas y capas de una red neuronal artificial influye en los resultados de detección. El Aprendizaje Profundo (Deep Learning) es parte del amplio campo de Aprendizaje de Máquina que implica el uso de una gran cantidad de neuronas y muchas capas, este tipo de red consigue grandes resultados que se demuestran en diversos trabajos de investigación. El requerimiento de hardware es alto pero los avances tecnológicos han permitido la mejora de técnicas de deep learning. En la presente tesis se propone un modelo con una técnica de deep learning para la detección de carros y posteriormente se aplica una técnica de procesamiento de imágenes basado en el facctor tiempo para detección de choques. Los resultados se demuestran con los tiempos de ejecución y el grado de precisión.. Palabras Clave: Aprendizaje profundo, ViF, flujo óptico, procesamiento de videos, colisión de vehı́culos, videovigilancia.. iii.
(4) Abstract. The object detection in the field of Artificial Vision is still a challenge in order to achieve the best precision in the shortest time, facing various factors of the real environment, such as variable lighting, partial occlusion and other objects present in the scene. Images processing and classification techniques are still appearing to form robust models of objects or actions detection, one of the strengths of these models is in the way of operating with the features to obtain those with the best representation of the object and thus to get satisfactory detection results. Among the Machine Learning techniques is the artificial neural network, it is a set of mathematical calculations about the object features to be detected. The number of neurons and layers of an artificial neural network influences the detection results. Deep Learning is part of the broad field of machine learning that involves the use of a large number of neurons and many layers, this type of network achieves great results that are shown in various research papers. The hardware requirement is high but technological advances have allowed the improvement of deep learning techniques. In this thesis a model with a deep learning technique for the detection of cars is proposed and later an image processing technique based on the time factor for collision detection is applied. The results are demonstrated with the execution time and the precision degree.. Keywords: Deep Learning, optic flow, ViF, video processing, vehicles collision, video surveillance.. iv.
(5) Índice general. Carátula . . . . . . . . Agradecimientos . . . Resumen . . . . . . . Abstract . . . . . . . . Índice General . . . . Índice de Figuras . . . Índice de Tablas . . . Lista de Abreviaturas. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. i ii iii iv v vii viii ix. 1.. Introducción . . . . . . . . . . . 1.1. Contexto y Motivación . . . 1.2. Planteamiento del Problema 1.3. Objetivo General . . . . . . 1.3.1. Objetivos Especı́ficos 1.4. Organización del trabajo . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 1 1 1 2 2 2. 2.. Trabajos Relacionados . . . . . . . . . . . . . . . . . . . . . 2.1. Consideraciones iniciales . . . . . . . . . . . . . . . . . 2.2. Detección de colisiones por simuladores y sensores . . 2.3. Detección de colisiones por procesamiento de imágenes 2.4. Consideraciones Finales . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 3 3 3 4 5. 3.. Aprendizaje Profundo . . . . . . . . . . . . . . . . . . . 3.1. Consideraciones iniciales . . . . . . . . . . . . . . . 3.2. Modelos de Aprendizaje Profundo . . . . . . . . . 3.2.1. Redes Neuronales Convolucionales - CNN . 3.2.2. R-CNN . . . . . . . . . . . . . . . . . . . . 3.2.3. Fast R-CNN . . . . . . . . . . . . . . . . . 3.2.4. Faster R-CNN . . . . . . . . . . . . . . . . 3.2.5. YOLO . . . . . . . . . . . . . . . . . . . . . 3.2.6. Comparación de YOLO con las versiones de 3.3. Consideraciones finales . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R-CNN . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. 6 6 7 7 9 9 10 10 11 13. 4.. Flujo óptico . . . . . . . . . . 4.1. Consideraciones Iniciales 4.2. Flujo Óptico . . . . . . 4.2.1. Clasificación . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 14 14 14 15. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . ..
(6) 4.2.2. Flujo óptico con Horn-Schunck 4.2.3. Flujo óptico con Lucas-Kanade 4.2.4. Descriptor ViF . . . . . . . . . 4.3. Consideraciones finales . . . . . . . . 5.. Propuesta del trabajo . . . . . . . . . . . 5.1. Consideraciones Iniciales . . . . . . . 5.2. Modelo propuesto . . . . . . . . . . . 5.3. Detección de automóviles . . . . . . 5.4. Seguimiento de automóviles . . . . . 5.5. Detección de choques de automóviles 5.6. Consideraciones finales . . . . . . . .. . . . . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 16 18 20 22. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 23 23 23 24 25 28 29. 6.. Experimentos . . . . . . . . . 6.1. Consideraciones iniciales 6.2. Recolección de datos . . 6.3. Resultados . . . . . . . . 6.3.1. Comparación con 6.4. Consideraciones finales .. . . . . . . . . . . . . . . . . . . . . trabajos . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . relacionados . . . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 30 30 30 31 33 34. 7.. Conclusiones . . . . . 7.1. Conclusiones . . 7.2. Recomendaciones 7.3. Trabajos Futuros. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 35 35 35 36. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37. vi.
(7) Índice de figuras. 3.1. Diagrama de Venn mostrando algunas disciplinas de la Inteligencia Artificial. . . . . 3.2. Descomposición jerárquica de una imagen a través de una arquitectura de aprendizaje profundo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Arquitectura de R-CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4. Arquitectura de Fast R-CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Arquitectura de Fast R-CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6. El modelo YOLO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7. Comparación del rendimiento de YOLO con otras redes, midiendo tiempo vs mAP-50. 3.8. Comparación de la velocidad de YOLO con otros modelos. . . . . . . . . . . . . . . .. 8 9 10 10 11 12 13. 4.1. Ejemplo de los vectores de velocidad en una imagen. . . . . . . . . . . 4.2. Tasa de cambio del brillo de la imagen en la ecuación de restricción de de flujo óptico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Vista de la intensidad de brillo de un pixel. . . . . . . . . . . . . . . . 4.4. Cambio de la intensidad de a a b de un pixel visto desde una máscara. 4.5. Representación piramidal del algoritmo Lucas-Kanade. . . . . . . . . .. 18 19 19 20. . . . . . . . la velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. . 17 . . . .. 5.1. El modelo propuesto con una estructura simplificada de cada etapa. . . . . . . . . 5.2. Detección de vehı́culos con YOLO . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Extracción de video por cada seguimiento de vehı́culo. El lado izquierdo muestra un video de vigilancia, y el lado derecho muestra tres videos pequeños, cada uno generado por un vehı́culo. Cada video pequeño tiene diferentes tamaños, pero de 30 fotogramas cada uno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Algoritmo de seguimiento con filtros de correlación. . . . . . . . . . . . . . . . . . . 5.5. Descriptor ViF en video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. El método de detección de colisiones de vehı́culos con el descriptor ViF. . . . . . .. . 24 . 25. . . . .. 26 27 28 29. 6.1. 6.2. 6.3. 6.4. 6.5.. . . . . .. 31 31 32 32 34. Fotogramas de tráfico normal, extraı́dos del conjunto de datos CCV. . . . Fotogramas de choques vehiculares, extraı́dos del conjunto de datos CCV. ROC curve of ViF performance. . . . . . . . . . . . . . . . . . . . . . . . . Precision-Recall curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detección de choques con el modelo propuesto. . . . . . . . . . . . . . . .. vii. . . . . .. . . . . .. . . . . .. . . . . .. . . . . ..
(8) Índice de tablas. 3.1. Rendimiento en tiempo real de algunos modelos, con el conjunto de datos VOC 2007 y 2012. Información extrı́da de la tabla 1 de [Redmon et al., 2016]. . . . . . . . . . . 12 4.1. Desempeño de VIF con diferentes algoritmos de flujo óptico en términos del acierto, SD y AUC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2. Comparación del tiempo de procesamiento de un video utilizando ViF con diferentes algoritmos de flujo óptico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1. Arquitectura de YOLO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.1. El rendimiento de ViF en cada vehı́culo. La medida de la exactitud del clasificador se evaluó mediante validación cruzada (k = 10) y también el Área bajo la curva (AUC) es incluı́da, con la Precisión, el recall y el promedio de precisión-recall. . . . . . . . . 33 6.2. Tiempo de procesamiento de ViF para detección de colisión de vehı́culos. . . . . . . 33. viii.
(9) Lista de Abreviaturas. fps. f rames per second. ms. milliseconds. CNN. Convolucional Neural Network. INEI. Instituto Nacional de Estadı́stica e Informática. IRLS. Iterative Reweighted Least Squares. SIFT. Scale Invariant Feature Transform. R-CNN ROC ViF SURF. Region - Convolucional Neural Networ Receiver Operating Characteristic Violent Flow Speeded Up Robust Features. ix.
(10) 1 Introducción. 1.1. Contexto y Motivación El alto ı́ndice de accidentes de tránsito es preocupación principal de la realidad peruana, sobretodo del tipo denominado “colisión entre vehı́culos”. Según las estadı́sticas de la INEI entre Enero y Agosto del 2017 [INEI, 2017] se han producido 34 755 accidentes de tránsito de tipo choque y de tipo choque/fuga a nivel nacional, y solo en la ciudad de Arequipa el mismo tipo de accidente de tránsito sucedió en 1943 ocasiones. Un sistema automático basado en un modelo de detección de colisiones entre vehı́culos aportarı́a en la notificación del accidente en tiempo real.. 1.2. Planteamiento del Problema La detección de colisiones entre vehı́culos ha sido tema de investigación donde se han utilizado diversas técnicas, el estado de arte demuestra en la mayorı́a de casos el uso de la información de trayectoria, del cambio de velocidad y de la distancia entre los vehı́culos, en otros trabajos de investigación han modelado el flujo del tránsito en un programa virtual, en algunos otros se ha capturado imágenes y videos desde una perspectiva superior, es decir con un dispositivo colocado encima de la escena. Las técnicas de Visión Artificial son escasamente usadas para la detección de colisiones y son pocos los trabajos que capturan la información con una cámara de vigilancia colocada al costado de una vı́a pública. Es en los trabajos de Tran et al.[Tran and Firl, 2013] y Oh et al. [Oh and Kim, 2010] donde parcialmente se aplicaron técnicas de procesamiento de imágenes, sin embargo se puede complementar con técnicas de aprendizaje de máquina, aprendizaje profundo, algoritmos de flujo óptico, métodos de visión computacional, entre otros, para hacer más precisa la detección de colisiones de vehı́culos en un escenario captado por una cámara de vigilancia..
(11) 1.3. Objetivo General Proponer un modelo de Visión Artificial para la detección automática de colisión de vehı́culos utilizando una cámara de vigilancia.. 1.3.1. Objetivos Especı́ficos Recolectar videos de vigilancia sobre colisiones de vehı́culos. Analizar técnicas de Aprendizaje Profundo y Flujo Óptico. Detectar colisiones de vehı́culos. Evaluar el rendimiento del modelo propuesto.. 1.4. Organización del trabajo El presente trabajo está organizado de la siguiente manera: en el capı́tulo 2 se presentan los trabajos relacionados a la detección de colisiones vehiculares, en el capı́tulo 3 se da a conocer los modelos de aprendizaje profundo basados en redes neuronales convolucionales que se orientan a la clasificación y localización de objetos en imágenes, en el capı́tulo 4 se describen las técnicas de flujo óptico para la detección de movimiento en videos, en el capı́tulo 5 se plantea la propuesta basada en un modelo de tres etapas con enfoque en una técnica de flujo óptico teniendo en cuenta el objetivo principal del presente trabajo, en el capı́tulo 6 se da a conocer los experimentos y los resultados obtenidos. Finalmente en el capı́tulo 7 se exponen las conclusiones, recomendaciones y trabajos futuros.. 2.
(12) 2 Trabajos Relacionados. 2.1. Consideraciones iniciales A lo largo de la investigación en detección de colisión de vehı́culos se usaron diversos dispositivos tecnológicos, entre ellos, sensores, smartphones, acelerómetros, GPS (Global Positioning System), GSM (Global System for mobile), videocámaras, etc. A la vez, algoritmos y modelos para el uso de estas tecnologı́as han ido evolucionando para alcanzar resultados más acertados.. 2.2. Detección de colisiones por simuladores y sensores En el trabajo de Chen et al. [Chen et al., 2012] se plantea un modelo de predicción de choques vehiculares en áreas con alto tráfico vehicular, a partir de datos recolectados de un sensor que consiste de un circuito instalado en el pavimento que envı́a una señal cada vez que un vehı́culo se encuentra sobre el circuito. La información sobre choques vehiculares se obtuvo de un conjunto de datos estadı́sticos de California que contiene datos de ubicación, tiempo y tipo de colisión. Un vehı́culo virtual diseñado en Unity (entorno de programación de videojuegos) fue el objeto de experimento de Perez et al. [Pérez Padial, 2016] para el estudio de tres tipos de algoritmos de control de trayectoria, basados principalmente en el ángulo de la curva y en la rotación de las llantas sobre un sistema de coordenadas. A través de simulaciones los autores predicen posibles colisiones entre vehı́culos, en un entorno virtual. Un trabajo reciente presentado por Sane et al. [Sane et al., ] usa GSM y GPS con otros sensores de hardware que reconocen choques vehiculares cuando ocurre un accidente, las coordenadas de la ubicación del accidente obtenidas por GPS se envı́an a través de la red GSM al número móvil definido por el usuario. En el trabajo de Shah et al. [Shah et al., 2015] se agrega un sensor de.
(13) alcohol y un sensor de temperatura para detectar la gravedad del accidente. Además, en el trabajo de White et al. [White et al., 2011] se usan el acelerómetro, GPS y GSM, pero instalados en teléfonos inteligentes, también para la detección de choques automovilı́sticos. Posteriormente usaron información acústica para complementar la información relacionada a un choque. En Tran et al. [Tran and Firl, 2013] se considera que los accidentes vehiculares se provocan cuando hay una alteración en el cambio de carril o en el acercamiento de dos o más vehı́culos, y que la ruta del vehı́culo y su seguimiento es fundamental para entender eventos microscópicos de tráfico. Siendo ası́ los autores proponen un algoritmo de regresión no-probabilı́stica paramétrica para identificar y analizar los eventos microscópicos inseguros y un algoritmo basado en el Filtro de Kalman para el seguimiento de cada objeto vehı́culo. Se desarrolla un modelo de predicción de trayectoria y reconocimiento de la maniobra que vaya a realizar el vehı́culo.. 2.3. Detección de colisiones por procesamiento de imágenes También se propone un modelo de probabilidad de choque en Oh et al. [Oh and Kim, 2010], donde a la vez utiliza imágenes extraı́das de una videocámara posicionada al frente de una autopista para la detección y el seguimiento de cada vehı́culo. Hace uso del algoritmo TTC time to collision, y de los valores de velocidad de cada vehı́culo y el espacio entre cada par de ellos, con estos tres valores se halla la probabilidad de choque. El modelo no usa datos históricos de choques, sino datos obtenidos en tiempo real. De la misma forma Lee et al. [Lee and Yeo, 2015] propone un algoritmo denominado MCWA (Multilayer Perceptron based Collision Warning Algoritm) basado en una Red Neuronal Artificial que demuestra mejores resultados que los algoritmos convencionales TTC(Time to Collision) y SDA (Stopping Distance Algorithm), que se basan en ecuaciones cuyos parámetros son: la distancia entre el vehı́culo de adelante y el vehı́culo precedente, la distancia del vehı́culo precedente, la diferencia de sus velocidades y la aceleración de cada uno. Todos estos parámetros Lee et al. los usa como datos de entrada para la Red Neuronal MCWA, la salida de la red es el nivel de alerta de colisión. Los trabajos de Oh et al. y Lee et al. predicen el tiempo de colisión en milisegundos, tomando en cuenta la distancia entre los vehı́culos, con la finalidad de alertar al conductor por lo menos un segundo antes de que ocurra la posible colisión. También han sido tema de investigación los Frameworks instalados en teléfonos inteligentes con el rol de asistentes de manejo. En el trabajo de Diewald et al. [Diewald et al., 2012] los autores propusieron teléfonos inteligentes como asistentes de manejo que muestran información de tráfico y la ocurrencia de accidentes en la carretera. Del mismo modo, en el trabajo de Hong et al. [Hong et al., 2014] se presenta una aplicación que recopila información como: movimiento, maniobras y movimiento del volante; luego, utilizando un algoritmo de aprendizaje automático pueden detectar a los choferes agresivos. Además, en el trabajo de You et al. [You et al., 2012] la cámara frontal del teléfono inteligente se usa para detectar situaciones en las que el conductor está cansado o distraı́do. 4.
(14) Por otro lado, hay sistemas que procesan videos extraı́dos de cámaras de vigilancia, tal es el caso de Ravindran et al. [Ravindran et al., 2016], donde los autores propusieron un sistema de tres etapas para detectar colisión de automóviles, la primera etapa es detectar los automóviles, luego un descriptor de textura con SVM (Support Vector Machine) para reconocer piezas aplastadas o trituradas, finalmente otro clasificador entrenado detecta las piezas de automóviles con el fin de eliminar falsos positivos, obtuvieron 81.83 % de precisión. En Ki et al. [Ki, 2007], los fotogramas de video se utilizan para extraer las caracterı́sticas de velocidad, posición, área y dirección de los vehı́culos en movimiento, luego, si la suma de la variación de estas caracterı́sticas es mayor que un umbral entonces la acción se etiqueta como colisión automovilı́stica, lamentablemente no tienen métricas suficientes para medir su propuesta. Además, en el trabajo de Rajalakshmi et al. [Rajalakshmi, 2016] se usa un análisis discriminante lineal (LDA) con SVM para la detección de vehı́culos, también la segmentación de objetos en primer plano se lleva a cabo mediante el campo aleatorio de Markov (MRF) con proceso de estimación bayesiano, el autor rastrea todos los autos para el análisis de accidentes. Además, en el trabajo de Logesh [VASU, 2010], se presenta un algoritmo de seguimiento como combinación ponderada de caracterı́sticas de bajo nivel de vehı́culos en movimiento y análisis de imágenes de regiones de vehı́culos, se logró un 90-93 % de tasa de detección y 88-92 % de presición en el seguimiento, utilizaron la velocidad de cada automóvil para detectar los accidentes, para la detección de colisiones de automóviles obtuvieron una precisión de 87,5 %. En cuanto al tiempo de ejecución, en el trabajo se menciona un tiempo promedio de 10ms por fotograma, de 320x320px o 640x640px. Otros métodos como Bag of Visual Words (BoVW) se utilizan para la clasificación de escenas de tráfico, como en el caso de [Zhou et al., 2008], cada video está codificado como una bolsa de vectores de caracterı́sticas SIFT, la distribución está descrita por un Gaussian Mixture Models (GMM), la precisión promedio en el conjunto de datos Over et al. [Over et al., 2005] reportó 60.4 % de exactitud.. 2.4. Consideraciones Finales La simulación virtual del tráfico vehicular ha sido utilizada con algoritmos de detección de choques y algoritmos de trayectoria, estas simulaciones muestran los vehı́culos desde una perspectiva superior. También se usaron sensores para la captura de información relacionada a un accidente vehicular, información como la posición, la velocidad, la ubicación geográfica, entre otros. Estas técnicas de detección de colisiones vehiculares resulta tener un alto costo por la tecnologı́a que se emplea. Las técnicas de Visión Artificial no son tan aplicadas a la detección de colisión de vehı́culos, aunque la emergente aparición de cámaras de vigilancia de mayor calidad de imagen tiende a proponer el uso de estas técnicas con mayor confiabilidad.. 5.
(15) 3 Aprendizaje Profundo. 3.1. Consideraciones iniciales La clasificación de objetos por visión artificial sigue estando lejos de acercarse a un clasificador humano, porque el cerebro tiene la gran capacidad de generalizar todo lo que percibe y aprende, incluso a partir de experiencias y objetos no vistos con anterioridad, en cambio un modelo de clasificación de objetos entrenado artificialmente puede mostrar resultados diferentes si alguno de los datos a predecir son diferentes a los ya aprendidos en su fase de entrenamiento. Es ası́ que Chollet et al. [Chollet, 2017] se refiere a la generalización extrema como aquella que, hasta el momento, la puede conseguir el cerebro humano debido a la abstracción y razonamiento que posee, también se refiere a la generalización local como aquella que consigue una exitosa clasificación solo a partir de los datos ya aprendidos, este tipo de generalización es el reto de los modelos artificiales. A partir de ahora, la generalización local será referida simplemente con el término ’generalización’. Para conseguir la generalización en la clasificación de objetos se han utilizado diversas técnicas de Aprendizaje de Máquina, entre ellas la red neuronal artificial (RNA) que consiste de un conjunto de operaciones matemáticas representadas como neuronas artificiales interconectadas. Una arquitectura RNA consiste de una capa de entrada, una capa de salida y una capa escondida, si es del tipo multicapa puede tener más de una capa escondida. Las RNA son son alimentadas con vectores de caracterı́sticas de los tipos de objetos que la red debe aprender, estas caracterı́sticas se extraen en un paso anterior al paso del entrenamiento, con técnicas de extracción de caracterı́sticas como HOG (Histogram of Oriented Gradient) [Dalal and Triggs, 2005], LBP (Local Binary Pattern) [Ojala et al., 1996] y Haar (Haar-like features) [Viola and Jones, 2001]..
(16) Los resultados de clasificación de los modelos RNA no eran suficientes para alcanzar abstracciones de alto nivel en las caracterı́sticas del objeto, es ası́ que más adelante cobró auge aquellas redes neuronales multicapa que además de clasificar también extraı́an las caracterı́sticas, es decir estos dos pasos en uno solo, aquellas redes pertenecı́an al tipo de Aprendizaje Profundo, se caracterizaban por poseer muchas capas y gran cantidad de neuronas en cada capa, además de poseer capas convolucionales y de submuestreo para abstraer las caracterı́sticas más relevantes. En la presente sección se estudia algunos modelos de aprendizaje profundo supervisado basados en Redes Neuronales Convolucionales (CNN-Convolutional Neural Network) que alcanzaron resultados satisfactorios en la detección y reconocimiento de objetos a través de imágenes, estos son R-CNN (Region Convolutional Neural Network) [Girshick et al., 2014], Fast RCNN [Girshick, 2015] y Faster R-CNN [Ren et al., 2015], estos tres modelos se diferencian en la técnica de generación de regiones propuestas, cada modelo se implementa con el objetivo de ser más rápido que el anterior. Posteriormente, se estudia el modelo YOLO, que genera las regiones propuestas con un enfoque diferente, para finalizar el capı́tulo se describe la comparación entre las versiones RCNN y YOLO. La descripción de cada modelo se verá en las siguientes secciones.. 3.2. Modelos de Aprendizaje Profundo En el campo de clasificación de imágenes una arquitectura de aprendizaje profundo se caracteriza por lograr abstracciones de alto nivel en las últimas capas a través de transformaciones geométricas de los valores de información de cada imagen. Su profundidad es la longitud existente entre un nodo de entrada y un nodo de salida [Bengio and Delalleau, 2011], y por ser muy profunda requiere gran cantidad de datos de entrenamieto para alcanzar una mejor generalización. Algunos de los trabajos recientes que experimentaron con modelos de aprendizaje profundo para la clasificación de objetos a través de imágenes son [Wang et al., 2014], [He et al., 2015], [Li et al., 2015], [Cai et al., 2015] y [Hu et al., 2017]. La posición del área de Deep Learning en el campo de la Inteligencia Artificial se puede observar en el diagrama de Venn de Goodfellow et al. [Goodfellow et al., 2016] que se muestra en la figura 3.1. 3.2.1. Redes Neuronales Convolucionales - CNN Una CNN se caracteriza por ser una arquitectura jerárquica con capas convolucionales y de submuestreo, estas capas se encargan del proceso de extracción de caracterı́sticas a través de filtros, que son matrices con valores que se deslizan por la imagen que a su vez es una gran matriz, realizando operaciones de suma de productos para obtener los pesos que forman el modelo clasificador. Posteriormente, con las caracterı́sticas extraı́das se alimentan las funciones de activación y luego el error de entranamiento se obtiene con una función de pérdida, esta última función lanzará un valor que determinará el grado de ajuste de los pesos através de la retropropagación (backpropagation) con el método de la Gradiente Descendiente Estocástica. Una CNN es escencialmente entrenada como una Red Neuronal Multicapa, excepto que el procesamiento es de alto nivel, por lo tanto. 7.
(17) Fig. 3.1: Diagrama de [Goodfellow et al., 2016].. Venn. mostrando. algunas. disciplinas. de. la. Inteligencia. Artificial,. exige un alto requirimiento de hardware y mayor cantidad de muestras. La elección de la profundidad en las CNN es crucial para un alto ı́ndice de reconocimiento de imágenes, una arquitectura con insuficiente profundidad puede requerir más elementos computacionales que aquellas arquitecturas cuya profundidad es ajustada a la tarea, [Bengio et al., 2009]. Ası́ también, para tareas de clasificación binaria se suprime la atención en el aumento de capas, concentrándose en hacerla profunda, es decir, en procesar detalle a detalle de manera jerárquica, aprendiendo caracterı́sticas cada vez más complejas. En la figura 3.2 se observa la extracción de caracterı́sticas de bajo nivel hasta alcanzar las caracterı́sticas de alto nivel se observa que en la primera capa se extraen caracterı́sticas de bordes, en la segunda capa se descompone los bordes en esquinas, la siguiente capa aprende texturas, y de esta manera la red aprende caracterı́sticas más abstractas que ayuden a lograr una adecuada generalización.. Fig. 3.2: DDescomposición jerárquica de una imagen a través de una arquitectura de aprendizaje profundo, [Lee et al., 2011].. 8.
(18) 3.2.2. R-CNN El modelo de aprendizaje profundo denominado R-CNN (Region Convolutional Neural Network) tiene por objetivo no solo clasificar una imagen por su clase respectiva sino también detectar el objeto en la imagen, solo procesa regiones que son probables de contener la región de interés, en vez de analizar todas las posibles regiones, esto lo logra con la técnica SelectiveSearch, [Uijlings et al., 2013]. Este detector está dividido en 4 etapas: la primera etapa es la imagen de entrada al sistema, la segunda etapa consiste en la generación de las regiones de interés propuestas, la tercera etapa se conforma de una red neuronal convolucional que extrae las caracterı́sticas de longitud fija para cada región, y en la última etapa se realiza la clasificación con SVM lineal. En la figura 3.3 se observa la arquitectura de una R-CNN.. Fig. 3.3: Arquitectura de una red R-CNN, [Girshick et al., 2014].. Una red R-CNN es básicamente una combinación de CNN con un SVM lineal, sin embargo, su rendimiento está limitado tanto por el hecho de necesitar la ubicación del objeto en la imagen, como por la gran cantidad de candidatos que genera debido a que Selective Search propone 2000 regiones por cada imagen, generando ası́ N imágenes * 2000 vectores de caracterı́sticas con la CNN. Las etapas del detector R-CNN se ejecutan por separado sin cálculo compartido. Más adelante He et al. [He et al., 2014] propuso el método Spatial Pyramid Pooling Network (SPPnet), para reducir el tiempo y compartir este cálculo. Las R-CNNs son la base de la mayorı́a de algoritmos empleados en tareas de detección, y los constantes estudios que buscan mejorar su desempeño suelen hacerlo centrándose en acelerar los procesos de entrenamiento y prueba o en mejorar la precisión de la red.. 3.2.3. Fast R-CNN En un primer paso, este detector toma una imagen de entrada, I, luego ocurren dos procesos que pueden ser realizados de forma independiente: la extracción de caracterı́sticas de la imagen completa y la generación de regiones propuestas. Seguidamente se realiza una proyección de las regiones sobre el mapa de caracterı́sticas y por cada uno de ellos se realiza la clasificación y la regresión de bounding-box. El procedimiento demuestra el cálculo compartido, el cual hará más veloz el aprendizaje en un Fast R-CNN. En la figura 3.4 se observa la arquitectura de Fast R-CNN. En el proceso de aprendizaje de Fast R-CNN se realiza cálculo compartido, en la generación de regiones propuestas y en la extracción de caracterı́sticas, pero la arquitectura para la generación de regiones es otro modelo que consecuentemente resulta costoso.. 9.
(19) Fig. 3.4: Arquitectura de Fast R-CNN, [Girshick, 2015].. 3.2.4. Faster R-CNN Finalmente, en la figura 3.5 se tiene el esquema de Faster R-CNN. Este funciona con la misma lógica que Fast R-CNN, con la diferencia de que en lugar de utilizar un método externo de generación de regiones propuestas, estos se generan a partir de las caracterı́sticas extraı́das de las capas convolucionales de la red utilizada.. Fig. 3.5: Arquitectura de Faster R-CNN, [Ren et al., 2015].. 3.2.5. YOLO En la arquitectura YOLO (You Only Look Once) fue propuesta por [Redmon et al., 2016], y mejorada en [Redmon and Farhadi, 2016] y recientemente la última versión se presentó en [Redmon and Farhadi, 2018]. El procedimiento de YOLO comienza tomando una imagen como entrada esta pasa a través de una red neuronal convolucional, y se obtiene un vector de recuadros delimitadores y predicciones de clase en la salida. La imagen de entrada es dividida como un grilla de SxS celdas, cada celda S es responsable de obtener la predicción de un bounding box y las probabilidades de clase (C), cada bounding box tiene 5 componentes: x, y (son el centro), w, h (son las dimensiones) y la tasa de confianza (confidence score), de esta forma se obtiene un vector de longitud S x S x (B ∗ 5 + C), donde C es la predicción de clase. Finalmente, por cada objeto detectado se predicen múltiples bounding box, esto es resuelto con non-maximum suppression. En la figura 3.7 se puede ver el flujo de trabajo entero de YOLO. Con el modelo YOLO se reformula la detección de objetos como un problema de regresión en cada celda de la grilla, y la imagen pasa una sola vez por la CNN a diferencia de los modelos de la familia R-CNN ( Region CNN, Fast R-CNN, Faster R-CNN) que aprenden a resolver un problema de clasificación por cada región propuesta, lo que genera que sean más lentos que YOLO. La desventaja de YOLO es que no obtiene buenas detecciones con objetos de forma irregular ni 10.
(20) S x S x B bounding boxes tasa de confianza = Pr(objeto) x IoU(pred,truth). Imagen de entrada con. detecciones finales. grilla de S x S celdas. Pr(Clase_i | objeto ) Mapa de probabilidad de clase. Fig. 3.6: El modelo YOLO, [Redmon et al., 2016].. con grupos de objetos pequeños.. 3.2.6. Comparación de YOLO con las versiones de R-CNN YOLO comparte similaridades con R-CNN, en ambos se crean celdas y por cada celda se obtienen bounding boxes y puntuaciones que se obtienen de las caracterı́sticas convolucionaes, RCNN utiliza la técnica Selective Search que propone 2000 bounding boxes por imagen, a diferencia de YOLO que solo propone 98, esto genera 40 segundos de tiempo por cada imagen de prueba, según [Girshick, 2015]. Los modelos Fast R-CNN y Faster R-CNN fueron creados para mejorar la velocidad del primer R-CNN, compartiendo los pesos de la red neuronal y usando una segunda red para la predicción de la localización. Aún ası́ todavı́a pierde rendimiento en sistemas de tiempo real, asegura [Redmon et al., 2016]. En la figura 3.7 se puede ver el rendimiento de YOLO a diferencia de otros modelos, demostrando que consigue una mejor velocidad, siendo 22ms de procesamiento por cada imagen de 320x320 pixeles, y en cuanto a precision se mantiene al ritmo con RetinaNet. La mejor precisión se consigue con el modelo FPN FRCN pero su tiempo de procesamiento es casi 8 veces más lento de YOLO.. 11.
(21) Fig. 3.7: Comparación del rendimiento de YOLO con otras redes, midiendo tiempo vs mAP50, [Redmon and Farhadi, 2018]. En cuanto al rendimiento de YOLO comparado con las versiones de R-CNN se puede apreciar en la tabla 3.1 que es mucho más eficiente en velocidad que Fast R-CNN y Faster R-CNN, por eso YOLO se encuentra en la sección de Detectores de Tiempo Real, pero la combinación Fast YOLO obtiene 155fps comparado con 45fps de YOLO, su velocidad es más alta pero la precisión decae a 52.7 mAP que es superado por la precisión de YOLO con 63.4mAP .. Tab. 3.1: Rendimiento en tiempo real de algunos modelos, con el conjunto de datos VOC 2007 y 2012. Información extrı́da de la tabla 1 de [Redmon et al., 2016].. Detector en tiempo real Fast YOLO YOLO Menor a tiempo real RCNN Minus R Fast R-CNN Faster R-CNN VGG-16 Faster R-CNN ZF. VOC 2007 2012 2007 2012. mAP 52.7 63.4. FPS 150 45. 2007 2007 2012 2007 2012 2007 2012. 53.5 70.0 73.2 62.1. 6 0.5 7 18. En general, YOLO puede procesar cada imagen entre 25ms y 50ms y alcanza entre 20fps y 45fps, aproximadamente, esta comparación con otros modelos se puede observar en los diagramas de la figura 3.8, extraı́da de [Redmon and Farhadi, 2018].. 12.
(22) Fig. 3.8: Comparación de la velocidad de YOLO con otros modelos, [Redmon and Farhadi, 2018]. 3.3. Consideraciones finales Actualmente las arquitecturas de aprendizaje profundo están superando las expectativas para tareas de detección de objetos por Visión Artificial. Las redes neuronales convolucionales han evolucionado hasta lograr no solo clasificar una imagen sino también proveer de las coordenadas de los objetos de la imagen para mostrar su localización. En combinación con técnicas de detección de movimiento, como el flujo óptico, es posible detectar un objeto o una acción en secuencias de video.. 13.
(23) 4 Flujo óptico. 4.1. Consideraciones Iniciales El movimiento se puede describir como aquella propiedad de los objetos que se percibe por el cambio de velocidad y dirección en un intervalo de tiempo. En visión artificial el movimiento de objetos a través de una secuencia de imágenes se expresa por el cambio de intensidad de los pixeles que se hallan con el vector de la gradiente a partir de la magnitud y la dirección que posee cada pixel, a partir de esta estrategia aplicada en imágenes se puede detectar el movimiento. Existen muchas técnicas que usan esta estrategia, entre ellas el Flujo Óptico con algoritmos Horn-Schunck y Lucas-Kanade. Según [Kondermann et al., 2012] el flujo óptico es el patrón del movimiento aparente de los objetos, superficies y bordes en una escena causado por el movimiento relativo entre un observador y la escena. En el trabajo de [Horn and Schunck, 1981] el flujo óptico es una técnica que determina la distribución de velocidades aparentes del movimiento de los patrones de brillo en una imagen. Entonces, podemos decir que el flujo óptico es el patrón de movimiento que existe entre una imagen y otra, viene a ser representada por un conjunto de vectores por cada pixel con dirección y magnitud, estos vectores pueden llegar a representar el movimiento de los objetos de una escena. Con el flujo óptico se estima las velocidades instantáneas asumiendo que la variación de la intensidad entre las imágenes es pequeña. Existen muchas aplicaciones, como la detección de movimiento, segmentación de objetos, reconocimiento de acciones, detección de acciones violentas, etc.. 4.2. Flujo Óptico Según [Kondermann et al., 2012] el flujo óptico se define como el aparente movimiento de objetos en una secuencia de imágenes debido a cambios en la intensidad de los pixeles. Sin embargo, dicha intensidad puede variar por causa de variables que no son el movimiento de objetos, sino, por.
(24) ejemplo, cambio en la iluminación, reflexiones difusas o reflexiones en superficies no lambertianas. En principio, se supone que estas variables son constantes. Un punto de la imagen conserva su intensidad al moverse, ası́ que se considera que los cambios de intensidad en la imagen se deben al movimiento de objetos en la escena, entonces se considera el flujo óptico como el análisis de la velocidad de ese punto. El flujo óptico calcula la componente de velocidad en la dirección del gradiente espacial de brillo, no en la dirección perpendicular. Para hallar la segunda componente deben hacerse suposiciones adicionales, como las consideradas en el método de Lucas-Kanade [Lucas et al., 1981]: sea I(x, y, t) la intensidad del punto (x, y) de la imagen en el instante t; sean u(x, y) y v(x, y) las componentes de velocidad en los ejes X y Y de la imagen en ese punto. En t+dt, este punto estará en (x+udt, y+vdt), conservando su intensidad según 4.1. E(x, y, t) = E(x + u × dt, y + v × dt). (4.1). Considerando una variación leve de la intensidad, se puede desarrollar el lado izquierdo de la ecuación 4.1 en serie de Taylor; además, si se considera u = dx/dt, v = dy/dt, Ix = dl/dx, ly = dl/dy e It = dl/dt, se obtiene: Ex × u + Ey × v + Et = 0. (4.2). Con la ecuación 4.2 solo se obtiene información sobre la componente de la velocidad en la dirección del gradiente de intensidad, esto es, perpendicularmente a los contornos. No se podrá determinar la componente del flujo óptico en la dirección del contorno, inconveniente denominado problema de la apertura [Carelli et al., 1999]. Este problema surge de la imposibilidad de asignar un valor unı́voco al desplazamiento de un punto, debido a que la región analizada es demasiado pequeña. En la solución del problema se recurre a la aplicación de criterios de vecindad, con ello se pretende evitar ambigüedades mediante la observación del campo de velocidades presente en regiones próximas. Existen varios métodos para encontrar el campo de velocidades, entre los que destacan están los algoritmos de HornSchunck [Horn and Schunck, 1981] y de Lucas-Kanade [Lucas et al., 1981]. El método implementado por Horn y Schunck toma dos restricciones: el cambio de brillo entre dos cuadros consecutivos del video es cero o aproximadamente cero (se asume constancia de brillo), y, la minimización de las primeras derivadas del flujo (restricción de suavidad). En el algoritmo de Lucas y Kanade se toma la misma restricción de brillo de Horn-Schunk, pero en la segunda restricción, se asume un vector de velocidades constante dentro de un vecindario de dimensiones pequeñas (restricción de gradiente).. 4.2.1. Clasificación Los métodos de flujo óptico más representativos se pueden clasificar según [Riascos and Cardona, 2015] como diferenciales y variacionales: Métodos diferenciales: Se calcula el desplazamiento de los pı́xeles a partir de las derivadas 15.
(25) espaciales o espacio-temporales de las intensidades de la imagen, estas derivadas deben ser calculadas en el dominio de la imagen. En los métodos diferenciales se presentan las siguientes subcategorı́as [Barron et al., 1994]: • Métodos Locales: Los pixeles vecinos son los que proporcionan la información para estimar el movimiento, el algoritmo de Lucas-Kanade [Lucas et al., 1981] es el más representativo de esta subcategorı́a. • Métodos Globales: Un término de regularización es añadido sobre el flujo, siendo esto una restricción de suavidad en las velocidades, suponiendo que el campo de desplazamiento es suave. Con este tipo de métodos se obtienen campos de desplazamientos densos, siendo el más representativo el de Horn-Schunck [Horn and Schunck, 1981]. • Métodos de contorno: Se utiliza la información de los bordes de los objetos para detectar el desplazamiento. Una técnica previa es el suavizado del contorno para permitir una mejor estimación del flujo óptico, esto fue aplicado por Hildretch et al. [Hildreth, 1984]. Métodos variacionales: La idea que subyace a este tipo de métodos es la definición de una energı́a que penaliza las desviaciones respecto a las restricciones impuestas en el modelo. La solución se obtiene minimizando esta energı́a, que si cumple una serie de condiciones entonces se alcanzarı́a el mı́nimo global [Riascos and Cardona, 2015].. 4.2.2. Flujo óptico con Horn-Schunck En el trabajo de Horn et al. [Horn and Schunck, 1981] se define el flujo óptico como: La distribución de velocidades aparentes del movimiento de los patrones de brillo en una imagen. Después de aplicar el algoritmo de Horn-Schunck se obtiene vectores de velocidad correspondientes a cada pixel de la imagen, ver figura 4.1. Se propone una restricción de suavidad y una restricción de brillo para dar solución a la ecuación 4.2. Se basa en que un objeto con movimiento rı́gido o deformación produce una imagen donde los pixeles vecinos tendrı́an velocidades casi similares. En los siguientes apartados se describirá el algoritmo, este fue extraı́do del trabajo de [Horn and Schunck, 1981]. La restricción de la constancia de brillo De la ecuación 4.2 se describe la condición de constancia de brillo en el flujo óptico, donde Ex y Ey son las derivadas parciales de la condición de brillo de la imagen con respecto a la posición y Et la derivada parcial con respecto al tiempo. Para el cálculo de las derivadas parciales espaciales ası́ como para la derivada temporal se utiliza el método de diferencias finitas, método que consiste en aproximar la derivada considerando el peso de un conjunto discreto de mediciones de brillo disponibles alrededor del pixel E(x, y, t).. 16.
(26) Fig. 4.1: Ejemplo de los vectores de velocidad en una imagen. Fuente: Optical Flow Analysis and Kalman Filter Tracking in Video Surveillance Algorithms [Semko, 2007]. 1 Ex ≈ {Ei,j+1,k −Ei,j,k +Ei+1,j,k −Ei+1,j,k +Ei,j+1,k+1 −Ei,j,k+1 +Ei+1,j+1,k+1 −Ei+1,j,k+1 } (4.3) 4. 1 Ey ≈ {Ei+1,j,k −Ei,j,k +Ei+1,j+1,k −Ei,j+1,k +Ei+1,j,k+1 −Ei,j,k+1 +Ei+1,j+1,k+1 −Ei,j+1,k+1 } (4.4) 4. 1 Et ≈ {Ei,j,k+1 −Ei,j,k +Ei+1,j,k+1 −Ei+1,j,k +Ei,j+1,k+1 −Ei,j+1,k +Ei+1,j+1,k+1 −Ei+1,j+1,k } (4.5) 4 Con las aproximaciones obtenidas en las ecuaciones 4.3, 4.4 y 4.5 y al poner una de las velocidades en función de otra de la ecuación 4.2 se encuentra la solución para la determinación del flujo óptico, que se expresa en la ecuación de de una recta como se muestra en la figura 4.2. La ecuación 4.2 se puede escribir de la siguiente manera, (Ex , Ey ) · (u, v) = −Et. (4.6). Entonces el componente del movimiento en la dirección de la gradiente del brillo (Ex , Ey ) es igual a: Et −q Ex2 + Ey2. 17. (4.7).
(27) Fig. 4.2: Tasa de cambio del brillo de la imagen en la ecuación de restricción de la velocidad de flujo óptico. La velocidad (u, v) tiende a estar a lo largo de una lı́nea perpendicular al vector gradiente del brillo (Ex , Ey ). La distancia de esta lı́nea desde el origen es igual a Et dividido entre la magnitud de (Ex , Ey ). La restricción de suavizado La segunda restricción de Horn-Schunck es la de suavizado, que permite calcular localmente la velocidad de flujo (u, v), ya que los pixeles que conforman los objetos de tamaño finito en la imagen (patrones de brillo) tienden a someterse a movimientos rı́gidos como un todo, por lo que casi nunca se encuentran pixeles con movimientos independientes de sus vecinos cercanos. Debido a esto los patrones de brillo varı́an suavemente en casi toda la imagen. Esta restricción se expresa minimizando el cuadrado de la magnitud de la gradiente de velocidad de flujo óptico. . ∂u ∂x. 2. +. ∂u ∂y. 2 2 2 ∂v ∂v ; + ∂x ∂y. (4.8). Otra manera es minimizando los Laplacianos en los ejes x y y de la velocidad. Se consideran promedios locales de las velocidades (ū, v̄) ası́ como un factor proporcional k. ∇2 u =. ∂u2 ∂u2 2 ∂2 ∂2 + 2 ; ∇ v = v2 + v2 2 ∂x ∂y ∂x ∂y. (4.9). El incoveniente con las restricción de suavizado es que cuando un objeto cubre a otro se produce una discontinuidad en el flujo [Horn and Schunck, 1981].. 4.2.3. Flujo óptico con Lucas-Kanade El algoritmo de flujo óptico de Lucas-Kanade presentado en el trabajo [Lucas et al., 1981], es una técnica simple que provee una estimación del movimiento de caracterı́sticas importantes en las imágenes de una escena. En este sentido asociaremos el vector de movimiento como (u, v) para cada punto de interés de los pixeles de la escena, obtenido por comparación de dos imágenes consecutivas [Rojas, 2010]. Este método se basa en la información local del pixel utilizando un ajuste de mı́nimos cuadrados 18.
(28) en una pequeña ventana de la imagen para el análisis de la traslación del objeto en cuestión. La idea del método cae en tres supuestos: la primera es que la intensidad del pixel no cambia solo se mueve de una imagen a otra, la segunda es que el movimiento cambia lentamente en el tiempo y el tercero es la coherencia espacial, esto significa que los puntos vecinos tienen movimiento similiar a lo largo de la misma superficie. Algoritmo Asumiendo que miramos una escena a través de un agujero en forma de cuadrado (máscara). La intensidad a visible a través de este agujero es variable, ver figura 4.3.. Fig. 4.3: Vista de la intensidad de brillo de un pixel a través de una máscara cuadrada. En la siguiente imagen la intensidad de la imagen cambiará a b. Entonces serı́a posible asumir que hubo un desplazamiento del objeto hacia la izquierda y hacia arriba de manera tal que intensidad visible b esta ahora visible en la máscara, ver figura 4.4.. Fig. 4.4: Cambio de la intensidad de a a b de un pixel visto desde una máscara. Esto es producido por el movimiento de un objeto de la imagen. Si se sabe que el incremento del brillo en el pixel (x, y) es Ix (x, y) en la dirección x y el incremento en la dirección y es Iy (x, y). Entonces el incremento total del brillo después de un movimiento por u pixeles en la dirección x y v pixeles en la dirección y es: Ix (x, y) · u + Iy (x, y) · v. 19. (4.10).
(29) Esto iguala la diferencia local de intensidad (b - a) la cual llamaremos It (x, y), entonces: Ix (x, y) · u + Iy (x, y) · v = −It (x, y). (4.11). El signo negativo es necesario porque para valores positivos de Ix , Iy y It tenemos un movimiento hacia la izquierda y abajo. Sin embargo, al trabajar con el método de Lucas y Kanade, se corre también el riesgo de que si se usan ventanas pequeñas y el desplazamiento de los objetos es grande, la correspondencia del pixel podrı́a quedar fuera de la ventana. Para evitar este problema, el algoritmo se implementa de manera piramidal, donde se empieza a buscar del más alto nivel de la pirámide de la imagen (menos detallada) hasta los niveles más bajos (detalles más finos). El funcionamiento del algoritmo piramidal, representado en la figura 4.5, estima primero el flujo óptico sobre el nivel 0, entre las imágenes I y J, encontrando el desplazamiento d0 de un punto especı́fico sobre una imagen de baja resolución y una ventana pequeña. Luego ubica en la imagen I del nivel 1, el punto encontrado anteriormente, y estima de nuevo el flujo óptico entre I y J para el nivel 1 encontrado el desplazamiento d1 sobre la misma ventana, [Mariño et al., 2010].. Fig. 4.5: Representación piramidal del algoritmo Lucas-Kanade, [Mariño et al., 2010].. 4.2.4. Descriptor ViF ViF (Violent in Flow) es un algoritmo que representa el cambio en movimiento de los objetos en una escena de video. Fue utilizado por primera vez para detectar violencia en multitudes en el trabajo de Hassner et al. [Hassner et al., 2012], con el algoritmo de flujo óptico llamado Iterative Reweighted Least Squares (IRLS) propuesto por Liu et al. [Liu, 2009]. Desde su publicación ha sido referenciado varias veces comparándolo con otras técnicas. Aunque otros métodos logran mejorar levemente el acierto de ViF, ninguna llega a superarlo en tiempo de procesamiento. Cabe destacar también que ViF es muy utilizado en los métodos multimodales para la detección de contenido violento en pelı́culas. El descriptor ViF ha sido utilizado con otras técnicas de flujo óptico, además de IRLS, con LucasKanade y Horn-Schunck, en diversos conjuntos de datos, entre estos videos de hockey, de multitudes, de violencia extraı́das de cámaras de vigilancia y otras extraı́das de pelı́culas. Los resultados del 20.
(30) rendimiento de cada combinación con ViF fue realizado en el trabajo de [Machaca, 2016], donde se obtuvo una tabla con las medidas obtenidas, ver tabla 4.1. Hockey Acierto ± DS 0.7040 ± 0.0440 0.7500 ± 0.0554 0.6110 ± 0.0610 Multitudes Algorithm Acierto ± DS IRLS 0.7311 ± 0.0627 Horn-Schunck 0.7281 ± 0.0852 Lucas-Kanade 0.7032 ± 0.0670 SVV Algorithm Acierto ± DS IRLS 0.7500 ± 0.0624 Horn-Schunck 0.6600 ± 0.1174 Lucas-Kanade 0.5450 ± 0.1383 Pelı́culas Algorithm Acierto ± DS IRLS 0.9900 ± 0.0211 Horn-Schunck 0.9600 ± 0.0658 Lucas-Kanade 0.9600 ± 0.0394 Algoritmo IRLS Horn-Schunck Lucas-Kanade. AUC 0.7600 0.8200 0.6900 AUC 0.8429 0.8814 0.8333 AUC 0.8500 0.8500 0.7000 AUC 1.0000 1.0000 1.0000. Tab. 4.1: Desempeño de VIF con diferentes algoritmos de flujo óptico. El acierto y la Desviación Estándar (DS) del clasificador fueron evaluados con validación cruzada (k=10). También el Area Under the Curve (AUC) del mejor modelo fue incluido.. En la tabla 4.1 se puede observar que el algoritmo de flujo óptico Horn-Schunck junto con el descriptor ViF se obtiene el mejor porcentaje en cada conjunto de videos. Ası́ también, se mide el tiempo de procesamiento de cada algoritmo de flujo óptico, trabajo realizado por [Machaca, 2016]. En la tabla 4.2 se muestra cuanto le tomarı́a a ViF con diferentes algoritmos de flujo óptico procesar un video de dos segundos. Como se puede ver para el caso de IRLS (algoritmo original de ViF) y Lucas-Kanade, los tiempos de procesamiento son menores al tiempo que toma Horn-Schunck que es de 2.1563 segundos, esta gran ventaja permite usar ViF en tiempo real.. ViF con IRLS ViF con Horn-Schunck ViF con Lucas-Kanade. Duración del video (seg.) 2 2 2. Tiempo de procesamiento (seg.) 9.3594 2.1563 14.6250. Tab. 4.2: Comparación del tiempo de procesamiento de un video utilizando ViF con diferentes algoritmos de flujo óptico.. 21.
(31) 4.3.. Consideraciones finales. Los métodos Horn-Schunck y Lucas-Kanade imponen restricciones a la ecuación de flujo óptico para reducir la incertidumbre que refleja la ecuación, de esta forma garantiza la unicidad. Ambos métodos usan la restricción de la constancia de brillo, pero como segunda restricción Horn-Schunk utiliza la restricción de suavizado y Lucas-Kanade la restricción de la gradiente. Otra caracterı́stica que los diferencia es el manejo de la ventan que se desliza por la imagen, en Lucas-Kanade se realiza de forma piramidal.. 22.
(32) 5 Propuesta del trabajo. 5.1. Consideraciones Iniciales A partir de trabajos anteriores y sus propuestas, revisados en el capı́tulo 2, que realizaron procesamiento de imágenes para detectar choques vehiculares es que se hizo una comparación a partir de los ı́ndices de precisión, considerando que el conjunto de datos también se obtuvo de una cámara de vigilancia. Se puede observar que las propuestas consisten en etapas, principalmente de una etapa de detección de vehı́culos seguida por una etapa de detección de choques. La precisión obtenida en la literatura es entre 80 % y 90 % y el tiempo de ejecución alcanza un promedio 10 ms por fotograma. Es ası́ que se propone un modelo con técnicas recientes de detección en tiempo real, utilizando videos de baja resolución grabados con cámaras de vigilancia.. 5.2. Modelo propuesto Se propone un modelo de tres etapas, en la primera etapa se detecta los automóviles involucrados en la escena, utilizando el detector de objetos con aprendizaje profundo basado en la arquitectura YOLO. En la segunda etapa, se hace un seguimiento de cada automóvil para guardar su posición durante un perı́odo de tiempo. Estas dos primeras etapas generan como resultado videos cortos por cada carro. Finalmente, en la última etapa, se toma los videos cortos para extraer un vector de caracterı́sticas por cada uno con el algoritmo ViF, seguidamente un clasificador SVM es entrenado con los vectores de caracterı́sticas, de esta forma se obtiene un modelo entrenado para detectar choques automovilı́sticos durante la transmisión de la cámara de vigilancia. La figura 5.1 ilustra el modelo propuesto de tres etapas..
(33) Car Detection. Technique: YOLO Detector. Car Tracking Pre- proccessing. .... Technique: Correlation Filters. Car Crash Detection ViF. Histogram Segmented scene. Classi cation Normal Car crash SVM. Histogram. Technique: Vif Descriptor + SVM Classi er. Fig. 5.1: El modelo propuesto [Zhou et al., 2016], [Chen et al., 2015].. con. un. estructura. simplificada. de. cada. etapa,. 5.3. Detección de automóviles Para la detección de automóviles se utiliza la red YOLO, que a diferencia de otras redes convolucionales la red YOLO detecta objetos con una sola pasada creando una cuadrı́cula de tamaño SxS, donde cada celda tiene una regresión logı́stica y un método de clasificación, el método de regresión predice cada celda con cinco valores: x, y, w, h y la tasa de confidencia del objeto que la celda contiene. El clasificador predice C probabilidades condicionales de clase. En la etapa final, aparecen varias celdas delimitadoras alrededor de un solo objeto, por lo que se aplica non-maximum supression para mantener la detección más fuerte alrededor de un solo objeto. YOLO fue escogida para este proyecto de tiempo real debido a que su procesamiento consigue más fotogramas por segundo a diferencia de Faster R-CNN, que es la versión más reciente de la familia de modelos R-CNN, como se puede ver en la tabla 3.1 del capı́tulo 3, donde también se puede observar que YOLO puede conseguir 45fps, velocidad que es suficiente para procesar los videos del conjunto de datos del presente proyecto de investigación que se transmiten a 30fps. La arquitectura YOLO que se está utilizando se muestra en la tabla 5.1, obtenida de la biblioteca 24.
(34) de Darknet [Redmon, 2016]. El resultado en este paso son los bounding box para cada automóvil, como se muestra en la figura 5.2. Tab. 5.1: Arquitectura de YOLO, [Redmon, 2016].. Inicialización de pesos. kernel. stride. Input. output shape (416, 416, 3). Convolution. 3x3. 1. (416, 416, 16). MaxPooling. 2x2. 2. (208, 208, 16). Convolution. 3x3. 1. (208, 208, 32). MaxPooling. 2x2. 2. (104, 104, 32). Convolution. 3x3. 1. (104, 104, 64). MaxPooling. 2x2. 2. (52, 52, 64). Convolution. 3x3. 1. (52, 52, 128). MaxPooling. 2x2. 2. (26, 26, 128). Convolution. 3x3. 1. (26, 26, 256). MaxPooling. 2x2. 2. (13, 13, 256). Convolution. 3x3. 1. (13, 13, 512). MaxPooling. 2x2. 1. (13, 13, 512). Convolution. 3x3. 1. (13, 13, 1024). Convolution. 3x3. 1. (13, 13, 1024). Convolution. 1x1. 1. (13, 13, 125). Fig. 5.2: Detección de vehı́culos con YOLO. 5.4. Seguimiento de automóviles Aplicamos un algoritmo de seguimiento de automóviles cada 30 fotogramas, generando una entidad de seguimiento por cada vehı́culo y almacenando la posición. Luego extraemos videos pequeños 2 segundos, uno por cada vehı́culo en seguimiento. A la derecha de la figura 5.3 mostramos un ejemplo, de donde se extraen tres videos pequeños, ya que se detectaron tres vehı́culos en la etapa de detección.. 25.
(35) Fig. 5.3: Extracción de video por cada seguimiento de vehı́culo. El lado izquierdo muestra un video de vigilancia, y el lado derecho muestra tres videos pequeños, cada uno generado por un vehı́culo. Cada video pequeño tiene diferentes tamaños, pero de 30 fotogramas cada uno.. El método de seguimiento de vehı́culos utilizado en el modelo propuesto de esta tesis se basa en filtros de correlación, propuesto por Danelljan et al. [Danelljan et al., 2014]. El algoritmo consiste en la estimación de desplazamiento y escala del objeto a través de una serie de correlaciones sobre el dominio de Fourier, donde cada filtro de correlación se envı́a a un proceso de aprendizaje online. Otros trabajos ya eran parte del uso de operaciones de correlación para el seguimiento de objetos, tales como [Henriques et al., 2012] y [Bolme et al., 2010]. La correlación involucra dos señales imágenes, una de referencia (objetivo) y una de prueba (escena). La imagen de referencia es correlacionada con una imagen de prueba para detectar y localizar algún patrón en especı́fico de la imagen de referencia. Esto es, la imagen de referencia se coloca en la parte superior izquierda de la escena analizada y se lleva a cabo la multiplicación de pixeles entre las dos matrices, todos los valores se suman para producir un valor de salida de correlación. El proceso se repite desplazando la imagen objetivo a la derecha y hacia abajo, produciendo de este modo una matriz de dos dimensiones como salida, llamada plano de correlación. Por lo tanto, la correlación se puede considerar como un sistema con una entrada (la escena), una plantilla o filtro (derivado de la imagen de referencia), y una salida (el plano de correlación) [Kumar et al., 2005]. El procedimiento para el uso de filtros de correlación a partir de la localización del objeto visual, según Chen et al. [Chen et al., 2015], se puede resumir de la siguiente forma. Durante la secuencia de video en cada fotograma la región cuya posición fue predecida en el fotograma anterior es extraı́da para detección. Luego las caracterı́sticas HOG son extraı́das a nivel de intensidad de cada pixel de la región de imagen, y si el resultado expresa ruido en la información entonces se aplica una técnica de suavizamiento de la región tal como una ventana coseno, [Bolme et al., 2010]. Seguidamente, una serie de operaciones de correlación son realizadas a partir de convoluciones que se realizan con multiplicaciones término a término(element-wise) usando la Transformada de Fourier Discreta(DFT - Discrete Fourier Transform) calculada con un eficiente algoritmo de Transformada de Fourier Rápida(FFT-Fast Fourier Transform), el mapa de respuesta o de confidencia puede ser obtenido con la inversa de FFT (IFFT).. 26.
(36) En el mapa se ubica la posición con el máximo valor el cual será la nueva posición del objetivo. Luego, de la región de la posición estimada se extrae nuevamente las caracterı́sticas, para el entrenamiento y actualización del filtro dando lugar al aprendizaje online y nuevamente se aplica el IFFT para obtener el mapa de respuesta continuando ası́ con la predicción en cada fotograma, este procedimiento se observa en la figura 5.4. Salida esperada. Filtro de Correlación (FFT). FFT. Región de entrada. Entrena y actualiza. Mapa de respuesta. Extrae características FFT. FFT. Extrae características. Predicción. IFFT. Fig. 5.4: Algoritmo de seguimiento con filtros de correlación, [Chen et al., 2015].. La descripción matemática básica del procedimiento se da a partir del Teorema de Convolución donde la multiplicación término a término se realiza en el dominio de frecuencia como se puede ver en la ecuación 5.1, donde el operador ⊗ es la correlación esperada entre la región de entrada x y el filtro h, la operación IFFT es expresado como F −1 de la multiplicación término a término, con el operador. 0. , de x̂ y ĥ∗ calculadas con la Transformada de Fourier. x ⊗ h = F −1 (x̂. ĥ∗ ). (5.1) 0. La salida esperada de x ⊗ h se expresa con la variable y 5.2, y la nueva instancia de x como x , y = F −1 (x̂. 0. ĥ∗ ). (5.2). finalmente el filtro de correlación se representa por una división término a término 5.3, a partir de este paso se realiza el entrenamiento y actualización. ĥ∗ =. ŷ x̂0. (5.3). Realizar el seguimiento de objetos visuales requiere afrontar muchos aspectos, los más influyentes son la oclusión del objeto, los cambios en niveles de iluminación, la variación de escala del objeto durante su aparición en la escena. Durante la revisión de la literatura se observa que el algorimo Camshift ha permanecido durante años como la técnica más robusta para seguimiento de objetos, pero con la demanda de sistemas de tiempo real se hizo necesario lidiar con factores externos, para 27.
(37) superarlo se dió lugar a otras técnicas como los filtros de correlación.. 5.5. Detección de choques de automóviles Para la detección de colisiones entre vehı́culos se propone utilizar el descriptor de ViF debido a su bajo costo y a la precisión aceptable. El descriptor de ViF se refiere a las estadı́sticas de cambios de magnitud de los vectores de flujo a lo largo del tiempo, como vemos en la figura 5.5. Para obtener estos vectores Hassner et al. [Hassner et al., 2012] usó el algoritmo de flujo óptico propuesto por Liu et al. [Liu, 2009] llamado Iterative Reweighted Least Squares (IRLS), pero en este contexto, usamos el descriptor ViF con Horn-Schunck [Horn and Schunck, 1981] como algoritmo de flujo óptico propuesto por Arceda et al. [Arceda et al., 2016].. Fig. 5.5: Descriptor ViF en video. El descriptor ViF se presenta en el algoritmo 5.1, aquı́ obtenemos un cambio de magnitud binaria, un mapa de significancia bt para cada fotograma ft . Luego obtenemos un mapa de cambio de magnitud promedio, para cada pı́xel, sobre todos los fotogramas con la ecuación 5.4. bx,y = (1/T ). X. bx,y,t. (5.4). t. Entonces, el descriptor de ViF es un vector de frecuencias de valores cuantificados bx,y . Para más detalles, puedes ver el trabajo de Hassner et al. [Hassner et al., 2012]. Luego, el detector de colisiones entre vehı́culos se entrena usando un clasificador SVM con un kernel polinomial, tomando como entrada el resultado del descriptor de ViF. En los experimentos se usa la técnica cross-validation con k = 10. El método completo para detectar colisiones vehiculares en video se muestra en la figura 5.6.. 28.
(38) Algorithm 5.1: ViF descriptor Data: S = Sequence of gray scale images. Each image in S is denoted as fx,y,t , where x = 1, 2, ..., N , y = 1, 2, ..., M and t = 1, 2, ..., T . Result: Histogram(bx,y ; n bins = 336) [1] for t = 1 to T do Get optical flow q (ux,y,t , vx,y,t ) of each pixel px,y,t where t is the frame index. Get magnitude 2 vector: mx,y,t = u2x,y,t + vx,y,t For each pixel we get: 1 if |mx,y,t − mx,y,t−1 | >= θ bx,y,t = where θ is a threshold adaptively set in each frame 0 other case to the average value of |mx,y,t − mx,y,t−1 |.. Fig. 5.6: El método de detección de colisiones de vehı́culos con el descriptor ViF.. 5.6. Consideraciones finales Se ha dado a conocer el modelo propuesto que consiste en una técnica de aprendizaje profundo (deep learning), de flujo óptico y algoritmos adicionales de procesamiento de video. En el siguiente capı́tulo se da a conocer los experimentos realizados y los resultados obtenidos para la detección de colisión vehicular en videos obtenidos de cámaras de vigilancia.. 29.
(39) 6 Experimentos. 6.1. Consideraciones iniciales A continuación se presenta los detalles del conjunto de datos utilizado para los experimentos, más adelante se exponen el análisis de los resultados y su comparación con los trabajos relacionados que hicieron uso de un conjunto de datos extraı́dos de una cámara de vigilancia. La eficiencia del modelo propuesto es medida por la precisión y el tiempo de ejecución en la detección de choques vehiculares.. 6.2. Recolección de datos Debido a que no hay un buen conjunto de videos de choques vehiculares se ha creado un conjunto propio, denominado Car Crash Videos (CCV). Se seleccionó videos provenientes de cámaras de vigilancia porque son dispositivos que tienen una posición estática, y los videos de vigilancia son fáciles de recopilar desde diferentes repositorios web de acceso público. Los videos recolectados presentan diversas condiciones no controladas, tales como: iluminación variada, baja resolución, sombras, ambiente nebuloso y ruido de imagen, se puede ver en las figuras 6.1 y 6.2. Como se mencionó, se propone utilizar un algoritmo ViF para extraer los vectores de caracterı́sticas y someterlos a un clasificador SVM, este procedimiento es después de la detección de carros con el modelo YOLO. Por esa razón, no podemos entrenar a nuestro clasificador con cada video completo, para ello se genera videos pequeños, como se pudo ver en la figura 5.3, como resultado se obtuvo 120 videos de tráfico normal y 57 videos de accidentes vehiculares, cada video tiene una transmisión de 30fps de 740x480px pero debido a la configuración del modelo YOLO es que estos videos son redimensionados a 608x608px..
(40) Para tener un conjunto de datos equilibrado, solo se considera 57 videos de tráfico normal y los 57 videos de accidentes, por lo que en total se obtiene 114 videos, estos videos componen el conjunto de datos CCV.. Fig. 6.1: Fotogramas de choques vehiculares, extraı́dos del conjunto de datos CCV.. Fig. 6.2: Fotogramas de tráfico normal, extraı́dos del conjunto de datos CCV.. 6.3. Resultados Las ecuaciones 6.1, 6.2 y 6.3 representan el cálculo de las métricas que miden el rendimiento de nuestro detector de choques vehiculares, donde VP: Verdaderos positivos, VN: Verdaderos negativos, FP: Falsos Positivos, FN: Falsos Negativos, P: Positivos, N: Negativos. Los valores VP, VN, FP y FN pertenecen a las etiquetas de predicción, P y N pertenecen a las etiquetas reales, esto quiere decir que P + N = conjunto total de datos de prueba.. 31.
(41) En la figura 6.3 se puede observar un área bajo la curva de 0,76 lo cual está sobre la lı́nea roja que es la medida aceptable, esta medida indica que la tasa de verdaderos positivos es considerablemente mayor a la tasa de falsos positivos. En la figura 6.4 se presenta la curva precision-recall, que como es normal la curva comienza en un pico alto y va descendiendo logrando un promedio de 0,81.. Exactitud =. VP +VN P +N. (6.1). P recisión =. VP V P + FP. (6.2). Recall =. VP V P + FN. (6.3). Fig. 6.3: ROC curve of ViF performance.. Fig. 6.4: Precision-Recall curve.. En la tabla 6.1 mostramos un resumen de los resultados obtenidos con las métricas: exactitud, 32.
(42) el Área bajo la Curva(Area Under Curve-AUC), el recall y la precisión. Se puede ver un recall de 0,8, lo que significa que se cuenta con un 80 % de probabilidad de detectar correctamente los accidentes vehiculares. El valor de la Precision es de 0,6, lo que significa que de todas las veces que el detector nos dice que es un accidente vehicular acierta el 60 %. La exactitud nos indica que del conjunto de datos completo, siendo 114 videos, el 75 % ha sido clasificado correctamente como accidente vehicular (choque) y tráfico normal (no-choque). Tab. 6.1: El rendimiento de ViF en cada vehı́culo. La medida de la exactitud del clasificador se evaluó mediante validación cruzada (k = 10) y también el Área bajo la curva (AUC) es incluı́da, con la Precisión, el recall y el promedio de precisión-recall.. Métrica Exactitud AUC Recall Precisión Promedio precision-recall. Valor 0.75 0.76 0.80 0.66 0.81. También se mide el tiempo de procesamiento, en este caso sin considerar el tiempo de detección de vehı́culos, solo obtenemos 2.15 segundos para procesar un video de 2 segundos. Esta es la razón principal por la que usamos ViF debido a su costo muy bajo. Se puede observar las medidas en la Tabla 6.2, obtenidas en una computadora con procesador de 1.8 GHz. Tab. 6.2: Tiempo de procesamiento de ViF para detección de colisión de vehı́culos.. ViF. Video duration (seg.) 2. Time processing (seg.) 2.1563. En la figura 6.5 se muestra el resultado en videos de vigilancia, como se puede ver, se resalta la posición exacta de los accidentes vehiculares en el tiempo de duración gracias a la técnica de seguimiento de vehı́culos que se aplica en la escena . En la esquina superior derecha de la figura 6.5 se observan dos cajas rojas, una para cada vehı́culo partı́cipe de la colisión, a veces solo se detecta un vehı́culo, pero es suficiente para detectar choques vehiculares.. 6.3.1. Comparación con trabajos relacionados Los resultados expuestos no reflejan un sistema perfectamente confiable, pero a pesar de las condiciones no controladas puede sobrellevar una buena detección de choques vehiculares. A continuación se expone la comparación con los resultados de otros autores que ya se mencionaron en el capı́tulo 2, considerando que la comparación es más justa si las técnicas también son de procesamiento de imágenes. En el trabajo de Ravindran et al. [Ravindran et al., 2016] se obtuvo un 81.83 % de exactitud, principalmente su propuesta consiste en la detección de partes aplastadas y trituradas del automóvil, aunque no presenta información del tiempo de procesamiento se puede ver que sus experimentos se 33.
(43) Fig. 6.5: Detección de choques con el modelo propuesto.. hicieron en imágenes y no en videos que demuestren la eficiencia en tiempo real. La propuesta de detección de choques de Logesh [VASU, 2010] consigue un 87,5 % de exactitud, que es considerablemente aceptable y mayor al que se obtuvo en el presente trabajo de investigación, pero el procesamiento por fotograma es de 10ms frente a los 2ms que se obtiene con el ViF propuesto. Finalmente, en el trabajo de Zhou et al. [Zhou et al., 2008] se obtuvo 60.4 % de exactitud, haciendo uso de la técnica BoW (Bag of Words) para la extracción de caracterı́sticas. Su porcentaje de exactitud es superado por la presente propuesta.. 6.4. Consideraciones finales Ante el conjunto de datos CCV de 114 imágenes solamente, se obtiene buenos resultados. Cabe resaltar que el conjunto de datos contiene videos de vigilancia en condiciones no controladas, estas condiciones son un desafı́o para cualquier técnica de procesamiento de video.. 34.
Documento similar