Eye Gaze Movement Detection For Controll - En.es
Eye Gaze Movement Detection For Controll - En.es
Eye Gaze Movement Detection For Controll - En.es
com
Abstracto—Para las personas con discapacidad manual, Las tecnologías son demasiado caras para llegar a la gran mayoría de los
controlar la computadora con dispositivos periféricos como ratones trabajadores de ingresos modestos, en particular las personas con discapacidades,
o teclados es un gran obstáculo y una de las razones que les impide la mayoría de ellos enfrentan dificultades en asuntos financieros, sin mencionar la
integrarse con el mundo moderno. Junto con el desarrollo de las necesidad de usar la tecnología moderna requiere dispositivos especializados
ciencias de la computación, especialmente la visión por como cámaras con luz infrarroja para capturar la vista. movimientos [7]. El rango
computadora, estamos en el proceso de estudiar el reconocimiento del costo de estos sistemas es de alrededor de 5000 a más de 40000 USD [3].
ocular y la dirección del movimiento de los ojos a través de la
Afortunadamente, existen algunas formas aceptables de reducir el precio total
cámara web, proporcionando un enfoque informático para las
tanto como sea posible [8].
personas con discapacidades mencionadas anteriormente. En el
primer paso del estudio, intentamos crear un software simple en Para adaptar esta demanda inicial, queremos que nuestro proyecto sea más
lenguaje Python que pueda detectar el movimiento de la córnea asequible para todos mediante la creación de una aplicación de creación de texto
para controlar el cursor en pantalla a través de la cámara web de la simple de bajo costo utilizando el método de seguimiento ocular y un teclado
computadora portátil basado en la teoría de la visión por virtual hecho por nosotros mismos. Este documento está organizado en 6
computadora mediante el uso de algún código abierto. paquetes secciones. La sección 2 es para profundizar y aclarar el método que hemos
totalmente disponibles y gratuitos para descargar en línea con seguido. En la Sección 3, presentamos las inferencias que hemos hecho durante el
fines educativos. Por lo tanto,
proceso de investigación. Los algoritmos específicos, así como los diagramas de
bloques de los pasos de implementación, se muestran en la Sección 4. La Sección 5
Palabras clave: visión por computadora, control del cursor, seguimiento ocular,
demuestra los resultados experimentales y las comparaciones, mientras que la
detección del movimiento de la mirada, procesamiento de imágenes en tiempo real,
Sección 6 concluye para todo el artículo.
OpenCV, Python
El campo de la investigación del seguimiento ocular ha contribuido hasta ahora con muchas
La mayoría de nuestros métodos de implementación se basan
aplicaciones prácticas a la humanidad. Hay una variedad de direcciones de investigación de seguimiento
en el algoritmo starburst [3] que se había estudiado antes. La
ocular que sirven para diferentes propósitos, al igual que en la publicidad y los medios, utilizan un sistema
dirección de la mirada se calcula desde el centro de la córnea y la
no invasivo para registrar la mirada y analizar el área de visión del cliente o usuario de la computadora [1],
pupila [9] (ver figura 1). Hay dos tipos comunes de métodos de
o la investigación del uso de FOV sistema para navegar por el ojo con el fin de detectar la posición de la
imágenes para rastrear el ojo: imágenes de espectro visible e
mirada del ojo [2]. Esta investigación se lleva a cabo para evitar el movimiento de la cabeza y las personas
imágenes de espectro infrarrojo [10]. En nuestra investigación, solo
estudiamos en imágenes de espectro visible. Este método se basa
no necesitan usar ningún dispositivo de seguimiento. La introducción de la monitorización del movimiento
en el reflejo de la luz ambiental del ojo. Este método no parece
ocular ha sido la premisa de muchas aplicaciones que ayudan a crear interacción entre personas y
óptimo por el método de infrarrojos. Sin embargo, tiene la ventaja
máquinas a través del movimiento ocular en lugar de hacerlo manualmente, como es la tradición para
de no incrementar el costo durante la construcción del sistema,
controlar las interfaces [3]. Por ejemplo, hay una gran cantidad de software que se ha construido para este
además de poder usarse en un ambiente de luz interior normal con
propósito, como los sistemas que pueden hacer dibujos siguiendo el ojo de los usuarios para mover el
una precisión aceptable.
puntero en la pantalla [4], la aplicación que rastrea la coordinación ocular para esperar que el punto de
vista de los usuarios seleccione carácter en el teclado virtual [5], que es el reemplazo de la escritura con El algoritmo starburst se concentra principalmente en la técnica de
teclado físico como de costumbre. Además de ayudar a las personas con discapacidades, estas técnicas pupila oscura del seguimiento ocular infrarrojo [3], pero sigue siendo muy
también admiten el uso común de la interfaz, ya que si el usuario desea seleccionar el icono en la pantalla, útil para nuestra investigación gracias a sus efectos prácticos y rápidos. El
mirará ese icono y la técnica de seguimiento ocular puede acelerar la selección [6]. que es el reemplazo de algoritmo starburst realiza la tarea de montar en función de características
la escritura con teclado físico como de costumbre. Además de ayudar a las personas con discapacidades, (detectar la posición del ojo y localizarlo) con base en modelo (encontrar el
estas técnicas también admiten el uso común de la interfaz, ya que si el usuario desea seleccionar el icono modelo más adecuado que se adecue a la imagen).
en la pantalla, mirará ese icono y la técnica de seguimiento ocular puede acelerar la selección [6]. que es el
reemplazo de la escritura con teclado físico como de costumbre. Además de ayudar a las personas con A. Reducción de ruido
discapacidades, estas técnicas también admiten el uso común de la interfaz, ya que si el usuario desea El ruido de la imagen se divide en dos tipos: ruido de disparo y ruido de
seleccionar el icono en la pantalla, mirará ese icono y la técnica de seguimiento ocular puede acelerar la línea. El ruido de disparo se reduce aplicando un filtro gaussiano. En nuestro
selección [6]. proyecto no hay demasiado ruido de línea por lo que podemos ignorarlo.
1) reconocimiento facial
Basado en el archivo de datos que contiene puntos de referencia
Figura 1. Sección transversal del globo ocular humano. faciales llamado shape_predictor_68_face_landmarks.dat [13], tenemos
todos los puntos de referencia faciales que son muy útiles para localizar una
B. Detección, localización y eliminación de reflejos corneales
región de interesados en el reconocimiento facial. Por lo tanto,
Al utilizar la técnica de pupila oscura, el reflejo de la córnea es demostraremos los siguientes pasos:
compatible con una de las regiones más brillantes después de
• Al principio, después de obtener las imágenes de la cámara web de la
establecer el umbral de la imagen. Se aplica una técnica de umbral en
computadora, volteamos las imágenes de acuerdo con el eje X para
cada fotograma para optimizar la claridad entre las áreas blancas y
que correspondan adecuadamente con nuestro próximo proceso.
negras. El reflejo corneal se establece en una región cuadrada para
limitar la búsqueda. Al principio, la imagen binaria se crea a través del
• Posteriormente, convertimos el color del formato BGR (azul -
verde - rojo) al formato de escala de grises.
umbral máximo. La posición central de la córnea se estima mediante la
relación entre el área de la región de reflexión corneal de los • Luego, mediante la aplicación del Desenfoque Gaussiano, podemos
candidatos más grandes y el promedio de otra región. La coordenada eliminar los ruidos de disparo que se presentan en las imágenes.
se identifica por el centro geométrico (XC, yC), calculado por la relación • Finalmente, el resultado puede ser utilizado por
mencionada anteriormente. shape_predictor_68_face_landmarks.dat para
reconocer la cara frontal.
C.Detección del contorno de la pupila
D. Ajuste elipse
Durante el proceso de encontrar la elipse más apropiada para ajustarse
al contorno de la pupila, hay algunos puntos característicos que no están en
el contorno de la pupila y eliminarán la precisión del proceso de detección
del contorno para superar el nivel inaceptable. Para evitar este problema,
utilizan el paradigma de consenso de muestras aleatorias (RANSAC) [11]. El
RANSAC solo utiliza los subconjuntos de datos para ajustar el modelo. Por lo
tanto, pueden encontrar la elipse que se ajuste más preferiblemente al
contorno de la pupila.
Al principio, cree el umbral en las imágenes que teníamos después de Para navegar por las direcciones de movimiento de la córnea, establecemos el
los tratamientos mencionados anteriormente para realizar una imagen centro del ojo fijo que se basa en los puntos de referencia para compararlo con el
binaria moderada (solo píxeles en blanco y negro). Este proceso requiere centroide de la córnea en movimiento.
algunas pruebas de ejecución para lograr los datos deseados y el método de Gracias a los puntos de referencia faciales, tomamos "la parte superior
umbral más adecuado. Luego, el contorno de la córnea se capturará central" de los dos puntos número 37, 38 y "la parte inferior central" de dos
fácilmente usando “cv2.findContours” a través de OpenCV, que también es el puntos número 40, 41. Después de eso, el punto medio creado por estos dos
objeto más significativo en nuestros datos manejados. centros que podemos obtener fácilmente es el centro del ojo fijo.
M muestra el momento.
Comienzo
Control parpadeando
Encuentra parpadeando
proporción de ambos
Localizar a la izquierda o LBR: Relación de parpadeo izquierdo RBR:
ojos
región del ojo o Relación de parpadeo derecho BR: Relación
V. EXPERIMENTAL RESULTADOS
Consigue un centro de ojos fijo Las pantallas de los portátiles suelen estar inclinadas en un ángulo de
unos 10 grados con respecto al eje vertical. La aplicación funciona mejor
cuando la distancia del ojo y la cámara web va desde los 25cm hasta los 45
Encontrar el centroide corneal
cm. Debido al uso del archivo de datos
shape_predictor_68_face_landmarks.dat para reconocer la cara
frontal, la cara solo puede rotar en una diferencia de 20 grados
Compare las posiciones del centro del ojo fijo
desde la cámara perpendicular para garantizar que el sistema
y centroide corneal (distancia_x)
pueda reconocer todos los puntos de referencia.
VI. CONCLUSIÓN
Después de la investigación en el dominio de la visión por computadora,
especialmente el OpenCV, hemos creado una aplicación simple y económica
escrita en lenguaje Python que ayuda a los usuarios a controlar el cursor en
el teclado virtual, así como a exportar letras en pequeños patrones de texto
mediante el seguimiento de las córneas.
Esta aplicación inicial parece rudimentaria y solo funciona
eficazmente en determinadas condiciones de iluminación ambiental.
Sin embargo, creemos firmemente que, en vista de las perspectivas
futuras, continuaremos con la investigación y actualizaremos esta
aplicación con nuevas funciones desarrolladas.
Nuestro próximo objetivo es brindar a la sociedad, en particular a las
personas con discapacidad, un software más avanzado que tenga una mayor
precisión en la determinación del movimiento de la mirada, con el fin de
interactuar mejor con los usuarios.
REFERENCIAS
[1] Schiessl, M., Duda, S., Thölke, A. y Fischer, R. "Eye tracking and its
application in usability and media research". MMI-interaktiv Journal,
junio de 2003, págs. 1-10.
[2] D. Beymer y M. Flickner, "Seguimiento de la mirada con un cabezal estéreo
activo", 2003 IEEE Computer Society Conference sobre Computer Vision and
Pattern Recognition, 2003. Proceedings., Madison, WI, EE. UU., 2003, págs. II
-451.
[3] Dongheng, Li y J. Derrik Parkhurst. "Starburst: un algoritmo robusto para el
seguimiento ocular basado en video". Actas del Taller IEEE Vision for Human-
Computer Interaction. 2005.
[4] AJ Hornof, A. Cavender, R. Hoselton, “Eyedraw: Un sistema para dibujar
imágenes con movimientos oculares”, en: Conferencia ACM SIGACCESS
sobre Computadoras y Accesibilidad, Atlanta, Georgia, 2004, págs. 86-93.