GANcraft genera mundos 3D fotorrealistas

GANcraft genera mundos 3D fotorrealistas, estamos de nuevo ante un estudio que se está desarrollando en la University Cornell. Si mal no recuerdo en el cuarto proyecto interesante en el campo 3D de este mes que sale de la misma Universidad.

Renderizado neuronal 3D para generar imágenes fotorrealistas sin supervisión. Estamos hablando de GANcraft, es una técnica que pronto podremos ver aplicada a distintos programas o plugins.

En este caso podemos evaluar sus efectos en el juego Minecraft. GANcraft es un marco de renderizado neuronal no supervisado para generar imágenes fotorrealistas de grandes mundos de bloques 3D. Como los creados en Minecraft.

Este método toma un mundo de bloques semánticos como entrada. Donde a cada bloque se le asigna una etiqueta como tierra, hierba, árbol, arena o agua. Representa el mundo como una función volumétrica continua y entrena nuestro modelo para renderizar imágenes fotorrealistas consistentes desde puntos de vista arbitrarios.

Además de la pose de la cámara, GANcraft permite al usuario controlar tanto la semántica de la escena como el estilo.

GANcraft genera mundos 3D fotorrealistas
GANcraft genera mundos 3D fotorrealistas

Qué hace exactamente GANcraft

GANcraft tiene como objetivo resolver el problema de la traducción de mundo a mundo. Dado un mundo de bloques semánticamente etiquetado como los del popular juego Minecraft. GANcraft puede convertirlo en un nuevo mundo que comparte el mismo diseño pero con gráficos fotorrealistas.

El nuevo mundo se puede representar desde puntos de vista arbitrarios para producir imágenes y videos que sean consistentes con la vista. Además de ser fotorrealistas. GANcraft simplifica el proceso de modelado 3D de escenas de paisajes complejos, que de lo contrario necesitarían años de trabajo.

Tu mundo en Minecraft más realista

Las representaciones fotorrealistas en un mundo de bloques creado por el usuario no existen. Tenemos que entrenar modelos con supervisión indirecta. Algunos de los enfoques actuales son fuertes candidatos.

Por ejemplo, se pueden utilizar métodos de traducción de imagen a imagen (im2im) como MUNIT y SPADE. Originalmente entrenados solo en datos 2D, para convertir máscaras de segmentación por fotograma proyectadas desde el mundo de los bloques, a imágenes de aspecto realista.

También se puede usar wc-vid2vid, un método consciente de 3D para generar imágenes consistentes con la vista a través de la pintura 2D y la deformación 3D. Mientras se usan las superficies del vóxel como la geometría 3D.

Estos modelos deben ser entrenados para traducir mapas de segmentación reales a imágenes reales debido a los requisitos de datos de entrenamiento emparejados. Y luego usarse en Minecraft para conseguir una conversión real.

GANcraft genera mundos 3D fotorrealistas con radiancia 3D

Otra alternativa, sería puede entrenar un NeRF-W, que aprende un campo de radiancia 3D a partir de una colección de imágenes no fotométricas consistentes. Pero posadas y consistentes en 3D.

Esto se puede entrenar utilizando imágenes predichas a partir de un método im2im (pseudo-ground truth, explicado en la siguiente sección), que es el dato más cercano a los requisitos que podemos obtener.

Al comparar los resultados de diferentes métodos, podemos ver inmediatamente algunos problemas como los siguientes.

Alternativas al método GANcraft

Los métodos im2im como MUNIT y SPADE no preservan la consistencia del punto de vista, ya que estos métodos no tienen conocimiento de la geometría 3D, y cada fotograma se genera de forma independiente.

wc-vid2vid produce video consistente y continuo a la vista, pero la calidad de la imagen se degrada rápidamente con el tiempo. Esto es debido a la acumulación de errores en la geometría de bloques.

NSVF-W es una implementación de NeRF-W con acondicionamiento de vóxel de estilo NSVF agregado. También produce una salida consistente y continuo a la vista. Pero el resultado se ve aburrido y carece de detalles con acabados refinados.

En la última columna, presentamos los resultados de GANcraft, que son consistentes con la vista y de alta calidad. El uso del renderizado neuronal garantiza la consistencia de lo que vemos, mientras que la innovación en la arquitectura del modelo y el esquema de entrenamiento conduce a un fotorrealismo sin precedentes.

GANcraft genera mundos 3D fotorrealistas
GANcraft genera mundos 3D fotorrealistas

Desajuste de distribución y verdad pseudo fundamentado

Supongamos que tenemos un modelo de representación neuronal condicional de vóxel adecuado que es capaz de representar el mundo fotorrealista. Todavía necesitaremos una forma de entrenarlo sin ninguna imagen realista del gráfico que queremos representar.

El entrenamiento adversarial ha logrado cierto éxito en tareas de renderizado neuronal incondicional a pequeña escala cuando las imágenes no están disponibles.

Sin embargo, para GANcraft el problema es aún más desafiante. Los mundos de bloques de Minecraft generalmente tienen distribuciones de etiquetas muy diferentes en comparación con el mundo real. Por ejemplo, algunas escenas están completamente cubiertas por nieve, arena o agua. También hay escenas que cruzan múltiples biomas dentro de un área pequeña.

Además, es imposible hacer coincidir la distribución de la cámara muestreada con la de las fotografías de Internet cuando se muestrean aleatoriamente las vistas del modelo de renderizado neuronal.

En otros proyectos el entrenamiento utilizando fotografías de Internet conduce a resultados poco realistas, debido a la complejidad de la tarea.

Producir y utilizar verdades a medias para el entrenamiento es una de las principales contribuciones de nuestro trabajo, y mejora significativamente del resultado.

GANcraft genera mundos 3D pseudo-fundamentados

Las verdades pseudo fundamentadas son las imágenes fotorrealistas generadas a partir de máscaras de segmentación utilizando un modelo SPADE preentrenado. A medida que las máscaras de segmentación se muestrean desde el mundo de los bloques, las verdades pseudo terrestres comparten las mismas etiquetas y poses de cámara que las imágenes generadas a partir de las mismas vistas.

Esto no solo reduce el desajuste de distribución de etiquetas y cámaras, sino que también nos permite utilizar pérdidas más fuertes. Como la pérdida perceptiva y L2, para un entrenamiento más rápido y estable.

Hybrid Voxel renderizado neuronal condicional

En GANcraft, la escena fotorrealista se representa con una combinación de renderizador volumétrico 3D y renderizador de espacio de imagen 2D. Definimos un campo de radiancia neuronal acotado por vóxel: dado un mundo de bloques, asignamos un vector de características que aprenden en cada esquina de los bloques y usamos la interpolación trilineal para definir el código de ubicación en ubicaciones arbitrarias dentro de un vóxel.

Un campo de radiancia se puede definir implícitamente utilizando un MLP, que toma el código de ubicación, la etiqueta semántica y un código de estilo compartido como entrada. Además produce una característica de punto similar a la radiancia y su densidad de volumen. Dados los parámetros de la cámara, renderizamos el campo de radiancia para obtener un mapa de entidades 2D; que se convierte en una imagen a través de una CNN.

Hybrid Voxel renderizado neuronal condicional
Hybrid Voxel renderizado neuronal condicional

La arquitectura completa de GANcraft

La arquitectura de dos etapas mejora significativamente la calidad de la imagen al mismo tiempo que reduce la huella de cálculo y memoria. Ya que el campo de radiancia se puede modelar con un MLP más simple, que es el cuello de botella computacional para los métodos basados en volúmenes implícitos.

La arquitectura propuesta es capaz de manejar mundos muy grandes. En experimentos realizados es este proyecto, se utilizan rejillas de vóxel con un tamaño de 512×512×256. Lo que equivale a 65 acres o 32 campos de fútbol en el mundo real.

Cúpula de cielo neuronal en mundos 3D fotorrealistas

Los enfoques anteriores de representación neuronal basados en vóxel no pueden modelar el cielo que está infinitamente lejos. Sin embargo, el cielo es un ingrediente indispensable para el fotorrealismo.

En GANcraft, utilizamos un MLP adicional para modelar el cielo. El MLP convierte la dirección del rayo de la cámara en un vector de entidad que tiene la misma dimensión que las características de punto del campo de radiancia.

Este vector de características sirve como la muestra final totalmente opaca en un rayo. Mezclándose con la característica de píxel de acuerdo con la transmitancia residual del rayo.

Generación de imágenes con apariencia diversificada

El proceso de generación de GANcraft está condicionado a una imagen de estilo. Durante el entrenamiento, utilizamos la verdad pseudo molida como la imagen de estilo. Lo que ayuda a explicar la inconsistencia entre la imagen generada y su correspondiente verdad pseudo molida para la pérdida de reconstrucción.

Durante la evaluación, podemos controlar el estilo de salida proporcionando a GANcraft imágenes de estilo diferentes. En el siguiente ejemplo, interpolamos linealmente el código de estilo en seis imágenes de estilo diferentes.

Dejo unos enlaces de interés para quien quiera profundizar más en el tema, o quien sabe, incluso puede que te interese probarlo si eres fan de Minecraft.

Más información y comentarios sobre el tema en el foro, sigue leyendo…

GANcraft genera mundos 3D fotorrealistas
GANcraft genera mundos 3D fotorrealistas