Thursday, November 15, 2007

Interfaces a lo Minority Report

Una de las escenas más famosas de la pelicula Minority Report es cuando Tom Cruise sale controlando un ordenador moviendo las mános en el aire. En realidad, no es una idea original, ya había aparecido en otras peliculas como Jhonny Mnemonic en el 95, pero el gran éxisto de la pelicula, así como la cercanía tecnológica a ese tipo de interfaces le hizo ganar gran relevancia.

En la actualidad estan apareciendo soluciones que se aproximan a este tipo de control, si bien, obviamente, no se han extendido comercialmente.

Una de las soluciones sobre la que existen múltiples patentes (aunque no se si hay alguna empresa que lo venda comercialmente) es básicamente un ratón óptico al revés. Los ratones ópticos son dispositivos mucho más complejos de lo que la gente piensa, dentro de ellos además de un LED para iluminar la superficie hay una camara multipixel que toma entorno a mil fotos por segundo y hace correlaciones de las imagenes para averiguar como se han movido las texturas bajo ella.
En el caso de los dispositivos a los que yo me refiero la iluminación por infrarojos es mucho más potente, y la camara tiene mayor resolución para identificar los movimientos de la mano sobre el "ratón invertido" para adivinar lo que quieres hacer. La razón principal por la que se diseñaron estos dispositivos es evitar el sindrome del tunel carpiano causado por el uso continuado de los ratones, así que no se trataba tanto de hacer algo a lo minority report.

Recientemente he visto el siguiente video de un hack hecho con el mando de la Wii y que permite hacer un interfaz realmente impresionante.
Como muchos sabreis, el mando de la Wii, además de un acelerómetro de Analog Devices, y un sistema wireless de comunicación, tiene también un control por infrarojos que sirve para mover el cursor por la pantalla. Supongo que por la costumbre con los mandos a distancia de la tele al principio mucha gente pensaba que en el mando había un emisor de infrarojos, y que la pequeña barra que pones en la tele era el recpetor.

En realidad el sistema es algo más complejo. El mando tiene una camara completa de infrarojos, que toma una imagen en esa banda de frecuencias, y la barrita son simplemente dos LEDs infrarojos. Por eso entre los primeros "hacks" que salieron fue el de poner dos velas en vez de la barrita ya que el fuego actua como emisor de infrarojos. A partir de procesar la posición de los dos LEDs infrarojos en la imagen de la camara, el mando calcula por goniometría a donde estas apuntando.

En el video usan un array de LEDs infrarojos como potente emisor iluminando al usuario, situan el mando con la camara apuntando hacía el usuario, y ponen cinta reflectante en los dedos para mejorar la relación señal a ruido. De esta forma, los infrarojos se reflejan en la cinta que tiene en la punta de los dedos, y la camara infraroja ve los dedos como dos puntos luminosos. Así podemos controlar a distancia con dos dedos las aplicaciones.

Este es el video, realmente chulo:



Me parece interesantísimo el comentario que hace al final diciendo que en realidad lo de mover las manos en el aire para controlar las aplicaciones resulta bastante cansado, ya que muestra que por más chulo que parezca, posiblemente ese no sea el sistema que queramos seguir.

Tal y como esta evolucionando la tecnología, yo creo que si este tipo de interfaces se llegan a desarrollar usaran soluciones más al estilo de Eye Toy. Eye Toy era una pequeña webcam que vendían con la PlayStation y que permitía jugar a ciertos juegos moviendo las manos a ciertas posiciones de la pantalla. Basicamente se trataba de hacer procesado de imagen, y esa es su gran ventaja: las soluciones basadas en procesado se beneficían de la ley de Moore en cuanto al desarrollo de procesadores, y por tanto permitirán hacer detección de movimientos cada vez más compleja, haciendo posible este tipo de interfaces. Al fin y al cabo, ahora mismo ya se hace facilmente reconocimiento facial, o cosas más complejas como procesar los movimientos de los coches para implementar un sistema de conducción automatizada.

13 comments:

Francisco Sanchez said...

Bueno, eso de que “ahora mismo ya se hace fácilmente reconocimiento facial” es una afirmación un poco subjetiva y, cuanto menos, discutible. Yo más bien creo que el reconocimiento de caras es, hoy por hoy, algo que continúa siendo muy difícil. Según fuentes contrastadas, el estado del arte en la actualidad consiste en detectar correctamente en torno al 90% de caras fijando un error medio en términos de falsos positivos de 1 cara por escena (es decir, detectar correctamente 9 de las 10 caras de una escena permitiendo una “alucinación”, por ejemplo, detectar una cara donde en realidad hay solo una silla). Estamos hablando, claro está, de aplicaciones reales y escenas complejas elegidas al azar, como pueden ser las captadas por una cámara en un aeropuerto, con variaciones de orientación, iluminación, oclusión, etc. Y estos rendimientos hacen referencia únicamente al problema de la detección, es decir, de determinar la cantidad y localización de las caras presentes en una imagen. El reconocimiento es una tarea que puede resultar todavía mucho más complicada, en función del número de instancias a identificar y del tamaño de la base de aprendizaje. Asi pues, yo mas bien diria que la visión artificial por ordenador en general, y el reconocimiento de formas en concreto, son todavía campos en los que nos queda un largo camino por recorrer.

Dokan said...

video no longer available!!!

jmontano said...

Bueno, el tema del reconocimiento facial creo que esta mucho mas avanzado de lo que comentas, francisco. O mejor dicho, una precision del 90% en aplicaciones reales donde como bien dices las caracteristicas de la imagen son en ocasiones muy adversas, es un resultado bastante bueno.

Creo que mas bien se trata de que quizas en el post puede dar la impresion de que la deteccion de caras mediante computer vision es algo que ya esta superado, lo cual no es asi. De hecho, actualmente en mi laboratorio estamos trabajando continuamente en el tema y hay visos de trabajo por varios anyos.

Pablo said...

Hola,

A lo mejor he sonado demasiado optimista con lo del reconocimiento facial, sin embargo, para mí, cuando un banco como el BBVA se atreve a mostrar un prototipo de cajero que usa el reconocimiento facial para acreditarse, es que la tecnología esta muy probabda, ya que lo último que desearía es que alguien se llevara dinero de otras cuentas.

Dokan,
Acabo de probar el video y sí que va.

jmontano said...

Imagino que ese cajero será bastante restrictivo con las características de la imagen: se mantendrá la misma iluminación y se le exijirá al usuario una pose perfecta mirando al frente, el pelo fuera de la cara, cabeza erguida, quizás no usar gafas,... Y claro, bajo esas condiciones la facilidad para detectar una cara aumenta muchísimo pero dista mucho de lo que sería, por ejemplo, una cámara grabando en un pasillo de un aeropuerto por el que la gente pasa sin siquiera saber que la cámara está ahí.

miguel said...

Interesantísimo video, gracias por compartirlo.

ray_iceman said...

Bastante interesante, supongo que aunque no falta mucho para que se le pueda dar más aplicaciones. Aunque me hizo pensar un poco en el mundo cada día más saturado de radiaciones y frecuencias de todo tipo que de alguna forma no somos capaces de evaluar hasta que grado afectan nuestro organismo :S

Francisco Sanchez said...

Pablo,

Los comentarios de jmontano acerca del artículo de elpais.com me parecen bastante acertados. Es muy difícil entrar a valorar el prototipo del que hablan porque lo mencionan solo de pasada.

Si alguien quiere saber algo más sobre el tema de reconocimiento de caras, le recomiendo el siguiente artículo, muy breve, tomado de la web de SIAM:
http://www.siam.org/news/news.php?id=309

La parte final del articulo guarda cierta relacion con tu referencia a “Minority Report”:

“Are we already at the stage of fully automatic face recognition systems like those we see in science fiction movies? The answer is probably no, although we're getting there.”

Aunque el artículo fue escrito en 2003, yo creo que esta valoración sigue siendo válida en terminos generales a día de hoy.

jmontano said...

Por cierto, no es por meter el dedo en la llaga, pero ya que nombras lo de los coches autonomos... este anyo CMU ha arrasado en la Urban Challenge eh! jajaja

Es simplemente una broma... me resulta curioso la rivalidad entre universidades (mas alla de la lucha por el premio economico).

Pablo said...

Jaja, si, este anyo les hemos dejado ganar para que no llorasen como el anyo pasado... Con un honroso segundo puesto, y un millon de dolares, Stanford se conforma, no hay que ser avaricioso ;-P

jmontano said...

El segundo es el primero de los perdedores, no? :P

Manuel Escrig said...

Muy interesante el vidio en custión. No sabia que se estaba utilizando el reconocimiento facial en los cajeros automaticos.

Saludos.

Francisco Sanchez said...

Voila, una animacion muy interesante que acabo de encontrar en elpais.com donde explican un poco mas en detalle la historia del reconocimiento facial en los cajeros:

http://www.elpais.com/graficos/tecnologia/Cajeros/inteligentes/elpgra/20071119elpeputec_1/Ges/

Un saludo!

p.s. Pasalo bien en Hawai, Pablo, y ya nos enseniaras algunas fotos!