Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Neural Radiance Fields (NeRF)

Los campos de radiancia neuronales (NeRF) representan una escena 3D en una red neuronal entrenada con fotografías con poses conocidas y generan nuevas vistas mediante renderizado volumétrico a lo largo de los rayos de la cámara.

Un campo de radiancia neuronal (NeRF) representa una escena 3D como una red neuronal que asigna a cualquier posición 3D y dirección de visión una densidad y un color, aprendidos a partir de un conjunto de fotografías normales con posiciones de cámara conocidas. Para renderizar una vista, se lanza un rayo a través de cada píxel, se consulta la red en puntos a lo largo del rayo y se combinan los resultados mediante renderizado volumétrico; así, un NeRF entrenado muestra la escena desde puntos de vista que ninguna cámara capturó. Ben Mildenhall, Pratul Srinivasan, Matthew Tancik y sus colegas de UC Berkeley, Google Research y UC San Diego presentaron el método en NeRF: representación de escenas como campos de radiancia neuronal para la síntesis de vistas, en ECCV 2020. Los NeRF reproducen reflejos, estructuras finas y materiales semitransparentes que la fotogrametría basada en mallas gestiona mal, y dieron origen a la ola de investigación sobre renderizado neuronal que llevó al splatting gaussiano.

Cómo funcionan los campos de radiancia neuronal#

El NeRF original es un perceptrón multicapa sin convoluciones. Procesa una posición 3D codificada mediante 8 capas totalmente conectadas de 256 canales y genera una densidad volumétrica y un vector de características de 256 valores. El vector de características, combinado con la dirección de visión codificada, pasa por otra capa de 128 canales que genera un color RGB. La densidad depende únicamente de la posición, lo que mantiene la geometría coherente entre vistas, mientras que el color también depende de la dirección y capta los brillos especulares y los reflejos que cambian al moverse la cámara:

Para renderizar un píxel, NeRF toma 64 muestras a lo largo del rayo de la cámara con una red gruesa, después otras 128 en los puntos donde la pasada gruesa encontró densidad y evalúa una red fina en todos ellos. Cada muestra aporta su color en proporción a su opacidad y a la transmitancia —la fracción de luz que sobrevive a las muestras que tiene delante—, y la suma ponderada es el color del píxel. El entrenamiento minimiza la diferencia cuadrática entre los colores de los píxeles renderizados y fotografiados en lotes de 4.096 rayos. Las poses de cámara suelen proceder de programas de estructura a partir del movimiento, como COLMAP, y una escena requería entre 100.000 y 300.000 iteraciones —aproximadamente uno o dos días— en una GPU NVIDIA V100.

Un MLP básico alimentado con coordenadas sin procesar aprende funciones suaves y difumina los detalles finos, así que NeRF transforma primero cada coordenada en senos y cosenos de frecuencias que se duplican: 10 para la posición y 4 para la dirección. Este código de PyTorch ajusta la misma red a una señal unidimensional a rayas, con y sin esa codificación posicional:

import torch
from torch import nn

torch.manual_seed(0)
# Color along one line through a scene, with fine detail such as a striped texture
x = torch.linspace(-1, 1, 512).unsqueeze(1)
target = torch.sin(12 * torch.pi * x) * torch.cos(3 * torch.pi * x)

# NeRF's positional encoding: sines and cosines of the coordinate at 10 doubling frequencies
freqs = 2.0 ** torch.arange(10) * torch.pi
encoded = torch.cat([torch.sin(x * freqs), torch.cos(x * freqs)], dim=1)

for name, inputs in (("raw coordinate", x), ("positional encoding", encoded)):
    mlp = nn.Sequential(nn.Linear(inputs.shape[1], 256), nn.ReLU(), nn.Linear(256, 256), nn.ReLU(), nn.Linear(256, 1))
    optimizer = torch.optim.Adam(mlp.parameters(), lr=1e-3)
    for step in range(1000):
        loss = ((mlp(inputs) - target) ** 2).mean()
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"{name}: mean squared error {loss.item():.4f}")

Imprime raw coordinate: mean squared error 0.0870 y positional encoding: mean squared error 0.0000. La potencia media de la señal es 0,25, así que la red que usa coordenadas sin procesar no capta aproximadamente un tercio de ella —las franjas finas—, mientras que la red codificada sí la reproduce.

NeRF más rápidos y robustos#

  • Antialiasing y escenas ilimitadas: Mip-NeRF renderiza conos en lugar de rayos infinitamente finos para eliminar el aliasing, y Mip-NeRF 360 amplía el método a capturas de 360° sin límites.
  • Velocidad: Instant NGP de NVIDIA sustituye la mayor parte de la red por una tabla hash multirresolución de características aprendidas, lo que reduce el entrenamiento de días a segundos o minutos y permite renderizar en decenas de milisegundos a 1920×1080.
  • Fotografías tomadas en entornos reales: NeRF in the Wild añade incrustaciones de apariencia por fotografía y un componente transitorio independiente, por lo que las colecciones de fotos de Internet con iluminación cambiante y turistas que pasan se reconstruyen correctamente.
  • De texto a 3D: DreamFusion optimiza un NeRF hasta que sus renderizados desde cualquier ángulo parecen plausibles para un modelo de difusión 2D de texto a imagen, y crea objetos 3D a partir de indicaciones sin datos de entrenamiento 3D.
  • Splatting gaussiano: Almacena una escena de forma explícita como millones de gaussianas 3D y las rasteriza, lo que permite renderizar en tiempo real sin evaluar la red por píxel. En 2023 igualó la calidad de Mip-NeRF 360 y ha sustituido a NeRF en muchas herramientas de captura, a costa de consumir más memoria.
  • Fotogrametría: Construye una malla explícita emparejando características entre fotografías. Las mallas son compactas y se pueden editar en programas 3D estándar, pero tienen dificultades con superficies brillantes, transparentes y muy finas.
  • Estimación de profundidad: NeRF produce un mapa de profundidad como subproducto: la distancia esperada a la que se detiene cada rayo, pero solo después de optimizarlo con muchas fotografías posadas de una escena. Los modelos de profundidad monocular predicen la profundidad a partir de una sola imagen en una pasada hacia delante.
  • Representaciones neuronales implícitas: NeRF es una representación neuronal implícita especializada en radiancia y densidad, junto con redes que almacenan imágenes, formas o audio como funciones continuas.

Requisitos de captura#

NeRF presupone una escena estática con iluminación constante, fotografiada desde muchos puntos de vista superpuestos y con poses de cámara precisas. El artículo original entrenó cada objeto sintético con 100 vistas renderizadas y cada escena real frontal con entre 20 y 62 fotografías. Todo lo que se mueva durante la captura, como un peatón o un coche, aparece en algunas fotografías y no en otras, y la optimización lo explica con «elementos flotantes» semitransparentes. Los modelos de segmentación de instancias de Ultralytics YOLO26 enmascaran a personas y vehículos en cada fotografía, de modo que se pueden excluir del entrenamiento los rayos que atraviesan esos píxeles.

Aplicaciones en el mundo real#

  • Cine y producción virtual: Se reconstruyen las ubicaciones capturadas y se renderizan desde nuevas trayectorias de cámara como fondos fotorrealistas y referencias para los decorados.
  • Robótica y simulación de conducción: Se reconstruyen entornos grabados para que los equipos de vehículos autónomos y robótica puedan renderizar vistas de sensores desde posiciones que el recorrido original nunca alcanzó.
  • Visualización de productos: Unas pocas decenas de fotografías de un artículo se convierten en una vista interactiva que los compradores pueden girar libremente.
  • Mapas: Para Immersive View de Google Maps, Google reconstruyó interiores de restaurantes y cafeterías con NeRF a partir de fotografías DSLR capturadas en aproximadamente una hora por local. El sistema se basó en Mip-NeRF 360, con las incrustaciones de apariencia de NeRF in the Wild y el condicionamiento de exposición de Block-NeRF, y los presentó como vídeos interactivos de 360° a lo largo de rutas aéreas seleccionadas.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático