Está en la página 1de 50

UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPA

FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS


ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

MODELO DE VISIÓN ARTIFICIAL PARA LA DETECCIÓN


AUTOMÁTICA DE COLISIÓN DE VEHÍCULOS EN
VIDEOVIGILANCIA

Tesis presentada por la Bachiller:


ELIAN RAQUEL LAURA RIVEROS

Para optar el Título Profesional de


INGENIERO DE SISTEMAS

Asesor:
Dr. Juan Carlos Gutiérrez Cáceres

AREQUIPA - PERU
2019
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
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
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
Índice general

Carátula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Índice General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Índice de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Índice de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Lista de Abreviaturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

1.. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Contexto y Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Organización del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.. Trabajos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


2.1. Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Detección de colisiones por simuladores y sensores . . . . . . . . . . . . . . . . . . . 3
2.3. Detección de colisiones por procesamiento de imágenes . . . . . . . . . . . . . . . . . 4
2.4. Consideraciones Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.. Aprendizaje Profundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


3.1. Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Modelos de Aprendizaje Profundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1. Redes Neuronales Convolucionales - CNN . . . . . . . . . . . . . . . . . . . . 7
3.2.2. R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.3. Fast R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.4. Faster R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.5. YOLO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.6. Comparación de YOLO con las versiones de R-CNN . . . . . . . . . . . . . . 11
3.3. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.. Flujo óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14


4.1. Consideraciones Iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Flujo Óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.1. Clasificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2.2. Flujo óptico con Horn-Schunck . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.3. Flujo óptico con Lucas-Kanade . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.4. Descriptor ViF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.. Propuesta del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


5.1. Consideraciones Iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2. Modelo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3. Detección de automóviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.4. Seguimiento de automóviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.5. Detección de choques de automóviles . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.6. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.1. Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.2. Recolección de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.1. Comparación con trabajos relacionados . . . . . . . . . . . . . . . . . . . . . 33
6.4. Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

vi
Índice de figuras

3.1. Diagrama de Venn mostrando algunas disciplinas de la Inteligencia Artificial. . . . . 8


3.2. Descomposición jerárquica de una imagen a través de una arquitectura de
aprendizaje profundo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. Arquitectura de R-CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Arquitectura de Fast R-CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5. Arquitectura de Fast R-CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.6. El modelo YOLO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.7. Comparación del rendimiento de YOLO con otras redes, midiendo tiempo vs mAP-50. 12
3.8. Comparación de la velocidad de YOLO con otros modelos. . . . . . . . . . . . . . . . 13

4.1. Ejemplo de los vectores de velocidad en una imagen. . . . . . . . . . . . . . . . . . . 17


4.2. Tasa de cambio del brillo de la imagen en la ecuación de restricción de la velocidad
de flujo óptico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3. Vista de la intensidad de brillo de un pixel. . . . . . . . . . . . . . . . . . . . . . . . 19
4.4. Cambio de la intensidad de a a b de un pixel visto desde una máscara. . . . . . . . . 19
4.5. Representación piramidal del algoritmo Lucas-Kanade. . . . . . . . . . . . . . . . . . 20

5.1. El modelo propuesto con una estructura simplificada de cada etapa. . . . . . . . . . 24


5.2. Detección de vehı́culos con YOLO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.4. Algoritmo de seguimiento con filtros de correlación. . . . . . . . . . . . . . . . . . . . 27
5.5. Descriptor ViF en video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.6. El método de detección de colisiones de vehı́culos con el descriptor ViF. . . . . . . . 29

6.1. Fotogramas de tráfico normal, extraı́dos del conjunto de datos CCV. . . . . . . . . . 31


6.2. Fotogramas de choques vehiculares, extraı́dos del conjunto de datos CCV. . . . . . . 31
6.3. ROC curve of ViF performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.4. Precision-Recall curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.5. Detección de choques con el modelo propuesto. . . . . . . . . . . . . . . . . . . . . . 34

vii
Í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
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 Region - Convolucional Neural Networ
ROC Receiver Operating Characteristic
ViF Violent Flow
SURF Speeded Up Robust Features

ix
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.
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
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
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
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
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].
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 R-
CNN [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
Fig. 3.1: Diagrama de Venn mostrando algunas disciplinas de la Inteligencia Artificial,
[Goodfellow et al., 2016].

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
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
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 pre-
sentó 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
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, R-
CNN 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
Fig. 3.7: Comparación del rendimiento de YOLO con otras redes, midiendo tiempo vs mAP-
50, [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 VOC mAP FPS
Fast YOLO 2007 2012 52.7 150
YOLO 2007 2012 63.4 45
Menor a tiempo real
RCNN Minus R 2007 53.5 6
Fast R-CNN 2007 2012 70.0 0.5
Faster R-CNN VGG-16 2007 2012 73.2 7
Faster R-CNN ZF 2007 2012 62.1 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
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
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
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 Horn-
Schunck [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
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 des-
plazamiento 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
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 (4.7)
Ex2 + Ey2

17
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.
 2  2  2  2
∂u ∂u ∂v ∂v
+ ; + (4.8)
∂x ∂y ∂x ∂y
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.

∂u2 ∂u2 2 ∂2 ∂2
∇2 u = 2
+ 2 ; ∇ v = v2 + v2 (4.9)
∂x ∂y ∂x ∂y
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
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 (4.10)

19
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 Lucas-
Kanade 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
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
Algoritmo Acierto ± DS AUC
IRLS 0.7040 ± 0.0440 0.7600
Horn-Schunck 0.7500 ± 0.0554 0.8200
Lucas-Kanade 0.6110 ± 0.0610 0.6900
Multitudes
Algorithm Acierto ± DS AUC
IRLS 0.7311 ± 0.0627 0.8429
Horn-Schunck 0.7281 ± 0.0852 0.8814
Lucas-Kanade 0.7032 ± 0.0670 0.8333
SVV
Algorithm Acierto ± DS AUC
IRLS 0.7500 ± 0.0624 0.8500
Horn-Schunck 0.6600 ± 0.1174 0.8500
Lucas-Kanade 0.5450 ± 0.1383 0.7000
Pelı́culas
Algorithm Acierto ± DS AUC
IRLS 0.9900 ± 0.0211 1.0000
Horn-Schunck 0.9600 ± 0.0658 1.0000
Lucas-Kanade 0.9600 ± 0.0394 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.

Duración del video (seg.) Tiempo de procesamiento (seg.)


ViF con IRLS 2 9.3594
ViF con Horn-Schunck 2 2.1563
ViF con Lucas-Kanade 2 14.6250

Tab. 4.2: Comparación del tiempo de procesamiento de un video utilizando ViF con diferentes algoritmos
de flujo óptico.

21
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
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.
Car Detection

Technique: YOLO Detector

Car Tracking
Pre- proccessing

...

Technique: Correlation Filters

Car Crash Detection


ViF

Histogram

Segmented
scene

Classi cation

Normal

Car crash
Histogram SVM

Technique: Vif Descriptor + SVM Classi er

Fig. 5.1: El modelo propuesto con un estructura simplificada de cada etapa,


[Zhou et al., 2016], [Chen et al., 2015].

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
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 output shape
Input (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
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
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 Entrena y FFT Extrae
actualiza
características

Región de entrada Extrae características Mapa de respuesta Predicción

FFT 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
0
operador , 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 ,

0
y = F −1 (x̂ ĥ∗ ) (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.


ĥ∗ = (5.3)
x̂0

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
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.

X
bx,y = (1/T ) 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
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
vector: mx,y,t = u2x,y,t + vx,y,t
2 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
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.
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
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.

VP +VN
Exactitud = (6.1)
P +N

VP
P recisión = (6.2)
V P + FP

VP
Recall = (6.3)
V P + FN

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
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 Valor
Exactitud 0.75
AUC 0.76
Recall 0.80
Precisión 0.66
Promedio precision-recall 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.


Video duration (seg.) Time processing (seg.)
ViF 2 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
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
7
Conclusiones

7.1. Conclusiones
Los proyectos de investigación que incluyeron al descriptor ViF han obtenido resultados
satisfactorios en cuanto a la precisión en la detección de acciones violentas a comparación del uso de
otras técnicas para el mismo fin. La colisión entre vehı́culos genera una acción brusca cinemática, es
ası́ que el uso de algoritmos de flujo óptico para detección de acciones violentas pueden ser también
aplicados a la detección de choques vehiculares.

Los resultados presentados en el capı́tulo de experimentos demuestran que en tiempo real es


posible detectar choques a partir de imágenes en condiciones no controladas debido a que son
extraı́das de una cámara de vigilancia, por lo tanto ası́ como se están mejorando los sistemas de
detección de personas, rostros, armas, vehı́culos, etc. a través de una cámara de vigilancia con la
finalidad de aportar a la seguridad ciudadana, los sistemas de detección de colisiones entre vehı́culos
también puede incluirse a la lı́nea de mejora continua.

Como se ha mencionado en el capı́tulo 2 de trabajos relacionados también se hace uso de


simulaciones, sensores y teléfonos móviles para detectar o alertar un choque vehicular, pero a
diferencia de una cámara de vigilancia esta se encuentra estática y accesible para detectar cualquier
objeto o acción que se encuentre dentro del escenario al que se enfoca.

7.2. Recomendaciones
El procesamiento de imágenes obtenida de cámaras de vigilancia es un reto para el área, pueden
presentar diversas condiciones no controladas, en ese sentido los algoritmos de pre-procesamiento de
imágenes pueden controlar dichas condiciones teniendo en cuenta que puede afectar el rendimiento
de los resultados del modelo propuesto. De ser necesario se recomienda aplicar algoritmos que midan
las condiciones no controladas y a partir de ello parametrizar el algoritmo de pre-procesamiento.

7.3. Trabajos Futuros


Mejorar el tiempo de ejecución sin perder la precisión es un reto en el área de visión
computacional, con los algoritmos de flujo óptico se puede superar el reto en la detección de acciones
bruscas cinemáticas tales como la colisión de vehı́culos, por lo tanto se propone como trabajo futuro
estudiar a detalle otras caracterı́sticas que presenta un segmento de video de colisión vehicular, en el
presente trabajo de investigación las caracterı́sticas se obtienen a nivel de pixel, es ası́ que el vector
de caracterı́sticas se compone de los cambios en la magnitud de cada pixel, estas caracterı́sticas
pueden procesarse en conjunto con caracterı́sticas de un segmento de imagen que represente el
choque, es decir la imagen de la unión de dos vehı́culos con partes dañadas, este tipo de imágenes
entrarı́an a otro modelo simple de aprendizaje binario para detectar si la iamgen representa colisión
o no.

En los modelos de visión computacional, la elección apropiada de caracterı́sticas que representen


el objeto o acción a detectar mejora notablemente la precisión. Cabe mencionar que el onjunto de
videos de choques y no-choques para los experimentos deben aumentar en cantidad para mejorar
la confiabilidad en los resultados.

36
Bibliografı́a

[Arceda et al., 2016] Arceda, V. M., Fabián, K. F., and Gutiérrez, J. (2016). Real time violence
detection in video. IET Conference Proceedings, pages 6 (7 .)–6 (7 .)(1).

[Barron et al., 1994] Barron, J. L., Fleet, D. J., and Beauchemin, S. S. (1994). Performance of
optical flow techniques. International journal of computer vision, 12(1):43–77.

[Bengio and Delalleau, 2011] Bengio, Y. and Delalleau, O. (2011). On the expressive power of deep
architectures. In Algorithmic Learning Theory, pages 18–36. Springer.

[Bengio et al., 2009] Bengio, Y. et al. (2009). Learning deep architectures for ai. Foundations and
trends in Machine Learning, 2(1):1–127.

[Bolme et al., 2010] Bolme, D. S., Beveridge, J. R., Draper, B. A., and Lui, Y. M. (2010). Visual
object tracking using adaptive correlation filters. In Computer Vision and Pattern Recognition
(CVPR), 2010 IEEE Conference on, pages 2544–2550. IEEE.

[Cai et al., 2015] Cai, Y., Chen, X., Wang, H., and Chen, L. (2015). Deep representation and stereo
vision based vehicle detection. In Cyber Technology in Automation, Control, and Intelligent
Systems (CYBER), 2015 IEEE International Conference on, pages 305–310. IEEE.

[Carelli et al., 1999] Carelli, R., Secchi, H., Mut, V., and Nasisi, O. (1999). Algoritmos estables
para la navegación de robots móviles en pasillos usando flujo óptico. VIII Reunión de Trabajo
en Procesamiento de la Información y Control, pages 1–9.

[Chen et al., 2012] Chen, R., Zhang, M., Li, Z., and Wang, W. (2012). Development of crash
prediction model for rear-end collisions at recurrent bottlenecks on freeways. In CICTP 2012:
Multimodal Transportation Systems?Convenient, Safe, Cost-Effective, Efficient, pages 2591–
2602.

[Chen et al., 2015] Chen, Z., Hong, Z., and Tao, D. (2015). An experimental survey on correlation
filter-based tracking. arXiv preprint arXiv:1509.05520.
[Chollet, 2017] Chollet, F. (2017). The limitations of deep learning.

[Dalal and Triggs, 2005] Dalal, N. and Triggs, B. (2005). Histograms of oriented gradients for
human detection. In Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE
Computer Society Conference on, volume 1, pages 886–893. IEEE.

[Danelljan et al., 2014] Danelljan, M., Häger, G., Khan, F., and Felsberg, M. (2014). Accurate
scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham,
September 1-5, 2014. BMVA Press.

[Diewald et al., 2012] Diewald, S., Möller, A., Roalter, L., and Kranz, M. (2012). Driveassist: a
v2x-based driver assistance system for android. In Konferenz Mensch & Computer: 09/09/2012-
12/09/2012, pages 373–380. Oldenburg Wissenschaftsverlag.

[Girshick, 2015] Girshick, R. (2015). Fast r-cnn. In Proceedings of the IEEE international
conference on computer vision, pages 1440–1448.

[Girshick et al., 2014] Girshick, R., Donahue, J., Darrell, T., and Malik, J. (2014). Rich feature
hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE
conference on computer vision and pattern recognition, pages 580–587.

[Goodfellow et al., 2016] Goodfellow, I., Bengio, Y., and Courville, A. (2016). Deep Learning. MIT
Press. http://www.deeplearningbook.org.

[Hassner et al., 2012] Hassner, T., Itcher, Y., and Kliper-Gross, O. (2012). Violent flows: Real-time
detection of violent crowd behavior. In Computer Vision and Pattern Recognition Workshops
(CVPRW), 2012 IEEE Computer Society Conference on, pages 1–6.

[He et al., 2014] He, K., Zhang, X., Ren, S., and Sun, J. (2014). Spatial pyramid pooling in deep
convolutional networks for visual recognition. In European conference on computer vision, pages
346–361. Springer.

[He et al., 2015] He, K., Zhang, X., Ren, S., and Sun, J. (2015). Delving deep into rectifiers:
Surpassing human-level performance on imagenet classification. In Proceedings of the IEEE
International Conference on Computer Vision, pages 1026–1034.

[Henriques et al., 2012] Henriques, J., Caseiro, R., Martins, P., and Batista, J. (2012). Exploiting
the circulant structure of tracking-by-detection with kernels. Computer Vision–ECCV 2012,
pages 702–715.

[Hildreth, 1984] Hildreth, E. C. (1984). The computation of the velocity field. Proceedings of the
Royal Society of London B: Biological Sciences, 221(1223):189–220.

[Hong et al., 2014] Hong, J.-H., Margines, B., and Dey, A. K. (2014). A smartphone-based sensing
platform to model aggressive driving behaviors. In Proceedings of the 32nd annual ACM
conference on Human factors in computing systems, pages 4047–4056. ACM.

38
[Horn and Schunck, 1981] Horn, B. K. and Schunck, B. G. (1981). Determining optical flow. In
1981 Technical symposium east, pages 319–331. International Society for Optics and Photonics.

[Hu et al., 2017] Hu, J., Liu, W., Yuan, H., and Zhao, H. (2017). A multi-view vehicle detection
method based on deep neural networks. In Measuring Technology and Mechatronics Automation
(ICMTMA), 2017 9th International Conference on, pages 86–89. IEEE.

[INEI, 2017] INEI (2017). Estadı́sticas de seguridad ciudadana.

[Ki, 2007] Ki, Y.-K. (2007). Accident detection system using image processing and mdr.
International Journal of Computer Science and Network Security IJCSNS, 7(3):35–39.

[Kondermann et al., 2012] Kondermann, D., Abraham, S., Brostow, G., Förstner, W., Gehrig, S.,
Imiya, A., JÃhne, B., Klose, F., Magnor, M., Mayer, H., Mester, R., Pajdla, T., Reulke, R., and
Zimmer, H. (2012). On performance analysis of optical flow algorithms. In Outdoor and Large-
Scale Real-World Scene Analysis, volume 7474 of Lecture Notes in Computer Science, pages
329–355. Springer Berlin Heidelberg.

[Kumar et al., 2005] Kumar, B. V., Mahalanobis, A., and Juday, R. D. (2005). Correlation pattern
recognition. Cambridge University Press.

[Lee and Yeo, 2015] Lee, D. and Yeo, H. (2015). A study on the rear-end collision warning system
by considering different perception-reaction time using multi-layer perceptron neural network.
In Intelligent Vehicles Symposium (IV), 2015 IEEE, pages 24–30. IEEE.

[Lee et al., 2011] Lee, H., Grosse, R., Ranganath, R., and Ng, A. Y. (2011). Unsupervised learning
of hierarchical representations with convolutional deep belief networks. Communications of the
ACM, 54(10):95–103.

[Li et al., 2015] Li, X., Ye, M., Fu, M., Xu, P., and Li, T. (2015). Domain adaption of vehicle
detector based on convolutional neural networks. International Journal of Control, Automation
and Systems, pages 1–12.

[Liu, 2009] Liu, C. (2009). Beyond pixels: exploring new representations and applications for motion
analysis. PhD thesis, Citeseer.

[Lucas et al., 1981] Lucas, B. D., Kanade, T., et al. (1981). An iterative image registration
technique with an application to stereo vision. In IJCAI, volume 81, pages 674–679.

[Machaca, 2016] Machaca, V. (2016). Modelo en tiempo real de detección de acciones violentas en
secuencias de video. Master’s thesis, Universidad Nacional de San Agustı́n.

[Mariño et al., 2010] Mariño, M., Leonardo, D., and Páez Melo, A. O. (2010). Detección de objetos
móviles en una escena utilizando flujo óptico. B.S. thesis, Facultad de Ingenierı́a.

[Oh and Kim, 2010] Oh, C. and Kim, T. (2010). Estimation of rear-end crash potential using
vehicle trajectory data. Accident Analysis & Prevention, 42(6):1888–1893.

39
[Ojala et al., 1996] Ojala, T., Pietikäinen, M., and Harwood, D. (1996). A comparative study
of texture measures with classification based on featured distributions. Pattern recognition,
29(1):51–59.

[Over et al., 2005] Over, P., Ianeva, T., Kraaij, W., and Smeaton, A. F. (2005). Trecvid 2005-an
overview.

[Pérez Padial, 2016] Pérez Padial, P. (2016). Estudio de algoritmos de control de trayectoria de un
vehı́culo virtual. B.S. thesis, Universitat Politècnica de Catalunya.

[Rajalakshmi, 2016] Rajalakshmi, M. (2016). Road side video surveillance in traffic scenes using
map-reduce framework for accident analysis. Biomedical Research.

[Ravindran et al., 2016] Ravindran, V., Viswanathan, L., and Rangaswamy, S. (2016). A novel
approach to automatic road-accident detection using machine vision techniques. INTERNATIO-
NAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 7(11):235–
242.

[Redmon, 2016] Redmon, J. (2013–2016). Darknet: Open source neural networks in c. http:
//pjreddie.com/darknet/.

[Redmon et al., 2016] Redmon, J., Divvala, S., Girshick, R., and Farhadi, A. (2016). You only look
once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer
vision and pattern recognition, pages 779–788.

[Redmon and Farhadi, 2016] Redmon, J. and Farhadi, A. (2016). Yolo9000: Better, faster, stronger.
arXiv preprint arXiv:1612.08242.

[Redmon and Farhadi, 2018] Redmon, J. and Farhadi, A. (2018). Yolov3: An incremental
improvement. arXiv.

[Ren et al., 2015] Ren, S., He, K., Girshick, R., and Sun, J. (2015). Faster r-cnn: Towards real-time
object detection with region proposal networks. In Advances in neural information processing
systems, pages 91–99.

[Riascos and Cardona, 2015] Riascos, J. and Cardona, V. (2015). DeterminaciÃn de la cinemática
de objetos mÃviles bajo condiciones controladas mediante imágenes empleando tà cnicas
c de
flujo Óptico. Master’s thesis, Universidad TecnolÃgica de Pereira.

[Rojas, 2010] Rojas, R. (2010). Lucas-kanade in a nutshell. Technical report, Freie Universit at
Berlinn, Dept. of Computer Science.

[Sane et al., ] Sane, N. H., Patil, D. S., Thakare, S. D., and Rokade, A. V. Real time vehicle accident
detection and tracking using gps and gsm. International Journal on Recent and Innovation
Trends in Computing and Communication ISSN, pages 2321–8169.

40
[Semko, 2007] Semko, D. (2007). Optical flow analysis and kalman filter tracking in video
surveillance algorithms. Master’s thesis, Naval Postgraduate School.

[Shah et al., 2015] Shah, D., Nair, R., Parikh, V., and Shah, V. (2015). Accident alarm system
using gsm, gps and accelerometer. International Journal of Innovative Research in Computer
and Communication Engineering, 3(4).

[Tran and Firl, 2013] Tran, Q. and Firl, J. (2013). Modelling of traffic situations at urban
intersections with probabilistic non-parametric regression. In Intelligent Vehicles Symposium
(IV), 2013 IEEE, pages 334–339. IEEE.

[Uijlings et al., 2013] Uijlings, J. R., Van De Sande, K. E., Gevers, T., and Smeulders, A. W. (2013).
Selective search for object recognition. International journal of computer vision, 104(2):154–171.

[VASU, 2010] VASU, L. (2010). An effective step to real-time implementation of accident detection
system using image processing. Master’s thesis, Oklahoma State University.

[Viola and Jones, 2001] Viola, P. and Jones, M. (2001). Rapid object detection using a boosted
cascade of simple features. In Computer Vision and Pattern Recognition, 2001. CVPR 2001.
Proceedings of the 2001 IEEE Computer Society Conference on, volume 1, pages I–511. IEEE.

[Wang et al., 2014] Wang, H., Cai, Y., and Chen, L. (2014). A vehicle detection algorithm based
on deep belief network. The scientific world journal, 2014.

[White et al., 2011] White, J., Thompson, C., Turner, H., Dougherty, B., and Schmidt, D. C.
(2011). Wreckwatch: Automatic traffic accident detection and notification with smartphones.
Mobile Networks and Applications, 16(3):285.

[You et al., 2012] You, C.-W., Montes-de Oca, M., Bao, T. J., Lane, N. D., Lu, H., Cardone, G.,
Torresani, L., and Campbell, A. T. (2012). Carsafe: a driver safety app that detects dangerous
driving behavior using dual-cameras on smartphones. In Proceedings of the 2012 ACM Conference
on Ubiquitous Computing, pages 671–672. ACM.

[Zhou et al., 2008] Zhou, X., Zhuang, X., Yan, S., Chang, S.-F., Hasegawa-Johnson, M., and
Huang, T. S. (2008). Sift-bag kernel for video event analysis. In Proceedings of the 16th ACM
international conference on Multimedia, pages 229–238. ACM.

[Zhou et al., 2016] Zhou, Y., Nejati, H., Do, T.-T., Cheung, N.-M., and Cheah, L. (2016). Image-
based vehicle analysis using deep neural network: A systematic study. In Digital Signal Processing
(DSP), 2016 IEEE International Conference on, pages 276–280. IEEE.

41

También podría gustarte