Escolar Documentos
Profissional Documentos
Cultura Documentos
TESIS
Para obtener el titulo de:
Ingeniera en Computacin
P R E S E N T A
Mara De Lourdes Njera Chvez
Asesora de tesis:
M. en C. Mara Guadalupe Domnguez Urbn
ii
Contenido
Resumen
Agradecimiento
Contenido
iii
Lista de Tablas
Lista de Figuras
vi
1. Introduccin
1.1.
Antecedentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.
1.3.
Objetivos
1.4.
Justicacin.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.
Delimitacin de estudio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Precursores de Kinect.
2.1.
2.2.
2.3.
U-Force
2.4.
Sega Activador
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.
Sensores 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.
Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.
Video juegos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.8.
13
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Componentes
17
3.1.
Cmara RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.
Emisor Infrarrojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.3.
Sensor infrarrojo
20
3.4.
3.5.
Procesamiento de imgenes
3.6.
Microfonos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.7.
LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.8.
Ventiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.9.
Tarjetas de Kinect
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.10. Servomotor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
. . . . . . . . . . . . . . . . . . . .
21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4. Arquitectura general
30
4.1.
Caractersticas tcnicas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.
OpenNI
30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.3.
SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4.3.1.
33
Arquitectura SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
CONTENIDO
CONTENIDO
4.3.2.
Versin de SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.3.3.
35
4.3.4.
35
4.3.5.
36
4.3.6.
37
4.3.7.
37
. . . . . . . . . . . . . . . . . . . . . . . . . .
5. Principios de Programacin
38
5.1.
Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.2.
Instalacin de paqueteria
38
5.2.1.
5.3.
5.4.
SDK Windows
Adentro de SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.3.1.
.NET Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.3.2.
Comprobacin de instalacin
42
5.3.3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
43
Programacin en SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.4.1.
. . . . . . . . . . . . . . . . . . . . . . . .
44
5.4.2.
Clasicacin de API's
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.4.3.
45
5.4.4.
Multiples Kinect's
47
5.4.5.
Requerimiento
5.4.6.
5.4.7.
5.4.8.
. . . . . . . . . . . . . . . . . . . . . . . .
50
5.4.9.
50
51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
. . . . . . . . . . . . . . . . . . . . .
50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
. . . . . . . . . .
52
. . . . . . . . . . . . . . . . . . . . . . . .
52
. . . . . . . . . . . . . . . . . . . . . . .
52
6. Conclusiones
53
7. Glosario
54
Referencias
58
iv
Lista de Tablas
2.1.
Comparacin de sensores 3D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
4.1.
Caractersiticas tecnicas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.2.
5.1.
Clasicacin de API's
. . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
Lista de Figuras
2.1.
Vista de la ocina
2.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.
U-Force
2.4.
Sega Activador
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.
Sensores 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.
Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.
Espejo Aumetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.8.
. . . . . . . . . . . . . . . . . . . . . . . .
14
2.9.
Terapia de equilibrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
6
7
16
3.1.
Colores primarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.2.
Cubo RGB
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.3.
Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.4.
3.5.
3.6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.7.
Procesamiento de imgenes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.8.
Oido humano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.9.
23
. . . . . . . . . . . . .
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.11. Ventilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
26
27
28
29
4.1.
32
4.2.
Arquitectura SDK
4.3.
5.1.
5.2.
Libreria .dll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.3.
41
5.4.
Explorador de Kinect
5.5.
Conguracin de microfono
5.6.
Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.7.
45
5.8.
Agregar Referencias
5.9.
Multiples Kinect`s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
35
39
42
43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.10. Articulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
Captulo 1
Introduccin
Desde que Kinect es lanzado al mercado en el ao 2010 se visualiz como un dispositivo capaz
de realizar la obtencin de datos cuyas variadas aplicaciones se han destinado a numerables reas de
investigacin. Las bondades que su tecnologa ofrece estn al alcance de desarrolladores de software
con habilidades en lenguajes de programacin y del funcionamiento de su arquitectura as como de la
plataforma de desarrollo.
Kinect es un dispositivo que cuenta con un sensor de profundidad, una cmara, y un emisor infrarrojo que por sus caractersticas han permitido su inclusin en reas de estudio como la medicina,
la educacin, el entretenimiento, entre otros. Por lo que es de suma importancia que los desarrolladores interesados en este tipo de aplicaciones conozcan el funcionamiento y al mismo tiempo tengan la
certidumbre de cmo incursionarse en la realizacin de variados proyectos de investigacin.
1.1.
Antecedentes.
Alex Kimpman originario de Brasil Natal desarrolla la idea de crear un dispositivo que pudiera ser
controlado por medio de movimientos corporales, el cual fue presentado en Los ngeles California con
el nombre de Proyecto Natal , debido a que Microsoft tiene la tradicin de colocarles el nombre del
pas de su creador este no fue una excepcin, marcando el nacimiento de la prxima generacin de
entretenimiento en el hogar . Kinect lleg a Mxico unos meses despus de su lanzamiento al mercado
en Estados Unidos en el ao 2010, fue introducido como un dispositivo para la consola Xbox 360 cuyo
principal objetivo era liberar al usuario del uso de controles.
La comercializacin de Kinect llego muy pronto a los desarrolladores surgiendo nuevas ideas para el
desarrollo de aplicaciones, debido a que no se contaba con una plataforma de desarrollo, se dieron a la
Captulo 1. Introduccin
tarea de decifrar el cdigo creado por Windows y surge la creacin de plataformas libres como Prime
Sense, Open Kinect entre muchas ms, por lo tanto Microsoft decide sacar dos versiones Beta solo para
investigadores y desarrolladores, en el ao 2012 presenta su versin comercial Kinect para Windows
SDK Versin 1 y a la fecha han realizado siete modicaciones aadindoles nuevos elementos.
1.2.
Microsoft siendo una empresa multinacional dedicada al sector de la informtica desarrolla, fabrica
y proporciona las licencias de sus productos debido a que es una de las marcas ms reconocidas a
nivel mundial, no solo se ha introducido en el rea de las computadoras sino que tambin en el rea
del entretenimiento, uno de sus grandes logros es Kinect el cual fue desarrollado para la video consola
Xbox 360, este dispositivo permite a los usuarios controlar e interactuar con la consola sin necesidad
de un control.
Debido al gran impacto que tuvo en el rea de entretenimiento, Kinect se ha extendido a nuevas
aplicaciones de la vida real, entre las que se encuentran la medicina, educacin, diseo grco, y ms,
esto ha evolucionado a grandes pasos ya que la principal ventaja con la que cuenta es que es un
dispositivo independiente de la consola para el cual fue diseado, esto ayuda a muchos desarrolladores
a utilizar el hardware pertinente para su aplicacin.
Microsoft observ el inters de la gente por utilizar a Kinect como una herramienta para la creacin
de proyectos innovadores, ofreciendo a todos los usuarios una posibilidad de cambiar la forma de
interactuar con la computadora teniendo de por medio a Kinect, Microsoft presenta a SDK (
Development Kit,
Software
La capacidad que ofrece Kinect como el reconocimiento de movimientos, gestos y voz nos lleva ms
al hardware que presenta esta tecnologa, para lo cual se requiere de diferentes elementos con los que el
desarrollador tendr la oportunidad interactuar. Sin embargo, el principal problema con los que cuenta
un desarrollador es el desconocimiento del funcionamiento interno del Kinect, ya que se consideraba
una tecnologa exclusiva para video juegos.
1.3. Objetivos
1.3.
Captulo 1. Introduccin
Objetivos
Esquematizar la arquitectura general de Kinect, dando a conocer la forma en que se lleva a cabo
Conocer el software que requiere para el desarrollo de innovadoras aplicaciones con la tecnologa
de Kinect.
1.4.
Justicacin.
El presente trabajo muestra una descripcin clara y concreta del dispositivo Kinect el cual fue
diseado principalmente para la consola de Xbox 360 en el ao 2010, la principal idea era desarrollar
una aplicacin sencilla utilizndolo, al comenzar a investigar no se encontr la suciente informacin
mucha de esta solo mencionaba que proyecto se realiza y para que se utiliza pero no se encontraba
una base para iniciar una aplicacin por lo tanto nos dimos a la tarea de recopilar informacin para
el desarrollo de estas, en primera instancia conocer los elementos que lo componen de forma que
se describan cada uno de ellos as como tambin conocer el software que se requiere y la forma de
interactuar, esto ser de gran ayuda para nuevos desarrolladores sin necesidad de realizar una bsqueda
extensa y facilitando su uso.
1.5.
Delimitacin de estudio.
Generar documentacin clara y concreta la cual contenga una descripcin sobre el hardware y
software de Kinect diseado para la consola de Xbox 360 dando a conocer la base para desarrollar
aplicaciones utilizando SDK y sus requerimientos.
Captulo 2
Precursores de Kinect.
Kinect es un dispositivo de control por movimiento creado inicialmente para video juegos , esto
comienza por inventar un futuro que hemos visto en pelculas, de ah surge la idea de crear un perifrico
de entrada que reconozca gestos y movimientos con el n de manipular un sistema sin necesidad de
pulsar algn botn tan solo con el movimiento de manos o con el habla, desde el ao de 1980 han querido
realizar un perifrico con este mismo propsito pero no ha sido fcil, el primer proyecto documentado
realizaba un reconocimiento del lenguajes solo algunas palabras con esto de base comenzaron a surgir
nuevos proyectos uno de estos lo utilizaron para mando militar aos ms tarde la misma idea se
desenvuelve en el rea de los video juegos.
2.1.
Esta ocina contaba con una pantalla, micrfonos y silla de usuario, la proyeccin se realizaba en
un televisor de color, los monitores de televisin de color estaban instalados a un costado del usuario,
que se encontrara conectada con un proyector situada en otra habitacin como se muestra en la Figura
2.1.
Siendo la voz la forma ms habitual y natural de comunicacin para el ser humano, el reconocimiento
de ella en un sistema sigue siendo un desafo clsico por el nmero de palabras con las que cuenta el
vocabulario activo, ya que la memoria puede ser de aproximadamente de 1000 palabras, excepto para
los dgitos del uno al diez , de modo que el proyecto fue diseado solo para un subconjunto de este.
Con los anteriores elementos el usuario podr crear y mover guras geomtricas que se encuentran
proyectadas por medio de frases ejemplo: Crear. . . , all ; el conjunto de comandos, tendr el uso
limitado de objetos esto depender del programador, es la intencin de sugerir la versatilidad y la
facilidad de su uso que requiere un espacio grco con la voz y el gesto. Uno de los usos que se le dio
a este sistema fue en el rea martima donde se permita mover barcos sobre un mapa del puerto en la
planicacin ser manipulado por el usuario, este se encontrara sentado en la silla del usuario. [2]
Como todos los dispositivos tena ciertas con desventajas y la principal de ellas era solamente que
solo se poda detectar a una persona en la habitacin ya que no adquira el reconocimiento de diversas
voces y movimientos corporales, as como que no contaba con una eliminacin del ruido producido en
el ambiente en que se desenvolva por lo que el cuarto se deba encontrar cerrado, estos eran algunos
de los problemas encontrados, no se difundi su venta ya que era muy grande y an tenia demasiadas
fallas en su sistema.
2.2.
Sistema que facilitaba la colaboracin usando mltiples modalidades, incluyendo lenguaje, escritura,
gestos, manipulacin directa, grandes pantallas tctiles proyectadas las cuales tiene un puntero lser,
monitores regulares con un ratn, un teclado y dispositivos de mano sin cables de red. Este sistema
permite mltiples participantes geogrcamente dispersos para simultneamente mezclar diferentes
modalidades, debido a que no contaba con una eliminacin de ruido proporcionaba la exibilidad de
cambiar del comando del habla al de escritura.
Este proyecto fue relacionado con el sistemas multimodales se remonta a el original Put-ThatThere: voice and gesture at the graphics interface y el sistema Rasa que es un diseo de interfaz
para el puesto de mando del futuro; Rasa utiliza un sistema comercial de reconocimiento de voz y
gestos. El desarrollo Flexi-modal y multi-machine interface del sistema fue dirigido a mando militar,
el comandante se sienta delante de la pantalla en la cual se mostraran los mapas y otra informacin del
estado, el realizar el mando mediante el habla, sealando, gestos y otras tcnicas naturales as como
tambien permite multiples participantes, geogracamente dispersos para mezclar simultneamente y
de forma exible diferentes modalidades, un claro ejemplo se muestra en la Figura 2.2 . [3]
2.3.
U-Force
U-Force fue que exceda su temperatura y esto hacia que su funcionamiento no fuera el ptimo, el
diseo se muestra en la Figura 2.3.[19][10]
2.4.
Sega Activador
Un perifrico que fue creado para la consola de Mega Drive2 , en el ao 1993, su diseo era un anillo
octagonal desmontable cada uno de sus lados emita un haz infrarrojo, preparado para colocarse sobre
el suelo. El jugador deba encontrarse en el interior del octgono e interponerse con los movimientos
de su cuerpo a los infrarrojos, cada vez que suceda esto mandaba pulsaciones a la consola y cada lado
del octgono equivala a uno de los botones de mando estndar.
Present desventajas en su creacin unas de ellas fueron: Las seales de infrarrojo no eran ptimas,
la calibracin del dispositivo tendra que llevarse a cabo cada vez que se quisiera jugar nuevamente o
al encender la consola, el tiempo de conguracin era entre 3 y 5 minutos lo que hizo que fracasara
este proyecto, uno de los principales motivos por los que no fue un xito se debi a que la empresa
Sega no lo introdujo al mercado ni lo dio a conocer por ningn medio de comunicacin.[19]
2.5. Sensores 3D
2.5.
Sensores 3D
Debido al desarrollo de la tecnologa que maneja la empresa israel Prime-Sense se han comercializado varios de tipos de sensores de visin 3D. El primero en ser puesto a la venta fue Kinect Microsoft,
mientras que Asus desarroll un sensor basado en la misma tecnologa con el nombre de Asus Xtion Pro
meses despus presenta una version nueva llamada Asus Xtion Pro Live ya que Prime sense tambin
desarrolla su propio sensor, lleva el nombre de Prime Sense sensor 3D, cada uno se muestran en la
Figura 2.5
El objetivo que comparten estos sensores es similar, manipular un dispositivo por medio de voz y
movimientos, as tambin comparten el mismo tipo de tecnologa para lograrlo, como lo es un sensor de
profundidad, infrarrojos, cmaras sensibles, micrfonos, pero no solo en el parecido fsico sino tambin
en los proyectos que se han desarrollado, uno de estos ejemplos son las radiografas debido a que esta
aplicacin fue realizada con cada uno de los tres diferentes dispositivos por su gran parecido, lo que
ha hecho la diferencia entre este tipo de dispositivos es la difusin al mercado y las estabilidad en su
plataforma, mientras que Kinect cuenta con una plataforma propia y ha sido difundido al mercado con
Xbox 360, Prime Sense 3D Sensor y Asus Xtion Pro no han sido comercializados.
2.6. Kinect
En la Tabla 2.5 se muestra la comparativa con los aspectos ms destacados de todos los dispositivos
disponibles en la actualidad.
Fabricante
Microsoft
Modelo
Kinect for Xbox
Alcance
0.80m - 4m
360
Kinect for
0.4m - 4m
Sensores
SDK
Profundidad 4
Microsoft Kinect
Microfonos R
G B
SDK 2.2
Windows
Profundidad
Xtion
Xtion Pro
ASUS
0.8m - 3.5m
Carnime 1.09
Profundidad 2
Microfonos R
G B
0.8m - 3.5m
0.35m -1.4m
Profundidad 2
Microfonos R
G B
Otra caracterstica que posee Kinect frente a sus rivales, es la inclusin de un motor en la base,
que mediante un sistema de engranaje permite modicar verticalmente su ngulo de visin. Por ultimo
cabe mencionar la necesidad de utilizar un alimentador de energa externo, mientras que el resto de
los modelos funcionan nicamente con la energa recibida mediante conexin USB.
2.6.
Kinect
Debido a que la corporacin de Microsoft tradicionalmente ocupa el nombre de las ciudades como
nombre clave. El resultado de Alex Kipman, quien realiz los primeros avances de Kinect, es originario
de Brasil como un homenaje a su pas fue dado el nombre de NATAL y por otro lado saba que Natal
signica nacer en latn.[31]. Kinect fue presentado por primera vez con el nombre de Proyect natal
en junio del 2009 en la feria de los ngeles California la principal atraccin de este proyecto es que sigue
el movimiento del cuerpo en 3-D; se present como un conjunto de cmaras, sensores de movimiento
y sonido que recopila movimientos del usuario esta tecnologa fue creada para Xbox 360.
2.6. Kinect
La aparicin de Kinect fue en noviembre del 2010, diseado especcamente para ser utilizado con
el sistema de juegos Xbox 360, su desarrollo ofrece grandes novedades debido a que desarrolladores e
investigadores se interesaron en este dispositivo para ser utilizado en otras reas esto tomo por sorpresa
a Microsoft, en julio del 2011 Kinect fue puesto en libertad por PrimeSense encargado de desarrollar
OpenKinect, mientras que Microsoft aun no tomaba la decisin de otorgar SDK de Kinect, debido a
que se crea que esto los llevara al fracaso de ste producto.
Los desarrolladores tuvieron gran inters en el sensor de Kinect debido a que la capacidad de
reconocimiento de gestos sin embargo ellos saban que algo parecido se haba desarrollado en 1979 con
el sistema put that there , demostrado los conocimientos que se llevaron acabo y ahora son una de
las principales caractersticas en Kinect como el seguimiento de gestos y reconocimiento de voz.
La principal idea de la creacin de Kinect fue consecuencia de una pelcula del ao 2002 de Steven
Spielbert The minority report la cual mostraba a un hombre agitando los brazos y la manipulacin de
pantallas de ordenadores sin tocar cualquiera de los monitores u otro dispositivo de entrada, se pensaba
que esto llegara aproximadamente 50 aos despus. Debido a la popularidad que tomo Kinect para el
desarrollo en otras reas dando un cdigo abierto (SDK) se han desarrollado diferentes aplicaciones.
[13][4]
10
2.7.
Video juegos
En el mundo de los videos juegos tambin se encuentran antecedentes, debido a que muchas compaas buscan que el usuario se familiarice con su producto, conseguir satisfactorias ventas y al mismo
tiempo ser uno de los principales innovadores en el mercado. En la tabla 2.7 se muestra los dispositivos
ms destacados en el mercado que al mismo tiempo representan una competencia para Kinect.
Controlador de
PlayStation Move
Nintendo Wii
Microsoft Kinect
movimiento
Deteccin de movimiento
Si * 6 sensores de
Si
6 sensores de
eje integrado * XY
eje(adicin de Wii
deteccin de
MotionPlus) XY
cmara
deteccin por ir
Si
controlador;
sensor corporal
sensor
Botones
Si
Si
Feedback
Si *Esfera de color
Si *Vibracin y
cambiante y
audio feedback
No
Si
Audio feedblack
vibracin
Integracin de bateras
Si
No
No
Cmara
Si
No
Si
Realidad aumentada
Si
No
Si
recargables
Cmara
Captura de imagen
Si
No
Si
Seguimiento de cabeza
Si
No
Si
Micrfono
Si (en la cmara)
No
Si
Comando de voz
Si
No
Si
Reconocimiento de voz
Si
No
Si
Controlador secundario
Controlador secundario
Si
Si
No
Integracin de batera
Si
No
No
recargable
Inalmbrica
Si
Si
No
el mando de Wii
Remote
Juegos
Resolucin
Blu-ray de alta
480p
denicin con
potencia de hasta
1080p
Tabla 2.2: Comparacin hecha por Sony
11
HD de hasta 1080p
Se realiza la comparacin entre Microsoft Kinect, PlayStation Move y Nintendo Wii, de sus elementos ms importantes quien les da vida para realizar el control por movimientos:
Video cmara
Para Kinect su principal ventaja es su cmara ya que puede llegar a reconocer hasta cuatro personas
a la vez, puede detectar 48 puntos del cuerpo humano, incluye los movimientos de los dedos. Cuenta
con un reconocimiento fcil, su principal aplicacin es para juegos y se ha ocupado para realizar video
chat en conjunto con X-box 360.Por otro lado el controlador de movimientos de PlayStation se basa
en trabajar con la cmara PlayStation Eyes con el n de dar seguimiento estricto de gestos. Mientras
que Wii no maneja ningn tipo de cmaras.
Control de voz
Kinect cuenta con una matriz de micrfonos lo que ayuda a que tenga un control de voz en juegos,
mens y video chats. Ya que tambin PlayStation cuenta con un conjunto de micrfonos y es capaz de
eliminar eco o cualquier ruido de fondo. Mientras que Wii no cuenta con micrfonos pero se le pueden
agregar si as se desea pero cuentan con un inconveniente y es que solo los ocupa para algunos juegos.
Control
Hablando de control, Kinect cuenta con sensores para realizar el reconocimiento del cuerpo con la nalidad de que cada usuario sea el control, tambin PlayStation cuenta con sensores que sern controlados
por Wiimote , que es un dispositivo que se coloca en la mano, quien puede seguir fcilmente la posicin
del controlador con los altos niveles de precisin, baja latencia, cuenta con un acelermetro para la
velocidad de anlisis del movimiento y otros sensores de velocidad para las mediciones giroscpicas
as como un magnetmetro para la lectura de su posicin en relacin a la supercie de la tierra. La
consola principal puede manejar hasta 4 controles. Pero Wii solo cuenta con dos ejes de deteccin de
movimiento y un giroscopio. [9]
12
2.8.
La realizacin de espejo aumentado llevo mucha investigacin al desarrollar esta aplicacin comenzaron
con la bsqueda de un instrumento para la obtencin de la imgenes, as que tenan varias opciones
como son los sistemas mecnicos, sistemas pticos y sistemas de deteccin de movimientos para lo cual
cada uno tiene una desventaja ya que este proyecto necesita una calibracin de la imagen en tiempo
real, as como tambin utilizar los menores mecanismos que sean posibles y que no se tenga que cablear
ya que se posean con poco espacio para la presentacin, viendo las necesidades recurrieron a Kinect
un dispositivo que no necesita de cableado hacia el usuario, con una calibracin automtica y utilizar
la cmara de profundidad para establecer una realidad virtual.[15]
Para la creacin del proyecto se visualiz en dos escenarios el primero es de control que ser quien
solo tome la imagen del usuario y el escenario aumentado que tomara todo el escenario hasta las
personas que se encuentren a su alrededor pero solo tomando al actor y este se le creara un avatar con
los mismos movimientos que el actor. Debido a que Kinect no cubra absolutamente sus necesidades ya
que el avatar tiene que interactuar con las personas se lleg a la forma de utilizar un girscopo (realizar
el movimiento de la cabeza), Audio (movimiento de la boca), Wii Mote (interaccin con objetos), el
diseo del avatar se realiz con el esqueleto que manipula Kinect como se muestra en la Figura 2.7
13
El desarrollo de una aplicacin que facilita la estimulacin fsica de personas que se encuentran discapacitadas ya que en Espaa se cuenta con una gran cantidad de ellas, para lo cual se desarrolla dicha
aplicacin con dos herramientas independientes que es ADVANT (maneja movimientos realizados por
terapeutas y especialistas quienen auxilia a las terapias, los cuales sern representados por videojuegos que el usuario interactua con gestos corporales) y ADVANT-ED (realizara la unin de los gestos
corporales y el videojuego) como se muetra en la Figura 2.8.
La eleccin de un sistema fue el primer paso y se desarroll la aplicacin en conjunto con Microsoft
Kinect, dicha aplicacin tendr como objetivo escuchar sonidos, colores y guras, ya que la terapia
permitir trabajar los sentidos con ayuda de movimientos teraputicos.[25]
14
Estudiar la viabilidad de utilizar el Kinect como herramienta en sioterapia para los pacientes
neurolgicos
Debido a la gran variedad de patologas neurolgicas se ha visto que cada una tiene una necesidad en
especco, esto es determinada por los cambios siolgicos de la persona llegan a perder estabilidad
en su cuerpo y sus movimientos, al principio utilizar Kinect para este tipo de trabajo se vea difcil
porque cada paciente cuenta con diferente terapia, sin embargo cuando se considera los parmetros de
seguridad para un uso coherente, llamando la atencin los juegos de dicho dispositivo ya que puede
controlar fuerza, velocidad, resistencia, coordinacin, exibilidad y equilibrio como se muestra en la
Figura 2.9
Se realizaron investigaciones con un grupo de juegos para trabajar con: Dance Central, Kinect
Adventures, Kinect Sports, Kinect Sports: Season Two, Kinectimals, Your Shape Fitness Evolved. Los
estudios realizados fueron muy positivos para la gente con quien se trabaj dando como resultado a un
menor tiempo debido a que el paciente tena ms inters en la terapia y lo realizan con mejor precisin.
[22]
Kinect en el deporte
En la actualidad existe una gran variedad de diversas aplicaciones enfocadas en el deporte todas con
el mismo objetivo entretener al pblico la diferencias es lo riguroso, un ejemplo es UFC Personal
Training desarrollada en 2011 en la que se utilizan tcnicas y movimientos de artes marciales mixtas
como parte del programa de educacin fsica, en el que expertos guan al usuario mediante comandos
de voz y un completo seguimiento de reconocimiento del cuerpo, con el objetivo de ofrecer una rutina
de ejercicios innovadores e intensos como se muestra en la Figura 2.10.
15
16
Captulo 3
Componentes
Como cada dispositivo est conformado con una gran variedad de componentes electrnicos como
lo son tarjetas perforadas, circuitos integrados y pequeos dispositivos cada uno de ellos tiene un
funcionamiento especico, Kinect siendo un dispositivo de entrada procesa imgenes y movimientos
pero para realizar esta accin cada componente que lo conforma funciona de diferente manera, para
ello se describen los componentes as como sus caractersticas esto ayudara al programador a decidir
si cumple con los requerimientos que necesita para el desarrollo de su aplicacin.
3.1.
Cmara RGB
Las cmaras utilizan diferentes modelos entre ellos se encuntra el modelo RGB (Red Green Blue) nace
como un espacio de color adecuado para pantallas CRT (Tubo de Rayos Catdicos), por lo cual una
cmara RGB (Red Green Blue) manipula tres colores primarios, rojo verde y azul, al mezclar forman
una gran gama de colores debido a que son colores primarios; la unin entre estos hace que se forme
un color secundario como se muestra en la Figura 3.1.[27]
17
Captulo 3. Componentes
El modelo RGB se representa numricamente esto es que la mezcla de cada color representara un valor
decimal, de forma que 0 es un negro puro hasta 255 que es un blanco puro como se muestra en la
Figura 3.2. Por lo que la mezcla de colores se mostrar en la pantalla, se determinar asignando un
valor a cada uno de los colores primarios; de esta manera un color cualquiera ser representado en el
sistema RGB mediante un grupo decimal (R,G,B) o mediante un grupo hexadecimal #RRGGBB.
Ejemplo:
Si se desea obtener el color rojo se obtiene de la siguiente manera (R = 255, G = 0, B = 0).
Por lo anterior el modelo RGB es de gran importancia en las imgenes para su procesamiento, en la
actualidad muchas cmaras a color utilizan para adquirirlas en formato digital esto es porque el modelo
utiliza tres colores para reproducir en pantalla hasta 16,7 millones de colores.
El procesamiento que se encuentra en cada pxel es la mezcla de los colores como antes se ha mencionado
por lo tanto en las pantallas se espera encontrar colores brillantes como opacos, cuando el valor de los
tres componentes son idnticos se obtiene una matriz de grises ya que se encuentra en la misma escala,
si el valor de todos los componentes es de 255, el resultado ser un blanco puro; pero si se encuentran
todos los valores en 0, el resultado ser un negro puro como se muestra en la Figura 3.2
El manejo de estos colores se divide en canales para su manipulacin en la computadora, debido a que
el ojo humano obedece a los receptores de color. Si la imagen RGB es de 24 bits cada canal tiene 8
bits esto signica que la imagen esta dividida en tres capas cada una con un respectivo color, donde
tienen diferente intensidad de brillo esta estimado entre 0 y 255 es lo que hara cambiar el color nal.
Kinect cuenta con una camara RGB se encuentra en el centro y posee una resolucin de 8-bit VGA
(640x480 pixeles) que opera a travs de un sensor CMOS. esta camara trabaja de igual forma que una
camara independiente.
18
Captulo 3. Componentes
3.2.
Emisor Infrarrojo
Un emisor infrarrojo proyecta un haz de puntos sobre el objeto que se encuentra a su alcance el cual
no se ve a simple vista, trabaja de igual manera que una cmara de profundidad que es un dispositivo
manejado por gente especializada en la fotografa y para conocerla ms a fondo comenzamos con el
trmino profundidad ; en el rea de la fotografa este trmino envuelve muchos elementos, esto es
que se pueden encontrar dependiendo el enfoque que requiera la imagen, ha esto nos lleva encontrar
la profundidad de campo reducida que es aquella que nos ayuda a resaltar un elemento sobre el fondo
y la profundidad de campo amplia para sacar toda la escena lo ms ntida posible un claro ejemplo se
encuentra en laFigura 3.4.[28]
La conguracin ptica permite el reconocimiento de las imgenes en tiempo real ya que Microsoft
al crear Kinect consigue una gran efecto para esta tecnologa, la cmara de profundidad es una de
19
Captulo 3. Componentes
ellas debido a que el uso de muchos de los elementos de las imgenes los obtiene con el metodo de
profundidad de campo reducida.[14]
La mejor forma de entender cmo funciona la cmara de profundidad es dando un ejemplo sencillo;
imaginemos tener una escena con algunos objetos y una aspersor de agua (las que utilizan en los salones
de belleza), nos colocaremos en un lugar que se pueda percibir todos los objetos y solo en un punto
rociaremos el agua, las gotas de agua es igual que los patrones que enva la cmara, por lo tanto a
los objetos que se encuentran ms cerca son los que tendrn ms agua y los objetos ms lejanos sern
aquellos que tengan un mnimo de agua.
3.3.
Sensor infrarrojo
Kinect tiene un mtodo que consiste en proyectar un patrn de luz sobre la escena y observar la
deformacin del patrn en la supercie de los objetos en la Figura 3.5. Al poner objetos delante, el
patron aparecera un desplazamiento y con este Kinect calculara la produndidad que se encuentra.
El sensor utiliza una tecnologa de codicacin llamada Light-Coding que fue desarrollada por PrimeSense que realiza un escaneo en tres dimensiones, es quien emite un patrn de luz infrarroja como
se mencionaba anteriormente se disperse en la escena proyectndose sobre las personas u objetos
presentes.[24]
PrimeSense mantiene la constante en el eje Z esto se reere a que el patrn no cambia, si se proyecta
en una supercie perpendicular al eje focal de la cmara dentro del rango de especicacin de 1.2m a
3.5m, sin embargo dependiendo de la escena en la que se encuentra proyectara el objeto o la persona
que se desea, y el desplazamiento se encontrara en el eje XY.[32]
20
3.4.
Captulo 3. Componentes
El sensor y emisor infrarrojos realizan una tarea en especca, Microsoft los unin teniendo un objetivo, detectar lo que se encontraba frente a Kinect, ellos le dieron el nombre de sensor de profundidad
que consiste en un emisor infrarrojo y un sensor de profundidad, ya explicado anteriormente el emisor
infrarrojo parece una cmara desde el exterior pero es un proyector de luz infrarroja que emite constantemente la luz infrarroja; estos puntos son normalmente invisibles para el ojo humano pero es posible
capturar su informacin de profundidad usando un sensor de profundidad quien leer la luz que se
reeje en diferentes objetos como se muestra en la Figura 3.6. Cuenta con la capacidad de convertirla
en informacin, lo hace tomando la distancia de cada uno de los puntos y esto lo hace tomando el
tiempo que tarda en regresar el pulso.
3.5.
Procesamiento de imgenes
Kinect con ayuda de su proyector IR y emisor IR realizan un complemento para tener la captura de
imgenes en 3D que es la primera vista esto lo hace de los objetos o personas que se encuentran frente
a el para esto no depender de la iluminacin de la habitacin, debido a que son un sensor CMOS
(Complimentary Metal-Oxide- Semiconductor) pero esto es gracias a su principal tecnologa que se
encuentra entre los circuitos y es proporcionada por la compaa Prime Sense en la Figura 3.7 Se
muestra su funcionamiento.
21
Captulo 3. Componentes
3.6. Microfonos
3.6.
Microfonos
Los micrfonos multiarray simulan el funcionamiento del odo humano, contamos con uno en la parte
derecha y otro en izquierda ya que cuenta con una localizacin especica esto hace que el sonido que
entre al cuerpo, el cerebro realizara un calculo y a partir de las diferencias de ondas que le hacen llegar
a cada odo de donde proviene el sonido como se muestra en la Figura 3.8 Una vez que sabe de donde
llega el sonido realiza un algoritmo el cual extrae el principal, es lo mismo que realizan los micrfonos.
22
3.6. Microfonos
Captulo 3. Componentes
Kinect cuenta con un conjunto de cuatro micrfonos, estos son colocados en diferentes localizaciones
especicas, para ello se basan en el conocimiento de principios de propagacin de sonido, esto ayudara
a aumentar o atenuar las seales que emanan de direcciones particulares, de esta forma el conjunto de
micrfonos proporcionan un medio para calcular de donde proviene el sonido como se muestra en la
Figura 3.9.
Cuando fue creado Kinect se penso en el reconocimiento de voz para ello ocuparon una matriz de
microfonos que es la encargada de capturar el sonido, pero a su vez localizar la direccion de donde fue
emitida la onda de audio. Entre las pricipales ventajas se encuentra el reconocimiento de voz el cual se
hace ms ecaz como supresion de ruido, cancelacion de eco. Esto permite a Kinect ser un microfono
bidireccional que puede identicar la localizacin de la voz como su reconocimiento y eliminacin del
eco presente en el medio ambiente.
23
Captulo 3. Componentes
3.7. LED
3.7.
LED
Un LED es una pequea luz siendo un interruptor de iluminacin o bien un indicador, en la Figura 3.10.
Kinect cuenta con un LED de este tipo y se encuentra colocado entre la cmara RGB y el proyector
infrarrojo. Se utiliza para indicar el estado del dispositivo de Kinect, el color verde indica que los
controladores han sido cargados correctamente, de igual manera ocurre cuando lo ha conectado a una
computadora y ser cuando el sistema detecta el dispositivo.[29]
3.8.
Ventiladores
El ventilador son mquinas rotatorias capaces de mover una determinada masa de aire, a la que
comunican una cierta presin, suciente para que pueda vencer las prdidas de carga que se producirn
en la circulacin por los conductos , existen muchas formas y tamaos por ello un ventilador de mayor
tamao mueve ms aire a igual velocidad conocido como revoluciones por minuto (RPM) que uno de
menor tamao, esto signica que para mover una misma cantidad de aire el ventilador necesita girar
a menor velocidad pero tambin cuenta con la desventaja de necesitar un motor ms grande por lo
general es ms ruidoso as como tambin se encuentran en el mercado ventiladores silenciosos.
El ventilador cuenta con un circuito el cual se utiliza para regular la velocidad del ventilador. Existen
dos formas para regular el voltaje:
Voltaje:
troimn. Con un menor voltaje se genera un campo electromagntico de menor fuerza y esto
provocara que el motor gire ms despacio.
voltaje ya que el anterior es un voltaje constante y ests es un voltaje a pulsos. Se podra decir
que el pulso se convierte como un empujn al electroimn, y reduciendo el tiempo que se aplica
la fuerza sobre el electroimn se reduce la velocidad del mismo.
Entre los elementos que conforman Kinect se encuentra un pequeo ventilador que ayuda a que la
temperatura no aumente y no perjudique a los circuitos elctricos, este encuentra alineado en un
24
Captulo 3. Componentes
extremo para aspirar el aire de un lado y empujarlo hacia afuera, el tipo de ventilador que ocupa es
un marca Brushless modelo ASB0305LA que es alimentado con un voltaje de 5Volts, como se muestra
en laFigura 3.7
3.9.
Tarjetas de Kinect
La tarjeta madre es un circuito impreso que son creadas con una o varias capas de obleas de material
aislante Pertinax que es el ms comn y las cuales son cubiertas de material conductor como puede
ser la plata o cobre, sobre las que se dibujan las pistas y contactos de los componentes conectores que
irn soldados sobre ella.
La funcin principal no es solamente el soporte fsico, debido a que est conectadas mecnicamente placas, conectores, microprocesadores y memorias; la funcin para la cual fue diseada es lograr
que todos estos elementos, con sus caractersticas y seales diferentes, se puedan poner de acuerdo e
intercambiar esos datos.
Kinect cuenta con tres tarjetas las cuales cada una tiene funciones distintas pero al mismo tiempo una
depende de la otra, este tipo de tarjetas trabaja al igual que una motherboard de las computadoras
en la Figura 3.7, muestra las tres diferentes tipos de tarjetas y ms delante se conocer como funciona
cada una de ellas y sus elementos mas relevantes.
25
Captulo 3. Componentes
La primera tarjeta encontrada es la que se muestra en la Figura 3.13.La cual lleva el nombre de tarjeta
base, cuenta con una diversidad de circuitos y est elaborada con la misma tcnica que se ocupa
para realizar las mother board (tarjeta madre) que se encuentra dentro de cualquier computadora; el
circuito impreso est diseado para colocar los elementos o procesadores que requiere Kinect para el
procesamiento de informacin.
26
Captulo 3. Componentes
Analog Devices AD8694 - Quad, Low Cost, Low Noise CMOS, Rail-to-Rail amplicador operacional de salida. Este tipo de amplicadores ofrecen un bajo voltaje de entrada y a su vez un nivel
de bajo de ruido, est integrado por ltros de fotodiodos y sensores de alta impedancia esto ayuda a
tener una baja distorsin en el audio.[7]
27
Captulo 3. Componentes
multiplexor de 8 canales. Cuenta con un convertidor analgico al digital para lo cual presenta una
muestra y retencin con un amplicador y reloj interno, asncrono. La interfaz I2C serial, interfaz de
2 hilos y consumo micro energa hace que ADS7830 ideales.[12]
Allegro Microsystems A3906 - Low Voltage Stepper y sencilla / doble conductor del motor de
DC.
Diseado para el control de potencia modulada (PWM) de impulsos de baja tensin de motores
paso a paso, y motores de corriente simple y doble, la A3906 es capaz de las corrientes de salida de
hasta 1 Amper por canal y tensiones de servicio de 2,5-9 Volts. Lo integra un indicador de salida de
sobrecorriente que notica al usuario cuando la corriente en la bobina del motor llega a la corriente
mxima determinada por la resistencia de deteccin; la salida de fallo no afecta el funcionamiento del
controlador esta es una de sus principales ventajas. [18]
PrimeSense PS1080-A2 - procesador SoC sensor de imagen. El PS1080 SoC es un sistema multimodo, proporcionando una imagen de profundidad sincronizada con una imagen de color y audio;
desarrollado por la empresa PrimeSense el cual est conectado al sensor de imagen CMOS y ejecuta
un sosticado algoritmo de clculo paralelo para lo que el descifra el patrn de luz recibida con el n
de producir una VGA- profundidad de imagen y tamao de la escena.[23]
Esta placa cuenta con un TI TAS1020B USB controlador de audio frontal y central. Es un circuito
integrado en un bus serie universal este dispositivo de interfaz perifricos diseados especialmente para
aplicaciones que requieren transmisin de datos isocron. Las aplicaciones incluyen altavoces digitales,
requiere la transmisin de datos de audio digitales entre altavoz a travs de la conexin USB.[11]
28
3.10. Servomotor
3.10.
Captulo 3. Componentes
Servomotor
Primerante se dar a conocer que es un servomotor (o servo) de corriente continua que tiene la capacidad
de ser controlado en posicin. Es capaz de ubicarse en cualquier posicin dentro de un rango de
operacin (generalmente de 180) y mantenerse estable en dicha posicin. Los servos se suelen utilizar
en robtica, automtica y modelismo debido a su gran precisin en el posicionamiento.
Una unidad mecnica que se localiza en la base de Kinect, es conocido como un servomotor de tres
engranajes de plstico, no son muy robustos, este mecanismo inclina automticamente hacia arriba o
hacia abajo segn sea necesario. Esta caracterstica aunque es til, no es vital para el desarrollo de
proyectos.
El motor realiza una inclinacin hacia arriba y hacia debajo de 27 grados que es donde se encuentran
las cmaras para as poder calibrar el espacio de deteccin con ms precisin, ya que el espacio de
visin del sensor es tan solo de 43 grados como se muestra en la Figura 3.16.
29
Captulo 4
Arquitectura general
Kinect funciona con sus componentes, pero si no contara con una arquitectura en su software no
tendra ninguna relevancia en el mundo de los sensores de movimiento, se han desarrollado diversas
plataformas y cada una de ellas trabajan de diferente manera as como la arquitectura con la que
cuenta, con el paso del tiempo han cambian sus versiones conforme a las necesidades de los usuario
dando mejor estabilidad.
4.1.
Caractersticas tcnicas
Kinect cuenta con un sistema el cual es capaz de medir la distancia dentro de un rea de dos metros con
un margen de error de 1cm aproximadamente; estos parmetros de precisin son marcados directamente
por Microsoft, en la Tabla 4.1 se muestran las caractersticas tcnicas de Microsoft Kinect.[4]
30
4.2. OpenNI
Sensores/Cmaras
Doble cmara de
profundidad 3D
resolucin de
Cmara RGB.
con resolucin de
640x480px a
640x480px a
30FPS.
Sensor de
profundidad.
Micrfono
multiarreglo.
30FPS.
Campo de Visin
Rango de
Rango de
vertical= 43
inclinacin fsica=
profundidad=
27
1,2-3,5 metros
320x240 a 16 bits de
640x480 a 32 bit de
Audio de 16 bit a
profundidad a 30FPS.
color a 30FPS.
16kHz.
Campo de visin
Campo de visin
horizontal= 57
Flujo de Datos
Sistema de Seguimiento
Rastrea hasta 6 personas,
Rastrea 20
incluyendo 2 jugadores
articulaciones por
activos.
jugador activo.
Es capaz de
modelar los
avatares a imagen
y semejanza tuya.
Sistema de Audio
Permite chat en vivo y
voz dentro del juego.
Sistema que
Reconocimiento de
cancela el eco.
voz mltiple.
4.2.
OpenNI
OpenNI (open natural interaction) es un framework y la recopilacin de APIs de cdigo abierto el cual
es compatible con Windows y Linux, multi-lenguaje, para escribir aplicaciones que utilizan interaccin
natural (NI)esta se reere a la interaccin que tiene el ser humano con el dispositivo de manera natural
con sus sentidos, centrndose principalmente en la audicin y la visin. Algunos ejemplos sobre NI
puede ser el habla (dar rdenes por voz a un aparato), gestos con las manos (un gesto especico puede
dar una orden al aparato) o captura de movimientos.[20]
Cuando hablamos de un cdigo abierto siempre se relaciona con GNU y este no es la excepcin ya que
ha sido escrito y distribuido bajo la Licencia Publica General de GNU esto nos lleva a que su cdigo
puede ser distribuido libremente, es decir, se puede redistribuir y modicar bajo los trminos de la
Licencia Publica General de GNU. El principal objetivo de OpenNI es formar una API estndar que
permite la comunicacin entre:
Visin y sensores de audio: son los dispositivos o sensores encargados de la adquisicin de los datos
Visin y percepcin de middleware de audio: sern los componentes de software que analizan el audio
y los datos visuales que se introducen desde los sensores.
31
4.2. OpenNI
OpenNI ha buscado la forma para permitir la comunicacin entre sensores de video y audio con
middleware, estos componentes de software que analizan los datos captados por sensores, los examinan
y comprenden un ejemplo de ello es situar una persona de pie con los brazos abiertos en un cuarto, el
sensor captara lo que ve mientras que middleawere se encarga de devolver donde se encuentra situada
la mano derecha de dicha persona mediante la imagen capturada.
Para entender el ejemplo anterior en la Figura 4.1 se visualiza las tres capas que representan los
componentes de OpenNI.
Aplication
OpenNI.
OpenNI Interfaces : Representa a OpenNI, otorgando una interfaz de comunicacin que interacta
entre los sensores y los componentes middleware, que analizan los datos del sensor.
Hardware Device : Representa los aparatos hardware que capturan la informacin visual y auditiva
de la escena aqu encontramos a Kinect.
32
4.3. SDK
4.3.
SDK
El Kit de Desarrollo de Software ( SDK) para Windows es un conjunto de herramientas que permiten
al programador crear aplicaciones capaces de interactuar con el dispositivo y la persona.
Kinect sale al mercado y muchas personas interesadas en esta nueva tecnologa encontraron una segunda
visin para ocupar el dispositivo debido a que empezaron utilizar cdigo abierto que fue desarrollado
por PrimeSens, OpenNi , entre otras otorgndolas como distribuciones libres, este gran xito provoco
que Microsoft decidiera publicar la SDK ocial de Kinect.
El SDK ha estado orientado a la investigacin acadmica principalmente aunque tambin a programadores particulares con el objetivo que experimenten con la creacin de interfaces naturales de usuario,
en los proyectos ms innovadores encontramos en el rea de educacin, medicina, militar entre muchas ms, pero Microsoft ha lanzado una licencia comercial para desarrolladores. Quien permitir la
comunicacin entre el dispositivo y un programa ser Kinect Studio, una herramienta que permite
reproducir una secuencia de acciones frente al sensor.
Al adquirir SDK incluye elementos que ayudaran al desarrollador con su objetivo estas se pueden
observar en la Tabla 4.2
Incluye
Permite
sensor de Kinect
tracking.
mnima.
How tos
33
4.3. SDK
a)
3. Audio y Vdeo Componentes o Kinect interfaz natural de usuario para el seguimiento de esqueleto,
audio, y el color y la profundidad de imagen.
4. DirectX Media Object (DMO) de matriz de micrfonos formacin de haz y localizacin de la
fuente de audio.
5. Windows 7 API estndar - El audio, el habla y APIs multimedia de Windows 7, como se describe
en el SDK de Windows 7 y Microsoft Speech SDK.
34
4.3. SDK
Se lanza en noviembre del 2011 la siguiente versin de SDK coincidiendo con el aniversario del lanzamiento de Kinect para Xbox 360, quien fue denominada con el nombre de Beta 2 pero al igual que
su versin anterior no sera comercial y simplicaba algunos aspectos del uso de las APIs, el cambio
que se obtuvo fue mejorar el rendimiento general de la aplicacin y abstrayendo al desarrollador de
algunos aspectos de inicializacin de hardware. [5]
35
4.3. SDK
manipulacin que realiza tato con el sensor Xbox 360 como para la versin de Windows, mientras que
los anteriores solo funcionaban para Xbox 360.
A continuacin mostraremos algunas diferencias con las que cuenta esta nueva versin
Soporta hasta 4 sensores Kinect conectados en el mismo equipo, asumiendo que el equipo es lo
sucientemente potente y que se conectan a diferentes controladores USB por lo que se cuenta
con suciente ancho de banda. El desarrollador ser el encargado de decir que sensor ocupar.
Est disponible la funcin Near Mode, aunque solo es funcional para el sensor de Kinect para
Windows.
Modelo acstico actualizado que mejora la precisin de los valores devueltos por la Speech API.
APIs y documentacin de referencia para cdigo en modo administrador. Estas APIs proporcionan al desarrollador:
Seguimiento de formas humanas debido a que SDK tiene la capacidad de realizar el seguimiento de la imagen de un cuerpo humano formado un esqueleto con 20 puntos que se
desplaza dentro del campo de vista de Kinect.
Flujo del contenido audiovisual del sensor. El desarrollador tiene acceso a los ujos de datos
del sensor de profundidad, la cmara RGB y del conjunto de micrfonos.
36
4.3. SDK
Las inversiones muestra signicativa de SDK 1.5.0. Hay muchas nuevas muestras tanto en C + +
y C #. Se ha incluido una serie de "puntos bsicos" de las muestras con la cobertura de idiomas
en C + +, C # y Visual Basic.
Los modelos acsticos sean creado para permitir el reconocimiento de voz y en esta versin estos
componentes se encuentran empaquetados individualmente y esos tambin cuentan con una versin ya
que se van a agregando nuevos idiomas debido a que solo contaba con ingls.
37
Captulo 5
Principios de Programacin
5.1.
Requerimientos
Los sistemas operativos compatibles con Kinect para Windows SDK, el su nombre indica, slo se
ejecuta en el sistema operativo Windows. Los siguientes son los sistemas operativos compatibles con
el desarrollo:
Windows 7
Windows Embedded 7
Windows 8
El sensor Kinect para Windows tambin funcionar en Windows que se ejecutan en una mquina
virtual, tales como Microsoft HyperV, VMWare y Parallels.
Los requisitos de hardware no son requisitos tan estrictos en el software. Lo que se puede ejecutar en
la mayor parte del hardware disponible en el mercado. Los siguientes son las conguraciones mnimas
requeridas para el desarrollo de Kinect para Windows:
5.2.
Instalacin de paqueteria
Una instalacin de software es el proceso por el cual sean los nuevos programas son transferidos a la
computadora con el propsito de congurarlos para despus ser ejecutados en un sistema operativo
para cumplir la funcin que fueron desarrollados. La instalacin de un programa recorre diferentes
fases de desarrollo durante su vida til.
38
1. Desarrollo: cada programador necesita el programa instalador, pero con las herramientas, cdigos
fuente, bancos de datos y etc, para modicar el programa o crear los archivos del mismo.
2. Prueba: antes de la entrega al usuario, el software debe ser sometido a pruebas. Esto se hace, en
caso de software complejos, en una instalacin ad hoc.
3. Produccin: Utilizado por el usuario nal.
http://kinectforwindows.org/
instalar, la versin 1.8 de SDK es la ms actual por lo cual descargaremos como se muestra en la
Figura 5.1.
El Kinect para Windows SDK y contiene los controladores, las herramientas, las API, interfaces de
dispositivos y ejemplos de cdigo para simplicar el desarrollo de aplicaciones para el despliegue comercial. Frecuentemente se actualiza el SDK, aadiendo mejoras para tener un mayor control y acceso
a los datos del sensor.
5.3.
Adentro de SDK
El SDK de Kinect proporciona bibliotecas administradas y no administradas, en las aplicaciones desarrolladas en C# o Visual Basic. Net, pueden invocar directamente el .NET Kinect Runtime API's y
para las aplicaciones en C++, que interactan con Native Kinect Runtime API`s, las cuales se comunican con los controladores de Kinect que son instaladas como parte de SDK. Las bibliotecas con no
administradas y gestionadas proporcionan el acceso al mismo conjunto de caractersticas del sensor de
Kinect con otro tipo de API`s.
39
Kinect para Windows SDK proporciona libreras con la extensin .DLL (Dynamic Link Library) las
cuales con archivos que contienen funciones o recursos que podrn ser llamados desde cualquier aplicacin de Windows, este tipo de libreras no son cargadas en el programa principal, solo se cargan cuando
hacen referencia en archivos de inicializacin, la librera a utilizar es Microsoft.Kinect.dll que pueden
ser aadidos a cualquier aplicacin que quiera usar Kinect en la Figura 5.2 se muestra la ubicacin de
la libreria.
40
Mejora en el rendimiento, incluida una mayor compatibilidad con equipos multincleo, recoleccin de elementos no utilizados en segundo plano y asociacin del generador de perles
en el servidor.
Innovaciones en los lenguajes Visual Basic y C#; muestra instrucciones, , distribucin dinmica
y parmetros con nombre u opcionales.
Mejoras en el acceso a datos y el modelado.
Framework permite a los desarrolladores programar con bases de datos relacionales usando objetos .NET y Language Integrated Query (LINQ). Incorpora numerosas caractersticas, incluidas
la compatibilidad con la ignorancia de la persistencia y poco, asociaciones de claves externas,
carga retardada, compatibilidad con el desarrollo controlado por pruebas, funciones en el modelo
y nuevos operadores.
Servicios de datos de WCF es un componente de .NET Framework que permite crear servicios y
aplicaciones basados en REST que usen OData (protocolo de datos abierto) para exponer y usar
datos a travs de la Web. Servicios de datos de WCF tiene numerosas caractersticas, incluida la
compatibilidad mejorada con BLOB, enlace a datos, recuento de las, personalizacin de fuentes,
proyecciones y mejoras en la canalizacin de solicitudes.
Para el desarrollo de aplicaciones instalaremos .NET Framework 4.5 el cual incluye el lenguaje signicativo y mejoras para C #, Visual Basic y C #, la mezcla de ujo de control en el cdigo sincrnico,
una interfaz de usuario sensible y de aplicacin web de escalabilidad. La instalacin no se debe hacer
en todos los sistemas debido a que Windows 8 y Windows Server 2012 incluyen el NET Framework
4.5.. Por lo tanto, usted no tiene que instalar este software en esos sistemas operativos de lo contrario
la mostrara el que ya ha sido instalado como se muestra en la Figura 5.3
41
42
Kinect cuenta con cuatro micrfonos que se pueden utilizar independientemente de todos su dems
elementos para realizar el cambio se dispositivo se encuentra en la seccin de panel de control y elige
sonido donde podr seleccionar un dispositivo de grabacin para modicar su conguracin como se
muestra en la Figura 5.5 tiene la capacidad de emplearse como un micrfono externo.
Para asegurar que el conjunto de micrfonos Kinect est capturando el sonido claramente y que pasa
a su sistema, puede utilizar la opcin escuchar a este dispositivo. Para habilitar ello, haga clic en
micrfono de matriz y seleccione propiedades, ya congurado encender el altavoz de su computadora,
se posicionara delante de Kinect y comenzara a hablar y al mismo tiempo podr escuchar su voz, esto
asegurara que el dispositivo de audio de Kinect se instalo correctamente.
43
5.4.
Programacin en SDK
Para el desarrollo de aplicaciones en SDK se utiliza Microsoft Visual Studio que es un entorno de
desarrollo integrado para sistemas operativos Windows. Soporta mltiples lenguajes de programacin
tales como C++, C#, Visual Basic .NET, F#, Java, Phyton, Ruby, php; al igual que entornos de
desarrollo web como ASP.NET , entre otros; lo que permite a los desarrolladores crear aplicaciones
que se comuniquen entre estaciones de trabajo, pginas web, dispositivos mviles, etc.[16]
Aquellas que controlan y accedan a los sensores de Kinect, quienes se reeren a los sensores
44
mediante la captura de la corriente de color, los datos de ojo de corriente infrarroja y la profundidad, mediante el seguimiento de los esqueletos humanos y tomando el control del sensor. El
conjunto de API's de esta categora se comunica directamente con el hardware mientras que un
par de API's en el procesamiento de aplicar los datos que se capturan.
Las que acceden a los micrfonos y el control de audio, las API's de audio controlan el conjunto
de micrfonos ayudando a capturar el ujo de audio de los sensores, el control de la fuente de
sonido y que permite el reconocimiento de voz, en el Cuadro 5.4.2 muestra un alto nivel de la
clasicacin de API's.
Flujo Profundidad
Acceso Sensores
Kinect SDK API
Flujo de Color
Seguimiento de Esqueleto
Informacin del dispositivo
Flujo de audio
Acceso Micrfonos
Lenguaje
Beamforming
45
Al comenzar agregaremos una referencia esta indicara que trabajaremos con Kinect y tiene el nombre
de Microsoft Kinect.dll como se muestra en la Figura 5.8
En esta primera aplicacin congura la funcionalidad de iniciar y la limpieza, esto ayudara a tener
un mayor ujo de datos, a continuacin se muestra el cdigo que se debe implementar en la ventana
principal esta es la base para utilizar a Kinect.
using System;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Kinect;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
KinectSensor kinectSensor;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
KinectSensor.KinectSensors.StatusChanged += Kinects_StatusChanged;
//verifica cuantos Kinects estan conectados.
46
el sensor de modo privado, la esttica KinectSensors propiedad est llena de la coleccin de Kinects
que estn en su sistema. Dado que la propiedad es esttica, la coleccin de los Kinects est disponible
mientras se ejecuta la aplicacin.
El emisor de infrarrojos de un sensor Kinect proyecta un patrn de luz infrarroja. Este patrn de luz se
utiliza para calcular la profundidad de las personas en el campo de visin que permite el reconocimiento
de las diferentes personas y partes del cuerpo como se muestra en la Figura 5.9.
47
Si utiliza ms de un sensor Kinect para iluminar la zona de destino, es posible que note una reduccin
en la exactitud y la precisin del seguimiento esqueltico debido a la interferencia entre las fuentes
de luz infrarroja. Para reducir la posibilidad de interferencia, se recomienda que no ms de un sensor
Kinect (o fuente de luz infrarroja) apunte a un campo de visin donde se est haciendo el seguimiento
del esqueleto. Recordamos tambin que el seguimiento de Skeleton funciona mejor cuando el usuario
seguido se enfrenta al sensor. [1]
48
5.4.5. Requerimiento
Despus de enumerar los sensores disponibles y encontrar uno que est conectado y listo, el siguiente
paso es permitir que el Kinect para comenzar a transmitir. Hay varios tipos de datos pueden ser
escuchados Que fuera: color, profundidad, esqueleto, e infrarrojas. Este ejemplo muestra cmo habilitar
cada uno de los ujos de datos .
if (this.sensor! = null) {
this.sensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);
this.sensor.DepthStream.Enable(DepthImageFormat.Resolution640x480Fps30);
this.sensor.SkeletonStream.Enable ();
this.sensor.ColorStream.Enable(ColorImageFormat.InfraredResolution
640x480Fps30);
}
KinectSensor
ColorStream
de tipo
ColorImageStream,
que se ocupa de
todo lo que se requiere para la captura de la imagen en color. Lo primero que debe hacer es obtener la
referencia del sensor conectado y comience a ella.
en este fragmento de cdigo sensor es un objeto del tipo KinectSensor que tenga el objeto sensor y
de referencia del sensor Kinect, puede activar la secuencia llamando al Activar () con el mtodo de la
clase ColorImageStream, de la siguiente manera:
this.sensor.ColorStream.Enable ();
Cuando el sensor se est ejecutando y la corriente de color est activada, se inicializar el Kinect sensor
para generar un ijo de imgenes en color. Lo siguiente que tienes que hacer es decirle al sensor de qu
hacer cuando se ha capturado un nuevo cuadro de imagen. Para lograr esto, se necesita un controlador
de eventos que tiene que ser unido al canal de la corriente del sensor.
Por defecto permitir ujo de color con una Resolucin 640 x 480 30 Fps formato de imagen de
color, que es una enumeracin de la tipo ColorImageFormat . La clase ImageStream tiene un mtodo
49
sobrecargado para Activar () si desea inicializar el ujo de color con un formato de imagen diferente,
utilice el mtodo sobrecargado que acepta ColorImageFormat como argumento, como se muestra en el
siguiente fragmento:
this.sensor.ColorStream.Enable (ColorImageFormat.
RgbResolution640x480Fps30);
Para combrobar si el ujo de color esta habilitado La clase
propiedad
ColorStreamImage
IsEnabled, que es de slo lectura. IsEnabled devuelve el estado actual del color canal, se puede
IsEnabled justo antes permitiendo que el canal de ujo de datos en cualquier punto
utilizar la propiedad
en el tiempo, para comprobar si el canal est abierto para el ujo de color antes de acceder a los datos
de la secuencia. He aqu el fragmento de cdigo que utiliza la propiedad
IsEnabled
antes de habilitar
el ujo de color.
if (! this.sensor.ColorStream.IsEnabled)
{
this.sensor.ColorStream.Enable ();
}
Por defecto Activar () no acepta ningn argumento, simplemente puede llamar a este mtodo con el
Depthstream propiedad del sensor de ujo, de la siguiente manera:
this.sensor.DepthStream.Enable ()
50
esqueleto cada joint es una articulacin del cuerpo humano y puede realizar un seguimiento de hasta
seis esqueletos de pie que se encuentran frente al dispositivo y es capaz de devolver los detalles del
esqueleto completo, en la Figura 5.10muestra el esqueleto seguido de una persona de pie, que se basa
en los datos de profundidad.
De forma predeterminada, el seguimiento del esqueleto seleccionar a los dos primeros usuarios reconocidos en el campo de visin. Este comportamiento es consistente (no aleatoria), pero no impulsado
por criterios especcos. Si la aplicacin desea, puede reemplazar el comportamiento predeterminado
y denir la lgica personalizada para seleccionar a los usuarios realizar un seguimiento.
El Kit de Microsoft Face Tracking de desarrollo de software para Kinect para Windows (SDK Face
Tracking), junto con el Kinect para Windows Software Development Kit, le permite crear aplicaciones
que pueden rastrear los rostros humanos en tiempo real. La cara es el motor de seguimiento The Face
Tracking de SDK analiza la entrada de una cmara Kinect, rastrea la posicin de la cabeza y las
expresiones faciales, y hace que la informacin disponible para una aplicacin en tiempo real.
En la Figura 5.11 Muestra como se utilizan las coordenadas de rastreo en 3D. el origen se encuentra
en el centro ptico del sensor, el eje Z apunta hacia el usuario, el eje Y hacia arriba. La mscara 3D
computarizada tiene coordenadas que lo colocan sobre la cara del usuario (en el marco de coordenadas
de la cmara.
51
La conguracin es diferente debido a que se incluyen nuevos archos dll que se requieren para
obtener los joints de la cara
FaceTrackLib.dll
FaceTrackData.dll
Haciendo referencia a:
Microsoft.Kinect;
Microsoft.Kinect.Toolkit;
Microsoft.Kinect.Toolkit.FaceTracking;
52
Captulo 6
Conclusiones
53
Captulo 7
Glosario
API:
BLU-RAY: Lser color azul, cualidad principal de este nuevo lser es que es mucho mas no que
el estandar, de esta forma en un soporte del mismo tamao pero con una capacidad
mayor.
BUFFER: Espacio de memoria, en el que se almacenan datos para evitar que el programa o
recurso que los requiere, ya sea hardware o software, se quede sin datos durante una
transferencia.
C
D
DC-DC:
Es un dispositivo que transforma corriente continua de una tensin a otra. Suelen ser
reguladores de conmutacin, dando a su salida una tensin regulada y, la mayora de
las veces con limitacin de corriente. Se tiende a utilizar frecuencias de conmutacin
cada vez ms elevadas porque permiten reducir la capacidad de los condensadores,
con el consiguiente benecio de volumen, peso y precio.
ESCENA: Circunstancias que rodean a una persona a una persona o un suceso cualquiera.
54
Captulo 7. Glosario
FEEDBACK: Retroalimentacin.
FPS:
G
H
HD:
(High Denition) estndar de video que viene implementndose desde hace ya varios
aos en prcticamente todo el mundo y que posee una calidad superior de imagen y
sonido que sus antecesores.
HOW
TOS: (como hacer) es un documento informal, generalmente corto, que describe cmo cumplir con una cierta tarea. Esta palabra es propia de la jerga informtica o
electrnica.
I
J
K
L
M
55
Captulo 7. Glosario
NEAR
MODE: Modo Cercano realizado para el nuevo Kinect de Windows, que permite a la
cmara de profundidad operar desde una distancia de 40 centmetros de frente.
O
P
Q
R
RAW:
( en ingls crudo )es un formato de archivo que, a diferencia del formato ms popular,
JPEG, no comprime los datos de la imagen al archivarla. Los cheros RAW contienen
la totalidad de los datos de la imagen tal como ha sido captada por el sensor digital
de la cmara, pero no incluyen informacin sobre las caractersticas de la exposicin.
SDK:
(Software development kit - Kit de desarrollo de software): Es un conjunto de herramientas y programas de desarrollo que permite al programador crear aplicaciones para
un determinado paquete de software, estructura de software, plataforma de hardware,
sistema de computadora, consulta de videojuego, sistema operativo o similar.
SEAL
SEAL
ELECTRICA: Seal sonora, difundida y emitida por medio de un dispositivo adecuado sin intervencin de voz humana o sinttica.
TOOLKIT: . Cada SDK cuenta con una caja de herramientas la cual contiene ejemplo, cdigos
y documentacin.
56
Captulo 7. Glosario
U
V
VGA:
(Video Graphics Array) se utiliza tanto para denominar a una pantalla de computadora analgica estndar, al conector VGA de 15 contactos D subminiatura, a la
tarjeta grca que comercializ IBM por primera vez en 1988 o con la resolucin 640
480.
W
X
Y
Z
57
Referencias
[1] Kai Berger, Kai Ruhl, Mark Albers, Yannic Schrder, Alexander Scholz, Stefan Guthe, and Marcus
Magnor. The capturing of turbulent gas ows using multiple kinects. In
Corporation.
Desarrollo
de
kinect.
Historia
de
de
Kinect,
2012.
http://www.microsoft.com.
[5] Microsoft Corporation.
http://www.microsoft.com/en-
us/kinectforwindowsdev/Downloads.aspx.
[6] Renesas Electronics Corporation. pd720114 usb2.0 hub controller". Controlador Usb, 1 de Abril
del 2010. http://documentation.renesas.com/doc/DocumentServer/S18662EJ1V0PF00.pdf.
[7] Analog Devices.
Datasheet 2013.
http://www.analog.com.
[8] Julio Garcia. Vision articial, 2013. http://www.etitudela.com/celula/downloads/visionarticial.pdf.
[9] Gabriela Mercado Gomez.
Universidad Catolica
Instruments.
"tas1020b
usb
streaming
controller".
Datasheet
2002.
http://www.ti.com/lit/ds/sles025b/sles025b.pdf.
[12] Texas Instruments.
Datasheet 2012.
http://www.ti.com/lit/ds/symlink/ads7830.pdf.
[13] Kinecthacks. Eventos de kinect, 2010. http://www.kinecthacks.com.
[14] I. Iralde Lorente. Desarrollo de aplicaciones con microsoft kinect. Ingenieria de Informatica, 2012.
http://academica-e.unavarra.es/bitstream/handle/2454/4803/577722.pdf ?sequence=1.
[15] Inmaculada Coma Marcos Fernandez Lucia Vera, Jesus Gimeno. .espejo aumentado: sistema interactivo de realidad aumentada basado en kinect". Instituto de Robotica. Universitat de Valencia,
2011. http://smagris3.uv.es/irtic/sites/default/les/EspejoAumentado.pdf.
[16] Andres Marzal. "desarrollo de aplicaciones con .net y wpf". Departamento de lenguajes y sistemas
informaticos Mayo del 2010. http://decharlas.uji.es/resources/dotnet/wpf.pdf.
58
REFERENCIAS
REFERENCIAS
[17] Wolfson microelectronics. "stereo adc with microphone preamplier". Wolfson microelectronics
Mayo 2004. www.wolfsonmicro.com.
.a3906 low voltage stepper and single/dual dc motor driver".
Datas-
[21] Numonyx. "8-mbit (1 mbit x 8 or 512 kbits x 16, boot block) 3 v supply ash memory". Datasheet
2009. www.numonyx.com.
.estudo da viabilidade da uti-
do
logicos".
kinect
como
Proceedings
ferramenta
of
SB
no
Games
atendimento
2012.
sioterapeutico
de
pacientes
neuro-
http://base.gamux.com.br/events/2012.11.02-
SBGames12/proceedings/papers/gamesforchange/g4c-04.pdf.
[23] PrimeSense.
"the
primesense
3d
awareness
sensor".
Natural
Interaction
2012.
http://www.primesense.com/wp-content/uploads/2012/12/PrimeSense-3D-Sensor-A4-Lo.pdf.
[24] Brett
Jones
Rajinder
Sodhi.
Kinect
proyector.
Universidad
de
Illinois,
2010.
http://augmentedengineering.com/ProCamCalibration/brjones2rsodhi2Final.pdf.
[25] Virginia Gonzalez Rosquete. .advant y advant-ed: plataforma para el entrenamiento cognitivo y
sico con kinect". SINPROMI. S. L .Sociedad Insular para la Promocion de las Personas con Discapacidad, 2011. http://diversidad.murciaeduca.es/publicaciones/dea2012/docs/vgonzalez.pdf.
[26] Fairchild Semiconductor. "fds8984 n-channel powertrench". Fairchild Semiconductor Mayo 2007.
www.fairchildsemi.com.
[27] Hector
Desloges
The
BabelColor
Company.
review
of
rgb
Elementos
de
color
spaces,
2003.
http://www.babelcolor.com/download/A
[28] thewebfoto.
Curso
de
fotograa
digital.
profundidad,
2008.
http://www.thewebfoto.com/Thewebfoto-Curso-de-fotograa-digital.pdf.
[29] Round Type.
Datasheet 2008.
http://www.casadelled.com.ar/ZL-
504G0CA10.pdf.
[30] Cecilio Blanco Viejo.
Apress, 2010.
[32] Zalevsky Zeev y Shpunt Alex. ethod and system for object reconstruction. Patente disponible,
2006. http://www.cs.cmu.edu.
59