Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Neural Implicit Representation

  • 又称: neural field, implicit neural representation, INR, coordinate-based network
  • 类别: Sensing › 3D maps & reconstruction
  • 标签: 3d-representation, neural-fields, mapping, deep-learning, slam

一种把形状、场景或地图存储为神经网络的方式,该网络把空间坐标映射为占据、符号距离、密度或颜色等值,因此可以在任意点上查询。

定义

神经隐式表示(Neural implicit representation)不把几何显式地存储为点、体素或网格,而是存储一个函数。一个网络(通常是多层感知机,MLP)接收一个 3D 坐标(有时还带有观察方向或隐编码),并返回该点处的一个值:占据概率(Occupancy Networks)、符号距离(DeepSDF),或体积密度和颜色(NeRF)。表面是隐式的:它被定义为该函数的一个水平集,例如符号距离的零水平集,可以通过体渲染或球面追踪来渲染,也可以用移动立方体算法提取为网格。

这种表示是连续的,因此可以在任意分辨率下查询;它的内存取决于模型的大小,而不直接取决于场景的体积;而且它是可微的,因此可以通过渲染损失,用深度、激光雷达或图像进行训练。普通的 MLP 难以表现精细细节,训练和查询也很慢。位置编码有助于表现细节,而混合表示把学习得到的特征存储在网格中,例如稠密或稀疏体素网格,或 Instant-NGP 的多分辨率哈希网格,再用一个小网络对其解码,以内存换取速度和细节。

在机器人领域,神经隐式地图被用于 SLAM 系统,例如面向 RGB-D 输入的 iMAP 和 NICE-SLAM,以及面向激光雷达的 LONER;这些系统在跟踪传感器位姿的同时在线优化地图网络。它们还被用作抓取的物体模型,以及规划中的距离查询。其代价是实实在在的:每个场景都必须训练,增量训练可能会遗忘较早的区域,除非回放过去的关键帧,而且计算大量点比查表更慢。3D 高斯泼溅等显式替代方法放弃了一部分连续性,以换取快得多的渲染。

为何重要

神经隐式表示提供紧凑、连续且可微的地图,能融合大量观测并填补小的空缺。它们让基于学习的建图、渲染和规划共享同一个世界模型,这就是它们在 SLAM、操作和仿真工作中随处可见的原因。

主要应用

  • 基于激光雷达或 RGB-D 传感器的稠密 SLAM 和建图
  • 用于抓取规划的物体形状模型
  • 用于仿真和数据生成的新视角合成
  • 用于运动规划的距离和碰撞查询
  • 从部分观测进行形状补全

实际应用

一个激光雷达 SLAM 系统把地图表示为一个特征网格,并配有一个预测密度的小型 MLP 解码器。每次新的扫描都提供一批光线;系统沿其中一部分光线采样点,并训练地图,使由预测密度渲染出的深度与测得的距离相符,同时估计扫描的位姿。训练期间会回放一组过去的关键帧,以免地图中较早的部分被覆盖。建图完成后,在网格上计算该场,并用移动立方体算法生成网格以供检查,或在规划时直接查询距离。

常见误解

  • 神经隐式地图没有显式结构 — 大多数实时系统把特征网格或哈希表与一个小网络结合使用,因此内存仍会随场景大小增长
  • 隐式表面无法转换成网格 — 它是一个水平集,可以在任意选定的分辨率下用移动立方体算法提取
  • 神经隐式表示就是 NeRF — NeRF 只是预测密度和颜色的一个实例;占据网络和符号距离网络是其他实例
  • 连续意味着细节无限 — 细节受模型容量、输入编码和训练数据的限制

谁需要了解

  • SLAM 和建图工程师
  • 3D 视觉研究人员
  • 使用学习得到的物体模型的操作研究人员
  • 构建场景重建的仿真工程师

相关技术

  • NeRF
  • DeepSDF
  • 占据网络(Occupancy Networks)
  • Instant-NGP
  • NICE-SLAM
  • 3D 高斯泼溅(3D Gaussian Splatting)

相关术语

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

相关项目

  • 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

视频

  • Computer Vision - Lecture 9.1 (Coordinate-based Networks: Implicit Neural Representations): Tübingen Machine Learning

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。