Inferir la forma 3D de un objeto a partir de una única imagen 2D pequeña es realmente difícil para los ordenadores, y útil: ayudaría al seguimiento de objetos en AR y VR y en flujos de trabajo creativos. El obstáculo es aritmético. Una imagen de 100 por 100 píxeles se corresponde con un millón de vóxeles en un volumen de 100 al cubo, y llegar a 128 píxeles requiere unos dos millones, clasificando cada vóxel como vacío o lleno mediante el análisis de la imagen original.
El enfoque directo consistía en calcular todo ese volumen de alta resolución, y su coste es lo que había frenado la extrapolación de formas 3D a partir de imágenes 2D. Christian Häne, investigador del laboratorio Berkeley Artificial Intelligence Research, se dio cuenta de que el volumen completo nunca era realmente necesario: el objetivo es solo describir la superficie de un objeto, y el espacio vacío que lo rodea y el que hay en su interior no importan.
Su sistema parte de una reconstrucción 3D de muy baja resolución, que ya muestra, por ejemplo, que el tercio exterior del volumen está vacío, por lo que ese espacio se descarta. Después renderiza la región que se conservó a mayor resolución, encuentra las siguientes capas de espacio vacío, las descarta y repite. Tras unas pocas pasadas se obtiene un volumen de alta resolución espacial producido con relativamente poco cálculo, porque solo computa las partes que sabe que contienen información significativa.
Los modelos construidos de este modo se compararon con los producidos por medios más tradicionales y, en general, parecieron igual de buenos o mejores, a la vez que requerían mucho menos cálculo, con más ejemplos en el artículo. La cobertura de TechCrunch fue cuidadosa con los límites: está lejos de ser una solución completa y los humanos siguen siendo órdenes de magnitud mejores, pero el rodeo imita cómo la visión humana descarta los datos que considera superfluos.
Renderizar primero un volumen grueso, descartar el espacio vacío y luego refinar solo lo que queda
Una pasada gruesa cuesta casi nada y, sin embargo, muestra de forma fiable dónde están las grandes regiones vacías, por lo que la mayoría de los vóxeles se eliminan antes de que se llegue a computarlos en alta resolución.
El espacio vacío domina un volumen delimitador, así que concentrar el cálculo en la región superviviente centra el trabajo costoso exactamente donde existe estructura.
La calidad no se desploma porque cada refinamiento vuelve a renderizar solo lo que la pasada gruesa anterior mostró como no vacío, manteniendo el error donde el algoritmo sigue trabajando.
El truco convierte un problema inasumible de volumen completo en subproblemas baratos repetidos, de modo que el coste escala con la superficie que se describe y no con toda la caja.
Cuando la mayor parte del espacio de solución está vacío, hacer primero una pasada gruesa barata, descartar lo que no puede importar y gastar el cálculo costoso solo en lo que sobrevive.
El artículo y una entrada del blog de Berkeley AI Research aparecieron en agosto de 2017, y la crónica de TechCrunch, que calificó la solución de computacionalmente ingeniosa y de una simplicidad que hace darse una palmada en la frente, generó una discusión en Hacker News de 161 puntos. Las comparaciones reportadas encontraron que los modelos jerárquicos eran igual de buenos o mejores que las reconstrucciones tradicionales de volumen completo con mucho menos cálculo. La cobertura lo calificó de rodeo, no de respuesta acabada: los humanos siguen siendo órdenes de magnitud mejores en la inferencia 3D a partir de una sola imagen, y el método funciona tomando prestada la costumbre del cerebro de descartar los datos superfluos.
CONSULTA LAS PRUEBAS
Las fuentes
- This algorithm cleverly recreates 3D objects from tiny 2D images TechCrunch · techcrunch.com ·
- An algorithm that cleverly recreates 3D objects from tiny 2D images — Hacker News discussion Hacker News · news.ycombinator.com ·