Temas acerca de Inteligencia Artificial
Foto de Usuario
ChristianRamirezD

Ranking Troomes
Mensajes: 10
Registrado: 25 Jun 2020, 18:40
Contactar:

Procesamiento de imágenes para la seguridad del conductor y el control del vehículo con Raspberry Pi y cámara web

Mensaje por ChristianRamirezD » 22 Jul 2020, 11:48

Este paper científico , se enfoca en la deteccion del estado de somnolencia de un conductor en un momento dado, mediante el procesamiento de imagenes. Para ello propone un diseño básico del sistema que se muestra a continuacion en la Fig 1.


fig1.png
fig1.png (44.47 KiB) Visto 301 veces
Fig 1.Diagrama de bloques básico

Diseño del Sistema
Como se observa el sistema propuesto está conformado por los siguientes componentes:

a. Cámara: Utilizaron una camara digital de 5 MP, para capturar imágenes en tiempo real. Las imágenes capturadas son entregadas al Raspberry Pi pi para su posterior procesamiento para la detección de ojos y pupilas.

b. Raspberry-pi: En este se implementó el algoritmo de detección de pupila y ojo basado en el procesamiento de imágenes.

c. Microcontrolador: El Raspberry pi envía la salida al microcontrolador, en función de la tasa de apertura y cierre del ojo detectado, debido al previo cálculo del nivel de somnolencia.

d. Relé: El relé de 5V se utilizó para operar el timbre , la alarma sonora.

e. Zumbador: Apenas el sistema detecta indicios de somnolencia en el conductor la alarma comienza a sonar.

f. Fuente de alimentación: La fuente de alimentación depende del microcontrolador escogido.Para el proyeto, usaron el modelo pic16F877a , el cual requiere una alimentación de 5V.

g. Módulo GSM: Implementaron un módulo GSM para enviar los sms a los parientes cercanos para que se comuniquen con el conductor somnoliento a tráves de mensajes sms.

Desarrollo

Se emplea un clasificador para el sistema, el cual es entrenado mediante un algoritmo con muchas imágenes positivas (imágenes de caras) e imágenes negativas (imágenes sin caras) para entrenar al clasificador, basado en caracteristicas similares a Haar con kernel basado en convolución.



fig2.png
fig2.png (38.92 KiB) Visto 301 veces
Fig2. Características de la cascada Haar

La figura 2. muestra las características de la cascada de haar utilizadas para localizar la región facial en la imagen. Para calcular las características faciales, se calculó la suma de píxeles debajo de los rectángulos blanco y negro por integral de imágenes. Para cada característica, se aplicó el mejor umbral que podría clasificar las caras en positivas y negativas. Pero obviamente, había una posibilidad de errores o clasificaciones erróneas. Por lo tanto, se seleccionaron las características con una tasa de error mínima, lo que significa que fueron las características que mejor clasifican las imágenes con y sin rostro.


Detección de parpadeo de los ojos usando características de Haar

Emplearon el Adaptive Boost para entrenar una cascada de clasificadores basados en caracteristicas similares a Haar. Para tal propósito se emplearon muestras positivas y muestras negativas.
Un ejemplo de ello, se emplearon base de datos faciales; preparandose regiones segmentadas del ojo y ceja , como muestra positiva con el objetivo de facilitar la detección, dado que en una region segmentada de ojo y ceja hay mas detalle detectable que solo un ojo.Generandose 3,327 muestras de imágenes positivas y 6,478 muestras de imágenes negativas para entrenamiento. Sin embargo la tasa de presicion fue baja.

Por lo tanto los autores profundizaron un mayor desarrollo de Adaptive Haar Cascade Classifier, basando en caracteristicas geometricas del rostro, es decir en la perpendicularidad del eje que une los centros de cada ojo con el eje mayor(eje vertical) del rostro; generando regiones simetricas para la detección.

Para finalizar , enfatizan en la detección y medición del estado del párpado(valor ESD) , para el cual utilizan un algoritmo basado en la fig 3.


fig3.png
fig3.png (78.04 KiB) Visto 301 veces
Fig3. Algoritmo de detección de parpadeo

Los autores afirman lo siguiente:
"El objetivo del algoritmo es encontrar el umbral mínimo, lo que hace que la imagen binaria tenga al menos un píxel negro después de aplicar el filtro de desenfoque medio. En este algoritmo, se utilizó la imagen del ojo de la mitad inferior del área seleccionada por el algoritmo anterior. Luego se realizó el umbral de la imagen (comience con 0). Después de eso, se aplicó un filtro de desenfoque medio a la imagen de umbral y verifique si aparece al menos un píxel negro. Si no hay un píxel negro, aumentamos el valor del grosor y seguimos la misma secuencia, pero si hay más de un píxel negro, finalizamos el proceso y obtenemos el valor ESD como ese umbral".

En conclusion, el sistema de detección propuesto utiliza un algoritmo que determina que el umbral de alarma se establece en parapadeos por segundo, y cuando sobre pasa este valor se emite la alarma y a la vez se envia un sms a algun pariente cercano para que llamno al conductor y este deberia tomar un descanso , segun especificaciones de este trabajo de investigación.

Resultados

Tabla 1. Estado del conductor 1 y 2

tabla1.png
tabla1.png (38.48 KiB) Visto 301 veces
La tabla muestra , del experimento realizado por los autores , que en ciertos horarios y bajo ciertas condiciones, en el que se aprecia indicios de somnolencia en el conductor , en este caso como un incremento del numero de parpadeos por segundo. Este parpadeo puede tener su origen en factores como el cansancio , entre otros.
Segun resultados probables del experimento , puede quedarse dormido al volante:
Para el conductor 1:
- a las 1:30 pm : debido a un almuerzo pesado
- a las 9:00 pm : debido al cansancio y sin cenar

Para el conductor 2:
- a las 3:00 pm : debido a un almuerzo pesado
- a las 9:30 pm : debido a una cena pesada



Referencia:
Kulkarni ,S., Harale, A. & Thakur, A. 2017. Image processing for driver's safety and vehicle control using raspberry Pi and webcam. India


Responder