Nube de Etiquetas
(Ah?)

martes, marzo 25, 2008

Usando creyones para entrenar máquinas

Tuve la fortuna de toparme con un post del blog de Greg Linden, en el que se nos muestra un excelente ejemplo de lo que es el Aprendizaje Interactivo aplicado al procesamiento/reconocimiento de imágenes, mostrado por Dan Olsen de la Brigham Young University.

Se trata del uso de una interfaz para el usuario, en la que éste usa herramientas tipo creyón. En uno de los videos, se muestran imágenes donde una mano está sobre un escritorio. Un creyón es utilizado para marcar áreas de la imágen que el usuario quiere indicar que corresponden a piel. Otro es utilizado para marcar áreas de la imágen que el usuario quiere indicar que corresponden al "fondo" (cualquier cosa menos piel).

Una vez la máquina recibe esa información, la analiza, y en base a las características que tenían las áreas marcadas con ambos creyones clasifica el resto de la imágen como "piel" o "fondo". El usuario tiene entonces la oportunidad de usar los creyones para "corregir" los errores que cometió el software, marcando con el creyón "piel" aquellos puntos que la máquina clasificó como "fondo" pero eran "piel". Obviamente también se marca con el creyón ""fondo" aquellos puntos que la máquina clasificó como "piel" pero eran "fondo".

Luego de 4 minutos, el clasificador obtuvo excelentes resultados en otras imágenes donde aparece la mano, en diferentes posiciones, y una última en la que no aparece mano alguna. Siempre con alguno que otro pixel mal clasificado, pero realmente asombroso, a mi modo de ver.

Otro de los videos muestra un uso genial de este tipo de herramientas, para enseñar a un robot a manejar. Se muestran dos imágenes tomadas de la cámara que tiene el robot. En una se usan dos creyones: uno para marcar terreno "seguro", y uno para marcar terreno "inseguro". En esa misma imágen, luego de usar los creyones, se colorea la imágen según la máquina clasifica cada pixel como "seguro" o "inseguro". La otra imágen se usa para manejar al robot, indicándole hacia dónde debe ir.

El usuario, luego de marcar como "inseguro" aquellos lugares que se desea que el robot esquive, y como "seguro" aquellos lugares por los cuales el robot puede andar, le da la instrucción de caminar. En "tiempo real", las imágenes van actualizándose por la entrada de video, y el clasificador las va coloreando, y en base a ello, ajusta la trayectoria del robot. Si en algún lugar del camino, el usuario detecta que el clasificador ha cometido errores, detiene el robot y usa los creyones para corregir, y luego puede continuar.

¿Será que pronto usaremos esto para un rover en la Luna o Marte?

Si es así, ¡ojalá que algún día uno de los modelos matemáticos de clasificación que manden de viaje sea uno mío! Soñar no cuesta nada... ¿eh?

Visíten el post. Está en este URL:
http://glinden.blogspot.com/2007/12/interactive-machine-learning-talk.html

No hay comentarios.: