Los secretos de Kinect

Los secretos de Kinect
8 de noviembre, 2010

Hemos tenido la oportunidad de entrevistar a Alex Acero, uno de los máximos responsables del desarrollo de Microsoft Kinect y que está especializado en el área del sonido y el reconocimiento de voz. Esta es precisamente una de las características menos conocidas de Kinect, que permitirá ofrecer un interesante sistema de control por órdenes de voz. En dicha entrevista hemos conocido todos los detalles sobre esta tecnología, su relevancia en Kinect, además de hablar sobre esta revolución.

Este ingeniero español tiene una dilatada carrera en el terreno de la investigación: como demuestra su currículum en Microsoft Research, trabajó en Apple y en Telefónica I+D antes de entrar a formar parte en 1994 de la división Microsoft Research, un gigantesco centro que tiene sedes tanto en Redmond (la más importante, con cerca de 400 investigadores), como en Bangalore (India), Beijing (China), Cambridge (Reino Unido), Cambridge (Massachusetts), Mountain View (California) y San Francisco (California).

Desde ese momento Acero ha trabajado en diversos proyectos, siempre relacionados con el reconocimiento de voz y el procesado de lenguaje natural. Una de las aplicaciones de su trabajo, por ejemplo, ha sido la realizada en el sistema de reconocimiento de voz de los automóviles Ford, el llamado Ford Sync. Pero desde hace aproximadamente 2 años y medio su trabajo y el de su equipo ha sido el de proporcionar a Microsoft Kinect un sistema eficiente de reconocimiento de voz.

Claves del reconocimiento de voz de Kinect

Cuando comenzaron a trabajar en este problema, nos contaba Acero, uno de los problemas que surgieron fue el de la cancelación de eco, un tipo de proceso que es clásico en la telefonía pero que no es tanto en este tipo de periféricos. De hecho tenemos ejemplos recientes como el de Skype, que como indicaba el investigador español funciona de forma decente cuando la distancia entre el interlocutor y el micrófono no era demasiado amplia.

Sin embargo a este problema se une otro: mientras que los sistemas de cancelación de eco casi se aplicaban en configuraciones de sonido mono, en Kinect la configuración es de cuatro micrófonos, por lo que el proceso era mucho más complicado. De hecho, según algunos estudios previos, la cancelación de eco estereofónica o con más de una fuente parecía imposible.

Sin embargo Acero y su equipo han logrado resolver el problema y hacer posible que esta cancelación de eco sea realmente eficiente. Tanto, que el proceso está en constante mejora: la última versión del firmware de Kinect fue completada hace tan solo una semana, y la calidad del software en temas como la cancelación del eco "es como cinco veces mejor" a la que por ejemplo tenían preparada en Casa Kinect en el momento en que pudimos comprobar su eficiencia.

Cada uno de estos cubos representa una patente concedida al investigador o empresa responsable del estudio. Y Alex Acero ya dispone de 89 de estos cubos… además de los que están a la espera.

Afortunadamente las actualizaciones software de la consola y de Kinect permitirán obtener dichas mejoras de forma frecuente. Tal ha sido la calidad de la solución que ya la han patentado y puede que se sume a las nada menos que 89 patentes que ya tiene Acero en su despacho y que de hecho probablemente se amplíen pronto ya que el proceso de aprobación de patentes "tarda entre tres y cinco años".

En iFixit realizaron un despiece de una unidad de Kinect y en una de las imágenes podemos comprobar la posición de tres de los cuatro micrófonos que están integrados en Kinect. Estos tres micrófonos están situados en la parte derecha del dispositivo, por uno en la parte derecha. Como comentaba Acero, el diseño "alargado" de Kinect favorece esa calidad de recepción de los micrófonos, aunque por supuesto cuanto más largo sea el dispositivo, mejor.

first image

Tres de los cuatro micrófonos de Kinect, en el despiece revelado por iFixit.

En Microsoft nos confirmaron que inicialmente no habrá soporte para el idioma español en la parte del reconocimiento de voz: era demasiado importante preparar el sistema para que funcionara bien en primera instancia, construir las bases y los cimientos del sistema, para a partir de ahí ir creciendo en funciones y, como decíamos, en soporte de idiomas. Se espera que el reconocimiento de voz en castellano esté preparado en la primavera de 2011.

Y si os preguntábais si podréis utilizar al menos comandos en inglés, los responsables de la división de entretenimiento de Microsoft nos comentaron que ese soporte no estará disponible tampoco. Quieren evitar la frustración de los usuarios, de modo que no será posible siquiera usar la versión inglesa en nuestras consolas.

Mejoras futuras en Kinect

Como indicaba Acero, cuando empezaron a desarrollar Kinect querían comenzar poco a poco: "vamos a enfocarnos a unos pocos idiomas nada más, y en muy poquitos comandos", más que nada "por un principio conservador".

first image

Sin embargo a partir de ahí hay "miles de ideas". "Por ejemplo cambiar los canales sin tener que buscar dónde está el mando", incluso "para domótica, para controlar la casa: la alarma, las ventanas", o también "para la lista de la compra". La información podría dictarse a Kinect, pasar a un servidor en la nube, y recolectar esa información por ejemplo en el móvil una vez estamos haciendo hacer la compra realmente.

Similtudes con el reconocimiento de Windows Vista y Windows 7

Al preguntarle si el motor de reconocimiento de voz tenía algo en común con los motores de Windows Vista y de Windows 7, Acero nos lo confirmaba. "Básicamente es el mismo motor, pero evolucionado. La parte nueva es la de acústica: la cancelación de ecos, y el llamado beam forming, enfocar el haz de micrófonos".

Una de las demos del kit de desarrollo de Kinect demuestra cómo nos reconocía e iba asignando el Avatar en función de la posición.

El motor de reconocimiento es una evolución, y de hecho el investigador nos explicaba cómo habían grabado voces de todo tipo de personas, y por supuesto de niños, para poder entrenar al sistema y que reconociese en general a todo tipo de personas.

También pudimos preguntarle si había diferenciación de tonos, de forma que por ejemplo un padre de familia sí pueda ejecutar ciertos comandos de voz pero un hijo no. De momento ese soporte no está integrado en el reconocimiento de voz de Kinect, como tampoco lo está el sistema detección de emociones, que también es otra de las áreas en las que podrían trabajar en un futuro próximo.

Orígenes de Kinect

Es evidente que Nintendo revolucionó este mercado con su consola Wii, que por primera vez integró un sistema de reconocimiento de gestos, aunque en este caso era imprescindible el uso de un mando con una serie de sensores y un giroscopio. Así pues, ¿fue la Wii el detonante del desarrollo de Kinect?

"Me imagino que algo tuvo que ver", comentaba Acero, que también habló de Alex Kipman, un ingeniero brasileño que Acero calificaba de "futurólogo", y que precisamente impulsó el desarrollo de Kinect. De hecho, el nombre original del proyecto, Natal -una ciudad brasileña en la que él pasaba los veranos-, se creó como tributo al país de origen de Kipman, que incubó el proyecto y lo ha liderado desde entonces.

Reconocimiento natural del lenguaje

Una de las áreas en las que Acero y su equipo estaban trabajando para el futuro es la del reconocimiento del lenguaje natural. Aunque actualmente es necesario decir el comando exacto para activar una u otra función de la consola, en el futuro el objetivo es que el sistema reconozca lo que queremos aunque no digamos una frase específica: el propio contexto ayudará a que efectivamente se ejecute aquello que queríamos, aunque no haya una forma única y específica de decirlo.

¿Cómo funciona entonces el reconocimiento de comandos? No hay un entrenamiento previo por parte de cada usuario, como sucede en los motores de reconocimiento de algunas aplicaciones para el PC, tal y como nos explicaba Acero:

"Recogemos voces de muchas personas… se puede particularizar para una persona y puede funcionar mejor, pero entonces necesitas mucho entrenamiento. Entonces vemos qué palabras utilizan. Lo que queremos es que sea de forma natural, que no tengamos que decir el comando exacto". Así pues, explicaba el investigador, la idea es modelar a través de esa recolección de frases y comandos que dictan los usuarios durante las pruebas.

"Nosotros le decimos a la gente: ‘Si tú quisieras decirle esto a Kinect, qué es lo que tu dirías’, y cada persona va a decir unas palabras un poquito distintas. Muchas van a ser iguales, pero alguna varía un poquito. Lo que queremos es modelar el lenguaje que utiliza la mayoría de la gente".

Luego está el modelo de comprensión: no basta con utilizar el lenguaje -como el dictado, que hemos entrenado previamente-, hay que que comprenderlo, su semántica, y su morfología. Y eso se realiza a través del estudio de las frases y semántica que utilizan todo tipo de personas.

¿El futuro de la Xbox 360 será solo de Kinect?

Tras la aparición de Kinect se ha hablado mucho de si los títulos actuales podrán adaptarse de alguna forma a este sistema de control, y si eso hará que Microsoft centre todos sus esfuerzos en este tipo de títulos. Sin embargo, Lidia Pitzalis, directora de relaciones públicas en Microsoft en nuestro país, aclaraba la situación:

"Hay un apoyo muy sólido para los jugadores hard-core, y esa es una pata que no se mueve en Xbox. Hay dos tipos de demanda, y no se incorporará Kinect a algo a lo que no tenga sentido incorporarlo".

En este vídeo podemos comprobar cómo la cámara infrarroja de Microsoft Kinect genera un mapa tridimensional a partir de una serie de puntos que proyecta y que ayudan de forma crítica al reconocimiento 3D de los objetos, las personas, y sus gestos.

También les preguntamos si pensando en las limitaciones del sistema -se habla de que por ejemplo en el juego de tenis de mesa no hay un reconocimiento preciso del giro de muñeca- existiría la posibilidad de contar con algún tipo de elemento adicional que ayude a los sensores de movimiento, como quizás unas muñequeras o algún mando complementario.

Pitzalis nos confirmaba que ese no será el camino en Microsoft, y que se seguirá puliendo Kinect: "El desarrollo va dirigido precisamente al reconocimiento de los dedos. Este es el primer paso, hay mucha gente trabajando en la incorporación de nuevas funciones", de modo que es probable que esa precisión de reconocimiento supla esas pequeñas deficiencias con nuevas versiones del software.

El futuro de Kinect

Lo que nos dejaron claro tanto Alex Acero como los responsables de Microsoft es que Kinect ha logrado establecer un punto de partida sólido a partir del cual ya solo queda implementar nuevas ideas: las posibilidades parecen infinitas, y tanto en la precisión del sistema como en sus aplicaciones prácticas, aún nos queda mucho por ver.

Las posibilidades en ramas como la telemedicina, la robótica, la teleasistencia o la seguridad son notables, pero hay muchas más áreas en las que es posible avanzar en este campo. Y seguramente podamos ver muchas aplicaciones prácticas e incluso muchos proyectos de investigación -la relación de Acero y su equipo con centros académicos es muy estrecha, y precisamente comentó su interés por impulsar el uso de Kinect en todo tipo de ramas de investigación- podrían beneficiarse de esta revolución.

  • Share This