Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Neural Radiance Field

  • Também chamado: NeRF, NeRFs, radiance field
  • Categoria: Sensing › 3D maps & reconstruction
  • Tags: 3d-reconstruction, computer-vision, neural-rendering, perception, deep-learning

Uma representação neural de cenas que mapeia uma posição 3D e uma direção de visada para cor e densidade, treinada a partir de imagens com pose para que novas vistas da cena possam ser renderizadas.

Definição

Campo de radiância neural (Neural Radiance Field, NeRF) é uma forma de representar uma cena 3D com uma rede neural, apresentada por Mildenhall et al. em 2020. A rede recebe como entrada um ponto 3D e uma direção de visada e produz uma cor e uma densidade volumétrica nesse ponto. Para renderizar uma imagem a partir de uma nova pose de câmera, um raio é lançado através de cada pixel, a rede é avaliada em muitos pontos de amostragem ao longo do raio e as cores são combinadas por renderização volumétrica clássica, ponderadas pela densidade.

Um NeRF é treinado a partir de um conjunto de imagens de uma cena com poses de câmera conhecidas, normalmente estimadas com ferramentas de structure from motion como o COLMAP. O treinamento ajusta a rede para que as imagens renderizadas correspondam às fotografias reais. Como o processo de renderização é diferenciável, as fotografias sozinhas fornecem supervisão suficiente; não é preciso nenhuma verdade de referência 3D. Uma codificação posicional das coordenadas de entrada permite que a rede capture detalhes finos.

O método original era lento para treinar e renderizar. Trabalhos posteriores introduziram representações de cena mais rápidas, como grades hash multirresolução e grades de voxels, reduzindo o tempo de treinamento de horas para minutos, e estenderam os NeRFs para cenas grandes, cenas dinâmicas e imagens sem poses conhecidas. O 3D Gaussian Splatting, uma representação explícita posterior, hoje é muitas vezes a escolha quando se precisa de renderização em tempo real.

Para a robótica, os NeRFs oferecem geometria e aparência densas a partir de câmeras comuns. A profundidade pode ser lida do campo de densidade, campos semânticos ou de características podem ser aprendidos junto com a cor, e a representação pode ser consultada em qualquer ponto. Entre as limitações estão a necessidade de muitas vistas com boas poses, artefatos em regiões vistas de poucos pontos de vista e o custo de manter o modelo atualizado à medida que a cena muda.

Por que importa

Os NeRFs dão aos robôs uma forma de construir modelos 3D detalhados de cenas e objetos apenas a partir de imagens de câmera, sem sensores de profundidade. Eles abriram novas abordagens para mapeamento, reconstrução de objetos, planejamento de preensão e simulação, e são um componente comum em pesquisas que ligam percepção a manipulação e navegação.

Principais aplicações

  • Reconstrução 3D de cenas e objetos a partir de imagens de câmera
  • Renderização de novas vistas para simulação e dados de treinamento sintéticos
  • Mapeamento denso para navegação e inspeção
  • Localização e contagem de objetos, como frutos, em cenas agrícolas
  • Planejamento de preensão a partir da geometria reconstruída

Na prática

Uma equipe de robótica que usa NeRFs normalmente captura um conjunto de imagens com uma câmera de mão, um drone ou a própria câmera do robô, recupera as poses de câmera com o COLMAP ou a partir da cinemática do robô e treina um modelo com um framework como o Nerfstudio. O campo treinado é então usado offline, por exemplo para extrair uma malha ou nuvem de pontos, renderizar profundidade para o planejamento de preensão, localizar ou contar objetos, ou produzir vistas realistas para simulação e dados sintéticos. Como treinar e atualizar ainda é custoso em comparação com o mapeamento convencional, os NeRFs são usados principalmente para cenas estáticas ou reconstruções pontuais, e as equipes verificam a qualidade da reconstrução a partir de pontos de vista que não foram usados no treinamento antes de confiar na geometria.

Equívocos comuns

  • Um NeRF armazena uma malha 3D — ele armazena uma função contínua nos pesos da rede; malhas ou nuvens de pontos precisam ser extraídas depois
  • NeRFs precisam de sensores de profundidade — eles são treinados com imagens RGB comuns com poses de câmera conhecidas
  • Todo NeRF renderiza em tempo real — a formulação original é lenta; o uso em tempo real depende de variantes aceleradas ou de outras representações, como o Gaussian splatting

Quem deve saber

  • Engenheiros de percepção que trabalham com reconstrução 3D
  • Pesquisadores de aprendizado de robôs que constroem simulações a partir de cenas reais
  • Equipes de robótica agrícola e de inspeção
  • Estudantes de visão computacional

Tecnologias relacionadas

  • 3D Gaussian Splatting
  • COLMAP
  • Structure from Motion
  • Nerfstudio
  • Renderização volumétrica (Volume Rendering)
  • Campo de distância com sinal (Signed Distance Field)

Termos relacionados

  • 3D Gaussian Splatting
  • Point Cloud
  • Depth Camera

Projetos relacionados

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • pySLAM: Hybrid Python/C++ visual SLAM pipeline with classic and deep-learning front-ends
  • OpenMind OM1: AI-native operating system for robots with modular perception, cognition, and action

Vídeos

  • NERFs (No, not that kind) - Neural Radiance Fields - Computerphile: Computerphile

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.