【论文解读】iSDF: Real-Time Neural Signed Distance Fields for Robot Perception

《iSDF: Real-Time Neural Signed Distance Fields for Robot Perception》提出了一种用于实时签名距离场(SDF)重建的持续学习系统。

论文:https://arxiv.org/abs/2204.02296https://arxiv.org/abs/2204.02296

项目:iSDFhttps://joeaortiz.github.io/iSDF/代码:GitHub - facebookresearch/iSDF: Real-time Neural Signed Distance Fields for Robot PerceptionReal-time Neural Signed Distance Fields for Robot Perception - facebookresearch/iSDFhttps://github.com/facebookresearch/iSDF

1 摘要

iSDF,这一系统旨在利用神经网络进行实时SDF重建。该网络在实时训练中使用移动相机获取的深度图像,使其能够适应不同的细节级别并合理填补部分观察到的区域。该方法与其他替代方法进行了比较,展示了其在准确性和实际应用中的优越性。

图1展示了iSDF系统的工作流程和效果:

  1. 上排(Zero Level Set Mesh):展示了随着时间推移(5秒、26秒、59秒、89秒),系统生成的零水平集网格。红色轨迹代表相机的运动路径,绿色点代表相机位置。
  2. 中排(SDF Slice):展示了不同时间点(5秒、26秒、59秒、89秒)生成的SDF切片。
  3. 下排(Latest Frame):最新帧的RGB图像(未使用)。

iSDF系统通过处理实时深度图像流,优化一个随机初始化的网络,将输入3D坐标映射到近似的有符号距离值。该网络可以在线查询,以获得碰撞成本和梯度,用于导航和操作领域​​。

2 引言

引言部分讨论了机器人感知的重要性以及SDF在机器人技术和视觉中的应用。SDF在运动规划中的碰撞避免中至关重要,但实时计算通常过于昂贵。本文旨在通过聚焦实时SDF重建,提供一种在平滑度和碰撞避免成本之间取得平衡的方法。

3 相关工作

该部分强调了以前基于体素网格的实时非截断SDF重建方法。这些方法受限于分辨率和计算成本。神经场,尤其是使用多层感知器(MLP)的神经场,提供了一种替代方案,可以从头开始优化以准确适应特定场景,无需先前训练。

4 方法

iSDF是一个用于实时SDF重建的系统,它将移动摄像机捕获的流构成深度图像作为输入,并在在线操作期间学习近似环境真实有符号距离场的函数。有符号距离函数由多层感知器(MLP)建模,该感知器将3D坐标映射到该点的有符号距离值。模型以随机权重初始化,并根据输入的测量值实时优化。

iSDF采用神经网络将输入的3D坐标回归为签名距离。该网络通过一种持续学习的方法,使用移动相机获取的深度图像进行训练。方法的关键点包括:

  • 网络架构: SDF由一个将3D坐标映射到签名距离值的MLP模型。
  • 训练: 网络通过自我监督方法进行实时训练。损失函数通过批量主动采样查询点中最接近采样点的距离来约束预测的签名距离。
  • 效率: 该方法在内存分配方面非常高效,可以去噪和合并噪声测量,同时填补部分观察区域的空白。

系统示意图。iSDF的多层感知机(MLP)将输入的3D坐标 x=(x,y,z)x = (x,y,z)x=(x,y,z) 回归为有距离符号函数

图3展示了不同方法计算采样点SDF预测边界的对比:

  • 左图:展示了计算采样点x(橙色)的SDF预测边界的三种方法:光线法、法线修正法和批量距离法。
  • 右图:展示了沿不同光线的采样点的边界,批量距离法提供了最紧密的边界,而光线距离法提供的边界最弱。

图2展示了三种不同的方法在计算采样点的SDF预测边界时的可视化对比。这些方法包括光线距离方法、法线修正方法和批量距离方法。具体解析如下:

  • 左图:三种方法计算采样点 xxx 的SDF预测边界。
  • 右图:沿不同光线的采样点的边界展示。

方法解析

  1. 光线距离方法

    • 使用光线投影从相机位置到物体表面,沿光线方向采样点的距离。
    • 这种方法计算速度较快,但精度相对较低,边界较松散。
    • 图中可以看到,光线距离方法的边界最弱,较少捕捉到表面的细节。
  2. 法线修正方法

    • 在光线投影的基础上,引入表面法线信息,通过修正光线方向来提高采样点的准确性。
    • 相对于光线距离方法,法线修正方法提供了更为精确的边界。
    • 从图中可以看出,法线修正方法的边界比光线距离方法紧密,但仍不如批量距离方法。
  3. 批量距离方法

    • 采用一种批量采样方法,计算采样点与一批点的最小距离,从而得到SDF预测边界。
    • 这种方法综合考虑了多个采样点的信息,提供了最紧密和准确的边界。
    • 图中显示了批量距离方法提供了最紧密的边界,能更好地捕捉到表面的细节和形状。

右图展示了沿不同光线的采样点的边界比较。从图中可以清楚地看到:

  • 光线距离方法边界最弱,表面细节捕捉较少。
  • 法线修正方法提高了边界的紧密性,但仍存在一定的误差。
  • 批量距离方法边界最紧密,精度最高,能准确捕捉表面的形状和细节。

通过对比三种方法,展示了批量距离方法在计算SDF预测边界时的优势。相较于光线距离和法线修正方法,批量距离方法提供了更高的精度和更紧密的边界,使其在实时3D重建和感知任务中表现出色。

图4展示了自由空间损失的计算方法:

  • 左图:展示了自由空间损失L<sub>free space</sub>(f(x; θ), b)对于目标SDF的计算过程。
  • 右图:展示了自由空间损失在不同情况下的计算结果。

这些图展示了iSDF系统的核心思想和关键方法,包括实时优化、批量自监督、以及在自由空间中的SDF预测损失计算方法。通过这些方法,iSDF能够在实时条件下生成精确且详细的3D重建​​

5 试验结果

展示了iSDF在生成准确SDF方面的有效性,所有序列的误差均小于6厘米。iSDF也是唯一能够重建零水平集的闭合网格的方法。系统在SDF准确性方面优于先前的方法,并且在计算碰撞成本和梯度以供下游规划器使用时表现出色。

图5展示了不同方法在一个场景中重建的有符号距离场(SDF)的横截面。具体来说,它展示了在不同序列结束时,在不同高度上的SDF切片。以下是对图5的详细解析:

  1. 场景选择 : 图5中的切片来自多个不同的场景,包括apt_3_navapt_3_objscene0030_00scene0004_00scene0005_00apt_3_mnp。这些场景代表了不同的环境和复杂性,以展示算法在不同条件下的表现。

  2. 方法对比: 图中对比了三种不同的方法:

    • iSDF:论文中提出的实时SDF重建方法。
    • Voxblox:一种基于体素的SDF重建方法。
    • KinectFusion+:一种增强的KinectFusion方法。
  3. 结果展示

    • SDF切片:每个切片在一个固定的高度上展示了重建的SDF值。不同方法的结果分别用不同的图形展示。每个图形中,颜色代表了重建的SDF值,其中红色框突出显示了存在问题的区域。
    • 孔洞问题:红色框中的区域显示了重建中常见的问题,即由于近处物体的部分遮挡而导致的远处区域的孔洞。这些孔洞在Voxblox和KinectFusion+的结果中尤为明显,而iSDF则能够更完整地重建这些区域。
  4. 方法优势

    • iSDF的优势:iSDF在图5中展示了其在远处和部分遮挡区域能够生成更完整、更逼真的重建。这对于后续的规划非常重要,因为未映射的区域必须被标记为不可通行,并赋予较高的代价。
    • 梯度场问题:由于梯度场是通过有限差分计算的,孔洞在梯度场中会变得更大。iSDF通过更准确的重建减少了这种问题,从而为下游任务提供了更好的支持。

图5通过这些比较和细节展示了iSDF在重建质量和完整性方面的显著优势,特别是在复杂和部分遮挡的场景中。

图6展示了对Voxblox映射区域进行的评估。为了评估这一点,论文对比了几种方法在Voxblox映射区域内的表现,包括iSDF、Voxblox和KinectFusion+。图6的主要内容如下:

  1. 左图:展示了每种方法在不同高度下重建的SDF切片。这些高度分别为地面高度(15cm)、相机高度(1.2m)和高于相机的高度(2.8m)。在Voxblox和KinectFusion+的切片中,由于可见性有限,地面高度和高于相机高度的区域大部分是灰色的。

  2. 中图:展示了apt 2 nav房间角落的SDF切片和零水平集网格。这些网格从绿色箭头所在位置查看。图中可以看到iSDF生成的SDF更完整、更准确。

图7展示了在序列结束时重建的SDF的不同可视化结果:

  1. 左图:展示了apt 2 mnp的不同高度下重建的SDF。相机安装在固定的俯仰角和大约1.2米的高度(中间切片的高度)。其他两个切片分别位于地面高度(15cm)和高于相机的高度(2.8m),在Voxblox和KinectFusion+的切片中,由于可见性有限,这些高度的大部分区域是灰色的。

  2. 中图:展示了apt 2 nav房间角落的SDF切片和零水平集网格。绿色箭头指示了网格的视角。图中可以看到,iSDF生成的SDF在beanbag周围更完整、更准确。

  3. 右图:摄像机靠近盐瓶,好像要操纵它。iSDF是唯一可以在多个细节层次上操作并在房间尺度和小物体尺度上进行重建的方法

这些图表明iSDF在生成更完整和准确的SDF方面优于其他方法,尤其是在具有挑战性的区域。

图8展示了iSDF、Voxblox和KinectFusion+在三个评估指标上的比较:SDF误差、碰撞成本误差和梯度余弦距离。这些指标在序列的固定时间间隔内进行评估,采样点位于当时的可见区域。由于Voxblox没有映射整个可见区域(参见图5),我们使用最近邻插值来评估未映射区域的SDF误差。对于碰撞成本误差,我们将表面成本分配给未映射区域,因为机器人会避开未知区域。

  • SDF误差:iSDF在整个序列中的SDF误差最低,这表明其在重建表面形状方面的准确度最高。
  • 碰撞成本误差:iSDF在这一指标上也表现最好,这意味着其生成的重建结果更有利于机器人导航,避免潜在的碰撞风险。
  • 梯度余弦距离:这一指标用于评估梯度场的准确性,iSDF通常也表现最佳,但在某些序列中,KinectFusion+的表现与之相当。

图8展示了这三种方法在序列进行中的各个时间点上的性能,iSDF在多数情况下都表现出显著的优势 .

6 结论

强调了iSDF在机器人感知实时SDF重建中的优势。该方法高效、适应性强且准确,较基于体素网格的以前方法有显著改进。

7 主要贡献

  1. 实时SDF重建: iSDF实现了利用神经网络进行实时SDF重建。
  2. 持续学习: 网络以持续学习的方式进行训练,使其能够随着时间的推移适应和改进。
  3. 效率与准确性: 该方法在内存使用和计算成本方面非常高效,同时提供了高精度的SDF重建。
  4. 机器人感知应用: iSDF在导航和操作中的下游应用中表现出色,提供了准确的碰撞成本和梯度。

通过解决先前方法的局限性并利用神经网络的优势,iSDF在机器人实时SDF重建方面代表了一项重要的进步。

8 核心算法详解

  1. 神经SDF建模

    • 该算法使用一个多层感知机(MLP)来参数化SDF。通过输入3D坐标点,MLP输出该点的SDF值。
    • 为了提升模型的表达能力,MLP的输入经过傅里叶特征映射,这能够捕捉更多的空间细节。
  2. 监督信号

    • 采用几何监督信号,包括表面监督、梯度监督和Eikonal监督。
      • 表面监督(Surface Supervision)确保在观测到的表面附近,SDF值正确。
      • 梯度监督(Gradient Supervision)保证SDF的梯度方向指向表面法线方向。
      • Eikonal监督约束SDF的梯度范数为1,从而满足Eikonal方程。
  3. 实时更新机制

    • 算法能够通过增量方式实时更新SDF,这对于机器人在线环境感知至关重要。
    • 使用深度相机捕捉的深度图像进行逐帧更新,通过优化损失函数来调整MLP参数。
  4. 融合策略

    • 提出了一种两阶段的融合策略。第一阶段进行表面融合,生成占据网格;第二阶段通过欧氏距离变换将占据网格转换为SDF。
  5. 训练与优化

    • 使用Adam优化器对网络进行训练,损失函数综合了上述监督信号的加权和。
    • 训练过程中使用批处理距离(batch distance)来计算SDF监督界限,以提高重建精度。

9 具体实现细节

  • 占据网格构建

    • 利用深度图像构建占据网格,然后通过高效的欧氏距离变换(EDT)算法计算SDF。EDT首先计算平方欧氏距离,再取平方根。
  • 实验与评估

    • 通过实验评估算法在ReplicaCAD和ScanNet数据集上的性能。
    • 采用多个评估指标,包括PSNR、SSIM、LPIPS以及自定义的SDF误差度量(如绝对误差、均方误差等)。

10 算法优势

  • 实时性
    • 能够在实时环境中更新SDF,对于机器人在线感知和路径规划尤为重要。
  • 高精度
    • 结合几何监督信号和傅里叶特征映射,提高了SDF的重建精度和细节捕捉能力。
  • 鲁棒性
    • 适应不同的场景和数据集,表现出较强的鲁棒性和泛化能力。

通过上述核心算法的解析,可以看出该论文在神经SDF建模和实时更新机制方面的创新,有效提升了机器人感知系统的实时性和精度。

相关推荐
正义的彬彬侠33 分钟前
sklearn.datasets中make_classification函数
人工智能·python·机器学习·分类·sklearn
ctrey_35 分钟前
2024-11-13 学习人工智能的Day26 sklearn(2)
人工智能·学习·sklearn
安静的_显眼包O_o36 分钟前
from sklearn.preprocessing import Imputer.处理缺失数据的工具
人工智能·python·sklearn
安静的_显眼包O_o41 分钟前
from sklearn.feature_selection import VarianceThreshold.移除低方差的特征来减少数据集中的特征数量
人工智能·python·sklearn
AI服务老曹1 小时前
不仅能够实现前后场的简单互动,而且能够实现人机结合,最终实现整个巡检流程的标准化的智慧园区开源了
大数据·人工智能·深度学习·物联网·开源
云空1 小时前
《InsCode AI IDE:编程新时代的引领者》
java·javascript·c++·ide·人工智能·python·php
正义的彬彬侠2 小时前
CatBoost 中对分类特征进行目标变量统计编码 公式解析
人工智能·机器学习·集成学习·boosting·catboost
字节跳动数据平台2 小时前
火山引擎 VeDI 平台以 AIGC 技术,助力企业提效营销、快速增长
人工智能
Chef_Chen2 小时前
从0开始学习机器学习--Day22--优化总结以及误差作业(上)
人工智能·学习·机器学习
Mr.简锋2 小时前
opencv常用api
人工智能·opencv·计算机视觉