Está en la página 1de 71

Universidad Nacional de San Agustı́n de

Arequipa
Facultad de Ingenierı́a de producción y servicios
Escuela profesional de Ciencia de la computación

La tesis titulada:
Reconocimiento de eventos anómalos en videos
obtenidos de cámaras de vigilancia, usando redes
convolucionales.
Presentado por el bachiller:
Luigy Alex Machaca Arcana

Para optar el tı́tulo profesional de


Licenciado en Ciencia de la computación

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

Arequipa, Perú.
2019
Resumen

El campo de reconocimiento de movimiento y acciones sobre vı́deo vigilancia


es un campo activo de computer vision(CV), hasta el momento ha recibido una
especial atención debido a sus numerosas áreas de aplicación. De todas las técnicas
aplicables a este campo, los modelos basados en deep learning se han revelado como
un método capaz de afrontar la incertidumbre asociada a las acciones humanas.
Algoritmos rápidos, precisos en la detección de objetos permiten a las compu-
tadoras: conducir automóviles sin sensores especializados, permiten que los dispo-
sitivos de teleasistencia, transmitir información de las escenas en tiempo real a los
usuarios.
Los sistemas de detección actuales han redefinido su propósito al momento de
realizar una detección de una imagen.
Técnicas como You Only Look Once (YOLO),Region proposals+CNN (R-
CNN), Single Shot Detector (SSD), entre otras. Nos presentan un nuevo enfoque
de detección de objetos en una imagen. Razón por la cual describiremos y usaremos
algoritmos basados en redes convolucionales que pueden detectar a las personas
en la escena y analizar diferentes acciones además de sus patrones de movimiento,
todo esto en tiempo real.
La motivación para este trabajo es crear un sistema capaz de detectar eventos
anómalos en vı́deos de vigilancia, sin la necesidad de asistencia o intervención
humana para la detección de dichos actos.
En esta tesis, pondremos en contexto los principales tipos de modelos basados
en deep learning, en al ámbito de detección de objetos y reconocimiento de acciones
humanas, examinando sus ventajas y desventajas frente a las técnicas tradicionales
y modelos actuales.

Palabras clave— Computer vision, deep learning, detección de objetos, vı́deo


vigilancia.
Abstract

The field of action recognition and actions on video surveillance is an active


field of computer vision. At the same time, it has received particular attention
due to it has many areas of application. All the techniques applicable to this field,
models based on deep learning, have been shown as a method capable of addressing
the uncertainty associated with human actions.
Fast and better algorithms in object detection allow computers: drive cars
without specialized sensors, allow telecare devices, transmit scene information in
real-time to users.
Current systems detection has redefined its purpose at the time of detecting
an image.
Techniques such as You Only Look Once (YOLO), Region proposals + CNN
(R-CNN), Single Shot Detector (SSD), among others. They present us with a
new approach for detecting objects in an image. Reason, we will describe and
use algorithms based on convolutional neural networks(CNN). That can identify
people on the scene and analyze different actions in addition to their movement
patterns, whole in real-time.
The motivation for this work is to create a system capable of detecting ano-
malous events in surveillance videos, without the need to assistance or intervention
human.
In this thesis, we will put into context the main types of models based on
deep learning, in the field of object detection and recognition of human actions,
examining their advantages and disadvantages compared to traditional techniques
and current models.

keywords— Computer vision, deep learning, object detection, video surveillance.


Contenido

Lista de sı́mbolos VIII

1 Introducción 1
1.1 Contexto y motivación . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Descripción del problema . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Objetivo especı́ficos . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.3 Aspectos metodológicos . . . . . . . . . . . . . . . . . . . . 6
1.4 Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Diagrama de Flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

iv
Contenido

2 Trabajos relacionados 9
2.1 Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Convolutional Neural Networks . . . . . . . . . . . . . . . . 9
2.2 Trabajos Relacionados. . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Problema de la CNN al rededor de toda la imagen . . . . . . 10
2.2.2 Un mejor enfoque, Regions with CNN features . . . . . . . . 11
2.2.3 Fast Regions with CNN features . . . . . . . . . . . . . . . . 12
2.2.4 You Only Look Once: Unified, Real-Time Object Detection . 14
2.3 Descripción de los trabajos relacionados a detección de eventos
anómalos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Real-time abnormal motion detection in surveillance video . 19
2.3.2 Histogramas de orientación y magnitud de flujo óptico . . . 19

3 Marco teórico 24
3.1 You only look once . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Intersect over Union . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Comprendiendo el comportamiento. . . . . . . . . . . . . . . 28
3.2.2 Bounding Box . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.3 Distancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.4 Velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Detección de Eventos Anómalos . . . . . . . . . . . . . . . . . . . . 31
3.3.1 Obtener los Bounding Box . . . . . . . . . . . . . . . . . . . 31
3.3.2 Persistencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

v
Contenido

3.3.3 Velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.4 Umbral de velocidad . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Base de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Propuesta 35
4.0.1 Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.0.2 Pre-procesamiento . . . . . . . . . . . . . . . . . . . . . . . 36
4.0.3 Extracción de caracterı́sticas . . . . . . . . . . . . . . . . . . 36
4.0.4 Detección de Personas . . . . . . . . . . . . . . . . . . . . . 37
4.0.5 Velocidad de desplazamiento . . . . . . . . . . . . . . . . . . 38
4.0.6 Dirección de desplazamiento . . . . . . . . . . . . . . . . . . 38

5 Experimentos Preliminares 40
5.0.1 Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . 40
5.0.2 Recursos utilizados . . . . . . . . . . . . . . . . . . . . . . . 40
5.0.3 Experimentos sobre vı́deos . . . . . . . . . . . . . . . . . . . 41

6 Experimentos y Resultados 45
6.0.1 Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . 45
6.0.2 Arquitectura DeepLearning . . . . . . . . . . . . . . . . . . 45
6.0.3 Recolección de datos . . . . . . . . . . . . . . . . . . . . . . 46
6.0.4 Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.0.5 Código de la Propuesta . . . . . . . . . . . . . . . . . . . . . 47
6.0.6 Porcentaje anomalı́a en vı́deo. . . . . . . . . . . . . . . . . . 47

vi
Contenido

7 Conclusiones y trabajo futuro 52


7.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.2 Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Bibliografı́a 54

vii
Lista de sı́mbolos

Abreviaturas

Abreviatura Término

Y OLO You Only Look Once.


CN N Convolutional Neural Network.
R − CN N Region proposal-Convolutional Neural Network.
CV Computer Vision.
DP M Defomable Part Model.
HAR Human Action Recognition
ML Machine Learning.
mAP mean Average Precision.
RoI Region of Interest.
F Cs fully connected layers.
SGD Stochastic gradient descent.

viii
Contenido

Abreviatura Término

IA Inteligencia Artificial.
HOOF Histograma de Flujo Optico Orientado.
HOF M Histograme de Orientación de Flujo Optico y Magnitud.
IOU Interseccion over union
RoI − P ool Region of Interest Pooling
BBox Bounding box
CU DA Compute Unified Device Architecture

ix
Lista de Figuras

1-1 Diagrama de Flujo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2-1 Estructura de RCNN . . . . . . . . . . . . . . . . . . . . . . . . . 11


2-2 Regions of Interest: podemos notar como las caracterı́sticas de la
CNN para cada región son obtenidas por la selección de una región
correspondiente del mapa de caracterı́sticas generada por la CNN . 13
2-3 Modelo unificado Fast R-CNN: Se combina el entrenamiento de la
CNN, el clasificador, y la regresión en los bounding boxes en un solo
modelo [31] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2-4 Arquitectura de YOLO [23] . . . . . . . . . . . . . . . . . . . . . . 15
2-5 El modelo YOLO modela la detección como un problema con enfo-
que de regresión. Divide la imagen en una grid y simultáneamente
predice los bounding boxes. Los valores de confianza y probabilidades
de clases son codificadas como un vector S x S x (B *5+C) . . . . . 16

x
Lista de Figuras

2-6 Análisis de error: Fast R-CNN vs YOLO Estos cuadros mues-


tran el porcentaje de localización y errores de fondo en las N mejores
detecciones para varias categorı́as (N = #objetos en esa categorı́a) 18
2-7 Diagrama ilustrando el enfoque propuesto en [4] para detectar even-
tos anómalos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2-8 Búsqueda del vecino mas cercano(Nearest Neighbor search). Patro-
nes de eventos anómalos son representados por el punto A y eventos
normales por el punto B . . . . . . . . . . . . . . . . . . . . . . . . 22
2-9 Algoritmo de detección anómala con búsqueda de vecinos cercanos . 23

3-1 Arquitectura de la Red Convolucional usada por YOLO. [23] . . . . 24


3-2 Interpretación de los valores del vector. [23] . . . . . . . . . . . . . 25
3-3 Representación de los campos del vector. [23] . . . . . . . . . . . . . 26
3-4 Puntajes asignados en el ejemplo de la clase perro. [23] . . . . . . . 26
3-5 Selección de bounding boxes, según se puntaje. [23] . . . . . . . . . . 27
3-6 IoU: relación entre el área de intersección y el área total de ambos
bounding box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5-1 Se muestra el tracking del objeto, mostrando como etiqueta la ve-


locidad del objeto en diferentes frames. . . . . . . . . . . . . . . . 42
5-2 En esta escena ocurre un evento anómalo. Se ve claramente como
una persona al darse cuenta del evento violento, corre en huida. Y
es detectado por nuestro algoritmo . . . . . . . . . . . . . . . . . . 43

xi
Lista de Figuras

5-3 Se muestra como el persona mantiene una velocidad promedio, pro-


pio de su caminar, sin ningún evento anómalo. . . . . . . . . . . . . 44

6-1 fight: Un total de 200 vı́deos, divididos en dos categorı́as: figth y


no-figth, ambas categorı́as con 100 vı́deos. [27] . . . . . . . . . . . . 48
6-2 no fight: Un total de 200 vı́deos, divididos en dos categorı́as: figth y
no-figth, ambas categorı́as con 100 vı́deos. [27] . . . . . . . . . . . . 49

xii
Lista de Tablas

6-1 Categoria figth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50


6-2 categorı́a no figth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

xiii
1
Introducción

Debido a una creciente preocupación por la seguridad en nuestra cuidad. Se


han venido dando la instalación, de manera masiva, de cámaras de vı́deo vigilancia
en las diferentes jurisdicciones, a manera de apoyo en la captación de delincuentes
y rápido accionar de los efectivos policiales. Muchos de estos casos de violencia, por
ejemplo: asaltos, peleas, etc. precisan de un accionar rápido; sin embargo, debido
al trabajo manual de control y supervisión, a pesar de ser intenso, es insuficiente
para una respuesta rápida y efectiva. [15]
Por tal razón, se necesita contar con un sistema de monitoreo, automático y
que funcione a tiempo real, para obtener las alertas inmediatas frente a alguno de
estos incidentes.
Con ayuda de Redes convolucionales y Visión computacional que han entrado
en una fase de fuerte desarrollo y su uso en los últimos años se ha beneficiado
de innovaciones en campos relacionados como el Deep Learning, redes de internet
más veloces, poder computacional y la tecnologı́a de las cámaras. Las aplicaciones
actuales van mucho más allá de una sencilla cámara de seguridad de hace una

1
1 Introducción

década. Ahora incluyen campos como el monitoreo de la lı́nea de montaje, la


medicina deportiva, la robótica y la teleasistencia 1 . La complejidad del desarrollo
de un sistema que realiza estas tareas complejas, requiere de técnicas coordinadas
de análisis de imágenes, clasificación y segmentación, algoritmos de inferencia y
algoritmos de estimación de espacio.

1.1. Contexto y motivación

Crear un sistema capaz de reconocer de forma automática eventos anómalos


en vı́deos de cámaras de vigilancia, que dé pie a una amplia gama de posibilidades,
como:

Vigilancia, aplicaciones en tiempo real de eventos que podrı́an ser sospe-


chosos, un software de detección de acciones violentas resulta ser altamente
provechoso.

Anotación e indexación de vı́deos en bibliotecas digitales, esto debido al


crecimiento exponencial que ha experimentado en los último años; de los
datos multimedia(youtube,vimeo,etc).

Teniendo como problema el número de cámaras, resulta casi imposible la


detección de acciones violentas por una persona encargada de localizarlos; esto
para el caso de vı́deo-vigilancia, y el etiquetado de manera manual es una tarea
imposible; para el caso de anotación e indexación de vı́deos.

1
La Teleasistencia es un servicio Preventivo de Asistencia Domiciliaria, inmediata y permanente.

2
1 Introducción

Sabiendo que el número de cámaras estan en aumento, resulta casi imposible la


detección de acciones anómalas, por una persona que ayuda controlar y supervisar
dichos actos; esto para el caso de vı́deo-vigilancia. Además, el etiquetado de manera
manual es una tarea imposible; para el caso de anotación e indexación de vı́deos.
También se debe de tomar en consideración que debido a todas las tareas que
conlleva una acción humana. Human action Recognition (HAR 2 ) resulta ser un
problema muy complejo. Sumado a la gran diversidad existente entre las personas;
tanto en su apariencia (ropa, rasgos fı́sicos, etc.), como en el estilo al momento de
ejecutar dichas acciones; por ejemplo, no todas corremos o caminamos de la misma
manera.
A pesar de que existen métodos de última generación; estos son muy lentos
3
y difı́ciles de optimizar debido a que cada componente del pipeline debe estar
entrenado por separado. Haciendo de estos de poco interés para trabajar sobre
vı́deos en tiempo real.

1.2. Descripción del problema

Estadı́sticas recientes demuestran que vivimos en paı́s donde se registran altas


tasas de violencia y actos criminales; llámense robos a mano armada, secuestros y
muchos actos delictivos que se dan en la vı́a pública. [15]
En combinación con los centros de vigilancia, las cámaras han estado aumentando

2
reconocimiento de acciones humanaras
3
Un pipeline es un conjunto de elementos de procesamiento de datos conectados en serie; donde
la salida de un elemento es la entrada de la siguiente

3
1 Introducción

en los últimos años y esto con lleva el aumento masivo de información, para ma-
nejar esta información se cuentan con atención constante. Pero surgen dos claros
problemas:

No hay Suficiente personal para la supervisión de las cámaras.

El personal se ve limitado al no poder controlar todas la cámaras al mismo


tiempo.

Lo que hace muy difı́cil poder detectar estas acciones violentas en los vı́deos
de vigilancia, todo esto a tiempo real. Esta es la motivación de este trabajo que
con ayuda de CV y DeepLearning pueden proporcionar ahorros económicos fuertes
eliminando la necesidad de asistencia las 24 horas en los centros de vigilancia.

1.3. Objetivos

1.3.1. Objetivo general

La detección de objetos en Computer Vision consiste en reconocer ”que” obje-


tos y ”donde” se encuentran dentro de una imagen. Para este objetivo tomaremos
un clasificador como “You Only look Once”. You Only look Once (YOLO) es una
red neuronal convolucional para la detección de objetos en tiempo real, la cual nos
permitirá saber que objetos se encuentran en la imagen (un frame del video), y
en base a esos datos podremos ser capaces de hacer lograr una “persistencia de
objetos”para obtener un tracking de los mismos dentro del vı́deo. Además, podre-
mos saber su trayectoria y también obtener su velocidad de desplazamiento. Toda

4
1 Introducción

esta información será útil para reconocer ciertos patrones en el contexto del vı́deo.
Tenemos como objetivo general reconocer estos eventos y poder mandar alertas
cuando algo inusual ocurra en el vı́deo.

1.3.2. Objetivo especı́ficos

Recolectar una base de datos para eventos anómalos.

Análizar y comparar las técnicas de basadas en Redes Convoluciones para


detectar y análizar acciones anómalas en vı́deos obtenidos de cámaras de
vı́deo vigilancia.

Modificar la arquitectura de You Only look Once de manera que se genere


una persistencia de datos útiles para el análisis del evento anómalo.

Detectar y realizar tracking de personas en escenas de vı́deo.

Trabajar sobre los BoundingBox con el objetivo de analizar la velocidad y


trayectoria de cada BoundingBox.

Determinar las caracterı́sticas relevantes para el reconocimiento de acciones


anómalas.

Se realizarán pruebas, posteriormente los resultados obtenidos se validarán


con una base de datos.

5
1 Introducción

1.3.3. Aspectos metodológicos

Enfoque de investigación

Se aplicara un enfoque mixto, integrando los enfoques cualitativos y cuanti-


tativos, según los elementos que integran la investigación.

Nivel de investigación

El nivel de investigación será aplicativo, como consecuencia de la investigación


se tendrá un framework capaz de detectar acciones anómalas en secuencias de vı́deo
en tiempo real.

Tipo de investigación

La investigación será experimental, cada objetivo trazado se sustenta con un


marco teórico previo. El método propuesto será evaluado para la detección de
acciones violentas en vı́deo.

1.4. Estructura del documento

En el capı́tulo 2 se observa y analiza los trabajos relacionados más importantes


desarrollados en los últimos años, se muestra cada uno de los métodos analizados.
En el capı́tulo 3 abordamos el marco teórico necesario para entender el desarrollo
de esta tesis.
En el capı́tulo 4 se expone la propuesta de este trabajo de investigación.

6
1 Introducción

En el capı́tulo 5 se presentan algunos de experimentos preliminares sobre vı́deos


reales de vigilancia.
En el capı́tulo 6 se presentan los experimentos y resultados de validación para este
trabajo de investigación.
En el capı́tulo 7 se presentan las conclusiones de este trabajo de investigación y
trabajos futuros .

1.5. Limitaciones

Una de las principales limitaciones se da en las cámaras, que deben tener un


campo de visión fijo, es decir, que una cámara no podrı́a estar en movimiento, ya
que el movimiento altera de manera significativa los resultados. Otra de las limita-
ciones nos la presenta el framework que utilizamos para la detección de objetos, en
este caso YOLO [23]. La arquitectura del framework limita el número de objetos
que se pueden reconocer por frame o imagen. Esto limita los ambientes en los cua-
les se pueda utilizar esta herramienta. Por ejemplo en cámaras de aeropuertos o
lugares donde la densidad de objetos sea muy alta, YOLO no será capaz de poder
determinar todos los objetos que se encuentran en el frame.

7
1 Introducción

1.6. Diagrama de Flujo

Figura 1-1: Diagrama de Flujo.

8
Trabajos relacionados
2
2.1. Consideraciones iniciales

Nosotros los seres humanos tan solo con un vistazo podemos detectar Los
seres humanos tan solo con un vistazo pueden detectar instantáneamente que ob-
jetos están en la imagen, donde están, y como ellos interactúan. El sistema visual
humano nos permite realizar acciones más complejas como manejar o caminar sin
mucho esfuerzo [23]. Algoritmos rápidos y eficaces que le permitan a una compu-
tadora manejar un auto sin la necesidad de sensores especiales; requiere que se
haga un análisis en tiempo real del contenido de la información procesada (por
ejemplo: una cámara de vı́deo del auto).

2.1.1. Convolutional Neural Networks

El primer trabajo que popularizó, son las redes convolucionales; en Computer


vision”fue AlexNet, desarrollado por Alex Krizhevsky, Ilya Sutskever y Geoff Hin-

9
2 Trabajos relacionados

ton. El AlexNet fue presentado en el desafı́o de ImageNet ILSVRC en 2012 y superó


significativamente al segundo subcampeón (el error de los 5 primeros del 16 % en
comparación con el subcampeón con 26 % de error). La Red Convolucional tiene
una arquitectura muy similar a LeNet; sin embargo, es más profunda, más gran-
de y presentaba capas convolucionales apiladas unas encima de otras (era común
tener sólo una capa de convolución (CONV ) siempre seguida inmediatamente por
una capa de POOL). [28]

2.2. Trabajos Relacionados.

2.2.1. Problema de la CNN al rededor de toda la imagen

Una Red Convolucional normal, recorre toda la imagen para poder luego ex-
traer las caracterı́sticas en las capas de convolución. Estos pasos, si bien podrı́an
ser paralelizables generarian un pipeline complejo. También, se debe tener en cuen-
ta que una CNN tiene como objetivo principal la clasificación, siendo su objetivo
inicial la detección de la imagen, lo cual implica que se genera un porcentaje por
cada clase que se encuentra en la imagen (solamente las clases con las cuales fue
entrenada la CNN), pero no indica la posición donde se encuentra el objeto (clase)
que fue detectado. [18]

10
2 Trabajos relacionados

2.2.2. Un mejor enfoque, Regions with CNN features

Enfoques más recientes como Regions with CNN features (R-CNN) usan méto-
dos que proponen regiones para primero generar posibles bounding boxes en una
imagen usando un proceso llamado selective search, para luego correr un clasifica-
dor en las regiones propuestas anteriormente. Luego de la clasificación, un post-
proceso es usado para definir los bounding boxes con mayor score en cada región
propuesta, además se eliminan detecciones duplicadas, y se actualizan scores de
los bounding boxes basado en los otros objetos de la escena. En la capa final de la
arquitectura, R-CNN añade un SVM Support Vector Machine que determina si es
un objeto y si ese fuera el caso, a que clase pertenece.

Una vez que se determina que existe un objeto en la region propuesta ini-
cialmente, se redefine las dimensiones del bounding box para que encaje lo mejor
posible al contorno del objeto.

Figura 2-1: Estructura de RCNN

Sin embargo, todas estas operaciones generan pipelines lentos y difı́ciles de

11
2 Trabajos relacionados

optimizar porque cada componente individual debe ser entrenado separadamente.


Existen versiones que han mejorado notablemente las desventajas de la R-CNN
clásica [31], a continuación mencionaremos algunos de ellos:

R-CNN, Fast R-CNN, YOLO.

2.2.3. Fast Regions with CNN features

Regions with CNN features (R-CNN) es poco lento por estas razones [31].

1. Está basada en la arquitectura AlexNet y es aplicado para cada región pro-


puesta para cada imagen (alrededor de 2000 pasadas por imagen).

2. Se requiere entrenar 3 diferentes modelos por separado. La CNN para generar


las caracterı́sticas de la imagen, el clasificador para predecir la clase, y el
modelo de regresión para redefinir el tamaño del bounding box. Este genera
un pipeline difı́cil de entrenar.

Fast Regions with CNN features(Fast R-CNN) soluciona estos problemas. A


continuación mencionaremos una de sus principales caracterı́sticas.

Regions of Interest

Como se mencionó el modelo R-CNN, se proponı́an alrededor de 2000 bounding


boxes por imagen. En este nuevo enfoque se utiliza una técnica llamada Region of
Interest Pooling (RoI-Pool). RoIPool comparte el paso a través de la CNN para
cada imagen con sus sub-regiones. En la Figura 2-2, se puede notar como las

12
2 Trabajos relacionados

caracterı́sticas de la CNN para cada región son obtenidas por la selección de una
región correspondiente del mapa de caracterı́sticas generada por la CNN. Luego,
las caracterı́sticas en cada región son pulidas(usualmente usando un max pooling).
Esto permite que solo se haga una pasada de la imagen original [9].

Figura 2-2: Regions of Interest: podemos notar como las caracterı́sticas de la


CNN para cada región son obtenidas por la selección de una región
correspondiente del mapa de caracterı́sticas generada por la CNN

Se Combinan todos los modelos en una solo red

La solución consiste en unir el entrenamiento de la CNN, el clasificador, y la


regresión en los bounding boxes en un solo modelo. En la Figura 2-3, Fast R-CNN
reemplaza el clasificador SVM con una capa softmax en la cima de la CNN para
dar como salida una clasificación. Tambien se añade una capa de regresión lineal
paralela a la capa de softmax para dar como salida las coordenadas de los bounding
boxes. De esta manera, todo se obtiene de una sola red.

13
2 Trabajos relacionados

Figura 2-3: Modelo unificado Fast R-CNN: Se combina el entrenamiento de la


CNN, el clasificador, y la regresión en los bounding boxes en un solo
modelo [31]

2.2.4. You Only Look Once: Unified, Real-Time Object

Detection

You Only Look Once (YOLO) se enfoca la detección de objetos en una imagen.
YOLO utiliza un enfoque de regresión, utilizando los pı́xeles de la imagen, las
coordenadas del bounding box, y probabilidad de clases. Esto permite a YOLO
predecir que objetos están presentes y donde están. En la Figura 2-4 se muestra
la estructura de YOLO.

14
2 Trabajos relacionados

Figura 2-4: Arquitectura de YOLO [23]

Detección Unificada

YOLO unifica los diferentes componentes de una detección de objetos en una


simple CNN. Usa caracterı́sticas de la imagen entera para predecir cada bounding
box, donde es muy probable que se encuentre un objeto que pertenece a una clase
de entrenamiento.

YOLO divide la imagen en una grid de SXS. Si el centro una un objeto


cae dentro de una grid, esta celda es responsable de detectar el objeto. Ver figura
2-5. Cada grid predice B, bounding boxes y otorga un puntaje, que representa el
grado de confianza para cada bounding box. Este puntaje de confianza refleja que
tan seguro se encuentra el modelo de que ese bounding box contenga un objeto,
además, refleja que tan preciso cree que es el bounding box. Si no existen objetos
en la celda, el valor de confianza deberı́a ser cero. De lo contrario, el puntaje
de confianza será igual a la Intersection over Union (IOU) de: bounding box

15
2 Trabajos relacionados

pronosticado y la ground truth.

Figura 2-5: El modelo YOLO modela la detección como un problema con enfoque
de regresión. Divide la imagen en una grid y simultáneamente predice
los bounding boxes. Los valores de confianza y probabilidades de clases
son codificadas como un vector S x S x (B *5+C)

Cada bounding box consta en 5 predicciones: x, y, w, h, y la confianza. Las


coordenada (x,y) representan el centro del bounding box relativa a los limites de
la grid. El ancho(w) y la altura(h) son predecidos en relación a la imagen entera.
Finalmente, la predicción de confianza representa la IOU entre la bounding box
predecida y su ground truth.

16
2 Trabajos relacionados

Diseño

YOLO esta implementada como una CNN y se evalúa sobre el dataset de de-
tección PASCAL VOC [5]. La primera capa de convolución extrae caracterı́sticas
de la imagen mientras las capas totalmente conectadas predicen las probabilidades
y coordenadas de salida.

La arquitectura de la red esta inspirada por el modelo GoogLeNet para la cla-


sificación de imágenes. La red tiene 24 capas de convolución seguidas por 2 capas
totalmente conectadas. Ver figura 2-4

YOLO se comparó con otros sistemas de detección en tiempo real, dichas


comparaciones fueron producto de los desafı́os que propone PASCAL VOC 2007.
Para entender la diferencia entre YOLO y las variantes de R-CNN, Siendo una
de las mejores variantes Fast R-CNN [9]. Nos basados en la mejoras notorias de
los errores en los desafı́os, que demuestran que YOLO puede mejorar incluso las
detecciones de Fast R-CNN y reducir los errores de falsos positivos, además de
mejorar su rendimiento. También se muestran los resultados en VOC 2012 y mAP
con los métodos actuales. En la siguiente Figura 2-6 se muestra un análisis de
error entre YOLO y Fast R-CNN.

17
2 Trabajos relacionados

Figura 2-6: Análisis de error: Fast R-CNN vs YOLO Estos cuadros mues-
tran el porcentaje de localización y errores de fondo en las N mejores
detecciones para varias categorı́as (N = #objetos en esa categorı́a)

2.3. Descripción de los trabajos relacionados a

detección de eventos anómalos

La misión del monitoreo continuo es poder garantizar la credibilidad. La gran


cantidad de transmisiones de vı́deo es un desafı́o para el funcionamiento de cual-
quier sistema de monitoreo. La videovigilancia automática puede ayudar a reducir
el costo de la mano de obra, ası́ como a dar el aviso apropiado según sea necesario.
Debido a esto, la detección de anomalı́as en videovigilancia ha atraı́do a muchos
investigadores en el campo de la visión computacional.

Sin embargo, en el contexto del análisis de vı́deo, conceptos como ’normal’

18
2 Trabajos relacionados

y ’anormal’ son fundamentalmente difı́ciles de definir. La mejor forma actual de


evaluar un detector de movimiento anormal es aprendiendo los patrones de activi-
dad normal. Dado que el aprendizaje se basa en las caracterı́sticas de movimiento
global, no se intenta asociar la anormalidad de movimiento detectada con ningún
’objeto’ en la escena.

2.3.1. Real-time abnormal motion detection in surveillance

video

Una solución novedosa se presenta en [17]. El algoritmo utiliza los vectores


de movimiento de macro-bloque que se generan en cualquier caso, como parte del
proceso de compresión de vı́deo [3]. Las caracterı́sticas de movimiento se derivan
de los vectores de movimiento. La distribución estadı́stica de estas caracterı́sticas
durante la actividad normal se estima mediante el entrenamiento. En la etapa
operacional, los valores de caracterı́stica de movimiento improbable indican un
movimiento anormal. Los resultados experimentales demuestran una operación
confiable en tiempo real.

2.3.2. Histogramas de orientación y magnitud de flujo óptico

En un nuevo enfoque se propone un nuevo descriptor de caracterı́sticas espacio-


temporal, denominado Histogramas de orientación y magnitud de flujo óptico
(HOFM), basado en información de flujo óptico para describir los patrones norma-
les en la escena, de modo que se pueda emplear una búsqueda simple de vecinos

19
2 Trabajos relacionados

más cercanos para identificar si un patrón desconocido determinado debe clasificar-


se como un evento anómalo. Este descriptor captura información espacio-temporal
de cuboides (regiones con soporte espacial y temporal) y codifica la magnitud y la
orientación del flujo óptico por separado en histogramas, de forma diferente a los
trabajos anteriores, que se basan únicamente en la orientación [4]. En la Figura
2-7 se puede apreciar en un diagrama como funciona mencionado enfoque.

Figura 2-7: Diagrama ilustrando el enfoque propuesto en [4] para detectar eventos
anómalos

Ya que es imposible modelar cada evento anómalo, se debe definir maneras


para describir patrones de movimiento normal para diferentes regiones de la escena
para ser capaces de reconocerlas cuando uno de esos patrones no se encuentre, y
poder clasificar el evento como anómalo. Este enfoque define 4 caracterı́sticas para
poder ser usadas como pistas para describir patrones de movimiento normal en

20
2 Trabajos relacionados

una determinada región de la escena:

velocidad - velocidad de los objetos en movimiento.

orientación - flujo común de los objetos.

apariencia - textura de los objetos.

densidad - número de objetos en movimiento.

Para construir una representación para los eventos normales en la escena que
fue capturada, tomando en cuenta las caracterı́sticas ya mencionadas, se propone
un descriptor de caracterı́sticas espacio-temporales basados tanto en la velocidad
y orientación inspirado por el trabajo de HOOF [4]. El cual captura información
basada en la orientación del flujo óptico y provee el Histograma de Flujo Óptico
Orientado (HOOF). Sin embargo no captura información sobre la velocidad de los
objetos en movimiento. Por otro lado este enfoque no solo captura la orientación,
sino también la magnitud de los vectores de flujo.

En este nuevo enfoque, el HOFM se obtiene de muestras de cuboides sobre


muchos frames de regiones espaciales no sobrepuestas. Durante la fase de aprendi-
zaje solo se utilizan vı́deos de eventos normales, se extrae y almacenan los vectores
de caracterı́sticas-HOFM [4] para cada región espacial, generando un conjunto de
”patrones normales”. Luego, durante la fase de prueba, se realiza un búsqueda por
cercanı́a considerando solo esa región en particular y de acuerdo a la distancia al
mejor patrón de coincidencia.

21
2 Trabajos relacionados

Detección de Eventos Anómalos

Figura 2-8: Búsqueda del vecino mas cercano(Nearest Neighbor search). Patrones
de eventos anómalos son representados por el punto A y eventos
normales por el punto B

La idea principal en el momento de la clasificación, es buscar un patrón que


sea similar al patrón de entrada. En la Figura 2-8 se muestra esto mediante puntos,
los azules representan patrones aprendidos y los naranjas los patrones de entrada.
Si el patrón de entrada es similar a alguno de los patrones aprendidos se considera
como normal, caso contrario se considerara como un evento anómalo.

En la etapa de reconocimiento, para cada cuboide, se usa el descriptor que


se obtuvo en la etapa de aprendizaje para clasificar el patrón P de entrada, en la

22
2 Trabajos relacionados

misma posición del cubo, como anómalo o normal. Estos pasos se muestran en la
Figura 2-9

Figura 2-9: Algoritmo de detección anómala con búsqueda de vecinos cercanos

23
Marco teórico
3
3.1. You only look once

You only look once(YOLO) es diferente de de otros detectores de objetos, ya


que utiliza una sola CNN para la clasificación y localización de los objetos, tales
resultados son enmarcados en los bounding boxes respectivos. El la Figura 3-1
cuadro muestra la arquitectura de la CNN de YOLO.

Figura 3-1: Arquitectura de la Red Convolucional usada por YOLO. [23]

Al final, se obtiene un vector de 7x7x30. En la Figura 3-2 se muestra la


interpretación de los valores del vector.

24
3 Marco teórico

Figura 3-2: Interpretación de los valores del vector. [23]

Para cada celda, se obtendrán 2 bounding boxes, los cuales estarán represen-
tados en los 10 primeros valores de un vector de 1x30, los 20 valores restantes son
usados para el numero de clases. Ver Figura 3-3 Los valores representan el puntaje
de la clase, el cual es la probabilidad condicional de que un objeto pertenezca a
una clase i, si es que un objeto esta presente en el bounding boxes.

Luego, se multiplican todos los puntajes obtenidos(que representan los punta-


jes sobre cada clase de entrenamiento) con el puntaje de confianza de cada bounding
boxes y se obtienen los puntajes de las clases para los diferentes bounding boxes.
Este paso se realiza en todas las celdas. Esto dando un resultado de 7x7x2 = 98.

Una vez que se tiene los puntajes de clases para cada bounding box. Por ejem-
plo, para el caso de la imagen de un perro en la imagen anterior(Ver figura 3-2),
su puntaje para los bounding boxes estarı́a representado en la posición (1,1) del

25
3 Marco teórico

Figura 3-3: Representación de los campos del vector. [23]

Figura 3-4: Puntajes asignados en el ejemplo de la clase perro. [23]

vector en todos los puntajes de los bounding boxes. Para luego evaluar esos valores
con un threshold y luego ordenarlos descendentemente.
El algoritmo de supresión Non-max es usado para asignar valores de cero a
los bounding boxes redundantes. Ver Figura 3-4.

Consideremos que el puntaje de confianza para el bounding box 1 es de 0,5 y


que es el puntaje mas alto, y que para el bounding box 47 es de 0,3. Si calculamos

26
3 Marco teórico

Figura 3-5: Selección de bounding boxes, según se puntaje. [23]

interseccion over union (IoU) en estos bounding boxes y es mayor a 0,5, se man-
tiene. Caso contrario se le asigna 0. Esto se hace para todos los bounding boxes.
Esto nos dejara con solo 2o3 bounding boxes, todos los demás serán cero. Esto se
explica en la Figura 3-5.

3.2. Intersect over Union

Intersection over Union (IoU) es una medida de evaluación utilizada para


medir la precisión de un detector de objetos en un conjunto de datos particular.
A menudo vemos esta medida de evaluación utilizada en los desafı́os planteados
para la detección de objetos, como el popular desafı́o PASCAL VOC. Por lo ge-
neral, encontrará que Intersection over Union se usa para evaluar el rendimien-
to de los detectores de objeto HOG + Linear SVM y los detectores basados en
Redes neuronales convolucionales (R-CNN, R-CNN más rápido, incluso YOLO,
etc.) [22] [23] [9]. Sin embargo, utilizaremos este algoritmo para poder genera una

27
3 Marco teórico

Figura 3-6: IoU: relación entre el área de intersección y el área total de ambos
bounding box.

persistencia entre dos bounding box 3-6. Tomando en cuenta un threshold para ası́,
tener una correlación entre futuros bounding box y los actuales.

3.2.1. Comprendiendo el comportamiento.

La tarea de comprender el comportamiento, es una de las tareas represen-


tativas de alto nivel en vigilancia visual, que analiza los comportamientos de los
objetos y da advertencias hacia el operador humano. La área del comprensión
del comportamiento se centra en el análisis del movimiento humano Los estudios
de análisis de movimiento humano se pueden clasificar como nivel básico, nivel
intermedio y nivel detallado.

28
3 Marco teórico

Nivel Básico.

Las personas, cada una de ellas, se representan como bounding boxes móviles.
y el patrón de las trayectorias o patones se movimiento de estas cajas se analizan
para reconocer el movimiento [24].

Nivel intermedio.

Las personas están representadas por las partes del cuerpo, como la cabeza,
el torso, los brazos y las piernas.

Nivel detallado.

En este nivel, el reconocimiento de actividades humanas se realiza en térmi-


nos de partes de un solo cuerpo, como el reconocimiento de gestos con manos,
reconocimiento de gestos de nivel básico e intermedio. [13]

3.2.2. Bounding Box

Los Bounding box (BBox) son cuadros imaginarios que se encuentran alrede-
dor de objetos, que se encuentran en constante verificación para detectar: señales,
peatones en o cerca de la carretera, vehı́culos, etc.

3.2.3. Distancia

Para calcular la velocidad de un objeto es necesario saber que distancia [14]


recorrió una persona, nosotros para este fin tomamos el centroide de cada persona

29
3 Marco teórico

que se encuentra en el interior de un bbox que fue detectada en el frame anterior


hasta el frame actual de esta manera obtenemos dos puntos medios de un mismo
objeto los cuales los calculamos dividiendo entre 2 las coordenadas que nos entrega
YOLO que son Top-Left y Bottom-Right para calcular la distancia entre estos
puntos utilizamos la distancia Euclidiana:

q
(3-1) Distancia = (x2 − x1 )2 − (y2 − y1 )2

Donde x1 = posición anterior del pixel y x2 =posición actual del pixel en el


ancho , y1 = posición anterior del pixel e y2 =posición actual del pixel en la altura
del bbox del objeto reconocido por YOLO.

3.2.4. Velocidad

Como se sabe la velocidad [26] de un objeto se calcula por la distancia que el


objeto se ha trasladado con relación al tiempo; siempre y en cuando la aceleración
sea constante, pero para nuestro caso al ser un movimiento de personas con ace-
leraciones variables es que hemos aplicado la formula de la velocidad media entre
frames:

xf − xi
(3-2) V elocidadmedia =
vf − vi

30
3 Marco teórico

Donde xf es la posición de la persona en el frame actual, xi la posición en el frame


anterior e tf es el tiempo en el frame actual , ti es el tiempo en el frame anterior;
el denominador al ser la variación de posición se calcula utilizando la distancia
Euclidiana [14].

3.3. Detección de Eventos Anómalos

Para la detección de eventos anómalos realizamos una serie de pasos que


describiremos en esta sección.

3.3.1. Obtener los Bounding Box

Primero necesitamos saber cuantas personas tenemos en un frame inicial del


vı́deo, para poder continuar con nuestro análisis. Luego utilizamos YOLO, con este
resultados podemos identificar la cantidad de personas, la posición y su Bounding
Box que los representa. Pero aquı́ encontramos un problema, si bien es cierto
nosotros obtenemos varias caracterı́sticas que representan las personas presentes
en el frame, tenemos que recordar que YOLO procesa cada frame por separado sin
compartir informacion entre cada frame del vı́deo, por lo que no es posible realizar
seguimiento de ningún objeto en pasar del tiempo.

3.3.2. Persistencia

Es en esta etapa donde se realizo el mayor trabajo de nuestra propuesta. Una


vez obtenidos los Bounding Box, que representan a cada persona, es que creamos

31
3 Marco teórico

una estructura donde almacenamos las caracterı́sticas de cada una de las personas
presentes en el frame.

Como cada persona es diferente creamos otra estructura que permite encap-
sular a cada persona y sus caracterı́sticas en cada frame, de esta manera siempre se
sabe el ultimo frame en el cual una persona estuvo presente. Además, se guarda la
información en caso haya desaparecido una persona del frame. Cuando un objeto
ya no se encuentra (tomando una cantidad de frames a manera de threshold ) es
necesario eliminarlo porque significa que la persona ya ha desaparecido y no se
encuentra en el vı́deo.

Cuando una persona se detecta nuevamente en un frame, es necesario calcular


cuanto de intersección existe entre: su posición anterior y su nueva posición. Por
lo que se utiliza el algoritmo de IoU entre dos regiones. Cuando la intersección
es mayor a 30 % se procede a insertar las nuevas caracterı́sticas de la persona en
la estructura de datos interna, y actualizar la información en caso el objeto se
encuentre en la estructura.

Una vez las personas están añadidas a la estructura de datos, se calcula la


distancia euclidiana de cada objeto indicado en nuestra primera estructura, para
poder obtener la distancia que recorrieron del frame anterior al frame actual.

32
3 Marco teórico

3.3.3. Velocidad

Cuando en un frame ya se han añadido las personas reconocidas y se han


calculado las distancias euclidianas se procede a calcular la velocidad media para
cada persona, en la estructura de datos que indica los objetos presentes utilizando
la formula: 3-2. De esta manera queda todo preparado para poder analizar si hay
o no un evento anómalo, en el vı́deo que se esta procesando.

3.3.4. Umbral de velocidad

Para definir un umbral que nos permita definir cuando las personas en el vı́deo
tienen un comportamiento que no es normal es que se ha analizado la velocidad
de mas de 2000 vı́deos, sobre los cuales se hizo un análisis estadı́stico para obtener
una velocidad media de una persona en cada uno de los vı́deos. Obteniendo los
siguientes resultados:

σ = +0,703
(3-3)
M = 1,9

Donde (σ) es la desviación estándar y la Media (M ) de todas las velocidades

3.4. Base de Datos

Para nuestros experimentos se utilizó vı́deo que fueron divididos en tres am-
bientes diferentes condiciones, los cuales son mencionados y son parte de la base

33
3 Marco teórico

de datos de la siguiente tesis; basada en la detección de acciones violentas [27]


donde podemos cambios bruscos en la velocidad de una acción violenta frente a un
escenario normal. Y también dos dataset que son parte de un trabajo de investi-
gación [12, 25] de Bermejo el cual uso para detectar peleas con una tasa de acierto
del 90 %.

34
4
Propuesta

Un evento anómalo se puede definir como, el cambio repentino en el compor-


tamiento del objeto dentro del vı́deo. Para poder detectar ese cambio repentino se
puede tener en cuenta, por ejemplo, la velocidad de desplazamiento del objeto, la
dirección en la cual se mueve, e incluso hasta una colisión entre ellos.

Se propone hacer uso de modelo You Only look Once para poder detectar los
objetos que interactúan en el vı́deo. Como se menciono en los capı́tulos previos,
el objetivo principal de este trabajo es poder detectar el eventos anómalos de los
vı́deos extraı́dos de cámaras de vigilancia, los cuales pueden ser personas y autos.

4.0.1. Entrenamiento

El problema de aprendizaje supervisado, es que necesita de una gran cantidad


de datos para tu entrenamiento, Y depende en gran medida de estos datos para su
correcto funcionamiento, ya que se proporciona un conjunto de imágenes etiqueta-

35
4 Propuesta

das(labeling). Es por eso que necesitamos de un dataset fiable. Para este objetivo
usaremos el dataset: Pascal VOC Data 2012 [6] Esta base de datos contiene veinte
clases, y un total de ochenta sub-clases, de objetos que se han seleccionado son,
como por ejemplo:

Persona: persona

Animal: pájaro, gato, vaca, perro, caballo, oveja

Vehı́culo: avión, bicicleta, barco, autobús, automóvil,

moto, tren Interior: botella, silla, mesa de comedor, etc.

Para el objetivo de esta tesis solo se hará uso de la clase person(persona).

4.0.2. Pre-procesamiento

Para esta etapa de pre-procesamiento, es necesario redimencionar las imágenes


de entrenamiento a 608x608 pixeles. Se entrenó la red neural convolucional con el
dataset Pascal VOC Data 2012, tomando solo en consideración la clase person.

4.0.3. Extracción de caracterı́sticas

Para la etapa de atracción de caracterı́sticas se utilizo el modelo de red neu-


ronal convolucional, YOLO [23], con lo que se obtuvo los BoundingBox de interés
para nuestro análisis.

36
4 Propuesta

4.0.4. Detección de Personas

YOLO nos ofrece la posibilidad de poder saber que objetos son los que se
encuentran en la escena; especı́ficamente en un frame, no es capaz generar una
persistencia de objetos para poder hacer un tracking del mismo objeto a lo largo
del vı́deo. Y ası́ analizar el comportamiento del mismo. Es decir, que si etiqueta
a un objeto dentro de la clase persona en un frame, no nos ofrece la posibilidad
de saber donde se encontrará esa persona en el siguiente frame. Este es uno de los
principales problemas que tenemos que afrontar.

Para poder lograr un seguimiento de la persona a lo largo del vı́deo. Se uti-


lizará la relación IoU, como algoritmo que nos permita saber el overlaping que
pueda existir entre los bounding boxes que genera YOLO entre frame y frame.

Este overlaping se medirá con respecto al porcentaje del área sobrepuesta en-
tre un objeto y otro, ası́ podremos tener la certeza que, el objeto que se identifico
en un frame anterior es el mismo que tomaremos en cuenta en un frame actual.
Esto no nos garantiza con exactitud que sea el mismo objeto, pero como YOLO
trabaja en un vı́deo a tiempo real, la posición (x,y) de un objeto en determinado
frame no será muy distante en el siguiente. Esa es la razón por la cual utilizamos
IoU como algoritmo para que calcular el porcentaje de sobre-posición de los boun-
ding boxes.

Una vez que seamos capaces de hacer un seguimiento de determinado objeto

37
4 Propuesta

dentro del vı́deo, el siguiente paso es poder detectar un evento anómalo. Los dos
enfoques en los cuales trabajaremos para poder calificar una acción como anómala
son:

Velocidad de desplazamiento.

Dirección de desplazamiento.

4.0.5. Velocidad de desplazamiento

Una vez que YOLO determina que objetos se encuentran en determinado


frame, genera un recuadro que lo enmarque; el cual solo consiste en los puntos
(extremo superior izquierdo, extremo inferior derecho). Con estos datos determi-
namos el centro del objeto, y ası́ entre frame y frame determinamos la distancia
recorrida, como la diferencia entre centros. Una vez tengamos la distancia, también
utilizaremos el numero de frames para hallar la velocidad promedio de desplaza-
miento.

4.0.6. Dirección de desplazamiento

Utilizaremos los mismos valores que utilizamos para calcular la velocidad. Los
centros de los objetos nos permitirán trazar una trayectoria del objeto a lo largo
del vı́deo. Ası́ seremos capaces de poder detectar un cambio en dicha trayecto-
ria. Por ejemplo si una persona se encuentra caminando a lo largo de la acera,
su trayectoria generara la gráfica de una recta con una determinada pendiente, si

38
4 Propuesta

intempestivamente cambia de una acera a otra esto también generara un cambio


en la pendiente de su trayectoria(este cambio será sujeto a una evaluación).

39
Experimentos Preliminares
5
5.0.1. Consideraciones iniciales

En el presente capitulo se muestran los resultados Preliminares obtenidos del


proyecto de investigación. Ası́ también, se describen los experimentos realizados
sobre algunos vı́deos, con la finalidad de alcanzar los objetivos especı́ficos descri-
tos anteriormente. La precisión es demostrada y analizada cuantitativamente y
cualitativamente.

5.0.2. Recursos utilizados

Las pruebas fueron realizadas en un procesador Intel(R) Core(TM)i7 de 3.7


GHz con 24GB de memoria RAM, con 01 tarjetas gráfica GeForce GTX 980 con
4 GB de memoria.
La cantidad de recursos consumidos, no sobre paso las 2 GB de memoria RAM
y en el caso del GPU solo se uso como máximo 56 % de la tarjeta de vı́deo.

40
5 Experimentos Preliminares

5.0.3. Experimentos sobre vı́deos

Para estos resultados preliminares se usaron 3 vı́deos extraı́dos de youtube,


con las siguientes caracterı́sticas:

A) asalto a blindado de Uruguay 2017: vı́deo consta de una escena de dispa-


ros, donde el operador de la cámara, hace un enfoque a un posible sospechoso
(Figura: 5-1).

B) Lauderhill homicide caught on surveillance video: En este vı́deo se puede


apreciar un evento inusual, donde una pareja es atacada por sorpresa por un
tercero y emprende su huida. (Figura: 5-2).

C) sheerbrooke video: Aquı́ no se aprecia ningún evento anómalo como en los


dos anteriores (Figura: 5-3).

En los anteriores vı́deos podemos apreciar, que el movimiento de los objetos (per-
sonas) son constates y con poca variación (ver Figura:5-1) . Sin embargo, cuando
alguno o muchos de ellos realizan acciones inesperadas, su velocidad varia dramáti-
camente, por tanto podremos considerar estas acciones como eventos anómalo y
poder enviar alguna señal de alerta.

41
5 Experimentos Preliminares

Figura 5-1: Se muestra el tracking del objeto, mostrando como etiqueta la velo-
cidad del objeto en diferentes frames.

42
5 Experimentos Preliminares

Figura 5-2: En esta escena ocurre un evento anómalo. Se ve claramente como


una persona al darse cuenta del evento violento, corre en huida. Y es
detectado por nuestro algoritmo

43
5 Experimentos Preliminares

Figura 5-3: Se muestra como el persona mantiene una velocidad promedio, propio
de su caminar, sin ningún evento anómalo.

44
Experimentos y Resultados
6
6.0.1. Consideraciones iniciales

En el presente capitulo se muestran los resultados obtenidos del proyecto de


investigación, se describen los experimentos realizados con el conjunto de datos
recolectado y distintos parámetros de las técnicas investigadas en la literatura,
con la finalidad de alcanzar los objetivos especı́ficos descritos en la sección 1.3. La
eficiencia de las técnicas, es medida por la precisión y por el tiempo de ejecución.
La precisión es demostrada y analizada cuantitativamente y cualitativamente a
través de experimentos.

6.0.2. Arquitectura DeepLearning

Para la implementación hemos usado a YOLO [23] en su versión 3, que se


encuentra disponible en su https://pjreddie.com/darknet/yolo/ donde podemos
encontrar la red neuronal que esta diseñada sobre Darknet que es un framework

45
6 Experimentos y Resultados

escrito en C y CUDA1 el cual podemos descargar para crear nuevos modelos y/o
usar uno existente.

A diferencia de las versiones anteriores de YOLO en esta versión [23] el mo-


delo de red neuronal fue actualizado para poder tener una mejor extracción de
caracterı́sticas pero sin descuidar la velocidad de procesamiento es ası́ que ahora
han logrado obtener.

Se uso un modelo pre-entrenado (YOLO v3), sobre el cual se realizó un nuevo


entrenamiento, es sobre esta base que se implemento la persistencia de datos sobre
la detección de personas, para ası́ aplicar los conceptos de velocidad y solapamiento
de los Boundingbox.

6.0.3. Recolección de datos

Los datos se conforman de un conjunto extenso de imágenes seleccionadas


manualmente de vı́deos de una cámara de vigilancia y vı́deos de youtube. [27].
Conformado con un total de 200 vı́deos, cada uno de una duración entre 4 y 8
segundos.

Para el entrenamiento de la red convolución, se dividieron los vı́deos en imáge-


nes cogidos cada 10 frames. Conformando un total de 10476 imágenes.

1
Compute Unified Device Architecture

46
6 Experimentos y Resultados

Methods Train, Test Accuracy Precision Recall


60 %, 40 % 0.76 0.76 0.73
ResNet
75 %, 25 % 0.87 0.86 0.78
60 %, 40 % 0.77 0.69 0.58
YOLO
75 %, 25 % 0.86 0.85 0.73

Para las pruebas se utilizaron un total de 200 6-16-2, estos vı́deos se encuen-
tran divididos en dos categorı́as: figth y no-figth [27].

6.0.4. Entrenamiento

Se entreno dos modelos sobre un mismo dataset, para la validación de nuestra


tesis. Nuestra Arquitectura de YOLO modelo entrenado alcanza una precisión del
86 % . A pesar de ser un porcentaje bajo en comparación con el modelo ResNet
que alcanza una presión del 87 %. Yolo tiene una rapidez muy superior en procesar
frames por segundo.

6.0.5. Código de la Propuesta

El código fuente del trabajo se encuentra disponible https://github.com/luigy-


mach/darknet libre para su descarga y aplicación futuras investigaciones.

6.0.6. Porcentaje anomalı́a en vı́deo.

Para poder obtener un porcentaje real de anomalı́a en un vı́deo, Se tomó en


consideración lo siguiente: el numero total de frames de cada vı́deo, el numero
de frames anómalos. Se dividió el numero de frames anómalos entre el total de

47
6 Experimentos y Resultados

Figura 6-1: fight: Un total de 200 vı́deos, divididos en dos categorı́as: figth y no-
figth, ambas categorı́as con 100 vı́deos. [27]

48
6 Experimentos y Resultados

Figura 6-2: no fight: Un total de 200 vı́deos, divididos en dos categorı́as: figth y
no-figth, ambas categorı́as con 100 vı́deos. [27]

49
6 Experimentos y Resultados

frames para obtener el grado de anomalı́a del vı́deo. Una vez obtenido el grado de
anomalı́a de cada vı́deo, de procedió a realizar la iteración en todos los 200 vı́deos.
Obteniendo una clara diferencia entre las dos categorı́as.

Categorı́a figth

Los resultados para la categorı́a fight son del 86.842 % de precisión como
resultado positivo, para detectar si se trata de una acción anómala. Además, se
obtuvieron los siguientes datos. Se obtuvo una media de 52.13 % con una desviación
estándar de 17.27 % para el total de vı́deos analizados en esta categorı́a. [TABLA
6-1]

Tabla 6-1: Categoria figth


Estadı́stico Error Estándar
Media 52,128 1.661
Mediana 54.625
Varianza 298.250
Desviación Estándar 17.269
Minino 16,929
Máximo 86.842

Tabla: De 100 vı́deos analizados con nuestro algoritmo, teniendo cada uno un
porcentaje de de eventos anómalos, se extrajo lo siguiente: la media de los por-
centajes de cada vı́deo es 52.128 %, obteniendo un máximo porcentaje de 86.842 %
y un mı́nimo de 16.929 %, con una desviación estándar de 17.269 %. Tomando en
cuenta que esta categorı́a solamente existe vı́deos con eventos anómalos (pelas)

50
6 Experimentos y Resultados

Categorı́a no-figth

Para esta categorı́a se obtuvo error máximo de 17 % al momento de catalogar


el vı́deo como no-fight. Se obtuvo una media de 5.90 % con una desviación estándar
de 4.27 % para el total de vı́deos analizados en esta categorı́a [TABLA 6-1]

Tabla 6-2: categorı́a no figth


Estadı́stico Error Estándar
Media 5.90 0.411
Mediana 5.00
Varianza 18.242
Desviación Estándar 4.271
Mı́nimo 0
Maximo 17

Tabla: De 100 vı́deos analizados en cuyo contenido no se encuentran eventos


anómalos (no hay peleas), se obtuvieron los siguientes datos: la media de los por-
centajes de cada vı́deo es 5.90 %, con un máximo 17 % y un mı́nimo de 0 %. Tomar
en cuenta que esta categorı́a solo contiene vı́deos que no contienen eventos anóma-
los.

51
Conclusiones y trabajo futuro
7
7.1. Conclusiones

Sé analizó los resultados obtenidos de los experimentos, es asi que podemos
caer en cuenta que a pesar de alcanzar un acierto del 86.842 % en los vı́deos
de fight. Tenemos un alto error en la categorı́a de no-fight

Las estructura de datos que se utiliza para lograr la persistencia de objetos,


y posteriormente analizar para catalogarlo como anómalo o no, es impercep-
tible, no desacelera el tiempo de procesamiento del algoritmo de YOLO para
cada frame.

Se analizó y comparó las técnicas de basadas en Redes Convoluciones para


detectar y analizar acciones anómalas en vı́deos obtenidos de cámaras de de
vı́deo vigilancia, llegando a la conclusión que a pesar que yolo obtiene una
porcentaje menor es mucho mas rápido al momento de procesar vı́deo en
tiempo real.

52
7 Conclusiones y trabajo futuro

Se logro detectar y realizar tracking de personas en escenas de vı́deo con


ayuda de la estructura que permite la persistencia de datos. A partir de de
un detector de objetos simple.

7.2. Trabajos Futuros

El porcentaje para detectar si un vı́deo es de la categorı́a fight es alto, tam-


bién, tenemos un porcentaje de error alto al momento de pasar nuestro al-
goritmo por los vı́deos de no-fight.

Tomar como única métrica a la velocidad, nos entrega datos muy dispersos, al
momento de catalogar un conjunto de vı́deos que contiene eventos anómalos.

Mejorar la detección de personas probando métodos mas actuales basado en


DeepLeaning.

Evaluar el desempeño aplicando pre-procesamiento en el vı́deo aplicado.

Encontrar otras técnicas para poder inferir la violencia a través de los Boun-
dingBox.

Investigar acerca otras estructuras de datos especificas para almacenar y


procesar objetos d tipo persona.

Implementar heurı́sticas para encontrar un tiempo idóneo al momento de


retirar objetos de la estructura de datos.

53
Bibliografı́a

[1] Abadi, Martı́n ; Agarwal, Ashish ; Barham, Paul ; Brevdo, Eugene ;


Chen, Zhifeng ; Citro, Craig ; Corrado, Greg S. ; Davis, Andy ; Dean,
Jeffrey ; Devin, Matthieu [u. a.]: Tensorflow: Large-scale machine learning
on heterogeneous distributed systems. En: arXiv preprint arXiv:1603.04467
(2016)

[2] Antipov, Grigory ; Berrani, Sid-Ahmed ; Ruchaud, Natacha ; Dugelay,


Jean-Luc: Learned vs. hand-crafted features for pedestrian gender recogni-
tion. En: Proceedings of the 23rd ACM international conference on Multimedia
ACM, 2015, p. 1263–1266

[3] Bhaskaran, Vasudev ; Konstantinides, Konstantinos: Image and video


compression standards: algorithms and architectures. Vol. 408. Springer Scien-
ce & Business Media, 1997

[4] Colque, Rensso Victor Hugo M. ; Júnior, Carlos Antônio C. ; Schwartz,

54
Bibliografı́a

William R.: Histograms of Optical Flow Orientation and Magnitude to Detect


Anomalous Events in Videos. En: Graphics, Patterns and Images (SIBGRA-
PI), 2015 28th SIBGRAPI Conference on IEEE, 2015, p. 126–133

[5] Everingham, Mark ; Eslami, SM A. ; Van Gool, Luc ; Williams, Chris-


topher K. ; Winn, John ; Zisserman, Andrew: The pascal visual object
classes challenge: A retrospective. En: International journal of computer vi-
sion 111 (2015), Nr. 1, p. 98–136

[6] Everingham, Mark ; Winn, John: The pascal visual object classes challenge
2012 (voc2012) development kit. En: Pattern Analysis, Statistical Modelling
and Computational Learning, Tech. Rep (2011)

[7] Farabet, Clement ; Couprie, Camille ; Najman, Laurent ; LeCun, Yann:


Learning hierarchical features for scene labeling. En: IEEE transactions on
pattern analysis and machine intelligence 35 (2013), Nr. 8, p. 1915–1929

[8] Felzenszwalb, Pedro F. ; Girshick, Ross B. ; McAllester, David ; Ra-


manan, Deva: Object detection with discriminatively trained part-based mo-
dels. En: IEEE transactions on pattern analysis and machine intelligence 32
(2010), Nr. 9, p. 1627–1645

[9] Girshick, Ross: Fast r-cnn. En: Proceedings of the IEEE international con-
ference on computer vision, 2015, p. 1440–1448

[10] Girshick, Ross: Fast R-CNN. En: The IEEE International Conference on
Computer Vision (ICCV), 2015

55
Bibliografı́a

[11] Girshick, Ross ; Donahue, Jeff ; Darrell, Trevor ; Malik, Jitendra:


Rich feature hierarchies for accurate object detection and semantic segmenta-
tion. En: Proceedings of the IEEE conference on computer vision and pattern
recognition, 2014, p. 580–587

[12] Gracia, Ismael S. ; Suarez, Oscar D. ; Garcia, Gloria B. ; Kim, Tae-Kyun:


Fast fight detection. En: PloS one 10 (2015), Nr. 4, p. e0120448

[13] Haritaoglu, Ismail ; Harwood, David ; Davis, Larry S.: Hydra: Multi-
ple people detection and tracking using silhouettes. En: Image Analysis and
Processing, 1999. Proceedings. International Conference on IEEE, 1999, p.
280–285

[14] Hinz, Stefan ; Weihing, Diana ; Suchandt, Steffen ; Bamler, Richard:


Detection and velocity estimation of moving vehicles in high-resolution spa-
ceborne synthetic aperture radar data. En: 2008 IEEE Computer Society
Conference on Computer Vision and Pattern Recognition Workshops IEEE,
2008, p. 1–6

[15] INEI, Tech. R.: INEI, “Informe técnico - estadı́sticas de seguridad ciudada-
na”. (2018)

[16] Kingma, Diederik ; Ba, Jimmy: Adam: A method for stochastic optimization.
En: arXiv preprint arXiv:1412.6980 (2014)

[17] Kiryati, Nahum ; Raviv, Tammy R. ; Ivanchenko, Yan ; Rochel, Shay:


Real-time abnormal motion detection in surveillance video. En: Pattern Re-

56
Bibliografı́a

cognition, 2008. ICPR 2008. 19th International Conference on IEEE, 2008,


p. 1–4

[18] Krizhevsky, Alex ; Sutskever, Ilya ; Hinton, Geoffrey E.: CNN. En:
Advances in neural information processing systems, 2012, p. 1097–1105

[19] Krizhevsky, Alex ; Sutskever, Ilya ; Hinton, Geoffrey E.: Imagenet


classification with deep convolutional neural networks. En: Advances in neural
information processing systems, 2012, p. 1097–1105

[20] Laptev, Ivan: On space-time interest points. En: International journal of


computer vision 64 (2005), Nr. 2-3, p. 107–123

[21] Lenc, Karel ; Vedaldi, Andrea: R-cnn minus r. En: arXiv preprint ar-
Xiv:1506.06981 (2015)

[22] Rahman, Md A. ; Wang, Yang: Optimizing Intersection-Over-Union in Deep


Neural Networks for Image Segmentation. En: International Symposium on
Visual Computing Springer, 2016, p. 234–244

[23] Redmon, Joseph ; Farhadi, Ali: YOLO9000: Better, Faster, Stronger. En:
arXiv preprint arXiv:1612.08242 (2016)

[24] Sato, Koichi ; Aggarwal, Jake K.: Temporal spatio-velocity transform and
its application to tracking and interaction. En: Computer Vision and Image
Understanding 96 (2004), Nr. 2, p. 100–128

57
Bibliografı́a

[25] Soomro, Khurram ; Zamir, Amir R. ; Shah, Mubarak: UCF101: A dataset


of 101 human actions classes from videos in the wild. En: arXiv preprint
arXiv:1212.0402 (2012)

[26] Tharanidevi, B ; Vadivu, R ; Sethupathy, KB: Moving Object Tracking


Distance and Velocity Determination based on Background Subtraction Al-
gorithm. En: IOSR Journal of Electronics and Communication Engineering
(IOSR-JECE) e-ISSN: 2278-2834 8 (2013), Nr. 1, p. 2278–8735

[27] U.N.S.A., Vicente Enrique Machaca A.: DETECCIÓN EN TIEMPO REAL


DE ACCIONES VIOLENTAS EN SECUENCIAS DE VIDEO CON VIF Y
HORN-SCHUNCK. (2017)

[28] for Visual Recognition, CS231n Convolutional Neural N.: AlexNet,


http://cs231n.github.io/convolutional-networks/#case.

[29] Wang, Heng ; Kläser, Alexander ; Schmid, Cordelia ; Liu, Cheng-Lin:


Action recognition by dense trajectories. En: Computer Vision and Pattern
Recognition (CVPR), 2011 IEEE Conference on IEEE, 2011, p. 3169–3176

[30] Wang, Heng ; Kläser, Alexander ; Schmid, Cordelia ; Liu, Cheng-Lin:


Dense trajectories and motion boundary descriptors for action recognition.
En: International journal of computer vision 103 (2013), Nr. 1, p. 60–79

[31] Yuan, Peng ; Zhong, Yangxin ; Yuan, Yang: Faster R-CNN with Region
Proposal Refinement.

58

También podría gustarte