Está en la página 1de 20

Juan José Fuenzalida González

Diseño e implementación de un sistema de


seguridad mediante Deep Learning

Informe 4 Proyecto de Título de Ingeniero Civil Electrónico

Escuela de Ingeniería Eléctrica


Facultad de Ingeniería
Valparaíso, 13 de diciembre de 2019.
Diseño e Implementación de un sistema de seguridad
mediante Deep Learning

to
Juan José Fuenzalida González

Informe 4 para optar al título de Ingeniero Civil Electrónica


aprobada por la comisión de la
Escuela de Ingeniería Eléctrica de la
Facultad de Ingeniería de la
Pontificia Universidad Católica de Valparaíso
conformada por

Sr. Gabriel Enrique Hermosilla Vigneau


Profesor Guía

Sr. Gonzalo Farías Castro


Profesor Correferente

Sr. Sebastián Fingerhuth Massmann


Secretario Academico

Valparaíso, 13 de Diciembre del 2019


Resumen

Los sistemas de monitoreo actuales basados en cámaras de seguridad se han convertido en un requisito
operacional considerado esencial en el ámbito de la seguridad y protección de entidades comerciales,
su funcionamiento está basado en la observación humana mediante el uso de cámaras de seguridad. El
operador al realizar una detección en el lugar de monitoreo notifica lo sucedido a las entidades
encargadas de la seguridad respectivas para que se proceda a las acciones correspondientes según el
caso. Actualmente la estructura de funcionamiento de los sistemas de monitoreo presentan una
considerable ineficiencia, debido al tiempo de detección y de reacción, además de múltiples
limitaciones humanas que se presentan en el monitoreo, este supone una enorme carga y dificultad
para las personas, además que su costo es demasiado alto para ser factible para muchas entidades.

En este proyecto se llevará a cabo el entrenamiento de una red neuronal llamada SSD-MobileNet, esta
red es muy utilizada en el procesamiento de imágenes, ya que es efectiva en la visión artificial, como en
la clasificación y segmentación de imágenes, entre otras aplicaciones. De esta forma, la aplicación de
esta red tendrá un buen rendimiento en lo que se quiere realizar en este proyecto, debido a que su
implementación en la detección de objetos en tiempo real ha tenido un gran éxito a lo largo de la
evolución de la inteligencia artificial. Además, se utilizarán redes pre-entrenadas, como es el caso de
FaceNet y SSD-MobileNet en detección de personas, que fue entrenado en el marco de Caffe-SSD

Se comenzará indicando el estado del proyecto, en el sentido de mostrar cual es la problemática del
proyecto y en qué contexto será aplicado. Para ello se expondrá los objetivos generales del proyecto,
los objetivos específicos, y los objetivos específicos de esta mesa para poder cumplir con el objetivo
general del proyecto. De esta manera se podrá orientar al lector para que pueda comprender los
distintos puntos a tratar. Posteriormente, se analizará la metodología utilizada para llevar a cabo este
proyecto, en el se indicará algunos conocimientos aplicados como es el caso del Deep Learning, red
neuronal convolucional SSD-MobileNet, FaceNet y algunas herramientas de entrenamiento. Al abarcar
el funcionamiento de esta red de manera detallada, el lector podrá comprender las diversas técnicas
que se usarán para lograr la detección del objeto que se quiere analizar. Luego de haber abordado estos
conocimientos previos, se expondrán las estrategias de detección en la que se explicará el
entrenamiento realizado para las clases pistola y cuchillo. Además, se verá la técnica de seguimiento de
centroide para realizar detecciones de personas. Luego expondremos algunos resultados para analizar
la eficiencia del sistema, y así concluir explicando la lógica de las alarmas para advertir a los usuarios
de una situación de peligro.
Índice general
Introducción .............................................................................................................................................. 1

1 Estado del proyecto. ........................................................................................................................... 2


1.1 Problematica. ........................................................................................................................................................................ 2
1.2 Contexto. ................................................................................................................................................................................. 2
1.3 Como atacar el problema................................................................................................................................................. 2
1.4 Objetivos. ................................................................................................................................................................................ 3
1.4.1 Objetivo general. .................................................................................................................................................... 3
1.4.2 Objetivos especificos. ........................................................................................................................................... 3
1.4.3 Objetivo específico de este informe. ............................................................................................................. 3

2 Metodologia. .......................................................................................................................................... 4
2.1 Deep Learning. ..................................................................................................................................................................... 4
2.2 Red Neuronal Convolucional SSD-MobileNet ......................................................................................................... 4
2.3 FaceNet .................................................................................................................................................................................... 5
2.4 Herramientas de trabajo .................................................................................................................................................. 6

3 Estrategias de deteccion ................................................................................................................... 7


3.1 Seguimiento de personas. ............................................................................................................................................... 8
3.1.1 Algoritmo de seguimiento del centroide..................................................................................................... 8

4 Experimentos y resultados ........................................................................................................... 10

5 Algoritmos ........................................................................................................................................... 11

Discusión y conclusiones ................................................................................................................... 13

6 Planificación........................................................................................................................................ 14
6.1 Carta Gantt para el primer semestre. .......................................................................................................................14
6.2 Carta Gantt para el segundo semestre. ....................................................................................................................15

Bibliografía .............................................................................................................................................. 16
Introducción

Hoy en día en nuestro país y en todo el mundo existe un gran problema que es realmente complejo
poder solucionar, la delincuencia, esta es realizada cada vez que se quebranta la ley, siendo la persona
que la comete denominada como delincuente. Pero este ámbito no solo abarca a algunos pocos, sino
que es una preocupación social en todos los países, ya que es un síntoma de los problemas de
desigualdad y exclusión que se experimentan en las sociedades. Siendo los factores que mayor la
condicionan la educación, el nivel socioeconómico, el barrio, la moralidad de los delincuentes, la
religiosidad y la convivencia interna.

En nuestro país viene aumentado desde muchos años atrás y más aún en la actualidad, debido a la fuerte
crisis social que está ocurriendo en la actualidad [1]. Esto se ha reflejado de forma notoria en la cantidad
de saqueos que ocurren a lo largo del país.

El continuo crecimiento de la delincuencia ha llevado a que la gran mayoría de hogares, negocios e


instituciones públicas y privadas tengan la necesidad de poseer equipos que le faciliten el resguardo de
sus establecimientos. De esta manera es que se han buscado distintas formas de poder combatirla,
siendo las más efectivas el uso de la tecnología [2].

Sabiendo que la tecnología es muy utilizada en este ámbito, es que cabe preguntarse ¿Es posible generar
un sistema, que me permita entregar alarmas efectivas ante la detección de individuos no deseado? Se
puede ver que en la literatura actual existe varias publicaciones que atacan la delincuencia mediante
Machine Learning [3], el cual es una disciplina científica del ámbito de la Inteligencia Artificial que crea
sistemas que aprenden automáticamente. De esta manera queremos aplicar estas ciencias para poder
detectar personas, su rostro, ver si estas poseen algún arma y así producir una alarma según el nivel de
peligrosidad.

Este objetivo se realizará generando bases de datos para poder entrenar las redes neuronales y
aplicando técnicas de object detection.

1
1 Estado del proyecto.
1.1 Problematica.
La implementación de cámaras de vigilancia en entidades comerciales, en medios de transporte o en
conserjería de un edificio, buscan registrar lo sucedido cuando se dan situaciones de peligro como
robos, sin embargo en el caso de estas entidades en la mayoría de los casos no solicitan la
implementación de un monitoreo en vivo a las empresas de seguridad debido en su mayor parte al costo
y a la baja eficiencia de esos sistemas, por lo cual en la mayoría de los casos se implementan solamente
cámaras. Por ejemplo, en conserjería de un edificio existen muchas cámaras que son vigiladas por una
sola persona, en este caso el conserje, pero esta persona no está las 24 horas del día observando estas
cámaras, debido a que tiene que realizar trabajos de administración o cualquier otra tarea
encomendada. De esta manera algunas acciones de peligro ocurridas en el edificio pasan
desapercibidas y no se les toma la importancia correspondiente.

1.2 Contexto.
Este trabajo se enfocará principalmente en la detección de distintos elementos o personas, que pueden
llevar a cabo alguna tarea delictiva que afecte a la seguridad de la población. De esta manera, se enfocará
principalmente en los sectores en donde el delito pueda ser detectado por una cámara, por ejemplo: en
los locales comerciales, vía pública, condominios, universidades, estadios de futbol, etc.

Para dar un ejemplo tomaremos un sector para desarrollar el proyecto, un condominio, en el cual
existen cámaras de seguridad, una persona encargada de vigilar estas cámaras (conserje), además se
sabe que personas pueden entrar al condominio y quiénes no. Por lo tanto, se puede implementar un
sistema para detectar personas que no pertenezcan a este condominio o que porten objetos que afecte
a la seguridad de las personas que viven en este sector.

1.3 Como atacar el problema.


Para poder atacar este problema se usará Deep Learning, principalmente los algoritmos SSD y
MobileNet, los cuales se explicarán a fondo a lo largo del informe. Primero por medio de una cámara se
generará una base de datos de imágenes que contengan diferentes elementos delictivos a clasificar,
luego se entrenará una máquina para que pueda detectar una clase y clasificarla. Si la máquina detecta
este elemento como sospechoso el sistema generará una alarma, advirtiendo a los usuarios que su
seguridad está en peligro. Además de esto, se obtendrán fotos de la persona que está cometiendo esta
acción delictiva.

2
Error! Use the Home tab to apply Título 1 to the text that you want to appear here. Error! Use the Home
tab to apply Título 1 to the text that you want to appear here.

1.4 Objetivos.
Para poder desarrollar el proyecto se deben cumplir distinto objetivos. A continuación, se darán a
conocer el objetivo general del proyecto, los objetivos específicos y el objetivo específico de este
informe para poder cumplir con el desarrollo del objetivo general.

1.4.1 Objetivo general.


Generar e implementar un sistema computacional que permita detectar personas (posibles ladrones)
en cámaras de seguridad utilizando Deep Learning

1.4.2 Objetivos especificos.


- Estudiar el estado del arte de Deep Learning (redes neuronales convolucionales, R-CNN, Fast R-CNN,
Faster R-CNN, Mask R-CNN, Mobilnet, etc.)

- Implementar algoritmos de Deep Learning en Keras

- Realizar el dataset para el proyecto, para posteriormente, aplicar el algoritmo seleccionado en videos
para obtener resultados preliminares

- Obtener las distintas detecciones en donde se analizará la precisión de cada una, para así generar una
lógica de trabajo.

- Revisión final del proyecto. En donde se debe obtener las detecciones trabajando juntas, con su
interfaz y generando las distintas alarmas del sistema.

1.4.3 Objetivo específico de este informe.


El objetivo de este informe es obtener las detecciones de rostros, personas, cuchillos y pistolas, que
darán una lógica de trabajo a nuestro sistema, para así cumplir con el objetivo del proyecto.

3
2 Metodologia.
Para realizar este proyecto, se necesita tener los siguientes conocimientos de redes neuronales y así
comprender el funcionamiento de la lógica de este trabajo

2.1 Deep Learning.


El Deep Learning es un subconjunto del Machine Learning, este campo será en el cual no enfocaremos
para poder realizar el proyecto. El cual consiste en una red neuronal profunda que emula el aprendizaje
humano con el fin de obtener ciertos conocimientos.

Para poder utilizar las virtudes del Deep Learning, nos basaremos en la API de object detection, el cual
es una tecnología informática relacionada con la visión por computadora y el procesamiento de
imágenes que se encarga de detectar objetos de cierta clase (como humanos, edificios o automóviles)
en imágenes y videos digitales. De esta manera cuando se trata de object detection basada en Deep
Learning, se encontrarán varias redes neuronales encargadas de realizar la detección de objetos, siendo
unas de las más importante la SSD-MobileNet, debido a su gran eficiencia en videos en tiempo real.

2.2 Red Neuronal Convolucional SSD-MobileNet


La SSD [4] es una red neuronal convolucional que está compuesta por una cantidad determinada de
capas convolucionales. Su algoritmo se divide en dos grandes partes: Extracción de características, y en
la aplicación de filtros convolucionales seguidas de capas pooling para la detección de objetos, como se
ve en la Figura 1. Pero esta red debe trabajar junto a MobileNet [5], de esta manera la red neuronal
MobileNet se encarga de clasificar las imágenes según su clase, utilizando convoluciones separables en
profundidad.

Figura 1. Proceso de una Red Neuronal Convolucional.

4
Error! Use the Home tab to apply Título 1 to the text that you want to appear here. Error! Use the Home
tab to apply Título 1 to the text that you want to appear here.

Cuando la imagen entra a la red, se encuentra con las primeras capas de la SSD, las cuales se encarga de
extraer las características de la imagen, luego estas características extraídas son utilizadas en los filtros
convolucionales para la detección de objetos. Posteriormente la red MobileNet se encarga de cumplir
la finalidad de este proyecto el cual es poder clasificar los objetos detectados según su clase y así llegar
a la predicción final. Este proceso, esta representado en la Figura 1.

2.3 FaceNet
El reconocimiento facial es una de las aplicaciones más emocionantes del aprendizaje profundo. El
aumento en la adopción de sistemas de reconocimiento facial ha sido fenomenal en los últimos años.
Pero, hay varios aficionados a la IA que piensan que el uso de cualquier tipo de sistema de
reconocimiento facial debe regularse adecuadamente para evitar actividades nefastas.

Para poder reconocer rostros, primero debemos detectar y alinear la cara antes de alimentarla al
modelo FaceNet [6]. Esto se logra con redes neuronales convolucionales en cascada de tareas múltiples
(MTCNN). Si alimentamos una imagen en esta red, dará los cuadros delimitadores para las caras en ella
(si está presente). De esta manera, las imágenes utilizadas para el entrenamiento se escalan, se
transforman y se recortan fuertemente alrededor del área de la cara. Se ha demostrado que este
proceso aumenta la precisión del reconocimiento facial en algunas tuberías.

Posteriormente, alimentamos FaceNet con las imágenes ya alineadas. Este modelo calcula
incrustaciones de 128-d que cuantifica la cara misma. Pero ¿cómo calcula realmente la red la
incrustación facial? Esta respuesta se encuentra en el proceso de capacitación que incluye los datos de
entrada a la red y la función de perdida de triplete.

Para entrenar un modelo de reconocimiento facial con aprendizaje profundo, cada lote de datos de
entrada incluye tres imágenes:

-El ancla es la cara actual y tiene una cara de la persona A.

-La segunda imagen es nuestra imagen positiva, esta imagen también contiene una cara de la persona
A.

-La imagen negativa, por otro lado, no tiene la misma identidad y podría pertenecer a la persona B , C o
incluso Z.

El punto es que el ancla y la imagen positiva pertenecen a la misma persona, mientras que la imagen
negativa no contiene la misma cara. Luego de recibir esta base de datos, la red neuronal calcula las
incrustaciones de 128-d para cada cara y luego ajusta los pesos de la red, a través de la función de
pérdida de triplete (representada en la Figura 2) de modo que nuestra imagen de anclaje (imagen de
una persona específica A) esté más cerca de las imágenes positivas (todas las imágenes de la persona
A) en comparación con las imágenes negativas (todas las demás imágenes). En otras palabras, podemos
decir que queremos que las distancias entre la incrustación de 128-d de nuestra imagen de anclaje y las
incrustaciones de nuestras imágenes positivas sean menores en comparación con las distancias entre
la incrustación de nuestra imagen de anclaje y las incrustaciones de nuestras imágenes negativas.

5
Error! Use the Home tab to apply Título 1 to the text that you want to appear here. Error! Use the Home
tab to apply Título 1 to the text that you want to appear here.

Figura 2. Perdida de triplete.

Esta distancia entre las distintas incrustaciones se calcula con la Ecuación 1.

Ecuación 1. Calculo de distancias.

De esta manera, la red puede aprender a cuantificar caras y devolver incrustaciones altamente robustas
y discriminatorias adecuadas para el reconocimiento de caras.

Figura 3. Estructura de FaceNet.

La estructura del modelo, como se ve en la Figura 3, consiste en una capa de entrada y una CNN
profunda, seguida por normalización L2, que se encarga de testear las incrustaciones faciales. Todo esto
esta seguido por la perdida de triplete durante el entrenamiento.

2.4 Herramientas de trabajo


Para el entrenamiento de las redes neuronales se utilizó la herramienta Google Colab, la cual posee la
gran ventaja de facilitar una GPU de forma gratuita. Tiene como condiciones ser usuario de una cuenta
en Google Drive, y realizar entrenamientos con periodos inferiores a 12 horas.

Además, se utiliza Tensorflow, la cual es una biblioteca que satisface las necesidades de sistemas
capaces de construir y entrenar redes neuronales para detectar y descifrar patrones, parecidas al
aprendizaje y razonamiento usados por los humanos.

Figura 4. TensorFlow y Google Colab.

6
3 Estrategias de deteccion
Para lograr desarrollar nuestro sistema se utilizarán 4 clases, las cuales se pueden ver en la Figura 5.
Estas son el cuchillo, una pistola, el rostro y el cuerpo de la persona.

Figura 5. Clases para detectar.

Para el desarrollo del sistema de detección, tal como son todos los sistemas que utilicen el aprendizaje
automático como estrategia de análisis, es necesario contar con una base de datos de grandes
dimensiones para el entrenamiento del modelo. Debido a lo difícil que es encontrar en la web una base
de datos con la resolución apropiada que queremos, se procedió a obtener fotografías con un celular
personal de todos los objetos, que queremos detectar. Además, para que el dataset fuera variado, se
incluyó imágenes de distintos conjuntos de datos, con el fin de que este fuera robusto. El dataset
utilizado para la detección de objetos está compuesto de 1000 imágenes por clase.

Hasta el momento se puede realizar la detección de cuchillos y pistolas. Cada imagen de estos conjuntos
de datos, tienen una resolución de 512 x 512, ya que con este tamaño se logró buenos resultados. A lo
largo de estos meses se usaron varias resoluciones, al utilizar imágenes con su resolución original, esta
detectaba muy bien los objetos, pero era demasiado lento en videos en tiempo real, por lo que no servía.
Luego se utilizó una resolución de 300 x 300. Con ella se lograba gran velocidad en tiempo real, pero en
la detección de objetos pequeños era muy impreciso. Por ende, se llegó a la conclusión de que había que
llegar a un término medio, de esta manera se leyeron distintos paper en donde se indicaban que
imágenes con una resolución de 512 x 512, entregaba buenos resultados en tiempo real, y lograba
detectar objetos pequeños de manera muy eficiente. Se procedió a entrenar la red con imágenes de la
clase pistolas, con una resolución de 512 x 512, la cual se obtuvieron buenos resultados.

En las clases de pistolas y cuchillos se realizó el entrenamiento con la plataforma de Google Colab, en la
cual se tuvo que generar una base de datos con sus respectivas etiquetas. Para la clase cuchillo se
utilizaron 2000 imágenes de entrenamiento, con 300 imágenes de prueba y para la clase pistola se

7
Error! Use the Home tab to apply Título 1 to the text that you want to appear here. Error! Use the Home
tab to apply Título 1 to the text that you want to appear here.

usaron 1200 imágenes de entrenamiento, con 180 imágenes de prueba. A este conjunto de datos se creó
su respectivo archivo tfrecord, que consiste en un formato de almacenamiento binario propio de
Tensorflow. Para la configuración del entrenamiento se utilizó la red SSD MobileNet v2 quantized
300x300, con tensorflow 1.15, con una batch size igual a 12 y un tiempo de entrenamiento de 48 horas.

Para la clase persona se está utilizando el modelo pre-entrenado SSD-MobileNet que fue entrenado en
el marco de Caffe-SSD (MobileNet SSD deploy.caffemodel). En ella se realiza seguimiento de personas
por medio de la distancia euclidiana que generan los distintos centroides de la bounding box, este
proceso será explicado a lo largo del informe.

Para el reconocimiento de rostros se utilizó FaceNet [6], el cual se puede usar para extraer
características de alta calidad de caras, llamadas incrustaciones de caras, que luego se pueden usar para
entrenar un sistema que detecte los rostros que el usuario desee.

3.1 Seguimiento de personas.


Este seguimiento permite aplicar una identificación única a cada persona rastreada, lo que permite
contar personas únicas en un video en tiempo real. Para que este algoritmo cumpla su propósito,
primero requiere de una detección inicial, además debe ser extremadamente rápido y ser capaz de
manejar cuando el objeto rastreado desaparece o se mueve fuera de los límites del cuadro de video.

Esta es una tarea difícil para cualquier algoritmo de visión por computadora, o procesamiento de
imágenes. Hay una variedad de trucos que se pueden utilizar para ayudar a mejorar el rastreador de
personas. De esta manera se utilizará una técnica denominada seguimiento de centroide, el cual se basa
en la distancia euclidiana entre centroides de objetos existentes y nuevos centroides de objetos entre
cuadros posteriores en un video.

3.1.1 Algoritmo de seguimiento del centroide.


El algoritmo de seguimiento del centroide supone que se está pasando un conjunto de coordenadas del
cuadro delimitador (x,y) para cada objeto detectado en cada fotograma. Como antes se mencionó este
seguimiento debe tener una detección inicial, el cual puede ser producido por cualquier tipo de detector
de objetos, siempre y cuando este entregue las coordenadas del objeto detectado.

Una vez que tenemos las coordenadas del cuadro delimitador, se debe calcular el centroide, o más
simplemente, las coordenadas del centro del cuadro delimitador. En la Figura 6, se observa los cuadros
delimitadores entregados por un modelo pre-entrenado, con su centroide y un ID único para cada
objeto detectado.

Figura 6. Cuadros delimitadores del modelo pre-entrenado.

8
Error! Use the Home tab to apply Título 1 to the text that you want to appear here. Error! Use the Home
tab to apply Título 1 to the text that you want to appear here.

Luego, en el transcurso del video irán apareciendo nuevos objetos, en el cual se debe determinar si se
puede asociar los nuevos centroides de objetos (objetos que irán apareciendo) con los antiguos
centroides de objetos. Para lograr este proceso, se calcula la distancia euclidiana entre cada par de
centroide de objeto existente y centroides de objeto de entrada. Pero, ¿Cómo se utiliza la distancia
euclidiana entre estos puntos para unirlos y asociarlos?

La suposición principal del algoritmo de seguimiento de centroide es que un objeto dado se moverá
potencialmente entre cuadros posteriores, pero la distancia entre los centroides para cuadros 𝐹𝑡 y 𝐹𝑡+1
será menor que todas las demás distancias entre objetos. Por lo tanto, si se elige asociar los centroides
con distancias minimas entre cuadros posteriores, se puede construir un rastreador de objetos
eficiente. En la Figura 7, se puede ver como el algoritmo de seguimiento de centroides elige asociar los
centroides que minimizan sus respectivas distancias euclidianas.

Figura 7. Elección de centroide que minimizan la distancia euclidiana

Pero ¿Qué pasa con el punto solitario en la esquina inferior izquierda? En el caso de que haya más
detecciones de entrada que los objetos existentes que se están rastreando, necesitamos registrar el
nuevo objeto. Simplemente significa que se está agregando el nuevo objeto a la lista de objetos
rastreados. De esta manera se le asigna un ID correspondiente y se almacena las coordenadas de su
centroide.

Luego para cada fotograma se debe repetir los pasos antes mencionados. Por esta razón se debe tener
un algoritmo robusto y rápido que pueda procesar esta gran cantidad de imágenes en tiempos
extremadamente cortos.

Además de estos complicados pasos, el algoritmo debe ser capaz de manejar cuando un objeto se ha
perdido, desaparecido o abandonado el campo de visión. La forma exacta en que maneja esta situación
depende realmente de donde debe implantarse el rastreador de objetos, pero para esta
implementación, eliminaremos el registro de los objetos antiguos cuando no puedan coincidir con
ningún objeto existente para un total de N tramas posteriores.

9
4 Experimentos y resultados
Para realizar los experimentos se utilizaron 100 imágenes por clase (TI), en las cuales en 80 imágenes
existía el objeto a detectar y en las otras 20 no. Para analizar las mediciones se utilizó una matriz de
confusión para encontrar los siguientes parámetros. Verdaderos positivo indica el total de detecciones
en imágenes que existía la clase a detectar. Los Falsos negativos muestran que no logro detectar la clase,
los falsos positivos indican que detecto una clase en imágenes en donde no existía el objeto y los
verdaderos negativos señalan que no detecto ninguna clase en imágenes en donde no existía el objeto.
Los resultados de las mediciones se pueden ver en la Tabla 1.

Tabla 1. Resultado de mediciones.

Con esto se puede ver que el sistema es eficiente al momento de realizar detecciones de personas,
rostros y pistolas. Pero no así con las detecciones de cuchillos en donde se muestra una precisión de
82%, esto se puede deber debido a la forma del objeto ya que es muy similar a varios elementos que se
presentan en el entorno de la detección.

10
5 Algoritmos
La idea de estas detecciones es poder identificar los momentos de peligro ocurridos en un momento y
lugar, de esta manera es fundamental que este sistema siga una lógica de trabajo.

Para poder alertar al usuario, es que se generaran distintos niveles de alarmas, dependiendo la
detección que realice el sistema. Donde la alarma nivel 1 (AL.1) consiste en enviar una notificación al
operador del sistema y la alarma nivel 2 (AL.2) consiste en enviar una notificación a las autoridades.
Además, para temas de registro si detecta una persona o se reconoce el rostro de la persona, se
obtendrá una foto de ella y se guardará en una carpeta definida (GD). Todas estas detecciones y su
respectiva precisión (Acc) y error se pueden ver en la Tabla 2.

Tabla 2. Resultado de mediciones.

 En la Figura 8, se realiza detecciones de la persona y su rostro, por lo cual generara la acción


de guardar el cuadro de ambas detecciones en una carpeta determinada. La cual tiene una
precisión de un 91 %.

Figura 8. Detección de personas y rostros.

11
Error! Use the Home tab to apply Título 1 to the text that you want to appear here. Error! Use the Home
tab to apply Título 1 to the text that you want to appear here.

 En la Figura 9, se realiza detecciones de la persona y su rostro. Además, de logra detectar un


cuchillo. Con esta detección se generará la alarma nivel 1.

Figura 9. Detección de personas, rostros y cuchillos.

 En la Figura 10, se realiza detecciones de la persona y su rostro. Además, de logra detectar una
pistola. Con esta detección se generará la alarma nivel 2.

Figura 10. Detección de personas, rostros y pistolas.

 En la Figura 11, se realiza todas las detecciones que necesita el sistema para estar completo. Al
obtener estas 4 detecciones el sistema entregará una alarma nivel 2.

Figura 11. Detección de personas, rostros, cuchillos y pistolas.

12
Discusión y conclusiones
El uso de la red neuronal convolucional SSD-MobileNet será de gran ayuda en la detección de objetos
tanto grandes como pequeños, debido a su arquitectura de capas convolucionales de escala múltiple,
logrando buenos resultados en la detección de objetos de distinto tamaño. Además, posee la ventaja de
entregar una alta eficiencia en videos en tiempo real, logrando realizar detecciones a una alta velocidad.

Con este tipo de sistemas, se quiere combatir la delincuencia y así entregar algún tipo de ayuda a las
víctimas de los sucesos, ya que de cierta manera se les proporciona un tiempo mayor de reacción en
momentos de peligro y, además, se obtiene un registro de las personas que cometen el delito.

El problema de la detección en los sistemas de seguridad es que presenta una complejidad alta debido
a los diferentes entornos en los que se encuentran las cámaras, por lo cual para la obtención de
resultados favorables en las detecciones se necesita una base de datos de grandes dimensiones y así
obtener una red neuronal más robusta.

Para trabajos futuro es necesario realizar multiproceso, ya que lograr desarrollar estas 4 detecciones
al mismo tiempo, requieren de un procesamiento computacional muy alto. Utilizando esta tarea, el
proyecto mejorará notoriamente, aumentando los FPS de las detecciones en videos en tiempo real.

El uso de la red neuronal convolucional SSD-MobileNet será de gran ayuda en la detección de objetos tanto grandes
como pequeños, debido a su arquitectura de capas convolucionales de escala múltiple, logrando buenos resultados
en la detección de objetos de distinto tamaño.

Para el entrenamiento y funcionamiento del sistema es recomendable el uso de una GPU, debido a que
el número como el tamaño de las imágenes son de grandes dimensiones, por lo cual se necesita un
procesamiento óptimo para reducir los tiempos de entrenamiento del modelo, así como tener un
funcionamiento óptimo en la detección.

13
6 Planificación
6.1 Carta Gantt para el primer semestre.

MES MARZO-ABRIL MAYO-JUNIO-JULIO AGOSTO


ACTIVIDAD / SEMANA 1 2 3 4 1 2 3 4 5 6 1 2 3 4
Selección Proyecto
Introduccion al Deep Learning
Estudio redes neuronales CNN
Estudio redes neuronales R-CNN
Estudio redes neuronales FAST
R-CNN
Estudio redes neuronales
FASTER R-CNN y Mask R-CNN
Estudio redes neuronales VGG-
16
Estudio redes neuronales SSD
Estudio redes neuronales
MobileNet
Preparación Informe/Disertación
MESA 1
Instalacion del ambiente de
trabajo
Realizar el entrenamiento por
una GPU personal
Realizar el entrenamiento por
Google Colab
Obtener resultados de los dos
entrenamientos
Preparación Informe/Disertación
MESA 2
Realización del Dataset, para
posteriormente realizar pruebas
de entrenamiento.
Preparación Informe/Disertación
MESA 3

14
Error! Use the Home tab to apply Título 1 to the text that you want to appear here.

6.2 Carta Gantt para el segundo semestre.

MES SEPTIEMBRE OCTUBRE NOVIEMBRE DICIEMBRE ENERO


ACTIVIDAD / SEMANA 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3
Aumento de base de
datos
Pruebas y error de las
redes
Tracking
Guardar frame
FaceNet, paper EVIC
Poster Evic, informe
de mesa 4
MESA 4
Multiproceso
Juntar las detecciones
Interfaz
Informe Mesa 5
MESA 5
Mediciones de error y
precision.
Preparación Informe
fina
MESA 6

15
Bibliografía

[1] G. Bacigalupe, "Crisis social en Chile: De la euforia a la tristeza", Psicólogo y psicoterapeuta,


académico de la UMASS, Boston e investigador principal de CIGIDEN.

[2] G. G. Nobili, "Videovigilancia y uso de tecnologías para prevenir la delincuencia", 25 de junio 2019.

[3] C. S. David Romero, "Convolutional Models for the Detection of Firearms in Surveillance Videos".

[4] D. A. D. E. C. S. R. C.-Y. F. a. A. C. B. Wei Liu1, "SSD: Single Shot MultiBox Detector".

[5] M. S. A. H. M. Z. A. Z. a. L.-C. Chen, "MobileNetV2: Inverted Residuals and Linear Bottlenecks".

[6] D. K. J. P. Florian Schroff, "FaceNet: A Unified Embedding for Face Recognition and Clustering".

16

También podría gustarte