Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Neural Implicit Representation

  • También llamado: neural field, implicit neural representation, INR, coordinate-based network
  • Categoría: Sensing › 3D maps & reconstruction
  • Etiquetas: 3d-representation, neural-fields, mapping, deep-learning, slam

Una forma de almacenar una forma, una escena o un mapa como una red neuronal que asigna a las coordenadas espaciales valores como ocupación, distancia con signo, densidad o color, de modo que pueda consultarse en cualquier punto.

Definición

En lugar de almacenar la geometría de forma explícita como puntos, vóxeles o mallas, una representación implícita neuronal (neural implicit representation) almacena una función. Una red, a menudo un perceptrón multicapa (MLP), recibe una coordenada 3D, a veces con una dirección de visión o un código latente, y devuelve un valor en ese punto: una probabilidad de ocupación (Occupancy Networks), una distancia con signo (DeepSDF) o una densidad volumétrica y un color (NeRF). La superficie es implícita: se define como un conjunto de nivel de la función, como el nivel cero de una distancia con signo, y puede renderizarse mediante renderizado volumétrico o sphere tracing, o extraerse como malla con marching cubes.

La representación es continua, así que puede consultarse a cualquier resolución; su memoria depende del tamaño del modelo y no directamente del volumen de la escena; y es diferenciable, así que puede entrenarse a partir de profundidad, lidar o imágenes mediante funciones de pérdida de renderizado. Los MLP simples tienen dificultades con el detalle fino y son lentos de entrenar y de consultar. Las codificaciones posicionales ayudan con el detalle, y las representaciones híbridas almacenan características aprendidas en una rejilla, como una rejilla de vóxeles densa o dispersa o la rejilla hash multirresolución de Instant-NGP, y las decodifican con una red pequeña, intercambiando memoria por velocidad y detalle.

En robótica, los mapas implícitos neuronales se usan en sistemas de SLAM como iMAP y NICE-SLAM para entrada RGB-D y LONER para lidar, que optimizan la red del mapa en línea mientras siguen la pose del sensor. También se usan como modelos de objetos para el agarre y como consultas de distancia para la planificación. Los costes son reales: cada escena debe entrenarse, el entrenamiento incremental puede olvidar regiones anteriores a menos que se reproduzcan fotogramas clave pasados, y evaluar muchos puntos es más lento que consultar una tabla. Alternativas explícitas como 3D Gaussian Splatting renuncian a parte de la continuidad a cambio de un renderizado mucho más rápido.

Por qué importa

Las representaciones implícitas neuronales dan mapas compactos, continuos y diferenciables que fusionan muchas observaciones y rellenan pequeños huecos. Permiten que el mapeo, el renderizado y la planificación basados en aprendizaje compartan un único modelo del mundo, y por eso aparecen en trabajos de SLAM, manipulación y simulación.

Aplicaciones clave

  • SLAM denso y mapeo a partir de sensores lidar o RGB-D
  • Modelos de forma de objetos para la planificación de agarres
  • Síntesis de nuevas vistas para simulación y generación de datos
  • Consultas de distancia y de colisión para la planificación de movimiento
  • Compleción de formas a partir de observaciones parciales

En la práctica

Un sistema de SLAM con lidar representa el mapa como una rejilla de características con un pequeño decodificador MLP que predice la densidad. Cada nuevo barrido aporta rayos; el sistema muestrea puntos a lo largo de un subconjunto de esos rayos y entrena el mapa para que la profundidad renderizada a partir de la densidad predicha coincida con la distancia medida, mientras estima la pose del barrido. Durante el entrenamiento se reproduce un conjunto de fotogramas clave pasados para que las partes más antiguas del mapa no se sobrescriban. Tras el mapeo, el campo se evalúa en una rejilla y se convierte en malla con marching cubes para su inspección, o se consulta directamente para obtener distancias durante la planificación.

Ideas erróneas comunes

  • Los mapas implícitos neuronales no tienen estructura explícita — la mayoría de los sistemas en tiempo real combinan una rejilla de características o una tabla hash con una red pequeña, así que la memoria sigue creciendo con el tamaño de la escena
  • Una superficie implícita no puede convertirse en malla — es un conjunto de nivel y puede extraerse con marching cubes a cualquier resolución elegida
  • Una representación implícita neuronal es lo mismo que NeRF — NeRF es un caso que predice densidad y color; las redes de ocupación y de distancia con signo son otros
  • Continua significa detalle ilimitado — el detalle está limitado por la capacidad del modelo, la codificación de la entrada y los datos de entrenamiento

Quién debería saberlo

  • Ingenieros de SLAM y de mapeo
  • Investigadores en visión 3D
  • Investigadores en manipulación que usan modelos de objetos aprendidos
  • Ingenieros de simulación que construyen reconstrucciones de escenas

Tecnologías relacionadas

  • NeRF
  • DeepSDF
  • Occupancy Networks
  • Instant-NGP
  • NICE-SLAM
  • 3D Gaussian Splatting

Términos relacionados

  • Signed Distance Field
  • Neural Radiance Field
  • 3D Gaussian Splatting
  • SLAM
  • Keyframe
  • Marching Cubes

Proyectos 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

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.