SlideShare una empresa de Scribd logo
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
1 
 
 
 
 
 
 
 
SYSTEM
SECURITY
CAMARA + ML /
OPENCV
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
2 
 
Indice
A 
Amazon Web Services (AWS) ∙ 7 
Aplicaciones de terceros ∙ 6 
C 
Codigo ∙ 9 
D 
Diagrama de Gantt ∙ 8 
E 
Entorno de desarrollo ∙ 4 
Estado del arte y motivación ∙ 3 
H 
Hardware ∙ 7 
I 
Instancias en la nube ∙ 5 
Intel NCSM2485.DK Movidius Neural Compute Stick 
2 with Myriad X Vision Processing Unit ∙ 8 
Introduccion 
Objetivos del proyecto ∙ 2 
Introducción ∙ 2 
K 
Keras ∙ 5 
M 
Maquinas e instancias ∙ 5 
Mxnet ∙ 5 
N 
NOOBS ∙ 6 
O 
OpenCV, scikit‐image, scikit‐learn y mas ∙ 5 
P 
Paquetes y librerías ∙ 4 
Python ∙ 5 
R 
Raspberry Pi 3 B+ ∙ 7 
Raspberry Pi módulo de cámara V2, 8 megapixeles, 
1080p ∙ 8 
Resumen ∙ 11 
RGPD ∙ 10 
T 
Twilio ∙ 6 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
3 
 
Introducción 
Objetivos del proyecto 
 
Este proyecto sigue la idea de las cámaras de seguridad del gobierno Chino, mediante el video obtenido 
de las cámaras de seguridad instaladas es capaz de detectar a criminales usando inteligencia artificial. 
Nuestro proyecto mucho mas modesto, sigue esta idea y trata de que mediante el uso openCV y ML 
(Machine learning / Maquinas de aprendizaje) pueda detectar ladrones reincidentes y avisar a la 
seguridad de la tienda para tener una mejor vigilancia y evitar cualquier tipo de robo. 
Como sabrán el RGPD (Reglamento general de protección de datos) evita que cualquier imagen sea 
almacenada por más de 30 días, pero este problema no nos afectaría primero porque son imágenes de 
video en tiempo real y porque se trataría de delincuentes reincidentes, de todas formas trataremos este 
problema y su solución en profundidad en el apartado correspondiente. 
Aunque la finalidad de este proyecto sería la creación de un clúster de servidores a los que se enviarían 
las imágenes de las distintas cámaras de las tiendas para así tratar con mayor agilidad y escalabilidad las 
imágenes, nos hemos centrado en la creación de un prototipo basado en Raspberry Pi para demostrar la 
viabilidad del proyecto incluso a pequeña escala. 
En resumen, las cámaras de la tienda enviaran las imágenes a nuestro equipo (Raspberry Pi) y estas 
serán tratadas con la última tecnología en reconocimiento facial y cuando detecten un ladrón, nuestro 
equipo enviara un sms al guardia asignado a la tienda con la foto del ladrón indicando que se trata de un 
delincuente para que tome las medidas que estime oportunas para evitar un robo. 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
4 
 
Estado del arte y motivación 
 
La historia de las redes neuronales es larga y a la par confusa para los no profanos. Mucha gente se 
sorprende de que el termino Deep learning (aprendizaje profundo) ha existido desde 1940 con 
diferentes nombres, el más común es ANN (Artificial Neural Network). Este modelo esta inspirado en 
por el cerebro humano y como las neuronas interactúan entre si, aunque esto no significa que sea un 
modelo realista del cerebro humano, sino que imita el funcionamiento de este basando se en capas y 
algoritmos. 
El primer modelo de red neuronal fue realizado por McCulloch y Pitts en 1943. Esta red neuronal fue un 
clasificador binario capaz de reconocer 2 categorías diferentes desde una misma entrada. El peso usado 
para clasificar las etiquetas debía ser ajustado manualmente, lo que lo hacía poco escalable y preciso. 
En 1950 el algoritmo del perceptrón fue publicado por Rosenblatt, este modelo automáticamente 
ajustaba los pesos requeridos para la clasificación. 
Luego vinieron Perceptron con activación linear publicado por Minsky y Papert en 1960, el algoritmo de 
bakpropagation publicado por Werbos en 1974, feedforward neural networks publicado por Rumenlhart 
y LeCun en 1986 y 1998 respectivamente. 
Hasta por fin llegar al Convolutional Neural Network (CNN) publicado por LeCun en 1988, que es justo el 
que usaremos en nuestra aplicación de reconocimiento fácil para así poder discernir entre compradores 
y ladrones. CNN es considerado uno de los más potentes clasificadores de imágenes y es uno de los 
responsables actuales del empuje que en estos días está teniendo el subcampo de la visión por 
computador dentro de la época  en que vivimos de las máquinas de aprendizaje. 
La motivación para realizar este proyecto es que durante un tiempo estuve muy interesado en el master 
de visión por computador, al final me decante en el de seguridad informática, pero tener esa pasión en 
la visión por computar me a permitido adentrarme en este apasionante mundo y aprender una gran 
cantidad de conocimientos técnicos que espero poder plasmarlos en este proyecto. 
Este proyecto me permitirá poner énfasis en mis conocimientos de big data, machine learning, CCN, 
openCV, etc. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
5 
 
Entorno de desarrollo 
Paquetes y librerías 
Para hacer posible este proyecto hemos optado por trabajar con diferentes librerías y paquetes usadas 
en el estudio de aprendizaje profundo en visión por computador, nuestro entorno de desarrollo consta 
de lo siguiente: 
Python 
Python es un lenguaje de programación compilado que es fácil de aprender y es una de las mejores 
soluciones para trabajar con los algoritmos de aprendizaje profundo, tiene una sintaxis intuitiva y simple 
y nos permite centrarnos en el aprendizaje de los conceptos básicos de aprendizaje profundo. Esta 
simplicidad nos ahorrara horas de trabajo buscando errores de código que podía suceder con otros 
lenguajes de programación. 
Keras 
Se trata de una librería de redes neuronales de aprendizaje profundo lo que nos permitirá construir y 
entrenar nuestro modelo de una forma rápida. Keras soporta ambas librerías TensorFlow y Theano, 
facilitando muchísimo la creación y entrenamiento de redes rápidamente. 
Mxnet 
También usaremos mxnet, una libraría de aprendizaje profundo que esta especializado en aprendizaje 
distribuido y multimaquina. Tiene la habilidad de paralelizar el entrenamiento a través de múltiples 
GPUs/dispositivos lo cual es critico cuando entrenamos arquitecturas de redes neuronales profundas 
con dataset de imágenes masivas. 
OpenCV, scikit‐image, scikit‐learn y mas 
OpenCV es una librería para el procesado de imágenes en tiempo real, esta librería creada entorno a 
1999 no fue hasta 2009 en la versión 2.0 que incluyo un soporte increíble para Python lo cual nos 
permite representar imágenes como arrays Numpys. 
OpenCv se ha convertido en el estándar de facto para procesar imágenes en tiempo real, nos permite 
funciones como cargar imágenes desde el disco del PC, mostrar la imagen en la pantalla y el uso de 
diferentes operaciones de procesado de imágenes (redimensionar, encoger, agrandar, recortar, etc) 
Como complemento a OpenCV también usaremos scikit‐image que se trata de una pequeña colección 
de algoritmos para el procesado de imágenes. 
Scikit‐learn is una librería de Python desarrollada para maquinas de aprendizaje, validación cruzada y 
visualización. Esta librería open source es el complemento ideal a Keras ya que nos evita volver a 
reinventar la rueda cuanto tratamos de entrenar, testear y validar nuestros modelos de aprendizaje 
profundo.
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
6 
 
Maquinas e instancias 
Nos centraremos en las maquinas he instancias para realizar este proyecto: 
Instancias en la nube 
Tal como indicamos en la introducción no nos centraremos en la creación de instancias en la nube, ya 
que nuestro proyecto mucho mas modesto se basa en la utilización de Raspberry y no un servidor 
central en al que le pasaremos los videos de todas las cámaras para poder pasarle los algoritmos. 
En caso de que deseáramos realizar esto, amazon dispone de AMI (Amazon Machine Instance) 
preconfiguradas con todas las librerías necesarias para el aprendizaje profundo preinstaladas y 
preconfiguradas, así como soporte para uso de GPUs lo que es extremadamente beneficioso. 
NOOBS 
Se trata de una imagen del software Raspberry con herramientas preinstaladas. 
Raspbian viene preinstalado con un montón de software para la educación, la programación y el uso 
general. Tiene Python, Scratch, Sonic Pi, Java y más. 
 
 
 
 
 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
7 
 
Aplicaciones de terceros 
Nos centraremos en aplicaciones de terceros o en nuestros caso almacenamiento en la nube apra 
realizar correctamente nuestro proyecto. 
Twilio 
Twilio es un servicio telefónico en la nube que mediante una API REST nos permite llamadas, SMS, MMS 
y mas funciones. 
Twilio servirá de puente entre nuestra raspberry y el teléfono del guardia de seguridad, ya que será el 
que se encargará de enviar el MMS con la imagen del delincuente una vez sea detectado por nuestro 
algoritmo. Según indica la documentación se podría enviar los mensajes via Whatsapp pero ahora 
mismo nos vamos a centrar en el envió de SMS standards. 
Amazon Web Services (AWS) 
AWS tiene un servicio llamado Servicio de almacenamiento simple (S3). Es un servicio muy popular 
usado como almacén de archivos, nosotros usaremos S3 para almacenar las imágenes generadas por la 
cámara de seguridad de Raspberry que son enviados al móvil. S3 está organizado en buckets, un bucket 
contiene archivos y carpetas. También puede tener permisos y grupos de seguridad propios o 
customizados. 
Permite guardar incluso en diferentes formas de base de datos (Postgres, Mysql, etc), permite usar 
funciones almacenadas mediante lambdas (otra de las funcionalidades de amazon). 
Las imágenes almacenadas serán enviadas desde S3 al teléfono del guardia de seguridad mediante la Api 
de Twilio. 
   
 
 
 
 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
8 
 
Hardware 
Enumeraremos todo el hardware necesario para llevar acabo este proyecto: 
Raspberry Pi 3 B+ 
La Raspberry Pi 3 B+ apareció en marzo del 2018 para actualizar el modelo anterior la Raspberry Pi 3 
Model B y entre sus mejoras cuenta con un nuevo procesador y mejor conectividad, así que pasa de 
tener 1.2Ghz a tener 1.4Ghz y en cuanto a la conectividad inalámbrica ahora incorpora doble banda a 
2,4GHz y 5GHz, y su nuevo puerto Ethernet se triplica, pasa de 100 Mbits/s en el modelo anterior a 300 
Mbits/s en el nuevo modelo, también cuenta con Bluetooth 4.2 (Low Energy). 
Intel NCSM2485.DK Movidius Neural Compute Stick 2 with Myriad X Vision Processing 
Unit 
Se trata de un USB que contiene hardware especializado para acelerar la computación en redes 
neuronales y visión por computador, así como ciertos dataset preentrenados para evitar gastar tiempo 
en el entrenamiento de las redes neuronales. 
Según la web de Intel: “ Intel® Neural Compute Stick 2 (Intel® NCS 2) nuevo y mejorado cuenta con la 
última unidad de procesamiento de la visión de alto desempeño de Intel: La Unidad de procesamiento 
de visión Intel® Movidius™ Myriad™ X. Con más núcleos informáticos y un acelerador de hardware 
dedicado para inferencia de redes neuronales profundas, Intel® NCS 2 ofrece hasta ocho veces más 
desempeño, en comparación con la Barra de cómputo neuronal Intel® Movidius™ (NCS) de la 
generación anterior.” 
Raspberry Pi módulo de cámara V2, 8 megapixeles, 1080p 
Se trata de la segunda versión de la cámara oficial de Raspberry, con 8 megapixeles y definición en HD. 
Sera la encargada en recoger las imágenes que serán tratadas en la Raspberry. 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
9 
Diagrama de Gantt 
 
Hemos realizado un diagrama de Gantt viendo la complejidad de nuestro microproyecto, podemos ver 
que se trata de un proyecto con un prototipado rápido (en 1 mes) ya tendremos un prototipo valido 
para probar el funcionamiento del prototipo correctamente. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
10
Codigo 
 
En nuestro código hemos seguido de inspiración uno de los muchos codigos disponibles en internet que 
previamente hemos modificado para realizar las funciones que deseamos, asi pues hemos elegido un 
código de reconocimiento facial que ha sido modificado para permitir detectar ladrones, el código 
original funciona exactamente al contrario, ya que detecta pasado 20 segundos quien es un usuario 
desconocido y envia un SMS de advertencia. En nuestro caso hemos quitado el temporizador de 20 
segundos por que no es útil en nuestro caso y los ladrones son los que identificara nuestro algoritmo, 
una vez detecte a los ladrones el algortimo lo que suele tardar 125 frames unos 5 segundos (Aunque 
esto depende mucho del numero de fotos de ladrones del dataset, la potencia del equipo, si esta 
distribuido el calculo entre diferentes equipos o solamente en uno como en nuestro caso) 
El esquema del código es el siguiente: 
 
En el directorio de Cascades que es donde se almacena los Haar Cascades (Algoritmo de reconocimiento 
facial) para el reconocimiento de caras dentro de las imágenes. 
En conf guardaremos un archivo json donde almacenaremos todas las claves ya sean de S3 hasta Twilio. 
Dentro de pyimagesearch tendremos toda la lógica necesaria para el reconocimiento de caras y su 
posterior identificación en los videos obtenidos por la cámara raspberry. 
gather_selfies.py es donde almacenaremos nuestros dataset con las imágenes de los delicuentes que 
queremos detectar. 
train_recognizer.py es un script que permite entrenar nuestro algoritmo de reconocimiento facial. 
security_cam.py  es el encargado de monitorizar todos los videos obtenidos por la cámara en buscar de 
identificar delicuentes, una vez identificado un delicuente se encarga de usar el twilionotifier.py que es 
un script que se encarga de enviar la foto del delicuente al móvil de la persona de seguridad. 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
11
RGPD 
Tal como hemos indicado anteriormente, este proyecto esta fuertemente afectado por la RGPD 
(Reglamento general de protección de datos), en nuestro caso es afectado por que las imágenes de 
video solo pueden ser almacenadas por un máximo de 30 días, excepto si se trata de un cuerpo de 
seguridad o son imágenes que pertenecen a la comisión de un delito, que podrían ser almacenadas 
hasta un total de 3 años. 
En nuestro proyecto las imágenes de la cámara son en tiempo real y solo se vería afectada tal vez las 
fotografías de los delincuentes que usáramos como muestra para el reconocimiento facial, pero como 
son fotografías que habrían sido obtenidas durante la comisión de un delito anterior, estamos hablando 
que podríamos almacenar hasta 3 años dichas fotografías. 
Esta es la única parte tediosa del proyecto ya que dependería de la interpretación de la ley y habría que 
consultarlo con un abogado especializado en protección de datos si se estuviera incurriendo en un delito 
al difundir las imágenes del delincuente vía móvil al personal de seguridad, pero todos los demás pasos 
incluidos en el proyecto no están afectados por la RGPD. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo 
12
Resumen 
El resumen de nuestro proyecto seria el siguiente: 
‐La Raspberry Pi monitorizaria todos los videos obtenidos por la cámara en busca de caras identificables, 
una vez identificada la cara de un delincuente, la raspberry enviaría la foto al móvil de la persona de 
seguridad y mostraría en los videos un cuadrado rojo con la palabra ladron para facilitar la identificación 
en la tienda. 
 
 
 

Más contenido relacionado

Similar a Proyecto wonderful

Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
Rafa Hidalgo
 
Trabajar con la nube azure en open
Trabajar con la nube  azure en openTrabajar con la nube  azure en open
Trabajar con la nube azure en open
David Pestaña Garrido
 
Could computing:
Could computing:Could computing:
Could computing:
Yulissa Carbajal Baños
 
Deep Learning, Python, C# y Azure
Deep Learning, Python, C# y AzureDeep Learning, Python, C# y Azure
Deep Learning, Python, C# y Azure
Manuel Rodrigo Cabello Malagón
 
2016 ULL Cabildo KEEDIO - IT y BANCA
2016 ULL Cabildo KEEDIO - IT y BANCA2016 ULL Cabildo KEEDIO - IT y BANCA
2016 ULL Cabildo KEEDIO - IT y BANCA
KEEDIO
 
OCP 4.10 y Observabilidad.pdf
OCP 4.10 y Observabilidad.pdfOCP 4.10 y Observabilidad.pdf
OCP 4.10 y Observabilidad.pdf
Ramón Gordillo
 
Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)
Eduard Tomàs
 
Informe de proyecto final de control discreto
Informe de proyecto final de control discretoInforme de proyecto final de control discreto
Informe de proyecto final de control discreto
Samuel Guiza Jerez
 
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
pmluque
 
Big Data perspectiva DevOps
Big Data perspectiva DevOpsBig Data perspectiva DevOps
Big Data perspectiva DevOps
Enrique Carbonell
 
Criptografia moderna
Criptografia modernaCriptografia moderna
Criptografia moderna
José Tomás Diarte Añazco
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
Gabriela Soto
 
SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.
Big-Data-Summit
 
Brainwave
BrainwaveBrainwave
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
Zemsania Services & Consulting
 
2015 2-Prácticas GN3
2015 2-Prácticas GN32015 2-Prácticas GN3
2015 2-Prácticas GN3
Francisco Medina
 
2015 2-prácticas gns3
2015 2-prácticas gns32015 2-prácticas gns3
2015 2-prácticas gns3
Francisco Medina
 
extWPS - WPS para gvSIG
extWPS - WPS para gvSIGextWPS - WPS para gvSIG
extWPS - WPS para gvSIG
Víctor Velarde
 
10 ciframoderna
10 ciframoderna10 ciframoderna
10 ciframoderna
Roberto Moreno Doñoro
 
Plug&play:deploying big data_solutions
Plug&play:deploying big data_solutionsPlug&play:deploying big data_solutions
Plug&play:deploying big data_solutions
David Piris
 

Similar a Proyecto wonderful (20)

Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Trabajar con la nube azure en open
Trabajar con la nube  azure en openTrabajar con la nube  azure en open
Trabajar con la nube azure en open
 
Could computing:
Could computing:Could computing:
Could computing:
 
Deep Learning, Python, C# y Azure
Deep Learning, Python, C# y AzureDeep Learning, Python, C# y Azure
Deep Learning, Python, C# y Azure
 
2016 ULL Cabildo KEEDIO - IT y BANCA
2016 ULL Cabildo KEEDIO - IT y BANCA2016 ULL Cabildo KEEDIO - IT y BANCA
2016 ULL Cabildo KEEDIO - IT y BANCA
 
OCP 4.10 y Observabilidad.pdf
OCP 4.10 y Observabilidad.pdfOCP 4.10 y Observabilidad.pdf
OCP 4.10 y Observabilidad.pdf
 
Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)
 
Informe de proyecto final de control discreto
Informe de proyecto final de control discretoInforme de proyecto final de control discreto
Informe de proyecto final de control discreto
 
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
 
Big Data perspectiva DevOps
Big Data perspectiva DevOpsBig Data perspectiva DevOps
Big Data perspectiva DevOps
 
Criptografia moderna
Criptografia modernaCriptografia moderna
Criptografia moderna
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
 
SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.
 
Brainwave
BrainwaveBrainwave
Brainwave
 
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
 
2015 2-Prácticas GN3
2015 2-Prácticas GN32015 2-Prácticas GN3
2015 2-Prácticas GN3
 
2015 2-prácticas gns3
2015 2-prácticas gns32015 2-prácticas gns3
2015 2-prácticas gns3
 
extWPS - WPS para gvSIG
extWPS - WPS para gvSIGextWPS - WPS para gvSIG
extWPS - WPS para gvSIG
 
10 ciframoderna
10 ciframoderna10 ciframoderna
10 ciframoderna
 
Plug&play:deploying big data_solutions
Plug&play:deploying big data_solutionsPlug&play:deploying big data_solutions
Plug&play:deploying big data_solutions
 

Último

CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDACURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
KruggerCossio1
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
FantasticVideo1
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
jeffersoncolina427
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
Edgar Najera
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
AlvaroEduardoConsola1
 
Presentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdfPresentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdf
jdcumarem02
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
FrancelisFernandez
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfEstilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
ElisaLen4
 
Propiedades Electricas de los Materiales
Propiedades Electricas de los MaterialesPropiedades Electricas de los Materiales
Propiedades Electricas de los Materiales
rogeliorodriguezt
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
HalmarMiranda
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
SandyCuenca
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Eliana Gomajoa
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptxGRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
JhonathanBaptista2
 

Último (20)

CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDACURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
 
Presentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdfPresentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdf
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfEstilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
 
Propiedades Electricas de los Materiales
Propiedades Electricas de los MaterialesPropiedades Electricas de los Materiales
Propiedades Electricas de los Materiales
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptxGRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
 

Proyecto wonderful

  • 1.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  1                SYSTEM SECURITY CAMARA + ML / OPENCV
  • 2.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  2    Indice A  Amazon Web Services (AWS) ∙ 7  Aplicaciones de terceros ∙ 6  C  Codigo ∙ 9  D  Diagrama de Gantt ∙ 8  E  Entorno de desarrollo ∙ 4  Estado del arte y motivación ∙ 3  H  Hardware ∙ 7  I  Instancias en la nube ∙ 5  Intel NCSM2485.DK Movidius Neural Compute Stick  2 with Myriad X Vision Processing Unit ∙ 8  Introduccion  Objetivos del proyecto ∙ 2  Introducción ∙ 2  K  Keras ∙ 5  M  Maquinas e instancias ∙ 5  Mxnet ∙ 5  N  NOOBS ∙ 6  O  OpenCV, scikit‐image, scikit‐learn y mas ∙ 5  P  Paquetes y librerías ∙ 4  Python ∙ 5  R  Raspberry Pi 3 B+ ∙ 7  Raspberry Pi módulo de cámara V2, 8 megapixeles,  1080p ∙ 8  Resumen ∙ 11  RGPD ∙ 10  T  Twilio ∙ 6       
  • 3.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  3    Introducción  Objetivos del proyecto    Este proyecto sigue la idea de las cámaras de seguridad del gobierno Chino, mediante el video obtenido  de las cámaras de seguridad instaladas es capaz de detectar a criminales usando inteligencia artificial.  Nuestro proyecto mucho mas modesto, sigue esta idea y trata de que mediante el uso openCV y ML  (Machine learning / Maquinas de aprendizaje) pueda detectar ladrones reincidentes y avisar a la  seguridad de la tienda para tener una mejor vigilancia y evitar cualquier tipo de robo.  Como sabrán el RGPD (Reglamento general de protección de datos) evita que cualquier imagen sea  almacenada por más de 30 días, pero este problema no nos afectaría primero porque son imágenes de  video en tiempo real y porque se trataría de delincuentes reincidentes, de todas formas trataremos este  problema y su solución en profundidad en el apartado correspondiente.  Aunque la finalidad de este proyecto sería la creación de un clúster de servidores a los que se enviarían  las imágenes de las distintas cámaras de las tiendas para así tratar con mayor agilidad y escalabilidad las  imágenes, nos hemos centrado en la creación de un prototipo basado en Raspberry Pi para demostrar la  viabilidad del proyecto incluso a pequeña escala.  En resumen, las cámaras de la tienda enviaran las imágenes a nuestro equipo (Raspberry Pi) y estas  serán tratadas con la última tecnología en reconocimiento facial y cuando detecten un ladrón, nuestro  equipo enviara un sms al guardia asignado a la tienda con la foto del ladrón indicando que se trata de un  delincuente para que tome las medidas que estime oportunas para evitar un robo.         
  • 4.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  4    Estado del arte y motivación    La historia de las redes neuronales es larga y a la par confusa para los no profanos. Mucha gente se  sorprende de que el termino Deep learning (aprendizaje profundo) ha existido desde 1940 con  diferentes nombres, el más común es ANN (Artificial Neural Network). Este modelo esta inspirado en  por el cerebro humano y como las neuronas interactúan entre si, aunque esto no significa que sea un  modelo realista del cerebro humano, sino que imita el funcionamiento de este basando se en capas y  algoritmos.  El primer modelo de red neuronal fue realizado por McCulloch y Pitts en 1943. Esta red neuronal fue un  clasificador binario capaz de reconocer 2 categorías diferentes desde una misma entrada. El peso usado  para clasificar las etiquetas debía ser ajustado manualmente, lo que lo hacía poco escalable y preciso.  En 1950 el algoritmo del perceptrón fue publicado por Rosenblatt, este modelo automáticamente  ajustaba los pesos requeridos para la clasificación.  Luego vinieron Perceptron con activación linear publicado por Minsky y Papert en 1960, el algoritmo de  bakpropagation publicado por Werbos en 1974, feedforward neural networks publicado por Rumenlhart  y LeCun en 1986 y 1998 respectivamente.  Hasta por fin llegar al Convolutional Neural Network (CNN) publicado por LeCun en 1988, que es justo el  que usaremos en nuestra aplicación de reconocimiento fácil para así poder discernir entre compradores  y ladrones. CNN es considerado uno de los más potentes clasificadores de imágenes y es uno de los  responsables actuales del empuje que en estos días está teniendo el subcampo de la visión por  computador dentro de la época  en que vivimos de las máquinas de aprendizaje.  La motivación para realizar este proyecto es que durante un tiempo estuve muy interesado en el master  de visión por computador, al final me decante en el de seguridad informática, pero tener esa pasión en  la visión por computar me a permitido adentrarme en este apasionante mundo y aprender una gran  cantidad de conocimientos técnicos que espero poder plasmarlos en este proyecto.  Este proyecto me permitirá poner énfasis en mis conocimientos de big data, machine learning, CCN,  openCV, etc.                         
  • 5.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  5    Entorno de desarrollo  Paquetes y librerías  Para hacer posible este proyecto hemos optado por trabajar con diferentes librerías y paquetes usadas  en el estudio de aprendizaje profundo en visión por computador, nuestro entorno de desarrollo consta  de lo siguiente:  Python  Python es un lenguaje de programación compilado que es fácil de aprender y es una de las mejores  soluciones para trabajar con los algoritmos de aprendizaje profundo, tiene una sintaxis intuitiva y simple  y nos permite centrarnos en el aprendizaje de los conceptos básicos de aprendizaje profundo. Esta  simplicidad nos ahorrara horas de trabajo buscando errores de código que podía suceder con otros  lenguajes de programación.  Keras  Se trata de una librería de redes neuronales de aprendizaje profundo lo que nos permitirá construir y  entrenar nuestro modelo de una forma rápida. Keras soporta ambas librerías TensorFlow y Theano,  facilitando muchísimo la creación y entrenamiento de redes rápidamente.  Mxnet  También usaremos mxnet, una libraría de aprendizaje profundo que esta especializado en aprendizaje  distribuido y multimaquina. Tiene la habilidad de paralelizar el entrenamiento a través de múltiples  GPUs/dispositivos lo cual es critico cuando entrenamos arquitecturas de redes neuronales profundas  con dataset de imágenes masivas.  OpenCV, scikit‐image, scikit‐learn y mas  OpenCV es una librería para el procesado de imágenes en tiempo real, esta librería creada entorno a  1999 no fue hasta 2009 en la versión 2.0 que incluyo un soporte increíble para Python lo cual nos  permite representar imágenes como arrays Numpys.  OpenCv se ha convertido en el estándar de facto para procesar imágenes en tiempo real, nos permite  funciones como cargar imágenes desde el disco del PC, mostrar la imagen en la pantalla y el uso de  diferentes operaciones de procesado de imágenes (redimensionar, encoger, agrandar, recortar, etc)  Como complemento a OpenCV también usaremos scikit‐image que se trata de una pequeña colección  de algoritmos para el procesado de imágenes.  Scikit‐learn is una librería de Python desarrollada para maquinas de aprendizaje, validación cruzada y  visualización. Esta librería open source es el complemento ideal a Keras ya que nos evita volver a  reinventar la rueda cuanto tratamos de entrenar, testear y validar nuestros modelos de aprendizaje  profundo.        
  • 6.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  6    Maquinas e instancias  Nos centraremos en las maquinas he instancias para realizar este proyecto:  Instancias en la nube  Tal como indicamos en la introducción no nos centraremos en la creación de instancias en la nube, ya  que nuestro proyecto mucho mas modesto se basa en la utilización de Raspberry y no un servidor  central en al que le pasaremos los videos de todas las cámaras para poder pasarle los algoritmos.  En caso de que deseáramos realizar esto, amazon dispone de AMI (Amazon Machine Instance)  preconfiguradas con todas las librerías necesarias para el aprendizaje profundo preinstaladas y  preconfiguradas, así como soporte para uso de GPUs lo que es extremadamente beneficioso.  NOOBS  Se trata de una imagen del software Raspberry con herramientas preinstaladas.  Raspbian viene preinstalado con un montón de software para la educación, la programación y el uso  general. Tiene Python, Scratch, Sonic Pi, Java y más.                   
  • 7.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  7    Aplicaciones de terceros  Nos centraremos en aplicaciones de terceros o en nuestros caso almacenamiento en la nube apra  realizar correctamente nuestro proyecto.  Twilio  Twilio es un servicio telefónico en la nube que mediante una API REST nos permite llamadas, SMS, MMS  y mas funciones.  Twilio servirá de puente entre nuestra raspberry y el teléfono del guardia de seguridad, ya que será el  que se encargará de enviar el MMS con la imagen del delincuente una vez sea detectado por nuestro  algoritmo. Según indica la documentación se podría enviar los mensajes via Whatsapp pero ahora  mismo nos vamos a centrar en el envió de SMS standards.  Amazon Web Services (AWS)  AWS tiene un servicio llamado Servicio de almacenamiento simple (S3). Es un servicio muy popular  usado como almacén de archivos, nosotros usaremos S3 para almacenar las imágenes generadas por la  cámara de seguridad de Raspberry que son enviados al móvil. S3 está organizado en buckets, un bucket  contiene archivos y carpetas. También puede tener permisos y grupos de seguridad propios o  customizados.  Permite guardar incluso en diferentes formas de base de datos (Postgres, Mysql, etc), permite usar  funciones almacenadas mediante lambdas (otra de las funcionalidades de amazon).  Las imágenes almacenadas serán enviadas desde S3 al teléfono del guardia de seguridad mediante la Api  de Twilio.                     
  • 8.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  8    Hardware  Enumeraremos todo el hardware necesario para llevar acabo este proyecto:  Raspberry Pi 3 B+  La Raspberry Pi 3 B+ apareció en marzo del 2018 para actualizar el modelo anterior la Raspberry Pi 3  Model B y entre sus mejoras cuenta con un nuevo procesador y mejor conectividad, así que pasa de  tener 1.2Ghz a tener 1.4Ghz y en cuanto a la conectividad inalámbrica ahora incorpora doble banda a  2,4GHz y 5GHz, y su nuevo puerto Ethernet se triplica, pasa de 100 Mbits/s en el modelo anterior a 300  Mbits/s en el nuevo modelo, también cuenta con Bluetooth 4.2 (Low Energy).  Intel NCSM2485.DK Movidius Neural Compute Stick 2 with Myriad X Vision Processing  Unit  Se trata de un USB que contiene hardware especializado para acelerar la computación en redes  neuronales y visión por computador, así como ciertos dataset preentrenados para evitar gastar tiempo  en el entrenamiento de las redes neuronales.  Según la web de Intel: “ Intel® Neural Compute Stick 2 (Intel® NCS 2) nuevo y mejorado cuenta con la  última unidad de procesamiento de la visión de alto desempeño de Intel: La Unidad de procesamiento  de visión Intel® Movidius™ Myriad™ X. Con más núcleos informáticos y un acelerador de hardware  dedicado para inferencia de redes neuronales profundas, Intel® NCS 2 ofrece hasta ocho veces más  desempeño, en comparación con la Barra de cómputo neuronal Intel® Movidius™ (NCS) de la  generación anterior.”  Raspberry Pi módulo de cámara V2, 8 megapixeles, 1080p  Se trata de la segunda versión de la cámara oficial de Raspberry, con 8 megapixeles y definición en HD.  Sera la encargada en recoger las imágenes que serán tratadas en la Raspberry.                                  
  • 9.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  9  Diagrama de Gantt    Hemos realizado un diagrama de Gantt viendo la complejidad de nuestro microproyecto, podemos ver  que se trata de un proyecto con un prototipado rápido (en 1 mes) ya tendremos un prototipo valido  para probar el funcionamiento del prototipo correctamente.                           
  • 10.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  10 Codigo    En nuestro código hemos seguido de inspiración uno de los muchos codigos disponibles en internet que  previamente hemos modificado para realizar las funciones que deseamos, asi pues hemos elegido un  código de reconocimiento facial que ha sido modificado para permitir detectar ladrones, el código  original funciona exactamente al contrario, ya que detecta pasado 20 segundos quien es un usuario  desconocido y envia un SMS de advertencia. En nuestro caso hemos quitado el temporizador de 20  segundos por que no es útil en nuestro caso y los ladrones son los que identificara nuestro algoritmo,  una vez detecte a los ladrones el algortimo lo que suele tardar 125 frames unos 5 segundos (Aunque  esto depende mucho del numero de fotos de ladrones del dataset, la potencia del equipo, si esta  distribuido el calculo entre diferentes equipos o solamente en uno como en nuestro caso)  El esquema del código es el siguiente:    En el directorio de Cascades que es donde se almacena los Haar Cascades (Algoritmo de reconocimiento  facial) para el reconocimiento de caras dentro de las imágenes.  En conf guardaremos un archivo json donde almacenaremos todas las claves ya sean de S3 hasta Twilio.  Dentro de pyimagesearch tendremos toda la lógica necesaria para el reconocimiento de caras y su  posterior identificación en los videos obtenidos por la cámara raspberry.  gather_selfies.py es donde almacenaremos nuestros dataset con las imágenes de los delicuentes que  queremos detectar.  train_recognizer.py es un script que permite entrenar nuestro algoritmo de reconocimiento facial.  security_cam.py  es el encargado de monitorizar todos los videos obtenidos por la cámara en buscar de  identificar delicuentes, una vez identificado un delicuente se encarga de usar el twilionotifier.py que es  un script que se encarga de enviar la foto del delicuente al móvil de la persona de seguridad.         
  • 11.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  11 RGPD  Tal como hemos indicado anteriormente, este proyecto esta fuertemente afectado por la RGPD  (Reglamento general de protección de datos), en nuestro caso es afectado por que las imágenes de  video solo pueden ser almacenadas por un máximo de 30 días, excepto si se trata de un cuerpo de  seguridad o son imágenes que pertenecen a la comisión de un delito, que podrían ser almacenadas  hasta un total de 3 años.  En nuestro proyecto las imágenes de la cámara son en tiempo real y solo se vería afectada tal vez las  fotografías de los delincuentes que usáramos como muestra para el reconocimiento facial, pero como  son fotografías que habrían sido obtenidas durante la comisión de un delito anterior, estamos hablando  que podríamos almacenar hasta 3 años dichas fotografías.  Esta es la única parte tediosa del proyecto ya que dependería de la interpretación de la ley y habría que  consultarlo con un abogado especializado en protección de datos si se estuviera incurriendo en un delito  al difundir las imágenes del delincuente vía móvil al personal de seguridad, pero todos los demás pasos  incluidos en el proyecto no están afectados por la RGPD.                                               
  • 12.       SYSTEM SECURITY CAMARA + ML / OPENCV Autor: Diego Muiño Orallo  12 Resumen  El resumen de nuestro proyecto seria el siguiente:  ‐La Raspberry Pi monitorizaria todos los videos obtenidos por la cámara en busca de caras identificables,  una vez identificada la cara de un delincuente, la raspberry enviaría la foto al móvil de la persona de  seguridad y mostraría en los videos un cuadrado rojo con la palabra ladron para facilitar la identificación  en la tienda.