Está en la página 1de 6

31- Ciencia Tecnología e Innovación

Sistema difuso de alerta de sueño al volante utilizando


algoritmo de Viola-Jones.
Fornerón Acosta, Juan Pablo Mendieta Zárate, Hugo Enrique Almeida Delgado, Carlos Domingo
jpforneron@gmail.com hugo.mendieta@fpune.edu.py carlosdad@gmail.com
Autor Autor Tutor

Facultad Politécnica
Universidad Nacional del Este

Resumen
Conducir en estado de somnolencia es una causa importante detrás de los accidentes de carretera,
exponiendo al conductor a riesgo de accidente con mayor probabilidad en comparación a la
conducción en estado de alerta.
El uso de sistemas de monitoreo que notifican el nivel de atención del conductor demuestra
importancia en la prevención de accidentes relacionados al estado de vigilia. Este trabajo introduce
el enfoque de visión por computador, donde la Raspberry Pi 3, con los diferentes componentes
electrónicos necesarios, utilizados juntamente con técnicas de inteligencia artificial y reconocimiento
de patrones, para implementar una solución no intrusiva para la detección del nivel de somnolencia
y distracciones de conductor de vehículo automotor, además de brindar una alternativa bastante
accesible para instalar el sistema en cualquier tipo de vehículo automotor.
Se presenta un prototipo sencillo para detección de somnolencia y distracciones, en el cual el método
de Viola-Jones es utilizado para el reconocimiento de rostros, un clasificador tipo cascada que utiliza
una base de datos de imágenes acorde al Sistema Codificado de Acciones Faciales (SCAF, o FACS en
inglés) para su entrenamiento. Se cuenta la cantidad de detección de ojos, tanto abiertos como
cerrados, y los cambios en la boca, para el conteo de bostezos en una secuencia continua de imágenes
(lo que constituye un indicador de somnolencia) para luego poder utilizar los datos captados por el
sistema y medir el nivel de somnolencia del conductor por medio de Lógica Difusa y así dar una salida
de alerta en el caso de que el nivel de somnolencia sea medio o severo. Además, este método permite
detectar las distracciones del conductor al momento de conducir, utilizando como parámetros el
rostro y los ojos.
Los resultados de las pruebas demuestran que el sistema propuesto puede medir eficientemente los
parámetros antes mencionados y detectar el estado de somnolencia del conductor como también de
distracciones por medio del método de Viola-Jones.
Descriptores: 1. somnolencia, 2. distracciones, 3. alerta, 4. clasificador tipo cascada, 5. método Viola-
Jones, 6. SCAF, 7. Lógica Difusa, 8. Raspberry Pi 3.

1. Introducción estable de no somnolencia demuestra gran


El estado de vigilia durante el proceso de importancia.
conducción de vehículos es una problemática La tasa de accidentes de tránsito en el
que afecta a una gran cantidad de personas. Un Paraguay es una de las más elevadas a nivel
dispositivo capaz de detectar estos síntomas y MERCOSUR pese a ser el país con menor
dar aviso de ello, permitiendo al usuario cantidad de vehículos en relación con sus
recuperar el control del vehículo en un estado habitantes. Las estadísticas con respecto a los
accidentes van en aumento a cada año. Las
cifras de siniestros de tránsito han aumentado 3. Objetivos
en un promedio de 28% anual en relación con 3.1. Objetivo General
el año 2014 y 63% en relación con el año 2010. Desarrollar un Sistema de alerta de sueño al
Según datos de la Patrulla Caminera, las volante que informe al conductor su estado de
primeras 7 causas más frecuentes de vigilia en tiempo real.
siniestros viales son: no conservar distancia,
no conservar su lado, no señalizar para 3.2. Objetivos Específicos
maniobrar, giros indebidos, adelantamiento • Ajustar los componentes que
indebido, exceso de velocidad, además otras conformarán la placa Raspberry Pi3.
causas como animales sueltos, conductor • Desarrollar el algoritmo de detección
ebrio, etc. biométrico ocular.
Imprudencias durante el manejo vehicular • Escribir el algoritmo de
pueden darse por diferentes motivos, como reconocimiento de patrones de sueño
ser distracciones y sueño durante el uso del con lógica difusa.
automóvil. • Realizar pruebas de funcionalidad del
Con este proyecto se pretende dar solución a sistema biométrico ocular y del
la problemática planteada, por medio de reconocimiento de patrones de sueño.
utilización de Algoritmo de Viola-Jones e • Generar los informes de la prueba de
implementación de lógica difusa en un funcionalidad del sistema completo.
ambiente Raspbian para el desarrollo de
dispositivo de alerta de sueño y/o 4. Lógica Difusa
distracciones capaz de informar al conductor Lógica multivaluada que permite representar
de su estado por medio de sonido que permita matemáticamente la incertidumbre y la
al mismo recuperar la concentración al vaguedad, proporcionando herramientas
conducir. formales para su tratamiento. Como lógica
Los algoritmos de reconocimiento de multivaluada, en la definición de grados de
imágenes o patrones particulares del rostro pertenencia, la lógica difusa emplea valores
humano, en la actualidad, son de gran ayuda continuos entre 0 (que representa hechos
en el reconocimiento de patrones de sueño, totalmente falsos) y 1 (totalmente ciertos).
pues permiten con gran facilidad realizar la Así, la lógica binaria clásica puede verse como
detección de estas características del estado un caso particular de la lógica difusa. Los
de vigilia. Por medio del algoritmo de Viola- conceptos se asocian a conjuntos difusos
Jones se garantiza velocidad de procesamiento (asociando los valores de pertenencia) en un
y fiabilidad, mientras que aplicando lógica proceso llamado fuzzificación.
difusa se pueden validar las reglas que Una vez que se tienen los valores fuzzificados
verifican las condiciones en las que puede se puede trabajar con reglas lingüísticas y
encontrarse el conductor. obtener una salida, que podrá seguir siendo
difusa o defuzzificada para obtener un valor
2. Definición Del Problema discreto crisp. (Raya, 2002)
La exclusividad de esta tecnología en vehículos
de última generación y la necesidad de que la 4.1. Razonamiento aproximado
misma sea accesible e inclusiva. El sistema Mediante el uso de conjuntos difusos es
puede reconocer patrones de sueño y/o posible dotar de significado matemático a
distracción por medio de una cámara ubicada proposiciones como "mucho o poco sueño"
a la altura del rostro del conductor, la misma utilizando los modificadores lingüísticos
emite una alerta de forma acústica informando (muy, poco, demasiado, algo,
la detección de estos síntomas por medio de extremadamente, etc.) para adaptar los
un altavoz localizado en un lugar estratégico calificativos a lo que se quiere decir.
del vehículo. El razonamiento aproximado se utiliza para
representar y razonar con conocimiento
expresado en forma de primitivas atómicas,
enunciadas en lenguaje natural. (Torres & C.,
2004)

Ilustración 2. Tratamiento de imágenes.

Ilustración 1. Razonamiento Lógico. Teniendo una base de datos con más de 17.000
imágenes de rostros de distintas etnias,
5. Algoritmo Viola-Jones formas y estado de atención, además de
El Algoritmo de Viola Jones tiene una distinta calidad y resolución de estas, se
probabilidad de verdaderos positivos del realiza el entrenamiento del algoritmo
99,9% y una probabilidad de falso positivos mediante la lectura de imágenes y
del 3,33 %, y a diferencia de otros algoritmos seleccionando las características requeridas
utilizados en métodos de caracteres para el funcionamiento del sistema por medio
invariantes procesa sólo la información de clasificadores en cascada, permitiendo
presente en una imagen en escala de grises. No velocidad y fiabilidad al momento de
utiliza directamente la imagen, sino que utiliza encontrar elementos a ser tratados. En el caso
una representación de la imagen llamada particular de ojos, nariz y boca.
imagen integral. Para determinar si en una
imagen se encuentra una cara o no, el 6. Método y Materiales
algoritmo divide la imagen integral en 6.1. Etapas del Proyecto
subregiones de tamaños diferentes y utiliza • Etapa de selección del dispositivo.
una serie de clasificadores (clasificadores en • Selección de técnicas de
cascada), cada una con un conjunto de procesamiento de imágenes.
características visuales. En cada clasificador se • Modelado de la técnica de análisis de
determina si la subregión es una cara o no. patrones de sueño.
La utilización de este algoritmo supone un • Modelado de escala de sueño.
ahorro de tiempo considerable ya que no • Etapa de prueba de funcionamiento
serán procesadas subregiones de la imagen del sistema.
que no se sepa con certeza que contienen una 6.2. Materiales utilizados
cara y sólo se invertirá tiempo en aquellas Placa Raspberry Pi 3: computador de placa
subregiones que posiblemente si contengan reducida que utiliza software libre. Para el
una cara. Este detector se ha hecho muy desarrollo del dispositivo se utilizó el modelo
popular debido a su velocidad a la hora de B de esta placa, implementando Wifi y
detectar las caras en imágenes y para su Bluetooth sin la necesidad de adaptadores.
implementación en la librería Módulo de cámara Raspberry: también
OpenCV. (Castrillon, 2008) conocida como Raspicam, ofrece aplicaciones
La detección de elementos del rostro implica basadas en líneas de comando para mayor
una manipulación de ciertos parámetros como aprovechamiento de la API MMAL, como lo son
se muestran en la siguiente figura. raspistill y raspistillyuv (utilizadas para
capturar imágenes), además del comando
raspivid (empleado para capturar videos). Con
sensor de 5 megapíxeles, una resolución de
1080p y velocidad de 30fps
Leds infrarrojos: permiten un máximo
aprovechamiento de la cámara suavizando el
ruido, exceso de brillo y mayor visibilidad lugar de descanso pertinente para que pueda
nocturna o situaciones de poca luz. reponerse. El sistema capta directamente las
Lenguaje de programación Python: lenguaje imágenes en tiempo real con la ayuda de luces
multiparadigma que soporta orientación a infrarrojas desde una Raspberry Pi NoIR
objetos, programación imperativa y en menor cámara. El diseño del sistema se basa en el
medida programación funcional. estudio de la problemática del sueño al
Librería OpenCV: cuenta con diferentes volante, permitiendo utilizar las técnicas
funciones que permiten procesar imágenes de apropiadas que, trabajando en conjunto, dan
entrada, ya sea para resaltar o descartar zonas respuesta positiva y eficiente para el
de esta para su posterior análisis. cumplimiento de los objetivos de este trabajo.
Algoritmo de Viola-Jones: algoritmo que
analiza solo la parte de interés en imágenes.
Utilizada especialmente en el reconocimiento
de patrones y detección de rostros
garantizando fiabilidad y velocidad de
procesamiento.
La metodología propuesta para este trabajo se
basa en un sistema de alerta de sueño al
volante utilizando clasificadores en cascada Ilustración 4. Diseño del Sistema
según el método de Viola-Jones para la
detección de todos los elementos del rostro Al estar encendido el dispositivo, la cámara
como también lógica difusa para la toma de Raspberry Pi capta las imágenes y las procesa
decisiones con respecto a la severidad de con el algoritmo de Viola-Jones buscando las
somnolencia del conductor. Ilustración 3. áreas de interés para el sistema (ojos, nariz y
Como complemento se utiliza una boca) verificando y contabilizando la cantidad
metodología de conteo por medio del de ojos cerrados del conductor, refiriéndose a
algoritmo de Viola-Jones para la detección de la cantidad de cuadros en los que se encuentra
patrones de sueño adicionales. Se emplean en este estado, y los bostezos de este,
técnicas de preprocesamiento de imágenes calculando valores de la escala de sueño
basado en clahe, como también la suavización delimitada por el tiempo mínimo para
de imágenes por medio de librerías de informar del nivel de sueño por medio de
OpenCV. lógica difusa, generando alarmas siempre que
sean necesarias. Este proceso se repite hasta
que el conductor lo apague, permitiendo un
control directo durante todo el proceso de
conducción del automóvil.

Ilustración 3. Detección del rostro.

Finalmente utilizando todos estos medios, y si


se ha detectado correctamente la somnolencia
del conductor, el sistema lanza una alarma con
la intención de avisar y despertar al conductor Ilustración 5. Dispositivo ensamblado e
de su estado y mantenerlo en vigilia para que instalado en el vehículo.
pueda seguir su viaje hasta encontrar algún
En la Ilustración 5 se presenta el dispositivo pruebas. lEn los resultados que se observan la
ensamblado e instalado en el vehículo para la prueba experimental dos, se observa que el
realización de las pruebas. Se presenta la sistema tarda un tiempo en notificar la
posición ideal para mejor aprovechamiento y presencia de somnolencia en el conductor. De
máximo rendimiento del sistema en lo que 2 a 3.5 minutos pasa a detectar sueño. A partir
refiere a captación de imágenes y estabilidad los tres minutos en adelante se obtiene una
para su procesamiento. confiabilidad del 98% como se aprecia en la
tabla 2.
7. Resultados y Discusión
Se realizaron pruebas de funcionamiento del Total de fallas 3
sistema en dos escenarios distintos, teniendo Sumatoria tiempo de fallas 139
en cuentan las mismas variables captadas por Efectividad (%) 1.529152915
la cámara como lo son cantidad de ojos Confiabilidad (%) 98.47084708
abiertos, ojos cerrado y mismas condiciones Tabla 2. Prueba vehículo en movimiento.
para la boca, en dos situaciones distintas,
calculando resultados de cantidad de fallas del Las fallas en las pruebas dinámicas se deben al
sistema medido en segundos, el tiempo total movimiento del vehículo y principalmente al
de fallas, además del porcentaje de efectividad estado de las rutas, haciendo diferencia en
y confiabilidad de este, en los estados con y sin pruebas realizadas sobre asfalto y calles
sueño durante el desarrollo de pruebas. empedradas. A pesar de estas condiciones
En el primer modelo de pruebas con el luego de un tiempo de funcionamiento el
vehículo sin movimiento en donde el dispositivo adquiere estabilidad demostrando
conductor permanece atento y comenzando a fiabilidad y rendimiento.
demostrar síntomas de sueño mientras
transcurre un tiempo hasta que suene una de 8. Conclusión
las alarmas, sean medio o fuerte dependiendo Considerando todas las pruebas
del nivel de sueño que este demuestra. experimentales realizadas, el sistema muestra
Los resultados obtenidos en la primera prueba un buen desempeño considerando los
experimental con el vehículo sin movimiento resultados obtenidos, como también
han permitido saber en cuanto tiempo la lógica demuestra estar acorde con las exigencias a
difusa puede detectar los síntomas de sueño las cuales fue sometida, procesamiento de
una vez que estos se presenten. Este tiempo imagen, detección de elementos del rostro,
resultante varía entre 2 a 3.5 minutos para la procesamiento para el reconocimiento de
emisión de las diferentes alarmas patrones de sueño y emisión de alarma
correspondientes con confiabilidad de 100% correspondiente, esto implica que se ha
como se puede apreciar en logrado lo siguiente:
la tabla 1. • La utilización de la placa de hardware
libre Raspberry Pi, ha posibilitado el
desarrollo de un sistema de alerta de
Total de fallas 0 sueño al volante de bajo costo
Sumatoria tiempo de fallas 0 accesible al público. Se demostraron
Efectividad (%) 0 las ventajas que la librería OpenCV
Confiabilidad (%) 100 utilizando el algoritmo de Viola-Jones
Tabla 1. Prueba vehículo sin movimiento. que combinado con lógica difusa
puede brindar a proyectos de visión
Para el modelo con vehículo en movimiento se computacional e inteligencia artificial.
realizó el mismo procedimiento que el caso • Se lograron demostrar los beneficios
anterior, con la diferencia de que en este que pueden brindar los clasificadores
escenario el vehículo estuvo en marcha y el en cascada cuyos elementos de
conductor realizó un recorrido para las
clasificación fueron previamente https://www.sciencedirect.com/science
entrenados. /article/pii/S1697791215000126
• Ha sido posible desarrollar el sistema
en su totalidad utilizando Pardos, E. C. (2004). ResearchGate. Obtenido de
exclusivamente software libre, lo que Técnicas de reconocimiento facial
posibilitó un gran ahorro en licencias mediante Redes Neuronales:
de programas. https://www.researchgate.net/publicati
• Se ha logrado además la correcta on/39425006_Tecnicas_de_reconocimi
notificación de somnolencia por medio ento_facial_mediante_redes_neuronale
de diferentes tipos de alarmas de
s
acuerdo con la severidad de síntomas
de sueño previamente procesados por Raya, A. M. (2002). Universidad de Málaga.
la lógica difusa como también por Obtenido de Departamento de
métodos de conteo utilizando el
Estadística y Econometría:
algoritmo de Viola Jones.
http://webpersonal.uma.es/~MORILLAS
• Se ha logrado demostrar que la
utilización de luz infrarroja hace /DATOSDIFUSOS.pdf
posible el procesamiento de imágenes
Sánchez, R. (2004). Faq-Mac. Obtenido de
con poca y buena iluminación en el
interior del vehículo. Sistemas de reconocimiento facial:
• El dispositivo junto con el sistema https://www.faq-
funciona correctamente dentro de los mac.com/2004/07/sistemas-de-
parámetros esperados siendo este reconocimiento-facial-por-raul-sanchez-
confiable. vitores/

9. Referencias bibliográficas. Torres, A., & C., T. (2004). Inferencia y


razonamiento probabilístico o difuso.
Castrillon, W. A. (Diciembre de 2008). Revista de Ingeniería, 158-166.
Universidad Tecnológica de Pereira. Obtenido de Inferencia y razonamiento
Obtenido de Técnicas de extracción de probabilístico odifuso.
características de imágenes pra
Trávez, I., Soria, V., & Fernando, D. (2016).
reconocimiento de expresiones:
Universidad de las Fuerzas Armadas.
http://www.redalyc.org/articulo.oa?id=
Obtenido de Departamento de
84903802
Ingeniería Electrónica:
Colaborativo. (2013). PiAddict Magazine. http://repositorio.espe.edu.ec/xmlui/h
Obtenido de Raspberry Pi: andle/21000/11976
https://www.raspberrypi.org/forums/vi
Vial, O. (Diciembre de 2015). Agencia Nacional
ewtopic.php?t=69132
de Tránsito y Seguridad Vial. Obtenido
Garcia, J., Rogado, R., Barea, R., & Bergasa, L. de Informe estadístico del Observatorio
(2008). Universidad de Alcalá. Obtenido Vial:
de Departamento de Electrónica: http://www.antsv.gov.py/application/fil
https://tv.uvigo.es/uploads/material/Vi es/1115/2278/1418/BOLETIN_DEL_OBS
deo/2664/P09.pdf ERVATORIO_-_DIC2015.pdf

Jiménez, J. G. (2000). ScienceDirect. Obtenido


de Vision por Computador:

También podría gustarte