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

Neural Rendering

El renderizado neuronal sustituye partes del proceso gráfico por redes neuronales para crear imágenes y escenas 3D aprendidas a partir de fotografías. Descubre los métodos y el código.

La representación neuronal genera imágenes y vídeo con redes neuronales que sustituyen o amplían partes del proceso tradicional de gráficos por ordenador, manteniendo el control sobre las propiedades de la escena, como el punto de vista de la cámara, la iluminación, la geometría y el aspecto. La representación convencional calcula una imagen a partir de modelos 3D, materiales y fuentes de luz creados manualmente, aplicando la física del transporte de la luz. En cambio, la representación neuronal aprende algunos de estos elementos a partir de fotos y vídeos, o aprende a producir directamente los píxeles finales. Como disciplina, la representación neuronal combina aprendizaje automático generativo con conocimientos físicos de los gráficos por ordenador, a menudo integrando la representación diferenciable en el entrenamiento de la red. La representación neuronal permite crear capturas 3D fotorrealistas de lugares reales, mejorar la resolución con IA y generar fotogramas en videojuegos, así como simulaciones para robótica y coches autónomos.

Cómo funciona la representación neuronal#

La rama de mayor influencia aprende una escena 3D a partir de fotos corrientes. Una representación de la escena, como una red neuronal, una cuadrícula de características aprendidas o un conjunto de primitivas 3D, se convierte en una imagen desde la posición de cámara de una foto de entrenamiento mediante un renderizador diferenciable. Como se puede calcular la derivada de cada paso del renderizador, la diferencia entre la imagen renderizada y la foto real se puede propagar hacia atrás mediante retropropagación hasta cada parámetro de la escena. Al repetir este proceso desde muchas perspectivas, se reconstruye la escena con suficiente precisión para renderizar puntos de vista que ninguna cámara capturó:

Las poses de cámara de las fotos suelen obtenerse con software de reconstrucción a partir del movimiento, como COLMAP, que empareja características entre fotos superpuestas para averiguar dónde se tomó cada una.

Representaciones neuronales de escenas#

Los campos de radiancia neuronales (NeRF), presentados en 2020, almacenan una escena en los pesos de un perceptrón multicapa que asigna una posición 3D y una dirección de visión a una densidad y un color. Para renderizar un píxel, NeRF muestrea puntos a lo largo del rayo de cámara que lo atraviesa y combina sus colores mediante representación volumétrica: cada muestra contribuye según su opacidad y la cantidad de luz que sobrevive a las muestras situadas delante. Este código de PyTorch entrena un campo diminuto para reproducir un píxel observado a lo largo de un rayo:

import torch
from torch import nn

# A tiny neural field that maps a 3D point to a density and an RGB color
torch.manual_seed(0)
field = nn.Sequential(nn.Linear(3, 64), nn.ReLU(), nn.Linear(64, 4))
optimizer = torch.optim.Adam(field.parameters(), lr=0.01)

# 64 points along one camera ray, and the color a training photo shows for that pixel
depths = torch.linspace(2.0, 6.0, 64)
points = torch.stack([torch.zeros(64), torch.zeros(64), depths], dim=1)
observed = torch.tensor([0.9, 0.4, 0.1])

for step in range(200):
    density, color = field(points).split([1, 3], dim=1)
    # Volume rendering: each sample's opacity times the light that reaches it through the samples in front
    alpha = 1 - torch.exp(-nn.functional.softplus(density.squeeze(1)) * (depths[1] - depths[0]))
    transmittance = torch.cumprod(torch.cat([torch.ones(1), 1 - alpha[:-1]]), dim=0)
    pixel = (transmittance * alpha) @ torch.sigmoid(color)
    loss = ((pixel - observed) ** 2).sum()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    if step in (0, 199):
        print(f"step {step}: rendered {pixel.detach().numpy().round(2)}, loss {loss.item():.4f}")

Imprime step 0: rendered [0.71 0.37 0.56], loss 0.2496 y step 199: rendered [0.9 0.4 0.1], loss 0.0000. La red sin entrenar renderiza un color arbitrario, y los gradientes que se propagan hacia atrás a través de la ecuación de representación ajustan sus pesos hasta que el píxel renderizado coincide con la foto. Un NeRF real hace lo mismo con millones de rayos procedentes de decenas o cientos de fotos.

El NeRF original necesitaba entre uno y dos días de entrenamiento por escena en una GPU NVIDIA V100, y cada imagen renderizada requería entre 150 y 200 millones de consultas a la red, aproximadamente 30 segundos por fotograma. Instant NGP de NVIDIA sustituyó la mayor parte de la red por una tabla hash multirresolución de características aprendidas, lo que redujo el entrenamiento a segundos o minutos y la representación a decenas de milisegundos a 1920×1080. En 2023, el splatting gaussiano fue aún más lejos y representó escenas con millones de gaussianas 3D explícitas que se rasterizan en tiempo real sin evaluar ninguna red durante la representación; suele incluirse en la representación neuronal porque se optimiza del mismo modo.

Representación neuronal en el espacio de imagen#

Una segunda rama mantiene un renderizador convencional y usa redes para completar o ampliar su salida. DLSS de NVIDIA representa los juegos a una resolución reducida, la aumenta con modelos Transformer y, en las GPU GeForce RTX 50 Series, genera hasta cinco fotogramas por cada fotograma que representa el juego. Los renderizados con trazado de trayectorias utilizan sistemas de eliminación de ruido aprendidos para obtener imágenes nítidas a partir de unas pocas muestras de luz por píxel. Otros modelos sintetizan imágenes a partir de diseños de escenas: GauGAN de NVIDIA convirtió un mapa semántico de cielo, agua y árboles en un paisaje fotorrealista, y los sistemas de avatares neuronales representan la cara de una persona desde nuevos ángulos o con otra iluminación.

  • Representación diferenciable: un renderizador cuya salida permite calcular derivadas con respecto a las entradas. Es el mecanismo que permite a la representación neuronal aprender a partir de imágenes, pero también se utiliza sin redes neuronales, por ejemplo, para ajustar una malla a unas fotos.
  • Representación inversa: recuperación de la geometría, los materiales y la iluminación a partir de imágenes, a menudo mediante representación diferenciable, para poder editar y volver a representar los resultados.
  • Síntesis de vistas novedosas: tarea de generar imágenes desde puntos de vista no observados, que abordan NeRF y el splatting gaussiano; la representación neuronal engloba un conjunto más amplio de técnicas.
  • IA generativa: los modelos de generación de vídeo e imágenes a partir de texto crean contenido a partir de indicaciones, normalmente sin una escena explícita que se pueda ver desde una posición de cámara elegida.

Aplicaciones en el mundo real#

  • Cine y producción virtual: se reconstruyen lugares capturados como campos de radiancia o splats y se representan desde nuevas trayectorias de cámara para crear efectos visuales y previsualizaciones.
  • Gemelos digitales y comercio electrónico: las capturas de habitaciones, edificios y productos hechas con teléfonos se convierten en vistas 3D que los clientes y planificadores pueden explorar en un navegador o con un visor de RA.
  • Robótica y vehículos autónomos: se reconstruyen trayectos grabados y se vuelven a representar desde puntos de vista desplazados, lo que genera datos sintéticos para probar sistemas de percepción. Las personas y los coches que se mueven durante una captura dejan artefactos semitransparentes, por lo que los procesos ocultan esas zonas en las fotos de entrenamiento; los modelos de segmentación de instancias de YOLO26 generan automáticamente esas máscaras para cada fotograma. Block-NeRF de Waymo reconstruyó todo un barrio de San Francisco a partir de 2,8 millones de imágenes, uniendo una cuadrícula de NeRF entrenados por separado.

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