Detector de sueño en funcion de la frecuencia de parpadeo de los ojos (proximamente)

En breve comenzare a realizar un pequeño programa en Matlab con el que obtener la frecuencia de parpadeo de los ojos mediante las imágenes capturadas con una cámara que enfoca directamente a la cámara de la persona.
En función de esta frecuencia de parpadeo podremos obtener el nivel de sueño o cansancio de la persona lo que nos posibilita entre otras cosas, por ejemplo, saber cuando una persona está o no en condiciones para poder conducir.

El programa se dividirá en dos grandes bloques:

  • Obtención de los cada uno de los frames del video centrándose en la parte de los ojos y analizando si están abiertos o cerrados.
  • Obtención de la frecuencia de parpadeo analizando los frames en un conjunto de tiempo determinado y comprobando en cuales tenemos parpadeos 


La primera parte sobre la obtención de los cada uno de los frames del video centrándose en la parte de los ojos y analizando si están abiertos o cerrados, la tengo más o menos representada en el siguiente código:

%después de varios días intentando crear una función para detectar la cara, he encontrado una que viene implementada en %matlab con la que detectar los ojos:

    detector_cara = vision.CascadeObjectDetector('EyePairBig'); % Default: finds faces

    Im_RGB = imread('lena.bmp');
    bbox = step(detector_cara, Im_RGB); % Detect faces

    % Draw bounding boxes
    shapeInserter = vision.ShapeInserter('BorderColor','Custom','CustomBorderColor',[255 255 0]);   
    I_faces = step(shapeInserter, Im_RGB, int32(bbox));   
    figure, imshow(I_faces), title('Caras detectadas'); 



A continuación se representa la imagen original junto con la imagen que representa un rectángulo en la zona en la que se detectan los ojos, que como se observa lo realiza de forma correcta.




No hay comentarios:

Publicar un comentario