SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Rastreador ocular para accesibilidad a computadoras
de personas con limitación física
Utilización de bibliotecas OpenCV
Christian G. Gomez
Facultad de Ciencias Físico Matemáticas y Naturales (FCFMyN)
Universidad Nacional de San Luis (UNSL)
San Luis, Argentina
cristian.gomez.86@gmail.com
Resumen— En este trabajo se describe la implementación de
un prototipo de rastreo ocular ligero y económico, para
accesibilidad a computadoras utilizando la biblioteca de visión
artificial OpenCV.
La aplicación está destinada a personas con limitaciones
físicas con el fin de ser un nexo de comunicación e inclusión entre
el sujeto y la sociedad.
El rastreador ocular permite seguir la trayectoria pupilar y
controlar el puntero del mouse permitiendo realizar diversas
tareas en el computador usando el movimiento de los ojos de
manera cómoda, natural y relajada.
Palabras Clave—Prototipo, Rastreador, Ocular,
Accesibilidad, Movimiento, Discapacidad.
I. INTRODUCCIÓN
El estudio de los movimientos oculares es un tipo de
medición biométrica [1] que ayuda a comprender el
inconsciente de los sujetos en observación. Esto se consigue
recolectando datos en tiempo real relativos a la dirección de la
mirada de los ojos de la persona el cual resulta muy útil en
muchas aplicaciones [2].
Las personas que padecen de inconvenientes físicos o con
discapacidades motoras pueden encontrar en la tecnología un
sostén adecuado para llevar una vida más plena e
independiente, gracias a los dispositivos y software
especializados existentes en el mercado [3].
Esto ha sido una de las principales motivaciones para
desarrollar un sistema de rastreo ocular económico, ligero y
seguro.
II. DESCRIPCIÓN FÍSICA
El hardware de la interfaz de rastreo ocular está basado en
los prototipos de bajo costo como sugieren los modelos [4] [5]
[6] dividido en tres partes bien definidas: la estructura del
rastreador, el módulo de captura y el iluminador infrarrojo.
A. Estructura del Rastreador Ocular
La principal parte de la construcción del prototipo de
rastreo ocular es una gafa de seguridad al cual se le retiran los
acrílicos de protección. El marco de la estructura posee puente
nasal para mejorar la estabilidad en el uso.
Fig. 1 Estructura del rastreador ocular.
La Fig. 1 muestra la estructura correspondiente del
prototipo rastreador ocular.
El módulo está compuesto por una cámara web USB
Genius FaceCam 320X VGA modificada para trabajar en el
rango de infrarrojo cercano. Para ello el filtro de bloqueo de
luz infrarroja que posee la lente.
B. Iluminador infrarrojo
El iluminador infrarrojo es un circuito que está compuesto
por tres diodos Led infrarrojos de 5mm cuya longitud de onda
de trabajo es de 850nm.
Los diodos están montados en forma de triángulo
alrededor de la cámara del módulo de captura, ver Fig. 2. De
esta manera, se pretende iluminar uniformemente el área
pupilar facilitando el uso en distintos ambientes con
iluminación no homogénea.
El circuito iluminador infrarrojo está alimentado con los 5
voltios desde el conector USB de la placa del módulo de
captura, a través de un resistor de 100 ohmios, Fig. 3.
Fig. 2 Iluminador infrarrojo.
Fig. 3 Alimentación del circuito iluminador infrarrojo.
Al iluminar y registrar el ojo con luz infrarroja la imagen
capturada tiene una pupila más distintiva que la ofrecida por
fuente de luz visible. Esto se debe a que la pupila no se
contrae con este tipo de fuente de luz. Aparece ya sea como
una pupila brillante u oscura [7] [8] y facilita el procesamiento
para su identificación.
La técnica de pupila oscura sucede cuando la fuente de luz
infrarroja esta fuera de eje respecto a la cámara. Este método
trabaja mejor tanto en ambientes interiores y exteriores. Es el
método mayormente empleado para seguimiento ocular.
Por otra parte, la técnica de pupila brillante sucede cuando
la luz infrarroja esta en eje (coaxial) respecto a la cámara. Este
tipo de sistema trabaja mejor en ambientes interiores.
La configuración empleada en el prototipo descripto en
este artículo se basa en la técnica de pupila oscura, ver Fig. 4.
III. PROCESAMIENTO DE LA IMAGEN OCULAR
El proceso del seguimiento de la mirada del usuario
empieza en el módulo de captura. Este recibe imágenes
fotogramas del ojo derecho de la persona y envía las señales
de video a la computadora en forma serial a través de un cable
USB.
En la computadora se ejecuta un algoritmo escrito en
lenguaje de programación C++, usando técnicas de visión
artificial [9] y empleando la biblioteca de OpenCV [10] [11].
Luego se realiza el procesamiento de las imágenes fotogramas
del ojo para identificar la pupila.
La secuencia de etapas se describe a continuación:
A. Adquisición de imágenes
La biblioteca OpenCV permite almacenar cada imagen
fotograma en un contenedor básico llamado Mat para la
gestión automática de memoria.
Fig. 4 Técnica de pupila oscura.
Fig. 5 El contenedor Mat.
Como se muestra en la Fig. 5, el contenedor Mat consiste
de filas y columnas, donde para cada pixel P(x, y) de la
imagen, es un envase que contiene los valores R (canal rojo),
G (canal verde), B (canal azul) y un escalar alpha (A) para la
codificación de la transparencia.
Cada valor R, G, B y A se representa con un número desde
0 a 255 (8 bits sin signo) indicando el nivel de intensidad de
los colores asociados y la transparencia a ese pixel P(x, y).
B. Pre-Procesamiento
En esta etapa se mejora la imagen resaltando determinadas
características y eliminando otras que no son necesarias.
El proceso inicia con el cálculo de la media ponderada de
los distintos componentes de color de cada pixel de la imagen
ocular original, Ec. 1. Se forma una nueva imagen con 256
niveles de gris por pixel con la información de luminancia.
Fig. 6a.
𝑌 = 0,3 ∗ 𝑅 + 0,59 ∗ 𝐺 + 0,11 ∗ 𝐵 (1)
Para suavizar y reducir el contenido en ruido presente en
cada imagen fotograma ocular se utiliza un filtro gaussiano
2D. Este filtro se aplica a cada pixel de la imagen. Fig. 6b.
Finalmente se maximiza el contraste de la imagen ocular
sin perder información de tipo estructural. Para ello se realiza
una ecualización de histograma como muestra la Fig. 6c.
C. Segmentación
La imagen ocular en escala de grises y ecualizada se
convierte a una nueva con sólo dos niveles, es decir una
imagen en blanco y negro (binaria). Este procedimiento se
conoce como umbralización.
Opencv ofrece seis funciones de umbralización entre las
cuales se encuentra la umbralización binaria invertida. Donde
cada pixel P(x, y) en la imagen se convierte en un nuevo pixel
P´(x, y) cuando su nivel de luminancia supera un determinado
umbral establecido. Esta conversión viene dada por la Ec. 2.
𝑃´(𝑥, 𝑦) = {
0 𝑠𝑖 𝑃(𝑥, 𝑦) > 𝑢𝑚𝑏𝑟𝑎𝑙
255 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
(2)
Fig. 6 Imagen ocular: a) Escala de grises; b) Filtrado gaussiano; c)
Ecualización de histograma.
La Fig. 7 muestra la imagen ocular binaria y su
comportamiento para distintos valores de umbral. A medida
que se disminuye este valor, se descartan parpados, ceja,
pestaña que se interpretarían como ruido para el proceso de
identificación de la pupila.
Un umbral= 5 resulta aceptable para conseguir una pupila
notable y distintiva. Un valor menor a éste no resultaría
efectivo.
Luego se realiza un procesamiento morfológico con
elementos estructurantes para la supresión final del ruido. El
resultado puede verse en la Fig. 8a.
Finalmente se emplea el algoritmo de Canny provisto por
OpenCV para detectar los bordes de la pupila, Fig. 8b.
D. Identificación de la pupila
La etapa de identificación de la pupila consiste en el
etiquetado y reconocimiento de la misma en tiempo real. Para
ello, la detección de la pupila y su posición exacta de
fotograma en fotograma debe ser satisfactoria.
Se proponen dos métodos de identificación: La
transformada de Hough circular y contornos rasterizados.
Ambas funciones son provistas por OpenCV.
La transformada de Hough circular consiste en un
algoritmo de detección de círculos. Éste algoritmo recorre
todos los puntos fronteras de la figura a caracterizar; donde
para cada uno de ellos se plantean los infinitos círculos que
pasan por ese punto con distintos radios y distintos centros. El
algoritmo acumula un voto para aquellas curvas que cumplan
con la caracterización circular de dicha figura.
En cuanto a los contornos rasterizados, se pueden explicar
simplemente como una curva que une todos los puntos
continuos (pixeles a lo largo de la frontera), que tiene el
mismo color o intensidad.
Fig. 7 Umbralización: a) umbral=50; b) umbral=25; c) umbral=5.
Fig. 8 Pupila: a) segmentada; b) borde.
Los contornos son una herramienta útil para el análisis de
la forma, la detección y reconocimiento de objetos.
La sección de resultados muestra el comportamiento de
cada método propuesto.
Finalmente una vez detectada la pupila se calcula su centro
de masa o punto centroide (Cx, Cy), Fig. 9.
E. Calibración
Los procedimientos de calibración [12] para un sistema de
rastreo ocular se efectúan a través de una pantalla del
computador. En ella, se muestran puntos estímulos por los
cuales el usuario debe ir observando para determinar el área de
trabajo del sistema rastreador.
Para vincular la mirada del usuario respecto un objetivo en
la pantalla del ordenador, se utilizan funciones polinómicas y
transformadas geométricas de mapeo bilineal [13], Ec. 3.
{
𝑆𝑥 = 𝑎 . 𝐶𝑥 + 𝑏 . 𝐶𝑦 + 𝑐 . 𝐶𝑥 . 𝐶𝑦 + 𝑑
𝑆𝑦 = 𝑒 . 𝐶𝑥 + 𝑓 . 𝐶𝑦 + 𝑔 . 𝐶𝑥 . 𝐶𝑦 + ℎ
(3)
En la función polinómica de primer grado dada por la
ecuación anterior, (Cx, Cy) es la coordenada del punto
centroide de la pupila y (Sx, Sy) es la coordenada del punto
estímulo en pantalla del computador.
La función polinómica incluye además ocho parámetros el
cual consideran factores en dos dimensiones de rotación,
traslación, escalado, estabilidad en paralelo y distorsión entre
(Cx, Cy) y (Sx, Sy). Estos parámetros constantes se calculan
resolviendo la Ec. 3.
El prototipo rastreador ocular propuesto en este trabajo
utiliza un algoritmo de calibración que emplea cuatro puntos
estímulos en pantalla tal como muestra la Fig. 10.
El usuario mira cada uno de estos estímulos siguiendo un
orden. Es decir, observa el punto 1 y en simultáneo hace un
clic en forma manual con el ratón dentro del objetivo
cuadrado. Luego, se procede de la misma manera con los
demás puntos estímulos hasta el número 4.
Fig. 9 Pupila y centroide detectado e identificado.
Fig. 10 Ventana de calibración.
Posteriormente el punto calculado (Sx, Sy) se envía como
parámetro a la función de control del puntero del ratón.
Finalmente se prueba el prototipo rastreador ocular con un
software especializado para personas con discapacidades
motoras tal como GazeTalk5, entre otros [14].
Gazetalk5, Fig. 11, permite al usuario realizar distintas
acciones entre las cuales se destacan, escribir en un teclado
virtual predictivo en pantalla, navegar por internet, enviar y
recibir correos electrónicos, escuchar música, ver videos y leer
archivos pdf usando la mirada en forma natural y relajada.
El software Gazetalk5 permite configurar la interacción a
la interfaz gráfica de usuario por medio de la mirada fija
usando tiempos de permanencia o mediante clics por pestañeo.
IV. RESULTADOS EXPERIMENTALES
La Fig. 12, muestra el comportamiento en tiempo real de
los métodos descriptos en párrafos anteriores.
La Transformada de Hough (etiqueta roja) logra una buena
identificación de la pupila cuando la mirada es hacia el centro
de la pantalla, Fig. 12a. La identificación se pierde cuando la
mirada es hacia los costados con lo cual no sigue el contorno
de la pupila y presenta errores en la detección. Esto se debe a
que la pupila, en referencia a la cámara del módulo de captura,
toma una forma elíptica, Fig. 12b y Fig. 12c.
Fig. 11 Pantalla principal de Gazetalk5.
Fig. 12 Comportamiento de los métodos de identificación de la pupila:
Transformada de hough circular (etiqueta roja) y contornos rasterizados
(etiqueta azul).
Experimentalmente se comprobó que usando el método
por contornos rasterizados (etiqueta azul) presenta mejor
comportamiento de identificación de la pupila en tiempo real.
Éste método sigue perfectamente el contorno de la misma, Fig.
12c, por lo tanto es el procedimiento elegido para el propósito
de este trabajo.
Efectuada la calibración del prototipo rastreador ocular,
una plantilla de validación permite comprobar el normal
funcionamiento.
La plantilla consiste de cinco objetos cuadrados estímulos
desplegados en pantalla donde el usuario observa los mismos
y va dibujando el rastro de su mirada (línea azul) a medida que
interactúa con ellos, ver Fig. 13.
Los objetos estímulos se disponen de tal manera de cubrir
el área de trabajo del rastreador ocular verificando su
comportamiento en las esquinas y en su centro.
En el diseño de la plantilla se tuvo en cuenta emplear
objetos de color intenso, como el rojo y el naranja, que
estimulan la vista y dispuestos sobre fondo negro de tal
manera que el brillo no afecte a la contracción pupilar.
La precisión de los ojos está relacionada con el área de la
fóvea en la retina del ojo, una zona de alta resolución que tiene
un tamaño entre 1 y 2 grados de ángulo visual [15] [16]. Éste
ángulo corresponde a una región de 20 a 40 píxeles en una
pantalla de 17 pulgadas con una resolución de 1024x768
píxeles visto desde una distancia de 50 cm.
Posteriormente se utiliza una segunda plantilla de
validación para calcular el error de la mirada al estímulo tanto
en ángulo como en pixeles, Fig. 14a y Fig. 14b.
Para el cálculo del error mirada – estímulo (EME) se
emplea la Ec. 4.
𝐸𝑀𝐸(°) = 𝑇𝑎𝑛−1
(
√𝑋𝑒2 + 𝑌𝑒2
𝑍
) (4)
Donde Z es la distancia desde el ojo del usuario a la
pantalla. Xe es el error de la distancia entre la posición de
referencia del estímulo y la posición de la mirada calculado
sobre el eje x en la pantalla. Ye es el error de la distancia
Fig. 13 Plantilla de validación.
entre la posición de referencia del estímulo y la posición de la
mirada calculado sobre el eje y en la pantalla.
En la Tabla I se muestran los resultados para diez
mediciones a una distancia Z = 50cm de la pantalla del
ordenador.
Los rastreadores oculares actuales alcanzan una precisión
de un ángulo visual del usuario de 0,5º [17] [18]. Este es el
equivalente de una región de aproximadamente 10 píxeles en
una pantalla de 17 pulgadas con una resolución de 1024x768
píxeles visto desde una distancia de 50 cm.
El promedio de error para el rastreador ocular propuesto es
de 38,422 pixeles y 0,637 grados de error de ángulo visual.
La precisión relativa puede mejorarse haciendo los objetos
estímulos en la pantalla mucho más grande, tal como se puede
apreciar en la plantilla de validación. Esto los hace más fácil
de interactuar con ellos y mejora el rendimiento del ojo.
Se debe tener en cuenta el equilibrio entre el espacio
disponible y la precisión requerida mínima en cuanto al diseño
de una interfaz gráfica del usuario.
Fig.14: a) Plantilla para el cálculo del error mirada – estímulo; b) Errores de
medición.
TABLA I. ERROR MIRADA - ESTÍMULO
V. CONCLUSIONES Y TRABAJOS FUTUROS
El precio de los dispositivos rastreadores oculares
comerciales tiene un costo elevado y esto es una limitación. Es
por ello que surgen propuestas económicas, de código abierto,
las que pueden no ser robustas como los productos de alta
gama pero poseen una precisión aceptable. El sistema
propuesto no escapa a ello.
En este trabajo se describió cómo construir un rastreador
ocular a corto plazo, con bajo presupuesto y principalmente
pensado para su uso en accesibilidad a computadoras para
personas con discapacidades motoras.
Se evaluó la precisión del mismo siendo aceptable para
muchas aplicaciones y comparable con dispositivos similares
de alta gama. En definitiva con un previo entrenamiento se
puede alcanzar un control total sobre el dispositivo.
La principal desventaja del rastreador ocular es no poder
usarse en personas que usen anteojos o lentes de contacto. El
sistema no puede detectar e identificar la pupila debido a las
reflexiones de la luz infrarroja incidente. Ésta luz no es
recibida correctamente hacia la cámara del módulo de captura.
Se plantea esta problemática a solucionarse en trabajos
futuros.
Es posible agregar mayor robustez al prototipo rastreador
en cuanto a su comportamiento frente al ruido. Precisamente
el filtrado del ruido de oscilación del ojo (microsacadas) que
se presentan durante la mirada fija. Una alternativa es el uso
del Filtro de Kalman [19] que además se puede utilizar para
predecir los movimientos del ojo.
Se prevé a trabajos futuros la adición de una segunda
cámara que permita ampliar la perspectiva y rango de visión
monocular a binocular.
También está previsto adaptar una tercer cámara frontal o
cámara escénica para poder usar el sistema rastreador ocular
no solo sobre una pantalla de ordenador sino más bien en el
mundo exterior.
N° Medición Error en
pixeles
Error en ángulo
(grados)
1 54,08 0,82
2 16,28 0,31
3 44,64 0,73
4 48,38 0,77
5 24,17 0,45
6 45,80 0,74
7 39,82 0,67
8 33,24 0,59
9 50,22 0,79
10 27,59 0,50
VI. REFERENCIAS
[1] R. Bhatia, “Biometrics and Face Recognition Techniques”.
International Journal of Advanced Research in Computer
Science and Software Engineering, Volume 3, Issue 5, May
2013.
[2] R. G. Lupu, and F. Ungureanu, “A survey of eye tracking
methods and applications”. “Gheorghe Asachi” Technical
University of Iasi, Faculty of Automatic Control and Computer
Engineering. Romania, August 29, 2013.
[3] Assistive Technology in the Workplace for People with a
Disability. National Disability coordination Officer Programs
(NDCO). Published by Deakin University, Australian, 2014.
[4] M. Kowalik, “How to build low cost eye tracking glasses for
head mounted system”, Faculty of Computer Science and
Information Technology The West Pomeranian University of
Technology, Szczecin Poland 2010.
[5] R. Mantiuk, M. Kowalik, A. Nowosielski, and B. Bazyluk. “Do-
It-Yourself Eye Tracker: Low-Cost Pupil-Based Eye Tracker for
Computer Graphics Applications”, West Pomeranian University
of Technology in Szczecin, Faculty of Computer Science,
Szczecin, Poland 2010.
[6] C. G. Gomez, N. B. Perez. “Sistema de rastreo ocular para la
intervención de personas con discapacidades motoras”. Facultad
de Ciencias Físico Matemáticas y Naturales (FCFMyN)
Departamento de Física (DF) - Departamento de Informática
(DI) Universidad Nacional de San Luis (UNSL)
Argentina
Ejercito de Los Andes 950 San Luis.
[7] C. Morimoto, D. Koons. A. Amir, and M. Flickner, “Pupil
detection and tracking using multiple light sources”. IBM
Almaden Research Center, 2000. San Jose, California.
[8] Z. Zhu, K. Fujimura, and Q. Ji, “Real-Time Eye Detection and
Tracking Under Various Light Conditions”. Computer vision
and Image understanding, Special Issue on Eye Detection and
Tracking, Volume 98, Issue 1, Pages 1-210 (April 2005).
[9] R.C Gonzalez, R.E. Woods, “Digital Image Processing”.
Prentice Hall, second edition 2002.
[10] Learning OpenCV, Computer Vision in C++ With the OpenCV
Library, Second Edition O’Reilly. A. Kaehler, G. Bradski.
2008.
[11] The OpenCV Tutorials, Release 2.4.9.0. 2014.
[12] K. Harezlak, P. Kasprowski, M. Stasch, “Towards accurate eye
tracker calibration – methods and procedures”. Knowledge-
Based and Intelligent Information & Engineering Systems 18th
Annual Conference, KES-2014 Gdynia, Poland, September
2014 Proceedings.
[13] R. Hartley, A. Zisserman, “Multiple View Geometry in
Computer Vision”, Second Edition. Cambridge University
Press, 2004.
[14] “Assistive technologies to support people with disabilities”,
European Parliament, European Union 2015.
[15] R. Matos, “Designing eye tracking experiments to measure
human behavior”. Tobii Technology, Eindhoven, the
Netherlands, August, 2010.
[16] Tobii technology, “Accuracy and precision test method for
remote eye trackers”. Test specification version 2.1.1, February
2011.
[17] Tobii technology. Product Description Tobii Pro Glasses 2
version 1.0.8, November 2015.
[18] SensoMotoric Instruments SMI. Product Description SMI Eye
Tracking Glasses 2 Wireless, Germany 2014.
[19] O. V. Komogortsev, andJ. I. Khan, “Eye Movement Prediction
by Kalman Filter with Integrated Linear Horizontal Oculomotor
Plant Mechanical Model”. Proceedings of the Eye Tracking
Research & Application Symposium, ETRA 2008, Savannah,
Georgia, USA, March, 2008.

Weitere ähnliche Inhalte

Ähnlich wie Rastreador ocular (Uea 2016)

Navegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaNavegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaalepusto
 
Conteo globulos rbustamante
Conteo globulos rbustamanteConteo globulos rbustamante
Conteo globulos rbustamantemiocid0777
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento yviisonartificial2012
 
Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image jRomel Villanueva
 
MRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELA
MRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELAMRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELA
MRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELAronaldestelafencyt
 
Segmentación imagenes
Segmentación  imagenesSegmentación  imagenes
Segmentación imagenesMarco Muñoz
 
Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1dave
 
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECTDetección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECTAndrés Paute
 
Vision por computadora y Robotica 3d
Vision por computadora y Robotica 3dVision por computadora y Robotica 3d
Vision por computadora y Robotica 3dDavid Görcke
 
Vision artificial
Vision artificialVision artificial
Vision artificialDavid Sari
 
(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicularOscar Avilés
 
Segmentación de imágenes con matlab
Segmentación de imágenes con matlabSegmentación de imágenes con matlab
Segmentación de imágenes con matlabDiego Erazo
 
Segmentacion de Imagenes
Segmentacion de ImagenesSegmentacion de Imagenes
Segmentacion de ImagenesMafer Pinto
 
Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...
Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...
Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...Igor García Atutxa
 
Metrología: Sistemas De Visión Artificial
Metrología: Sistemas De Visión ArtificialMetrología: Sistemas De Visión Artificial
Metrología: Sistemas De Visión ArtificialUlises Guevara
 

Ähnlich wie Rastreador ocular (Uea 2016) (20)

Navegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaNavegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fuga
 
Proyecto. vision artificial
Proyecto. vision artificialProyecto. vision artificial
Proyecto. vision artificial
 
Conteo globulos rbustamante
Conteo globulos rbustamanteConteo globulos rbustamante
Conteo globulos rbustamante
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento y
 
Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image j
 
MRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELA
MRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELAMRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELA
MRU ASISTIDO POR PC - FENCYT 2004 - PROF. RONALD ESTELA
 
Segmentación imagenes
Segmentación  imagenesSegmentación  imagenes
Segmentación imagenes
 
Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1
 
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECTDetección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECT
 
Vision por computadora y Robotica 3d
Vision por computadora y Robotica 3dVision por computadora y Robotica 3d
Vision por computadora y Robotica 3d
 
Vision artificial
Vision artificialVision artificial
Vision artificial
 
Camaras inteligentes
Camaras inteligentesCamaras inteligentes
Camaras inteligentes
 
(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular
 
Resumen cinsis 2017
Resumen cinsis 2017Resumen cinsis 2017
Resumen cinsis 2017
 
Segmentación de imágenes con matlab
Segmentación de imágenes con matlabSegmentación de imágenes con matlab
Segmentación de imágenes con matlab
 
Segmentacion de Imagenes
Segmentacion de ImagenesSegmentacion de Imagenes
Segmentacion de Imagenes
 
Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...
Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...
Trabajo Fin de Master Modelizacion, Estadistica y Computación. Técnicas de de...
 
Metrología: Sistemas De Visión Artificial
Metrología: Sistemas De Visión ArtificialMetrología: Sistemas De Visión Artificial
Metrología: Sistemas De Visión Artificial
 
Diagnostico de lentes con pic
Diagnostico de lentes con picDiagnostico de lentes con pic
Diagnostico de lentes con pic
 
[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)
[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)
[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)
 

Kürzlich hochgeladen

Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxErandiCamperoBojorge
 
La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfelabarbosa396
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 
El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.SEAT
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.pptALEJANDRAKATHERINESA
 
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdfgeraldoquispehuaman
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .MiliMili32
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 

Kürzlich hochgeladen (10)

Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptx
 
La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdf
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 
El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
 
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 

Rastreador ocular (Uea 2016)

  • 1. Rastreador ocular para accesibilidad a computadoras de personas con limitación física Utilización de bibliotecas OpenCV Christian G. Gomez Facultad de Ciencias Físico Matemáticas y Naturales (FCFMyN) Universidad Nacional de San Luis (UNSL) San Luis, Argentina cristian.gomez.86@gmail.com Resumen— En este trabajo se describe la implementación de un prototipo de rastreo ocular ligero y económico, para accesibilidad a computadoras utilizando la biblioteca de visión artificial OpenCV. La aplicación está destinada a personas con limitaciones físicas con el fin de ser un nexo de comunicación e inclusión entre el sujeto y la sociedad. El rastreador ocular permite seguir la trayectoria pupilar y controlar el puntero del mouse permitiendo realizar diversas tareas en el computador usando el movimiento de los ojos de manera cómoda, natural y relajada. Palabras Clave—Prototipo, Rastreador, Ocular, Accesibilidad, Movimiento, Discapacidad. I. INTRODUCCIÓN El estudio de los movimientos oculares es un tipo de medición biométrica [1] que ayuda a comprender el inconsciente de los sujetos en observación. Esto se consigue recolectando datos en tiempo real relativos a la dirección de la mirada de los ojos de la persona el cual resulta muy útil en muchas aplicaciones [2]. Las personas que padecen de inconvenientes físicos o con discapacidades motoras pueden encontrar en la tecnología un sostén adecuado para llevar una vida más plena e independiente, gracias a los dispositivos y software especializados existentes en el mercado [3]. Esto ha sido una de las principales motivaciones para desarrollar un sistema de rastreo ocular económico, ligero y seguro. II. DESCRIPCIÓN FÍSICA El hardware de la interfaz de rastreo ocular está basado en los prototipos de bajo costo como sugieren los modelos [4] [5] [6] dividido en tres partes bien definidas: la estructura del rastreador, el módulo de captura y el iluminador infrarrojo. A. Estructura del Rastreador Ocular La principal parte de la construcción del prototipo de rastreo ocular es una gafa de seguridad al cual se le retiran los acrílicos de protección. El marco de la estructura posee puente nasal para mejorar la estabilidad en el uso. Fig. 1 Estructura del rastreador ocular. La Fig. 1 muestra la estructura correspondiente del prototipo rastreador ocular. El módulo está compuesto por una cámara web USB Genius FaceCam 320X VGA modificada para trabajar en el rango de infrarrojo cercano. Para ello el filtro de bloqueo de luz infrarroja que posee la lente. B. Iluminador infrarrojo El iluminador infrarrojo es un circuito que está compuesto por tres diodos Led infrarrojos de 5mm cuya longitud de onda de trabajo es de 850nm. Los diodos están montados en forma de triángulo alrededor de la cámara del módulo de captura, ver Fig. 2. De esta manera, se pretende iluminar uniformemente el área pupilar facilitando el uso en distintos ambientes con iluminación no homogénea. El circuito iluminador infrarrojo está alimentado con los 5 voltios desde el conector USB de la placa del módulo de captura, a través de un resistor de 100 ohmios, Fig. 3. Fig. 2 Iluminador infrarrojo.
  • 2. Fig. 3 Alimentación del circuito iluminador infrarrojo. Al iluminar y registrar el ojo con luz infrarroja la imagen capturada tiene una pupila más distintiva que la ofrecida por fuente de luz visible. Esto se debe a que la pupila no se contrae con este tipo de fuente de luz. Aparece ya sea como una pupila brillante u oscura [7] [8] y facilita el procesamiento para su identificación. La técnica de pupila oscura sucede cuando la fuente de luz infrarroja esta fuera de eje respecto a la cámara. Este método trabaja mejor tanto en ambientes interiores y exteriores. Es el método mayormente empleado para seguimiento ocular. Por otra parte, la técnica de pupila brillante sucede cuando la luz infrarroja esta en eje (coaxial) respecto a la cámara. Este tipo de sistema trabaja mejor en ambientes interiores. La configuración empleada en el prototipo descripto en este artículo se basa en la técnica de pupila oscura, ver Fig. 4. III. PROCESAMIENTO DE LA IMAGEN OCULAR El proceso del seguimiento de la mirada del usuario empieza en el módulo de captura. Este recibe imágenes fotogramas del ojo derecho de la persona y envía las señales de video a la computadora en forma serial a través de un cable USB. En la computadora se ejecuta un algoritmo escrito en lenguaje de programación C++, usando técnicas de visión artificial [9] y empleando la biblioteca de OpenCV [10] [11]. Luego se realiza el procesamiento de las imágenes fotogramas del ojo para identificar la pupila. La secuencia de etapas se describe a continuación: A. Adquisición de imágenes La biblioteca OpenCV permite almacenar cada imagen fotograma en un contenedor básico llamado Mat para la gestión automática de memoria. Fig. 4 Técnica de pupila oscura. Fig. 5 El contenedor Mat. Como se muestra en la Fig. 5, el contenedor Mat consiste de filas y columnas, donde para cada pixel P(x, y) de la imagen, es un envase que contiene los valores R (canal rojo), G (canal verde), B (canal azul) y un escalar alpha (A) para la codificación de la transparencia. Cada valor R, G, B y A se representa con un número desde 0 a 255 (8 bits sin signo) indicando el nivel de intensidad de los colores asociados y la transparencia a ese pixel P(x, y). B. Pre-Procesamiento En esta etapa se mejora la imagen resaltando determinadas características y eliminando otras que no son necesarias. El proceso inicia con el cálculo de la media ponderada de los distintos componentes de color de cada pixel de la imagen ocular original, Ec. 1. Se forma una nueva imagen con 256 niveles de gris por pixel con la información de luminancia. Fig. 6a. 𝑌 = 0,3 ∗ 𝑅 + 0,59 ∗ 𝐺 + 0,11 ∗ 𝐵 (1) Para suavizar y reducir el contenido en ruido presente en cada imagen fotograma ocular se utiliza un filtro gaussiano 2D. Este filtro se aplica a cada pixel de la imagen. Fig. 6b. Finalmente se maximiza el contraste de la imagen ocular sin perder información de tipo estructural. Para ello se realiza una ecualización de histograma como muestra la Fig. 6c. C. Segmentación La imagen ocular en escala de grises y ecualizada se convierte a una nueva con sólo dos niveles, es decir una imagen en blanco y negro (binaria). Este procedimiento se conoce como umbralización. Opencv ofrece seis funciones de umbralización entre las cuales se encuentra la umbralización binaria invertida. Donde cada pixel P(x, y) en la imagen se convierte en un nuevo pixel P´(x, y) cuando su nivel de luminancia supera un determinado umbral establecido. Esta conversión viene dada por la Ec. 2. 𝑃´(𝑥, 𝑦) = { 0 𝑠𝑖 𝑃(𝑥, 𝑦) > 𝑢𝑚𝑏𝑟𝑎𝑙 255 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 (2)
  • 3. Fig. 6 Imagen ocular: a) Escala de grises; b) Filtrado gaussiano; c) Ecualización de histograma. La Fig. 7 muestra la imagen ocular binaria y su comportamiento para distintos valores de umbral. A medida que se disminuye este valor, se descartan parpados, ceja, pestaña que se interpretarían como ruido para el proceso de identificación de la pupila. Un umbral= 5 resulta aceptable para conseguir una pupila notable y distintiva. Un valor menor a éste no resultaría efectivo. Luego se realiza un procesamiento morfológico con elementos estructurantes para la supresión final del ruido. El resultado puede verse en la Fig. 8a. Finalmente se emplea el algoritmo de Canny provisto por OpenCV para detectar los bordes de la pupila, Fig. 8b. D. Identificación de la pupila La etapa de identificación de la pupila consiste en el etiquetado y reconocimiento de la misma en tiempo real. Para ello, la detección de la pupila y su posición exacta de fotograma en fotograma debe ser satisfactoria. Se proponen dos métodos de identificación: La transformada de Hough circular y contornos rasterizados. Ambas funciones son provistas por OpenCV. La transformada de Hough circular consiste en un algoritmo de detección de círculos. Éste algoritmo recorre todos los puntos fronteras de la figura a caracterizar; donde para cada uno de ellos se plantean los infinitos círculos que pasan por ese punto con distintos radios y distintos centros. El algoritmo acumula un voto para aquellas curvas que cumplan con la caracterización circular de dicha figura. En cuanto a los contornos rasterizados, se pueden explicar simplemente como una curva que une todos los puntos continuos (pixeles a lo largo de la frontera), que tiene el mismo color o intensidad. Fig. 7 Umbralización: a) umbral=50; b) umbral=25; c) umbral=5. Fig. 8 Pupila: a) segmentada; b) borde. Los contornos son una herramienta útil para el análisis de la forma, la detección y reconocimiento de objetos. La sección de resultados muestra el comportamiento de cada método propuesto. Finalmente una vez detectada la pupila se calcula su centro de masa o punto centroide (Cx, Cy), Fig. 9. E. Calibración Los procedimientos de calibración [12] para un sistema de rastreo ocular se efectúan a través de una pantalla del computador. En ella, se muestran puntos estímulos por los cuales el usuario debe ir observando para determinar el área de trabajo del sistema rastreador. Para vincular la mirada del usuario respecto un objetivo en la pantalla del ordenador, se utilizan funciones polinómicas y transformadas geométricas de mapeo bilineal [13], Ec. 3. { 𝑆𝑥 = 𝑎 . 𝐶𝑥 + 𝑏 . 𝐶𝑦 + 𝑐 . 𝐶𝑥 . 𝐶𝑦 + 𝑑 𝑆𝑦 = 𝑒 . 𝐶𝑥 + 𝑓 . 𝐶𝑦 + 𝑔 . 𝐶𝑥 . 𝐶𝑦 + ℎ (3) En la función polinómica de primer grado dada por la ecuación anterior, (Cx, Cy) es la coordenada del punto centroide de la pupila y (Sx, Sy) es la coordenada del punto estímulo en pantalla del computador. La función polinómica incluye además ocho parámetros el cual consideran factores en dos dimensiones de rotación, traslación, escalado, estabilidad en paralelo y distorsión entre (Cx, Cy) y (Sx, Sy). Estos parámetros constantes se calculan resolviendo la Ec. 3. El prototipo rastreador ocular propuesto en este trabajo utiliza un algoritmo de calibración que emplea cuatro puntos estímulos en pantalla tal como muestra la Fig. 10. El usuario mira cada uno de estos estímulos siguiendo un orden. Es decir, observa el punto 1 y en simultáneo hace un clic en forma manual con el ratón dentro del objetivo cuadrado. Luego, se procede de la misma manera con los demás puntos estímulos hasta el número 4. Fig. 9 Pupila y centroide detectado e identificado.
  • 4. Fig. 10 Ventana de calibración. Posteriormente el punto calculado (Sx, Sy) se envía como parámetro a la función de control del puntero del ratón. Finalmente se prueba el prototipo rastreador ocular con un software especializado para personas con discapacidades motoras tal como GazeTalk5, entre otros [14]. Gazetalk5, Fig. 11, permite al usuario realizar distintas acciones entre las cuales se destacan, escribir en un teclado virtual predictivo en pantalla, navegar por internet, enviar y recibir correos electrónicos, escuchar música, ver videos y leer archivos pdf usando la mirada en forma natural y relajada. El software Gazetalk5 permite configurar la interacción a la interfaz gráfica de usuario por medio de la mirada fija usando tiempos de permanencia o mediante clics por pestañeo. IV. RESULTADOS EXPERIMENTALES La Fig. 12, muestra el comportamiento en tiempo real de los métodos descriptos en párrafos anteriores. La Transformada de Hough (etiqueta roja) logra una buena identificación de la pupila cuando la mirada es hacia el centro de la pantalla, Fig. 12a. La identificación se pierde cuando la mirada es hacia los costados con lo cual no sigue el contorno de la pupila y presenta errores en la detección. Esto se debe a que la pupila, en referencia a la cámara del módulo de captura, toma una forma elíptica, Fig. 12b y Fig. 12c. Fig. 11 Pantalla principal de Gazetalk5. Fig. 12 Comportamiento de los métodos de identificación de la pupila: Transformada de hough circular (etiqueta roja) y contornos rasterizados (etiqueta azul). Experimentalmente se comprobó que usando el método por contornos rasterizados (etiqueta azul) presenta mejor comportamiento de identificación de la pupila en tiempo real. Éste método sigue perfectamente el contorno de la misma, Fig. 12c, por lo tanto es el procedimiento elegido para el propósito de este trabajo. Efectuada la calibración del prototipo rastreador ocular, una plantilla de validación permite comprobar el normal funcionamiento. La plantilla consiste de cinco objetos cuadrados estímulos desplegados en pantalla donde el usuario observa los mismos y va dibujando el rastro de su mirada (línea azul) a medida que interactúa con ellos, ver Fig. 13. Los objetos estímulos se disponen de tal manera de cubrir el área de trabajo del rastreador ocular verificando su comportamiento en las esquinas y en su centro. En el diseño de la plantilla se tuvo en cuenta emplear objetos de color intenso, como el rojo y el naranja, que estimulan la vista y dispuestos sobre fondo negro de tal manera que el brillo no afecte a la contracción pupilar. La precisión de los ojos está relacionada con el área de la fóvea en la retina del ojo, una zona de alta resolución que tiene un tamaño entre 1 y 2 grados de ángulo visual [15] [16]. Éste ángulo corresponde a una región de 20 a 40 píxeles en una pantalla de 17 pulgadas con una resolución de 1024x768 píxeles visto desde una distancia de 50 cm. Posteriormente se utiliza una segunda plantilla de validación para calcular el error de la mirada al estímulo tanto en ángulo como en pixeles, Fig. 14a y Fig. 14b. Para el cálculo del error mirada – estímulo (EME) se emplea la Ec. 4. 𝐸𝑀𝐸(°) = 𝑇𝑎𝑛−1 ( √𝑋𝑒2 + 𝑌𝑒2 𝑍 ) (4) Donde Z es la distancia desde el ojo del usuario a la pantalla. Xe es el error de la distancia entre la posición de referencia del estímulo y la posición de la mirada calculado sobre el eje x en la pantalla. Ye es el error de la distancia
  • 5. Fig. 13 Plantilla de validación. entre la posición de referencia del estímulo y la posición de la mirada calculado sobre el eje y en la pantalla. En la Tabla I se muestran los resultados para diez mediciones a una distancia Z = 50cm de la pantalla del ordenador. Los rastreadores oculares actuales alcanzan una precisión de un ángulo visual del usuario de 0,5º [17] [18]. Este es el equivalente de una región de aproximadamente 10 píxeles en una pantalla de 17 pulgadas con una resolución de 1024x768 píxeles visto desde una distancia de 50 cm. El promedio de error para el rastreador ocular propuesto es de 38,422 pixeles y 0,637 grados de error de ángulo visual. La precisión relativa puede mejorarse haciendo los objetos estímulos en la pantalla mucho más grande, tal como se puede apreciar en la plantilla de validación. Esto los hace más fácil de interactuar con ellos y mejora el rendimiento del ojo. Se debe tener en cuenta el equilibrio entre el espacio disponible y la precisión requerida mínima en cuanto al diseño de una interfaz gráfica del usuario. Fig.14: a) Plantilla para el cálculo del error mirada – estímulo; b) Errores de medición. TABLA I. ERROR MIRADA - ESTÍMULO V. CONCLUSIONES Y TRABAJOS FUTUROS El precio de los dispositivos rastreadores oculares comerciales tiene un costo elevado y esto es una limitación. Es por ello que surgen propuestas económicas, de código abierto, las que pueden no ser robustas como los productos de alta gama pero poseen una precisión aceptable. El sistema propuesto no escapa a ello. En este trabajo se describió cómo construir un rastreador ocular a corto plazo, con bajo presupuesto y principalmente pensado para su uso en accesibilidad a computadoras para personas con discapacidades motoras. Se evaluó la precisión del mismo siendo aceptable para muchas aplicaciones y comparable con dispositivos similares de alta gama. En definitiva con un previo entrenamiento se puede alcanzar un control total sobre el dispositivo. La principal desventaja del rastreador ocular es no poder usarse en personas que usen anteojos o lentes de contacto. El sistema no puede detectar e identificar la pupila debido a las reflexiones de la luz infrarroja incidente. Ésta luz no es recibida correctamente hacia la cámara del módulo de captura. Se plantea esta problemática a solucionarse en trabajos futuros. Es posible agregar mayor robustez al prototipo rastreador en cuanto a su comportamiento frente al ruido. Precisamente el filtrado del ruido de oscilación del ojo (microsacadas) que se presentan durante la mirada fija. Una alternativa es el uso del Filtro de Kalman [19] que además se puede utilizar para predecir los movimientos del ojo. Se prevé a trabajos futuros la adición de una segunda cámara que permita ampliar la perspectiva y rango de visión monocular a binocular. También está previsto adaptar una tercer cámara frontal o cámara escénica para poder usar el sistema rastreador ocular no solo sobre una pantalla de ordenador sino más bien en el mundo exterior. N° Medición Error en pixeles Error en ángulo (grados) 1 54,08 0,82 2 16,28 0,31 3 44,64 0,73 4 48,38 0,77 5 24,17 0,45 6 45,80 0,74 7 39,82 0,67 8 33,24 0,59 9 50,22 0,79 10 27,59 0,50
  • 6. VI. REFERENCIAS [1] R. Bhatia, “Biometrics and Face Recognition Techniques”. International Journal of Advanced Research in Computer Science and Software Engineering, Volume 3, Issue 5, May 2013. [2] R. G. Lupu, and F. Ungureanu, “A survey of eye tracking methods and applications”. “Gheorghe Asachi” Technical University of Iasi, Faculty of Automatic Control and Computer Engineering. Romania, August 29, 2013. [3] Assistive Technology in the Workplace for People with a Disability. National Disability coordination Officer Programs (NDCO). Published by Deakin University, Australian, 2014. [4] M. Kowalik, “How to build low cost eye tracking glasses for head mounted system”, Faculty of Computer Science and Information Technology The West Pomeranian University of Technology, Szczecin Poland 2010. [5] R. Mantiuk, M. Kowalik, A. Nowosielski, and B. Bazyluk. “Do- It-Yourself Eye Tracker: Low-Cost Pupil-Based Eye Tracker for Computer Graphics Applications”, West Pomeranian University of Technology in Szczecin, Faculty of Computer Science, Szczecin, Poland 2010. [6] C. G. Gomez, N. B. Perez. “Sistema de rastreo ocular para la intervención de personas con discapacidades motoras”. Facultad de Ciencias Físico Matemáticas y Naturales (FCFMyN) Departamento de Física (DF) - Departamento de Informática (DI) Universidad Nacional de San Luis (UNSL) Argentina
Ejercito de Los Andes 950 San Luis. [7] C. Morimoto, D. Koons. A. Amir, and M. Flickner, “Pupil detection and tracking using multiple light sources”. IBM Almaden Research Center, 2000. San Jose, California. [8] Z. Zhu, K. Fujimura, and Q. Ji, “Real-Time Eye Detection and Tracking Under Various Light Conditions”. Computer vision and Image understanding, Special Issue on Eye Detection and Tracking, Volume 98, Issue 1, Pages 1-210 (April 2005). [9] R.C Gonzalez, R.E. Woods, “Digital Image Processing”. Prentice Hall, second edition 2002. [10] Learning OpenCV, Computer Vision in C++ With the OpenCV Library, Second Edition O’Reilly. A. Kaehler, G. Bradski. 2008. [11] The OpenCV Tutorials, Release 2.4.9.0. 2014. [12] K. Harezlak, P. Kasprowski, M. Stasch, “Towards accurate eye tracker calibration – methods and procedures”. Knowledge- Based and Intelligent Information & Engineering Systems 18th Annual Conference, KES-2014 Gdynia, Poland, September 2014 Proceedings. [13] R. Hartley, A. Zisserman, “Multiple View Geometry in Computer Vision”, Second Edition. Cambridge University Press, 2004. [14] “Assistive technologies to support people with disabilities”, European Parliament, European Union 2015. [15] R. Matos, “Designing eye tracking experiments to measure human behavior”. Tobii Technology, Eindhoven, the Netherlands, August, 2010. [16] Tobii technology, “Accuracy and precision test method for remote eye trackers”. Test specification version 2.1.1, February 2011. [17] Tobii technology. Product Description Tobii Pro Glasses 2 version 1.0.8, November 2015. [18] SensoMotoric Instruments SMI. Product Description SMI Eye Tracking Glasses 2 Wireless, Germany 2014. [19] O. V. Komogortsev, andJ. I. Khan, “Eye Movement Prediction by Kalman Filter with Integrated Linear Horizontal Oculomotor Plant Mechanical Model”. Proceedings of the Eye Tracking Research & Application Symposium, ETRA 2008, Savannah, Georgia, USA, March, 2008.