54
CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y ALGORITMOS DE BOOSTING DIANA CAROLINA MAHECHA ROJAS UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA BOGOTA D.C Enero de 2008

CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y ALGORITMOS DE BOOSTING

DIANA CAROLINA MAHECHA ROJAS

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA

BOGOTA D.C

Enero de 2008

Page 2: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y ALGORITMOS DE BOOSTING

DIANA CAROLINA MAHECHA ROJAS

Trabajo de grado para optar al título de:

Ingeniera Electrónica

Asesor:

Fernando Lozano Martínez, Ph.D.

Co-Asesor:

Elkin Eduardo García Díaz

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA

BOGOTA D.C

Enero de 2008

Page 3: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

I

A mis padres, cuyo apoyo incondicional

permitió que todo esto fuera posible.

Page 4: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

II

AGRADECIMIENTOS

A Fernando Lozano por todos los conocimientos recibidos a lo largo de estos años y por

enseñarme que la disciplina es una parte muy importante del éxito.

A Luís Ignacio Lopera y a los trabajadores del laboratorio de Ingeniería Eléctrica y

Electrónica por la colaboración brindada.

A mis amigos y compañeros por todo el apoyo y ayuda que me dieron no solo en este

trabajo, sino en el día a día de estos 5 años que terminan de pregrado. En especial a Andrea

Espinel, Miguel Navarro y Álvaro Acuña.

A mi familia y a aquellos que participaron en las mediciones de este proyecto, por su

disposición incondicional y el tiempo invertido.

A mis padres, Blanca Rojas y Lazaro Mahecha, por su incalculable esfuerzo y por todo el

amor y la comprensión que me han dado a lo largo de mi vida.

Page 5: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

III

TABLA DE CONTENIDOS

1 INTRODUCCIÓN ......................................................................................... 1

2 PRELIMINARES ......................................................................................... 2

2.1. Sistema Motor Ocular .......................................................................................... 2

2.1.1. Anatomía Ojo ............................................................................................... 2

2.1.2. Movilidad Ojo .............................................................................................. 3

2.1.2.1. Músculos ................................................................................................... 3

2.1.2.2. Movimientos ............................................................................................. 5

2.2. Detección de Movimientos Oculares .................................................................... 7

2.2.1. Electrofisiología............................................................................................ 7

2.2.2. Electrooculografía......................................................................................... 8

2.2.2.1. Historia ..................................................................................................... 8

2.2.2.2. Metodología y señales EOG .................................................................... 9

2.3. Aprendizaje supervisado y boosting ................................................................... 10

2.3.1. Aprendizaje supervisado ............................................................................. 10

2.3.2. Boosting ..................................................................................................... 11

3 DISEÑO E IMPLEMENTACIÓN .................................................................. 13

3.1. Adquisición Señales EOG .................................................................................. 13

3.1.1. Electrodos Superficiales .............................................................................. 13

3.1.2. Acondicionamiento de la señal .................................................................... 14

3.1.2.1. Amplificación ......................................................................................... 15

3.1.2.2. Aislamiento ............................................................................................. 16

3.1.2.3. Filtraje..................................................................................................... 18

3.1.2.3.1. Filtro Pasa Altas ................................................................................. 19

3.1.2.3.1. Filtro Pasa Bajas ................................................................................ 19

3.1.2.4. Acondicionamiento ADC ........................................................................ 20

Page 6: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

IV

3.1.3. Digitalización y Transmisión a PC .............................................................. 21

3.1.3.1. ADC y transmisión serial ........................................................................ 21

3.1.3.2. Adaptador RS-232 ................................................................................... 23

3.2. Construcción de la base de datos ....................................................................... 24

3.2.1. Aplicación .................................................................................................. 24

3.2.1. Protocolos ................................................................................................... 24

3.2.2. Toma de datos............................................................................................. 26

3.3. Preprocesamiento .............................................................................................. 27

3.4. AdaBoost Multivariable ..................................................................................... 30

3.4.1. Algoritmos de Boosting multivariable ......................................................... 30

3.4.2. Implementación .......................................................................................... 31

3.5. Mouse Electrooculográfico basado en Boosting ................................................. 35

4 RESULTADOS .......................................................................................... 38

5 CONCLUSIONES ....................................................................................... 41

6 BIBLIOGRAFÍA ........................................................................................ 43

7 ANEXOS (CD-ROM)

7.1. Código fuente de las aplicaciones

7.2. Layout de la tarjeta de adquisición

Page 7: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

V

ÍNDICE DE FIGURAS

Figura 2.1 Anatomía del ojo. .............................................................................................. 2

Figura 2.2 Músculos motores del ojo. ................................................................................ 4

Figura 2.3 Direcciones de movimiento del ojo y músculos asociados a ellas. ...................... 4

Figura 2.4 Ejes imaginarios existentes en el ojo.................................................................. 5

Figura 2.5 Comportamiento del ojo como dipolo. ............................................................... 9

Figura 2.6 Ubicación electrodos para análisis EOG. ......................................................... 10

Figura 2.7 Algoritmo Adaboost ........................................................................................ 12

Figura 3.1 Arquitectura del circuito de adquisición de datos EOG .................................... 13

Figura 3.2 Electrodos superficiales usados en las mediciones ........................................... 14

Figura 3.3 Configuración Amplificador de Instrumentación INA128. ............................... 16

Figura 3.4 Configuración etapa de aislamiento (ISO 124)................................................. 17

Figura 3.5 Alimentación ±VS2 del circuito después del aislamiento. ................................. 18

Figura 3.6 Función de transferencia de la etapa de filtraje pasa banda [10mHz – 35Hz] .. 18

Figura 3.7 Filtro Pasa Altas con frecuencia de corte en 10mHz ........................................ 20

Figura 3.8 Filtro Pasa Bajas con frecuencia de corte en 35Hz. .......................................... 20

Figura 3.9 Acondicionamiento de la señal al rango del ADC. ........................................... 21

Figura 3.10 Arquitectura familia PSoC CY8C27x4. ........................................................ 22

Figura 3.11 Bloques del PSOC usados en la digitalización de las señales EOG ................ 22

Figura 3.12 Configuración MAX 232. .............................................................................. 23

Figura 3.13 Aplicación para la toma de la base de datos. .................................................. 25

Figura 3.14 Esquema de los 10 protocolos implementados para la toma de datos ............. 25

Figura 3.15 Datos adquiridos en una prueba durante la realización de los protocolos de

movimientos medios. ....................................................................................................... 26

Figura 3.16 Señal adquirida por la tarjeta de adquisición de señales EOG. ....................... 27

Figura 3.17 Señal promediada. ......................................................................................... 28

Figura 3.18 Preprocesamiento del protocolo 7 de datos presentados en la Figura 3.15. ..... 29

Figura 3.19 Comportamiento de parpadeos involuntarios a través del preprocesamiento. . 30

Figura 3.20 Algoritmo débil que genera hipótesis pertenecientes a la clase de clasificadores

lineales. ............................................................................................................................ 32

Page 8: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

VI

Figura 3.21 Algoritmo AdaBoost.MH .............................................................................. 33

Figura 3.22 Algoritmo de boosting multivariable usado ................................................... 34

Figura 3.23 Tarjeta de adquisición de señales EOG .......................................................... 35

Figura 3.24 Aplicación implementada para controlar el mouse ......................................... 35

Figura 3.25 Estructura general del software implementado (EOG_mouse) ....................... 36

Figura 4.1 Errores de entrenamiento y generalización de cada clase para 100 iteraciones . 38

Figura 4.2 Errores de entrenamiento y generalización totales para 100 iteraciones ........... 39

Figura 4.3 Errores de entrenamiento y generalización totales para 500 iteraciones. .......... 40

Page 9: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

VII

ÍNDICE DE TABLAS

Tabla 3.1 Codificación de los movimientos a identificar con el aprendizaje...................... 32

Tabla 4.1. Comparación de porcentaje de aciertos en la clasificación de clases y total ...... 39

Page 10: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

1

1 INTRODUCCIÓN

Actualmente el uso creciente de la tecnología, hace que sea necesario crear alternativas de

acceso a ella para ayudar a personas con diferentes grados de discapacidad motora. El

desarrollo de software asociado a estos elementos, tiende a la implementación de interfaces

gráficas (GUI’S) (1) cuyo principal acceso es el cursor controlado por el mouse. Por

consiguiente, crear una interfaz entre este control y un usuario discapacitado es un paso

muy importante para permitir su integración completa al mundo actual y al acceso a

diferentes tecnologías.

Existen distintos tipos de mouse alternativos al tradicional, cuyo desarrollo se centra

principalmente en 3 áreas: el reconocimiento de imágenes de video, el uso de elementos

físicos fáciles de manejar con partes del cuerpo diferentes a las manos y el análisis de

potenciales bioeléctricos (2)(3)(4). Como hay distintos grados de discapacidad, la opción

que brinde más comodidad al usuario debe ser la escogida y en consecuencia hay mucho

campo de acción para todas las soluciones.

En el análisis de potenciales bioeléctricos se usan diferentes técnicas para la

implementación de este tipo de interfaces (electro miografía (EMG), electroencefalografía

(EEG) y Electrooculografía (EOG)). Este trabajo se centra en el análisis EOG y además,

busca incorporar técnicas de clasificación del área de Machine Learning en el proceso. Es

así como, el objetivo principal consiste en desarrollar un sistema de control de mouse por

medio del análisis de señales EOG y la clasificación de las mismas a través de algoritmos

de Boosting Multivariable.

Page 11: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

2

2 PRELIMINARES

2.1. SISTEMA MOTOR OCULAR

2.1.1. ANATOMÍA DEL OJO

El globo ocular es irregularmente esférico, está ligeramente aplanado de arriba a abajo y en

la parte anterior sobresale la córnea trasparente. Su peso oscila entre 7 y 8 gramos y es de

consistencia firme(5). Esta situado dentro de una pirámide muscular en la parte anterior de

la cavidad orbitaria. Tiene 2 partes, la primera está conformada por 3 membranas

concéntricas y la segunda son los medios transparentes y refringentes que encierran estas

membranas.

Figura 2.1 Anatomía del ojo. Imagen tomada de (6)

Las membranas son:

- Membrana externa: Formada por la esclerótica y la córnea. En la esclerótica se

insertan los músculos del ojo, mientras que la córnea permite el paso de la luz

además de sus funciones protectoras.

- Membrana media ó musculo-vascular: Llamada tracto uveal, consta de 3 partes: la

coroides (dos capas de vasos), la zona ciliar (se encarga de la secreción del humor

Page 12: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

3

acuoso y de la acomodación) y el iris (Esta detrás de la cornea, tiene forma circular

y tiene un orificio central y contráctil, la pupila).

- Membrana interna – Retina: Es de naturaleza nerviosa y es en donde se captan las

imágenes por medio de foto receptores y son transportadas por el nervio óptico a los

centros corticales de la visión.

Los medios transparentes y refringentes del ojo son: la cornea, el cristalino, el humor

acuoso y el cuerpo vítreo. El cristalino es una lente biconvexa, esta por detrás del iris y es el

más importante de estos medios. El humor acuoso es un fluido claro que rellena el espacio

existente entre el cristalino y la cara posterior de la córnea. El cuerpo vítreo es una masa

gelatinosa que está colocada por detrás del cristalino y va hasta la retina.

Además de estos, también existen órganos externos que están asociados al funcionamiento

del ojo. Estos órganos aseguran las condiciones óptimas para que el ojo desarrolle sus

funciones y son: los músculos, la cápsula de Tenon, las cejas y los parpados, la conjuntiva y

el aparato lagrimal(7).

2.1.2. MOVILIDAD DEL OJO

2.1.2.1. MÚSCULOS

Existen 7 músculos en la órbita ocular que controlan el movimiento del ojo y los

párpados(5), cuya ubicación se puede apreciar en la Figura 2.2 y funcionalidad se explica a

continuación:

- Recto Superior: Es un aductor elevador (rotador interno), girar al globo del ojo de

manera que la córnea se dirige hacia arriba y un poco hacia adentro.

- Recto Inferior: Es un abductor depresor (rotador externo), moviliza la córnea hacia

abajo y un poco hacia adentro.

- Recto Interno: Es un aductor, lleva el globo ocular hacia adentro.

Page 13: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

4

Figura 2.2 Músculos motores del ojo. Imagen tomada de (6)

- Recto externo: Es un abductor, lleva el globo ocular hacia fuera.

- Oblicuo Superior o Mayor: Es un rotador interno, un depresor y un abductor. Hace

girar al ojo de tal manera que la córnea se dirige hacia abajo y hacia fuera.

- Oblicuo Menor: Es un rotador externo, un elevador y un abductor. Está enrollado

sobre la parte interior del globo ocular y dirige la córnea hacia arriba y hacia afuera.

- Elevador del párpado superior: Es alargado, aplanado y triangular. Este músculo

dirige el movimiento del parpado superior hacia arriba y hacia atrás. La acción de

este musculo es limitada por los fascículos orbitarios.

En la Figura 2.3 Direcciones de movimiento del ojo y músculos asociados a ellas podemos

apreciar los músculos que intervienen en cada dirección de movimiento.

Figura 2.3 Direcciones de movimiento del ojo y músculos asociados a ellas. Imagen tomada de (5)

Page 14: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

5

2.1.2.2. MOVIMIENTOS

Existen tres ejes imaginarios que cruzan el globo ocular (Figura 2.4): el vertical, el

horizontal y el antero posterior. En el eje vertical se dan movimientos de abducción

(separación) y aducción (aproximación) de la córnea hacia la línea media, producidos por

los músculos rectos y oblicuos inferior y superior. Este grupo de músculos también genera

los movimientos en el eje antero posterior, cuyos movimientos son de intorsión y extorsión

y están referenciados al polo superior de la córnea. En el eje horizontal se dan

movimientos hacia arriba y hacia debajo de la parte delantera del ojo y son generados por

los músculos rectos interno y externo. Existe también un movimiento no rotacional que es

la retracción del globo ocular hacia el interior de la órbita.

Figura 2.4 Ejes imaginarios existentes en el ojo. Imagen tomada de (8)

Los movimientos oculares son de 4 tipos(5):

- Movimientos Sacádicos: Son desplazamientos angulares muy rápidos y precisos. Se

producen usualmente para observar con detalle objetos y no requieren de un

estimulo inicial para generarse. Para realizar un movimiento sacádico es necesario

que el cerebro calcule la posición del ojo en la órbita y la del objetivo, de acuerdo a

Page 15: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

6

la diferencia de estas dos medidas se generan órdenes motoras para cada grupo de

moto neuronas oculares.

- Movimientos Reflejos:

o Reflejo Vestibuloocular: Son movimientos que compensan los cambios de

posición lineal y angular de la cabeza para mantener constante el campo visual.

Estos movimientos están limitados porque el rango de movimiento de la cabeza

es mucho mayor que el del ojo, situación que es compensada con un

movimiento rápido (cuando el ojo se encuentra muy lejos del eje central de la

retina) en la misma dirección que el movimiento de la cabeza, que fija un nuevo

blanco visual y es seguido de movimientos lentos compensatorios. El conjunto

de estos dos movimientos se denomina nigstamo vesticular.

o Reflejo Opto cinético: Es un movimiento compensatorio cuando se desplaza

todo el campo visual. Tiene dos componentes, uno rápido en la dirección

contraria al campo visual y uno lento compensatorio en la misma dirección y

velocidad que el campo visual. Estos dos movimientos se denominan nistagmo

opto cinético.

o Reflejo Oculocervical: Es producido por los originados en los músculos del

cuello. Mantiene la vista en un punto fijo a pesar de que la cabeza se mueva.

- Movimientos de Persecución Foveal: Se encargan de conseguir una visión nítida

cuando el objetivo se desplaza sobre el campo visual y la cabeza permanece

inmóvil. Este reflejo se inicia usualmente con un movimiento sacádico para alcanzar

el objetivo y corregir errores de posición entre la imagen del objeto y la fóvea. Los

movimientos de persecución Foveal siguen la velocidad del objeto hasta 80º/s,

cuando esta velocidad es superada se sigue al objeto combinando movimientos

sacádicos de corrección, oculares y cefálicos.

- Sistema de Vergencia: Controla los movimientos lentos desconjugados en los que

los ojos se mueven en direcciones contrarias y permiten fijar los objetos a diferentes

distancias. Los movimientos de vergencia se producen cuando un objeto se aleja

Page 16: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

7

del observador y consisten en la separación del eje antero posterior de ambos ojos.

Los movimientos de convergencia se dan cuando el objeto se acerca al observador.

2.2. DETECCIÓN DE MOVIMIENTOS OCULARES

2.2.1. ELECTROFISIOLOGÍA

La electrofisiología Ocular consiste en la detección y análisis de la respuesta eléctrica de

los ojos y de la corteza occipital y de los músculos extra oculares. Este estudio incluye los

siguientes exámenes(9):

- Electroretinografía (ERG): Es un registro gráfico de la energía eléctrica de la retina

que muestra las respuestas de la actividad metabólica de la retina frente a

estimulaciones lumínicas, multi o monocromáticas, individuales o repetitivas.

- Potenciales visuales (Occipitales evocados (PVE o POE): Es el estudio de la

energía eléctrica en la cisura calcarina del lóbulo occipital. Se realiza por medio de

la aplicación de perturbaciones eléctricas controladas.

- Electromiografía Ocular (EMG): Es la respuesta eléctrica de las fibras musculares

de los músculos extra oculares.

- Electro-Oculografía sensorial (EOG sensorial): Es el registro gráfico de la energía

eléctrica del globo ocular visto como un dipolo. Su objetivo es complementar el

estudio bioeléctrico de la retina frente a la adaptación oscuridad – luz – oscuridad.

- Electro-Oculografía cinética (EOG Cinética): Se obtiene una apreciación directa de

la movilidad ocular mediante la medición de voltajes diferenciales originados en el

dipolo ocular.

Page 17: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

8

2.2.2. ELECTROOCULOGRAFÍA

2.2.2.1. HISTORIA

Emil du Bois-Reymond en 1849 fue el primero en reportar un potencial eléctrico asociado

con el ojo. Él realizo experimentos con peces Tench mediante electrodos no polarizables

conectados a un galvanómetro de Thompson. DuBois mostro que un punto arbitrario en la

superficie del ojo es positivo respecto a la sección transversal del ojo.

Este experimento fue repetido por Dewar y M’Kendrick (1876) y Dewar(1877) usando

diferentes animales. Ellos observaron un cambio en el potencial con la iluminación de la

retina. Holmgren también realizo estudios similares. Estas investigaciones tempranas

notaron la presencia de un potencial continuo (estable) cuando la retina no era iluminada

que se convirtió en la primera señal dependiente de la posición del ojo observada.

Meyers (1929) usando un galvanómetro de cuerda descubrió que los movimientos

verticales podían ser detectados con electrodos arriba y abajo del ojo. Jacobson (1930)

atribuyo las señales EOG a la contracción de los músculos oculares y aunque esta teoría es

errónea, su importancia radica en que él fue el primero en mencionar que la posición del

ojo podía ser obtenida con los ojos cerrados.

Kohlrausch en 1931 estudio el potencial continuo mostrando que en los vertebrados la

cornea es positiva en relación con la retina, mientras que en los invertebrados la parte

anterior del ojo es negativa. Además de esto mostro que la polaridad del potencial es

incrementada por la luz y que bajo ciertas condiciones hay cambios independientes del

potencial continuo y de iluminación.

Hasta ese momento existían 3 teorías respecto al comportamiento del EOG. Unos veían el

origen en la contracción de los músculos, otros pensaban que como los galvanómetros

tenían un flujo de corriente causado por un cambio en la resistencia inter-electrodo y

finalmente otros creían que variaba con el potencial existente entre la cornea y la parte de

atrás del ojo y que el movimiento de los ojo variaba el voltaje medido por los electrodos.

Page 18: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

9

Entre 1935 y 1936 Mowrer demostró que la fuente de la señal EOG era el potencial

continuo existente entre la cornea y la base del ojo con una retina funcionando. El ojo se

comporta entonces como un dipolo que se mueve en un conductor de volumen no

homogéneo (la cabeza) tal como se muestra en la Figura 2.5. Con el uso de dos pares de

electrodos puestos ortogonalmente alrededor del ojo se pueden medir potenciales que son

usados para detectar la dirección de la mirada respecto a la cabeza. La polaridad de este

potencial depende del tipo del ojo y la magnitud aumenta cuando la iluminación aumenta.

(10)

Figura 2.5 Comportamiento del ojo como dipolo. Imagen tomada de (1)

2.2.2.2. METODOLOGÍA Y SEÑALES EOG

En el análisis electrooculográfico se obtiene una valoración de la movilidad ocular

mediante la medición y análisis de voltajes diferenciales alrededor del ojo. Nuestro interés

se centra en los movimientos sacádicos, ya que son los movimientos que se realizan para

observar los objetos con detalle y producen cambios notables en la señal EOG.

Para adquirir la señal electrooculografica se usan 5 electrodos como se muestra en la Figura

2.6. El electrodo A es de referencia, los electrodos B y C toman la señal generada por los

movimientos verticales y los electrodos D y E toman la señal de los movimientos

horizontales.

Page 19: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

10

Figura 2.6 Ubicación electrodos para análisis EOG. Imagen tomada de (1)

Muchos estudios han intentado determinar la relación entre el voltaje del EOG y el ángulo

de mirada. Rafael Barea (5) realizó un amplio estudio acerca de esta señal y de sus

resultados rescatamos los siguientes:

- El valor del EOG varía entre 50 y 3500µV con un rango de frecuencias de DC-35Hz

y tiene un comportamiento lineal para ángulos entre .

- La señal se ve perturbada por otros biopotenciales como pueden ser el EEG, EMG y

las perturbaciones del sistema de adquisición. El EEG y el EMG pueden producir

errores de aproximadamente un grado.

- La forma del EOG para movimientos sacádicos es similar para cualquier persona,

por eso si se usa una normalización de los datos se puede obtener un modelo EOG

universal.

- Los movimientos sacádicos pueden detectarse en función de la derivada del EOG.

2.3. APRENDIZAJE SUPERVISADO Y BOOSTING

2.3.1. APRENDIZAJE SUPERVISADO

El aprendizaje supervisado está fundamentado en una programación por ejemplos, en donde

el algoritmo conoce la respuesta correcta a los patrones de entrada y encuentra una

Page 20: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

11

correspondencia entre ellos, conocida como hipótesis. La hipótesis es una regla de

clasificación que asigna una etiqueta a cada elemento en el espacio de entrada. El objetivo

de esta, no es responder bien a los datos de entrenamiento, sino responder bien a nuevos

datos, por consiguiente, es necesario realizar algún tipo de validación cruzada dividiendo

los datos disponibles en datos de prueba y de entrenamiento. El desempeño de una hipótesis

es evaluado utilizando el error de generalización y el de entrenamiento, con el primero se

mide la capacidad de clasificar bien nuevos datos y con el segundo se mide la capacidad de

clasificar los datos con los que se aprende. Se debe realizar una validación cruzada para

establecer un compromiso entre ambos errores, ya que si el error de entrenamiento se hace

muy pequeño puede existir sobre ajuste a los datos de entrenamiento y no generalizar.

2.3.2. BOOSTING

Para entender el funcionamiento de los algoritmos de boosting es necesario primero definir

los conceptos de Aprendibilidad fuerte y débil.

- Aprendibilidad Débil: Determina la existencia de un algoritmo que retorna una

hipótesis para cualquier distribución sobre los datos, cuyo error es arbitrariamente

cercano a la probabilidad de etiquetar correctamente un dato adivinando (50%).

- Aprendibilidad Fuerte: Determina la existencia de un algoritmo que retorna una

hipótesis para cualquier distribución de datos, cuyo error es arbitrariamente pequeño

con probabilidad mayor a ½.

Los algoritmos de boosting toman un algoritmo débil que busca minimizar el error

empírico y a partir de llamadas iterativas a éste, generan una hipótesis fuerte.

Adaboost [8] es un algoritmo de boosting adaptativo y consiste en la creación de una

hipótesis fuerte a partir de la combinación lineal de las hipótesis débiles. Los parámetros de

esta combinación lineal son modificados en cada iteración de acuerdo al error de

Page 21: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

12

entrenamiento de la hipótesis retornada por el aprendiz débil y de tal forma que en la

siguiente iteración del algoritmo, el objetivo sea aprender los datos en los que se equivocó

la hipótesis anterior. En este caso los errores se hallan respecto a la distribución de la

iteración t y están dados por:

[1]

Figura 2.7 Algoritmo Adaboost

T

tt

t t

t

tt

1tt

t

ititt1t

t

tt

iitDirt

t

1

iim

iii

xhα

αsignxH

12 Ztón.distribuci una sea

D que para iónnormalizac de factor un es Zdonde Z

xhyexp iDiD Actualizar

ε

ε1ln

2

1α Escoger

yxhP :error con h debil hípótesis la Obtener

D óndistribuci la usando debil hipótesis la Entrenar T 1t m

1iD rInicializa

1,-1Y y X, x dondeyx S

1

1

:Salida

Fin

hastaPara

,,:Entrada

AdaBoost

~

Page 22: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

13

3 DISEÑO E IMPLEMENTACIÓN

3.1. ADQUISICIÓN SEÑALES EOG

Un sistema de electrooculografía debe responder a voltajes cuya amplitud está entre 50 y

3500 µV con frecuencias entre 10mHz y 35Hz. La arquitectura del sistema de adquisición

de señales EOG se puede observar en la Figura 3.1. El diseño consta esencialmente de tres

etapas:

- Transductores (Electrodos)

- Acondicionamiento de la señal

- Digitalización y Transmisión a PC

Figura 3.1 Arquitectura del circuito de adquisición de datos EOG

3.1.1. ELECTRODOS SUPERFICIALES

Para captar el electrooculograma se utiliza un conjunto de 5 electrodos superficiales de

acuerdo a la Figura 2.6. En la elección de los electrodos es importante tener en cuenta la

interferencia producida por el contacto electrodo-piel. Esta interferencia es producida

principalmente por dos factores: Los movimientos del electrodo y la impedancia de la

epidermis (capa más externa de la piel)(5).

Page 23: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

14

Los movimientos del electrodo se pueden dar entre el electrodo y el electrolito (Gel

Conductor) ó entre el electrolito y la piel. Estas interferencias, conocidas como motion

artifact, producen fluctuaciones en la señal a frecuencias muy bajas que no se pueden filtrar

ya que contienen un alto grado de información EOG. La forma de evitar esta interferencia

es fijar el electrodo a la piel para evitar cualquier movimiento y usar electrodos que tengan

polarizaciones menores, como los de plata – cloruro de plata (Ag-AgCl)(5).

Los efectos de la impedancia de la epidermis son función de la composición, cantidad de

grasa superficial y densidad de células muertas de la piel(11). Para disminuirlos se suele

eliminar parte de la misma, en los lugares que van a estar debajo de los electrodos.

De acuerdo a esto, se usaron electrodos superficiales autoadhesivos de Ag-AgCl para

electrocardiografía pediátrica de 4 cm de diámetro (Figura 3.2), se limpio la piel con

alcohol (11) antes de ubicarlos y se aplico un gel conductor adicional al que viene con el

electrodo.

Figura 3.2 Electrodos superficiales usados en las mediciones

3.1.2. ACONDICIONAMIENTO DE LA SEÑAL

El acondicionamiento toma las señales biológicas del EOG horizontal y vertical

provenientes de los electrodos, para procesarlas y eliminar la mayor cantidad de ruidos e

interferencias, acentuando al mismo tiempo la información importante. Está conformado

por las siguientes étapas:

Page 24: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

15

3.1.2.1. AMPLIFICACIÓN

Los voltajes dados por los electrodos son del orden de µV, por esto es necesario

amplificarlos para poder analizar y registrar la información en ellos. Para ello, se necesita

tener una etapa de amplificación inicial cuyas características permitan obtener una

ganancia alta y además buena resistencia a ruidos. Los elementos usados en este tipo de

implementación se conocen como amplificadores de instrumentación y se caracterizan por

tener alta impedancia en la entrada (del orden de G ) y baja en la salida (del orden de ),

ganancia estable y fácil de configurar, CMRR alto (mayor a 100 dB) y tensión de offset y

polarización bajas.

El CMRR se conoce como la relación de rechazo común de un amplificador y mide la

capacidad de rechazar las señales comunes a los dos canales (señal en modo común - ruido)

en relación a la preferencia de la señal diferencial en los mismos (12). Se calcula por medio

de la ecuación 1 y es preferible que su valor sea alto, entre más alto mejor.

[2]

Como los potenciales de contacto no son iguales, en la amplificación diferencial la señal

esta superpuesta a un voltaje continuo y al amplificarla, ambos componentes son

amplificados, lo cual reduce la ganancia de esta etapa ya que esta tensión podría saturar el

amplificador.

El amplificador de instrumentación seleccionado para implementar esta amplificación es el

INA128(13), cuyas principales características son:

- Alta Precisión

- Voltaje Offset: 50µV máx.

- Alto CMRR: 120 dB mín.

- Voltaje de alimentación: ±2.25V a ±18V

- Impedancia de entrada: 100G

Page 25: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

16

- BW (-3dB): 20KHz – 1.3MHz, dependiendo de la ganancia.

- Bajo consumo de potencia

La configuración implementada se encuentra en la Figura 3.3 y su ganancia depende del

valor de la resistencia RG según la siguiente expresión:

[3]

Esta ganancia se estableció en 500 con RG = 100 . El voltaje de alimentación es ±9V

producido por 2 pilas de 9V puestas en serie.

Figura 3.3 Configuración Amplificador de Instrumentación INA128. Imagen tomada de (6)

3.1.2.2. AISLAMIENTO

Como el circuito va a estar en contacto directo con el usuario, se implementa una etapa de

aislamiento para protegerlo de posibles descargas eléctricas que puedan atentar contra su

Page 26: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

17

bienestar. Esto se realiza con el amplificador de aislamiento ISO 124, de tal forma que

entre la alimentación de los elementos conectados a los electrodos (Amplificadores de

instrumentación INA 128) y la alimentación del resto del circuito no haya paso de

corriente. Las características del integrado usado son (14):

- Voltaje offset: 20mV

- Impedancia de entrada: 200kΩ

- Alto IMRR: 140dB a 60Hz

- Voltaje de amplificación: ± 4.5 a ± 18V

- Ganancia nominal: 1

- Impedancia de barrera al interior: 1014

Ω.

- Se comporta como un amplificador lineal para frecuencias menores a 250KHz

-

- Figura 3.4 Configuración etapa de aislamiento (ISO 124). Imagen tomada de (7)

La configuración implementada se presenta en la Figura 3.4. En donde VS1 está dado por

dos pilas de 9V en serie y VS2 proviene de una fuente dual con voltaje mayor o igual a 8V,

que es regulada por medio de los integrados LM 7805(15) y LM 7905(16) tal y como

muestra la Figura 3.5.

Page 27: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

18

.

Figura 3.5 Alimentación ±VS2 del circuito después del aislamiento.

3.1.2.3. FILTRAJE

Como ya conocemos el ancho de banda de las señales EOG, se implementa un filtro pasa

banda entre 10mHz y 35Hz conformado por un filtro pasa bajas y un filtro pasa altas, cuyas

frecuencias de corte son los límites de la banda. Este filtraje busca eliminar posibles ruidos

en la señal producidos principalmente por el movimiento de otros músculos cercanos al

globo ocular, la red eléctrica que funciona a 60Hz y la componente continua de la señal. La

función de transferencia de la etapa de filtrado implementada se encuentra en la Figura 3.6.

Figura 3.6 Función de transferencia de la etapa de filtraje pasa banda [10mHz – 35Hz]

Page 28: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

19

Todos los filtros aquí descritos se implementaron con amplificadores de tecnología JFET

TL084, cuyas características son (17):

- CMRR: 80-86 dB

- Baja distorsión de armónicos (0.003%) y compensación de frecuencia.

- Alta impedancia de entrada (1012

Ω)

- Bajo consumo de potencia

- Buena respuesta en frecuencia.

3.1.2.3.1. FILTRO PASA ALTAS

Este filtro se encarga de eliminar las componentes DC de la señal, generadas por la

diferencia de los potenciales de contacto en cada par de electrodos. En esta componente

continua también influyen otros factores como la luminosidad del ambiente, el estado de

ánimo del usuario y los movimientos de cabeza, cuerpo y músculos aledaños.

Se implemento un filtro de segundo orden para 10mHz (Figura 3.7) de acuerdo a las

siguientes ecuaciones:

[4]

[5]

[6]

3.1.2.3.1. FILTRO PASA BAJAS

Este filtro tiene como principal ventaja que gracias a su frecuencia de corte evita el uso de

un filtro Notch (rechaza banda) para eliminar el ruido de la red eléctrica (60Hz). Además de

esto, elimina las interferencias producidas por otros biopotenciales, principalmente por los

electromiográficos (producidos por otros músculos de la cara).

Page 29: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

20

Figura 3.7 Filtro Pasa Altas con frecuencia de corte en 10mHz

Se implemento un filtro Butterworth pasa bajas de orden 4. El orden del filtro busca que en

60Hz exista una buena atenuación y de esta forma se pueda evitar el filtro Notch. En el

diseño se uso la herramienta FilterPro de Texas Instruments, obteniendo la configuración

mostrada en Figura 3.8.

Figura 3.8 Filtro Pasa Bajas con frecuencia de corte en 35Hz.

3.1.2.4. ACONDICIONAMIENTO ADC

Debido a que la señal a la salida de los filtros está centrada en cero, es decir, tiene valores

positivos y negativos, es necesario acondicionarla al rango del conversor análogo digital

Page 30: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

21

que se va a usar. Este ADC solo acepta valores positivos, por eso se hace necesario subir la

señal a la mitad del rango utilizable de los amplificadores TL084. Se encontró que con la

alimentación especificada, estos amplificadores se saturan alrededor de los 4.2V, por

consiguiente se busca subir la señal a 2V. Esto se hace en dos etapas: la primera es un

seguidor de voltaje cuyo objetivo es evitar pérdidas debido a los acoples de impedancias

entre etapas; la segunda es un amplificador sumador no inversor que amplifica la señal 2.5

veces y después le suma 2V. De esta forma, aprovechamos al máximo el rango del ADC

[0,5V] teniendo en cuenta las restricciones puestas por los amplificadores operacionales. La

configuración de ambas partes se encuentra en la Figura 3.9 y la ecuación de diseño del

sumador se presenta a continuación:

[7]

En donde V1 es el voltaje después del seguidor y V2 es el voltaje de alimentación (5V). De

acuerdo a los valores de la Figura 3.9, la ganancia de V1 es 2.5 y la de V2 es 0.416.

Figura 3.9 Acondicionamiento de la señal al rango del ADC.

3.1.3. DIGITALIZACIÓN Y TRANSMISIÓN A PC

3.1.3.1. ADC Y TRANSMISIÓN SERIAL

Para la implementación de esta etapa se utilizo el chip programable PSoC (Mixed- Signal

Array with On-Chip Controller devices) CCY8C27443-24PXI de la compañía Cypress

Page 31: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

22

Semiconductor, él cual fue programado con la ayuda de la herramienta software PSoC

Designer, disponible en forma gratuita en la página Web de la compañía(18). Estos

dispositivos incluyen bloques análogos y digitales configurables para diferentes lógicas, así

como interconexiones programables entre ellos. Su arquitectura (Figura 3.10) permite al

diseñador crear diferentes configuraciones (incluyendo periféricos si es el caso) que se

ajustan a cada aplicación individual (19).

Figura 3.10 Arquitectura familia PSoC CY8C27x4. Imagen tomada de (19)

La herramienta permite elegir los componentes más apropiados de acuerdo a las

especificaciones antes descritas. En la Figura 3.11 se muestran los bloques usados y

después se explica la funcionalidad de los mismos y la configuración implementada.

Figura 3.11 Bloques del PSOC usados en la digitalización de las señales EOG

Page 32: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

23

- Amplificadores de Ganancia Programable (PGA1 y PGA2): Estos módulos se

utilizaron con ganancia unitaria para conectar la señal de entrada al conversor

Análogo-Digital, debido a la distribución interna de los bloques.

- Conversor Dual Análogo-Digital con resolución de 8 bits (DUALADC8): este

modulo permite el escaneo de una señal análoga y la transformación del valor de su

magnitud a una cadena de bits (BYTE). Su principal ventaja es que toma muestras

de dos señales simultáneamente y además puede ser configurado para eliminar altas

frecuencias optimizando el tiempo de integración. La salida puede ser sin signo o

en complemento a 2, la tasa de muestras varía desde 122 a 7600 mps, tiene

múltiples rangos de entrada configurables y su reloj puede ser interno o externo. Se

configuro para tomar 105 muestras por segundo en cada canal.

- UART: Establece la comunicación con el computador en forma serial. Se configuro

la transmisión de datos a 9600 Baudios.

3.1.3.2. ADAPTADOR RS-232

Para cambiar los niveles de la transmisión serial de TTL a los voltajes manejados por el

computador (bus estándar rs-232), se uso el integrado MAX232 en la siguiente

configuración:

Figura 3.12 Configuración MAX 232. Imagen tomada de (20)

Page 33: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

24

3.2. CONSTRUCCIÓN DE LA BASE DE DATOS

Para conformar la base de datos necesaria para el entrenamiento, se implementó una

aplicación en Visual Studio.NET 2005 con VB.net como lenguaje, en la que se

programaron varios protocolos con el objetivo de registrar diferentes movimientos

sacádicos del ojo.

3.2.1. APLICACIÓN

La idea de la prueba es que el usuario, manteniendo la cabeza en el centro de la pantalla y

aproximadamente a 30cm de la misma, siga el movimiento de un indicador y en

determinados momentos realice parpadeos voluntarios. Las señales EOG producidas son

adquiridas por medio del circuito descrito en la sección 3.1 y guardadas en un archivo de

texto generado por la aplicación (Se crea un archivo de texto por cada prueba). Los datos se

guardan en pares vertical-horizontal y a cada par se le asigna un código hecho por el

programa, que corresponde al movimiento que se realiza según el protocolo que se está

corriendo y que será utilizado más adelante para el etiquetamiento de los datos.

En la Figura 3.13 podemos ver la ventana de la aplicación EOG_Mov en la que se ven las

funciones del programa. Cuenta con un menú para seleccionar el puerto serial a utilizar, un

botón de inicio y uno de parada que se encargan de la conexión al puerto y del control de la

prueba. Al oprimir Inicio, se despliega un cuadro para guardar los datos del participante

(Nombre, Edad, Código Identificación). Después de introducir los datos, se cierra este

cuadro y empiezan a correr los diferentes protocolos automáticamente, es decir, el

indicador (circulo en la parte superior izquierda) se empieza a mover por la ventana.

3.2.1. PROTOCOLOS

Se implementaron 10 protocolos buscando cubrir, no sólo la mayor cantidad de direcciones

posibles, sino también varias magnitudes de la longitud del movimiento. En la Figura 3.14

se pueden apreciar los esquemas de los mismos, en donde las figuras cuadradas representan

dos parpadeos voluntarios. Los cambios en el indicador ocurren cada segundo en los

Page 34: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

25

movimientos y cada vez que hay un parpadeo voluntario se espera un segundo antes y

después del mismo. Una toma de datos dura aproximadamente 5 minutos y en ella se corren

todos los protocolos, empezando con los movimientos cortos (Prot. 1, 2, 3, 4), luego los

medios (Prot. 5, 6, 7,8) y finalmente los movimientos largos (Prot. 9 y 10).

Figura 3.13 Aplicación para la toma de la base de datos.

Figura 3.14 Esquema de los 10 protocolos implementados para la toma de datos

Page 35: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

26

3.2.2. TOMA DE DATOS

La toma de datos se realizó con 20 personas entre 21 y 58 años, con ningún tipo de

discapacidad. Esto no representa ningún problema, ya que, como se ha dicho anteriormente,

la forma del EOG es similar en todas las personas y en el caso que en usuarios con alto

grado de discapacidad motora se presente algún tipo de variación considerable en la señal,

el sistema puede ser fácilmente adaptado tomando una nueva base de datos con ellos y

corriendo el algoritmo de entrenamiento con ella. En la Figura 3.1 podemos ver los

resultados de la medición de un participante para los protocolos 5, 6, 7 y 8. Se puede ver

como las señales cambian de nivel cada vez que el ojo varía el ángulo de mirada en la

pantalla y que los parpadeos voluntarios corresponden a los picos más altos de la señal

vertical.

Figura 3.15 Datos adquiridos en una prueba durante la realización de los protocolos de movimientos medios.

(Línea negra delgada: EOG_Vertical; Línea verde gruesa: EOG_Horizontal)

Page 36: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

27

3.3. PREPROCESAMIENTO

Antes de utilizar los datos en cualquier algoritmo de aprendizaje, es necesario extraer de

ellos determinadas características sobre las cuales se va a crear la hipótesis. En este caso,

estamos interesados en detectar los movimientos sacádicos producidos por el ojo y

según(5), una forma de hacerlo es evaluando la derivada de la señal.

El preprocesamiento consiste en:

Figura 3.16 Señal adquirida por la tarjeta de adquisición de señales EOG.

1. Buscando eliminar ruidos producidos por el contacto de los electrodos y los cables

de conexión, el primer paso consiste en promediar la señal de cada canal con

intervalos de 47.61ms (cada 5 datos), obteniendo . El número de datos sobre el

cual se calculó el promedio se estableció de acuerdo a la frecuencia del ruido de la

señal original (ampliación en la Figura 3.16).

Page 37: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

28

Figura 3.17 Señal promediada.

2. Se halla una aproximación a la derivada en cada uno de sus datos por medio de la

ecuación 8, en donde tomamos que representa el tiempo trascurrido

entre 7 datos de . Según podemos apreciar en la ampliación de la Figura 3.17 este

tiempo corresponde a la duración del cambio mínimo que se quiere detectar

(movimientos de los protocolos 1 y 2).

[8]

3. Para hacer más evidentes los cambios, se mide la energía de esta aproximación cada

3 datos conservando el signo, dado que éste es un parámetro importante a la hora de

clasificar.

4. Por último, se escoge la energía de máxima magnitud entre 5 datos consecutivos.

Los valores sobre los cuáles se realizan los pasos 3 y 4 fueron escogidos

experimentalmente, ya que eran con los que se podía condensar más información sin tener

perdidas, en el menor número de datos. En la Figura 3.18 se muestra el protocolo 8 de los

Page 38: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

29

datos presentados en la Figura 3.15, junto con el etiquetamiento realizado gracias a los

códigos guardados durante la ejecución del programa de adquisición.

Figura 3.18 Preprocesamiento del protocolo 7 de los datos presentados en la Figura 3.15. Las flechas en la gráfica de etiquetas indican la dirección del movimiento y la estrella indica un parpadeo voluntario.

Como se quiere detectar el parpadeo voluntario como una clase, es necesario estudiar el

comportamiento de los parpadeos involuntarios. En la Figura 3.19 podemos ver resaltados

este tipo de movimientos. En general, podemos decir que los parpadeos involuntarios tienen

menor magnitud y duración que los voluntarios, por consiguiente su derivada es mucho

menor y al hallar la energía de la señal la diferencia entre ellos se acentúa aun más (última

grafica de la Figura 3.19) haciendo más fácil su diferenciación.

0 5 10 15 20 25

2

3

4

EOGVertical

Pro

medio

0 5 10 15 20 25

-5

0

5

Derivada

0 5 10 15 20 250

5

EOGHorizontal

0 5 10 15 20 25-4

-20

2

4

0 5 10 15 20 25-100

0

100

Energ

íaD

er

0 5 10 15 20 25-40

-200

20

40

0 5 10 15 20 25-100

0

100

Max

En

er

0 5 10 15 20 25-40-20

02040

0 5 10 15 20 25-1

0

1

t [s]

Etiqueta

s

0 5 10 15 20 25-1

0

1

t [s]

Page 39: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

30

Figura 3.19 Comportamiento de los parpadeos involuntarios a través del preprocesamiento.

Después de etiquetar los datos, se dividieron por clases y se repartieron aleatoriamente en

dos grupos, uno para entrenamiento y el otro para evaluación. Cada grupo quedó

conformado con aproximadamente 2500 datos.

3.4. ADABOOST MULTIVARIABLE

3.4.1. ALGORITMOS DE BOOSTING MULTIVARIABLE

Originalmente Adaboost es un algoritmo diseñado para problemas binarios, sin embargo,

existen varios métodos para extenderlo a problemas multivariable. El más simple es

AdaBoost.M1 (21) que es muy similar al caso binario pero con un aprendiz débil

multivariable.

0 5 10 15 20 25 30 35 402

2.5

3

3.5

4

Pro

medio

Preprosesamiento Señal EOGVERTICAL

0 5 10 15 20 25 30 35 40-5

0

5

Derivada

0 5 10 15 20 25 30 35 40

-50

0

50

t [s]

Max.

Energ

Derivada

Page 40: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

31

Existen otras aproximaciones como AdaBoost.MH y AdaBoost.M2 que crean problemas

binarios al comparar las clases entre sí. El primero pregunta para cada muestra y cada clase

posible, si la clase yl es la correcta o lo es alguna de las otras (22). El segundo plantea un

problema binario en el cual una clase es correcta y la otra no es y se pregunta cuál de las

dos clases es la correcta. La hipótesis débil proporciona un conjunto de clases posibles y la

hipótesis combinada escoge la clase que más aparece en estos conjuntos, teniendo en cuenta

que hay conjuntos que pesan más que otros (23).

Así mismo se han propuesto acercamientos usando métodos de codificación de salida, uno

de estos es AdaBoost.MO, una versión de AdaBoost.MH que corre este algoritmo con

etiquetas basadas en una matriz de codificación (código por clase) y modifica la salida de la

hipótesis final midiendo su distancia con los códigos de clase (escoge la clase cuyo código

sea más cercano a la salida) (24). Otro tipo de codificación es la propuesta por Dietterich y

Bakiri’s, conocida como EOCO. Esta codificación es usada en AdaBoost.OC que es un

caso especial de AdaBoost.M2.

3.4.2. IMPLEMENTACIÓN

El objetivo de la implementación de algún algoritmo de boosting multivariable en la

clasificación de señales EOG es tomar los datos bidimensionales entregados por el

preprocesamiento y retornar la dirección del movimiento realizado. Para esto se definen 5

movimientos básicos: arriba, abajo, derecha, izquierda y clic (parpadeo voluntario), cuya

codificación se presenta en la tabla 1.A. Por otro lado, se busca identificar movimientos

diagonales, que corresponden a combinaciones de los movimientos básicos. Estas

direcciones se encuentran codificadas en la tabla 1.B.

Debido a que cada canal de la señal EOG cambia de nivel proporcionalmente a los

movimientos realizados en su respectiva dirección y el valor de su derivada está

directamente relacionado con la magnitud de este cambio (Figura 3.15), se elige como

clasificador débil un separador lineal. Este tipo de funciones corresponden a un problema

binario, por consiguiente descartamos el uso de AdaBoost.M1. Nos queda entonces plantear

la solución creando varios problemas binarios a partir del problema multivariable.

Page 41: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

32

Tabla 3.1 Codificación de los movimientos a identificar con el aprendizaje. En A se presentan los

movimientos básicos y en B los generados por la combinación de los primeros.

El algoritmo débil binario escogido para implementar el clasificador lineal se presenta en la

Figura 3.20. Esta función recibe un vector con los datos ordenados en cada dimensión y un

vector con las etiquetas ordenadas respecto a cada una de las dimensiones. El algoritmo

recorre cada columna de los datos de entrada y evalúa cada hipótesis i en todos los datos

calculando el error pesado (Ecuación 1). Luego compara el error de la hipótesis i, si es

mayor a 0.5 invierte la polaridad de la hipótesis y halla el respectivo error (1-errori).

Después se compara con el menor error hasta el momento y si su valor es inferior a éste, se

guarda la hipótesis i. Las hipótesis i recorren los puntos medios de los datos, es decir, es el

valor medio entre un dato determinado y el dato inmediatamente anterior a él.

Figura 3.20 Algoritmo débil que genera hipótesis pertenecientes a la clase de clasificadores lineales.

outh

Fin

hiph e e

e e Si

Fin 1y no si1;yhip x Si hipótesis la de polaridad la Invertir

)e-(1e 0.5 e Si

,e D) óndistribuci a (respecto hip de pesado error el Evaluar

1y no si1;y hip x Sixtxhip m 1t

0.51xxme rInicializa

Dyx

tout

tmin

mint

iiti

tt

t

tt

iitiantordt

ordantmin

m

iordord

:SalidaFin

hastaPara

,,:Entrada1

Page 42: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

33

Al usar este tipo de clasificador se debe pasar al algoritmo débil cada dato xi con la salida

y(i, l) correspondiente a una columna de la matriz de codificación (Tabla 3.1). De esta

forma, para cada iteración se crean L hipótesis débiles, una en cada dimensión de la salida,

en donde L es el número de dimensiones. Este tipo de razonamiento corresponde a la

pregunta que se hace AdaBoost.MH, ya que al tomar cada columna de Y como una clase,

nos estamos preguntando si la clase Yl es la correcta o si lo es alguna de las otras clases.

Además de esto, este algoritmo sirve para datos que tienen más de una etiqueta, por

consiguiente podríamos reconocer los movimientos diagonales planteados en la Tabla 3.1.B

El seudo código de AdaBoost.MH se presenta en la Figura 3.21.

Figura 3.21 Algoritmo AdaBoost.MH

En los problemas multivariable, la exigencia de exactitud del algoritmo débil es mucho más

alta que en los problemas binarios(23). Al evaluar la hipótesis débil con AdaBoost.MH

intentando maximizar rt, propósito del aprendiz débil (24) para esta aproximación

T

tt

t t

t

t

1tt

t

ittt1t

t

tt

m

i

L

littt

L

1l

lt

1

i

iim

iii

lxhα

αsignlx,H

r-1 Ztón.distribuci una sea

D que para iónnormalizac de factor un es Zdonde Z

lxhliYexp liDliD Actualizar

r-1

r1ln

2

1α Escoger

lxh liYliDr Calcular

xh debil hípótesis la Obtener

D óndistribuci la usando debil hipótesis la Entrenar T 1t mL

1iD rInicializa

Y de Columnas clases de Número :L

Y X, x dondeYx S

1

2

1 1

1

, :Salida

Fin

,,,,

,,,

hastaPara

,,:Entrada

MH.AdaBoost

Page 43: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

34

multivariable, se encontró que el algoritmo débil usado no tiene el nivel de precisión

requerido y por consiguiente el comportamiento del aprendiz fuerte no es el esperado.

Como la hipótesis débil corresponde a la geometría de las señales EOG, se realiza una

adaptación del algoritmo AdaBoost presentado en la Figura 2.7, cuya exigencia a la

hipótesis débil es menor, a la lógica usada por AdaBoost.MH. En esta versión se crea una

distribución D para cada clase de datos y se actualizan los valores de y de acuerdo a

AdaBoost. El resultado es el seudo-código presentado en la Figura 3.22 Algoritmo de

boosting multivariable usado, que corresponde al algoritmo implementado en la

clasificación de las señales EOG.

Figura 3.22 Algoritmo de boosting multivariable usado

Debido a simplicidad de la codificación de clases escogida no es necesario establecer otro

tipo de códigos de salida para implementar los métodos usados en AdaBoost.MO ó

AdaBoost.OC.

T

tt

t t

t

tt

1tt

t

ittt1t

t

tt

iitDirt

lt

1

i

iim

iii

lxhα

αsignlx,H

l12 Ztón.distribuci una sea

D que para iónnormalizac de factor un es Zdonde Z

lxhliYexp liDliD Actualizar

l

l1ln

2

1lα Escoger

yxhPl

:error con xh debil hípótesis la Obtener

D óndistribuci la usando debil hipótesis la Entrenar L 1 l

T 1t m

1liD rInicializa

Y de Columnas clases de Número :L

Y X, x dondeYx S

1

1

, :Salida

FinFin

,,,,

hastaParahastaPara

,

,,:Entrada

~

Page 44: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

35

3.5. MOUSE ELECTROOCULOGRÁFICO BASADO EN

BOOSTING

La solución final del mouse electrooculográfico consta de dos etapas:

Tarjeta de adquisición de señales EOG:

Figura 3.23 Tarjeta de adquisición de señales EOG

Aplicación EOG_mouse:

Figura 3.24 Aplicación implementada para controlar el mouse

El funcionamiento de la tarjeta de adquisición se describe en la sección 3.1 y el desarrollo

de la aplicación EOG_mouse se explica a continuación:

Page 45: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

36

Figura 3.25 Estructura general del software implementado (EOG_mouse)

- RX Serial: Se encarga de la recepción de los datos provenientes de la tarjeta de

adquisición. Organiza los datos en parejas (Medición Vertical, Medición

Horizontal).

- Preprocesamiento de los datos: Consiste en el algoritmo descrito en la sección 3.3

pero en vez de recorrer un vector, procesa secuencialmente los datos entregados

por el modulo 1.

- Hipótesis Boosting: Es la hipótesis combinada obtenida del algoritmo de boosting

implementado (Figura 3.22). La hipótesis se carga al iniciar la aplicación desde

archivos de texto a vectores. Se implementó un algoritmo para evaluar esta

hipótesis con cada par de datos procedentes del preprocesamiento, dando como

resultado un vector con 5 posiciones que representa el movimiento detectado.

- Acciones mouse: En esta etapa se identifican los movimientos realizados usando la

Tabla 3.1 y de acuerdo a ellos se utilizan rutinas basadas en la librería user32 de

Windows, disponibles en Visual Studio y en internet (25), para mover el cursor y

simular el clic. Las rutinas usadas se muestran a continuación:

o Movimiento cursor

xx = Windows.Forms.Cursor.Position

RX SERIAL

PROMEDIO

(De 5 Datos de X)

DERIVADA

(Cada 7 Datos X1)

ENERGÍA _ SIGNO

(De 3 datos de D)

MAXIMA ENER.

(Entre 3 Datos E)

X1X

D

E

PREPROCESAMIENTO

HIPOTESIS

BOOSTINGDECODIFICACION

MOVIMIENTO

5

RUTINAS

MOVIMIENTO

Puerto

Serial

Cursor

ACCIONES MOUSE

RX SERIAL

PROMEDIO

(De 5 Datos de X)

DERIVADA

(Cada 7 Datos X1)

ENERGÍA _ SIGNO

(De 3 datos de D)

MAXIMA ENER.

(Entre 3 Datos E)

X1X

D

E

PREPROCESAMIENTO

HIPOTESIS

BOOSTINGDECODIFICACION

MOVIMIENTO

5

RUTINAS

MOVIMIENTO

Puerto

Serial

Cursor

ACCIONES MOUSE

Page 46: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

37

xx.Y += corrimiento

xx.X -= corrimiento

Windows.Forms.Cursor.Position = xx

o Click

xx = Windows.Forms.Cursor.Position

SetForegroundWindow(WindowFromPoint(xx))

SendMessage(WindowFromPoint(position),Button.WM_LBUTTONDOWN,0, 0)

SendMessage(WindowFromPoint(position), Button.WM_LBUTTONUP, 0, 0)

Page 47: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

38

4 RESULTADOS

El algoritmo de boosting multivariable escogido en la sección 3.4.2 se corrió inicialmente

100 veces obteniendo los resultados de las Figuras Figura 4.1 y Figura 4.2. En la Figura

4.1se realiza la comparación del error de entrenamiento y generalización en cada clase por

separado. Podemos ver que en general, no hay ninguna clase que sea más difícil de

aprender que la otra, ya que todas llegan a errores muy bajos a medida que aumenta el

número de iteraciones. La clase con más precisión en generalización es la 5 (99.76%), lo

cual tiene sentido, ya que el comportamiento de sus valores es diferente al resto.

Figura 4.1 Errores de entrenamiento y generalización de cada clase para 100 iteraciones

En la Figura 4.2 se puede apreciar el comportamiento del error total. Este error, se evalúa

comparando el vector conformado por la respuesta de la hipótesis final de cada clase, con el

vector completo de Y. El error decrece aproximadamente en forma exponencial, principal

característica de los algoritmos basados en AdaBoost, ya que a medida que aumentan las

iteraciones la hipótesis final se vuelve más fuerte. Aunque el error de entrenamiento no

10 20 30 40 50 60 70 80 90 100

0.01

0.02

0.03

Errores de entrenamiento y generalización para cada clase

Cla

se 1

AR

R

0 10 20 30 40 50 60 70 80 90 1000.008

0.01

0.012

Cla

se 2

AB

0 10 20 30 40 50 60 70 80 90 1000

0.05

Cla

se 3

DER

0 10 20 30 40 50 60 70 80 90 1000

0.02

0.04

Cla

se 4

IZQ

0 10 20 30 40 50 60 70 80 90 1000

0.01

0.02

Iteraciones

Cla

se 5

CLIC

K

errEntr.

errGen

Page 48: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

39

llego a cero, si llego a un valor muy bajo (3.4%), mientras que el error de generalización

llego al 4.59%.

Figura 4.2 Errores de entrenamiento y generalización totales para 100 iteraciones

En la Tabla 4.1 se presenta una comparación entre la precisión de cada clase y del

clasificador total para 100 iteraciones. Como se puede apreciar los resultados son bastantes

buenos, considerando que 100 es un número bajo con relación al número de entrenamientos

que se suelen hacerse en boosting (500-1000). Esto evidencia que el algoritmo débil

presenta muy buenos resultados cuando se usa para minimizar el error pesado, que son

potencializados por la aplicación del boosting.

Clases

Aciertos 1 2 3 4 5 Total

Ent. [%] 98.56 99.15 98.92 98.74 99.77 96.55

Gen.[%] 98.08 99.10 98.68 91.61 99.76 95.41

Tabla 4.1. Comparación de porcentaje de aciertos en la clasificación de clases y total

0 10 20 30 40 50 60 70 80 90 1000.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12Error de entrenamiento y generalización Total

Iteración

ErrorGen.

ErrorEnt.

Page 49: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

40

En la Figura 4.3 se presentan los resultados para 500 iteraciones del algoritmo de boosting

implementado. Podemos ver que el punto mínimo de ambos errores se da en 271

iteraciones (4.2% para generalización y 2.96% para entrenamiento), a partir de este valor,

aunque el error de entrenamiento sigue decreciendo, el de generalización empieza aumentar

lo cual indica que las hipótesis combinadas resultantes se sobre ajustan a los datos. De

acuerdo a la validación cruzada descrita, se escoge como hipótesis combinada final la

lograda en la iteración 271.

Figura 4.3 Errores de entrenamiento y generalización totales para 500 iteraciones.

Aunque hay varias aplicaciones de este tipo y diferentes estudios en torno al tema, muy

pocos dan claridad acerca de los métodos de clasificación usados y más aún, de la

efectividad porcentual de los mismos en una base de datos considerable. Al comparar los

resultados descritos anteriormente, con la implementación de un mouse que usa señales

EMG y redes neuronales (11) que reporta errores inferiores al 5%, se observa que el

sistema de clasificación implementado es altamente competitivo.

0 50 100 150 200 250 300 350 400 450 5000.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

X: 271

Y: 0.02966

Error de entrenamiento y generalización totales para 500 iteraciones

Iteraciones

X: 271

Y: 0.042

errGen

errEnt

Page 50: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

41

5 CONCLUSIONES

En este trabajo se desarrolló un prototipo de control de mouse como una forma alternativa

de acceder a diferentes tecnologías orientada a usuarios discapacitados, que busca mejorar

su capacidad para desenvolverse libremente en el mundo actual.

En el desarrollo del sistema de control propuesto, se analizaron características importantes

de las señales EOG y los requerimientos necesarios para desarrollar un adecuado hardware

e instrumentación (electrodos) que permitan su digitalización. Además de esto, se realizó

un nuevo acercamiento al análisis EOG, partiendo de algoritmos de boosting multivariable

para la clasificación de las señales.

El preprocesamiento de los datos logró no sólo identificar los movimientos sacádicos sino

también condensar su información en muy pocos datos, de tal forma que se pudo asociar

muy pocos datos a un solo movimiento, sin perder mucha información en el proceso.

El algoritmo de Boosting Multivariable implementado permitió encontrar una hipótesis

buena, que no se sobre ajusta a los datos y permite tener generalización. Además, debido a

la codificación elegida se pueden tomar las salidas directas de la hipótesis y mediante ellas

generar los comandos de movimiento del cursor, sin necesidad de decodificarlas con otro

algoritmo.

AdaBoost.MH y en general los algoritmos de boosting multivariable requieren una

hipótesis débil con una precisión considerable para clasificar con éxito señales EOG.

Page 51: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

42

En comparación con otros acercamientos al tema, la solución propuesta en este trabajo es

altamente competitiva.

Quedan planteados como trabajos futuros la implementación del resto de funciones de un

mouse convencional, además del diseño de algún tipo de máscara que haga más amigable la

interacción del usuario con el control. También hay que realizar pruebas de validación

adicionales con un grupo considerable de personas, preferiblemente que presenten algún

tipo de discapacidad. Desde el punto de vista del aprendizaje, se puede buscar implementar

AdaBoost.MH u otro algoritmo multivariable de los aquí presentados, con diferentes

hipótesis débiles que aseguren su funcionamiento y así poder comparar el funcionamiento

de los diferentes algoritmos en la clasificación de señales EOG.

Page 52: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

43

6 BIBLIOGRAFÍA

1. Barea, Rafael y Otros. Diseño de un ratón electrooculográfico para el control de

Interfaces Gráficos. [En línea] http://www.depeca.uah.es/personal/barea/-

electrooculografia/saaei00_raton.pdf.

2. Gips, James y otros. Eagle Eyes Project - Boston College. [En línea] http://www.-

bc.edu/schools/csom/eagleeyes/contact.html.

3. Gips, James y Betke, Margrit. CameraMouse.org. [En línea] http://www.camera-

mouse.org/index.html.

4. Technologies, Brain Actuated. Cyberlink - Brainfingers: Hands-free Computer Access

Solution. [En línea] http://www.brainfingers.com/.

5. Barea Navarro, Rafael. Interfaz Usuario-Maquina basado en electrooculografía.

Aplicación a la movilidad. Universidad de Alcalá. Madrid, España : s.n., 2001. Tesis

Doctoral. Disponible en: http://www.depeca.uah.es/personal/barea/tesis/tesis.htm.

6. Microsoft corporation. Enciclopedia Microsoft Encarta 2007.

7. Cadena Camacho, Dario. Manual de Anatomía Humana. Bogota, Colombia : s.n., 1984.

Vol. 2.

8. Kaufman, Paul. Adle's physiology of the eye: clinical application. St. Louis. Mo :

Mosby : s.n., 2003.

9. Rodriguez Vásquez, Francisco y Arenas Archila, Eduardo. Oftalmología básica. 2. s.l. :

Sociedad Colombiana de Oftalmología, 199.

10. Geddes, Leslie Alexander. Principles of applied biomedical instrumentation. New

York : John Wiley & Sons, 1975.

Page 53: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

44

11. Huertas, Zulma Y. Sistema de control de mouse mediante señales electromiográficas

faciales. Universidad de los Andes, Colombia. 2007. Tesis Maestría.

12. Sedra, Adel y Smith, Kenneth. Microelectronic Circuits. New York : Oxford University

Press, 2004. pág. 81.

13. Burr-Brown. Datasheet INA 128. [En línea] http://www.ortodoxism.ro/-

datasheets/BurrBrown/mXrttty.pdf.

14. Burr-Brown. Datasheet ISO 124. [En línea] http://www.ortodoxism.ro/-

datasheets/BurrBrown/mXtwuxx.pdf.

15. Fairchild Semiconductor. Datasheet LM7805. [En línea] http://www.ortodoxism.ro/-

datasheets/fairchild/LM7805.pdf.

16. National Semiconductor. Datasheet LM7905. [En línea] http://www.national.com/-

mpf/LM/LM7905.html.

17. Texas Instruments. Datasheet TL084. [En línea] http://www.ortodoxism.ro/-

datasheets/texasinstruments/tl084.pdf.

18. Cypress Semiconductor. [En línea] http://www.cypress.com/.

19. Cypress Semiconductor. Datasheet PSoC CY8C27443,. [En línea] http://www.cy-

press.com/products/index.jsp?fid=24&rpn=CY8C27443.

20. Carletti, Eduardo. Comunicación MAX 232 Conversor TTL - RS232 - Robots

Argentina. [En línea] http://robots-argentina.com.ar/Comunicacion_max232.htm.

21. Freund, Yoav y Schapire, Robert E. A decision theoretoc generalization of on-line

learning and a application to boosting. Journal of Computer and System Sciences. 1997,

Vol. 55, 1, págs. 119-139.

22. Schapire, Robert E. A Brieft Introduction to Boosting. Proceeding of the Sixteenth

International Join Conference on Artificial Intelligence. 199.

Page 54: CONTROL DE MOUSE A TRAVÉS DE SEÑALES EOG Y …

45

23. Schapire, Robert E. Using Output code to boost multiclass learning problems. Machine

Learning: Proceedings of the Fourteenth International Conference. 1997, págs. 313-312.

24. Schapire, Robert E y Singer, Yoram. Improved boosting algorithms using confidence-

rated predictions. Machine Learning. 1999, Vol. 37, 297-336.

25. Los foros del Guille. [En línea] http://foros.elguille.info/Mensajes.aspx?ID=22261.