visitas
3319
votos
15
votos++Votar positivamente esta entrada :)
+38
votos--Votar negativamente esta entrada :(
-23
Kinect: Como funciona su 3D body tracking
Para obtener la imagen 3D cuenta con un proyector de luz infrarroja y una cámara que capta sólo este tipo de luz, de manera que la intensidad de la luz infrarroja que llega rebotada a la cámara, le indica a la consola la profundidad a la que se encuentra ese pixel, creando, de esta manera, un mapa de alturas en blanco y negro de 320x240 píxeles, dónde el color más blanco indica que está más cerca y el color más oscuro más lejos. Este método no es el único para dotar a una máquina de visión estereográfica, también se puede reconstruir una imagen 3D de la realidad usando dos o más cámaras, pero el método elegido funciona aunque las condiciones de iluminación sean malas.
También tiene una cámara a color a 640x480 píxeles con sensor CMOS y autofocus para grabar en video a los jugadores, hacer reconocimiento facial, y separar a las personas del fondo, ya que la información de color y texturas es fundamental para esta tarea. Separar algo del fondo técnicamente se llama segmentación y antes de hacer esto también se debe utilizar algún algoritmo para alinear la imagen en color con el mapa de alturas, para lo cual es necesario conocer el espacio entre las dos cámaras y, supongo, que las tendrán bien calibradas, ya que de no ser así, sus lentes, provocarían deformaciones distintas, dificultando la tarea de hacer la correspondencia de píxeles, mientras que con la calibración se pueden anular las deformaciones antes de hacer la correspondencia.
Una vez segmentada la persona se deben reconocer sus partes y asignar cada una a un esqueleto virtual, cuya posición determinará la acción que vamos a realizar en el juego.
En la base tiene un motor para calibrar su posición con la ayuda de un acelerómetro interno, lo cual indica que los algoritmos que usa para identificar las partes de una persona producen errores si las cámaras no están mirando justo de frente al sujeto.
Terminado el reconocimiento del cuerpo, en los siguientes fotogramas usará algún algoritmo de seguimiento para saber a dónde nos movemos, de esta forma no tendrá que hacer tantos cálculos para segmentarnos y reconocer nuestras partes del cuerpo, como en el primer fotograma.
Como todo sistema de inteligencia artificial, necesita un entrenamiento para que pueda aprender a reconocernos. Esto se hace dejando la mano quieta delante del dispositivo y haciendo algunos movimientos delante de la pantalla. De esta manera el sistema extrae los patrones necesarios para identificar las características propias de nuestras manos (color de piel, tamaño, etc.) y de nuestro cuerpo (anchura, altura, etc.).
Sin duda es un dispositivo interesante y no me extrañaría nada que se usara su tecnología para la fabricación de robots. Habrá que probarlo para ver si supera el nivel de precisión del Wii remote plus o el Playstation Move.
En la próxima entrada explicaré otra funcionalidad interesante de Kinect, el micrófono multiarray.