0

Introducción a Kinect

¿Qué hace Kinect?

El Kinect es una cámara de profundidad. Las cámaras normales recogen la luz que rebota en los objetos en frente de ellos. Estas convierten la luz en una imagen que se asemeja a lo que vemos con nuestros ojos. El Kinect, por otro lado, registra la distancia de los objetos que se colocan frente a él. Utiliza luz infrarroja para crear una imagen (una imagen de profundidad) que no captura lo que los objetos parecen, sino los que están en el espacio.

Figura 1. Imagen de profundidad captada con Kinect.

Figura 1. Imagen de profundidad captada con Kinect.

En primer lugar, una computadora entiende mucho más fácil una imagen de profundidad que una imagen convencional de color. Cualquier programa trata de entender una imagen comenzando con sus pixeles e intenta encontrar y reconocer a las personas y objetos que representan estos. Si eres programador y estas buscando pixeles de colores, es muy difícil diferenciar objetos de personas. Además la mayor parte del color de los pixeles está determinado por la luz en la habitación en el momento que la imagen fue capturada, la abertura y el cambio de color de la cámara, y así sucesivamente. ¿Cómo podemos saber donde empieza un objeto y termina otro, por no hablar de qué objeto era y si ahí estaba alguna persona presente? En una imagen de profundidad, además, el color de cada pixel nos dirá qué tan lejos está esa parte de la imagen de la cámara. Puesto que estos valores corresponden directamente al lugar donde se encuentran los objetos en el espacio, estos son mucho más útiles en la determinación para saber en donde empieza un objeto, en donde acaba otro y si hay alguna persona alrededor. También, debido a la forma en que Kinect crea la imagen profunda, esta no es sensible a las condiciones de luz en la habitación en el momento que fue capturada. El Kinect capturará la misma imagen de profundidad en una habitación iluminada o en una obscura.

[youtube -jWMaY0WO7c 510 380]

Una imagen de profundidad ademas contiene información tridimensional precisa acerca de lo que se encuentra frente al Kinect. A diferencia de una cámara convencional, que captura como se ven las cosas, una cámara de profundidad captura donde están estas. El resultado es que se pueden utilizar estos datos para reconstruir un modelo 3D de lo que capta la cámara. Podemos entonces manipular este modelo, observándolo interactivamente desde ángulos adicionales, combinándolo con otros modelos 3D preexistentes, e incluso utilizándolo como parte de un proceso de fabricación digital para producir nuevos objetos físicos. Nada de esto se puede hacer con cámaras convencionales de color.

kinect vista
Figura 2. Detección de personas y de sus articulaciones.

Y finalmente, a partir de que las imágenes de profundidad son mucho más fáciles de procesar que las convencionales de color, podemos ejecutar algún procesamiento verdaderamente vanguardista en ellas. Específicamente, podemos usarlas para detectar y rastrear individualmente a las personas, incluso localizar sus articulaciones y partes del cuerpo. En muchos sentidos, esta es la capacidad más emocionante de Kinect. De hecho, Microsoft desarrolló el Kinect específicamente por las oportunidades que esta habilidad de detección del cuerpo ofrece a los videojuegos. El seguimiento individual de las partes del cuerpo del usuario, crea posibilidades increíbles para nuestras aplicaciones interactivas. Afortunadamente, tenemos acceso a software que puede ejecutar este procesamiento y simplemente darnos la localización de lo usuarios.

Kinect sin carcasa
Figura 3. Kinect sin carcasa, visto de izquierda a derecha: Proyector IR, cámara RGB y cámara IR.

 

¿Qué tiene adentro? ¿Cómo  trabaja?

Pareciera que el Kinect tiene tres ojos: dos en el centro y otro a un lado hasta el final. Este “tercer ojo” es el secreto de cómo trabaja Kinect. Se trata de un proyector de luz infrarroja, dicha luz tiene una longitud de onda más larga que la de la luz visible, por lo que no la podemos ver. Por otro lado tampoco es ofensiva, estamos constantemente expuestos a esta luz todos los dias en forma de luz solar.

El proyector infrarrojo del Kinect ilumina una red de puntos infrarrojos sobre todo lo que se encuentre frente a este. Estos puntos son normalmente invisibles para nosotros, pero es posible verlos con una cámara infrarroja. En la figura 4, se muestra un ejemplo de cómo se ven los puntos del proyector infrarrojo.

Captura de pantalla 2013-07-07 a las 01.27
Figura 4. Imagen de la red de puntos invisibles emitidos por el proyector infrarrojo del Kinect.

La fotografía de la figura 4, fue tomada con la cámara IR del Kinect. Esta se trata de un sensor específicamente diseñado para capturar luz IR. En la figura 3, es la que se encuentra en el lado derecho.

Por lo tanto, el mismo Kinect puede ver la red de puntos IR que es proyectada sobre los objetos que están frente a él. Pero ¿cómo se traduce esta imagen en información sobre la distancia de los objetos? en la fábrica es donde se hizo, cada Kinect es calibrado para saber exactamente dónde aparece cada punto del proyector cuando se proyecta contra una pared plana a una distancia conocida. Cuando un objeto está más cerca que la distancia de calibración, este empujará los puntos IR fuera de la posición en una dirección y si el objeto está más lejos, empujará los puntos fuera de la posición pero hacia otra dirección. dado que el Kinect está calibrado para conocer la posición original de todos los puntos, se puede utilizar su desplazamiento para averiguar la distancia de los objetos.

Por otra parte, el siguiente “ojo” es la cámara de color. Esta cámara tiene un sensor digital que es similar al que tienen las web cam y las pequeñas cámaras digitales. Tiene una resolución relativamente baja (640 x 480 pixeles). Como se encuentra a un lado de la cámara IR, el Kinect puede alinear la imagen en color  de esta cámara con la información de profundidad capturada por la cámara IR. Esto significa que es posible alterar el color de la imagen en función de su profundidad  y, a la inversa, es posible “dar color” a las imágenes 3D creadas por la información de profundidad, creando esceneos 3D o entornos virtuales con colores realistas.

[youtube xsfVJxakDa8 510 380]

Además de las cámaras, el Kinect cuenta con cuatro micrófonos. El propósito de estos, no es sólo para capturar sonido, para eso, un micrófono habría sido suficiente. Mediante el uso de estos micrófonos juntos, localiza el sonido dentro de una habitación. Por ejemplo, si varios jugadores están hablando comandos para controlar un juego, el Kinect puede saber de quién está recibiendo dichos comandos. ¡increible!

Figura 5. Los micrófonos son los que están en color rosa.

Figura 5. Los micrófonos son los que están en color rosa.

Y por último, Kinect puede moverse. Dentro de la base de plástico, hay un pequeño motor y una serie de engranajes. Al activar este motor, el Kinect puede inclinar sus cámaras de arriba a abajo. El rango de movimiento está limitado a 30 grados. Esta capacidad de moverse, es para que se ajuste de acuerdo a la dimensión de la habitación y a la localización de los jugadores.

No hace falta que te demos más razones para que agregues a tu mesa de trabajo el Kinect, hazte de uno y realiza proyectos como el siguiente:

¿Dónde comprarlo?

Internacional

México

Conoce más

Para que aprendas a usar Kinect, te recomendamos que leas los siguientes libros:

Así mismo puedes visitar el sitio oficial y consultar nuestra sección de sitios recomendados, donde encontrarás tutoriales, noticias y proyectos.