• No se han encontrado resultados

Adquisición y caracterización de señales bio-médicas en dispositivos móviles

N/A
N/A
Protected

Academic year: 2022

Share "Adquisición y caracterización de señales bio-médicas en dispositivos móviles"

Copied!
64
0
0

Texto completo

(1)

ESCUELA POLITECNICA SUPERIOR

TRABAJO FIN DE GRADO

ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS

MÓVILES

Lidia París Cabello

Enero 2014

(2)
(3)
(4)
(5)

ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS

MÓVILES

AUTOR: Lidia París Cabello TUTOR: Roberto Latorre Camino

Grupo de Neurocomputación Biológica Dpto. de Ingeniería Informática

Escuela Politécnica Superior

Universidad Autónoma de Madrid

(6)
(7)
(8)
(9)

R ESUMEN

En el contexto de aplicaciones de telemedicina y de las interfaces hombre-máquina de última generación se hace necesaria la adquisición y caracterización de señales biológicas tales como el patrón respiratorio, el ritmo cardiaco, la conductividad de la piel o la presión sanguínea entre otras. El objetivo de este proyecto es la implementación de un sistema que permita adquirir y caracterizar la actividad ocular de una persona mientras interactúa con un teléfono móvil inteligente (smartphone) o una tableta (tablet). El éxito en la captura y caracterización de este tipo de señal en estos dispositivos permitirá más adelante realizar experimentos en el ámbito de la interacción hombre-máquina mediante gestos oculares (gaze gestures), así como el desarrollo de aplicaciones que permitan a una persona interactuar y/o controlar un dispositivo móvil a través de los ojos. La posibilidad de ejecutar comandos con los ojos en un teléfono tipo Smartphone, de forma análoga a lo que se hace de forma táctil en una pantalla, es una opción muy interesante para personas con movilidad reducida o que no puedan utilizar las manos en ese momento.

Uno de los requisitos fundamentales que nos fijamos a la hora de afrontar el proyecto es conseguir realizar un seguimiento de los movimientos oculares (eye-tracking) del usuario que está trabajando con el dispositivo sin incorporar ningún elemento extrínseco. Este requisito implica (i) que la actividad del sujeto debe registrarse utilizando la cámara integrada en el propio dispositivo (preferiblemente la cámara frontal), y (ii) que la lógica que permite la caracterización de la actividad ocular debe ejecutarse dentro del propio dispositivo.

Para conseguir los objetivos fijados, inicialmente realizamos distintas pruebas de concepto para evaluar un conjunto de herramientas software con las que facilitar el desarrollo y probar el rendimiento de distintos algoritmos de reconocimiento de las pupilas de un individuo en una imagen. Como resultado de estas pruebas iniciales decidimos basar nuestro desarrollo en la librería OpenCV.

Una vez definido y montado el entorno de desarrollo y realizadas las pruebas de concepto iniciales, se comenzó el desarrollo del sistema de eye-tracking para dispositivos Android y de la aplicación que permite verificar su correcto funcionamiento en un entorno real. Para comprobar la “universalidad” del sistema desarrollado, en el sentido de poder ser ejecutado en cualquier dispositivo Android, y verificar la generalidad de los resultados obtenidos, se han realizado pruebas de validación y tests en múltiples escenarios, con diferentes sujetos y con diversos dispositivos móviles. Los resultados de estas pruebas muestran que la luz influye significativamente en la correcta detección de las pupilas. Además, aunque el eye-tracker se puede ejecutar en cualquier dispositivo Android, como era de esperar, la calidad del objetivo del que disponga la cámara integrada en el dispositivo es un elemento fundamental a tener en cuenta para la correcta detección de las pupilas del sujeto.

Palabras claves: interacción hombre-máquina (HCI), eye-tracking, dispositivo móvil, OpenCV, Android, gestos oculares (gaze gestures)

(10)

A BSTRACT

In the context of telemedicine applications and human-machine interfaces generation acquisition and characterization of biological signals such as breathing pattern, heart rate, skin conductance and blood pressure among others is necessary. The objective of this project is to implement a system that allows the purchase and characterize ocular activity of a person while interacting with a smartphone or tablet. The successful capture and characterization of this type of signal in these devices allow further experiments in the field of human-machine interaction using gaze gestures, and the development of applications that enable a person to interact and/or controlling a mobile device through the eyes. The ability to execute commands with eyes on a smartphone type, similar to what is done by touch on a screen, is very interesting for people with limited mobility or who cannot use their hands at the time option.

One of the fundamental requirements we set for tackling the project was to track eye movements (eye-tracking) of the user who is working with the device without incorporating any extrinsic element.

This requirement implies (i) the activity of the subject must register using the integrated camera on the device itself (preferably the front camera), and (ii) the logic that allows the characterization of the ocular activity must run within the device itself.

To achieve the objectives, we make different initial proof of concept to evaluate a set of software tools that facilitate the development and test the performance of different algorithms for recognition of the pupil of an individual in an image. As a result of these initial tests we decided to base our development on the OpenCV library.

Once defined and mounted the development environment and conducted initial testing concept, the development of eye-tracking system for Android devices and the application that verifies proper operation in a real environment is started. To check the "universality" of the developed system, meaning it can be run on any Android device, and verify the generality of the results obtained have been tested and validated in several different scenarios, with different subjects and different devices mobile. The results of these tests show that light significantly influences the correct detection of the pupils.

Furthermore, while the eye-tracker can be run on any Android device, as expected, the quality of the objective of providing for the integrated camera on the device is a key element to consider for proper detection of the pupil of the subject.

Keywords: human-machine interfaces (HCI), eye-tracking, device mobile, OpenCV, Android, gaze gestures

(11)

Í NDICE

1 Introducción ... 1

1.1 Motivación ... 1

1.2 Objetivos ... 2

1.3 Organización de la memoria ... 3

2 Estado del arte ... 5

2.1 Descripción e historia de la interacción hombre-máquina ... 5

2.2 Descripción e historia de los sistemas de eye-tracking ... 6

2.2.1 Clasificación de los sistemas de eye-tracking ... 8

2.2.2 Disciplinas en las que se utiliza eye-tracking ... 9

2.2.3 Aplicaciones basadas en eye-tracking... 11

3 Diseño y desarrollo ... 13

3.1 Entorno de desarrollo ... 13

3.2 Definición de la arquitectura del sistema ... 13

3.2.1 Procesamiento de imágenes ... 15

3.2.2 Captura de imágenes ... 17

3.3 Algoritmos de detección de la pupila ... 17

3.3.1 Métodos de detección ... 17

3.3.2 Explicación del algoritmo de detección ... 20

3.4 Implementación del sistema ... 21

3.4.1 Instalación ... 21

3.4.2 Captura de imágenes con la cámara ... 22

3.4.3 Almacenamiento de datos ... 22

4 Pruebas y resultados ... 23

4.1 Pruebas de concepto ... 23

4.2 Pruebas de validación ... 23

4.2.1 Tipos de dispositivos utilizados ... 24

4.2.2 Descripción de los escenarios ... 24

4.2.3 Descripción de los sujetos ... 26

4.2.4 Descripción de las pruebas ... 26

4.3 Resultados ... 27

4.3.1 Análisis de los resultados ... 32

(12)

5 Conclusiones y trabajo futuro ... 33

5.1 Conclusiones ... 33

5.2 Trabajo futuro ... 34

6 Referencias ... 37

Anexo A ... 39

Anexo B ... 43

(13)

Í NDICE DE F IGURAS

Figura 1. Evolución de los mecanismos de interación hombre-máquina ... 6

Figura 2. Evolución de la tecnología eye-tracking ... 7

Figura 3. Eye-tracker en la cabeza del sujeto descargada de http://news.cnet.com/8301-1023_3- 57613995-93/how-an-eye-tracker-can-make-google-glass-less-creepy-q-a/ ... 8

Figura 4. Eye-tracker remote descargada de http://www.eyegaze.com/eye-tracking-research-studies/ .. 8

Figura 5. Clasificación de los sistemas eye-tracking según el tipo de técnica ... 9

Figura 6. Evolución de los artículos por año de las técnicas eye-tracking en la base de datos Scopus ... 9

Figura 7. Porcentaje de artículos por área de estudio en la base de datos Scopus. ... 10

Figura 8. Mapa de calor de un anuncio... 12

Figura 9. Definición de la arquitectura del sistema ... 14

Figura 10. Detector de caras con clasificadores fuertes ... 19

Figura 11. Clasificador en cascada [22] ... 19

Figura 12. Clasificadores Haar ... 20

Figura 13. Selección de dispositivo móvil ... 21

Figura 14. Instalación de OpenCV Manager ... 22

Figura 15. Detección correcta de ojo derecho ... 23

Figura 16. Detección incorrecta de ambos ojos ... 23

Figura 17. Escenario 1 ... 25

Figura 18. Escenario 2 ... 25

Figura 19. Escenario 3 ... 25

Figura 20.Pruebas con Smartphone el Samsung Galaxy Mini S3 con la cámara trasera ... 27

Figura 21. Pruebas con Smartphone el Samsung Galaxy Mini S3 con la cámara frontal ... 28

Figura 22. Pruebas con Smartphone el Sony Xperia T con la cámara trasera ... 28

(14)

Figura 24. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara trasera ... 30

Figura 25. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara frontal ... 30

Figura 26. Pruebas con tablet Samsung Tab con la cámara trasera ... 31

Figura 27. Pruebas con tablet Samsung Tab con la cámara frontal ... 31

Í NDICE DE T ABLAS

Tabla 1. Dispositivos utilizados para las pruebas ... 24

Tabla 2. Representación de los datos utilizados para realizar las pruebas. ... 26

Tabla 3. Identificador de las compañías más populares para instalar el dispositivo móvil ¡Error! Marcador no definido. Tabla 4. Resultados de las pruebas realizadas con Smartphone Samsung Galaxy S3 Mini con cámara trasera ... 43

Tabla 5. Resultados de las pruebas realizadas con Smartphone Samsung Galaxy S3 Mini con cámara frontal ... 44

Tabla 6. Pruebas con Smartphone el Sony Xperia T con la cámara trasera ... 45

Tabla 7. Pruebas con Smartphone el Sony Xperia T con la cámara frontal ... 46

Tabla 8. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara trasera ... 47

Tabla 9. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara frontal ... 48

Tabla 10. Pruebas con tablet Samsung Tab con la cámara trasera ... 49

Tabla 11. Pruebas con tablet Samsung Tab con la cámara frontal ... 50

(15)

1 I NTRODUCCIÓN

1.1 Motivación

El mundo ha evolucionado muy rápidamente gracias a los avances tecnológicos. Estos avances en la tecnología se han producido para cubrir las necesidades del hombre en todos los aspectos, ayudándole a enfrentarse a las dificultades y obstáculos que se presentan en el día a día. En la actualidad es imposible entender la tecnología que nos rodea sin tener en cuenta los teléfonos inteligentes (del inglés, smartphones) o las tabletas (del inglés, tablets).

Los teléfonos inteligentes son dispositivos electrónicos que integran funcionalidades de un teléfono móvil convencional y un ordenador personal. Se han diseñado para que, además de realizar llamadas telefónicas y enviar mensajes de texto, el usuario pueda instalar y ejecutar en ellos aplicaciones que le permitan gestionar su trabajo diario, jugar, acceder al correo electrónico, etc. Por su parte, las tabletas son computadoras portátiles de mayor tamaño que un teléfono inteligente. Estas características han hecho de ambos un elemento fundamental en la sociedad. El usuario normalmente interacciona con ambos tipos de dispositivo sin la necesidad de un teclado físico o de un ratón. Estos accesorios habitualmente se ven reemplazados por un teclado virtual con el que se interacciona mediante una pantalla táctil integrada en el dispositivo que el usuario controla con los dedos o, principalmente en el caso de las tablets, con un estilete. Las nuevas necesidades de los usuarios han hecho que se extiendan nuevos mecanismos de interacción con el dispositivo, lo que ha convertido en habitual la interacción mediante la voz.

Sin embargo, hay ocasiones en las que no es posible utilizar las manos o la voz para interactuar con el dispositivo, ya sea por algún tipo de discapacidad motriz, por la presencia de ruido de ambiente, por tener las manos ocupadas o por cualquier otra circunstancia. Es por ello que además de las técnicas de control del dispositivo mediante la pantalla táctil o la voz, en los últimos años se estén contemplando nuevas técnicas de control. En este escenario es habitual utilizar técnicas basadas en la adquisición de señales biológicas (patrón respiratorio, ritmo cardiaco, conductividad de la piel, presión sanguínea, etc).

Entre ellas, cabe destacar los mecanismos de control con la vista, bien teniendo en cuenta la zona de la pantalla a la que está mirando el usuario, bien mediante los llamadas gestos pupilares (Hiley, 2006).

Mediante esta última técnica se definen determinadas secuencias de movimientos oculares, conocidas como Gaze Gestures, que se asocian a una determinada acción o comando.

El reconocimiento de gestos pupilares requiere de un mecanismo que permita realizar un seguimiento de los ojos del sujeto con respecto a la posición de su cabeza, lo que se conoce como eye- tracking (Jacob, 1995). Las técnicas para realizar el seguimiento del movimiento del ojo se pueden clasificar de forma general en dos grupos en función de si requieren (técnicas invasivas) o no (técnicas no invasivas) un contacto físico con el ojo del sujeto. Habitualmente las técnicas invasivas son más precisas

(16)

menos molestas. Estos sistemas se suelen basar en el uso de cámaras que proyectan rayos infrarrojos hacia los ojos de los sujetos sin necesidad de contacto físico.

En los últimos años, el Grupo de Neurocomputación Biológica (GNB) de la Escuela Politécnica Superior de la Universidad Autónoma de Madrid ha realizado con éxito distintos proyectos en los que se capturaba y caracterizaba distinto tipo de señales biométricas con el objetivo de desarrollar interfaces hombre-máquina. En concreto, se han desarrollado sistemas no invasivos que permiten a un sujeto interaccionar con un dispositivo móvil mediante gestos pupilares (Rozado, 2012). Sin embargo, hasta el momento el proceso de adquisición y procesamiento de la señal no lo realizaba el propio dispositivo móvil.

Para capturar la imagen del sujeto se utilizaba una cámara externa que se unía al dispositivo móvil y se conectaba a un ordenador (Moreno Martín, 2013). Y el seguimiento de la pupila se conseguía utilizando librerías externas que se ejecutaban en dicho ordenador. El trabajo de fin de grado descrito en esta memoria pretende resolver esta limitación desarrollando las herramientas necesarias para adquirir y caracterizar la actividad ocular del usuario de un dispositivo móvil utilizando para ello el hardware y el software disponible en un smartphone o tablet Android estándar de mercado. Ya que los smartphones suelen disponer de una cámara integrada la imagen del sujeto se capturará utilizando esta cámara. Y gracias a las mejoras de sus prestaciones, se desarrollará un sistema que permita el procesamiento de las imágenes capturadas para detectar las pupilas del sujeto.

1.2 Objetivos

El principal objetivo del proyecto es la adquisición y caracterización de la señal biológica de la actividad ocular con smartphone y tablet. Para ello, se ha realizado el diseño, implementación y validación de un sistema de eye-tracking para un smartphone o tablet Android, como se detallará más adelante en esta memoria. Este sistema deberá cumplir con los siguientes requisitos:

 Ejecutarse en el propio dispositivo

 Utilizar las cámaras del dispositivo

Comportamiento del dispositivo como eye-tracker

 Reconocimiento de las pupilas

 Salvar las coordenadas de la posición de las pupilas para poder ser utilizadas por otra aplicación

El objetivo de la fase de diseño, es idear y construir una aplicación en lenguaje Android para poder usar el dispositivo móvil como eye-tracker, sin utilizar ningún elemento extrínseco. Se podrá utilizar en distintos dispositivos que dispongan del sistema operativo Android, porque se utilizarán las características de éstos, como la cámara, la pantalla y el procesador. Esto permitirá que la aplicación pueda utilizarse en los experimentos del GNB, teniendo en cuenta una serie de limitaciones que se detallarán posteriormente.

(17)

En la fase de pruebas, se han realizado pruebas de concepto y pruebas de validación. El objetivo de las pruebas de concepto ha sido comprender y comprobar la correcta instalación y funcionamiento de las distintas librerías de OpenCV en los entornos utilizados. Mientras que en las pruebas de validación, se han realizado pruebas con sujetos para comprobar el funcionamiento de la aplicación, es decir, la detección facial y de las pupilas.

1.3 Organización de la memoria

La memoria consta de los siguientes capítulos:

Capítulo 1. Introducción: Motivación, objetivos y organización de la memoria.

Capítulo 2. Estado del arte: Descripción e historia de la interacción HCI y descripción e historia de los sistemas de eye-tracking.

Capítulo3. Diseño: Definición de la arquitectura del sistema, algoritmos de detección de pupilas e implementación del sistema

Capítulo 4. Pruebas y resultados: Descripción de las pruebas y resultados obtenidos a partir de las mismas.

Capítulo 5. Conclusiones y trabajo futuro: Breve repaso a las ventajas e inconvenientes de la aplicación propuesta y posibles mejoras del mismo de cara al futuro.

Capítulo 6. Anexos

(18)
(19)

2 E STADO DEL ARTE

2.1 Descripción e historia de la interacción hombre-máquina

Por interacción hombre-máquina o HCI (del inglés, Human Computer Interaction) se entiende a la forma en que una persona se comunica con cualquier tipo de dispositivo electrónico, es decir, los mecanismos utilizados para proporcionar y recibir información y/o instrucciones de una máquina. En el contexto de los “ordenadores”, podemos considerar que el primer mecanismo para la interacción hombre-máquina fueron las tarjetas perforadas que surgieron a principios del siglo XX. Su uso se extendió hasta mediados de este siglo como mecanismo para introducir y almacenar información en un ordenador.

Hacia la década de los 80, el teclado se convierte en el “estándar” de interacción con el ordenador gracias a su fácil uso, similar en las antiguas máquinas de escribir del siglo XIX. Además, en esta época, también se popularizó el ratón, otro medio de interacción muy utilizado hasta el momento.

La siguiente forma de interacción con la máquina fue la pantalla táctil. Aunque las primeras aparecieron en 1971, su expansión no se ha producido hasta el año 2000 con la aparición de las PDAs, smartphones, video consolas, navegadores de automóviles, etc. Esta popularidad se debe a la reducción de los costes de esta tecnología.

Todos los mecanismos de interacción hombre-máquina tradicionales descritos hasta el momento se basan en una interacción física (táctil) con el dispositivo. Sin embargo, el ser humano siempre ha utilizado todos los sentidos para interactuar y relacionarse con el medio. Es por ello que en los últimos años haya cobrado fuerza el desarrollo de mecanismos de interacción hombre-máquina, como la interacción mediante la voz o el control gestual, que no requieren de un medio físico.

Un ejemplo de interacción mediante la voz, es el reconocimiento de ésta utilizado en el control de smartphones y tablets gracias a su micrófono integrado y al uso de programas de reconocimiento de voz como SVoice o Siri. Un ejemplo de control gestual es el controlador de juego llamado Kinect. Ésta permite a los usuarios controlar e interactuar con la consola, sin necesidad de tener contacto físico, mediante una interfaz natural de usuario que reconoce gestos, comandos de voz y objetos e imágenes.

Este tipo de interfaces hombre-máquina cobran especial relevancia para personas con algún tipo de discapacidad que no le permita interaccionar con el dispositivo mediante las interfaces tradicionales.

En este escenario, las nuevas líneas de investigación están centrándose en la comunicación con el dispositivo mediante la mirada, y más concretamente mediante la realización de gestos oculares (técnica conocida como gaze tracking) como es el caso de las Google Glass, desarrolladas por la compañía Google.

Se trata de un dispositivo de visualización, de formato muy similar a las gafas tradicionales, que se controla mediante la voz y gaze gesture. Aunque la técnica eye-tracking y gaze gesture parecen modernas, sus inicios nacieron durante la década de los 80, pero por los costes tan elevados no se ha podido desarrollar hasta la actualidad.

(20)

Figura 1. Evolución de los mecanismos de interación hombre-máquina

2.2 Descripción e historia de los sistemas de eye-tracking

El concepto de eye-tracking hace referencia a la tecnología que permite captar el movimiento del ojo con relación a la posición de la cabeza, permitiendo comprender mejor el sistema visual. Esta tecnología, que aparenta ser reciente, tiene sus inicios a mediados del siglo XIX con el estudio de los movimientos oculares mediante la observación directa. En 1879, Javal (Javal, 1879) analizó el movimiento de los ojos al leer y observó que no se realizaba mediante un suave barrido continuo de los ojos, sino que durante la lectura el ojo seguía la línea que se estaba leyendo en cada instante mediante movimientos entre los que se producía una serie de paradas cortas y rápidas.

Posteriormente, en 1900, Huey (Huey, 1898) construyó lo que se puede considerar el primer sistema de eye-tracking. Se trataba de un sistema invasivo que utilizaba una lente rígida (similar a una lente de contacto) que el sujeto debía colocarse en el ojo. Para que éste pudiera ver, la lente tenía un agujero en el medio. El seguimiento del movimiento ocular se realizaba gracias a un puntero de aluminio conectado a la lente y que se movía en respuesta al movimiento del ojo.

Un año después, los investigadores Dodge y Cline (Dodge, 1901) consiguieron registrar el movimiento de los ojos de manera más precisa y no invasiva. En 1906, Dodge (Dodge, 1906) utilizó una técnica que consistía en la emisión de líneas de luz a los ojos y la grabación de su reflejo mediante la fotografía. Este método se convirtió en uno de los más importantes y usados, hasta los avances de los 70 con la era digital.

(21)

Más adelante, en 1935, Buswell (Buswell, 1935), basándose en los avances obtenidos en la descomposición de la reflexión de los haces de luz de un ojo en sus componentes horizontal y vertical, midió las rutas de análisis de un sujeto al observar una imagen.

En la década de los 60 se utilizaron nuevamente las técnicas invasivas para mejorar la exactitud de las técnicas anteriores. Uno de los investigadores más importantes de esta década fue el psicólogo Yarbus (Yarbus, 1965) que realizó estudios con lentes de contacto junto con espejos para sus investigaciones. Todos estos resultados los recogió en el libro “Los movimientos oculares y la visión” en 1967.

En la década de 1970, la investigación de seguimiento ocular se expandió rápidamente debido a las nuevas técnicas como el escaneo del ojo mediante el uso de una cámara. Esta técnica permitió conseguir un alto contraste entre el iris y la esclerótica, facilitando su separación. Esto se utilizó principalmente para la investigación del movimiento del ojo en la lectura, siendo unos de los investigadores principales Rayner (Rayner, 1998).

Las técnicas de eye-tracking ayudaron a Just y Carpenter (Just, 1980) a formular el principio del procesamiento inmediato. Este principio sostiene que durante la lectura cada palabra se codifica e interpreta inmediatamente después de su percepción. Durante estos años, también surgió el concepto de atención encubierta, donde destacaron los estudios de Posner (Posner, 1980). Este concepto se define como la atención que está enfocando un estímulo que no se encuentra directamente enfocada por la retina. Esta atención encubierta, puede presentar problemas durante las grabaciones de eye-tracking debido a que no muestra donde se fija la atención. Todo esto conlleva a que el seguimiento de los ojos puede no indicar un procesamiento cognitivo.

En la actualidad, la tecnología eye-tracking se espera que tenga una gran evolución en los próximos años hasta poder convertirse en una interfaz de uso cotidiano debido a sus características y el abaratamiento de sus costes.

Figura 2. Evolución de la tecnología eye-tracking

(22)

2.2.1 Clasificación de los sistemas de eye-tracking

Los sistemas de eye-tracking se pueden dividir en tres categorías según las diferentes metodologías de medición de los movimientos oculares: electro-oculografía (EOG), lentes de contacto o bobinas de búsqueda y foto-oculografía (FOG) o video-oculagrafía (VOG).

La metodología EOG se basa en la medida de diferencias de potencial eléctrico en la piel detectadas por electrodos colocados alrededor del ojo. El principal inconveniente de esta técnica es la dificultar para medir movimientos oculares lentos y la detección de la mirada. Sin embargo, es una técnica muy sólida para medir movimientos oculares rápidos y cortos asociados con cambios de la mirada y para la detección del parpadeo.

La metodología de lentes de contacto o bobinas de búsqueda consiste en el seguimiento ocular mediante el contacto físico con el ojo a través de un mecanismo basado en lentes de contacto. El método principal emplea bobinas y el movimiento se mide a través de un campo electromagnético. Aunque es el método más preciso, sus inconvenientes son varios, como la necesidad de asignar un objeto de referencia, la incomodidad de la lente de contacto y los problemas de salud derivados de los campos magnéticos de alta frecuencia.

La metodología FOG y VOG se basa en la captura de imágenes mediante una cámara o dispositivo de adquisición de imágenes, denominado eye-tracker, permitiendo determinar el movimiento de los ojos utilizando las imágenes obtenidas por dichos dispositivos (ver Figura 3 y Figura 4). Estos sistemas requieren una iluminación adecuada, por lo que pueden contar con una o varias fuentes de iluminación, generalmente infrarroja, aunque también existen sistemas que funcionan con luz visible. El principal inconveniente de esta técnica es que sus resultados varían mucho si la iluminación no es la conveniente, pero no impide que se trate del sistema más utilizado por los investigadores.

Figura 3. Eye-tracker en la cabeza del sujeto descargada de http://news.cnet.com/8301-1023_3-57613995-93/how-an-

eye-tracker-can-make-google-glass-less-creepy-q-a/

Figura 4. Eye-tracker remote descargada de http://www.eyegaze.com/eye-tracking-research-studies/

(23)

Una de las características requerida de los sistemas eye-tracking es la comodidad del sujeto, por eso estas metodologías se pueden clasificar como técnicas invasivas y técnicas no invasivas. Las técnicas invasivas son aquellas que requieren el contacto físico con el sujeto como los sistemas EOG y las lentes de contacto. Por el contrario, las técnicas no invasivas no requieren contacto físico con el sujeto como FOG y VOG. Estas últimas son las que mejor se adecuan a la característica de comodidad del sujeto y por ello, son las técnicas más utilizadas.

Figura 5. Clasificación de los sistemas eye-tracking según el tipo de técnica

2.2.2 Disciplinas en las que se utiliza eye-tracking

Como ya se ha comentado anteriormente, las técnicas de eye-tracking cada vez están cobrando una mayor relevancia. La Figura 6 trata de cuantificar este interés mostrando el número de publicaciones relacionadas con estas técnicas en las últimas décadas. Para ello se ha realizado la consulta con el término

“eye-track*” en la base de dato Scopus (Sco).

Figura 6. Evolución de los artículos por año de las técnicas eye-tracking en la base de datos Scopus

(24)

En la Figura 6 se puede observar que los primeros artículos datan de 1963. El número de publicaciones anuales sobre el eye-tracking se mantiene constante hasta mediados de la década de los 90. A partir de 1996, la tendencia que adquieren los artículos publicados aumenta de forma exponencial consiguiendo un máximo en 2012 de 228 publicaciones relacionadas con el tema. Este auge en los últimos años se debe, principalmente, al abaratamiento de los costes de los eye-trackers y su reciente usabilidad como HCI.

Estas técnicas de eye-tracking tienen un gran potencial en varias disciplinas y áreas de estudio, por lo que se decidió investigar cuáles son y la importancia que tienen dentro del desarrollo del eye- tracking. Nuevamente, se ha utilizado la base de datos de Scopus como herramienta para llevar a cabo este estudio (ver Figura 7).

Figura 7. Porcentaje de artículos por área de estudio en la base de datos Scopus.

Como se observa en la figura, las áreas que presentan mayor porcentaje son ciencias de la computación, medicina, ingeniería, psicología y neurociencia. Sorprende que ciencias del comportamiento como la psicología este en las primeras posiciones. Esto se debe a que su estudio del eye-tracking es más maduro como disciplina científica que las áreas recientes como la ingeniería y ciencias de la computación. Aun así, estas ciencias jóvenes han conseguido colocarse entre las tres primeras áreas debido al auge de las diferentes aplicaciones de esta técnica.

(25)

2.2.3 Aplicaciones basadas en eye-tracking

Los seres humanos tenemos una gran cantidad de comportamientos asociados a los movimientos del ojo y a la dirección de la mirada que son muy importantes en la rutina diaria. Por este motivo, se han realizado diversos estudios sobre este comportamiento que han contribuido a la comprensión del sistema visual y los mecanismos relacionados con la percepción.

A raíz de estos estudios, se puede encontrar una gran variedad de aplicaciones (Duchowski, 2000) de eye-tracking no solo en el campo de la informática, sino, como ya se ha comentado anteriormente, dentro del campo de la psicología, marketing, ergonomía, neurología, etc. que nacen de las investigaciones realizadas en ciencias de la visión.

Los diferentes usos de la tecnología eye-tracking se pueden dividir en dos tipos: pasiva o activa.

Cuando la tecnología se comporta como pasiva, el eye-tracker proporciona los procesos relacionados con la visión y la percepción. Mientras que cuando el eye-tracker se comporta como tecnología activa, sirve como un poderoso dispositivo de interacción con los ojos.

Los ejemplos más significativos de la utilización de eye-tracking, son:

 Interacción hombre-máquina para discapacitados físicos: dentro del área de HCI, algunos estudios ya han demostrado que en tareas sencillas se puede ahorrar hasta un 60% de tiempo en seleccionar un objeto con esta técnica en comparación con el ratón.

Estudios de ergonomía: conocidas empresas de aeronáutica utilizan la tecnología de eye-tracking, con el objetivo de comprobar cuál es la mejor disposición de los paneles de mandos, especialmente en situaciones de emergencia.

 Área clínica: numerosos hospitales lo utilizan para analizar movimientos del ojo, realizar diagnósticos clínicos y corregir defectos. En la actualidad, se está utilizando esta tecnología para realizar operaciones de corrección de problemas refractivos.

 Desarrollo de juegos avanzados de ordenador: permite una nueva forma de interactuar con las videoconsolas, mediante un casco, a tiempo real en interfaces tridimensionales.

 Investigación en percepción visual: numerosas universidades emplean el seguimiento de movimientos oculares en sus estudios básicos sobre percepción, atención y búsqueda visual.

 Área de diseño y publicidad: en los anuncios se utiliza para analizar las partes que más llaman la atención a los consumidores. La información se puede representar mediante mapas de calor. Los mapas de calor son una representación estática para el análisis de exploración visual de un conjunto de usuarios. En estas representaciones, las zonas de mayor intensidad señalan dónde coinciden las zonas de referencia espaciales con mayor frecuencia (ver Figura 8).

(26)

Figura 8. Mapa de calor de un anuncio.

 Además de las comentadas, otras aplicaciones pueden ser: investigación médica, proceso de traducción de investigación, simuladores de vehículos, simuladores de entrenamientos, detección de fatiga, etc.

(27)

3 D ISEÑO Y DESARROLLO

3.1 Entorno de desarrollo

Para desarrollar una aplicación para un dispositivo Android popularmente se suelen utilizar IDEs basados en NetBeans o en Eclipse. Un IDE (siglas en inglés de Integrated Development Environment) es un programa informático formado por un conjunto de herramientas de programación que al menos consta de un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. En nuestro caso, como entorno de desarrollo hemos decidido utilizar un Eclipse IDE (Ecl) ejecutándose en un ordenador con sistema operativo Linux.

Para poder desarrollar el proyecto ha sido necesario incluir en el entorno de desarrollo un plugin llamado Android Development Tools (ADT). Este plugin proporciona un potente entorno integrado en el que desarrollar aplicaciones para Android. Entre otras cosas, este plugin permite configurar rápidamente nuevos proyectos, construir una interfaz de usuario de aplicación y depurar la aplicación. Además, permite la exportación de paquetes de aplicaciones (APKs) para su distribución. Además, dentro del entorno de desarrollo Eclipse se incluye un emulador que permitirá realizar pruebas en el ordenador Linux como si fuese un dispositivo móvil Android. Los pasos a seguir para instalar y configurar nuestro entorno de desarrollo se detallan en el anexo A.

3.2 Definición de la arquitectura del sistema

La arquitectura que hemos definido para el sistema de eye-tracking desarrollado se puede dividir en los cuatro componentes que se muestran en la Figura 9: módulo de adquisición, módulo de procesamiento, módulo de salida y tester funcional.

(28)

Figura 9. Definición de la arquitectura del sistema

Las distintas componentes se pueden definir como:

Módulo de adquisición: Se encarga de comunicarse con la cámara del dispositivo para obtener en tiempo real una captura de imagen (frame).

Módulo de procesamiento: Recibe un frame del módulo de adquisición y se encarga de procesarlo para detectar las pupilas del usuario del dispositivo en dicho frame.

 Módulo de salida: Recibe la información del módulo de procesamiento y la formatea para que sea legible para el módulo encargado de interpretar el eye-tracking. En nuestro caso, este módulo se limita a escribir la salida del módulo de procesamiento en un fichero de texto en forma de dos coordenadas cartesianas. Cada una de estas coordenadas representará el punto que según el módulo de procesamiento ocupan la pupila izquierda y la pupila derecha en el último frame capturado.

(29)

Tester funcional: Se trata de una aplicación auxiliar que hemos desarrollado para validar cualitativamente el correcto funcionamiento de nuestro sistema de eye-tracking. Esta aplicación recibe la información del módulo de salida y pinta en la pantalla del dispositivo:

o El último frame capturado indicando la zona en la que se encuentran las pupilas según el módulo de procesamiento

o Dos recuadros que muestran un zoom con el que detalla la zona de detección.

En la definición de la arquitectura software del sistema, se han encontrado dos puntos críticos: el procesamiento de imágenes y la captura de las mismas.

3.2.1 Procesamiento de imágenes

Para determinar la forma más eficiente de realizar el procesamiento de imágenes se efectuaron diversas pruebas de concepto. Estas pruebas consistieron en desarrollar distintas aplicaciones en lenguaje C++ que, utilizando la librería OpenCV, trataban de detectar las pupilas de un individuo en una imagen mediante distintos algoritmos. OpenCV (del inglés, Open Source Computer Vision) (Ope) es una librería libre de visión artificial desarrollada por Intel. Desde que apareció en enero de 1999 se ha utilizado en infinidad de aplicaciones, yendo desde sistemas de seguridad con detección de movimiento hasta sistemas donde se requiere reconocimiento de objetos. Esto se debe a que su publicación se produce bajo licencia BSD (Berkeley Software Distribution), lo que permite que se pueda utilizar libremente con propósitos comerciales y de investigación. Durante la fase de definición decidimos utilizar esta librería debido a que contiene infinidad de módulos que abarcan una gran gama de áreas en el proceso de visión, tales como procesamiento de imágenes (imgproc), detección de objetos (objdetect), calibración de cámaras, etc. Como se verá más adelante, dentro de estos módulos se incluye uno para facilitar el desarrollo de algoritmos de eye-tracking. Otras de las características de OpenCV que la hace muy interesante para nosotros es que es una librería multiplataforma, existiendo versiones para GNU/Linux, Mac OS X , Windows y Android. Esto nos ha permitido realizar pequeñas pruebas de concepto de algunas de las funcionalidades críticas de la aplicación en un entorno Linux sin la necesidad del emulador o de un dispositivo físico Android. Una vez desarrollada y validada la funcionalidad en el ordenador, el código se podía migrar de forma automática o con ligeras modificaciones al entorno Android.

Esta librería es fácil de utilizar y muy eficiente debido a que su programación ha sido realizada en código C y C++ optimizados, aprovechando además las capacidades que proveen los procesadores multi- núcleo. Además, es una librería que dispone de una extensa documentación [ (Doc), (Doc1) ], pero en algunas ocasiones, principalmente en lo referente a la instalación/configuración y la corrección de bugs, no se encuentra muy bien organizada, lo que a veces ha hecho complicado trabajar con ella.

(30)

Antes de comenzar a utilizar la librería para la detección de las pupilas se realizaron las siguientes pruebas:

Realizar un proyecto [13] de prueba de C++ en el portátil utilizando el Eclipse IDE que nos permite visualizar una imagen. Para ello, se ha creado un nuevo proyecto y se implementa un código muy sencillo que utiliza las librerías de OpenCV. Este proyecto, lee una imagen de una ruta y, utilizando la librería highgui y core, muestra la imagen al ejecutar el programa.

Instalación y ejecución de los ejemplos [14] proporcionados por OpenCV. Para comprobar la correcta instalación y comprensión de las librerías de OpenCV, se han instalado los ejemplos que facilita la librería. Estos ejemplos se han ejecutado tanto en el ordenador como en el dispositivo móvil gracias a la característica multiplataforma de OpenCV. Estas características, además del alto nivel de detección tanto de la cara como de la pupila, son los motivos por los que se ha decidido utilizar la librería OpenCV.

Revisando la literatura (Duchowski, 2007), existe una gran variedad de algoritmos para la detección de las pupilas de un individuo en una imagen cada uno de los cuales se basa en una técnica diferente. En la Sección 3.3.2 se describen en detalle algunos de los algoritmos encontrados. En nuestras pruebas nos centramos en tres de ellos:

 El primero algoritmo testeado se basaba en buscar círculos en la imagen capturada. La principal desventajada que encontramos en nuestra prueba es que la tasa de acierto era muy reducida debido a que había muchos falsos positivos.

 El segundo de los algoritmos convertía la imagen a escala de grises y buscaba dos círculos, asegurándose que la distancia entre ellos fuera menor que un parámetro. Debido a la lógica de este algoritmo también observamos que se producían falsos positivos como, por ejemplo, en el caso que el sujeto llevara pendientes de aro.

 El algoritmo que daba mejores resultados consistía en, una vez capturada la imagen, detectar la cara del sujeto. Después de detectar la cara, determinaba la zona en la que deberían situarse los ojos. Y, finalmente, una vez detectados los ojos, buscaba la ubicación de las pupilas dentro de la zona determinada para la posición de los ojos (ver detalles del algoritmo en la Sección 3.3.1.5).

3.2.2 Captura de imágenes

Como primera prueba de concepto para capturar con la cámara del dispositivo las imágenes con las que alimentar al módulo de procesamiento, se desarrolló una serie de aplicaciones muy simples que se limitaban a capturar un frame con la cámara y presentarlo en pantalla. Cada una de estas aplicaciones capturaba el frame de diferente forma, tanto utilizando componentes propios de la SDK para Android (ej.

MediaStore o MediaRecorder), usando métodos nativos, y utilizando librerías de alto nivel como OpenCV.

Dado que el rendimiento observado en las pruebas fue aproximadamente el mismo para todos los

(31)

mecanismos utilizados, después de decidir utilizar la librería OpenCV en el módulo de procesamiento, por homogeneidad se decidió utilizar esta librería también en el módulo de adquisición.

3.3 Algoritmos de detección de la pupila

El objetivo de este proyecto es la detección de la pupila de los ojos de una persona con la cámara integrada en el dispositivo móvil. Aunque normalmente el término “detección” se utiliza para descubrir la ubicación de varios objetos en una imagen, en este caso se utilizará la expresión “detección de pupilas”

para encontrar las pupilas de los ojos de una persona en una secuencia de imágenes.

El primer problema al que nos hemos enfrentado para conseguir ubicar las pupilas de los ojos en la secuencia de imágenes, ha sido la necesidad de la detección de la cara. Después de la detección de la cara, la ubicación de los ojos en ésta se puede buscar por la posición en la cara y sus características. Por este motivo, se ha decidió buscar un algoritmo de detección de la cara independiente de los componentes estructurales como barba, bigote, gafas, etc.

Hay diversas técnicas diferentes para realizar la detección de caras en imágenes, muchas de ellas comparten métodos comunes. Estos métodos se pueden clasificar en distintas categorías, algunas de ellas se han explicado en los siguientes puntos de esta memoria.

3.3.1 Métodos de detección

3.3.1.1 Método basado en el conocimiento

Este método se basa en el conocimiento humano de lo que constituye una cara humana. La funcionalidad de este método es, principalmente, localizar la cara. Para conseguir la localización, se basa en reglas simples que describen las características de una cara como, por ejemplo, la cara aparece en la imagen con dos ojos simétricos entre sí, una nariz y una boca.

El problema de este método es que resulta complicado describir el conocimiento humano en una correcta definición de reglas. Si las reglas son muy estrictas pueden no detectarse la cara ya que no cumple todas las reglas pero, si las reglas son muy generales puede haber falsos positivos.

Un estudio realizado sobre este método fue realizado por Yang (Yang, y otros, 1994). En su estudio, utilizaron una jerarquía basada en el conocimiento para la detección de caras. En esta jerarquía definen tres niveles de reglas, las reglas del primer nivel son una descripción general de lo que se considera una cara. Mientras que las reglas de los niveles inferiores se basan en la detección de los rasgos faciales.

3.3.1.2 Método basado en las características invariables

Este método realiza un reconocimiento de la cara humana utilizando características globales como el color de piel, la textura y la forma del rostro y después verifica que poseen características faciales como dos ojos, una nariz, etc. Una desventaja de este método es que depende de las características ambientales como la iluminación, las sombras, etc. que pueden dificultar la detección.

(32)

3.3.1.3 Método basado en plantillas

Los métodos basados en la correspondencia de plantillas, comparan la imagen de entrada con una plantilla utilizando métodos de correlación para localizar los rostros. Existen dos tipos de plantillas, plantillas basadas en bordes o regiones, denominadas predefinidas, o plantillas basadas en el contorno facial, denominadas deformables.

Las plantillas predefinidas son aquellas que están formadas a partir de un patrón estándar de forma manual. Los métodos que utilizan estas plantillas no pueden detectar los cambios de escala, pose o forma del rostro en una imagen. Para solventar esta dificultad, surgieron las plantillas deformables, las cuales están construidas mediante unos parámetros. Estos parámetros permiten que la plantilla se ajuste a los datos. El problema de estas plantillas es que deben ser inicializadas cerca del objeto, en este caso, cerca de la cara. En general, este método es sencillo de implementar pero, resulta difícil enumerar las plantillas para las diferentes variaciones posibles, además del elevado coste.

3.3.1.4 Métodos estadísticos

Los tipos de algoritmos utilizados para estos métodos no asumen ningún tipo de información previa de la tipología de una cara. A partir de un conjunto de muestras (imágenes de caras e imágenes de no caras) de entrenamiento extraen la información relevante que diferencia un objeto cara de un objeto no cara. Este grupo incluye uno de los métodos más referenciados y utilizados actualmente: AdaBoost.

3.3.1.5 Método Adaboost

El método conocido como Adaboost fue presentado originalmente por Viola y Jones (Viola P., 2001) y es una extensión de un clasificador genérico al problema de la detección de objetos en imágenes.

Este método demuestra como a partir de características locales basadas en el cambio de intensidad se podía desarrollar un detector de caras muy robusto.

El principio de este método es determinar una serie de características basadas en las sumas y restas de los niveles de intensidad en la imagen. Para ello se utilizan filtros de Haar de un cierto tamaño y calculados para las posiciones concretas de la sub-imagen que se quiere clasificar. Dichas características son evaluadas por un “clasificador débil” para decidir si la sub-imagen corresponde a una cara (aceptada) o no (rechazada). Este tipo de “clasificadores débiles” suelen conseguir unos resultados muy pobres. No obstante, combinando varios clasificadores débiles, se pueden generar clasificadores más robustos (“clasificador fuerte”) cuya tasa de detección crece exponencialmente. El rectángulo punteado de la Figura 10 corresponde a un “clasificador fuerte”.

(33)

Figura 10. Detector de caras con clasificadores fuertes

De todas manera, a pesar que la tasa de detección de caras de un “clasificador fuerte” puede llegar hasta el 99%, presenta la desventaja de que la tasa de falsas detecciones (aceptar una sub-imagen como cara cuando no lo es). Por este motivo Viola y Jones propusieron un esquema basado en una cascada de “clasificadores fuertes” como el representado en la Figura 11.Cada etapa corresponde a un

“clasificador fuerte” y está entrenada con todos los ejemplos que la etapa anterior no ha podido clasificar correctamente más algunos nuevos. Por tanto, en la etapa de entrenamiento, cada etapa se entrena con un conjunto óptimo de características capaces de detectar cada vez ejemplos más complicados; es decir, las primeras etapas se encargan de descartar sub-imágenes que son muy diferentes de una cara, mientras que las últimas etapas pueden rechazar ejemplos mucho más complicados como pueden ser pelotas, globos, dibujos, etc…

Figura 11. Clasificador en cascada [22]

(34)

- Método Adaboost para detectar las pupilas de los ojos

Dado que la técnica de detección de rostros de Viola-Jones es un método de detección de objetos, la misma técnica puede utilizarse para detectar componentes individuales dentro de una imagen del rostro detectado. Por ejemplo, el filtro de dos rectángulos (en la Figura 12, el segundo clasificador) se puede utilizar para detectar el ojo derecho y el ojo izquierdo. Esto es porque los ojos tienen distintos niveles de intensidad.

Figura 12. Clasificadores Haar

Como se ha comentado en el apartado de definición de la arquitectura, para este proyecto se ha utilizado la biblioteca OpenCV. Esta biblioteca implementa una versión del algoritmo de Viola-Jones (Bradsky, y otros, 2008). OpenCV dispone de un detector que se comporta como un clasificador Haar, ya que utiliza características Haar, que consta de adiciones y sustracciones de regiones rectangulares de una imagen antes de aplicar un umbral al resultado.

El algoritmo para detectar las pupilas consta de tres etapas: primero, se detecta la cara que se procesa en la imagen de entrada. A continuación, se aplican los clasificadores de Haar que incorpora OpenCV para detectar la posición del ojo y delimitar la región de interés (ROI, Region Of Interest), es decir, la porción de la imagen sobre la que nos interesa realizar la detección. Esto nos permite eliminar las zonas de la imagen que no nos interesan para la detección de las pupilas, como pueden ser las cejas. La siguiente etapa consiste en aplicar un algoritmo sobre la zona ROI para determinar la posición de las pupilas.

3.3.2 Explicación del algoritmo de detección

Para el algoritmo de detección lo primero que se realiza es la inicialización de una serie de variables necesarias para el procesamiento de la imagen, captura del video, etc. Además se realiza una iniciación de las máscaras de los ojos que se van a utilizar.

Algoritmo de la función principal:

Paso 1: Adquirir la imagen de video (frame)

Paso 2: Mientras existan frames en el video, realizar ejecutar clasificador Haar sobre frame actual para detección de rostro

Paso 3: Almacenar con las coordenadas del área rectangular, los pixeles de la ubicación del rostro dada por el clasificador

(35)

La función está determinada por el algoritmo de Viola - Jones en función al clasificador AdaBoost entrenado, dicho algoritmo es:

Paso 1: Cargar parámetros óptimos del clasificador.

Paso 2: Si hay rostro detectado, definir zona ROI en el rostro.

Paso 3: Comprobar si hace match los ojos con la zona ROI detectada. Si hace match, definir la zona con un rectángulo. Retornar a la función principal.

3.4 Implementación del sistema

3.4.1 Instalación

La instalación de la aplicación en los dispositivos Android se ha realizado a través de Eclipse IDE.

Para ello se debe conectar el dispositivo al ordenador a través del cable USB. Una vez que el dispositivo se ha conectado al ordenador en el que se encuentra el entorno de desarrollo y éste ha reconocido el dispositivo, instalado como se define en el anexo A, se selecciona ejecutar la aplicación. Entonces, sale una ventana (Figura 13) que permite elegir dónde ejecutar la aplicación, en cualquiera de los dispositivos virtuales gestionados por emulador del IDE o en el dispositivo físico conectado. Al seleccionar el dispositivo físico, la aplicación se instala en el dispositivo móvil.

Figura 13. Selección de dispositivo móvil

Si es la primera vez que se ejecuta la aplicación en el dispositivo físico, aparecerá un mensaje que indica la necesidad de instalar el OpenCV Manager (Figura 14). OpenCV Manager (Ope1) es una aplicación para Android, que permite gestionar los archivos binarios de la librería OpenCV en los dispositivos de los usuarios finales y compartir librerías dinámicas OpenCV entre aplicaciones del mismo dispositivo. Su instalación se realiza a través de Google. Al tener instalado el OpenCV Manager se consume menos memoria, ya que todas las aplicaciones usan los mismos archivos binarios, y se optimiza el hardware para las plataformas soportadas. Además, se obtienen fuentes seguras de la librería OpenCV, ya que al estar

(36)

Figura 14. Instalación de OpenCV Manager

3.4.2 Captura de imágenes con la cámara

Las cámaras utilizadas son las integradas en cada dispositivo. Para realizar pruebas se han utilizado tanto la cámara delantera como la trasera de los dispositivos o la webcam en el caso del ordenador. Para el correcto funcionamiento de la aplicación, es necesario colocar el dispositivo en orientación horizontal y que el dispositivo este a la distancia suficiente como para que aparezca toda la cara en la pantalla.

Durante la ejecución de la aplicación y mientras la cámara enfoque y localice al sujeto, se van recogiendo las coordenadas de las pupilas con respecto a la posición de la pantalla a la que miran. Estas coordenadas se almacenan en un fichero.

3.4.3 Almacenamiento de datos

Hay dos posibles formas de guardar un fichero en un sistema Android: almacenamiento interno o externo (Alm). El almacenamiento interno se utiliza si no se quiere que el usuario u otra aplicación puedan acceder al fichero pero puede convertirse en una complicación en el caso de que el dispositivos disponga de poca capacidad de almacenamiento. Por otro lado, el almacenamiento externo se utiliza cuando se permite que el usuario u otras aplicaciones puedan acceder al fichero.

Según las características del proyecto, con el almacenamiento interno sería suficiente para guardar la información pero teniendo en cuenta las posibles aplicaciones que podrían utilizar estos datos para realizar otro tipo de operaciones se ha decidido utilizar el almacenamiento externo.

Dado el objetivo final que se inicia con este proyecto y se podría continuar utilizando las coordenadas para reconocer gestos visuales, la comunicación, en este caso, debería realizarse entre aplicaciones y se usarían otras formas más eficientes.

(37)

4 P RUEBAS Y RESULTADOS

Una vez detallado el entorno de desarrollo, la arquitectura definida y los algoritmos a utilizar explicados en los puntos anteriores, se ha procedido a la realización de las pruebas de la aplicación. Debido a las características del proyecto y los entornos de desarrollo elegidos, se han realizado dos tipos de pruebas: pruebas de concepto y pruebas de validación.

4.1 Pruebas de concepto

Las pruebas de concepto han sido detalladas en la definición de la arquitectura, ya que fueron necesarias para escoger la librería más adecuada para la implementación del proyecto.

4.2 Pruebas de validación

Para comprobar que el sistema de eye-tracking desarrollado durante el trabajo de fin de grado descrito en esta memoria hemos utilizado la aplicación de prueba descrita en la Sección 3.2. Esta aplicación nos permite comprobar de forma cualitativa que la salida de nuestro sistema es coherente con la imagen adquirida con la cámara del dispositivo. Durante estas pruebas consideramos que la detección y seguimiento es correcta si el cuadro sigue a la pupila desde el principio de la prueba y no se pierde en todo el movimiento. En caso contrario, la detección no es válida. La detección también se ha visto afectada por situaciones en las que, al realizar la prueba, se ha detectado solo un ojo (el izquierdo o el derecho) (Figura 15), se han detectado los dos ojos o no se ha detectado ninguno (Figura 16).

Figura 15. Detección correcta de ojo derecho Figura 16. Detección incorrecta de ambos ojos

Hemos realizado dos tipos de pruebas de validación utilizando esta aplicación. En un primer conjunto de pruebas, validamos el correcto funcionamiento del sistema desarrollado en un Smartphone modelo Samsung Galaxy S3 tratando de seguir los movimientos oculares de un sujeto que mueve los ojos libremente mientras interactúa con el dispositivo. Este primer grupo de pruebas, además, nos ha

(38)

posibles factores a tener en cuenta para mejorar su eficiencia. En el segundo conjunto de pruebas tratamos de verificar de forma más general el sistema desarrollado. Para ello, se tienen en cuenta los resultados de las pruebas anteriores y se realizan pruebas con distintos dispositivos y sujetos en diversos escenarios, utilizando tanto la cámara frontal como la trasera del dispositivo.

A partir del primer tipo de pruebas realizadas con un único sujeto y dispositivo móvil, se ha podido observar que la detección de la pupila no dependía únicamente de estos parámetros. Por lo que se decide realizar diversas pruebas cambiando los sujetos y los dispositivos móviles. Pero además, se comprobó que la luz ejercía una influencia sobre la detección de la pupila, definiendo, además, tres tipos de escenarios para realizar las pruebas de validación generales.

4.2.1 Tipos de dispositivos utilizados

Los dispositivos utilizados para las pruebas han sido tablets y smartphones. De los dispositivos mencionados se detalla, en la Tabla 1, el tipo de dispositivo y las características de las cámaras que tiene.

Tabla 1. Dispositivos utilizados para las pruebas

Dispositivo Tipo de dispositivo

Cámara frontal

Cámara

trasera Procesador Memoria

Samsung Galaxy S3

Mini Smartphone 5 mp 5 mp 1GHz doble núcleo ARM

Cortex-A9 8 a 16 GB Sony Xperia T Smartphone 1,3 mp 13 mp 1.5GHz dual-core

Snapdragon S4 (Krait) 1 GB Samsung Galaxy S3 Smartphone 1,9 mp 8 mp 1.4 GHz quad-core ARM

Cortex-A9 1 GB

Samsung Galaxy Tab Tablet 1,3 mp 3 mp ARM Cortex A8 512 MB

4.2.2 Descripción de los escenarios

Debido a que el Smartphone o la tablet se utilizan como eye-tracker, las características de los dispositivos son los que limitan los resultados de las pruebas. Como se utiliza la cámara intrínseca a cada dispositivo, para escoger los escenarios de las pruebas se ha pensado en las distintas posiciones del sujeto y la cámara al realizar una fotografía.

El primer escenario en el que se ha pensado para realizar las pruebas ha sido colocar la luz en la parte superior de la habitación para que incida sobre el sujeto y el dispositivo móvil, como se puede ver en la Figura 17.

(39)

Figura 17. Escenario 1

El segundo escenario en el que se han realizado las pruebas ha sido colocando la luz detrás del dispositivo móvil y enfrente del sujeto para que la luz este detrás de la cámara del dispositivo como se aprecia en la Figura 18.

Figura 18. Escenario 2

El tercer escenario utilizado para realizar pruebas ha sido colocando la luz delante del dispositivo móvil, que es detrás del sujeto para que la luz dé de frente al dispositivo como se ve en la Figura 19.

Figura 19. Escenario 3

(40)

4.2.3 Descripción de los sujetos

Los sujetos con los que se han realizado las pruebas son adultos entre 24 y 66 años de edad, con nacionalidad occidental y de ambos sexos. Las características de los sujetos pueden ser que lleven gafas, lentillas, los ojos pintados o sin ningún accesorio. Los sujetos tienen distinta fisonomía facial, algunos tienen los ojos de menor tamaño que otros o el iris del ojo de distintos colores.

4.2.4 Descripción de las pruebas

Las pruebas realizadas han consistido en instalar la aplicación en los distintos dispositivos móviles que se han utilizado. Una vez instalada la aplicación, se ha procedido a averiguar los resultados de acierto en cada escenario con sujetos de diversas características. Para realizar las pruebas se han utilizado tanto la cámara frontal como la trasera intrínseca de los distintos dispositivos móviles.

Las pruebas se han realizado por tipos y se numeran del 1 al 18 para poder representar las características de cada prueba en ellas. Las columnas representan: el número de prueba, que es un identificador para la gráfica, si el sujeto llevaba gafas o no, si llevaba lentillas o no, si tenía los ojos pintados, si había luz general y la posición fuente de la luz, respectivamente al orden de las columnas de la Tabla 2.

Se puede observar que en todas las pruebas la luz general está a "Sí", esto significa que la prueba se ha hecho en una habitación con una luz general a cierta altura o iluminada de forma general por luz natural.

Tabla 2. Representación de los datos utilizados para realizar las pruebas.

Id.

Prueba

Gafas (sí/no)

Lentillas (sí/no)

Ojos pintados (sí/no)

Luz general

(sí/no) Tipo escenario

1 No No No Sí Escenario1

2 No No No Sí Escenario2

3 No No No Sí Escenario3

4 No No Sí Sí Escenario1

5 No No Sí Sí Escenario2

6 No No Sí Sí Escenario3

7 No Sí No Sí Escenario1

8 No Sí No Sí Escenario2

9 No Sí No Sí Escenario3

10 No Sí Sí Sí Escenario1

11 No Sí Sí Sí Escenario2

12 No Sí Sí Sí Escenario3

13 Sí No No Sí Escenario1

14 Sí No No Sí Escenario2

15 Sí No No Sí Escenario3

16 Sí No Sí Sí Escenario1

17 Sí No Sí Sí Escenario2

18 Sí No Sí Sí Escenario3

(41)

4.3 Resultados

Para todas las pruebas realizadas con todos los dispositivos móviles, en el caso de “luz general”

con valor “No” significa que la habitación está a oscuras y la única fuente de luz es la que se indica en la columna “Posición fuente de luz”, si la luz está encima o detrás del móvil los resultados son equivalentes a los casos correspondientes según la columna “Posición fuente de luz”. Sin embargo, si la fuente de luz está detrás del sujeto nunca consigue la detección.

Los resultados de las pruebas realizadas con los distintos dispositivos en cada escenario según las características de los sujetos se encuentran recogidos en tablas en el anexo B. Para el análisis de los resultados se ha decidió representar los datos en gráficas.

Como se puede ver en la Figura 20, el porcentaje de detección de la pupila con el Smartphone Samsung S3 mini, utilizando la cámara trasera, tiene un porcentaje de detección de la pupila alrededor del 90%. Cuando las pruebas se realizan en el escenario 3, que corresponde con la fuente de luz está detrás del sujeto, (pruebas 3, 6, 9, 12, 15 y 18), el porcentaje de detección de la pupila se disminuye hasta el valor de 10%, y en el caso de que el sujeto no lleve ningún accesorio aumenta hasta el 20%. En las pruebas referentes a los sujetos con gafas, de la 13 a la 18, se nota que la detección de la pupila no tiene un comportamiento fijo, sino que varía en cada caso. Por ejemplo, en la prueba 17, el sujeto utiliza gafas y se alcanza un 100% de la detección de la pupila, mientras que en el caso 13, la detección esta alrededor de un 50% de acierto. Como podemos observar, no hay mucha diferencia entre si el sujeto usa (de 7 a 12) o no (de 1 a 6) lentillas, debido a que el porcentaje de detección en estas pruebas es aproximadamente del 90% o mayor.

Figura 20.Pruebas con Smartphone el Samsung Galaxy Mini S3 con la cámara trasera

Como se puede ver en la Figura 21, el porcentaje de detección de la pupila con el Smartphone Samsung S3 mini utilizando la cámara frontal, oscila entre el 80-90% en la mayoría de las pruebas. Si se

(42)

porcentaje de acierto. Igual que en el caso de la Figura 20, en las pruebas en las que el sujeto utiliza gafas (17 a 18) el porcentaje de acierto se ve reducido como máximo un 60%.

Figura 21. Pruebas con Smartphone el Samsung Galaxy Mini S3 con la cámara frontal

Como se puede ver en la Figura 22, el porcentaje de detección de la pupila con el Smartphone Sony Xperia T, utilizando la cámara trasera es elevado entre un 90-100% de acierto, como el dispositivo anterior. Se puede observar que los resultados son muy similares a la detección del Samsung Galaxy Mini S3 con la cámara trasera. Una vez más, los resultados de detección más inferiores se localizan entre las pruebas 13 a la 18, que coinciden con las pruebas en los que los sujetos llevan gafas.

Figura 22. Pruebas con Smartphone el Sony Xperia T con la cámara trasera

Como se puede ver en la Figura 23, el porcentaje de detección de la pupila con el Smartphone Sony Xperia T, utilizando la cámara frontal es similar a los resultados con la cámara trasera de este mismo dispositivo. La diferencia con la gráfica anterior es que el porcentaje de detección para la prueba 13

(43)

aumenta un 10% mientras que, en la prueba 15 disminuye un 40%. Como la prueba 15, tiene la característica común de que la luz incide detrás del sujeto se han observado las demás pruebas con esa condición. Las pruebas (3, 6, 9, 12, 15 y 18) cumplen con esa características y se puede observar que los porcentajes en esas pruebas es alrededor de un 10% inferior que en las que la luz incide de otra forma.

Curiosamente, la cámara frontal de este dispositivo es de menos calidad que la trasera (ver Tabla 1) y sorprendentemente, los resultados de la detección no lo demuestran.

Figura 23. Pruebas con Smartphone el Sony Xperia T con la cámara frontal

Como se puede ver en la Figura 24, el porcentaje de detección de la pupila con el Samsung Galaxy S3, son similares a los dispositivos anteriores. Pero en este caso, en las pruebas (3, 6, 9, 12, 15 y 18) se aprecia que la detección de las pupilas disminuye considerablemente. Observando las condiciones de esas pruebas, se puede ver, que tienen en común, que la luz se encuentra detrás del sujeto. Lo que nos indican los resultados es que este dispositivo tiene un menor porcentaje (entre un 20-60%) de detección en esa condición. Además entre la prueba 13 hasta la 18, la detección de la pupila también disminuye debido a que el sujeto utiliza gafas.

(44)

Figura 24. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara trasera

Como se puede ver en la Figura 25, el porcentaje de detección de la pupila con el Samsung Galaxy S3, es inferior alrededor de un 10% con respecto a la cámara frontal. En general, los resultados oscilan entre 80 y un 100%, por lo que no diferencian mucho de los resultados de la cámara trasera. Pero, en las pruebas 3, 9 y 15, se aprecia que la detección de las pupilas disminuye considerablemente con respecto al porcentaje de acierto de detección de la gráfica. Observando las condiciones de esas pruebas, se puede ver que tienen en común que la luz se encuentra detrás del sujeto. Todos estos resultados nos indican que este dispositivo con la cámara frontal, tiene un menor porcentaje de detección en esa condición.

Figura 25. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara frontal

Con respecto a las pruebas realizadas con la tablet Samsung Tab usando la cámara trasera (Figura 26) se observa que son similares a los demás dispositivos. Destacando que la detección de la pupila disminuye entre las pruebas 12 y 18, debido a que el sujeto utiliza gafas.

Referencias

Documento similar

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que