Un nuevo algoritmo es capaz ahora de adivinar qué objetos hay en una imagen, así como su forma tridimensional, lo cual podría ser el inicio de nuevas técnicas para que los robots puedan ver en 3D y realizar tareas que por el momento -aunque triviales para los seres humanos- son imposibles para los robots.
Los robots autónomos pueden inspeccionar plantas nucleares, limpiar derrames de petróleo en el océano, acompañar a los pilotos en escenas de combate e incluso, explorar la superficie marciana. Sin embargo, a pesar de todos estos éxitos, el hacer una taza de té vía la robótica, sigue siendo una tarea gigantesca y aún sin resolverse totalmente.
La razón de esto es que tomar la tetera, encontrar la leche y tomar el azúcar requiere de habilidades perceptuales que para la mayoría de las máquinas, es aún un tema de la ciencia ficción. Para que esto pueda darse, se requiere la habilidad de ver el entorno en 3 dimensiones. Y aunque es un asunto relativamente sencillo hacer que los robots “vean” usando cámaras y otros sensores, el interpretar lo que están viendo puede resultar muy problemático.
El estudiante graduado de la Universidad de Duke, Ben Burchfiel, dice que los robots más sofisticados del planeta no pueden realizar las actividades que hacen los niños casi de forma automática, pero ahora junto con sus colegas, Burchfiel podrían llegar a una solución.
Burchfiel y su asesor de tesis, George Konidaris, ahora un profesor asistente de ciencias de la computación en la Universidad de Brown, han desarrollado nueva tecnología que permite a las máquinas tener el sentido de los objetos en 3D de una manera enriquecida e incluso más humana.
Un robot que, por ejemplo, limpia los platos de una mesa, debe ser capaz de adaptarse a una enorme cantidad de diferentes platos, de diversos tamaños y formas, que en general están desordenados en una superficie no necesariamente plana. Los humanos pueden ver un nuevo objeto e intuitivamente pueden saber qué es, cuál es la parte que va boca arriba, boca abajo o de lado, en una vista parcial, oscurecida por otros objetos o incluso en una vista total.
Incluso cuando un objeto está parcialmente escondido, los seres humanos “completamos” las partes que no podemos ver. Los algoritmos de percepción de un robot pueden simultáneamente adivinar qué es un objeto nuevo detectado, y cómo orientarlo sin necesidad de examinarlo desde múltiples ángulos. Puede inclusive “imaginar” las partes que no se pueden ver.
Un robot con esta tecnología no tendría que ver cada lado de una tetera, por ejemplo, para entender que probablemente tiene un asa, así como un recipiente donde va el agua y un tubo que es por donde debe salir el agua caliente. Igualmente, podría suponer que orientaciones son “prohibidas” o inaceptables, por ejemplo, poner la tetera de cabeza.
Los investigadores dicen que su enfoque, el cual se presentó el 12 de julio en la Conferencia Robotics: Science and Systems, en Cambridge, Massachussetts, hace que los robots cometan menos errores, es tres veces más rápido que los métodos actualmente conocidos o en uso.
Este es sin duda un paso importante hacia los robots que funcionan a la par con los seres humanos en casas y en otras áreas del conocimiento humanas, las cuales no necesariamente están muy ordenadas o puestas de modo tal que sean predecibles. Es decir, que no necesariamente se encuentren en un entorno altamente controlado, dice Burchfiel.
En el marco de trabajo del robot, en este estudio, se le da un número limitado de ejemplos de entrenamiento, y el algoritmo se encarga de generalizar esto a nuevos objetos. “Es poco práctico asumir que un robot pueda tener un modelo 3D para todos los objetos que pueda encontrar de antemano”, indica Burchfiel.
Los investigadores entrenaron su algoritmo con un conjunto de cerca de 4 mil escaneo completos de objetos en 3D, como llaves de baño, regaderas, camas, mesas, sillas, vestidores, monitores, sofás y baños. Cada escaneo 3D se convirtió en decenas de miles de pequeños cubitos, o voxeles, que forman las imágenes como si fuesen bloques de LEGO para que fuese más fácil procesarlos.
El algoritmo aprendió las categorías de objetos combinando estos a través de ejemplos de cada uno de ellos y entendiendo -valga el término- cómo varían, qué partes son invariantes, usando una versión llamada “análisis principal probabilístico de componentes”.
Cuando un robot ve algo nuevo, no tiene que ir a buscar en todo su catálogo para ver si lo encuentra. En lugar de eso aprende, de ejemplos pasados, las características que pudiese compartir este objeto con los anteriores, así podría entonces, por ejemplo, saber qué se le está mostrando un nuevo modelo de cama.
Basándose en este conocimiento previo, tiene el poder de generalizar al igual que lo haría una persona y podría entender que dos objetos pueden ser diferentes aunque compartan ciertas propiedades que hagan de esto un tipo particular de mueble.
Para probar el enfoque, los investigadores alimentaron el algoritmo con 908 nuevos ejemplos 3D de 10 tipos iguales de objetos caseros, viéndolos desde arriba. Desde este punto ventajoso, el algoritmo pudo adivinar correctamente qué eran la mayoría de los objetos que se les presentaban, suponiendo incluso la forma tridimensional que dichos objetos tenían. También fue capaz de reconocer objetos que se les presentaron rotados en varias formas, lo que los algoritmos actuales simplemente no pueden hacer.
Y aunque el sistema es razonablemente rápido, todo el proceso toma como un segundo, está lejos de superar la capacidad de la visión humana, aclara Burchfiel. “En promedio nuestro sistema comete un error en menos del 25% del tiempo y la mejor alternativa es un error casi la mitad de las veces, lo cual es una gran mejora contra otros algoritmos”, dice Burchfiel. “Sin embargo, no estamos listos para movernos ya en las casas de las personas. No queremos que inadvertidamente un robot ponga a lavar una almohada”, bromea.
El equipo ahora está trabajando para escalar su enfoque para permitir que los robots puedan distinguir miles de tipos de objetos a la vez. “Los investigadores han enseñado a sus robots a reconocer objetos 3D desde hace tiempo. Pero lo que es nuevo es la capacidad para reconocer algo y llenar los puntos ciegos (o huecos) en el campo de la visión, para reconstruir las partes que no se ven”, dice Burchfiel.
Hay pues, concluye el investigador, un potencial invaluable en muchas aplicaciones robóticas.
Referencias: Phys.org, Robot uses social feedback to fetch objects intelligently