• No se han encontrado resultados

Diseño y desarrollo de prototipo de habitación hospitalaria interactiva con Kinect

N/A
N/A
Protected

Academic year: 2020

Share "Diseño y desarrollo de prototipo de habitación hospitalaria interactiva con Kinect"

Copied!
90
0
0

Texto completo

(1)

Maestr´ıa en Ingenier´ıa de Sistemas y Computaci´

on

Facultad de Ingenier´ıa

Dise˜

no y Desarrollo de Prototipo de Habitaci´

on

Hospitalaria Interactiva con Kinect

TESIS QUE PRESENTA:

Juli´an Esteban Arcos Argoty

PARA OBTENER EL T´ITULO DE Magister en Ingenier´ıa de Sistemas y

Computaci´on

DIRECTOR DE TESIS: Ph.D. Pablo A. Figueroa Forero

(2)

ii

Agradecimientos

Agradezco de manera formal a la Universidad de los Andes quien fue part´ıcipe de mi

segunda etapa de desarrollo profesional a trav´es de la carrera de Maestr´ıa en Ingenier´ıa

de Sistemas y Computaci´on. La formaci´on recibida ha sido de la m´as alta calidad

acad´emica y personal.

Un agradecimiento a mis tutores y evaluadores quienes sin su apoyo y consejos este

proyecto no se hubiera podido convertir en realidad: Pablo Figueroa, Henry Gallardo,

Juan Carlos Brice˜no, Tiberio Hern´andez y Pilar Navas.

Tambi´en a mi familia, compa˜neros de clase y al grupo IMAGINE que estuvieron en

(3)

Resumen

Una visita hospitalaria puede generar varios sentimientos negativos, en donde se

incluyen ansiedad y falta de confort por parte de los pacientes.

El presente trabajo hace uso del dise˜no de interacciones y del dise˜no centrado en

el usuario para indigar sobre sus requerimientos y necesidades en la consecuci´on de

la creaci´on de una habitaci´on interactiva con un dispositivo de interacci´on natural

-Kinect, que pueda reducir los sentimientos descritos previamente.

Esto permitir´a que las personas utilicen su voz y una serie de gestos corporales para

controlar los elementos b´asicos del mobiliario de una habitaci´on hospitalaria, haciendo

de su estad´ıa una experiencia diferente, m´as c´omoda y m´as aut´onoma.

Los prototipos desarrollados fueron evaluados por personas que podr´ıan ser

usuar-ios potenciales de esta aplicaci´on, obteniendo resultados prometedores tanto en el

(4)

iv

Abstract

When patients visit hospitals, they tend to develop negative feelings such as anxiety

and lack of comfort.

This thesis uses the techniques of Interaction Design and User-Centered Design

with the main objective to ask users about their needs and requirements to develop

an interactive hospital room with a natural interaction device like Kinect, so we could

achieve a reduction on those negative feelings described previously.

This will allow that people could use their voices and a set of body gestures to

control basic devices that could be find in a hospital room, making the hospitalization

process a different, more comfortable and with more autonomy.

Prototypes were developed and evaluated into two stages by people that could use

the application potentially. The results show that people agree to use this form of

(5)

´

Indice General

Agradecimientos ii

Resumen iii

Abstract iv

´Indice General v

´Indice de Tablas ix

´Indice de Figuras xi

1 Introducci´on 1

1.1 Contexto y caracterizaci´on del problema . . . 1

1.2 Formulaci´on del Problema . . . 2

1.3 Justificaci´on . . . 3

1.4 Objetivos . . . 4

1.4.1 Objetivo General . . . 4

1.4.2 Objetivos Espec´ıficos . . . 4

2 Marco Contextual 5 2.1 Trabajo Previo . . . 5

3 Marco Te´orico 9 3.1 Dise˜no de Interacciones . . . 9

3.1.1 Enfoque Centrado en el Usuario . . . 9

(6)

vi ´INDICE GENERAL

3.2 Objetivos de usabilidad . . . 10

3.3 Tipos de interfaces naturales . . . 12

3.3.1 Interfaces de Voz . . . 12

3.3.2 Interfaces Basadas en Gestos . . . 13

3.3.3 Interfaces Multimodales . . . 13

3.4 Dispositivo Kinect . . . 14

3.5 Uso del arreglo de micr´ofonos del Kinect . . . 16

3.5.1 La arquitectura del SDK de Kinect para Audio . . . 16

3.5.2 El arreglo de micr´ofonos de Kinect . . . 18

3.5.3 Procesamiento de audio en el Kinect . . . 19

3.5.4 Procesamiento de los datos de audio . . . 20

3.5.5 Nivel de Confianza . . . 21

3.6 Reconocimiento de Voz . . . 21

3.6.1 Como funciona el reconocimiento de voz . . . 21

3.7 Construcci´on de Aplicaciones Controladas por Gestos . . . 24

3.7.1 Qu´e es un Gesto . . . 24

3.7.2 Enfoques para el reconocimiento de Gestos . . . 25

3.7.3 Reconocimiento de Gestos B´asicos . . . 26

3.7.4 Calcular la distancia entre dos articulaciones . . . 28

4 Metodolog´ıa 31 4.1 Levantamiento de requerimientos y necesidades . . . 31

4.1.1 Dise˜no para el Desarrollo y Evaluaci´on de Prototipos . . . 33

4.2 Fase II . . . 33

4.3 Fase III . . . 33

5 Descripci´on Experimento No. 1 35 5.1 Estrategia de Evaluaci´on . . . 35

6 Resultados Experimento No. 1 41 6.1 Reconocimiento de Palabras . . . 41

(7)

7 Descripci´on Experimento No. 2 45

7.1 Estrategia de Evaluaci´on . . . 45

8 Resultados Experimento No. 2 51 8.1 Descripci´on y Resultados . . . 51

9 Conclusiones y Trabajo Futuro 59 9.1 Conclusiones. . . 60

9.2 Trabajo futuro . . . 61

9.2.1 A corto plazo . . . 61

9.2.2 A largo plazo . . . 61

A Protocolo de TV LG [11] 63

B Protocolo de Usuario 69

(8)
(9)

´

Indice de Tablas

7.1 Lista de tareas que se pueden realizar con comandos de voz . . . 47

7.2 Lista de tareas que se pueden realizar con comandos por gestos. . . 48

7.3 Lista de tareas a realizar de forma libre . . . 49

(10)
(11)

´

Indice de Figuras

3.1 El dispositivo Kinect de Microsoft [13]. . . 14

3.2 Una muestra de una imagen tomada con la c´amara RGB [13]. . . 15

3.3 Una proyecci´on de la matriz de puntos en Infrarojo [13]. . . 15

3.4 Diagrama de flujo de la distribuci´on de las aplicaciones desde los micr´ofonos de Kinect hasta su aplicaci´on [16]. . . 17

3.5 Imagen de la descripci´on de la distancia entre micr´ofonos del circuito de Kinect [16]. . . 19

3.6 Descripci´on del modelo ac´ustico que realiza Kinect para reconocer voz [16]. . . 23

3.7 Diagrama del nivel de interacci´on entre los usuarios y la aplicaci´on [16]. 26

3.8 Ubicaci´on de los ejes corporales que usa Kinect [16]. . . 27

3.9 Diagrama utilizado para ilustrar el ejemplo del teorema para calcular la distancia entre dos puntos [16]. . . 28

5.1 Montaje del prototipo de la habitaci´on realizado en condiciones de lab-oratorio. En la parte superior de la imagen se observa la disposici´on del Kinect y en la parte inferior un computador port´atil para indicar los resultados de Voz. . . 36

5.2 La figura muestra el ejemplo de la ejecuci´on del gesto de llevar la mano izquierda hacia la izquierda. Se ense˜na el esquema de distancia que sigue el sistema. . . 38

(12)

xii ´INDICE DE FIGURAS

5.3 Montaje de la combinaci´on de Kinect con Arduino Leonardo y LED, registradas con una c´amara de 60fps. En la imagen de la izquierda se observa la aplicaci´on esperando el comando, y en la imagen de la derecha el LED queda completamente encendido. . . 39

6.1 N´umero de palabras reconocidas positivamente (azul) vs. falsos positivos (rojo). Se observa su tendencia positiva en la gran cantidad de palabras reconocidas con ´exito . . . 42

6.2 Nivel de confianza para el reconocimiento de cada una de las 7 palabras. Cinco de las siete palabras poseen un nivel de confianza superior a 0.90. Las dos restantes se encuentran alrededor de 0.87 lo cual se considera un buen nivel de confianza en reconocimiento. . . 43

6.3 Nivel de reconocimiento para los 6 gestos. Se observa su tendencia posi-tiva al reconocer eficientemente la mayor´ıa de los gestos ejecutados. . . 44

8.1 Imagen de la interfaz de la aplicaci´on. El dise˜no muestra un men´u de ayuda que se encuentra activo en una entrada de video del televisor. . . 52

8.2 Montaje de la combinaci´on del televisor controlado interactivamente a trav´es del Kinect. Estos controles se realizan con comandos de voz y gestos corporales. . . 53

8.3 Captura de pantalla de una de las pruebas realizadas a una de las per-sonas que particip´o en la evaluaci´on. . . 54

8.4 Resultados de como fueron activados los comandos del televisor. Se observa la tendencia de que se realizan mayores comandos de voz que de gestos, excepto en la ´ultima funci´on de prender y apagar el televisor. . 55

8.5 Resultados del nivel de confianza de los comandos de voz. En este caso se manifiesta la fiabilidad del sistema en reconocer con un alto nivel de confianza las frases utilizadas. . . 56

8.6 Resultados de reconocimiento y no reconocimiento de los comandos de voz. Se observa una tendencia a un reconocimiento positivo en color azul, lo que indica la baja tasa de error del nuestra aplicaci´on. . . 56

(13)

8.7 Resultados de reconocimiento y no reconocimiento de los gestos. Las per-sonas que participaron en la evaluaci´on tambi´en tuvieron un alto grado de ´exito al ejecutar las funciones con un alto grado de recocimiento positivo. 57

8.8 Evaluaci´on de la forma en la que desarrollaron las tareas. En color azul y con un valor de 59%, la forma de interacci´on m´as utilizada fue la de la combinaci´on Voz+Voz. . . 58

8.9 Resultados de las pruebas cualitativas siguiendo la escala Likert. Pun-tajes de 1 son negativos y de 7 son positivos. Se nota cierta tendencia de que los valores superan la barrera de 5.0, lo cual se considera que las calificaciones fueron positivas. . . 58

(14)

Cap´ıtulo 1

Introducci´

on

1.1

Contexto y caracterizaci´

on del problema

El grado de satisfacci´on en t´erminos del confort que reflejan los visitantes a un hospital,

ha sido el objeto de estudio de Baker et al., (2000). ´El encontr´o que las personas que

visitan estos lugares no se encuentran del todo satisfechas debido principalmente, a

la falta de comunicaci´on al momento de tomar decisiones m´edicas entre el personal

asistencial y los pacientes. Esto provoca una disminuci´on considerable en percepci´on

de confort de las personas [1, 3].

Esto concuerda con el reporte hecho por Karlsson et al., (1995) quien narra sobre la

alta prevalencia de s´ıntomas como depresi´on, ansiedad y estr´es en pacientes que visitan

frecuentemente cl´ınicas y hospitales [15, 17].

Por ejemplo, Derogatis et al., (1983) [8] report´o que casi la mitad de pacientes de c´ancer ambulatorios quienes hab´ıan sido admitidos en tres centros diferentes, hab´ıan

desarrollado alg´un tipo de desorden no-psiqui´atrico, principalmente depresi´on. De

man-era similar, la depresi´on ha sido identificada como un factor de riesgo que puede llegar

a aumentar la morbilidad en pacientes que se recuperan de un infarto al miocardio

agudo [8, 15, 17]. De esta manera, los m´edicos tienden a subestimar el grado de estr´es que pueden a llegar a presentar los pacientes haciendo que los tratamientos resulten

inadecuados en ocasiones [15].

(15)

Por otra parte, a los hospitales se les ha otorgado el inc´omodo t´ıtulo de ser un lugar

poco placentero para visitar, tal y como asegura Shelley Taylor (1979) [28]. La principal raz´on radica en que los hospitales crean un ambiente de despersonalizaci´on, que obliga

al paciente a renunciar al control de su autonom´ıa e independencia para realizar sus

tareas diarias. Taylor reporta que cuando esto sucede, los pacientes tienden a

depen-der de sus acompa˜nantes o de otros m´etodos como asumir roles de comportamientos

de ”buenos pacientes” o ”malos pacientes” [28]. Los primeros pueden llegar a obtener cierto tipo de privilegios que har´an m´as llevadera su estad´ıa, mientras que los

segun-dos experimentar´an ciertas incomodidades durante su recuperaci´on. Sin embargo, una

revisi´on de esos patrones de aquellos ”buenos pacientes” puede deberse a un estado

de ansiedad o b´usqueda de ayuda por depresi´on, mientras que los ”malos pacientes”

pueden llegar a exhibir inconformidad ante una remoci´on temporal de sus libertades

[28]. Este tipo de conductas que se han identificado en algunos estudios, confirma lo planteado por Taylor al se˜nalar que no es agradable visitar a un hospital.

Sumado a lo anterior, Mumford et al., (1982) reporta un conjunto de estudios que

demuestran que personas que fueron identificadas como depresivas y temerosas antes

de una intervenci´on quir´urgica, tienden a empeorar y aumentar sus tiempos de

re-cuperaci´on en aproximadamente dos d´ıas m´as en comparaci´on a quienes tuvieron un

mayor acompa˜namiento por parte del personal asistencial. [22]

Es por esto que el inter´es de mejorar el estado de ´animo del paciente a trav´es de

la recuperaci´on de su autonom´ıa para desarrollar tareas, es el gran objetivo que se

pretende alcanzar en este estudio.

1.2

Formulaci´

on del Problema

Este trabajo hace parte de un proyecto de expansi´on de la Fundaci´on Santa Fe de Bogot´a

se busca la construcci´on de nuevas habitaciones que puedan proveer un mayor grado

de autonom´ıa y confort a los pacientes que deban permanecer en parcial o completo

reposo.

(16)

1.3. JUSTIFICACI ´ON 3 dispositivo o herramienta a un paciente hospitalizado para que alcance un mayor grado

de autonom´ıa y confort sin comprometer su proceso de recuperaci´on?

1.3

Justificaci´

on

Una de las razones fundamentales para desarrollar este proyecto, es que generalmente

los pacientes hospitalizados deben mantenerse en parcial o completo reposo, lo que

gen-era malestar por la dependencia bajo la cual se encuentran sometidos al ver limitada

su movilidad y su autonom´ıa. Los estudios previamente introducidos en la

contextual-izaci´on del problema [15, 17, 22, 24, 28], mostraron que el grado de ansiedad que las personas presentan cuando visitan un hospital es elevado, ya que se hace una asociaci´on

entre la p´erdida de autonom´ıa y el acto quir´urgico al que uno ser´a sometido. Ese grado

de ansiedad tambi´en se puede ver reflejado en la falta de confort que pueden a llegar

a presentar algunos hospitales, lo cual es algo que se puede ver como un objeto

difer-enciador entre instituciones [1]. El uso de sensores de movimiento o de reconocimiento de voz, pueden abrirles una nueva opci´on para ser m´as aut´onomos y poder realizar

m´ultiples actividades de forma natural y segura sin necesidad de desplazarse. Estas

actividades incluir´ıan algunas funciones b´asicas como por ejemplo prender y apagar las

luces, abrir y cerrar cortinas, operar el timbre de llamado de enfermer´ıa, controlar las

funciones principales del televisor de la habitaci´on entre otras. O algunas m´as

avan-zadas a futuro como por ejemplo operar las diversas funciones para cambio de posici´on

de la cama hospitalaria, realizar y recibir llamadas telef´onicas y video llamadas, acceder

a informaci´on y noticias en Internet, controlar la temperatura de la habitaci´on, entre

otras actividades.

Adem´as de darle actividad y libertad al paciente, este servicio les podr´ıa generar una

percepci´on de confort al sentirse inmersos en lo que podr´ıa ser llamada una habitaci´on

inteligente. Todo esto tendr´a como fin mejorar la calidad del servicio hospitalario al

hacer de su estad´ıa una experiencia m´as agradable.

Es por esto, que nuestro objetivo es desarrollar un proyecto que permita aplicar

(17)

del personal m´edico como para los pacientes, con el fin de proveer una alternativa de

interacci´on entre el usuario y el hospital, reduciendo esa ansiedad y aburrimiento que se

tiene al visitar un hospital. Para comenzar, se pretende implementar esta tecnolog´ıa a

manera de prototipo que podr´ıa ser utilizado en el modelo de habitaciones hospitalarias

de la nueva unidad de la Fundaci´on Santa Fe de Bogot´a.

1.4

Objetivos

1.4.1

Objetivo General

Dise˜no e implementaci´on un prototipo de una herramienta interactiva mediante el uso

de interfaces de interacci´on natural (Kinect), para su aplicaci´on en ambientes de

habita-ciones hospitalarias.

1.4.2

Objetivos Espec´ıficos

• Enumerar un conjunto de requerimientos seg´un las especificaciones de los

intere-sados en el proyecto (stakeholders), para convertirlos en funciones.

• Desarrollar un conjunto de aplicaciones utilizando un sensor de interacci´on natural (Kinect) utilizando voz y gestos.

• Realizar una evaluaci´on de viabilidad del dispositivo a utilizar y especificar el grado de utilidad que puede llegar a tener seg´un la restricci´on tecnol´ogica.

• Dise˜nar un protocolo de uso de las aplicaciones dise˜nadas para el dispositivo de

interacci´on natural (Kinect).

• Aplicar en algunas personas o pacientes hospitalarios, el protocolo de pruebas de usuario del prototipo desarrollado.

(18)

Cap´ıtulo 2

Marco Contextual

2.1

Trabajo Previo

La dom´otica es un conjunto de sistemas que son capaces de automatizar una vivienda

aportando bienestar, confort y seguridad. Algunas corporaciones han desarrollado

pro-totipos intentando imaginar un hogar inteligente, conectado a m´ultiples dispositivos

para controlar de forma remota las luces, c´amaras y cerraduras, as´ı como tambi´en el

ajuste autom´atico de estas variables dependiendo de los factores ambientales externos

para hacer del hogar una experiencia agradable, f´acil y sencilla. Sin embargo, dotar un

espacio con esta caracter´ısticas es un importante reto tecnol´ogico y financiero, ya que

cada uno de estos dispositivos puede llegar a costar entre (USD)50−100 [9].

El inter´es de la automatizaci´on de hogares ha permitido la creaci´on de interfaces

usando dispositivos de control y dispositivos humano-computador para ayudar a las

personas en sus actividades diarias. Sin embargo, no hay reportes claros de que este

tipo de dispositivos hayan sido utilizados espec´ıficamente en habitaciones hospitalarias.

Mauri et al., (2006) [19], propone una soluci´on basada en Visi´on de Computadores para algunas personas con par´alisis y discapacidades motoras de orden neurol´ogico.

Estas personas poseen ciertas dificultades al momento de realizar una interacci´on con

dispositivos como controles remotos, controles de enfermer´ıa, botones de l´amparas o de

interacci´on cl´asica a trav´es de teclados y ratones para hablar de computadores de

man-era espec´ıfica [19]. Tambi´en propone y demuestra que hay soluciones interactivas para

(19)

personas en situaci´on de discapacidad y con limitaciones motoras como es el caso de las

personas hospitalizadas. La forma en la que Mauri plantea este modelo de interacci´on

a distancia, es a trav´es del reconocimiento de objetos o dispositivos similares a unos

apuntadores que se ajustan alrededor de la cabeza para ejecutar acciones que est´an

fuera del alcance del sujeto de forma no tradicional y as´ı puedan recuperar el hecho de

realizar distintas funciones por su propia cuenta. En el primer caso del reconocimiento

de objetos, implica el hacer uso de una c´amara conectada a un computador para que

cada vez que encuentre el patr´on configurado se desplieguen las funciones para las que

hab´ıan sido configurados [19]. Este trabajo hace el aporte de acercar a personas con discapacidades a usar herramientas computacionales. Los impedimentos asociados a

limitaciones motoras pueden llegar a desencadenar algunos sentimientos de estr´es,

de-presi´on y frustraci´on al no poder realizar algunas tareas que se consideran triviales.

Existe tambi´en un trabajo que concluye en que existe una relaci´on directa entre la

depresi´on y las discapacidades motoras y de orden neurol´ogico [2]. Aunque esto es un importante avance al querer incluir a esta poblaci´o´on con esta alternativa, el hecho de

usar un elemento adicional ya sea un objeto u otro dispositivo, hace que la persona no

sienta que esta interactuando de forma natural con su cuerpo ni su voz.

El proyecto realizado por Posada-G´omez et al., (2012) tuvo como su principal

ob-jetivo ayudarle a una poblaci´on que identifican como discapacitada mediante el uso de

un Kinect aplicado en el hogar, que hiciera un cierto tipo de tareas que el paciente

inmovilizado no era capaz de cumplir por su propia cuenta [25]. Este ´ultimo trabajo de Posada-G´omez, abre la puerta al potencial de Kinect como dispositivo de entrada para

realizar controles de una habitaci´on hospitalaria y poderle brindar a esa autonom´ıa

limitada una alternativa adicional, a diferencia de ahora en donde el paciente se somete

a la total dependencia de un tercero o de sus acompa˜nantes cuando visita una cl´ınica.

Sin embargo, el trabajo presenta una falta grande de informaci´on sobre la forma en

la que hicieron el levantamiento de requerimientos, en c´omo realizaron la evaluaci´on

de sus gestos, de la latencia de su aplicaci´on ni de la percepci´on de satisfacci´on que

tuvieron ya que no se encuentra en su escrito el hecho de haber realizado pruebas de

funcionalidad ni tampoco pruebas de usuario.

(20)

2.1. TRABAJO PREVIO 7 por primera vez como lo demuestran los trabajos de Ebert et al., (2012) Gallo et al.,

(2011) y Suelze et al.(2013)[10,12,27]. Los tres trabajos est´an enfocados al manejo de im´agenes radiol´ogicas a distancia sin necesidad de tocar las interfaces del computador

para poder navegar a trav´es de ellas. Esto hace que el uso de una interfaz basada en

interacci´on natural pueda ser apta para su uso en instituciones de salud para proveer

una experiencia diferente al personal m´edico. Sin embargo, el proyecto propuesto quiere

incluir a los pacientes en esta revoluci´on de este tipo de interfaces para que tambi´en

(21)
(22)

Cap´ıtulo 3

Marco Te´

orico

3.1

Dise˜

no de Interacciones

3.1.1

Enfoque Centrado en el Usuario

La propuesta de este trabajo esta basada en el dise˜no de una interacci´on centrada en

el usuario. Esto tiene un componente en el desarrollo de la aplicaci´on, ya que no s´olo

se enfocar´a en el desarrollo de la tecnolog´ıa sino que las solicitudes y caracter´ısticas

que el usuario final decida, ser´an las metas que el producto deber´a cumplir. Como

consecuencia de esta afirmaci´on, un sistema que tenga un buen dise˜no estar´a enfocado

en las habilidades y las percepciones de las personas que har´an uso del producto para

que sus limitaciones no se conviertan en una restricci´on de uso. Es por esta raz´on que

en 1985 se establecieron tres principios para que un sistema sea ´util y f´acil de hacer

[14].

• Enfoque primario en los usuarios y sus tareas. Esto implica que antes de empezar

a desarrollar una aplicaci´on se debe contar con la opini´on y el entendimiento de los

usuarios potenciales de la aplicaci´on. Esto quiere decir estudiar las caracter´ısticas

cognitivas, de comportamiento, antropom´etricas y aptitudes de los usuarios. Esto

requiere involucrar a las personas en esta etapa temprana de dise˜no para hacerlos

pasar por un proceso de observaci´on y recolecci´on de informaci´on para capturar

las posibles tareas que querr´an realizar.

(23)

• Mediciones emp´ıricas. En el desarrollo de los prototipos iniciales, las reacciones y

el desempe˜no de las personas debe ser observado y medido. Estas acciones ser´an

monitorizadas para estudiar el desempe˜no del prototipo en forma cuantitativa y

cualitativa.

• Dise˜no iterativo. Cuando se encuentran problemas en las pruebas de usuario, estos deben ser solucionados para posteriormente volver a ser ensayados. Esto

ser´a esencial para futuros prototipos que se quieran desarrollar intentando

adi-cionar funciones complementarias que minimicen los errores y potencien las

car-acter´ısticas positivas de la aplicaci´on.

3.2

Objetivos de usabilidad

La usabilidad se refiere en t´erminos generales a asegurar que los productos interactivos

son f´aciles de aprender, eficientes al momento de usarlos y que generen una agradable

desde la perspectiva del usuario. Esto involucra la optimizaci´on de las interacciones que

las personas tienen con los productos y as´ı permitirles que desarrollen sus actividades

en el trabajo, en la calle y en su vida diaria. De manera m´as espec´ıfica, la usabilidad

se puede dividirse en los siguientes objetivos [26]:

• Efectivos de usar (Efectividad).

• Eficientes de usar (Eficiencia).

• Seguros de usar (Seguridad).

• Tengan una buena utilidad (Utilidad).

• F´aciles de aprender (Facilidad de aprendizaje).

• F´aciles de recordar para usar (Facilidad de recordaci´on).

Los objetivos de usabilidad son t´ıpicamente manejados como preguntas. El prop´osito

es el de proveer el dise˜no de la interacci´on con un significado concreto de evaluar varios

(24)

3.2. OBJETIVOS DE USABILIDAD 11 trav´es de ir respondiendo las preguntas, los dise˜nadores pueden ser alertados de manera

temprana acerca de problemas de dise˜no y conflictos que no hab´ıan sido considerados.

Sin embargo, con el solo hecho de preguntar ”si el sistema es f´acil de aprender”, no

va a ser suficiente ni de mucha ayuda. Preguntar sobre la usabilidad, es una tarea

que implica tener ideas m´as detalladas, como por ejemplo, ”¿cu´anto tiempo le tomar´a

en usar las funciones m´as b´asicas de un nuevo navegador?; ¿en qu´e medida se pueden

ver beneficiados teniendo una experiencia previa?; ¿cu´anto tiempo le tomar´a al usuario

el aprender un completo conjunto de funciones?”. Esto puede llevar a obtener m´as

informaci´on m´as ´util [26].

Para cada objetivo de usabilidad se tiene un conjunto de preguntas as´ı:

Efectividad. Es un objetivo bastante general y se refiere a qu´e tan bueno es el

producto en lo que se supone tiene que hacer. Preguntas: ¿Es el producto capaz de

permitirle a las personas el aprender, llevar a cabo sus tareas en forma eficiente, acceder

a la informaci´on que necesitan o comprar lo que ellos quieran?

Eficiencia. Se refiere a la forma en la que el producto apoya a los usuarios en llevar

a cabo sus tareas. Preguntas: ¿Una vez que los usuarios han aprendido como usar el

producto para realizar sus tareas, pueden sostener un mismo nivel de productividad?

Seguridad. Involucra proteger al usuario de condiciones peligrosas y situaciones

indeseables. En relaci´on al primer aspecto ergon´omico, se refiere a las condiciones

externas en donde las personas trabajan. El segundo aspecto se refiere al hecho de

proveer una ayuda adicional para proteger al usuario en situaciones accidentales para

prevenirlo de situaciones potencialmente peligrosas. Preguntas: ¿Cu´al es el rango de

errores que son posibles utilizando el producto y qu´e medidas existen para permitirle

al usuario recuperarse f´acilmente de ellas?

Utilidad. Se refiere al grado en donde el producto provee la forma correcta de

funcionalidad para que los usuarios puedan hacer lo que necesitan o quieran hacer.

Preguntas: ¿El producto provee un conjunto apropiado de funciones que les puedan

permitir a los usuarios llevar a cabo todas sus tareas en la forma que ellos quieren

hacerla?

Facilidad de Aprendizaje. Se refiere en qu´e tan f´acil un sistema se puede usar. Es

(25)

c´omo utilizar un sistema. Ellos quieren empezar directamente y volverse r´apidamente

competentes en llevar a cabo sus tareas sin emplear mucho esfuerzo. Preguntas: ¿Es

posible para los usuarios resolver el c´omo usar el producto explorando su interfaz e

intentando algunas funciones?, ¿Qu´e tan dif´ıcil ser´a el aprender el conjunto completo

de funciones?

F´acil de recordar. Se refiere en qu´e tan f´acil de recordar a usar es un producto

despu´es de haberlo aprendido. Esto es especialmente ´util en productos interactivos que

uso poco frecuente. Si los usuarios no han usado una operaci´on por un par de meses,

ellos deber´ıan ser capaces de recordar o al menos saber c´omo realizar algunas tareas

principales. Preguntas: ¿Qu´e tipo de interfaces de apoyo han sido proporcionadas a

los usuarios para ayudarles a recordar c´omo llevar a cabo ciertas tareas, especialmente

para productos u operaciones de uso poco frecuentes?

3.3

Tipos de interfaces naturales

3.3.1

Interfaces de Voz

Una interfaz de voz es aquella en la que una persona le habla a un sistema que posee

una aplicaci´on de lenguaje hablado, como un servicio telef´onico para realizar reservas de

trenes o tiquetes a´ereos. Es com´unmente utilizado para realizar averiguaciones de horas

de vuelos, o realizar una transacci´on como comprar un tiquete o pagar una factura. Es

una forma espec´ıfica de interacci´on en lenguaje natural que se basa en el principio de

conversaci´on ya sea que un usuario le hable a una aplicaci´on o reciba instrucciones de

la misma. La tecnolog´ıa de reconocimiento de voz ha desarrollado aplicaciones que

pueden ser usadas por personas en situaci´on de discapacidad, tales como procesadores

de texto, lectores web y software para controlar las funciones de los dispositivos de un

hogar.

La dificultad que presentan estas interfaces es que su evoluci´on no ha estado a la

par del desarrollo de los dispositivos que acompa˜nan a estas aplicaciones. En ocasiones

presentan un alto n´umero de falsos positivos y de malas interpretaciones que no recogen

la intenci´on del usuario de forma adecuada lo cual se vuelve frustrante de usar. Esto

(26)

3.3. TIPOS DE INTERFACES NATURALES 13 Cuando se realiza este paso las opciones que puede tomar el usuario son m´as limitadas

haciendo que la tasa de errores se reduzca y su uso se vuelva m´as fluido y apropiado

[26].

3.3.2

Interfaces Basadas en Gestos

Investigadores y desarrolladores han experimentado con un amplio n´umero de

dispos-itivos de entrada diferentes a la cl´asica combinaci´on de teclado y rat´on que puedan

proveer una experiencia de interacci´on m´as fluida y natural, por ejemplo algo que

rep-resente acciones o gestos del mundo real y sean interpretadas por los dispositivos que

quieran controlar. Una de estas formas se conoce como interfaces basadas en gestos.

El uso de c´amaras que puedan capturar la informaci´on del mundo real a trav´es de

cier-tas t´ecnicas de visi´on de computadores puede realizar una lectura de los movimientos

corporales o gestos para ser interpretados como una intenci´on del usuario.

En la actualidad estos se encuentran representados en sistemas de juegos como el

Kinect de Xbox o el EyeToy de Sony. Estos dispositivos permiten usar el cuerpo como

interfaz de entrada en los videojuegos que permitan esta tecnolog´ıa, eliminando la forma

tradicional de usar un control [26].

3.3.3

Interfaces Multimodales

Las interfaces multimodales se basan en el principio en el que m´as es m´as para proveer

una experiencia m´as enriquecida y compleja a los usuarios [4]. Esto se explica por medio de la multiplicaci´on o redundancia del uso de la misma informaci´on para un

mismo fin usando diferentes modalidades como tacto, visi´on, sonido, voz, gestos o una

combinaci´on de ellos. Este tipo de interfaces puede proveer m´as libertad, eficiencia

y m´as expresividad a una interacci´on humano-computador. El uso de de diferentes

medios de comunicaci´on pueden otorgarle al usuario un conjunto de alternativas al

mismo tiempo, ya sea usando una forma de interacci´on a elecci´on o combinarlas en

(27)

Figura 3.1: El dispositivo Kinect de Microsoft [13].

3.4

Dispositivo Kinect

La principal raz´on de utilizar un dispositivo de interacci´on natural como el Kinect de

Microsoft, obedece a sus m´ultiples sensores trabajando en forma paralela para tener

m´as de una opci´on de interacci´on. Estos sensores incluyen el uso de c´amaras infrarojas,

RGB y micr´ofonos [13]. (Figura 3.1).

El Kinect fue anunciado por primera vez en 2009, con la capacidad de detectar

movimiento en un ambiente tridimensional usando un proyector infrarrojo, una c´amara

RGB (C´amara basada en los colores Rojo, Verde y Azul) y un sensor de profundidad

[13]. Presenta sus mejores caracter´ısticas cuando el objeto a localizar se encuentra entre una distancia de 0.8m y 3.5m desde el Kinect, y posee un ´angulo de visi´on de 57◦ en

el eje horizontal y de 43.5◦ en el eje vertical [21].

La c´amara RGB del Kinect tiene una tasa de 30 cuadros por segundo y una

res-oluci´on de 640 x 480 pixeles (Figura 3.2). Es usada principalmente para aislamiento de color e identificaci´on de piel humana. En seguimiento de objetos, el RGB es

com´unmente conocido por realizar rastreo de localizadores posicionados sobre un fondo

oscuro monocrom´atico. Por otra parte, la limitaci´on del RGB es que esta solo es usada

ante ciertas condiciones de iluminaci´on y se puede volver inestable cuando se usa en

exteriores [13,21].

El Kinect est´a equipado tambi´en con un proyector Infrarrojo que funciona a trav´es

de un sensor CMOS que captura toda la informaci´on en un ambiente 3D (Figura 3.3). El rango del sensor de profundidad es ajustable y el software de Kinect es capaz de

(28)

3.4. DISPOSITIVO KINECT 15

Figura 3.2: Una muestra de una imagen tomada con la c´amara RGB [13].

Figura 3.3: Una proyecci´on de la matriz de puntos en Infrarojo [13].

calibrarlo autom´aticamente basado en el ambiente f´ısico [13].

El siguiente sensor es considerado como uno de los m´as importantes; el sensor de

Profundidad. Esta imagen tambi´en puede ser visualizada a trav´es de gradientes de

color, expresando azul como uno de los puntos m´as lejanos desde el Kinect y blanco

como uno de los m´as pr´oximos. Aunque la resoluci´on de este sensor es igual a la de la

c´amara RGB, este posee una salida de 11-bit de profundidad, resultando un total de

2048 niveles de profundidad [13].

Adicional a las c´amaras, el Kinect cuenta tambi´en con un arreglo de cuatro (4)

micr´ofonos que ayudan a detectar la ubicaci´on de la persona que lo origina, as´ı como

(29)

voz [16].

3.5

Uso del arreglo de micr´

ofonos del Kinect

El Kinect cuenta con un arreglo de micr´ofonos que soporta un conjunto de

carac-ter´ısticas de audio. El Kinect tiene cuatro (4) micr´ofonos ubicados en la parte inferior

del dispositivo y apuntando hacia la misma direcci´on del mismo en una forma lineal

[16].

El arreglo de micr´ofonos permite lo siguiente:

• Capturar la mejor calidad de sonido al proveer un m´odulo de procesamiento de se˜nales incorporado el cual incluye supresi´on de ruidos y cancelaci´on de ecos.

• Identifica la direcci´on de la fuente del sonido entrante.

• Basado en el sonido de cada micr´ofono en el arreglo, puede autom´aticamente

encontrar la direcci´on de donde proviene el sonido y puede escuchar a un micr´ofono

de forma espec´ıfica al suprimir los otros ruidos

Una vez la direcci´on de la fuente de sonido es encontrada, el Kinect es lo

suficiente-mente inteligente para cambiar la direcci´on de la misma forma que la fuente se mueve.

Uno de los ejemplos m´as comunes de tal escenario es cuando se juega un juego

uti-lizando comandos de voz. Si el jugador se mueve, la direcci´on de la fuente de sonido se

mueve autom´aticamente.

El Kinect, tiene un m´odulo incorporado de procesamiento de audio que se encarga

proveerle de todas sus funciones ac´usticas. Sin embargo, uno de los aspectos m´as

im-portantes es su capacidad de reconocimiento de voz. Este arreglo es capaz de reconocer

el lenguaje humano de una forma bastante clara al enfocarse espec´ıficamente en una

direcci´on al cancelar los ruidos del ambiente.

3.5.1

La arquitectura del SDK de Kinect para Audio

El SDK instala el componente de Audio quien es el que en realidad interact´ua con el

(30)

3.5. USO DEL ARREGLO DE MICR ´OFONOS DEL KINECT 17

Figura 3.4: Diagrama de flujo de la distribuci´on de las aplicaciones desde los micr´ofonos

de Kinect hasta su aplicaci´on [16].

voz, el Kinect utiliza el API de lenguaje subyacente en el sistema operativo de Windows.

Aunque el Kinect utiliza internamente sus m´odulos de captura y procesamiento de

audio, es el API del sistema operativo el que se encarga del reconocimiento del lenguaje,

el cual se soporta en los componentes de audio existentes [16].

Del siguiente diagrama (Figura3.4), se puede ver que el audio capturado del arreglo de micr´ofonos del Kinect se pasa a la aplicaci´on a trav´es del Kinect y de los componentes

de audio de Windows.

En compa˜n´ıa de los manejadores del dispositivo, los siguientes tambi´en son

consid-erados como componentes esenciales.

• DirectX Media Object (DMO).

(31)

La mayor´ıa de las funcionalidades de audio, tal y como lo son la Supresi´on de Ruidos

(Noise Suppression - NS), la Cancelaci´on de Eco Ac´ustico (Acoustic Echo Cancellation

- AEC), y el Control Autom´atico de Ganancia (Automatic Gain Control - AGC) es

controlado por el DMO. Sin embargo, estas no son funcionalidades nuevas del DMO;

el SKD expone un conjunto de APIs que pueden controlar las caracter´ısticas

anterior-mente mencionadas a trav´es de la aplicaci´on de Kinect. Cuando existe la necesidad de

procesar alg´un tipo de datos utilizando la aplicaci´on de Kinect, se necesitar´a invocar

es-tos m´etodos desde el SDK de Kinect haciendo que sean llamados los m´etodos existentes

en el DMO para ejecutar esta acci´on [16].

3.5.2

El arreglo de micr´

ofonos de Kinect

El arreglo de micr´ofonos es el coraz´on del audio de Kinect. Para lograr hacer esto se

tienen en cuenta las siguientes ´areas de inter´es y retos que tiene el sistema.

La mayor ´area de inter´es para contar con un m´odulo de procesamiento de audio, era

el de proveer reconocimiento de voz humano y el de reconocer la voz de los jugadores

cuando estos se est´an moviendo y pueden variar su posici´on.

• El primer reto era el de identificar audio con un sonido fuerte. Considerando la situaci´on de que se est´e jugando un videojuego y sonidos fuertes van a provenir

desde distintas partes, como el televisor. Esto crea una dificultad al momento de

reconocer la voz de los jugadores, por el ruido del televisor y los ecos y ruidos de

la habitaci´on.

• El segundo reto era el de identificar el lenguaje dentro de un ´area de rango din´amica. Mientras se est´a jugando, el jugador puede cambiar su posici´on o

varios jugadores pueden estar hablando desde distintas direcciones.

Para sobreponerse a estos problemas y para proveer una de las mejores soluciones

en el reconocimiento de voz, el arreglo de micr´ofonos del Kinect puede obtener voz y

sonido de alta calidad.

El sensor de Kinect tiene cuatro micr´ofonos; tres se ubican en el lado derecho y uno

en el lado izquierdo. La siguiente imagen muestra la forma en la que se encuentran

(32)

3.5. USO DEL ARREGLO DE MICR ´OFONOS DEL KINECT 19

Figura 3.5: Imagen de la descripci´on de la distancia entre micr´ofonos del circuito de

Kinect [16].

La l´ogica al ubicarlos en diferentes lugares es para identificar lo siguiente:

• El origen del sonido.

• La direcci´on del sonido entrante.

Ya que todos los micr´ofonos se ubican en distintas posiciones, el sonido llegar´a a

cada uno de ellos en diferentes intervalos de tiempo, lo que significa que deber´ıa existir

alg´un retardo en la recepci´on del sonido de cada micr´ofono. De esta manera, el Kinect

puede entender la direcci´on desde donde proviene el sonido. El Kinect tambi´en es lo

suficientemente inteligente para calcular la distancia aproximada del origen del sonido

basado en la onda y la diferencia de tiempo, tal y como lo logran los o´ıdos y el cerebro

humano.

3.5.3

Procesamiento de audio en el Kinect

El Kinect tiene incorporado su propio m´odulo de procesamiento de audio para filtrar

los datos. Una vez la fuente y la posici´on del sonido son calculadas, este m´odulo une las

se˜nales de todos los micr´ofonos y producen una se˜nal sonora de alta calidad. El Kinect

(33)

Ya que el Kinect es el responsable del reconocimiento de voz humana, el m´odulo

de procesamiento de audio aplica un filtro pasabandas para ajustarse a las frecuencias

de la voz humana que se encuentra entre 80Hz y 1100Hz. Sumado a esto, el m´odulo tambi´en es responsable de filtrar otros tipos de ruidos, remover ecos y producir una

versi´on amplificada de la voz [16].

El m´odulo de procesamiento de audio utiliza varios Procesadores de Se˜nales

Digi-tales (Digital Signal Processors - DSP), que poseen algoritmos complejos que producen

mejores reconocimientos de voz.

3.5.4

Procesamiento de los datos de audio

La clase KinectAudioSource, no solo ayuda a capturar los datos de audio de los sensores,

sino que adem´as ofrece el control de muchos aspectos del procesamiento del audio al

interactuar con el DMO subyacente.

Cancelaci´on de Eco: La cancelaci´on de eco ayuda a incrementar la calidad del

sonido. El componente de Cancelaci´on Ac´ustica de Ecos (Acoustic Echo Cancellation

- AEC) dentro del m´odule de procesamiento de audio, es el responsable de remover los

ecos que son enviados a los micr´ofonos.

Supresi´on de Ruidos: El ruido es el sonido que el Kinect no entiende, o el cual no

pretende ser usado. Mientras usamos el audio puede haber diferentes posibilidades de

sonidos, haciendo que los ruidos puedan provenir de diferentes fuentes. El supresor

de ruidos es usado por el m´odulo de procesamiento de audio, y suprime las se˜nales de

audio no deseadas e los ignora para niveles futuros de procesamiento.

Control de Ganancia Autom´atico: El Kinect, posee un m´odulo de Controlador

Au-tom´atico de Ganancia (Automatic Gain Controller - AGC) ubicado sobre el final, es

usado como un amplificador para fuente de sonido entrante. Esto permite obtener

mayor ganancia a la voz independiente de qu´e tan alejado se encuentre el jugador y del

(34)

3.6. RECONOCIMIENTO DE VOZ 21

3.5.5

Nivel de Confianza

El nivel de confianza de la fuente de sonido, es usado para determinar la exactitud del

sonido que fue capturado por el sensor. El valor del nivel de confianza posee rangos

que van desde 0.0 y 1.0, en donde 0.0 es que no hay confianza y 1.0 es confianza total.

El mejor escenario para usar este nivel de confianza, es el de reconocimiento de voz. Se

puede aceptar o rechazar fragmentos de lenguaje basados en el nivel de confianza.

3.6

Reconocimiento de Voz

Una de las claves de las Interfaces de Usuario Naturales es la de reconocimiento de

voz. La aplicaci´on de reconocimiento de voz les permite a los usuarios el decir cualquier

tipo de comandos frente al micr´ofono para que usando una aplicaci´on para ejecutar

varias acciones dependiendo del comando reconocido. El arreglo de micr´ofonos del

Kinect funciona como un excelente dispositivo de entrada para usarlas en aplicaciones

habilitadas para lenguaje. Esto provee una mayor calidad en la captura de audio,

comparado con un micr´ofono sencillo al proveer supresi´on de ruidos, cancelaci´on de

ecos y el hecho de escuchar en una direcci´on particular con la ayuda del localizador de

la fuente de sonido.

3.6.1

Como funciona el reconocimiento de voz

Una aplicaci´on puede tener diferentes tipos de Interfaces de Usuario (User Interfaces

-UI), y controlar una UI utilizando el lenguaje es un enfoque de las interacciones con

usuarios. Usando el sistema de reconocimiento de voz, los usuarios dicen lo que ello

quieren y as´ı el computador ejecuta el comando haciendo que los resultados se reflejen

en la UI.

Se pueden categorizar los patrones de reconocimiento de voz en las siguientes formas:

• Modo de comando: Este modo es en donde se puede usar un comando y el motor de reconocimiento de voz reconoce la palabra. A manera de ejemplo, se puede

empezar o detener un juego utilizando simplemente las palabras ”empezar” y

(35)

• Modo de frase o de orden: En este modo se puede utilizar una frase para ejecutar

una operaci´on. Como ejemplo para rotar una l´ınea se utilizar´ıa el comando ”rotar

la l´ınea”.

Como una primera mirada, el reconocimiento de voz pareciera como una simple

l´ogica de emparejamiento, pero no. El motor de reconocimiento de voz consiste en los

siguientes dos grandes m´odulos:

• Modelo ac´ustico.

• Modelo de lenguaje.

Cada uno de los m´odulos tiene una sola responsabilidad para el reconocimiento de

voz. El reconocimiento de voz, es una tarea de reconocimiento de patrones, el cual se

lleva a cabo en diferentes pasos con el motor de reconocimiento de voz. La siguiente es

la lista de operaciones que se realiza para reconocer el discurso del usuario:

1. Los micr´ofonos capturan el flujo de audio y en un primer paso convierten esa se˜nal

an´aloga en una se˜nal digital, la cual puede ser entendida por el computador. Esta

operaci´on es hecha por la primera etapa del m´odulo de procesamiento de audio

ya que este requiere una mejor representaci´on ac´ustica para poder ser usada por

el motor de reconocimiento de voz.

2. En un siguiente paso, las se˜nales sonoras de audio son enviadas al motor de

reconocimiento de voz para que reconozca el audio.

3. El modelo ac´ustico del motor de reconocimiento de voz, analiza el audio y

con-vierte el sonido en un n´umero de elementos b´asicos de discurso; estos son llamados

fonemas. Los fonemas son unidades de discurso, los cuales son usados para

em-parejar con la voz. El modelo ac´ustico es uno de los mayores componentes del

motor de reconocimiento de voz. Esto incluye algunos algoritmos internos de

aprendizaje.

4. El modelo de lenguaje es el segundo mayor componente del motor de reconocimiento

(36)

3.6. RECONOCIMIENTO DE VOZ 23

Figura 3.6: Descripci´on del modelo ac´ustico que realiza Kinect para reconocer voz [16].

la palabra al combinar los fonemas dentro de un diccionario digital incorporado.

Entonces lo que hace es que combina los fonemas creados por el modelo ac´ustico

con una palabra y lo compara con el diccionario digital incorporado.

5. Si la palabra existe en el diccionario, el motor de reconocimiento de voz identifica

lo que el usuario intent´o decir.

La siguiente figura3.6 muestra un ejemplo b´asico del proceso de reconocimiento de voz utilizando diferentes m´odulos en el reconocimiento.

Por ejemplo, la palabra ”welcome”, la cual es capturada por el micr´ofono, es

con-vertida a una se˜nal digital. El modelo ac´ustico del motor de reconocimiento de voz

divide la palabra en fonemas como”wel”,”co” y ”me”. Despu´es el modelo de lenguaje

(37)

el diccionario hay muchas palabras que pueden caer bajo la combinaci´on del mismo

conjunto de caracteres. Ya que se defini´o desde antes la palabra ”welcome”, el motor

de reconocimiento de voz retornar´a un valor exitoso que la palabra que concordaba [16].

3.7

Construcci´

on de Aplicaciones Controladas por

Gestos

El reconocimiento de gestos es uno de los hitos de Kinect. La cantidad de innovaci´on

e investigaci´on que se est´a desarrollando en tecnolog´ıa de gestos es bastante amplia.

Los gestos puestos en t´erminos simples, pueden ser descritos como acciones corporales

que conllevan un mensaje. Pueden ser acciones simples como saludar con las manos,

mover las mu˜necas, o una acci´on complicada que involucre m´ultiples partes del cuerpo.

La tecnolog´ıa usada para identificar gestos y convertirlos a una forma que pueda ser

reconocida por un dispositivo basado en gestos se llama reconocimiento de gestos. El

reconocimiento de gestos recae en una mezcla de algoritmos matem´aticos y rastreo de

esqueletos para reconocer y clasificar los gestos. Cuando se habla de interfaces naturales

de usuario, el reconocimiento de gestos es la primera idea que se viene a la mente. El

reconocimiento de gestos provee una integraci´on transparente entre un ambiente natural

y el dispositivo [16].

3.7.1

Qu´

e es un Gesto

Un gesto es una acci´on o movimiento corporal humano que tiene la intenci´on de

comu-nicar un mensaje, y estos gestos le permiten a nuestra aplicaci´on saber lo que nosotros

queremos hacer. En el contexto del SDK del Kinect para Windows, un gesto pude ser

interpretado por una acci´on corporal por la cual el jugador transmite algunos mensajes

o informaci´on hacia la aplicaci´on. Es similar al concepto de escribir en un teclado, o

dibujar con la ayuda de un monitor y un l´apiz t´actil o utilizar un dispositivo t´actil.

En todos estos casos la entrada fue dise˜nada para un prop´osito particular, el cual el

dispositivo debe entender y as´ı proveer la salida deseada al interactuar con la aplicaci´on.

(38)

3.7. CONSTRUCCI ´ON DE APLICACIONES CONTROLADAS POR GESTOS 25 Kinect. Basado en esta entrada, la aplicaci´on necesita realizar ciertas funciones. No

existe ninguna conexi´on f´ısica entre los usuarios y el dispositivo. Por ende, esta

tec-nolog´ıa es la piedra angular de la interacci´on natural para Kinect [16].

3.7.2

Enfoques para el reconocimiento de Gestos

El reconocimiento de gestos es una de los procesos m´as interesantes que involucra

difer-entes c´alculos, algoritmos, enfoques y metodolog´ıas. El SDK del Kinect para Windows

no provee ning´un API incorporado para el reconocimiento de gestos. Por ende, depende

completamente del desarrollador el definir estos enfoques y escribir su propia l´ogica para

reconocer y jugar con sus gestos.

Los enfoques pueden variar dependiendo de si los gestos que se escojan y de c´omo

estos se van a aplicar a la aplicaci´on, convirtiendo los gestos de simples a complejos. Se

puede clasificar los enfoques para el reconocimiento de gestos de las siguientes maneras

[16].

• Reconocimiento de gestos b´asicos.

• Enfoque algor´ıtmico.

• Enfoque de red de pesos.

• Enfoque basado en plantillas.

El escoger entre estos enfoques depende completamente de los desarrolladores y de

los requerimientos de la aplicaci´on. En algunas ocasiones, un gesto para una aplicaci´on

puede ser simple, por ejemplo, juntar las dos manos, medir distancias entre

articula-ciones; o algo m´as avanzado como el movimiento de barrido con las dos manos. Por

otra parte, puede ser tan complejo como realizar ejercicios de saltos o abanicando una

raqueta.

Refi´erase al siguiente diagrama (Figura 3.7) para entender el completo nivel de interacci´on que sucede entre los usuarios y la aplicaci´on [16].

El usuario interact´ua con el sensor de Kinect, el que se encarga de capturar las

(39)

Figura 3.7: Diagrama del nivel de interacci´on entre los usuarios y la aplicaci´on [16].

Las aplicaciones basadas en gestos tendr´an un componente llamado el motor de

re-conocimiento de gestos, el cual reconoce el gesto basado en las acciones de los usuarios

y el enfoque definido en la aplicaci´on. Al reconocer los gestos, la aplicaci´on pueden

entonces la acci´on necesaria y as´ı notificar al usuario. El motor de reconocimiento

t´ıpicamente realiza las siguientes tareas:

• Acepta las acciones del usuario en forma de datos de esqueleto.

• Empareja los puntos de los datos con la l´ogica predefinida para un gesto espec´ıfico.

• Ejecuta las acciones si el gesto es reconocido.

3.7.3

Reconocimiento de Gestos B´

asicos

El enfoque fundamental de un reconocimiento de gestos es el de jugar con los puntos

de las articulaciones del esqueleto y aplicar una l´ogica b´asica para realizar algunas

ac-ciones [6]. La detecci´on b´asica de gestos b´asicos depende en un conjunto de condiciones predefinidas conocidas como el conjunto resultado. Si la acci´on realizada es emparejada

(40)

3.7. CONSTRUCCI ´ON DE APLICACIONES CONTROLADAS POR GESTOS 27

Figura 3.8: Ubicaci´on de los ejes corporales que usa Kinect [16].

con el conjunto resultado, se puede decir que el usuario ha realizado cierto gesto, de lo

contrario no.

La detecci´on depende del rastreo de las articulaciones del esqueleto humano porque

se definen las condiciones de los gestos basados en las articulaciones. Estas

articula-ciones se representan de la siguiente manera. Cada articulaci´on del esqueleto es medida

en un plano tridimensional (X, Y, Z). Las coordenadasX yY especifican la localizaci´on de la articulaci´on en el plano, y laZ es la distancia del usuario hacia el Kinect. (Figura

3.8)

Si la articulaci´on se mueve desde el lado de la mano derecha hacia el lado de la

mano izquierda o viceversa, el eje X de la articulaci´on cambiar´a. Es similar para las articulaciones que se mueven de forma vertical hacia arriba o hacia abajo para el eje

Y. Cambios en el ejeZ se ver´an reflejados si la articulaci´on se mueve hacia adelante o hacia atr´as del sensor.

Los c´alculos para los gestos b´asicos se pueden hacer de dos maneras.

• Calcular la distancia entre las diferentes articulaciones

• Comparando las posiciones de las articulaciones y la desviaci´on entre las posiciones de las articulaciones

(41)

Figura 3.9: Diagrama utilizado para ilustrar el ejemplo del teorema para calcular la

distancia entre dos puntos [16].

3.7.4

Calcular la distancia entre dos articulaciones

La representaci´on de datos del esqueleto es tridimensional; sin embargo, antes de mirar

el plano de coordenadas 3D, se consideran los puntos en un plano de coordenadas 2D

con solo los ejes X y Y para as´ı poder calcular la distancia entre dos puntos. En matem´aticas generales, para calcular la distancia entre dos puntos necesitamos hacer

uso del Teorema de Pit´agoras. El teorema dicta que: Para un tri´angulo rect´angulo,

el cuadrado de la hipotenusa es igual a la suma del cuadrado de los otros dos lados.

Seg´un el siguiente diagrama (Figura3.9) que ilustra el teorema puede ser aplicado para calcular la distancia entre dos puntos.

Considere que tiene un punto A(X1, Y1) y un punto B(X2, Y2) en un plano

coor-denado bidimensional Se quiere calcular la distancia d entre los puntos A y B. Para calcular la distancia usando el Teorema de Pit´agoras, se debe dibujar una l´ınea paralela

al eje X desde el punto A, y otra l´ınea desde el punto B paralela al eje Y. Considere las dos l´ıneas intersectadas en el punto C(X2, Y1). Como se sabe, los ejes X y Y son

perpendiculares entre s´ı; los cuales forman un tri´angulo rect´angulo entre los puntosA,

(42)

3.7. CONSTRUCCI ´ON DE APLICACIONES CONTROLADAS POR GESTOS 29 formado entre A, B y C. La distancia se calcula con la siguiente f´ormula (3.1) [16]:

d=p(distance of A, C)2+ (distance of B, C)2

d=p(X2−X1)2+ (Y2−Y1)2

(3.1)

El mismo teorema funciona de igual manera para un plano tridimensional, y la

distancia entre dos puntos (X1, Y1, Z1) y (X2, Y2, Z2) puede ser calculada con la siguiente

f´ormula (3.2):

(43)
(44)

Cap´ıtulo 4

Metodolog´ıa

Este proyecto cuenta con tres fases de desarrollo para crear una aplicaci´on que hace uso

de dispositivo de interacci´on natural que bien se adapta a los lineamientos propuestos

en el dise˜no de interacciones con el principal objetivo de aumentar el sentimiento de

bienestar en pacientes y usuarios de hospitales [5, 26]. Las tres fases se dividen princi-palmente en encontrar las necesidades, desarrollo del primer prototipo y evaluaci´on en

primera iteraci´on y desarrollo del segundo prototipo y evaluaci´on en segunda iteraci´on.

4.1

Levantamiento de requerimientos y necesidades

La primera fase consiste en un levantamiento de requerimientos y necesidades, mediante

el uso de la t´ecnica de observaci´on, a un n´umero determinado de pacientes que se

encuentren internados en las habitaciones de una instituci´on de salud. Con esta visita de

observaci´on, se establece un n´umero inicial de posibles aplicaciones seg´un lo conversado

con estas personas.

Con los requerimientos de los usuarios se captura las caracter´ısticas b´asicas de los

pacientes que llevar´an a cabo las tareas de interacci´on, considerando cuatro escenarios

recurrentes, ya sean novatos, casuales, expertos o frecuentes. Esto tiene un efecto

decisivo para determinar un buen dise˜no en t´erminos de qu´e tan f´acil de recordar algo

que ya se hab´ıa aprendido.

Esta etapa hace uso de las t´ecnicas de observaci´on anteriormente nombradas. En

(45)

relaci´on a la observaci´on, se hizo una visita exploratoria a las instalaciones de una

reconocida Instituci´on de Salud de la ciudad, en la unidad de maternidad y pediatr´ıa.

La escogencia de esta unidad es debido a las limitantes de las maternas cuando llegan

a ser internadas y que por su condici´on, presentan baja movilidad y alta dependencia

para desarrollar cierto tipo de actividades a menos que sean asistidas.

Durante esta etapa se visitaron dos (2) cuartos que estaban ocupados por algunos

pacientes. En t´erminos ambientales, los cuartos cuentan con una ventana grande que

da hacia la parte posterior de otro edificio y permit´ıa algo de iluminaci´on natural.

En cuanto al ruido, la cl´ınica se present´o silenciosa y la temperatura era controlada y

constante para todo el piso.

En el primer cuarto se visit´o a un ni˜no menor de 10 a˜nos acompa˜nado por su

madre y su t´ıa. El ni˜no no pronunci´o ning´un tipo de palabra mientras estuvimos

acompa˜n´andolo. El ni˜no estuvo sentado en la cama con algunos juguetes en ella y su

movilidad era completa, sin ning´un tipo de restricci´on en sus movimientos ni en sus

capacidades de comunicaci´on verbal. Con respecto a los elementos de interacci´on que

se hab´ıan, la madre nos coment´o que ellas eran las que lo utilizaban y que el menor no

tocaba ninguno de ellos.

La segunda visita se hizo con una materna en sus ´ultimas semanas de gestaci´on,

completamente acostada mientras se le hac´ıa un ultrasonido. El ruido del ultrasonido

proven´ıa del latido del coraz´on del beb´e y era un poco abrumador en toda la habitaci´on.

Sin embargo, s´ı manifest´o el tener cierto tipo de inter´es en la aplicaci´on que se desea

realizar ya que en ciertos momentos perd´ıa del alcance de las manos los controles que

ella manejaba.

Posterior a esta observaci´on, el equipo considera en que se debe proponer una

primera alternativa de poder controlar los diferentes elementos que tiene actualmente

esa habitaci´on hospitalaria espec´ıficamente, conociendo que son elementos que se pueden

llegar a encontrar en una cantidad considerable de instituciones prestadores de salud

en el pa´ıs. Dentro de estos elementos a controlar, se establecieron los siguientes: El

controlar las funciones b´asicas del televisor, el control de las luces, el abrir y cerrar las

cortinas y el llamado a enfermer´ıa con la finalidad de entregar un prototipo que sirva

(46)

4.2. FASE II 33

4.1.1

Dise˜

no para el Desarrollo y Evaluaci´

on de Prototipos

Para dise˜nar las posibles aplicaciones, se recolect´o la informaci´on de la visita a la

habitaci´on hospitalaria, en donde se observ´o cierto tipo de herramientas a los que los

pacientes se ve´ıan limitados de utilizar. Este dise˜no va enfocado a hacer aplicaciones

para los ´ıtems descritos en el posible levantamiento de requerimientos.

4.2

Fase II

La segunda fase tendr´a una divisi´on en dos partes las cuales ser´an explicadas en los

cap´ıtulos 5 y 6. La primera realizar´a una versi´on inicial del prototipo que controlar´a

los elementos del mobiliario de la habitaci´on de una manera interactiva. En la segunda

parte, se realizar´a una evaluaci´on t´ecnica del prototipo, con el fin de adquirir la

in-formaci´on necesaria sobre el desempe˜no de las aplicaciones y poder saber qu´e puntos

pueden ser sujetos a revisi´on o correcci´on.

4.3

Fase III

Una vez se haya decidido de que los sistemas son aptos, entrar´a una ´ultima fase de

gen-eraci´on de una segunda iteraci´on en el prototipo funcional para establecer la percepci´on

de los usuarios, con el fin de retribuir esa primera fase de dise˜no y as´ı poder realizar el

levantamiento de un manual de usuario para cuando un paciente realice una visita al

(47)
(48)

Cap´ıtulo 5

Descripci´

on Experimento No. 1

5.1

Estrategia de Evaluaci´

on

La segunda fase tendr´a una divisi´on en dos partes. La primera realizar´a una versi´on

inicial del prototipo que controlar´a los elementos del mobiliario de la habitaci´on de

una manera interactiva. En la segunda parte, se realizar´a una evaluaci´on t´ecnica del

prototipo, con el fin de adquirir la informaci´on necesaria sobre el desempe˜no de las

aplicaciones y poder saber qu´e puntos pueden ser sujetos a revisi´on o correcci´on.

Para su desarrollo se debe tener en cuenta la posici´on del paciente, que en estos

casos puede llegar a ser de total reposo, haciendo que el Kinect deba ser ubicado en

una posici´on no tradicional. Esto implica que su disposici´on se realizar´a desde el techo

de la habitaci´on mirando hacia abajo directamente sobre la cama (altura promedio de

cama hospitalaria de 80cms) y sobre el paciente a una altura de 2.30m [23]. Esto le da al paciente un rango de interacci´on un espacio de 1.50m entre ´el y el Kinect. Para esto

se dispuso en el laboratorio un montaje que se encuentra representado en la Figura5.1. El desarrollo de la aplicaci´on consta de dos formas de interpretar al paciente. Un

primer escenario se puede dar en que un paciente que tiene cierto tipo de movilidad

reducida en sus miembros superiores y es incapaz de realizar gestos. El segundo paciente

es el que tiene la imposibilidad de usar su voz y debe estar en total reposo de su garganta

por un tiempo.

Para el primer grupo se tiene el desarrollo de un software con capacidad de

(49)

Figura 5.1: Montaje del prototipo de la habitaci´on realizado en condiciones de

labora-torio. En la parte superior de la imagen se observa la disposici´on del Kinect y en la

(50)

5.1. ESTRATEGIA DE EVALUACI ´ON 37 conocimiento de los comandosabrir, cerrar, apagar, prender, enfermera, m´as y menos.

La escongencia de estas siete (7) palabras se da por la intenci´on de agregar unos

ac-tuadores perif´ericos que se puedan incluir en la futura habitaci´on y as´ı realizar estas

actividades de forma interactiva. El control de las cortinas se har´ıa con los comandos

abrir y cerrar, el encendido del televisor con prender y apagar, el control de la luz se

har´ıa con un regulador y controlado con las palabras m´as y menos y por ´ultimo un

llamado a enfermer´ıa a trav´es de enfermera.

Esta funci´on se hace gracias al uso de la librer´ıa Microsoft.Speech v.1.6.0.293,

es-pec´ıficamente con el motor de b´usqueda del modelo del lenguaje, que representa la

manera en que las letras de una palabra se combinan en el idioma Espa˜nol [20].

Para comprobar sus capacidades se realizan una pruebas t´ecnica para comprobar su

rendimiento y confiabilidad. Las pruebas de voz se realizaron a ocho (8) personas en una

habitaci´on cerrada de 2.50mt x 2.30mt x 2.20mt y un bajo nivel de ruido. La fuente de

voz (sujeto), se ubica a unos 100cms de los micr´ofonos del Kinect. Las pruebas de cada

palabra (abrir, cerrar, enfermera, prender, apagar, m´as y menos), se hacen repiti´endola

5 veces. Posteriormente se espera su tasa de reconocimiento para anotar su resultado.

Para este nivel de confianza se establece un piso de 0.0 (no hay confianza) y un techo

de 1.0 (total confianza). Se obtiene un total de 40 repeticiones por palabra, para un

total de 280 palabras en total.

Para el segundo grupo se tienen las mismas actividades pero esta vez con los gestos

de mover el brazo izquierdo en tres direcciones (arriba(MIArriba), adelante(MIFrente),

izquierda (MIIzquierda)) y el brazo derecho en tres direcciones (arriba(MDArriba),

ade-lante(MDFrente), derecha(MDDerecha)). Ya que se tienen 7 palabras y tan solo 6

gestos, prender y apagar se pueden realizar con un mismo gesto, por ejemplo el de

llevar la mano derecha hacia adelante.

Esto se hizo siguiendo la metodolog´ıa reportada por [16], de gestos simples, en donde los ´unicos que se requiere de la persona es saber la posici´on de las articulaciones

a utilizar. En este caso, se cuentan con varias condiciones para que el gesto sea adecuado

sin depender de la altura de la persona. Para el gesto de levantar la mano derecha, la

condici´on que se debe cumplir es que tanto la mano como la cabeza de la persona est´en

(51)

Figura 5.2: La figura muestra el ejemplo de la ejecuci´on del gesto de llevar la mano

izquierda hacia la izquierda. Se ense˜na el esquema de distancia que sigue el sistema.

por encima de la cabeza una distancia de 10cms. Para el gesto de llevar la mano derecha

hacia al frente, la condici´on del registro de las articulaciones se mantiene, pero ahora el

eje en donde ahora se calcula la distancia cambia; ahora la mano debe estar en frente

de la cabeza unos 30cms.

Para el gesto de llevar la mano derecha hacia la derecha, nuevamente la condici´on

del registro de las articulaciones es constante, pero el eje del c´alculo de las distancias

ser´a pararelo al eje del cuerpo, y la mano debe estar ubicada al menos 35cms a la

derecha de la cabeza (Figura 5.2). Se maneja una analog´ıa similar para los gestos del lado izquierdo del cuerpo.

En los dos prototipos, cada respuesta positiva se identifica mediante el uso de una

salida del sistema est´andar, que en este caso se trata de un cuadro de texto indicando

que la actividad ha sido ejecutada con ´exito, sumado a un elemento visual representado

por un LED conectado a un Arduino.

Este ´ultimo dispositivo es un hardware basado en un microcontrolador especialmente

(52)

5.1. ESTRATEGIA DE EVALUACI ´ON 39

Figura 5.3: Montaje de la combinaci´on de Kinect con Arduino Leonardo y LED,

reg-istradas con una c´amara de 60fps. En la imagen de la izquierda se observa la aplicaci´on

esperando el comando, y en la imagen de la derecha el LED queda completamente

encendido.

servomotor que ser´a el control de las persianas y de unos LED’s que indicar´an el uso

de las l´amparas y de los llamados a enfermer´ıa de una forma visual m´as representativa

hacia las personas.

Para probar su capacidad de rendimiento, se produce un montaje consistente con

un Kinect, una tarjeta Arduino Leonardo con un LED y una c´amara de alta velocidad

Pointgrey Firefly MV FFMV-03M2M/C-CS, con una tasa de 60 im´agenes por segundo.

Las im´agenes tienen una dimensi´on de 640x480 p´ıxeles (Figura 5.3). Haciendo una prueba durante 15000ms se obtiene el resultado estimado que requiere la aplicaci´on

para recibir el gesto o comando y ejecutar su acci´on. En esta prueba se obtiene que

la latencia es de 1062ms, lo que es aproximadamente 1 segundo, que aunque parezca

un tiempo considerablemente grande, es lo suficiente para poder mover unas cortinas o

prender una luz.

Finalmente, el control del televisor se realiz´o mediante una comunicaci´on serial entre

este y el computador. El dispositivo utilizado fue un TV LG 3D-LCD 42”, que cuenta

con un puerto de servicio RS232, que est´a dise˜nado para comprobar la funcionalidad

de este sin necesidad de contar con un control remoto. El manual presenta una gu´ıa

sobre los c´odigos infrarojos que se pueden sustituir por una cadena de caracteres [11] (Anexos A). Los par´ametros de comunicaci´on que se deben seguir son: Tasa de Tasa

(53)

de transmisi´on: 9600 bps. Longitud de los datos: 8 bits. Bit de paridad: None. Bit de

parada: 1 bit. C´odigo de comunicaci´on: c´odigo ASCII. Usar un cable serial cruzado.

El protocolo de transmisi´on dicta que se deben aplicar los siguientes c´odigos para

reemplazar el control remoto. Estos se encuentran en el manual del usuario del

Referencias

Documento similar