La evolución de Kinect y la importancia real de Microsoft Research

La evolución de Kinect y la importancia real de Microsoft Research
9 comentarios Facebook Twitter Flipboard E-mail

Que Kinect es importante para Microsoft es casi una perogrullada. El dispositivo de captura de los de Redmond va mucho más allá de un simple método de control de su consola de videojuegos y se ha convertido en un elemento importante de su estrategia y una referencia para muchos de sus productos. Pero ademas es una muestra palpable de lo que puede nacer a partir de la combinación de un departamento de la empresa con el laboratorio de ideas de Microsoft Research.

El primer Kinect ya fue muestra de ello. Tres años después es esa misma unión la que ha permitido evolucionar el dispositivo hasta límites insospechados para acompañar la salida de Xbox One. En todos sus apartados Kinect 2.0 supone una importante mejora respecto a su predecesor y durante esta semana Microsoft ha aprovechado para explicar como ha sido parte del proceso de desarrollo de un gadget que va camino de convertirse en pieza fundamental en la interacción entre humanos y máquinas.

Kinect 1.0

Cuando Microsoft presentó Project Natal en el E3 de junio de 2009 muchos vieron en él una simple respuesta de los de Redmond ante el indudable éxito que Nintendo estaba cosechando con Wii y su sistema de control. Pero bajo ese proyecto con nombre de ciudad brasileña se escondía Kinect, un dispositivo que resultó ser un éxito de ventas incuestionable y con el tiempo ha terminado por ser mucho más de los esperado.

Kinect 1.0

Aunque la tecnología que subyace al primer Kinect nace a partir de los desarrollos de software del estudio Rare y de la tecnología de captura de imágenes de la compañía israelí PrimeSense, será la combinación del equipo de Xbox con las investigaciones de Microsoft Research lo que posibilite su llegada al mercado.

Control de nuestro avatar con Kinect 1.0

El dispositivo en forma de barra usaba un proyector infrarrojo y una cámara que escaneaban la escena y enviaban la información a un microchip especialmente preparado para capturar en tres dimensiones el movimiento de objetos y personas. A ellos se le unía una fila de micrófonos capaz de reconocer la voz del usuario. Todos estos elementos en conjunto permitían la captura de movimiento en 3D junto al reconocimiento facial, de gestos y de voz.

Para tal tarea las especificaciones de Kinect no suponían nada del otro mundo. La cámara tenía resolución VGA y actuaba a 640x480 por defecto, aunque era capaz de trabajar a 1280x1024 píxeles a costa de una menor tasa de refresco. El microchip incluido apenas realizaba parte del trabajo de procesar la información dejando buena parte de la tarea a la propia consola.

Una de las claves de todo el sistema residía en el software creado por Microsoft para interpretar toda la información recogida por los sensores de Kinect. Es aquí donde Microsoft Research jugó y sigue jugando un papel importante, investigando los más diversos usos para Kinect y colaborando en el SDK que desde 2011 Microsoft tiene disponible online para que cualquier desarrollador lo integre en sus productos o servicios.

Kinect 2.0

La gran diferencia del nuevo Kinect respecto a su predecesor reside en la nueva cámara principal. La segunda generación del dispositivo de captura de movimientos incorpora una cámara time-of-flight (TOF) de alta resolución que permite al próximo Kinect de Xbox One capturar más detalles con gran precisión y mayor resolución. El nuevo modo de profundidad proporcionado por esta cámara TOF permite reproducir una escena con tres veces más fidelidad que el primer Kinect.

Kinect 2.0

No es la única ventaja de utilizar este tipo de cámara. Con ella además se logra un campo de visión un 60% más grande, lo que permite registrar un espacio mayor y posibilita que más personas puedan ser registradas al mismo tiempo y a una menor distancia del dispositivo. Con la nueva consola pueden aparecer hasta 6 personas en escena reconociendo y distinguiendo todos sus movimientos. Es un avance importante respecto a su predecesora que sólo era capaz de registrar el movimiento de 2.

El segundo gran cambio en la nueva generación de Kinect viene de la mano del nuevo sensor de infrarrojos que logra reconocer objetos y personas en condiciones de muy poca luz. El sensor es ahora tan potente que permite identificar elementos en una habitación totalmente a oscuras. La precisión es tal que puede reconocer gente y registrar cuerpos incluso sin ninguna luz visible para el ojo humano. Con poca luz reconoce la pose de la mano hasta a cuatro metros de distancia, distinguiendo con precisión cada uno de los dedos.

Kinect 2.0 distingue el esqueleto completo del usuario, la orientación de sus miembros, los músculos del cuerpo, y hasta el latido de su corazón.

La combinación de los nuevos elementos permite registrar no sólo la silueta del usuario, sino distinguir su esqueleto completo, la orientación de sus miembros, los músculos del cuerpo con la fuerza y distribución de pesos ejercida sobre ellos, y hasta el latido del corazón. El reconocimiento facial también se ve ampliamente mejorado, detectando hasta el mínimo detalle y gesto y permitiendo una identificación más precisa. Para hacerse una idea de lo que supone todo esto basta echar un vistazo al siguiente vídeo.

Todo esta nueva tecnología cuenta además con una mejora en el procesador de Kinect que le permite hacer frente a la ingente cantidad de información que obtienen todos los nuevos sensores. Hasta 2 gigabits de datos por segundo son recogidos por el dispositivo para leer el entorno. Toda esa información ha de ser procesada e interpretada rápidamente y para ello ha sido necesario una evidente mejora en las especificaciones de la máquina.

Pero con cambiar los componentes no ha sido suficiente. El potente escáner en que se ha convertido Kinect necesita de un software capaz de interpretar todo lo que ve, y para ello ha sido necesario llevar a cabo una importante evolución en el código que lo dirige. Es aquí donde la experiencia y conocimiento de Microsoft Research se ha vuelto más importante que nunca, ayudando al equipo de Xbox allí donde aparecían problemas y proporcionando las soluciones adecuadas de manera rápida y eficaz. Kinect 2.0 se convirtió así en el producto de una colaboración cuya historia demuestra el potencial que esconde Microsoft en su laboratorio de ideas.

El proceso de evolución

La evolución de Kinect es la historia de como un equipo de ingenieros trataba de incorporar una cámara TOF a Xbox One. Este tipo de cámaras emiten señales lumínicas que rebotan en los objetos y son recogidas de vuelta midiendo el tiempo que tardan en recorrer la distancia. Para que funcionen adecuadamente, distinguiendo reflejos de objetos en una habitación y de su ambiente, es necesario una precisión de hasta 1/10 mil millones de segundos. Semejante nivel de exactitud es la única forma de proporcionar suficiente información como para permitir computar adecuadamente las formas y contornos de los objetos.

Suena complicado, y el problema es que alcanzar estos niveles con un producto de consumo es tan difícil como parece. Durante el proceso de desarrollo del nuevo Kinect hubo que hacer frente a todo tipo de problemas que tenían que ser resueltos en un tiempo limitado. Kinect 2.0 debería estar listo para acompañar la salida de Xbox One, prevista para finales de 2013.

En estas circunstancias es donde Microsoft cuenta con un as en la manga: Microsoft Research, su laboratorio de ideas. El equipo tras Kinect se sirvió del basto conocimiento y experiencia técnica de los miembros de Microsoft Research para solucionar los diversos problemas que iban surgiendo con la nueva tecnología integrada en el dispositivo. He aquí donde los años de inversión en investigación y desarrollo empezaron a dar frutos gracias a la colaboración entre los distintos departamentos de la compañía.

Reconocimiento de personas en Kinect 2.0

Parte de los investigadores de Microsoft Research trabajaron junto al equipo de Kinect en la optimización de algoritmos y parámetros mientras otros se centraban en los datos y software para calcular la profundidad registrada por los sensores. Cuando fueron conscientes de los retos que suponía la introducción de una cámara TOF, los investigadores tuvieron que aprender de nuevo como funcionaba la tecnología tras Kinect para poder ayudar al equipo de software con los algoritmos de reconocimiento facial y de las manos.

El reto no era sencillo. Lograr diferenciar los objetos en primer plano del fondo y minimizar el efecto de desenfoque de la cámara supone una tarea colosal. Para lo primero había que medir con precisión pequeños objetos en todo tipo de escenarios y con todo tipo de condiciones de luz. Hubo que trabajar hasta que fue posible diferenciar los dedos de las manos evitando que se confundiesen con el entorno. Fruto de ese trabajo el nuevo Kinect es capaz de detectar objetos de tan solo 2,5 centímetros de tamaño, frente a los 7,5 centímeros de su predecesor. La cuestión del desenfoque requirió algo más de trabajo y optimización de software, pero con el tiempo, los ingenieros de Microsoft lograron reducir el motion blur desde los 65 milisegundos del Kinect original hasta los 14 milisegundos de su sucesor.

Todas estas tareas requieren procesar una ingente cantidad de información. Los datos capturados por las cámaras de Kinect son por píxel, lo que supone que cada uno de los 220 mil píxeles que soporta el sensor de Kinect recoge datos independientemente. A eso hay que sumar mucha más información recogida por el resto de sensores. La cuestión complicada es lograr identificar e interpretar toda esa información, separando los elementos y la profundidad a la que se encuentran y eliminando el ruido de la imagen.

Con Kinect, Xbox One necesita procesar 6,5 millones de píxeles por segundo

Xbox One necesita procesar 6,5 millones de píxeles por segundo y sólo una pequeña parte del poder de computación de la consola puede ser dedicado a la tarea de interpretar la información ya que la mayor potencia ha de estar reservada para los juegos, el seguimiento del esqueleto o el reconocimiento facial o de audio. Era necesario realizar muy poca computación por cada pixel y para ello fue necesario "limpiar" todos esos datos mediante software con algoritmos cada vez más optimizados. Sin la inestimable ayuda de Microsoft Research, el equipo de Kinect nunca hubiese logrado su objetivo a tiempo.

La importancia efectiva de Microsoft Research

El trabajo combinado del equipo de Kinect con la gente de Microsoft Research no ha sido una relación meramente de consulta. Los investigadores de Microsoft asumieron buena parte del trabajo y construyeron toda una infraestructura y el software que permitiese solucionar los problemas que implicaba afrontar la evolución del dispositivo. El conocimiento de los dos equipos en sus respectivas áreas permitió avanzar más rápido que por separado.

Kinect 2.0 en Microsoft Research

La clave era la velocidad con la que se integraron y la capacidad de proporcionar soluciones en un corto periodo de tiempo. Pero todo ese trabajo no se limita a sacar un producto a la venta. La ventaja adicional es que los avances realizados por los ingenieros de Redmond están disponibles para los desarrolladores, permitiendo trabajar con más modos de visión y datos mucho más limpios.

Kinect deja ver todo el potencial que esconde Microsoft como compañía y que se revela cuando sus departamentos trabajan de manera integrada. Multiples investigadores de Microsoft Research han sido parte activa en el desarrollo de Kinect 2.0, trabajando en un proyecto que va a tener un impacto inmediato en el mercado. Para quienes llevamos tiempo demandando una mayor participación de Microsoft Research en los productos de los de Redmond es una buena noticia.

Kinect es además la demostración palpable de que Microsoft Research es mucho más que un laboratorio de ideas, es un capital fundamental para el futuro de Microsoft.

Vía | The Official Microsoft Blog | TechCrunch

Comentarios cerrados
Inicio