Los campos de radiación neuronal (NeRF) se convierten lentamente en el próximo tema candente en el mundo del aprendizaje profundo. Desde que se propusieron originalmente en 2020, hay una explosión de papeles como se puede ver en Presentaciones de CVPR para 2022. La revista Time incluyó recientemente una variación de NeRF, denominadas primitivas neuronales de gráficos instantáneos, en su mejores inventos de 2022 lista. Pero, ¿qué son exactamente los NeRF y cuáles son sus aplicaciones?
En este artículo, intentaré desmitificar todas las diferentes terminologías, como campos neuronales, NeRF, primitivas gráficas neuronales, etc. Para darle una vista previa, todas significan lo mismo dependiendo de a quién le pregunte. También presentaré una explicación de cómo funcionan analizando los dos artículos más influyentes.
¿Qué es un campo neural?
El término campo neural fue popularizado por Xie et al. y describe una red neuronal que parametriza una señal. Esta señal suele ser una única escena u objeto 3D, pero no es obligatorio. También podemos usar campos neuronales para representar cualquier tipo de señales (discretas o continuas) como audio o imágenes.
Su uso más popular es en aplicaciones de gráficos por computadora como la síntesis de imágenes y la reconstrucción 3D, que es el tema principal de este artículo.
Tenga en cuenta que los campos neuronales también se han aplicado en otras aplicaciones, como el modelado generativo, el procesamiento de imágenes 2D, la robótica, las imágenes médicas y la parametrización de audio.
En la mayoría de las variaciones de campos neuronales, las redes neuronales totalmente conectadas codifican las propiedades de los objetos o las escenas. En tono rimbombante, una red necesita ser entrenada para codificar (capturar) una sola escena. Tenga en cuenta que, a diferencia del aprendizaje automático estándar, el objetivo es adaptar la red neuronal a una escena en particular. En esencia, los campos neuronales incrustan la escena en los pesos de la red.
¿Por qué usar campos neuronales?
Las escenas 3D normalmente se almacenan mediante cuadrículas de vóxeles o mallas poligonales. Por un lado, los vóxeles suelen ser muy caros de almacenar. Por otro lado, las mallas poligonales solo pueden representar superficies duras y no son adecuadas para aplicaciones como imágenes médicas.
Vóxeles vs mallas poligonales. Fuente: Wikipedia sobre vóxeles, Wikipedia sobre mallas poligonales
Los campos neuronales han ganado una creciente popularidad en las aplicaciones de gráficos por computadora, ya que son representaciones 3D muy eficientes y compactas de objetos o escenas. ¿Por qué? A diferencia de los vóxeles o mallas, son diferenciables y continuos. Otra ventaja es que también pueden tener dimensiones y resoluciones arbitrarias. Además, son independientes del dominio y no dependen de la entrada para cada tarea.
En ese punto, puede preguntarse: ¿de dónde viene el nombre de campos neuronales?
¿Qué significan los campos?
En física, un campo es una cantidad definida para todas las coordenadas espaciales y/o temporales. Se puede representar como un mapeo a partir de una coordenada.
a una cantidad
, normalmente un escalar, un vector o un tensor. Los ejemplos incluyen campos gravitatorios y campos electromagnéticos.
La siguiente pregunta que puede hacer: ¿cuáles son los pasos para «aprender» un campo neuronal?
Pasos para entrenar un campo neural
Siguiendo a Xie et al. el progreso típico de los campos neuronales informáticos se puede formular de la siguiente manera:
-
Ejemplo de coordenadas de una escena.
-
Aliméntelos a una red neuronal para producir cantidades de campo.
-
Muestree las cantidades de campo del dominio de reconstrucción deseado del problema.
-
Asigne la reconstrucción al dominio del sensor (por ejemplo, imágenes RGB 2D).
-
Calcule el error de reconstrucción y optimice la red neuronal.
Un algoritmo de campo neural típico. Fuente: Xie et al.
Para mayor claridad, usemos algunos términos matemáticos para denotar el proceso. La reconstrucción es un campo neural, denotado como
que mapea las coordenadas del mundo
a las cantidades de campo
. La observación de un sensor también es un campo neuronal.
que transforma las coordenadas del sensor
en medidas
. El mapa directo es un mapeo entre los dos campos neuronales.
y es diferenciable.
Como resultado, podemos resolver el siguiente problema de optimización para calcular el campo neuronal
.
La siguiente tabla (Xie et al.) ilustra diferentes aplicaciones de campos neuronales junto con los dominios de reconstrucción y sensor.
Ejemplos de mapas de avance. Fuente: Xie et al.
Analicemos la arquitectura más popular de campos neuronales llamada NeRF que resuelve el problema de la síntesis de vistas.
Campos de radiación neuronal (NeRF) para la síntesis de vistas
La arquitectura de campo neuronal más destacada se llama Neural Radiance Fields o NeRF. Fueron propuestos originalmente para resolver la síntesis de vistas. La síntesis de vista es la tarea en la que genera un objeto o escena 3D a partir de un conjunto de imágenes desde diferentes ángulos (o vistas). Ver síntesis es casi equivalente a 3D reconstrucción.
Reconstrucción 3D multivista. Fuente: Métodos variacionales convexos para reconstrucción de vista única y multivista de espacio-tiempo
Tenga en cuenta que para comprender completamente los NeRF, uno debe familiarizarse con muchos conceptos de gráficos por computadora, como la representación volumétrica y la proyección de rayos. En esta sección, intentaré explicarlos de la manera más eficiente posible, pero también dejaré algunos recursos adicionales para ampliar su investigación. Si busca un curso estructurado para iniciarse en la infografía, Gráficos por computadora de UC San Diego es el mejor afaik
NeRFs y terminología de campos neuronales lado a lado
Como ya mencioné, los NeRF son un caso especial de campos neuronales. Por esa razón, veamos una comparación lado a lado. No dude en volver a visitar esta tabla una vez que expliquemos los NeRF para establecer la conexión entre ellos y los campos neuronales.
campos neuronales | Campos de radiación neuronal (NeRF) |
---|---|
Coordenada mundial | Localización espacial y dirección de visualización |
Cantidades de campo | Color y densidad de volumen |
Campo | MLP |
Coordenadas del sensor | imágenes 2D |
Mediciones | Resplandor |
Sensor | Cámara digital |
Mapeo directo | Representación de volumen |
La razón por la que decidí presentar primero los campos neuronales y luego los NeRF es para comprender que los campos neuronales son un marco mucho más general
Explicación de los NeRF
NeRF propuestos por Mildenhall et al. . aceptar una única coordenada 5D continua como entrada, que consiste en una ubicación espacial
y dirección de visualización
. Este punto particular del objeto/escena se alimenta a un MLP, que genera las intensidades de color correspondientes
y su densidad volumétrica
.
La densidad de volumen (probabilidad) indica cuánta radiación (o luminancia) acumula un rayo que pasa a través de
y es una medida del “efecto” que este punto tiene en la escena general. Intuitivamente, la densidad de volumen de probabilidad proporciona la posibilidad de que se tenga en cuenta el valor de color predicho.
Campos de Radiación Neural. Fuente: Mildenhall et al.
El poder del campo neural es que puede generar diferentes representaciones para el mismo punto cuando se ve desde diferentes ángulos. Como resultado, puede capturar varios efectos de iluminación, como reflejos y transparencias, lo que lo hace ideal para representar diferentes vistas de la misma escena. Esto lo convierte en una representación mucho mejor en comparación con la cuadrícula o mallas de vóxeles.
NeRF de entrenamiento
El problema con el entrenamiento de estas arquitecturas es que no se conocen la densidad y el color del objetivo. Por lo tanto, necesitamos un método (diferenciable) para mapearlos de nuevo a imágenes 2D. Luego, estas imágenes se comparan con las imágenes reales del terreno, formulando una pérdida de representación frente a la cual podemos optimizar la red.
Proceso de formación de NeRFs. Fuente: Mildenhall et al.
Como se muestra en la imagen de arriba, representación de volumen se utiliza para mapear la salida del campo neural de nuevo a la imagen 2D. La pérdida L2 estándar se puede calcular utilizando la imagen/píxel de entrada en forma de codificador automático. Tenga en cuenta que la representación de volumen es un proceso muy común en los gráficos por computadora. Veamos en resumen cómo funciona.
Representación de volumen
Cuando tomamos muestras de coordenadas de las imágenes originales, emitimos rayos en cada píxel y tomamos muestras en diferentes intervalos de tiempo, un proceso conocido como marcha de rayos. Cada punto de muestra tiene una ubicación espacial, un color y una densidad de volumen. Estas son las entradas del campo neural.
Un rayo es una función de su origen.
su dirección
y sus muestras en intervalos de tiempo
. Se puede formular como