Construyendo un sistema de detección de somnolencia del conductor con Raspberry Pi


Hoy usaremos Raspberry Pi para desarrollar un sistema inteligente de detección de somnolencia del conductor que rastrea el movimiento de los ojos del conductor. Si detecta que el conductor puede estar durmiendo o en un estado de somnolencia, hará sonar una alarma para que la persona recupere la conciencia.

Cuando los camiones transportan carga y materiales pesados ​​a largas distancias (especialmente de noche), los efectos de la falta de sueño resultan ser un problema importante para estos conductores involucrados en la conducción de largas distancias, lo que resulta en accidentes fatales.

Según un 2014 estudio de la AAA Traffic Safety Foundation, se encontró que 37 por ciento el conductor se durmió mientras conducía. Desde el 21 por ciento de accidentes mortales, 13 por ciento causó lesiones graves, todo debido a un conductor demasiado cansado que tiene que conducir sin parar durante largos períodos sin perder de vista la carretera.

También diseñamos el circuito de alarma anti-sueño para que lo compruebes.

¿Cómo funciona el sistema de detección de somnolencia del conductor?

Un módulo de cámara conectado a un módulo RPi graba video continuamente desde el asiento del conductor. Luego, una secuencia de comandos de Python reconoce la cara del conductor y, si la reconoce, los ojos de la persona se capturan y pasan a otro módulo llamado juego de ojos, que luego procesa el cuadro de video capturado y detecta el movimiento de los ojos. Si el ojo del conductor permanece en la misma posición sin moverse ni parpadear, sonará un tono de alarma que le indicará al conductor que permanezca despierto y siga conduciendo.

lista de partes

Piezas del sistema de detección de somnolencia del conductor
Componentes requeridos

También necesitamos una tarjeta SD para configurar el sistema operativo Raspbian.

Sistema de detección de somnolencia del conductor – código

Primero, debemos configurar la biblioteca y los módulos en nuestro RPi. Para hacer esto, abra la terminal de Linux e instale los módulos necesarios usando la siguiente sintaxis y comandos.

sudo pip3 install install opencv
sudo pip3  instal face-recognition
sudo pip3  install espeak 
sudo pip3  instal eyegame
sudo pip3 install delib
sudo pip3 instal numpy

Después de instalar con éxito los módulos, ahora crea un código de Python. lo nombré eyetrack.py. Importaremos todos los módulos necesarios en el código.

Código de Python para la detección de somnolencia del conductor

A continuación, establezca el nombre del archivo y la ruta. Esto es necesario porque queremos capturar y cortar un cuadro específico del video y guardarlo en esta ruta que se pasará al juego de ojos para detección de movimiento ocular.

Código de detección de somnolencia del conductor

A continuación, configuremos el rostro y el nombre de la imagen del conductor del camión y creemos uno durante función que se está ejecutando Cinta hasta que la afirmación sea verdadera.

Ahora capturamos el video de la cámara con OpenCV y recortamos el video cuadro por cuadro. Luego se pasa al módulo de reconocimiento facial para el reconocimiento facial.

Si la cara detectada coincide con la cara del conductor, su imagen se guardará en la ruta que creamos anteriormente. Entonces llamaremos juego de ojos Módulo para el análisis del movimiento del ojo y del globo ocular.

Programación del sistema de detección de somnolencia del conductor

Al detectar con éxito la cara del conductor y el movimiento del globo ocular, el dispositivo analiza repetidamente la posición del globo ocular. Si no se detecta ningún movimiento ocular, el dispositivo espera 30 segundos.

Incluso después de eso, si no se detecta ningún movimiento ocular, se activará el sonido para advertir y despertar al conductor. Si el conductor está despierto y se detecta movimiento ocular, el proceso de alarma se detendrá automáticamente.

Detección de somnolencia del conductor con OpenCV

Descargar código fuente

Pruebas

Después de escribir todo el código, conecte el módulo de la cámara a la Raspberry Pi, que luego se conecta a un altavoz a través de un conector de audio. Ahora ejecute el script y espere unos segundos. Aparecerá una ventana en la pantalla que muestra el video en vivo de la cámara. Cuando estés frente a la cámara, el terminal Python reconocerá el movimiento y la posición de tu rostro y tus ojos. Cuando detecta que no hay movimiento ocular, comienza a contar. Después de 30 segundos, se emitirá una alerta de voz diciendo "¿Estás dormido, conduce?".

Así es como puedes crear tu propio sistema de detección de somnolencia del conductor.

Si encuentra algún problema al crear este proyecto, no dude en publicarlo en los comentarios a continuación.

Si quieres conocer otros artículos parecidos a Construyendo un sistema de detección de somnolencia del conductor con Raspberry Pi puedes visitar la categoría Electrónica.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir