Neural Implicit Representation
- Aussi appelé: neural field, implicit neural representation, INR, coordinate-based network
- Catégorie: Sensing › 3D maps & reconstruction
- Mots-clés: 3d-representation, neural-fields, mapping, deep-learning, slam
Manière de stocker une forme, une scène ou une carte sous la forme d'un réseau de neurones qui associe des coordonnées spatiales à des valeurs comme l'occupation, la distance signée, la densité ou la couleur, de sorte qu'on peut l'interroger en tout point.
Définition
Au lieu de stocker la géométrie explicitement sous forme de points, de voxels ou de maillages, une représentation implicite neuronale (neural implicit representation) stocke une fonction. Un réseau, souvent un perceptron multicouche (MLP), prend une coordonnée 3D, parfois avec une direction de vue ou un code latent, et renvoie une valeur en ce point : une probabilité d'occupation (Occupancy Networks), une distance signée (DeepSDF), ou une densité volumique et une couleur (NeRF). La surface est implicite : elle est définie comme un ensemble de niveau de la fonction, par exemple le niveau zéro d'une distance signée, et peut être rendue par rendu volumique ou sphere tracing, ou extraite sous forme de maillage avec marching cubes.
La représentation est continue, de sorte qu'elle peut être interrogée à n'importe quelle résolution ; sa mémoire dépend de la taille du modèle plutôt que directement du volume de la scène ; et elle est différentiable, de sorte qu'elle peut être entraînée à partir de profondeur, de LiDAR ou d'images via des pertes de rendu. Les MLP simples peinent à rendre les détails fins et sont lents à entraîner et à interroger. Les encodages positionnels aident pour les détails, et les représentations hybrides stockent des caractéristiques apprises dans une grille, comme une grille de voxels dense ou creuse ou la grille de hachage multirésolution d'Instant-NGP, et les décodent avec un petit réseau, en échangeant de la mémoire contre de la vitesse et du détail.
En robotique, les cartes implicites neuronales sont utilisées dans des systèmes de SLAM comme iMAP et NICE-SLAM pour les entrées RGB-D et LONER pour le LiDAR, qui optimisent le réseau de carte en ligne tout en suivant la pose du capteur. Elles servent aussi de modèles d'objets pour la préhension et de requêtes de distance pour la planification. Les coûts sont réels : chaque scène doit être entraînée, l'entraînement incrémental peut oublier des régions antérieures à moins de rejouer d'anciennes images clés, et évaluer de nombreux points est plus lent qu'une consultation de table. Des alternatives explicites comme le 3D Gaussian Splatting renoncent à une part de continuité en échange d'un rendu beaucoup plus rapide.
Pourquoi c'est important
Les représentations implicites neuronales fournissent des cartes compactes, continues et différentiables qui fusionnent de nombreuses observations et comblent de petites lacunes. Elles permettent à la cartographie, au rendu et à la planification fondés sur l'apprentissage de partager un même modèle du monde, c'est pourquoi elles apparaissent dans les travaux sur le SLAM, la manipulation et la simulation.
Applications principales
- SLAM dense et cartographie à partir de capteurs LiDAR ou RGB-D
- Modèles de forme d'objets pour la planification de prise
- Synthèse de nouvelles vues pour la simulation et la génération de données
- Requêtes de distance et de collision pour la planification de mouvement
- Complétion de formes à partir d'observations partielles
En pratique
Un système de SLAM LiDAR représente la carte par une grille de caractéristiques avec un petit décodeur MLP qui prédit la densité. Chaque nouveau scan fournit des rayons ; le système échantillonne des points le long d'un sous-ensemble de ces rayons et entraîne la carte pour que la profondeur rendue à partir de la densité prédite corresponde à la distance mesurée, tout en estimant la pose du scan. Un ensemble d'images clés passées est rejoué pendant l'entraînement pour que les parties plus anciennes de la carte ne soient pas écrasées. Après la cartographie, le champ est évalué sur une grille et maillé avec marching cubes pour inspection, ou interrogé directement pour obtenir des distances pendant la planification.
Idées reçues
- Les cartes implicites neuronales n'ont aucune structure explicite — la plupart des systèmes temps réel combinent une grille de caractéristiques ou une table de hachage avec un petit réseau, de sorte que la mémoire croît toujours avec la taille de la scène
- Une surface implicite ne peut pas être convertie en maillage — c'est un ensemble de niveau, qu'on peut extraire avec marching cubes à n'importe quelle résolution choisie
- Une représentation implicite neuronale est la même chose que NeRF — NeRF en est un exemple qui prédit densité et couleur ; les réseaux d'occupation et de distance signée en sont d'autres
- Continu signifie détail illimité — le détail est limité par la capacité du modèle, l'encodage d'entrée et les données d'entraînement
Qui devrait le savoir
- Ingénieurs en SLAM et en cartographie
- Chercheurs en vision 3D
- Chercheurs en manipulation qui utilisent des modèles d'objets appris
- Ingénieurs en simulation qui construisent des reconstructions de scènes
Technologies associées
- NeRF
- DeepSDF
- Occupancy Networks
- Instant-NGP
- NICE-SLAM
- 3D Gaussian Splatting
Termes associés
Projets associés
- 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
Vidéos
- Computer Vision - Lecture 9.1 (Coordinate-based Networks: Implicit Neural Representations): Tübingen Machine Learning