detección de ojos abiertos o cerrados

9
Detección de Ojos Abiertos o Cerrados APLICACIONES ELECTRÓNICAS Gabriela Estrella / [email protected] Carlos Acosta / [email protected] Juan Carlos Nazate / [email protected] I. RESUMEN: El reconocimiento de imágenes a través de cámaras digitales nos permite detectar si los ojos del conductor mientras conduce su auto están abiertos o cerrados, emitiendo alarmas o cualquier tipo de señal que logre despertar al conductor y mantener sus ojos abiertos y así evitar desenlaces que este tipo de circunstancias originan. II. INTRODUCCIÓN: La sociedad siempre ha buscado la manera de mantener la seguridad de los seres humanos por medio de sensores, cámaras digitales inteligente, actuadores, etc. Con la ayuda de software inteligente que permiten obtener, procesar y emitir todo tipo de señales. III. PROBLEMA: Casi la mitad de los accidentes de tránsito son por sueño debido a la presión del trabajo que hace que los conductores no duerman lo suficiente y al momento de conducir su visión se canse y se duerman perdiendo el control total del automóvil. IV. OBJETIVO: Desarrollar un programa en Matlab que permita detectar si el conductor está dormido (ojos cerrados) y emitir una señal para despertar al conductor. V. FUNDAMENTO TEÓRICO / Detección de Ojos Abiertos o Cerrados. LA SOMNOLENCIA La somnolencia produce la disminución de la capacidad de vigilia afectando

Upload: carlos-acosta-jaramillo

Post on 10-Aug-2015

262 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Detección de Ojos Abiertos o Cerrados

Detección de Ojos Abiertos o Cerrados

APLICACIONES ELECTRÓNICAS

Gabriela Estrella / [email protected]

Carlos Acosta / [email protected]

Juan Carlos Nazate / [email protected]

I. RESUMEN:

El reconocimiento de imágenes a través de cámaras digitales nos permite detectar si los ojos del conductor mientras conduce su auto están abiertos o cerrados, emitiendo alarmas o cualquier tipo de señal que logre despertar al conductor y mantener sus ojos abiertos y así evitar desenlaces que este tipo de circunstancias originan.

II. INTRODUCCIÓN:

La sociedad siempre ha buscado la manera de mantener la seguridad de los seres humanos por medio de sensores, cámaras digitales inteligente, actuadores, etc. Con la ayuda de software inteligente que permiten obtener, procesar y emitir todo tipo de señales.

III. PROBLEMA:

Casi la mitad de los accidentes de tránsito son por sueño debido a la presión del trabajo que hace que los conductores no duerman lo suficiente y al momento de conducir su visión se canse y se duerman perdiendo el control total del automóvil.

IV. OBJETIVO:

Desarrollar un programa en Matlab que permita detectar si el conductor está dormido (ojos cerrados) y emitir una señal para despertar al conductor.

V. FUNDAMENTO TEÓRICO / Detección de Ojos Abiertos o Cerrados.

LA SOMNOLENCIA

La somnolencia produce la disminución de la capacidad de vigilia afectando negativamente a los sentidos, por ejemplo, mermando la capacidad de percepción, reconocimiento y control del vehículo y a la vez, incrementado la probabilidad de sufrir algún accidente o un sobresalto en la carretera.

La somnolencia y la conducción desarrolladas al mismo tiempo constituyen una combinación peligrosa ya que producen daños tanto a nivel individual (lesiones y muertes de conductores, peatones e incluso pasajeros en el caso de empresas de transporte) como a nivel colectivo (altos costes económicos, saturación de los sistemas sanitarios), generando serios problemas a nivel social.

Efectos de la somnolencia en el conductor

IMAGEN DIGITAL

Una imagen digital está compuesta por un número finito de 12 elementos llamados píxeles, cada uno de los cuales con un valor y una posición particular. El valor es relativo a alguna propiedad del punto que representa, como por ejemplo su brillo o su matiz. El término píxel (abreviación de Picture element o elemento de imagen), se trata de la unidad mínima de

Page 2: Detección de Ojos Abiertos o Cerrados

información de una imagen, la cual aparece como un punto en la pantalla o en una impresora. En realidad cada píxel se compone de tres registros de color, mediante la combinación de cierta cantidad de rojo, verde y azul, el píxel adopta un color particular.

Representación de un píxel

Las imágenes bidimensionales son el resultado de una proyección en perspectiva de escenas tridimensionales. Cuando se obtiene una imagen bidimensional del mundo tridimensional desaparece gran cantidad de información.

TIPOS DE IMÁGENES DIGITALES

En el procesamiento digital de imágenes (PDI) se maneja cuatro tipos de imágenes básicamente: imágenes RGB, imágenes indexadas, imágenes en escala de grises e imágenes binarias.

IMÁGENES RGB (RED-GREEN-BLUE)

Una imagen de color RGB es una matriz de M x N x 3 píxeles de color. Está basado en un sistema de coordenadas cartesianas que forman un cubo que en sus 3 esquinas están los valores RBG (rojo (R), verde (G) y azul (B). En las demás 3 esquinas del cubo se encuentran los valores de cian, magenta y amarillo; y en el 13 origen está el color negro como también en el vértice más alejado del color negro se halla el blanco. Utilizan 8 bits por canal (8 bits x 3), es decir, 24 bits de color para cada píxel. Reproducen hasta 16,7 millones de colores. Soporta algunos formatos como: JPG, BMP, PNG, etc.

Esquema cartesiano de la imagen RGB

IMÁGENES EN ESCALA DE GRISES

Imágenes en escala de grises donde el valor de cada pixel equivale al nivel de luminosidad.Utilizan distintos tonos de gris.· En imágenes de 8 bits, puede tener hasta 256 tonos de gris [0 255].· Cada píxel tiene un valor de brillo comprendido entre 0 (negro) y 255 (blanco).

Imagen en escala de gris de 8 bits

IMÁGENES BINARIAS

· Una imagen binaria es un arreglo lógico de 0s y 1s.· Utiliza uno de los dos valores de color (blanco o negro) para representar los píxeles de una imagen.Existen además imágenes con una profundidad de píxel de 32 bits. Los 8 bits (1 byte) adicionales de profundidad sobre las imágenes de 24 bits, le permiten almacenar la transparencia de la imagen. Este byte adicional es generalmente llamado máscara o canal alfa, y almacena diferentes valores de transparencia

Page 3: Detección de Ojos Abiertos o Cerrados

Imagen binaria

FILTROS DIGITALES

Los filtros digitales constituyen uno de los principales modos de operar en el procesamiento de imágenes digitales. Pueden usarse para distintos fines, pero en todos los casos, el resultado sobre cada píxel depende de los píxeles de su entorno. Una imagen se puede filtrar en el dominio del espacio, trabajando directamente sobre los píxeles de la imagen, o en el dominio de la frecuencia, donde las operaciones se llevan a cabo en la transformada de Fourier de la imagen. Los principales objetivos de los filtros digitales son los siguientes: Suavizar la imagen: reducir las variaciones de intensidad entre píxeles vecinos. Eliminar ruido: modificar aquellos píxeles cuyo nivel de intensidad es muy diferente al de sus vecinos. Realzar la imagen: aumentar las variaciones de intensidad, allí donde se producen. Detectar bordes: detectar aquellos píxeles donde se produce un cambio brusco en la función intensidad.

OPERACIONES MORFOLÓGICAS

La Morfología matemática es una técnica de procesado no lineal de la imagen, interesada en la geometría de los objetos. Las operaciones morfológicas proporcionan información sobre la forma o estructura de una imagen. El análisis morfológico permite extraer componentes de la imagen que son útiles en la representación y descripción de la forma de las regiones como: fronteras, esqueletos y permite obtener características relevantes de los objetos en la imagen como: forma, tamaño Operadores morfológicos son los más adecuados para la extracción selectiva o supresión de estructuras de la imagen. Existe tres tipos de morfología:

morfología binaria (es la más frecuente), morfología de niveles de gris y morfología de imágenes policromáticas.

Aplicaciones de las Operaciones Morfológicas

(SAAVEDRA, 2012)

POSICIÓN DE LA CÁMARA EN EL VEHÍCULO

TARJETAS DAQ

La adquisición de datos (DAQ) es el proceso de medir con una PC un fenómeno eléctrico o físico como voltaje, corriente, temperatura, presión o sonido. Un sistema DAQ consiste de sensores, hardware de medidas DAQ y una PC con software programable. Comparados con los sistemas de medidas tradicionales, los sistemas DAQ basados en PC aprovechan la potencia del procesamiento, la productividad, la visualización y las habilidades de conectividad de las PCs estándares en la industria proporcionando una solución de medidas más potente, flexible y rentable.

Page 4: Detección de Ojos Abiertos o Cerrados

(INSTRUMENTS)

VI. DESARROLLO DEL SISTEMA

6.1. ANÁLISIS DE LAS VARIABLES DEL SISTEMA

Para la elaboración de la codificación del proyecto se han empleado las siguientes variables principales: Archivo Video.m handles.videobj: es la que permite

almacenar el video en tiempo real handles.rgb: variable que almacena la

imagen capturada del video. IMAGEN: es una variable global la cual

contiene las imágenes capturadas y permite usarlas en otro archivo .m

opc: es una variable usada para determinar SI el usuario desea archivar la imagen capturada o NO.

Archivo Proceso.m recorte: es la zona donde se encuentran los

ojos que es la parte de la imagen capturada a la cual se le va a tratar y sobre la cual determinaremos si los ojos están abiertos o cerrados.

ao: variable que inicializa una salida analógica hacia la DAQ.

I1: variable donde se transforma la imagen de formato RGB a Escala de Grises.

Las siguientes variables son que se permiten el tratamiento o procesamiento de la imagen capturada y recortada: I_recortada-prepoc: contiene el histograma

de la imagen recortada y el ajuste del contraste de esta.

BW1: variable que posee el contorno de la imagen recortada, además de la misma imagen pero removida algunos pixeles.

SE: variable que obtiene de la imagen recortada una forma de disco de r de radio.

i: variable de transformación de la imagen de escala de grises a binaria.

Luego se utiliza variables como:A, areas, area_max, indice_area_max, max_x, min_x, max_y, min_y, imagen_area_max (matriz de ceros de max_x, max_y), size_imagen_area_max, x_inicial, y_inicial, entre otras.Estas variables contienen los valores de las coordenadas en x , y para luego lograr dibujar el circulo que encierra las curvaturas dibujadas según la dirección del párpado del ojo.

6.2. MÉTODOS DE PROCESAMIENTO UTILIZADOS

Los métodos usados para el tratamiento de las imágenes capturadas son:

Recorte de la imagen capturada (imcrop). Transformación de rgb a escala de grises

(rgb2gray). Transformación a double (im2double) Detección de contornos (edge) Eliminación de pixeles (bwareaopen) Examinación de la estructura geométrica de

la imagen (strel) Relleno de los agujeros de la imagen

(imclose) Llenado de pixeles (imfill) Medición y almacenamiento de las

propiedades de la imagen (regionprops) Dibujo del círculo que distingue el área del

ojo y su curvatura (plot) Para inicializar salidas analógicas, añadir

canales y enviar datos hacia la DAQ (analogoutput, addchannel, putsample).

6.3. FLUJOGRAMA

Page 5: Detección de Ojos Abiertos o Cerrados

VIII. RESULTADOS OBTENIDOS:

Según la imagen capturada se obtiene un mensaje indicando si los ojos están abiertos o cerrados y al hacerse esta comparación, si los ojos se encuentran cerrados se envía una señal a una DAQ la cual permitirá encender una luz, indicando que los ojos están cerrados.

IX. CONCLUSIONES:

o Para el proyecto que hemos realizado no se necesitó de cámaras sofisticadas ni de muy alto costo ya que todo se realizó con una webcam ordinaria.

o Se analizaron varios criterios para determinar si los ojos se encontraban abiertos o cerrados, pero el que mejor resultados nos dio fue el de la curvatura del ojo, cuando una persona se encuentra con

ojos abiertos esta curvatura es hacia abajo del ojo, y cuando esta con ojos cerrados es todo lo contrario ya que esta curvatura se encuentra hacia arriba.

o En la base de datos de tiempo diferido no se obtuvo ningún error ya que estas imágenes fueran tomadas en las mejores condiciones de luz.

o En las imágenes de tiempo real se obtuvieron algunos errores dependiendo de la intensidad de luz. Uno de los errores más frecuentes es producido al seleccionar la ceja como objeto de área máxima en lugar de la pupila.

o Una de las principales limitaciones que tenemos en este proyecto es que al realizar el análisis de la imagen se debe recortar en una parte fija de la imagen. Esto limita el funcionamiento del algoritmo ya que si el usuario sale de la posición de corte no se podrá detectar su estado si está abierto los ojos o cerrados. Para realizar las pruebas se tuvo en cuenta esta limitación y se procuró mantener dentro del área de recorte.

o El algoritmo que implementamos tiene limitaciones respecto del nivel de luz ya que no funciona en ambientes con demasiada luz (por ejemplo a medio día) o con poca luz (por ejemplo en la noche) ya que los bordes que se presenta no son los esperados.

X. BIBLIOGRAFÍA:

o 1. Hong y Jain, A. Integrating Faces and Fingerprints for Personal Identification. s.l. : IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998. Vol. 20, 12, págs. 1295-1307.

o 2. Lu, M, y otros, y otros. ADAS applications for improving traffic safety. IEEE International Conference on Systems, Man and Cybernetics,. 2004. Vol. 4.

Page 6: Detección de Ojos Abiertos o Cerrados

o 3. UTPL. Universidad Técnica Particular de Loja. [En línea] 2005. [Citado el: 30 deAbril de 2011.] http://blogs.utpl.edu.ec/gxsetti/2009/07/01/conducir-mientras-usa-untelefono-celular-llama-al-desastre/.

o 4. B.C., Chang, y otros, y otros.A study of classification of the level of sleepiness for

the drowsy driving prevention. s.l. : IEEE, SICE Annual Conference, 2007.

o 5. Kaneda, M. y Obara, H. Nasu,T. Adaptability to ambient light changes for drowsy driving detection using image processing. (98-S2-P-15). 9. Assist Ware Technology. Safetrac. [En línea] 2007. Citado el: 29 de Abril de 2011.] http://www.assistware.com/.