Neural Implicit Representation
- Também chamado: neural field, implicit neural representation, INR, coordinate-based network
- Categoria: Sensing › 3D maps & reconstruction
- Tags: 3d-representation, neural-fields, mapping, deep-learning, slam
Uma forma de armazenar uma forma, uma cena ou um mapa como uma rede neural que mapeia coordenadas espaciais em valores como ocupação, distância com sinal, densidade ou cor, de modo que possa ser consultada em qualquer ponto.
Definição
Em vez de armazenar a geometria explicitamente como pontos, voxels ou malhas, uma representação implícita neural (neural implicit representation) armazena uma função. Uma rede, muitas vezes um perceptron multicamadas (MLP), recebe uma coordenada 3D, às vezes com uma direção de visão ou um código latente, e retorna um valor naquele ponto: uma probabilidade de ocupação (Occupancy Networks), uma distância com sinal (DeepSDF) ou uma densidade volumétrica e uma cor (NeRF). A superfície é implícita: ela é definida como um conjunto de nível da função, como o nível zero de uma distância com sinal, e pode ser renderizada por renderização volumétrica ou sphere tracing, ou extraída como malha com marching cubes.
A representação é contínua, então pode ser consultada em qualquer resolução; sua memória depende do tamanho do modelo e não diretamente do volume da cena; e ela é diferenciável, então pode ser treinada a partir de profundidade, lidar ou imagens por meio de losses de renderização. MLPs simples têm dificuldade com detalhes finos e são lentos para treinar e consultar. Codificações posicionais ajudam com o detalhe, e representações híbridas armazenam features aprendidas em uma grade, como uma grade de voxels densa ou esparsa ou a grade hash multirresolução do Instant-NGP, e as decodificam com uma rede pequena, trocando memória por velocidade e detalhe.
Na robótica, mapas implícitos neurais são usados em sistemas de SLAM como iMAP e NICE-SLAM para entrada RGB-D e LONER para lidar, que otimizam a rede do mapa online enquanto rastreiam a pose do sensor. Também são usados como modelos de objetos para preensão e como consultas de distância para planejamento. Os custos são reais: cada cena precisa ser treinada, o treinamento incremental pode esquecer regiões anteriores a menos que quadros-chave passados sejam reproduzidos, e avaliar muitos pontos é mais lento que consultar uma tabela. Alternativas explícitas como o 3D Gaussian Splatting abrem mão de parte da continuidade em troca de uma renderização muito mais rápida.
Por que importa
Representações implícitas neurais dão mapas compactos, contínuos e diferenciáveis que fundem muitas observações e preenchem pequenas lacunas. Elas permitem que mapeamento, renderização e planejamento baseados em aprendizado compartilhem um único modelo do mundo, e é por isso que aparecem em trabalhos de SLAM, manipulação e simulação.
Principais aplicações
- SLAM denso e mapeamento a partir de sensores lidar ou RGB-D
- Modelos de forma de objetos para planejamento de preensão
- Síntese de novas vistas para simulação e geração de dados
- Consultas de distância e de colisão para planejamento de movimento
- Completamento de formas a partir de observações parciais
Na prática
Um sistema de SLAM com lidar representa o mapa como uma grade de features com um pequeno decodificador MLP que prediz densidade. Cada nova varredura fornece raios; o sistema amostra pontos ao longo de um subconjunto desses raios e treina o mapa para que a profundidade renderizada a partir da densidade predita coincida com a distância medida, enquanto estima a pose da varredura. Um conjunto de quadros-chave passados é reproduzido durante o treinamento para que as partes mais antigas do mapa não sejam sobrescritas. Após o mapeamento, o campo é avaliado em uma grade e convertido em malha com marching cubes para inspeção, ou consultado diretamente para obter distâncias durante o planejamento.
Equívocos comuns
- Mapas implícitos neurais não têm estrutura explícita — a maioria dos sistemas em tempo real combina uma grade de features ou uma tabela hash com uma rede pequena, então a memória ainda cresce com o tamanho da cena
- Uma superfície implícita não pode ser transformada em malha — ela é um conjunto de nível e pode ser extraída com marching cubes em qualquer resolução escolhida
- Uma representação implícita neural é o mesmo que NeRF — o NeRF é um caso que prediz densidade e cor; redes de ocupação e de distância com sinal são outros
- Contínua significa detalhe ilimitado — o detalhe é limitado pela capacidade do modelo, pela codificação da entrada e pelos dados de treinamento
Quem deve saber
- Engenheiros de SLAM e de mapeamento
- Pesquisadores de visão 3D
- Pesquisadores de manipulação que usam modelos de objetos aprendidos
- Engenheiros de simulação que constroem reconstruções de cenas
Tecnologias relacionadas
- NeRF
- DeepSDF
- Occupancy Networks
- Instant-NGP
- NICE-SLAM
- 3D Gaussian Splatting
Termos relacionados
Projetos relacionados
- LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
- oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
Vídeos
- Computer Vision - Lecture 9.1 (Coordinate-based Networks: Implicit Neural Representations): Tübingen Machine Learning