Вы находитесь на странице: 1из 17

DEPARTAMENTO DE CIENCIAS DE LA ENERGÍA Y

MECÁNICA

CARRERA DE INGENIERÍA MECATRÓNICA

OPTATIVA DE PROFESIONALIZACIÓN

NRC: 7218

PROYECTO I PARCIAL

Estudiantes:

Anthony Beltrán

Alexander González

Steeven Taipicaña

Docente:

Ing. Johanna Tobar

Sangolquı́, Ecuador
Índice general

Lista de figuras 3

Lista de tablas 4

1. Planteamiento del problema 5

2. Objetivos 5

2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3. Propuesta Inicial 6

3.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

a. Bases de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

b. OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

a. Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

b. Raspberry Pi Camera module . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3. Algoritmo de Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Topologı́a de Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . 10

1
Topologı́a de Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4. Presentación de métodos y/o técnicas 12

4.1. Metodologı́a de la investigación . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5. Estado del Arte 14

6. Bibliografı́a 16

2
Índice de figuras

1. Definición Formal de Lı́mite . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Dataset de personas con mascarilla y sin ella . . . . . . . . . . . . . . . . . . . 7

3. Detección de personas mediante OpenCV . . . . . . . . . . . . . . . . . . . . 7

4. Raspberry Pi con software OpenCV . . . . . . . . . . . . . . . . . . . . . . . 8

5. Módulo de Cámara para Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . 9

3
Índice de tablas

1. Caracterı́sticas Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2. Especificaciones de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3. Especificaciones de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4. Topologı́as de Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . 11

5. Matriz del estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4
1. Planteamiento del Problema
En el contexto actual, el funcionamiento de subtes, buses y trenes, con su masividad y cer-
canı́a fı́sica entre pasajeros, está entre las principales fuentes de contagio y por tanto de preo-
cupación para las estrategias epidemiológicas de los paı́ses. Aproximadamente siete de cada
diez viajes en las ciudades de América Latina se realizan en transporte público o colectivo
[Alves, 2020]. Hasta ahora se han implementado tres grandes medidas para prevenir el contagio
en el transporte público en las ciudades. La primera, sobre la cual estará enfocado el presente
proyecto, se basa en limitar el número de pasajeros por vehı́culo, hecho que reduce el número
de contactos y, por tanto, de contagios. Durante la emergencia sanitaria, el Comité de Operacio-
nes de Emergencia, COE, dispone diversas medidas de seguridad en el transporte público que
deben ser cumplidas en su totalidad. Entre las medidas dispuestas por el comité se encuentra la
restricción de capacidad dentro de cada unidad, dependiendo del color de semáforo la capaci-
dad varı́a entre un 30 % (amarillo) y 50 % (verde), además se debe cumplir el distanciamiento
obligatorio de 2m entre cada persona y cada una debe utilizar una mascarilla.

2. Objetivos

2.1. Objetivo General


Identificar que se cumpla las normas de seguridad impuestas por el COE Nacional a causa de
la emergencia sanitaria mundial por el COVID-19, dentro de un transporte público (autobús),
como son: el distanciamiento debido, el número máximo de personas permitidas y el uso de
mascarilla obligatorio dentro del mismo.

2.1. Objetivos Especı́ficos


Realizar un análisis de imágenes que permita el reconocimiento de personas que utilicen
o no mascarilla, empleando bases de datos disponibles en internet y la aplicación de una
Red Neuronal de topologı́a convolucional.

Efectuar el entrenamiento de la Red Neuronal mediante un aprendizaje supervisado que


permita al ingresar los parámetros iniciales, realizar un efectivo reconocimiento y devo-
lución de la salida deseada, que en la práctica se traduce en: número de pasajeros dentro
de una unidad de transporte público (autobús), el cumplimiento de distanciamiento y el
uso de mascarilla obligatorio.

Generar datos estadı́sticos acerca del cumplimiento de las normas de bioseguridad en el


transporte público.

5
Implementar un sistema de alarmas que ayuden a informar sobre el número de pasajeros,
uso de mascarilla y distanciamiento dentro de la unidad de servicio.

Validar el algoritmo dentro de un entorno controlado para determinar su grado de aplica-


bilidad en tiempo real.

3. Propuesta Inicial
A partir de una cámara instalada dentro del medio de transporte público (bus), determinar
la cantidad de pasajeros y verificar el cumplimiento de las normas de seguridad sanitarias para
cada persona, las cuales son: distanciamiento mı́nimo de 2 metros y el uso adecuado de cubre
bocas, mascarilla. A partir de esta información, se puede saber si cumple o no con la cantidad
de pasajeros permitidos para los medios de transporte públicos de acuerdo al color del semáforo
que esté vigente.
Se propone implementar un algoritmo para detectar los rostros de los pasajeros. A partir de esta
información, determinar si se encuentran utilizando mascarilla. Para esto se va a desarrollar una
red neuronal convolucional, la cual será previamente entrenada con datasets de rostros tanto con
mascarilla como sin mascarilla.

Figura 1: Definición Formal de Lı́mite

3.1. Software
a. Bases de Datos

Para la detección de personas con mascarillas y sin ella, se usarán dos tipos de base de datos,
una que cuente con rostros de personas con mascarilla y otra con personas que no la usen, como
se muestra en la Figura 2.

6
Figura 2: Dataset de personas con mascarilla y sin ella
[Alemvangrieken, 2020].

Una vez reconocido a personas con o sin mascarilla, se programará la distancia a la cual se
encuentran los reconocimientos, validando la distancia mı́nima de 2m y marcando e identifican-
do quienes cumplen la normativa dentro del automotor.

b. OpenCV

OpenCV (Open Source Computer Vision Library) es una biblioteca de software de apren-
dizaje por computadora y visión por computadora de código abierto. OpenCV se creó para
proporcionar una infraestructura común para aplicaciones de visión por computadora y para
acelerar el uso de la percepción de máquinas en los productos comerciales. El software se va a
utilizar para la adquisición y manipulación de video de la cámara en la unidad de transporte.

Figura 3: Detección de personas mediante OpenCV

3.2. Hardware
Medios fı́sicos que se utilizarán para dar solución al problema planteado inicialmente.

a. Raspberry Pi

Inicialmente se plantea realizar el reconocimiento de los pasajeros con y sin mascarillas


usando el microprocesador Raspberry Pi, usando el software OpenCV y las librerı́as Keras y

7
TensorFlow ya que este microprocesador maneja un entorno Linux, con ayuda del algoritmo
previamente entrenado detectará los requerimientos necesarios en cada uno de los pasajeros.
En caso de necesitar mayor velocidad de procesamiento de imágenes, se optará por el uso del
procesador Nvidia Jetson Nano.

Figura 4: Raspberry Pi con software OpenCV


[Raspberry Pi, 2016]

A continuación se exponen las caracterı́sticas principales del microprocesador Raspberry


Pi.

Tabla 1: Caracterı́sticas Raspberry Pi

CPU+GPU Broadcom BCM2837B0 - Cortex-A53 (ARMv8) 64-bit SoC @1.4GHz


RAM 1GB LPDDR2 SDRAM
Wi-Fi + Bluetooth 2.4GHz y 5GHz IEEE 802.11.b/g/n/ac, Bluetooth 4.2, BLE
Ethernet Gigabit Ethernet sobre USB 2.0 (300 Mbps)
Puertos HDMI
USB 2.0 (4 puertos)
Puerto CSI para conectar una cámara.
Puerto DSI para conectar una pantalla táctil
MicroSD
[Raspberry Pi, 2016]

b. Raspberry Pi Camera module

Cámara compatible con Raspberry Pi (conector CSI), usada comúnmente en aplicaciones


de visión artificial. Modelo de 5 Megapixeles.

8
Figura 5: Módulo de Cámara para Raspberry Pi
[Raspberry Pi, 2016]

En las Tablas 2 y 3, se especifican las caracterı́sticas del módulo de cámara para Raspberry
Pi.
Tabla 2: Especificaciones de Hardware

DIMENSIONES25 x 24 x 9 mm
PESO
3g
RESOLUCIÓN
5 Mp
MODOS DE VIDEO
1080 (30 fps), 720 (60 fps), 640 x 480 (60/90
fps)
RESOLUCIÓN DEL SENSOR 2592 x 1944 pixeles
CAMPO DE VISIÓN HORIZONTAL 53.50o
CAMPO DE VISIÓN VERTICAL 41.41o
[Raspberry Pi, 2016]

Tabla 3: Especificaciones de Software

Formato de imagen JPEG (acelerado), JPEG + RAW, GIF, BMP,


PNG, YUV420, RGB888
Formato de video raw h.264 (accelerated)
Efectos negativo, solarizar, posterizar, pizarra, boceto,
anular, relieve, pintura al óleo, escotilla, gpen,
pastel, acuarela, pelı́cula, desenfoque, satura-
ción
Modos de exposición automático, nocturno, vista previa nocturna,
retroiluminación, foco, deportes, nieve, playa,
muy largo, fijo, antifuego, fuegos artificiales
[Raspberry Pi, 2016]

Se ha escogido esta cámara de manera preliminar debido a su bajo costo y disponibilidad


en el mercado. Constituye un buen punto de partida para realizar las primeras pruebas experi-
mentales. De acuerdo a los resultados obtenidos, se tomará la decisión de mantener la cámara o
utilizar una con mejores caracterı́sticas cuyas imágenes permitan mejorar la precisión del algo-
ritmo.

9
Esta cámara digital con su protocolo de comunicación (CSI), envı́a la información de las
imágenes al procesador en tiempo real. Es una cámara rgb debido a que el contraste que se
puede obtener con una cámara monocromática no es necesario para este tipo de aplicación. El
contraste no es tan pronunciado en las imágenes con mascarilla.

3.3. Algoritmo de Machine Learning


Para el proyecto se ha decidido usar Redes Neuronales.

Redes Neuronales

Las Redes Neuronales son un subgrupo de la Inteligencia Artificial basado en un sistema


de aprendizaje y procesamiento automático inspirado en el funcionamiento del sistema nervio-
so humano. Más concretamente, pertenecen al subgrupo del Machine Learning, una tecnologı́a
basada en crear sistemas que puedan aprender automáticamente, es decir, pueden descubrir pa-
trones complejos enterrados en grandes conjuntos de datos sin la necesidad de interferencia
humana [Bravent, 2019].

JUSTIFICACIÓN
Se ha decidido trabajar con Redes Neuronales debido a que es una herramienta que mediante
la especificación de parámetros iniciales, nos permite crear una combinación de los mismos para
predecir un cierto resultado. Encontrar la combinación que mejor se ajusta es .entrenar”la red
neuronal. Una red ya entrenada se puede usar luego para hacer predicciones o clasificaciones,
es decir, para .aplicar”la combinación. Para nuestro proyecto lo que requerimos es hacer una
diferenciación de las personas que usen mascarilla y clasificarlas de aquellas personas que no
lo hagan, por tanto como parámetros de entrada tenemos una base de datos de fotografı́as de
personas que pertenecen a ambos grupos y como herramienta de clasificación emplearemos a
la Red Neuronal.

Topologı́a de Redes Neuronales

Se ha decido el uso de la topologı́a Convolucional para la Red Neuronal debido a que sus
aplicaciones están orientadas especı́ficamente al análisis de imágenes. Las Redes Neuronales
Convolucionales pueden contar con un número ilimitado de capas, entendiendo que cuantas
más capas haya, más información tendrá y el reconocimiento será más preciso [Bravent, 2019].
En la Tabla 4, muestra una comparación de las diferentes topologı́as de redes neuronales
existentes.

10
Tabla 4: Topologı́as de Redes Neuronales

TOPOLOGÍA DEFINICIÓN ESQUEMA


Red Neuronal Está compuesta por una capa de neuronas
Monocapa que proyectan las entradas a una capa de
neuronas de salida donde se realizan los
diferentes cálculos

Red Neuronal Es una generalización de la red neuro-


Multicapa nal monocapa, la diferencia reside en que
mientras la red neuronal monocapa está
compuesta por una capa de neuronas de
entrada y una capa de neuronas de salida,
está dispone de un conjunto de capas in-
termedias (capas ocultas) entre la capa de
entrada y la de salida.
Red Neuronal En esta topologı́a cada neurona no se une
Convolucional con todas y cada una de las capas siguien-
tes sino que solo con un subgrupo de ellas
(se especializa), con esto se consigue re-
ducir el número de neuronas necesarias
y la complejidad computacional necesaria
para su ejecución.

Red Neuronal Las redes neuronales recurrentes no tie-


Recurrente nen una estructura de capas, sino que
permiten conexiones arbitrarias entre las
neuronas, incluso pudiendo crear ciclos,
con esto se consigue crear la temporali-
dad, permitiendo que la red tenga memo-
ria.
Redes de base Las redes de base radial calculan la sali-
radial da de la función en función de la distancia
a un punto denominado centro. La salida
es una combinación lineal de las funcio-
nes de activación radiales utilizadas por
las neuronas individuales.

[Calvo, 2017]

11
Mecanismo de Aprendizaje

Como mecanismo de aprendizaje para nuestro proyecto planteamos utilizar una Red de
Aprendizaje Supervisado, la cual se caracteriza porque el proceso de aprendizaje se realiza me-
diante un entrenamiento controlado por un agente externo (supervisor, maestro) que determina
la respuesta que deberı́a generar la red a partir de una entrada determinada. El supervisor com-
prueba la salida generada por el sistema y en el caso de que no coincida con la esperada, se
procede a modificar los pesos de las conexiones [Julián, 2014]. Entre las redes de aprendizaje
supervisado planteamos el uso de 2 tipos de aprendizaje:

1. Aprendizaje por corrección de errores

2. Aprendizaje por refuerzo

El selección de uno de estos 2 tipos de aprendizaje va a depender de la disponibilidad de recursos


y la facilidad del uso de la herramienta de aprendizaje que se adecúe mejor a la necesidad de
nuestro proyecto.

3.4. Implementación
Una vez construido el algoritmo de clasificación de personas (con o sin mascarilla) con
ayuda de redes neuronales, se procederá a programar alarmas dentro del transporte público
instalado, a fin de tener una observación clara del cumplimiento de normas de seguridad, como
lo son los dos metros de distancia y el uso de mascarilla. Además se puede tener información
del número de pasajeros dentro de la unidad y verificando la capacidad que puede tener el
mismo determinado por el semáforo, se procederá a emitir una alerta de capacidad completa,
para lograr cumplir este objetivo, una vez lleno el bus, únicamente será posible abrir las puertas
del vehı́culo si un pasajero lo solicita mediante el uso del timbre.

4. Presentación de métodos y/o técnicas

4.1. Metodologı́a de la investigación


Para el presente proyecto, por la naturaleza del mismo se empleará una metodologı́a de in-
vestigación cuantitativa, ya que se trabajará bajo la premisa de identificación de variables que
generen datos cuantificables y que puedan ser estudiados estadı́sticamente para generar la res-
pectiva conclusión del trabajo realizado. Dentro de la metodologı́a cuantitativa proponemos el
uso de la investigación correlacional, ya que se considera que es la que mejor se adapta a los
requerimientos del proyecto al momento de analizar los resultados provenientes de la imple-
mentación o puesta en marcha del sistema propuesto.

12
JUSTIFICACIÓN
El proyecto planteado en este documento tiene como objetivo el desarrollo de un sistema de
detección de pasajeros de autobús y la verificación del cumplimiento de normas de bioseguri-
dad especı́ficamente el uso de mascarilla, el respeto del distanciamiento social permitido, y el
aforo máximo permitido, emitiendo una alarma o una restricción de apertura de puerta cuando
alguna de estas normas no es respetada, por tanto la propuesta consiste en utilizar este sistema
de monitoreo o vigilancia de pasajeros como un factor que nos permita identificar el correcto o
incorrecto comportamiento de las personas dentro de una unidad de transporte.

Viéndose desde esa perspectiva se tiene un factor (sistema de monitoreo) que influye en
el comportamiento de los objetos estudiados (personas), que es justamente lo que estudia una
metodologı́a de investigación de tipo correlacional. Dicho de otra manera, lo que se pretende
con este estudio es conocer cómo influye en el comportamiento de las personas dentro de un
bus el conocimiento de que van a estar siendo monitoreados por un sistema de verificación de
cumplimiento de medidas de bioseguridad, para verificar si el comportamiento de las personas
efectivamente mejora y cumplen a cabalidad las medidas o al contrario les resulta indiferente el
sistema de monitoreo y no respetan las mismas.

La variable a medir en este caso resulta ser el porcentaje ( %) de cumplimiento de las nor-
mas, para que de esta manera la persona responsable tome acciones correctivas de ser necesario.
Además, también se pretende detectar las horas del dı́a en donde existe mayor o menor cumpli-
miento de las normas, para de igual manera poder tomar acciones correctivas.

13
5. Estado del arte

Tabla 5: Matriz del estado del arte

Herramientas Objetivo Métrica Aplicación


N Investigación

% Acierto

TensorFlow
OpenCV
Keras
YoLo
Phyton
Personas
Objetos
Distancia
Mascarilla
Vel. Respuesta
seguridad
Ctrl. Calidad
Educativo
Social

1 Measuring distance between objects in an ima- X X X X X X


ge with OpenCV. [Rosebrock, 2016]
2 COVID-19: Face Mask Detector with OpenCV, X X X X X X X X X
Keras/TensorFlow, and Deep Learning
[Rosebrock, 2020]

14
3 Your Social Distancing Detection Tool: How X X X X X
to Build One using your Deep Learning Skills
[PAI, 2020]
4 COVID-19: AI-Enabled Social Distancing De- X X X X X X X
tector using OpenCV [K, 2020]
5 Using Python to Monitor Social Distancing in a X X X X X X
Public Area [Anwar, 2020]
6 Real Time Object Detection, Tracking, and X X X X X X X X X X X
Distance and Motion Estimation based on
Deep Learning: Application to Smart Mobility
[Chen et al., 2019]
7 Development of low cost machine vision ba- X X X X X X
sed quality control system for a learning factory
[Louw and Droomer, 2019]
Bibliografı́a

[Alemvangrieken, 2020] Alemvangrieken (2020). App Web de Detección en tiempo real usan-
do tapabocas. Library Catalog: medium.com.

[Alves, 2020] Alves, G. (2020). Desafı́os del transporte público en tiempos de coronavirus |
CAF. Library Catalog: www.caf.com.

[Anwar, 2020] Anwar, A. (2020). Using Python to Monitor Social Distancing in a Public Area.
Library Catalog: towardsdatascience.com.

[Bravent, 2019] Bravent (2019). Redes Neuronales Convolucionales en el reconocimiento de


imágenes. Library Catalog: www.bravent.net Section: Servicios cognitivos.

[Calvo, 2017] Calvo, D. (2017). Clasificación de redes neuronales artificiales. Library Catalog:
www.diegocalvo.es.

[Chen et al., 2019] Chen, Z., Khemmar, R., Decoux, B., Atahouet, A., and Ertaud, J.-Y. (2019).
Real Time Object Detection, Tracking, and Distance and Motion Estimation based on Deep
Learning: Application to Smart Mobility. In 2019 Eighth International Conference on Emer-
ging Security Technologies (EST), Colchester, United Kingdom. IEEE.

[Julián, 2014] Julián, G. (2014). Las redes neuronales: qué son y por qué están volviendo.
Library Catalog: www.xataka.com.

[K, 2020] K, G. M. (2020). COVID-19: AI-Enabled Social Distancing Detector using


OpenCV. Library Catalog: towardsdatascience.com.

[Louw and Droomer, 2019] Louw, L. and Droomer, M. (2019). Development of a low cost
machine vision based quality control system for a learning factory. Procedia Manufacturing,
31:264–269.

[PAI, 2020] PAI, A. (2020). Build your Social Distancing Detection Tool using Deep Learning.
Library Catalog: www.analyticsvidhya.com.

[Raspberry Pi, 2016] Raspberry Pi (2016). Camera Module - Raspberry Pi Documentation.

15
[Rosebrock, 2016] Rosebrock, A. (2016). Measuring distance between objects in an image
with OpenCV. Library Catalog: www.pyimagesearch.com Section: Tutorials.

[Rosebrock, 2020] Rosebrock, A. (2020). COVID-19: Face Mask Detector with OpenCV, Ke-
ras/TensorFlow, and Deep Learning. Library Catalog: www.pyimagesearch.com Section:
Medical Computer Vision.

16

Вам также может понравиться