TRABAJO FIN DE GRADO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TRABAJO FIN DE GRADO"

Transcripción

1 UNIVERSIDAD AUTÓNOMA DE MADRID 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 Enero de 2014

6

7

8

9 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES RESUMEN 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) I

10 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello ABSTRACT 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 II

11 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES ÍNDICE 1 Introducción Motivación Objetivos Organización de la memoria Estado del arte Descripción e historia de la interacción hombre-máquina Descripción e historia de los sistemas de eye-tracking Clasificación de los sistemas de eye-tracking Disciplinas en las que se utiliza eye-tracking Aplicaciones basadas en eye-tracking Diseño y desarrollo Entorno de desarrollo Definición de la arquitectura del sistema Procesamiento de imágenes Captura de imágenes Algoritmos de detección de la pupila Métodos de detección Explicación del algoritmo de detección Implementación del sistema Instalación Captura de imágenes con la cámara Almacenamiento de datos Pruebas y resultados Pruebas de concepto Pruebas de validación Tipos de dispositivos utilizados Descripción de los escenarios Descripción de los sujetos Descripción de las pruebas Resultados Análisis de los resultados III

12 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 5 Conclusiones y trabajo futuro Conclusiones Trabajo futuro Referencias Anexo A Anexo B IV

13 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES ÍNDICE DE FIGURAS 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 8 Figura 4. Eye-tracker remote descargada de 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 Figura 8. Mapa de calor de un anuncio Figura 9. Definición de la arquitectura del sistema Figura 10. Detector de caras con clasificadores fuertes Figura 11. Clasificador en cascada [22] Figura 12. Clasificadores Haar Figura 13. Selección de dispositivo móvil Figura 14. Instalación de OpenCV Manager Figura 15. Detección correcta de ojo derecho Figura 16. Detección incorrecta de ambos ojos Figura 17. Escenario Figura 18. Escenario Figura 19. Escenario Figura 20.Pruebas con Smartphone el Samsung Galaxy Mini S3 con la cámara trasera Figura 21. Pruebas con Smartphone el Samsung Galaxy Mini S3 con la cámara frontal Figura 22. Pruebas con Smartphone el Sony Xperia T con la cámara trasera Figura 23. Pruebas con Smartphone el Sony Xperia T con la cámara frontal V

14 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello Figura 24. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara trasera Figura 25. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara frontal Figura 26. Pruebas con tablet Samsung Tab con la cámara trasera Figura 27. Pruebas con tablet Samsung Tab con la cámara frontal ÍNDICE DE TABLAS Tabla 1. Dispositivos utilizados para las pruebas Tabla 2. Representación de los datos utilizados para realizar las pruebas 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 Tabla 5. Resultados de las pruebas realizadas con Smartphone Samsung Galaxy S3 Mini con cámara frontal Tabla 6. Pruebas con Smartphone el Sony Xperia T con la cámara trasera Tabla 7. Pruebas con Smartphone el Sony Xperia T con la cámara frontal Tabla 8. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara trasera Tabla 9. Pruebas con Smartphone el Samsung Galaxy S3 con la cámara frontal Tabla 10. Pruebas con tablet Samsung Tab con la cámara trasera Tabla 11. Pruebas con tablet Samsung Tab con la cámara frontal VI

15 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 1 INTRODUCCIÓ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 eyetracking (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 que las no invasivas, pero muestran el inconveniente de ser muy incómodas para los sujetos. Es por ello que la mayoría de los sistemas de eye-tracking actuales se basen en técnicas no invasivas, que son mucho 1

16 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 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. 2

17 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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 3

18 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 4

19 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 2 ESTADO 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. 5

20 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 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. 6

21 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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 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 7

22 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 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 Figura 4. Eye-tracker remote descargada de 8

23 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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 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 9

24 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello En la Figura 6 se puede observar que los primeros artículos datan de 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 eyetracking. 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. 10

25 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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). 11

26 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 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. 12

27 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 3 DISEÑ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. 13

28 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello Las distintas componentes se pueden definir como: Figura 9. Definición de la arquitectura del sistema 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. 14

29 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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 o El último frame capturado indicando la zona en la que se encuentran las pupilas según el módulo de procesamiento 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 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 multinú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. 15

30 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 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 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 ) 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 16

31 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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 Métodos de detección 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 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. 17

32 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello 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 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 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. 18

33 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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] 19

34 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello - 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 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 20

35 Lidia París Cabello ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES 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 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 publicados en Google Play se producen actualizaciones regulares. 21

36 ADQUISICIÓN Y CARACTERIZACIÓN DE SEÑALES BIO-MÉDICAS EN DISPOSITIVOS MÓVILES Lidia París Cabello Captura de imágenes con la cámara Figura 14. Instalación de OpenCV Manager 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 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. 22

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

Más detalles

Entorno Industrial. Control Remoto. Brazo Robótico

Entorno Industrial. Control Remoto. Brazo Robótico Entorno Industrial Inaccesible Tóxico Control Remoto Brazo Robótico Desarrollo de un sistema de visión artificial que permite el control de un dispositivo remoto a partir de movimientos oculares Desarrollo

Más detalles

Cookbook Creando un Proyecto Android (ADT-Eclipse)

Cookbook Creando un Proyecto Android (ADT-Eclipse) Cookbook Creando un Proyecto Android (ADT-Eclipse) ALONSO PARRA CESAR VIELMA FREDDY RONDON JOSE MARQUEZ Alienx9889 * cesarvielma * spantons * joseangel2212 * * @gmail.com Universidad de Los Andes Escuela

Más detalles

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid Anexo IV Configuración del Entorno de Desarrollo Guía de puntos de interés de la Ciudad de Madrid 1. Índice Anexo IV Configuración del Entorno de Desarrollo... 1 1. Índice... 2 2. Entorno de Desarrollo...

Más detalles

Android para profesores

Android para profesores Android para profesores P.L. Lucas 29 de abril de 2011 Índice 1. Introducción 1 2. El origen de Android 1 3. Lo que hay que saber antes de adquirir un tablet con Android 2 4. Las máquinas virtuales 2 5.

Más detalles

Luis Esteban Peñaherrera Sandoval Ing. de Software

Luis Esteban Peñaherrera Sandoval Ing. de Software DESARROLLO DE UN SISTEMA DE APRENDIZAJE INTERACTIVO PARA EL ÁREA DEL IDIOMA INGLÉS CON EL SOPORTE DEL KINECT DE MICROSOFT- CASO PRÁCTICO PARA NIÑOS DE 6 A 8 AÑOS EN EL CENTRO EDUCATIVO ILINIZAS. Luis Esteban

Más detalles

SISTEMA DE RECONOCIMIENTO FACIAL Y REALIDAD AUMENTADA PARA DISPOSITIVOS MÓVILES

SISTEMA DE RECONOCIMIENTO FACIAL Y REALIDAD AUMENTADA PARA DISPOSITIVOS MÓVILES Revista de investigación Editada por Área de Innovación y Desarrollo, S.L. Envío: 16-06-2012 Aceptación: 18-06-2012 Publicación: 19-06-2012 SISTEMA DE RECONOCIMIENTO FACIAL Y REALIDAD AUMENTADA PARA DISPOSITIVOS

Más detalles

Prólogo...3 Agradecimientos...4. Tabla de Contenidos...5. Lista de figuras...17. Apartado I: El ecosistema móvil...33

Prólogo...3 Agradecimientos...4. Tabla de Contenidos...5. Lista de figuras...17. Apartado I: El ecosistema móvil...33 Tabla de Contenidos - 5 Tabla de Contenidos Prólogo...3 Agradecimientos...4 Tabla de Contenidos...5 Lista de figuras...17 Introducción...25 La historia de Delphi...26 Delphi para plataformas móviles...29

Más detalles

MODULO DE NI-VISION DE LABVIEW GUÍA DE INICIO JONATHAN EDUARDO CRUZ ORTIZ

MODULO DE NI-VISION DE LABVIEW GUÍA DE INICIO JONATHAN EDUARDO CRUZ ORTIZ MODULO DE NI-VISION DE LABVIEW GUÍA DE INICIO JONATHAN EDUARDO CRUZ ORTIZ UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN ELECTRÓNICA INGENIERÍA EN CONTROL Índice general

Más detalles

qwertyuiopasdfghjklzxcvbnmq

qwertyuiopasdfghjklzxcvbnmq qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopas

Más detalles

1.1. Instalación del entorno de desarrollo

1.1. Instalación del entorno de desarrollo 1.1. Instalación del entorno de desarrollo Para el desarrollo de las aplicaciones vamos a poder utilizar un potente y moderno entorno de desarrollo. Al igual que Android, todas las herramientas están basadas

Más detalles

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México Licencia La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México S. A de C.V., Está protegida por derechos de autor y / u otras leyes aplicables. Cualquier uso diferente a

Más detalles

LIC. SAIDYS JIMÉNEZ QUIROZ GRADOS 6 A B CESCOJ

LIC. SAIDYS JIMÉNEZ QUIROZ GRADOS 6 A B CESCOJ LIC. SAIDYS JIMÉNEZ QUIROZ GRADOS 6 A B CESCOJ NÚCLEO BÁSICO N 2: INTRODUCCIÓN A LA INFORMÁTICA SESIÓN DE APRENDIZAJE N 2.2: EL COMPUTADOR Y SUS PARTES. COMPETENCIA: Reconozco que el computador es un artefacto

Más detalles

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su 88 CAPÍTULO 5 5. IMPLEMENTACIÓN 5.1 Modelo Utilizado en Programación. Hemos utilizado la técnica de programación orientado a objetos por su eficiencia y eficacia en el modelo mvc, ya que permite la reutilización

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

UNE-EN ISO 9241-1:1997 Requisitos ergonómicos para trabajos de oficina con pantallas de visualización de datos (PVD). Parte 1: Introducción general.

UNE-EN ISO 9241-1:1997 Requisitos ergonómicos para trabajos de oficina con pantallas de visualización de datos (PVD). Parte 1: Introducción general. NORMATIVA TÉCNICA SOBRE TRABAJO CON ORDENADORES UNE-EN ISO 9241-1:1997 Requisitos ergonómicos para trabajos de oficina con pantallas de visualización de datos (PVD). Parte 1: Introducción general. Esta

Más detalles

Historia de revisiones

Historia de revisiones Binary Rain Glosario Versión 1.1 Historia de revisiones Fecha Versión Descripción Autor 17/08/2012 1.0 Creación del documento Carolina Trias 18/08/2012 1.1 Revisado y corregido por SQA Mercedes Marzoa

Más detalles

Unidad II. Interfaz Grafica

Unidad II. Interfaz Grafica Clase:004 1 Unidad II Interfaz Grafica Basado en https://developer.apple.com/library/ios/#referencelibrary/gettingstar ted/roadmapios/chapters/introduction.html 2 Agenda Desarrollo de Apps para IOS. Diseño

Más detalles

Este documento se distribuye bajo los términos de la licencia Creative Commons by sa. http://creativecommons.org/licenses/by sa/2.

Este documento se distribuye bajo los términos de la licencia Creative Commons by sa. http://creativecommons.org/licenses/by sa/2. Análisis de aplicación: Visual Understanding Environment (VUE) Este documento ha sido elaborado por el Centro de excelencia de software libre de Castilla La Mancha (Ceslcam, http://ceslcam.com). Copyright

Más detalles

Capítulo 4. Implementación del lenguaje multitáctil

Capítulo 4. Implementación del lenguaje multitáctil Capítulo 4. Implementación del lenguaje multitáctil En este capítulo se presenta como fue diseñado y desarrollado el servicio de ademanes multitáctiles. Se presentan la arquitectura general del sistema,

Más detalles

qwertyuiopasdfghjklzxcvbnmq

qwertyuiopasdfghjklzxcvbnmq qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopas

Más detalles

TEMA 3: SISTEMAS OPERATIVOS.

TEMA 3: SISTEMAS OPERATIVOS. TEMA 3: SISTEMAS OPERATIVOS. 1. QUÉ ES UN SISTEMA OPERATIVO? 2. SISTEMAS OPERATIVOS GRÁFICOS. 3. SISTEMAS OPERATIVOS MÓVILES. 4. EL ENTORNO DE WINDOWS PARA PC. 5. LA APLICACIÓN DEL TEMA. 6. ACTIVIDADES.

Más detalles

Desarrollo de apps para móviles Android. Entorno de desarrollo

Desarrollo de apps para móviles Android. Entorno de desarrollo Desarrollo de apps para móviles Android Entorno de desarrollo Entorno de desarrollo Las aplicaciones Android van a ser implementadas en Java usando Android SDK. El software necesario para realizarlas es

Más detalles

Capítulo III Procesamiento Digital de Imágenes

Capítulo III Procesamiento Digital de Imágenes Capítulo III Procesamiento Digital de Imágenes Contenido Introducción al Procesamiento digital de imágenes Orígenes del procesamiento digital de imágenes. Aplicaciones del Procesamiento de Imágenes Componentes

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Visión Artificial. Por Elisabeth Pérez

Visión Artificial. Por Elisabeth Pérez Visión Artificial Por Elisabeth Pérez Indice Qué es la Visión Artificial? Visión Artificial Diversos nombres Áreas de Aplicación Visión Artificial en Sistemas de Calidad Los pasos a tener en cuenta Áreas

Más detalles

Aplicaciones Móviles Web Apps

Aplicaciones Móviles Web Apps Aplicaciones Móviles Web Apps APLICACIONES MÓVILES WEB APPS 1 Sesión No. 4 Nombre: Sensor-Based & Contex-Aware computing Contextualización La informática cuenta con varios elementos que la definen, entre

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

AYUDAS TÉCNICAS DE ACCESO AL ORDENADOR BASADAS EN CÁMARAS WEB

AYUDAS TÉCNICAS DE ACCESO AL ORDENADOR BASADAS EN CÁMARAS WEB AYUDAS TÉCNICAS DE ACCESO AL ORDENADOR BASADAS EN CÁMARAS WEB R esumen Las ayudas técnicas de acceso al ordenador usadas habitualmente utilizan componentes electrónicos, soportes mecánicos y conexiones

Más detalles

Un Programa Interactivo para la Enseñanza de Algoritmos de Procesamiento Digital de Imágenes

Un Programa Interactivo para la Enseñanza de Algoritmos de Procesamiento Digital de Imágenes Formación Universitaria Un Vol. Programa 1(5), 21-28 Interactivo (2008) para la Enseñanza de Algoritmos de Procesamiento Digital doi: 10.4067/S0718-50062008000500004 Un Programa Interactivo para la Enseñanza

Más detalles

Interacción Persona- Ordenador Lydia Galán Pache 080068

Interacción Persona- Ordenador Lydia Galán Pache 080068 Realidad Aumentada Interacción Persona- Ordenador Lydia Galán Pache 080068 CARACTERÍSTICAS Y DESCRIPCIÓN La Realidad Aumentada, Augmented Reality (AR) o también conocida como Realidad Inmersiva es una

Más detalles

Tema 2: Introducción a Android

Tema 2: Introducción a Android Tema 2: Introducción a Android Android Android es un sistema operativo basado en el Kernel de Linux diseñado principalmente para dispositivos móviles con pantalla táctil. Android Fue desarrollado originalmente

Más detalles

Sistema de Reconocimiento de Iris Implementado en un Procesador Digital de Señales

Sistema de Reconocimiento de Iris Implementado en un Procesador Digital de Señales Sistema de Reconocimiento de Iris Implementado en un Procesador Digital de Señales Arles Felipe García Maya Juan Camilo Moreno Ruiz Director MSc. Edwin Andrés Quintero Salazar Ing. Electrónica Orden del

Más detalles

DESARROLLO DE APLICACIÓN MÓVIL PARA EMPRESA DE BIENES RAÍCES, VERSIÓN ANDROID

DESARROLLO DE APLICACIÓN MÓVIL PARA EMPRESA DE BIENES RAÍCES, VERSIÓN ANDROID DESARROLLO DE APLICACIÓN MÓVIL PARA EMPRESA DE BIENES RAÍCES, VERSIÓN ANDROID Vicente Moya Murillo (1) Ing. Patricia Chávez Burbano (2) Facultad de Ingeniería en Electricidad y Computación Escuela Superior

Más detalles

Distribución personalizada de Linux para uso de tableros digitales de bajo costo

Distribución personalizada de Linux para uso de tableros digitales de bajo costo Eleventh LACCEI Latin American and Caribbean Conference for Engineering and Technology (LACCEI 2013) "Innovation in Engineering, Technology and Education for Competitiveness and Prosperity" August 14-16,

Más detalles

Sistema de Control Domótico

Sistema de Control Domótico UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN ELECTRÓNICA Y AUTOMATICA PROYECTO FIN DE CARRERA Sistema de Control Domótico a través del bus USB Directores:

Más detalles

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire mtoscano@matoosfe.com tw: martosfre

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire mtoscano@matoosfe.com tw: martosfre DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID Ing. Marco Antonio Toscano Freire mtoscano@matoosfe.com tw: martosfre Introducción Aplicaciones Móbiles Desventajas Tanto las pantallas como teclados son demasiado

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1. Introducción El WWW es la mayor fuente de imágenes que día a día se va incrementando. Según una encuesta realizada por el Centro de Bibliotecas de Cómputo en Línea (OCLC) en Enero de 2005,

Más detalles

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL INTRODUCCIÓN Los sistemas de reconocimiento facial son sistemas de seguridad basados en aplicaciones que detectan e identifican automáticamente rostros humanos.

Más detalles

Desarrollo de una Aplicación Móvil para Revisar

Desarrollo de una Aplicación Móvil para Revisar Desarrollo de una Aplicación Móvil para Revisar Horarios de Atención de Tutores de la UNAD Development of a Movil Application for Check Over Office Hours of Tutors of the Unad Correa Rodríguez Arellys

Más detalles

Entorno de desarrollo Instalación y configuración

Entorno de desarrollo Instalación y configuración Entorno de desarrollo Instalación y configuración GExCALL Formación http://gexcall.unex.es/formacion El plugin ADT (Android Development Tools) extiende al IDE Eclipse. Te permite crear y depurar aplicaciones

Más detalles

Desarrollo de Aplicaciones Móviles. Java

Desarrollo de Aplicaciones Móviles. Java Java Java es la base para prácticamente todos los tipos de aplicaciones de red, además del estándar global para desarrollar y distribuir aplicaciones móviles y embebidas, juegos, contenido basado en web

Más detalles

El monitoreo de una variable física requiere supervisión permanente de señales que

El monitoreo de una variable física requiere supervisión permanente de señales que Capítulo 1 Marco Contextual 1.1. Formulación del problema 1.1.1. Definición del problema El monitoreo de una variable física requiere supervisión permanente de señales que varían con el tiempo. Tal información,

Más detalles

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor BÁSICOS APP INVENTOR Manual de Introducción a AppInventor Contenido 1. Qué es AppInventor?... 2 2. Qué tipo de aplicaciones pueden crearse con AppInventor?... 3 3. Cómo se construye una aplicación en

Más detalles

Clientes de XProtect Acceda a su vigilancia

Clientes de XProtect Acceda a su vigilancia Clientes de XProtect Acceda a su vigilancia Tres formas de ver la vídeovigilancia Para un fácil acceso a la vídeovigilancia, Milestone ofrece tres interfaces de usuario flexibles: XProtect Smart Client,

Más detalles

Sistema de grabación por celulares

Sistema de grabación por celulares Sistema de grabación por celulares Informe Técnico Interno Miguel Martínez Soler Laboratorio de Investigaciones Sensoriales - LIS Facultad de Medicina Universidad de Buenos Aires Buenos Aires, mayo de

Más detalles

GUÍA DEL USUARIO DE SOFTWARE

GUÍA DEL USUARIO DE SOFTWARE GUÍA DEL USUARIO DE SOFTWARE Serie RJ El contenido de esta guía y las especificaciones de este producto pueden cambiar sin notificación. Brother se reserva el derecho de modificar sin previo aviso las

Más detalles

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente Capítulo 5: Aplicaciones cliente 46 5.1 La aplicación cliente en la Pocket PC La aplicación desarrollada para el cliente en un dispositivo móvil como corresponde a la Pocket PC necesita una capa muy delgada

Más detalles

hand SMARTPIF: en busca de la mejor prescripción de plantillas Copyright 2015 Consorcio SMARTPIF

hand SMARTPIF: en busca de la mejor prescripción de plantillas Copyright 2015 Consorcio SMARTPIF SMARTPIF: en busca de la mejor prescripción de plantillas Copyright 2015 Consorcio SMARTPIF Proyecto financiado por la Unión Europea Contrato nº FP7-SME-2012-1-312573 hand boo contenidos 1 - Introducción

Más detalles

IDENA Mobile, explorando HTML5

IDENA Mobile, explorando HTML5 VII JORNADAS DE SIG LIBRE IDENA Mobile, explorando HTML5 J. L. Cardoso Santos (1), F. Lacunza Prieto(1) y C. Sabando Grasa (1) (1) 6, Área GeoWeb, Departamento de Sistemas de Información Territorial, Tracasa,

Más detalles

Tutorial 1. Instalación del entorno de desarrollo de Android. Curso de perfeccionamiento: Programación de Android TUTORIAL 1: INSTALACIÓN DEL SOFTWARE

Tutorial 1. Instalación del entorno de desarrollo de Android. Curso de perfeccionamiento: Programación de Android TUTORIAL 1: INSTALACIÓN DEL SOFTWARE Tutorial 1 Instalación del entorno de desarrollo de Android Curso de perfeccionamiento: Programación de Android 2013 1 Para desarrollar aplicaciones Android debemos instalar el siguiente software en nuestro

Más detalles

Introduccion a la plataforma Android

Introduccion a la plataforma Android Introduccion a la plataforma Android Felipe A. Besoaín Pino fbesoain@gmail.com 22-05-2009 Resumen Las características y usos que nos proveen los dispositivos móviles en los últimos años, han provocado

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C. U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C. Rogelio Vázquez Hernández Smartphone Termino utilizado para referirse

Más detalles

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra Capitulo 4. JavaFX Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra estructurado el lenguaje de programación, se realiza el análisis del código Helloworld.fx para

Más detalles

IMPLANTACIÓN PLATAFORMA DE DIFUSIÓN (PAGINA WEB / APP ANDROID)

IMPLANTACIÓN PLATAFORMA DE DIFUSIÓN (PAGINA WEB / APP ANDROID) IMPLANTACIÓN PLATAFORMA DE DIFUSIÓN (PAGINA WEB / APP ANDROID) Valeska Concha C. 122 Transferencia Tecnológica y Difusión del proyecto. Introducción El desarrollo de un plataforma de información para el

Más detalles

Tema: Detección de billetes con OpenCV en Android.

Tema: Detección de billetes con OpenCV en Android. TRABAJO FINAL PARA APROBACION DEL CURSO DE POSTGRADO: INTRODUCCION AL PROCESAMIENTO DIGITAL DE IMAGENES. UN ENFOQUE TEORICO - PRACTICO UTILIZANDO OPEN CV. FACULTAD DE INGENIERÍA. 2013. Autor: Vera, José

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información.

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información. INTRODUCCIÓN AL ORDENADOR Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información. Se compone de dos elementos fundamentales que

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Sage CRM. Sage CRM 7.3 Guía de Mobile

Sage CRM. Sage CRM 7.3 Guía de Mobile Sage CRM Sage CRM 7.3 Guía de Mobile Copyright 2014 Sage Technologies Limited, editor de este trabajo. Todos los derechos reservados. Quedan prohibidos la copia, el fotocopiado, la reproducción, la traducción,

Más detalles

GUÍA PRÁCTICA PARA EL DESARROLLO DE APLICACIONES BASADAS EN DETECCIÓN Y SEGUIMIENTO FACIAL CON KINECT YURANNY CASTRO HERNÁNDEZ

GUÍA PRÁCTICA PARA EL DESARROLLO DE APLICACIONES BASADAS EN DETECCIÓN Y SEGUIMIENTO FACIAL CON KINECT YURANNY CASTRO HERNÁNDEZ GUÍA PRÁCTICA PARA EL DESARROLLO DE APLICACIONES BASADAS EN DETECCIÓN Y SEGUIMIENTO FACIAL CON KINECT YURANNY CASTRO HERNÁNDEZ JUAN CARLOS BEJARANO JIMÉNEZ FACULTAD DE INGENIERÍA UNIVERSIDAD AUTÓNOMA DEL

Más detalles

Apéndice B. Telefonía a través de Microsoft TAPI 1. B1. Microsoft TAPI y algunos detalles de la corrida con CSLU Toolkit

Apéndice B. Telefonía a través de Microsoft TAPI 1. B1. Microsoft TAPI y algunos detalles de la corrida con CSLU Toolkit Apéndice B. Telefonía a través de Microsoft TAPI 1 B1. Microsoft TAPI y algunos detalles de la corrida con CSLU Toolkit El archivo que hace la llamada es TAPISend que se encuentra en formato ejecutable.

Más detalles

Escuela Industrial Superior SISTEMAS OPERATIVOS. Windows 7 Conceptos básicos. Ventajas de Windows. Elementos de trabajo

Escuela Industrial Superior SISTEMAS OPERATIVOS. Windows 7 Conceptos básicos. Ventajas de Windows. Elementos de trabajo SISTEMAS OPERATIVOS Un Sistema Operativo (SO, frecuentemente OS, del inglés Operating System) es un programa o conjunto de programas que en un Sistema Informático controla los recursos de hardware y gestiona

Más detalles

AutoCAD, Herramientas 2D CONTENIDO

AutoCAD, Herramientas 2D CONTENIDO CONTENIDO HOJA TÉCNICA... 3 INTRODUCCIÓN... 4 GENERALIDADES DEL AUTOCAD... 5 COMO UTILIZAR ESTE MANUAL... 5 PARTE 1: PREPARACIÓN... 7 1.- CONOCIENDO EL COMPUTADOR:... 7 1.1.- COMPONENTE FÍSICO:... 8 1.2.-

Más detalles

GUÍA PARA UN ESCANEO ÓPTIMO

GUÍA PARA UN ESCANEO ÓPTIMO Condiciones para obtener un buen escaneo Los factores que intervienen en el proceso de escaneo son ambientales, propios de la configuración y calibración del escáner así como del objeto a escanear. El

Más detalles

Actualización a Test Universe 3.0. Novedades

Actualización a Test Universe 3.0. Novedades Actualización a Test Universe 3.0 Novedades Test Universe 3.0 Resumen de las nuevas características En este folleto se proporciona información sobre las siguientes nuevas características en nuestro software

Más detalles

w w w. s p y r o t o u c h. c o m

w w w. s p y r o t o u c h. c o m w w w. s p y r o t o u c h. c o m Aplicaciones empresariales de movilidad SPYRO TOUCHes un conjunto modular de Apps empresariales, concebidas desde su análisis y desarrollo, para dar solución a los distintos

Más detalles

Instituto Tecnológico de Costa Rica Escuela de Ingeniería en Computación

Instituto Tecnológico de Costa Rica Escuela de Ingeniería en Computación Instituto Tecnológico de Costa Rica Escuela de Ingeniería en Computación "Data Analytics, procesamiento de grandes volúmenes de información para generar inteligencia de negocios" Proyecto de Graduación

Más detalles

IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes

IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes 1 Objetivos Ingeniería Técnica Informática de Sistemas Curso 2003/2004 En la presente sesión se pretende familiarizar al alumno

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

Qué es una tablet? Qué se puede hacer con una tablet?

Qué es una tablet? Qué se puede hacer con una tablet? Hoy en día, uno de los utensilios más recurrentes en el terreno de la informática son las computadoras portátiles, las cuales ofrecen funcionalidades pensadas para que los usuarios puedan visualizar todo

Más detalles

Lectura 2: El Sistema Operativo y sus Funciones

Lectura 2: El Sistema Operativo y sus Funciones MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información Objetos de aprendizaje: Sistema Operativo Lectura 2: El Sistema Operativo y sus Funciones

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2 Conceptos clave de un sistema operativo. 1.3 El sistema operativo como administrador

Más detalles

Medios técnicos. Pdi. PPt. Medios de comunicación. Tablets

Medios técnicos. Pdi. PPt. Medios de comunicación. Tablets Medios técnicos Pdi PPt Medios de comunicación Tablets Pizarra digital (Pdi) 2 1.- Qué es una pizarra digital? Qué es una pizarra digital interactiva? Distinguimos básicamente dos tipos de pizarra digital,

Más detalles

Material Actividad de aprendizaje 1. Primeros Pasos con App Inventor

Material Actividad de aprendizaje 1. Primeros Pasos con App Inventor Análisis Desarrollo de para aplicaciones el desarrollo móviles móvil con APP con INVENTOR.. Indice Introducción 1. Android. 2. Introducción. 3. Requisitos para la Configuración. 4. Configuración de 2.

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Diseño de un pizarrón digital interactivo como apoyo a la enseñanza/aprendizaje en las aulas, usando visión por computadora

Diseño de un pizarrón digital interactivo como apoyo a la enseñanza/aprendizaje en las aulas, usando visión por computadora Diseño de un pizarrón digital interactivo como apoyo a la enseñanza/aprendizaje en las aulas, usando visión por computadora Laura Briones Severo Instituto Tecnológico de Apizaco laurabrioness@gmail.com

Más detalles

AxxonSoft. Sistema. Intellect. Guía breve de usuario. Versión 1.0.0

AxxonSoft. Sistema. Intellect. Guía breve de usuario. Versión 1.0.0 AxxonSoft Sistema Intellect Guía breve de usuario Versión 1.0.0 Moscú 2010 Índice ÍNDICE... 2 1 INTRODUCCIÓN... 3 1.1 Propósito de este documento... 3 1.2 Propósito del sistema Intellect... 3 2 PREPARACIÓN

Más detalles

Tema 1.- Introducción a la Visión Artificial

Tema 1.- Introducción a la Visión Artificial Tema 1.- Introducción a la Visión Artificial Visión Artificial Avanzada Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

SISTEMA OPERATIVO WINDOWS

SISTEMA OPERATIVO WINDOWS SISTEMA OPERATIVO WINDOWS QUÉ ES WINDOWS? Es un Sistema Operativo, que cuenta con un Ambiente Gráfico (GUI) que permite ejecutar programas (aplicaciones) de forma más fácil y cómoda para el usuario. Viene

Más detalles

Examen 2.0 Versión 1

Examen 2.0 Versión 1 Introducción A continuación, encontrará un instructivo, en el que se detallan aspectos técnicos y funcionales en relación a cada etapa del proceso de realización de la evaluación final de la asignatura,

Más detalles

Sistema Inteligente de Exploración

Sistema Inteligente de Exploración Observatorio Municipal de Estadística Sistema Inteligente de Exploración Capítulos 1. Consideraciones iniciales y requerimientos... 2 2. Navegación... 3 3. Consulta de indicadores... 5 3.1. Elaboración

Más detalles

DYANE Versión 4 Diseño y Análisis de Encuestas

DYANE Versión 4 Diseño y Análisis de Encuestas DYANE Versión 4 Diseño y Análisis de Encuestas Miguel Santesmases Mestre 1. DESCRIPCIÓN GENERAL DEL PROGRAMA DYANE 1. FINALIDAD Y MÉTODO DEL PROGRAMA DYANE (Diseño y Análisis de Encuestas) es un programa

Más detalles

Multimodalidad en Software AG Javier Cámara

Multimodalidad en Software AG Javier Cámara Multimodalidad en Software AG Javier Cámara Arquitecto de Software, Software AG España 18 de Noviembre de 2004 Propósito de este documento Enumerar y describir actividades pasadas presentes y futuras de

Más detalles

Visión general y entorno de desarrollo

Visión general y entorno de desarrollo CAPÍTULO 1. Visión general y entorno de desarrollo La telefonía móvil está cambiando la sociedad actual de una forma tan significativa como lo ha hecho Internet. Esta revolución no ha hecho más que empezar,

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

Sage CRM. 7.2 Guía de Mobile

Sage CRM. 7.2 Guía de Mobile Sage CRM 7.2 Guía de Mobile Copyright 2013 Sage Technologies Limited, editor de este trabajo. Todos los derechos reservados. Quedan prohibidos la copia, el fotocopiado, la reproducción, la traducción,

Más detalles

En este capitulo se presentan los métodos y algoritmos utilizados para el desarrollo del

En este capitulo se presentan los métodos y algoritmos utilizados para el desarrollo del 33 En este capitulo se presentan los métodos y algoritmos utilizados para el desarrollo del sistema de procesamiento de imágenes para controlar un robot manipulador y se describen en la forma como serán

Más detalles

Universidad Austral. Aplicación móvil para manejo de una computadora Droid Control Trabajos de Cátedra

Universidad Austral. Aplicación móvil para manejo de una computadora Droid Control Trabajos de Cátedra Universidad Austral Aplicación móvil para manejo de una computadora Droid Control Trabajos de Cátedra Autores: Tomas A. Najun Jose M. Gonzalez Docentes: Nicolas Damonte Lucas Luppani Ignacio Rodriguez

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Guía de Usuario Última Actualización 31 de marzo de 2016 Tabla de contenido 1. Introducción... 3 2.... 3 3. Ediciones... 7 4. Requisitos

Más detalles

CAPÍTULO II. Gráficos Dinámicos.

CAPÍTULO II. Gráficos Dinámicos. 2.1 Definición. Los gráficos dinámicos son representaciones a escala del proceso, en donde se muestra la información de las variables del proceso a través de datos numéricos y de animación gráfica. Éstos

Más detalles

MANUAL DE USUARIO C20090107

MANUAL DE USUARIO C20090107 MANUAL DE USUARIO C20090107 Aplicación formativa para la videoconsola Wii visualizable en un monitor de televisión y compatible con Internet (PC) y smartphones. Solicitante: Colaboradores: : Índice 1 INTRODUCCIÓN...

Más detalles

INTEGRACION PERFECTA MULTIPLES SOLUCIONES UN PRODUCTO UNA COMPAÑIA

INTEGRACION PERFECTA MULTIPLES SOLUCIONES UN PRODUCTO UNA COMPAÑIA INTEGRACION PERFECTA UNA COMPAÑIA UN PRODUCTO MULTIPLES SOLUCIONES INTEGRACION PERFECTA UNA COMPAÑIA - UN PRODUCTO - MULTIPLES SOLUCIONES INTRODUCCION Como líderes en tecnología de Generadores de Rayos

Más detalles

MS_20481 Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

MS_20481 Essentials of Developing Windows Store Apps Using HTML5 and JavaScript Essentials of Developing Windows Store Apps Using HTML5 and JavaScript www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción En este

Más detalles

DESCRIPCIONES TÉCNICAS 17 DISEÑO WEB

DESCRIPCIONES TÉCNICAS 17 DISEÑO WEB 2015 DESCRIPCIONES TÉCNICAS 17 DISEÑO WEB INTRODUCCIÓN AMETIC y Microsoft asumen la coordinación y el patrocinio de la Competición Nacional de Formación Profesional, Spainskills 2015, en lo concerniente

Más detalles

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos ZP09-0207, con fecha 2 de junio de 2009 IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos Índice 1 Resumen de características

Más detalles

Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica

Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Graficación Docente: L.S.C. Ma.

Más detalles