Hogar Inteligencia Artificial LOLNeRF: Learn from One Look

LOLNeRF: Learn from One Look

por Iván Torres
0 comentario
Publicado por Daniel Rebain, estudiante investigador, y Mark Matthews, ingeniero de Software Senior, Google Research, Perception Team

Un aspecto importante de la visión humana es nuestra capacidad para comprender la forma 3D a partir de las imágenes 2D que observamos. Lograr este tipo de entendimiento con los sistemas de visión artificial ha sido un desafío fundamental en el campo. Muchos enfoques exitosos se basan en multi-view data, donde dos o más imágenes de la misma escena están disponibles desde diferentes perspectivas, lo que hace mucho más fácil inferir la forma 3D de los objetos en las imágenes.

Sin embargo, hay muchas situaciones en las que sería útil conocer la estructura 3D a partir de una sola imagen, pero este problema es generalmente difícil o imposible de resolver. Por ejemplo, no es necesariamente posible notar la diferencia entre una imagen real de la playa y una imagen de un cartel plano de la misma playa. Sin embargo, es posible estimar la estructura 3D en función de qué tipo de objetos 3D ocurren comúnmente y cómo se ven estructuras similares desde diferentes perspectivas.

En “LOLNerF: Learn from One Look” presentado en CVPR 2022 se propone un marco que aprende a modelar la estructura y apariencia 3D de colecciones de imágenes single-view. LOLNeRF aprende la estructura 3D típica de una clase de objetos, como automóviles, rostros humanos o gatos, pero solo de vistas individuales de cualquier objeto, nunca el mismo objeto dos veces. Se construye el enfoque combinando Generative Latent Optimization (GLO) y Neural Radiance Fields (NeRF) para lograr resultados de vanguardia para la síntesis de vistas novedosas y resultados competitivos para la estimación de profundidad.
Se entrena un modelo de objeto 3D mediante la reconstrucción de una gran colección de imágenes de vista única utilizando una red neuronal condicionada en vectores latentes, z. Esto permite extraer un modelo 3D de la imagen y renderizarlo desde puntos de vista novedosos. Al mantener la cámara fija, podemos interpolar o muestrear identidades novedosas.

Combinando GLO y NeRF

GLO es un método general que aprende a reconstruir un conjunto de datos (como un conjunto de imágenes 2D) mediante el aprendizaje conjunto de una red neuronal (decodificador) y una tabla de códigos (latentes) que también es una entrada para el decodificador. Cada uno de estos códigos latentes recrea un solo elemento (como una imagen) del conjunto de datos. Debido a que los códigos latentes tienen menos dimensiones que los propios elementos de datos, la red se ve obligada a generalizar, “aprendiendo” una estructura común en los datos (como la forma general de los hocicos de los perros).

NeRF es una técnica que es muy buena para reconstruir un objeto 3D estático a partir de imágenes 2D. Representa un objeto con una red neuronal que genera color y densidad para cada punto en el espacio 3D. Los valores de color y densidad se acumulan a lo largo de rayos, un rayo por cada píxel en una imagen 2D. Luego se combinan utilizando la representación de volumen de gráficos de computadora estándar para calcular un color de píxel final. Es importante destacar que todas estas operaciones son diferenciables, lo que permite una supervisión de extremo a extremo. Al hacer cumplir que cada píxel renderizado (de la representación 3D) coincida con el color de los píxeles reales (2D), la red neuronal crea una representación 3D que se puede renderizar desde cualquier punto de vista.

Se combinan NeRF con GLO asignando a cada objeto un código latente y concatenándolo con entradas NeRF estándar, dándole la capacidad de reconstruir múltiples objetos. Al continuar con GLO, se cooptimizan estos códigos latentes junto con los pesos de la red durante el entrenamiento para reconstruir las imágenes de entrada. A diferencia de NeRF estándar, que requiere múltiples vistas del mismo objeto, se supervisa este método con solo vistas individuales de cualquier objeto (pero múltiples ejemplos de ese tipo de objeto). Debido a que NeRF es inherentemente 3D, se puede renderizar el objeto desde puntos de vista arbitrarios. La combinación de NeRF con GLO le da la capacidad de aprender de una estructura 3D común a través de instancias desde solo vistas individuales mientras conserva la capacidad de recrear instancias específicas del conjunto de datos.

Estimación de cámara
Para que NeRF funcione, necesita conocer la ubicación exacta de la cámara, en relación con el objeto, para cada imagen. A menos que esto se haya medido cuando se tomó la imagen, generalmente se desconoce. En cambio, se usa la malla frontal MediaPipe para extraer cinco puntos de referencia de las imágenes. Cada una de estas predicciones 2D corresponde a un punto semánticamente consistente en el objeto (por ejemplo, la punta de la nariz o las esquinas de los ojos). Luego, se puede derivar un conjunto de ubicaciones 3D canónicas para los puntos semánticos, junto con estimaciones de las poses de la cámara para cada imagen, de modo que la proyección de los puntos canónicos en las imágenes sea lo más consistente posible con los puntos de referencia 2D.

Se entrena una tabla por imagen de códigos latentes junto con un modelo NeRF. La salida está sujeta a pérdidas de dureza, máscara y RGB por rayo. Las cámaras se derivan de un ajuste de puntos de referencia predichos a puntos clave 3D canónicos.

Pérdidas de máscara y hard surface
NeRF estándar es efectivo para reproducir con precisión las imágenes, pero en este caso de vista única, tiende a producir imágenes que se ven borrosas cuando se ven fuera del eje. Para abordar esto, se presenta hard surface loss, lo que favorece que la densidad adopte transiciones bruscas de las regiones exteriores a las interiores, reduciendo la borrosidad. Básicamente, esto le dice a la red que cree superficies “sólidas”, y no semitransparentes como las nubes.

También se obtienen mejores resultados al dividir la red en redes separadas de primer plano y segundo plano. Se supervisó esta separación con una máscara del segmentador de selfies de MediaPipe y una pérdida para fomentar la especialización de la red. Esto permite que la red de primer plano se especialice solo en el objeto de interés y no se “distraiga” con el fondo, aumentando su calidad.

Resultados
Sorprendentemente, se descubrió que ajustar solo cinco puntos clave proporcionó estimaciones de cámara lo suficientemente precisas para entrenar un modelo para gatos, perros o rostros humanos. Esto significa que con una sola vista de los gatos Schnitzel, Widget y amigos, se puede crear una nueva imagen desde cualquier otro ángulo.

Parte Superior: Ejemplos de imágenes de gatos de AFHQ. Abajo: Una síntesis de nuevas vistas 3D creadas por LOLNeRF.

Conclusión
Se ha desarrollado una técnica que es eficaz para descubrir estructuras 3D a partir de imágenes 2D individuales. Se observa un gran potencial en LOLNeRF para una variedad de aplicaciones y actualmente se están investigando posibles casos de uso.

Interpolación de identidades felinas a partir de la interpolación lineal de códigos latentes aprendidos para diferentes ejemplos en AFHQ.

Liberación de código
Se reconoce el potencial de uso indebido y la importancia de actuar con responsabilidad. Con ese fin, solo se publicó el código con fines de reproducibilidad, pero no se publicó ningún modelo generativo entrenado.

También te Puede Interesar

Sobre nosotros

About Data Blog es un espacio traido a ti por Gold Light Data con el objetivo de investigar y compartir información valiosa sobre Big Data, Inteligencia Artificial, Machine Learning, Analítica de Negocio e Inteligencia de Negocios.

 

Estamos comprometidos con la investigación y nuestra misión siempre será compartir ese conocimiento para la evolución tecnológica y de negocio.

© 2022 About Data. Created by WeApp4U