Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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
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
viii
Lista de Abreviaturas
ix
1
Introducción
2
2
Trabajos Relacionados
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.
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.
5
3
Aprendizaje Profundo
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’.
7
Fig. 3.1: Diagrama de Venn mostrando algunas disciplinas de la Inteligencia Artificial,
[Goodfellow et al., 2016].
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.
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.
9
Fig. 3.4: Arquitectura de Fast R-CNN, [Girshick, 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.
10
S x S x B bounding boxes
Pr(Clase_i | objeto )
Mapa de probabilidad
de clase
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]
13
4
Flujo óptico
Ex × u + Ey × v + Et = 0 (4.2)
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:
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].
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,
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
∂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].
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:
19
Esto iguala la diferencia local de intensidad (b - a) la cual llamaremos It (x, y), entonces:
Fig. 4.5: Representación piramidal del algoritmo Lucas-Kanade, [Mariño et al., 2010].
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.
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
Car Tracking
Pre- proccessing
...
Histogram
Segmented
scene
Classi cation
Normal
Car crash
Histogram SVM
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.
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.
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
FFT IFFT
Fig. 5.4: Algoritmo de seguimiento con filtros de correlación, [Chen et al., 2015].
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.
X
bx,y = (1/T ) bx,y,t (5.4)
t
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 |.
29
6
Experimentos
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
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.
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.
33
Fig. 6.5: Detección de choques con el modelo 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.
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.
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.
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.
[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