ADOP algoritmo para crear escenas 3D a partir de fotografías

ADOP algoritmo para crear escenas 3D a partir de fotografías. Presentamos una nueva canalización de renderizado neuronal diferenciable basada en puntos para el refinamiento de escenas y la síntesis de vistas novedosas.

La entrada es una estimación inicial de la nube de puntos y los parámetros de la cámara. La salida son imágenes sintetizadas a partir de poses arbitrarias de la cámara.

La representación de nubes de puntos es realizada por un renderizador diferenciable mediante la rasterización de puntos de un píxel de resolución múltiple.

Los gradientes espaciales de la rasterización discreta se aproximan por el novedoso concepto de geometría fantasma. Después de la representación, la pirámide de imagen neuronal se pasa a través de una red neuronal profunda para los cálculos de sombreado y el relleno de agujeros.

ADOP algoritmo para crear escenas 3D utiliza tonemapper

A continuación, un tonemapper diferenciable basado en la física convierte la salida intermedia en la imagen de destino. Algo fundamental en ADOP algoritmo para crear escenas.

Dado que todas las etapas de la tubería son diferenciables, optimizamos todos los parámetros de la escena, es decir; el modelo de la cámara, la pose de la cámara, la posición del punto, el color del punto, el mapa del entorno, los pesos de la red de renderizado, el viñeteado, la función de respuesta de la cámara, la exposición por imagen y el balance de blancos por imagen.

ADOP algoritmo para crear escenas 3D a partir de fotografías
Dado un conjunto de imágenes RGB y una reconstrucción 3D inicial (izquierda), nuestro enfoque de renderizado inverso es capaz de sintetizar fotogramas novedosos y optimizar los parámetros de la escena (derecha). Esto incluye parámetros estructurales como la posición del punto y la pose de la cámara, así como la configuración de la imagen, como el tiempo de exposición y el balance de blancos.

Demostramos que nuestro sistema es capaz de sintetizar puntos de vista novedosos más nítidos y consistentes que los enfoques existentes porque la reconstrucción inicial se refina durante el entrenamiento.

La eficiente rasterización de puntos de un píxel nos permite utilizar modelos de cámara arbitrarios y mostrar escenas con más de 100 millones de puntos en tiempo real.

Sintetizando los entornos

Sintetizar entornos virtuales realistas es uno de los temas más investigados en infografía y computación visión. Una decisión importante es cómo deberían codificarse y almacenarse en la memoria.

Los usuarios suelen elegir entre mallas triangulares, cuadrículas de vóxeles, funciones implícitas, y nubes de puntos. Cada representación tiene diferentes ventajas y desventajas. Para una representación eficiente de superficies opacas, las mallas triangulares se eligen comúnmente.

En ADOP algoritmo para crear escenas, las cuadrículas de vóxeles se utilizan a menudo en la representación de volumen, mientras que las funciones implícitas se pueden utilizar para describir con precisión las superficies analíticas no lineales.

Las nubes de puntos, por otro lado, tienen la ventaja de ser fáciles de usar porque no se debe considerar una topología. Lo que las convierte en un buen candidato para resultados intermedios o como representación en un contexto científico.

ADOP algoritmo para crear escenas 3D a partir de fotografías
Descripción general de nuestra canalización de renderización neuronal HDR basada en puntos. La escena, que consta de una nube de puntos texturizada y un mapa del entorno, se rasteriza en un conjunto de imágenes neuronales dispersas en múltiples resoluciones. Una red neuronal profunda reconstruye una imagen HDR, que luego se convierte a LDR mediante un mapeador de tonos diferenciable basado en la física. Todos los parámetros de las cajas rectangulares, así como la red neuronal se pueden optimizar simultáneamente durante la etapa de entrenamiento.

Seguimos utilizando las nubes de puntos

A principios de la década de los años 2000, la representación de nubes de puntos, especialmente con salpicaduras de puntos; ha sido un campo bien investigado en gráficos por computadora. Paralelamente, las técnicas de renderizado basadas en imágenes ganaron un interés creciente.

Sobre la base de un modelo 3D reconstruido y burdo, así como un conjunto registrado de imágenes de un objeto, se sintetizan vistas novedosas.

Estos enfoques adolecen de imprecisiones en la entrada, por ejemplo; aparecen artefactos fantasma si la geometría contiene agujeros o si las imágenes de entrada no están perfectamente alineadas.

Los enfoques de representación basados ​​en imágenes neuronales, como el uso de redes neuronales para eliminar estos artefactos, pueden generar nuevas vistas fotorrealistas de una calidad sin precedentes.

La investigación y las pruebas realizadas confirman que esto también es posible emparejando un rasterizador de puntos tradicional con una red neuronal profunda. Esto es especialmente beneficioso en el campo de la reconstrucción 3D porque las nubes de puntos densas suelen ser la salida inicial.

Por lo tanto, se puede omitir una triangulación innecesaria y potencialmente errónea y visualizar directamente la escena reconstruida.

Modelo ca cámara físico diferenciable

Nuestro enfoque se basa en la cartera de proyectos de Aliev y la mejora de varias maneras. En particular, agregamos un modelo de cámara físico diferenciable y un mapeador de tonos diferenciables, y proporcionamos una formulación para una mejor aproximación del gradiente espacial de la rasterización de puntos de un píxel.

Esta canalización diferenciable nos permite no solo optimizar las características del punto neuronal, sino también corregir imprecisiones de la entrada durante la etapa de entrenamiento.

Por lo tanto, nuestro sistema ajusta la pose de la cámara y el modelo de la cámara en función de la pérdida visual de la red de representación neuronal y estima la exposición por imagen y los valores de balance de blancos junto con un modelo de viñeteo y una curva de respuesta del sensor por cámara.

Sobre la base de esta entrada limpia y corregida, la calidad de renderizado mejora significativamente. Además, nuestro método es capaz de sintetizar configuraciones HDR y LDR arbitrarias y corregir vistas subexpuestas o sobreexpuestas.

Por último, la cantidad de parámetros dentro de la red neuronal profunda se puede reducir significativamente porque los cambios de brillo y color ahora se manejan por separado mediante un modelo de sensor físicamente correcto.

Rendimiento del renderizado final

Por tanto, aumenta el rendimiento de renderizado y se reducen los artefactos de sobreajuste. En resumen, los aportes de nuestro trabajo son:

  • Un canal de renderizado neuronal basado en puntos y entrenable de extremo a extremo para el refinamiento y la visualización de escenas.
  • Un rasterizador diferenciable para símbolos de puntos de un píxel utilizando el concepto de geometría fantasma.
  • Una técnica de descarte de puntos estocásticos para una representación multicapa eficiente de grandes nubes de puntos.
  • Un mapeador de tonos diferenciable basado en la física que modela los efectos de la lente y el sensor de la fotografía digital.
  • Una implementación1 de código abierto del método propuesto, que es fácil de usar y adaptarse a nuevos problemas.
ADOP algoritmo para crear escenas 3D a partir de fotografías
El número de puntos combinados por píxel con renderizado original (izquierda) y nuestra técnica de descarte estocástico (derecha). Especialmente en capas de baja resolución (abajo), nuestro enfoque puede reducir significativamente la cantidad de puntos combinados con una aceleración total de más del 20%.

Representación basada en puntos

La renderización basada en puntos ha sido un tema de interés en la investigación de gráficos por computadora durante algún tiempo. En las últimas décadas han surgido dos enfoques ortogonales.

El primer enfoque importante es la representación de puntos como discos orientados, que generalmente se denominan splats o surfels, y el radio de cada disco se calcula previamente a partir de la densidad de la nube de puntos. Para deshacerse de los artefactos visibles entre símbolos vecinos, los discos se renderizan con una máscara alfa gaussiana y luego se combinan mediante una función de mezcla normalizadora.

Existen más extensiones para el renderizado de surfel, por ejemplo, Auto Splats, una técnica para calcular automáticamente símbolos orientados y dimensionados. En los últimos años, se han presentado enfoques basados ​​en el aprendizaje profundo que mejoran la calidad de imagen del renderizado de surfel, especialmente a lo largo de los bordes afilados.

El segundo enfoque principal para los gráficos basados ​​en puntos es la representación de muestras de puntos, donde los puntos se representan como símbolos de un píxel que generan una imagen dispersa de la escena.

Enfoques de relleno

Utilizando enfoques de relleno de agujeros iterativos o basados ​​en pirámides, la imagen final se reconstruye como un paso de posproceso. Para reducir el alias en escenas en movimiento, los puntos con un valor de profundidad similar se pueden combinar durante el renderizado.

Se ha demostrado que las implementaciones de software superan al renderizado acelerado por hardware a través de GL POINTS. Los enfoques desarrollados recientemente reemplazan las técnicas tradicionales de llenado de huecos con redes neuronales profundas para reducir la borrosidad y completar mejor los huecos grandes.

ADOP algoritmo para crear escenas 3D a partir de fotografías
Alineación de la imagen a la nube de puntos después de agregar un error de traslación y rotación artificial a cada pose de cámara. Las imágenes superiores muestran el error de píxel antes de la primera iteración y después de la última iteración. Usando gradientes fantasma, nuestros sistemas convergen a la solución inicial antes de que se agregue el ruido. Sin gradientes fantasma, el 20% de las imágenes no se alinearon correctamente, lo que resultó en una pérdida de percepción mayor.

Síntesis de vista novedosa

La síntesis de vista novedosa tradicional, que está estrechamente relacionada con la representación basada en imágenes (IBR), se basa en el principio básico de deformar los colores de un fotograma a otro.

Un enfoque es utilizar un proxy de malla triangular para deformar directamente los colores de la imagen a una vista novedosa.

Sin embargo, la geometría imperfecta conduce a artefactos fantasma alrededor de las siluetas. Esto se puede mejorar reemplazando la heurística hecha a mano en la línea clásica de IBR con redes neuronales profundas.

Si no hay una geometría de proxy disponible, se han desarrollado enfoques basados ​​en el aprendizaje que crean una representación de imagen de varios planos o estiman directamente el campo de deformación requerido.

La síntesis de vistas novedosas también se puede realizar reconstruyendo un modelo 3D de la escena y renderizándolo desde puntos de vista novedosos.

Texturas neuronales profundas

Vemos como una textura neuronal en una malla triangular que se puede renderizar usando la rasterización tradicional. Luego, la imagen rasterizada se convierte a RGB mediante una red neuronal profunda.

Otros enfoques utilizan la transmisión de rayos para aprender automáticamente una cuadrícula de vóxeles o una función implícita. También se ha demostrado que las nubes de puntos son proxies geométricos adecuados para la síntesis de vistas novedosas.

Los gráficos basados ​​en puntos neuronales (NPBG), que están estrechamente relacionados con nuestro método; representan una nube de puntos con descriptores neuronales aprendidos en múltiples resoluciones. Luego, estas imágenes se utilizan para reconstruir la imagen de salida final mediante una red neuronal profunda.

NPBG es muy flexible ya que no requiere una malla triangular texturizada como proxy y muestra resultados impresionantes en conjuntos de datos públicos.

En ADOP algoritmo para crear escenas, al igual que NPBG, muestran que la renderización de múltiples capas de profundidad de una nube de puntos también se puede utilizar para sintetizar vistas novedosas.

Resultados comparativos
Resultados comparativos de la síntesis de vistas novedosas en la escena del tren y el patio de juegos del conjunto de datos de tanques y templos. La imagen de referencia de la verdad del terreno se coloca en la última fila. Las imágenes azuladas ilustran el error por píxel después de comparar la imagen generada con la verdad del suelo. Todos los métodos muestran un gran resultado en ambas vistas, sin embargo, nuestro enfoque conserva la mayor parte de los detalles y proporciona una mejor precisión de color y brillo. En la siguiente tabla se puede encontrar una evaluación cuantitativa de esta tarea.

Representación inversa en ADOP

La renderización inversa y la renderización diferenciable han sido un tema de investigación durante algún tiempo. Sin embargo, solo se han logrado avances importantes en los últimos años debido a la mejora del hardware y los avances en el aprendizaje profundo.

Sin embargo, su aplicación puede ser un desafío; la rasterización de triángulos tradicional con pruebas de profundidad no tiene una derivada espacial analíticamente correcta. Por lo tanto, los sistemas disponibles se aproximan al degradado o se aproximan al renderizado en sí mediante la fusión alfa a lo largo de los bordes.

La difusión de rayos de volumen, por otro lado, se puede diferenciar al acumular todos los valores de voxel a lo largo del rayo. Esto ha sido utilizado por varios autores para construir sistemas de reconstrucción volumétrica o predecir el campo de distancia firmado de un objeto.

En lugar de una cuadrícula de vóxeles, también se puede utilizar una función implícita dentro de un marco de difusión de rayos volumétrico diferenciable. Mildenhall y compañía muestran con Neural Radiance Fields (NeRF); que una red neuronal profunda se puede entrenar mediante la difusión volumétrica de rayos para almacenar la radiación dependiente de la vista de un objeto.

Nerf es un punto crucial en esta ciencia del render en ADOP

Debido a los impresionantes resultados de NeRF, se han publicado múltiples extensiones y mejoras en los años siguientes. También se ha propuesto la representación inversa para la rasterización de nubes de puntos. Los gradientes espaciales de los puntos se pueden aproximar de diferentes formas.

Esto incluye el cálculo de gradientes a lo largo de siluetas; gradientes para salpicaduras gaussianas y aproximación de gradientes utilizando un volumen 3D temporal que representan los puntos como pequeñas esferas en lugar de símbolos.

Nuestro enfoque de renderizado de puntos diferenciables es similar a las técnicas de splatting diferenciables. Sin embargo, representamos solo un píxel por punto. Lo que permite que nuestro enfoque sea en múltiples magnitudes más eficiente que los métodos de la competencia.

Descripción general de la canalización en ADOP

En la imagen se presenta nuestra línea completa de procesamiento neuronal entrenable de extremo a extremo. Como entrada, utilizamos los parámetros de la cámara del nuevo marco; una nube de puntos donde cada punto se asigna a un descriptor neuronal aprendido y un mapa del entorno. La salida es una imagen LDR de la escena desde el punto de vista novedoso dado.

Esta imagen de salida se compara con la verdad del terreno. Por ejemplo, una fotografía, y la pérdida se propaga hacia atrás a través de nuestra canalización de renderizado. Dado que todos los pasos son diferenciables, podemos optimizar simultáneamente la estructura de la escena, los parámetros de red y el modelo del sensor.

En ADOP algoritmo para crear escenas el primer paso en la canalización es el rasterizador diferenciable. Representa cada punto como un símbolo del tamaño de un píxel proyectándolo en el espacio de la imagen utilizando los parámetros de la cámara.

Si el punto pasa la prueba de profundidad difusa, su descriptor se mezcla con la imagen de salida neuronal. Todos los píxeles que no han sido coloreados por un punto se rellenan con el color de fondo muestreado de un mapa de entorno esférico.

Dado que representamos los puntos como símbolos del tamaño de un píxel; la imagen de salida puede ser muy escasa según la resolución espacial de la nube de puntos y la distancia de la cámara.

Render de múltiples capas en diferentes escalas en ADOP

Por lo tanto, renderizamos múltiples capas en diferentes escalas y dejamos que el módulo de renderizado neuronal gestione la oclusión y la iluminación. Se presentan más detalles sobre el rasterizador diferencial después de esta descripción general en la Sección IV.

El renderizador neuronal toma la imagen neuronal multirresolución para producir una única imagen de salida HDR. Consiste en un UNet completamente convolucional de cuatro capas con conexiones de salto. Donde las imágenes de entrada de menor resolución se concatenan a los tensores de características intermedias.

En ADOP algoritmo para crear escenas la disminución de la muestra se realiza mediante la combinación de promedios; y las imágenes se muestrean por interpolación bilineal.

Como primitivas de convolución, utilizamos convoluciones con compuerta que se han desarrollado inicialmente para tareas de llenado de agujeros. Por lo tanto, son muy adecuadas para la entrada de puntos dispersos. En general, la arquitectura de la red es similar a la de una capa menos y algunas modificaciones para permitir imágenes HDR.

La importancia de la Irradiancia en ADOP

Primero, eliminamos las capas de normalización por lotes, ya que normalizan la desviación media y estándar de las imágenes intermedias a valores fijos. Por lo tanto, la irradiancia total del sensor se pierde y no se puede propagar desde un punto 3D a la imagen final.

Además, almacenamos los descriptores de los puntos neuronales de forma logarítmica si el rango de radiación de la escena es considerable (mayor que 1: 400). De lo contrario, los descriptores neuronales se almacenan linealmente.

Para los descriptores logarítmicos, los convertimos a espacio lineal durante la rasterización para que las operaciones de convolución solo usen valores de brillo lineales.

El último paso en la canalización es el operador de mapeo de tonos que se puede aprender, que convierte la imagen HDR renderizada a LDR.

En ADOP algoritmo para crear escenas nuestro mapeador de tonos imita la lente física y las propiedades del sensor de las cámaras digitales. Por lo tanto, es más adecuado para capturas de imágenes LDR de teléfonos inteligentes, cámaras DSLR y cámaras de video. En la Sección V se presenta una descripción detallada del mapeador de tonos.

Más información en el sitio web de GitHub. También puedes encontrar más información y comentarios en el foro, sigue leyendo…

ADOP algoritmo para crear escenas 3D a partir de fotografías