Explore how Neural Radiance Fields (NeRF) revolutionize 3D scene synthesis. Learn to use [YOLO26](https://docs.ultralytics.com/models/yolo26/) for NeRF data prep.
Os Neural Radiance Fields (NeRF) representam um avanço revolucionário na visão computacional (CV) e na IA generativa, concebidos para sintetizar cenas 3D fotorrealistas a partir de um conjunto esparso de imagens 2D. Ao contrário das abordagens tradicionais de modelação 3D, que dependem de estruturas geométricas explícitas como polígonos, malhas ou nuvens de pontos, um NeRF utiliza uma rede neural (NN) para aprender uma representação "implícita" de uma cena. Ao mapear coordenadas espaciais e direções de visualização para valores de cor e densidade, os NeRFs podem renderizar novos pontos de vista com fidelidade excepcional, capturando com precisão efeitos visuais complexos , como reflexos, transparência e iluminação variável, que muitas vezes são difíceis de reproduzir com a fotogrametria padrão .
Na sua essência, um NeRF modela uma cena como uma função volumétrica contínua. Esta função é normalmente parametrizada por uma rede de aprendizagem profunda (DL) totalmente conectada. O processo começa com o ray marching, onde os raios são projetados a partir de uma câmara virtual através de cada pixel do plano de imagem desejado para o espaço 3D.
Para pontos amostrados ao longo de cada raio, a rede recebe uma entrada 5D — composta pela localização espacial 3D ($x, y, z$) e pela direção de visualização 2D ($\theta, \phi$) — e gera a cor emitida e a densidade de volume (opacidade) nesse ponto. Usando técnicas baseadas na renderização de volume, esses valores amostrados são acumulados para calcular a cor final do pixel. A rede é treinada minimizando a diferença entre os pixels renderizados e os pixels reais dos dados de treino originais, otimizando efetivamente os pesos do modelo para memorizar as propriedades visuais da cena .
A tecnologia NeRF passou rapidamente da investigação académica para ferramentas práticas, impactando várias indústrias ao preencher a lacuna entre a fotografia estática e os ambientes 3D interativos.
É útil distinguir o NeRF de outras tecnologias 3D e de visão para compreender a sua utilidade específica.
O treino de um NeRF de alta qualidade requer frequentemente dados limpos. O ruído de fundo ou objetos em movimento podem causar artefactos de «ghosting» na renderização final. Para mitigar isso, os desenvolvedores costumam usar modelos de segmentação de instâncias para mascarar automaticamente o objeto de interesse antes de treinar o NeRF.
A Ultralytics e a Python permitem a integração perfeita da segmentação neste fluxo de trabalho de pré-processamento. O exemplo a seguir demonstra como usar o YOLO26 para gerar máscaras para um conjunto de imagens, preparando-as para reconstrução 3D.
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference to detect and segment objects
# Saving results creates masks useful for NeRF preprocessing
results = model("scene_image.jpg", save=True)
# Access the binary masks for the detected objects
masks = results[0].masks.data
print(f"Generated {len(masks)} masks for NeRF training.")
Ao combinar a precisão da segmentação com o poder generativo dos NeRFs, os engenheiros podem criar pipelines robustos para a geração de dados sintéticos, permitindo a criação de amostras de treino ilimitadas para outras tarefas a jusante.