Está en la página 1de 65

Universidad Autnoma del Estado de Mxico

Centro Universitario UAEM Zumpango


Ingeniera en Computacin

"Descripcin y anlisis de la tecnologa de Kinect"

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

Zumpango Estado de Mxico a 23 de Diciembre 2013

ii

Contenido

Resumen

Agradecimiento

Contenido

iii

Lista de Tablas

Lista de Figuras

vi

1. Introduccin

1.1.

Antecedentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.

Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.

Objetivos

1.4.

Justicacin.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5.

Delimitacin de estudio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Precursores de Kinect.

2.1.

Put-That-There: interfaz graca de voz y gestos . . . . . . . . . . . . . . . . . . . . . .

2.2.

Flexi-modal y multi-machine interface

2.3.

U-Force

2.4.

Sega Activador

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.

Sensores 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.6.

Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.7.

Video juegos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.8.

Desarrollo de aplicaciones con Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Componentes

17

3.1.

Cmara RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2.

Emisor Infrarrojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.3.

Sensor infrarrojo

20

3.4.

Funcionamiento sensor infrarrojo y emisor infrarrojo

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.

Kinet for Windows SDK Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

4.3.4.

Kinet for Windows SDK 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

4.3.5.

Kinet for Windows SDK 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

4.3.6.

Kinet for Windows SDK 1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

4.3.7.

Kinet for Windows SDK 1.7 y 1.8

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.

Prueba de matriz de micrfonos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .

43

Programacin en SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

5.4.1.

Interaccin entre aplicacin y Kinect

. . . . . . . . . . . . . . . . . . . . . . . .

44

5.4.2.

Clasicacin de API's

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

5.4.3.

Iniciar nuevo proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

5.4.4.

Multiples Kinect's

47

5.4.5.

Requerimiento

5.4.6.

Captura y procesamiento de la secuencia de datos de imgenes

5.4.7.

Procesamiento de imagenes de profundidad

5.4.8.

Captura de la corriente de infrarrojos

. . . . . . . . . . . . . . . . . . . . . . . .

50

5.4.9.

Seguimiento de esqueleto humano y movimientos articulares . . . . . . . . . . . .

50

5.4.10. Reconocimiento de la cara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4.11. Captura de ujo de audio

49

. . . . . . . . . . . . . . . . . . . . .

50

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4.12. Habilitacin de reconocimiento de voz


5.4.13. Ajustes del ngulo del sensor de Kinect

49

. . . . . . . . . .

52

. . . . . . . . . . . . . . . . . . . . . . . .

52

. . . . . . . . . . . . . . . . . . . . . . .

52

6. Conclusiones

53

7. Glosario

54

Referencias

58

iv

Lista de Tablas

2.1.

Comparacin de sensores 3D

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.

Comparacin hecha por Sony

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

4.1.

Caractersiticas tecnicas

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.2.

Elementos que incluyen SDK de Kinect

5.1.

Clasicacin de API's

. . . . . . . . . . . . . . . . . . . . . . . . . . .

33

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

Lista de Figuras

2.1.

Vista de la ocina

2.2.

Flexi-modal y multi-machine interface

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.

U-Force

2.4.

Sega Activador

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.

Sensores 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.6.

Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.7.

Espejo Aumetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.8.

Entretenimiento cognitivo y sico con Kinect

. . . . . . . . . . . . . . . . . . . . . . . .

14

2.9.

Terapia de equilibrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.10. Aplicacin de UFC con Kinect

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
6
7

16

3.1.

Colores primarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2.

Cubo RGB

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

3.3.

Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.4.

Profundidad de campo reducida y profundidad de campo amplia

3.5.

Sensor de profundidad de Kinect

3.6.

Sensor infrarrojo y emisor infrarrojo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.7.

Procesamiento de imgenes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.8.

Oido humano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.9.

Arreglo de microfonos Kinect

23

3.10. LED de Kinect

. . . . . . . . . . . . .

19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.11. Ventilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.12. Tarjetas madre de Kinect

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.13. Tarjeta base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.14. Segunda tarjeta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.15. Tercer tarjeta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.16. Motor de inclinacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

4.1.

Esquema de Capas de OpenNI

32

4.2.

Arquitectura SDK

4.3.

Kinect for Windows SDK beta

5.1.

Pagina de descarga de Kinect for Windows SDK

5.2.

Libreria .dll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

5.3.

Error de Microsoft .NET Framework 4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

5.4.

Explorador de Kinect

5.5.

Conguracin de microfono

5.6.

Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

5.7.

Proyecto de Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

5.8.

Agregar Referencias

5.9.

Multiples Kinect`s

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34
35
39

42
43

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

5.10. Articulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

5.11. Seguimiento de cara

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.

La esquematizacin de la tecnologa suministra una amplia visin de la forma en que se comporta


cada uno de los elementos y sus caractersticas principales, lo que proporciona la base para realizar
aplicaciones que requieran el uso de movimientos, gestos, y voz, a su vez conocer los elementos bsicos
para el desarrollo de proyectos innovadores.

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

1.2. Planteamiento del problema

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.

Planteamiento del problema

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

Herramientas de Desarrollo de Software), que abre la posibilidad de desarrollar

nuevas aplicaciones que cambiaran la forma de ver un dispositivo de control de movimientos.

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

Describir los componentes principales de Kinect, destacando la ubicacin de la cmara, micrfo-

nos, motor y sensores.

Esquematizar la arquitectura general de Kinect, dando a conocer la forma en que se lleva a cabo

la interaccin entre el usuario y el dispositivo.

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.

Put-That-There: interfaz graca de voz y gestos

En 1980 Architecture Machine Group en el instituto de Massachusetts realiz el proyecto con el n


de tener un avance tecnolgico con el cual experimentaron el uso de comandos de voz como entrada
y reconocimiento de gestos, fue creado en una ocina personal de 16 pies de largo y tres metros de
ancho, en el piso se encuentra el cableado que conecta a las computadoras que impulsan a la pantalla
y dispositivos de comunicacin.

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.

2.1. Put-That-There: interfaz graca de voz y gestosCaptulo 2. Precursores de Kinect.

Figura 2.1: Vista de la ocina

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.

Captulo 2. Precursores de Kinect.

2.2. Flexi-modal y multi-machine interface

2.2.

Flexi-modal y multi-machine interface

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]

Figura 2.2: Flexi-modal y multi-machine interface

2.3.

U-Force

Es un dispositivo de juegos realizado por el sistema de entretenimiento Nintendo, el anuncio de este


hardware se dio en el ao de 1989, utiliza una matriz de sensores para crear una imagen tridimensional
de alimentacin de campo de 8 a 10 pulgadas por encima o delante de cada sensor. La alimentacin
de campo detecta la posicin y movimiento de los objetos dentro de ella mediante la combinacin de
la informacin de todos sus sensores, cuenta con 10 sensores en ella (5 en cada panel) que leen sus
movimientos de la mano y que se traduzcan en movimientos y acciones, su principal desventaja de

2.4. Sega Activador

Captulo 2. Precursores de Kinect.

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]

Figura 2.3: U-Force

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.

Figura 2.4: Sega Activador

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]

Captulo 2. Precursores de Kinect.

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

Figura 2.5: Sensores 3D

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

Captulo 2. Precursores de 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

SDK 1.8 OpenNI

G B

SDK 2.2

Windows
Profundidad

Xtion
Xtion Pro

ASUS

0.8m - 3.5m

Xtion Pro Live


Carnime 1.09
PrimeSense

Carnime 1.09

Profundidad 2
Microfonos R

OpenNI SDK 2.2

G B
0.8m - 3.5m
0.35m -1.4m

Profundidad 2
Microfonos R

OpenNI SDK 2.2

G B

Tabla 2.1: Comparacin de sensores 3D

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

Figura 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.

Captulo 2. Precursores de Kinect.

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

2.7.

Captulo 2. Precursores de Kinect.

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

Debe estar con

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

Captulo 2. Precursores de Kinect.

2.7. Video juegos

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. Desarrollo de aplicaciones con Kinect

2.8.

Captulo 2. Precursores de Kinect.

Desarrollo de aplicaciones con Kinect

Espejo Aumentado: sistema interactivo de Realidad Aumentada basado en Kinect.

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

Figura 2.7: Espejo Aumetado

13

Captulo 2. Precursores de Kinect.

2.8. Desarrollo de aplicaciones con Kinect

Advant y Advant-ed: plataforma para el entrenamiento cognitivo y fsico con Kinect.

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]

Figura 2.8: Entretenimiento cognitivo y sico con Kinect

14

2.8. Desarrollo de aplicaciones con Kinect

Captulo 2. Precursores de Kinect.

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

Figura 2.9: Terapia de equilibrio

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

Captulo 2. Precursores de Kinect.

2.8. Desarrollo de aplicaciones con Kinect

Figura 2.10: Aplicacin de UFC con Kinect

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

Una cmara es un dispositivo de entrada, su funcin principal es la captura de imgenes a travs de


la luz, por medio de va ptica, estas se podrn transferir a un sistema electrnico como pueden ser
televisores, monitores, proyector de video entre otros.[8]

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]

Figura 3.1: Colores primarios

17

Captulo 3. Componentes

3.1. Cmara RGB

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

Figura 3.2: Cubo RGB

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

3.2. Emisor Infrarrojo

Captulo 3. Componentes

Figura 3.3: Kinect

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]

Figura 3.4: Profundidad de campo reducida y profundidad de campo amplia

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

3.3. Sensor infrarrojo

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.

Figura 3.5: Sensor de profundidad de Kinect

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. Funcionamiento sensor infrarrojo y emisor infrarrojo

3.4.

Captulo 3. Componentes

Funcionamiento sensor infrarrojo y emisor infrarrojo

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.

Figura 3.6: Sensor infrarrojo y emisor infrarrojo

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

Figura 3.7: Procesamiento de imgenes

El diagrama se explica de la siguiente manera:


Cuando se conecta Kinect y encuentra la necesidad de capturar datos de profundidad, esta peticin
es enviada al chip PrimeSense el cual enviara una seal al emisor de infrarrojos para encender la luz
infrarroja (1), a su vez enva otra seal Sensor de profundidad para iniciar la captura de datos de la
profundidad (2). El emisor infrarrojo mientras tanto empieza a enviar una luz infrarroja invisible para
el ojo humano (3). Se inicia el sensor de profundidad IR comienza con la lectura de los datos a partir
del objeto encontrado, basado en la distancia de la luz individual (4), se enva al chip PrimeSense (5)
este analiza los datos capturados, y crea una imagen de profundidad la cual ser enviada (6).

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

Figura 3.8: Oido humano

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.

Figura 3.9: Arreglo de microfonos Kinect

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]

Figura 3.10: LED de Kinect

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:

Para variar la velocidad de un ventilador disminuyendo el voltaje de entrada al elec-

troimn. Con un menor voltaje se genera un campo electromagntico de menor fuerza y esto
provocara que el motor gire ms despacio.

Pulso de amplitud modulada (PWM) :

la diferencia entre el anterior y este mismo es tipo de

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

3.9. Tarjetas de Kinect

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

Figura 3.11: Ventilador

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

3.9. Tarjetas de Kinect

Figura 3.12: Tarjetas madre de Kinect

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.

Figura 3.13: Tarjeta base

Los principales elementos son:


NEC uPD720114 - Es un controlador de hub USB 2.0, a este controlador lo caracteriza que se
encuentra en un paquete extremadamente pequeo, el cual est integrado por un regulador de voltaje
de 2.5Volts para la lgica interna del ncleo, reduce el nmero de componentes externos necesarios.
El consumo de energa del controlador se reduce considerablemente cuando el eje es activo a travs de
 tecnologa de ahorro de energa .[6]
Wolfson Microelectronics WM8737G - Este componente es un ADC (convertidor analgico digital) el cual interpreta la seal del audio conocida como senoidal y la cambia una digital esto es a una
seal cuadrada interpretada como pulsos, la baja de audio es diseada especcamente para aplicaciones porttiles como minidisco y grabadoras de voz de memoria. Este tipo de amplicadores cuentan
con un ahorro de energa para conseguir una salida de audio de 16-32-bits, utiliza ADC sigma-delta
multi-bit estreo de 24-bits y soporta una frecuencia de muestreo de 8Hz a 96Hz.[17]

26

3.9. Tarjetas de Kinect

Captulo 3. Componentes

Fairchild Semiconductor FDS8984 N-Canal PowerTrench MOSFET- Un semiconductor es un


elemento con propiedades elctricas entre las de un conductor y un aislante, este en circuito de canal
N que se ha diseado especcamente para mejorar la eciencia global de convertidores DC / DC con
sincrnica o conmutacin PWM convencionales controladores. Se ha optimizado para la carga bajo la
puerta, baja y la velocidad de conmutacin rpida.[26]
H1026567 XBOX1001 X851716-005 Gepp (ayuda a identicar este 6 mm x 4.9 mm Paquete SAP.
Posiblemente SPI ash.

Marvell AP102 - SoC con el controlador de interfaz de la cmara.


Hynix H5PS5162FF- Es el portador de la memoria DDR2 (Double Data Rate type two ) SDRAM
(Synchronous Dynamic Random-Access Memory) Este tipo de memoria son capaces de trabajar con
4 bits por ciclo, es decir dos de ida y dos de vuelta, el funcionamiento consiste a que se encuentra un
pequeo buer que es aquel que guarda la informacin para luego transmitirla fuera del mdulo de
memoria. Kinect cuenta con una 512 de megabit DDR2 SDRAM.[30]

Figura 3.14: Segunda tarjeta

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]

TI ADS7830I - El uso de este dispositivo es de bajo consumo de alimentacin nica, 8 bits,


dispositivo de adquisicin de datos que cuenta con una serie I, ya que cuenta con una interfaz y un

27

Captulo 3. Componentes

3.9. Tarjetas de Kinect

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]

ST Microelectronics M29W800DB - 8 Mbit (1Mb x8 o 512Kb x16) memoria no voltil se ocupa


como lectura, borrado y reprogramado. La memoria se divide en bloques que se puede borrar de forma
independiente por lo que es posible conservar los datos vlidos, mientras que los datos antiguos se
borran. Cada bloque es independiente ya que se pueden proteger el que se crea ms importante. [21]

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]

Figura 3.15: Tercer tarjeta

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]

A MEMS Kionix KXSD9 acelermetro es probablemente utilizado para la inclinacin y sensores


de inclinacin, y posiblemente de estabilizacin de imagen. El Kinect tambin utiliza esto para saber
si el sensor ha sido movido externamente.

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.

Figura 3.16: Motor de inclinacin

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

Captulo 4. Arquitectura general

Sensores/Cmaras
Doble cmara de

Cmara VGA con

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.

Tabla 4.1: Caractersiticas tecnicas

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

del entorno (visual y auditivo).

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

Captulo 4. Arquitectura general

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.

Figura 4.1: Esquema de Capas de OpenNI

Aplication

: Representa el software que implementa la aplicacin de Interaccin Natural sobre

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.

Captulo 4. Arquitectura general

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

Drivers y documentacin tcnica para la

Reconoce y realiza un seguimiento de una a

implementacin de aplicaciones utilizando el

dos personas que se desplazan dentro del

sensor de Kinect

campo de visin del sensor mediante Skeletal

APIs de referencia y documentacin que

Determina la distancia de un objeto desde el

ayudara a la programacin. La API ofrecen

sensor utilizando una cmara de profundidad

tracking.

un ujo de mltiples medios con una latencia

XYZ que tenga acceso al ujo de color

mnima.

adems de una corriente de profundidad.

Ejemplos que muestran las buenas prcticas

Captura de audio con ruido y cancelacin de

para el uso de un sensor, as como un

eco encontrado la ubicacin de la durante de

navegador de ejemplos, instalacin y

audio utilizando un haz durante la captura.

How tos

ejecucin de las muestras.


quien descompone las muestras en

Reconocer el habla de captura integrado en

tareas para el usuario.

el Microsoft Speech Recognition

Tabla 4.2: Elementos que incluyen SDK de Kinect

4.3.1. Arquitectura SDK


Cada plataforma cuenta con una arquitectura diferente como ya lo vimos con OpenNI, como se muestra
en la Figura 4.2 el funcionamiento con SDK.[4]

33

Captulo 4. Arquitectura general

4.3. SDK

Figura 4.2: Arquitectura SDK

Estos componentes tienen una funcin en especco como se describe a continuacin:

1. Hardware de Kinect - Los componentes de hardware, incluido el sensor de Kinect y el concentrador


USB a travs del cual el sensor Kinect est conectado a la computadora.
2. Drivers de Kinect - Los controladores de Windows para el Kinect, que se instala como parte del
proceso de instalacin SDK.

a)

Los conductores Kinect apoyo:

1) El conjunto de micrfonos Kinect como un dispositivo de audio en modo de ncleo que


se puede acceder a travs de la API de audio estndar de Windows.
2) Audio y controles de streaming de vdeo para el streaming de audio y video (color,
profundidad, y el esqueleto).
3) Funciones de enumeracin de dispositivos que permitan una aplicacin para utilizar
ms de un Kinect.

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

Captulo 4. Arquitectura general

4.3.2. Versin de SDK


El Kinect para Windows SDK permite utilizar C + +, C # o Visual Basic para la crear aplicaciones y
experiencias usando gesto de apoyo y reconocimiento de voz utilizando el sensor Kinect para Windows
y un ordenador o dispositivo incorporado. El kit de herramientas de desarrollador contiene recursos
adicionales, aplicaciones de muestra con cdigo fuente completo, Kinect Studio y otros recursos para
simplicar y acelerar el desarrollo de aplicaciones.

4.3.3. Kinet for Windows SDK Beta


Poco despus del lanzamiento de Kinect y debido a que la comunidad de investigadores y desarrolladores
de software comenzaron a obtener un codigo libre de este sensor provoc que saliera al pblico pero
solo para un cierto sector, la primera versin de SDK Beta de Kinect y fue publicada en la primavera
de 2011, su objetivo era animar a desarrolladores a usar libreras propias de Microsoft para el desarrollo
de aplicaciones sobre Kinect y de esta forma experimentar con esta interfaz de usuario natural.

Figura 4.3: Kinect for Windows SDK beta

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]

4.3.4. Kinet for Windows SDK 1.0


Las versiones anteriores fueron Beta esto nos lleva que son de prueba, viendo como reacciono su pblico
y que solicitaba nuevas herramientas llegaron a pensar en una nueva versin, nalmente en febrero del
2012 Microsoft anuncia una nueva versin de sensor Kinect nombrada Kinect for Windows SDK 1.0
que incorporaba cosas novedosas comparndola con la anterior. Su principal ventaja encontrada es la

35

Captulo 4. Arquitectura general

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.

Cuenta con estabilidad de drivers, el tiempo de ejecucin y la correccin de audio.

Actualizaciones y mejoras de la API.

Mejora el manejo de errores.

FPS corregidos para el modo de alta resolucin.

Modelo acstico actualizado que mejora la precisin de los valores devueltos por la Speech API.

Controladores y documentacin tcnica para aplicaciones que utilicen el sensor Kinect.

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.

Funciones de audio avanzadas. Se incluyen supresin del ruido ambiental y cancelacin de


eco, algoritmos para identicar la fuente de sonido.

4.3.5. Kinet for Windows SDK 1.5


La versin 1.5 de SDK es compatible con la 1.0 mientras que se han realizado diferentes cambios en el
tookit como se muestra a continuacin:

A partir de esta versin, el SDK se ha dividido en un SDK ncleo y un conjunto de herramientas


de desarrollador. Estos son dos instalaciones separadas.

Todas las muestras se han trasladado a Developer Toolkid.

36

4.3. SDK

Captulo 4. Arquitectura general

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.

4.3.6. Kinet for Windows SDK 1.6


La versin 1.6 de SDK ha cambiado solo algunos aspectos esto se da para tener un mayor rendimiento en la interaccin, a continuacin se enlistan las mejoras
Con el Kinect para Windows SDK, puede desarrollar aplicaciones en Windows 8
Cuenta con una compatibilidad con Visual Studio incluyendo el nuevo NET Framework 4.5
Los datos del acelermetro del sensor expone en el API, esto permitir la deteccin de la orientacin del sensor

4.3.7. Kinet for Windows SDK 1.7 y 1.8


Los cambios que se realizaron estas dos versiones son conjuntos debido a que solo la versin 1.7
cambio en la transformacin de objetos en 3Dimensiones debido a que solo se realizaron avances muy
pequeos en esta, mientras que en la 1.8 genero el cambio completo y as mejorando en la captura de
movimientos y colores que proporciona Kinect Fusion fue el nombre asignado para esta versin, cuenta
con la interaccin con html5 y la eliminacin de fondos.

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:

Procesador de 32 - (x86) o 64 bits (x64)


Dual core 2.66 GHz o ms rpido
Dedicado bus USB 2.0
2 GB de RAM

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

5.3. Adentro de SDK

Captulo 5. Principios de Programacin

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.

5.2.1. SDK Windows


La instalacin de SDK de Windows es esencial para la creacin de proyectos por lo que se realizara
la descarga del instalador desde

http://kinectforwindows.org/

encontraremos diferentes paquetes para

instalar, la versin 1.8 de SDK es la ms actual por lo cual descargaremos como se muestra en la
Figura 5.1.

Figura 5.1: Pagina de descarga de Kinect for Windows SDK

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

Captulo 5. Principios de Programacin

5.3. Adentro de SDK

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.

Figura 5.2: Libreria .dll

El controlador de Kinect puede controlar la cmara, sensor de profundidad, conjunto de micrfonos


y el motor. Los datos pasan entre el sensor y la aplicacin en forma de ujo de datos de los siguientes
tipos:
Flujo de datos de color
Flujo de datos de profundidad
Flujo de datos de audio

5.3.1. .NET Framework


NET Framework es el modelo de programacin completo y coherente de Microsoft para compilar aplicaciones que ofrezcan una sensacional experiencia visual del usuario, comunicacin perfecta y segura,
y la capacidad de modelar una amplia gama de procesos.
Microsoft .NET Framework 4 proporciona las siguientes mejoras y caractersticas nuevas:

40

5.3. Adentro de SDK

Captulo 5. Principios de Programacin

Mejoras en Common Language Runtime (CLR) y la biblioteca de clases base (BCL)

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.

Nuevos tipos numricos y archivo asignado en memoria.

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

Figura 5.3: Error de Microsoft .NET Framework 4.5

41

Captulo 5. Principios de Programacin

5.3. Adentro de SDK

5.3.2. Comprobacin de instalacin

Al realizar la instalacin del SDK contiene un conjunto de ejemplos de aplicaciones ya desarrolladas


y creadas que sern tiles para comenzar, se pueden elegir cualquiera de ellas para comprobar que
el dispositivo est funcionando correctamente. Para comprobar que Kinect envi los datos se puede
ejecutar la aplicacin Developer Toolkit en la que encontraremos el ejemplo de Explorador de Kinect
quien muestra los datos recuperados de color, profundidad, audio y esqueleto; en la Figura 5.4 muestra
la referencia de la interfaz de usuario con la aplicacin.

Figura 5.4: Explorador de Kinect

42

5.3. Adentro de SDK

Captulo 5. Principios de Programacin

5.3.3. Prueba de matriz de micrfonos

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.

Figura 5.5: Conguracin de microfono

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

Captulo 5. Principios de Programacin

5.4. Programacin en SDK

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]

Figura 5.6: Visual Studio

5.4.1. Interaccin entre aplicacin y Kinect


Al principio solo conocemos que SDK contiene herramientas para el desarrollo pero no solo realiza
esa funcin sino que tambin funciona como una interfaz entre el dispositivo Kinect y la aplicacin
por crear, cuando requiere accesar al sensor la aplicacin enva una llamada a la API que ser el
conductor y es quien accesa a los datos para tomar su lugar para despus mandar a llamar los dems
controladores.
Los controladores instalados para los sensores se sientan con los componentes de los controladores de
dispositivos del sistema y pueden comunicarse entre s, los conductores transmitirn el video y datos de
audio de los sensores y la devuelven a la aplicacin esto ayudara a detectar el conjunto de micrfonos
de Kinect como un dispositivo de audio predeterminado y a su vez como reconocimiento de voz por
defecto.

5.4.2. Clasicacin de API's


Para conocer el funcionamiento de las diferentes API's es bueno tener una visin clara de la manera
en que trabajan, primeramente son control de la biblioteca de SDK y se clasican en:

Aquellas que controlan y accedan a los sensores de Kinect, quienes se reeren a los sensores

44

5.4. Programacin en SDK

Captulo 5. Principios de Programacin

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

Tabla 5.1: Clasicacin de API's

5.4.3. Iniciar nuevo proyecto


Para comenzar a crear un nuevo proyecto con Kinect para Windows SDK lo realizaremos con C#,
se tiene que elegir entre Windows Form quien controla el diseo de los formularios otorgando una
hoja en blanco que el desarrollador rellenara con controles, para crear una interfaz de usuario y con
su respectivo cdigo para procesar datos o WPF (Windows Presentation Foundation) el cual es un
conjunto de libreras para implementar aplicaciones dando al desarrollador una mejor presentacin a
sus aplicacin, en este ejemplo se utiliza WPF como se muestra en la Figura ..5.7

Figura 5.7: Proyecto de Visual Studio

45

Captulo 5. Principios de Programacin

5.4. Programacin en SDK

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

Figura 5.8: Agregar Referencias

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

5.4. Programacin en SDK

Captulo 5. Principios de Programacin

foreach (KinectSensor kinect in KinectSensor.KinectSensors)


{
if (kinect.Status == KinectStatus.Connected)
{
kinectSensor = kinect;
break;
}
}
if(KinectSensor.KinectSensors.Count == 0) MessageBox.Show(" error ");
else
Initialize();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}

5.4.4. Multiples Kinect's


Kinect para controladores de Windows admiten el uso de varios sensores en un solo equipo. El API
incluye funciones que enumerar los sensores para que pueda determinar cuntos Kinects estn conectados a la computadora, obtener el nombre de un sensor en particular, y establecer las caractersticas
de transmisin para cada sensor. Despus de encontrar el sensor conectado, necesita habilitar alguna
o todas las secuencias de datos (color, profundidad, y el esqueleto) y luego iniciar la transmisin de
datos del sensor.

Enumerar los Kinects que se conectan al ordenador mediante la clase

KinectSensor. Cuando se declara

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.

sensor KinectSensor privado;


foreach (var potentialSensor en KinectSensor.KinectSensors) {
if (potentialSensor.Status == KinectStatus.Connected)
{
this.sensor = potentialSensor;
break;
}

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

Captulo 5. Principios de Programacin

5.4. Programacin en SDK

Figura 5.9: Multiples Kinect`s

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. Programacin en SDK

Captulo 5. Principios de Programacin

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);
}

5.4.6. Captura y procesamiento de la secuencia de datos de imgenes


La captura de la cmara de color regresa imgenes RGB de 32 bits con una resolucin que va desde
640 x 480 pixeles hasta 1280 x 960 pixeles. El sensor Kinect para Windows admite hasta 30 FPS
(fotogramas por segundo). Utilizando el SDK, captura el ujo de datos de imgenes en directo a
diferentes resoluciones ha esto nos referimos a los datos del color como una secuencia de imgenes de
color enviadas por el sensor.
La clase

KinectSensor

tiene una propiedad

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.

this.sensor = KinectSensor.KinectSensors.FirstOrDefault (sensorItem =>


sensorItem.Status == KinectStatus.Connected);
this.StartSensor ();

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

Captulo 5. Principios de Programacin

5.4. Programacin en SDK

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

tambin incluye una

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 ();
}

5.4.7. Procesamiento de imagenes de profundidad


Kinect regresa datos de profundidad tipo raw de 16 bits este formato enva los datos de la imagen
sin comprimir a comparacin de una jpg, cada uno de estos pixeles dentro de los datos representa la
distancia entre el objeto y el sensor, apoyados con SDK de Kinect API's dando unas resoluciones de
640 x 480, 320 x 240 y 80 x 60 pixeles.
Con el procesamiento de imgenes de profundidad se realiza la tcnica de modo cera que se caracteriza
por hacer el seguimiento de un cuerpo humano dentro de un rango de aproximadamente 40 centmetros.
Se puede controlar el modo de sensores por lo que su caracterstica se encuentra integrada en el rmware
del sensor Kinect.
El sensor Kinect conectado y habilitar el canal de ujo de profundidad. El siguiente fragmento de
cdigo encuentra el sensor de Kinect y luego permite que el canal de ujo de profundidad:

this.sensor = KinectSensor.KinectSensors [0];


this.sensor.DepthStream.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 ()

5.4.8. Captura de la corriente de infrarrojos


Kinect cuenta con la capacidad de capturar imgenes en condiciones de muy poca luz, mediante la
lectura de la corriente de infrarrojos lo nico que no podr realizar es identicar los colores pero si al
usuario por medio de los datos de profundidad y los datos infrarrojos simultneamente.

5.4.9. Seguimiento de esqueleto humano y movimientos articulares


La funcin ms innovadora que realiza el SDK de Kinect es su soporte para el seguimiento del esqueleto
humano, el cual puede detectar el movimiento del pie, Kinect llega a reconocer 20 joints en un solo

50

5.4. Programacin en SDK

Captulo 5. Principios de Programacin

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.

Figura 5.10: Articulaciones

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.

5.4.10. Reconocimiento de la cara

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

Captulo 5. Principios de Programacin

5.4. Programacin en SDK

Figura 5.11: Seguimiento de cara

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;

5.4.11. Captura de ujo de audio


Kinect cuenta con cuatro micrfonos congurados en lnea trabajan con ayuda de SDK quien proporciona la capacidad de procesamiento de audio de alta calidad mediante el uso de su propio audio
interno y le permite no solo capturar datos en bruto sino tambin de alta calidad de procesamiento
habilitando la supresin de ruido.

5.4.12. Habilitacin de reconocimiento de voz


Al tener Kinect una matriz de cuatro micrfonos realiza el reconocimiento del habla por medio de
Windows Speech para reconocer la voz y realizar aplicaciones con este elemento quien da la opcin de
poder disear su propio vocabulario y pasarlo al reconocimiento esto se da debido a que un usuario
cuando menciona alguna palabra realiza un gesto en especico.

5.4.13. Ajustes del ngulo del sensor de Kinect


El SDK proporciona acceso directo a el control del motor del sensor quien ayuda a cambiar los angulos
de elevacin el el cual su valor mximo y mnimo es limitado a 27 grados y -27 grados en SDK s esto
sirve para darle la mejor visin del usuario.

52

Captulo 6
Conclusiones

53

Captulo 7
Glosario

API:

estn compuestas por un conjunto de interfaces para realizar aplicaciones IN.

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:

(frames per second) fotogramas estn constituidos por un nmero determinado de


pxeles que se distribuyen a lo largo de una red de texturas. La frecuencia de los
fotogramas es proporcional al nmero de pxeles que deben generarse, incidiendo en
el rendimiento del ordenador que los reproduce.

FRECUENCIA: Cantidad de oscilaciones de un movimiento ondulatorio y vibratorio, calculado


en una unidad temporal, llamndose hertz al suceso que ocurre una vez por segundo.
Si en un segundo el evento se repite dos veces sern dos hertz, y as sucesivamente.

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

MICROSOFT: Empresa multinacional, dedicada al sector de la informatica.


MOTHERBOARD: (Plaqueta Madre) es el circuito impreso que sirve como medio de conexin
entre el microprocesador, la memoria, slots, chips y dems elementos que forman la
computadora.

MIDDLEWARE: Aplicacin para interactuar o comunicarse con otras aplicaciones, software,


redes, hardware y/o sistemas operativos. ste simplica el trabajo de los programadores en la compleja tarea de generar las conexiones que son necesarias en los sistemas
distribuidos.

55

Captulo 7. Glosario

NINTENDO: Empresa multinacional de videojuegos.


NTIDA:

Limpio, terso. Bien denido y preciso.

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

PERTINAX: Es un material compuesto de papel y un fenol - formaldehdo resina sinttica -. Este


papel laminado se utiliza en electro-tecnologa y en electrnica como sustrato para
el aislamiento de las unidades de obra y circuitos, principalmente en forma de placas
de circuito impreso (placas), que o mutuamente abrigos con copperto sea posible.

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.

ROBUSTOS: Fuerte, vigoroso y rme.

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

ACUSTICA: Seal sonora, difundida y emitida por medio de un dispositivo adecuado


sin intervencin de voz humana o sinttica.

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

Proc. CDC4CV 2011.

IEEE, November 2011. ISBN: 978-1-4673-0061-2.


[2] Richard A. Bolt.

Put-That-There voice and gesture at the graphics Interface. Architecture Machine

Group, Massachusetts Institute of Technology, Cambridge, Massachusetts 02139.


[3] Michael Bett Alex Waibel Ben Bostwick Robert C. Miller Jie Yang Matthias Denecke Edgar
Seemann Jie Zhu Choon Hong Peck Dave Kong Jerey Nichols Bill Scherlis Brad Myers, Robert Malkin.

Flexi-modal and Multi-Machine User Interfaces.

School of Computer Science, Car-

negie Mellon University, http://www.cs.cmu.edu/ cpof.


[4] Microsoft

Corporation.

Desarrollo

de

kinect.

Historia

de

de

Kinect,

2012.

http://www.microsoft.com.
[5] Microsoft Corporation.

Kinect for windows sdk beta, 2012.

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.

"low cost, low noise, cmos, rro operational ampliers".

Datasheet 2013.

http://www.analog.com.
[8] Julio Garcia. Vision articial, 2013. http://www.etitudela.com/celula/downloads/visionarticial.pdf.
[9] Gabriela Mercado Gomez.

"wii - microsoft kinect - playstation move".

Universidad Catolica

Nuestra Senora dela Asuncion 2011. http://www.jeuazarru.com/docs/kinectWii.pdf.


[10] Griph. U-force. Historia de U-Force, 2012. http://www.griph.net/tag/u-force/.
[11] Texas

Instruments.

"tas1020b

usb

streaming

controller".

Datasheet

2002.

http://www.ti.com/lit/ds/sles025b/sles025b.pdf.
[12] Texas Instruments.

"8-bit, 8-channel sampling analog-to-digitalconverter".

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".

[18] Allegro MicroSystems.

Datas-

heet 2012. http://www.allegromicro.com/en/Products/Motor-Driver-And-Interface-ICs/BrushDC-Motor-Drivers/A3906.aspx.


[19] Nintendo. Historia.

Teaching natural user interaction using Open-

[20] enserio Bret Swan Norman Villaroman, Dale Rowe.

NI and the Microsoft Kinect sensor.

Conference on Information technology education, 2011.

[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-

[22] erre S. Brandao Pollyeverlin R. Rocha, lex H. Defavari.


lizaao

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.

"model no: Zl-504g0ca1".

Datasheet 2008.

http://www.casadelled.com.ar/ZL-

504G0CA10.pdf.
[30] Cecilio Blanco Viejo.

Fundamentos de electronica Digital.

[31] Jarrett Webb y James Ashley.

Thomson, Cuarta Edicion, 2000.

Beginning Kinect Programming with the Microsoft Kinect SDK.

Apress, 2010.
[32] Zalevsky Zeev y Shpunt Alex. ethod and system for object reconstruction. Patente disponible,
2006. http://www.cs.cmu.edu.

59

También podría gustarte