Neural Implicit Representation
- Detto anche: neural field, implicit neural representation, INR, coordinate-based network
- Categoria: Sensing › 3D maps & reconstruction
- Tag: 3d-representation, neural-fields, mapping, deep-learning, slam
Un modo di memorizzare una forma, una scena o una mappa come una rete neurale che associa alle coordinate spaziali valori come occupazione, distanza con segno, densità o colore, così da poterla interrogare in qualsiasi punto.
Definizione
Invece di memorizzare la geometria in modo esplicito come punti, voxel o mesh, una rappresentazione implicita neurale (neural implicit representation) memorizza una funzione. Una rete, spesso un perceptron multistrato (MLP), riceve una coordinata 3D, a volte con una direzione di vista o un codice latente, e restituisce un valore in quel punto: una probabilità di occupazione (Occupancy Networks), una distanza con segno (DeepSDF) oppure una densità volumetrica e un colore (NeRF). La superficie è implicita: è definita come un insieme di livello della funzione, come il livello zero di una distanza con segno, e può essere resa con il volume rendering o lo sphere tracing, oppure estratta come mesh con il marching cubes.
La rappresentazione è continua, quindi si può interrogare a qualsiasi risoluzione; la sua memoria dipende dalla dimensione del modello e non direttamente dal volume della scena; ed è differenziabile, quindi si può addestrare a partire da profondità, lidar o immagini tramite loss di rendering. Gli MLP semplici faticano con il dettaglio fine e sono lenti da addestrare e da interrogare. Le codifiche posizionali aiutano con il dettaglio, e le rappresentazioni ibride memorizzano feature apprese in una griglia, come una griglia di voxel densa o sparsa o la griglia hash multirisoluzione di Instant-NGP, e le decodificano con una piccola rete, scambiando memoria con velocità e dettaglio.
In robotica, le mappe implicite neurali sono usate in sistemi di SLAM come iMAP e NICE-SLAM per l'ingresso RGB-D e LONER per il lidar, che ottimizzano la rete della mappa online mentre tracciano la posa del sensore. Sono usate anche come modelli di oggetti per la presa e come interrogazioni di distanza per la pianificazione. I costi sono reali: ogni scena va addestrata, l'addestramento incrementale può dimenticare le regioni precedenti se non si ripropongono keyframe passati, e valutare molti punti è più lento di una consultazione in tabella. Alternative esplicite come il 3D Gaussian Splatting rinunciano a parte della continuità in cambio di un rendering molto più veloce.
Perché è importante
Le rappresentazioni implicite neurali forniscono mappe compatte, continue e differenziabili che fondono molte osservazioni e colmano piccole lacune. Permettono a mappatura, rendering e pianificazione basati sull'apprendimento di condividere un unico modello del mondo, ed è per questo che compaiono nei lavori su SLAM, manipolazione e simulazione.
Applicazioni principali
- SLAM denso e mappatura da sensori lidar o RGB-D
- Modelli di forma degli oggetti per la pianificazione della presa
- Sintesi di nuove viste per simulazione e generazione di dati
- Interrogazioni di distanza e di collisione per la pianificazione del movimento
- Completamento di forme da osservazioni parziali
In pratica
Un sistema di SLAM lidar rappresenta la mappa come una griglia di feature con un piccolo decoder MLP che predice la densità. Ogni nuova scansione fornisce raggi; il sistema campiona punti lungo un sottoinsieme di quei raggi e addestra la mappa in modo che la profondità resa dalla densità predetta corrisponda alla distanza misurata, stimando nel frattempo la posa della scansione. Durante l'addestramento si ripropone un insieme di keyframe passati, così che le parti più vecchie della mappa non vengano sovrascritte. Dopo la mappatura, il campo viene valutato su una griglia e trasformato in mesh con il marching cubes per l'ispezione, oppure interrogato direttamente per ottenere distanze durante la pianificazione.
Idee sbagliate comuni
- Le mappe implicite neurali non hanno una struttura esplicita — la maggior parte dei sistemi in tempo reale combina una griglia di feature o una tabella hash con una piccola rete, quindi la memoria cresce comunque con la dimensione della scena
- Una superficie implicita non si può trasformare in una mesh — è un insieme di livello e si può estrarre con il marching cubes a qualsiasi risoluzione scelta
- Una rappresentazione implicita neurale è la stessa cosa di NeRF — NeRF è un caso particolare che predice densità e colore; le reti di occupazione e di distanza con segno sono altri casi
- Continua significa dettaglio illimitato — il dettaglio è limitato dalla capacità del modello, dalla codifica dell'ingresso e dai dati di addestramento
Chi dovrebbe saperlo
- Ingegneri di SLAM e mappatura
- Ricercatori di visione 3D
- Ricercatori di manipolazione che usano modelli di oggetti appresi
- Ingegneri di simulazione che costruiscono ricostruzioni di scene
Tecnologie correlate
- NeRF
- DeepSDF
- Occupancy Networks
- Instant-NGP
- NICE-SLAM
- 3D Gaussian Splatting
Termini correlati
Progetti correlati
- 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
Video
- Computer Vision - Lecture 9.1 (Coordinate-based Networks: Implicit Neural Representations): Tübingen Machine Learning