Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Neural Radiance Fields (NeRF)

Campos de radiância neural (NeRF) armazenam uma cena 3D em uma rede neural treinada com fotos de poses conhecidas e renderizam novas vistas usando renderização volumétrica ao longo dos raios da câmera.

Um campo de radiância neural (NeRF) representa uma cena 3D como uma rede neural que mapeia qualquer posição 3D e direção de visualização para uma densidade e uma cor, aprendidas a partir de um conjunto de fotos comuns com posições de câmera conhecidas. Para renderizar uma vista, um raio atravessa cada pixel, a rede é consultada em pontos ao longo do raio e os resultados são combinados por renderização volumétrica; assim, um NeRF treinado mostra a cena de pontos de vista que nenhuma câmera capturou. Ben Mildenhall, Pratul Srinivasan, Matthew Tancik e colegas da UC Berkeley, Google Research e UC San Diego apresentaram o método em NeRF: Representando cenas como campos de radiância neural para síntese de vistas, na ECCV 2020. NeRFs reproduzem reflexos, estruturas finas e materiais semitransparentes, que a fotogrametria baseada em malhas trata mal, e deram início à onda de pesquisas em renderização neural que levou ao splatting gaussiano.

Como funcionam os campos de radiância neural#

O NeRF original é um perceptron multicamadas sem convoluções. Ele processa uma posição 3D codificada com 8 camadas totalmente conectadas de 256 canais e produz uma densidade volumétrica e um vetor de características com 256 valores. O vetor de características, combinado com a direção de visualização codificada, passa por mais uma camada de 128 canais, que produz uma cor RGB. A densidade depende apenas da posição, o que mantém a geometria consistente entre as vistas, enquanto a cor também depende da direção, capturando os realces especulares e os reflexos que mudam conforme a câmera se move:

Para renderizar um pixel, o NeRF amostra 64 pontos ao longo do raio da câmera com uma rede grosseira e, em seguida, mais 128 pontos onde a passagem grosseira encontrou densidade; depois, avalia uma rede refinada em todos eles. Cada amostra contribui com sua cor proporcionalmente à opacidade e à transmitância — a fração de luz que atravessa as amostras à sua frente — e a soma ponderada resulta na cor do pixel. O treinamento minimiza a diferença quadrática entre as cores dos pixels renderizados e fotografados em lotes de 4.096 raios. As poses da câmera geralmente vêm de softwares de estrutura a partir do movimento, como COLMAP, e uma cena levou de 100.000 a 300.000 iterações, cerca de um a dois dias, em uma GPU NVIDIA V100.

Um MLP simples alimentado com coordenadas brutas aprende funções suaves e desfoca detalhes finos; por isso, o NeRF primeiro mapeia cada coordenada para senos e cossenos em frequências que dobram a cada etapa: 10 para a posição e 4 para a direção. Este código PyTorch ajusta a mesma rede a um sinal 1D listrado, com e sem essa codificação 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}")

Ele imprime raw coordinate: mean squared error 0.0870 e positional encoding: mean squared error 0.0000. A potência média do sinal é 0,25, então a rede que usa coordenadas brutas não captura cerca de um terço dele — as listras finas —, enquanto a rede codificada o reproduz.

NeRFs mais rápidos e robustos#

  • Antialiasing e cenas ilimitadas: Mip-NeRF renderiza cones em vez de raios infinitamente finos para eliminar o aliasing, e Mip-NeRF 360 estende esse método a capturas 360° ilimitadas.
  • Velocidade: O Instant NGP da NVIDIA substitui a maior parte da rede por uma tabela hash multirresolução de características aprendidas, reduzindo o treinamento de dias para segundos ou minutos e a renderização para dezenas de milissegundos em 1920×1080.
  • Fotos tiradas em ambientes reais: NeRF in the Wild adiciona embeddings de aparência por foto e um componente transitório separado, permitindo reconstruir com clareza coleções de fotos da internet com iluminação variável e turistas passando.
  • Texto para 3D: DreamFusion otimiza um NeRF até que suas renderizações de todos os ângulos pareçam plausíveis para um modelo de difusão 2D de texto para imagem, criando objetos 3D a partir de prompts sem dados de treinamento 3D.
  • Splatting gaussiano: Armazena explicitamente uma cena como milhões de gaussianas 3D e as rasteriza, permitindo renderização em tempo real sem avaliar a rede para cada pixel. Em 2023, igualou a qualidade do Mip-NeRF 360 e substituiu o NeRF em muitas ferramentas de captura, ao custo de maior uso de memória.
  • Fotogrametria: Cria uma malha explícita combinando características entre fotos. As malhas são compactas e editáveis em softwares 3D convencionais, mas têm dificuldade com superfícies brilhantes, transparentes e muito finas.
  • Estimativa de profundidade: Um NeRF gera um mapa de profundidade como subproduto: a distância esperada em que cada raio termina, mas somente após a otimização com muitas fotos da mesma cena com poses conhecidas. Modelos de profundidade monocular preveem a profundidade a partir de uma única imagem em uma passagem direta.
  • Representações neurais implícitas: O NeRF é uma representação neural implícita especializada em radiância e densidade, assim como as redes que armazenam imagens, formas ou áudio como funções contínuas.

Requisitos de captura#

Um NeRF pressupõe uma cena estática sob iluminação constante, fotografada de muitos pontos de vista sobrepostos com poses de câmera precisas. O artigo original treinou cada objeto sintético com 100 vistas renderizadas e cada cena real voltada para a frente com 20 a 62 fotos. Tudo que se move durante a captura, como um pedestre ou um carro, aparece em algumas fotos, mas não em outras, e a otimização o explica como "artefatos flutuantes" semitransparentes. Os modelos de segmentação de instâncias do Ultralytics YOLO26 mascaram pessoas e veículos em cada foto, permitindo excluir do treinamento os raios que atravessam esses pixels.

Aplicações no mundo real#

  • Cinema e produção virtual: Locais capturados são reconstruídos e renderizados a partir de novos trajetos de câmera como fundos fotorrealistas e referências para cenários.
  • Robótica e simulação de direção: Ambientes registrados são reconstruídos para que equipes de veículos autônomos e robótica possam renderizar vistas de sensores a partir de posições que o trajeto original nunca percorreu.
  • Visualização de produtos: Algumas dezenas de fotos de um item se transformam em uma vista interativa que os clientes podem girar livremente.
  • Mapas: Para a Vista imersiva do Google Maps, o Google reconstruiu interiores de restaurantes e cafés com NeRF a partir de fotos DSLR capturadas em cerca de uma hora por local, usando como base Mip-NeRF 360, os embeddings de aparência do NeRF in the Wild e o condicionamento de exposição do Block-NeRF; o resultado foi disponibilizado como vídeos interativos em 360° ao longo de trajetos de voo selecionados.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina