国防科技大学提出ROSEFusion实现移动条件下高精度在线RGB-D重建在硬件辅助的情况下,仅依靠深度信息,以最大线速度进行相机运动条件下的高精度在线3D重建实现了4m/s和6rad/s的角速度。自2011年KinectFusion问世以来,基于RGB-D相机的实时在线3D重建一直是3D视觉和图形领域的研究热点。过去10年涌现出一大批优秀的方法和系统。如今,在线RGB-D重建已广泛应用于增强现实、机器人等领域,并逐渐发展成为“人-机-物”空间智能(SpatialAI)的重要使能技术。在线RGB-D重建的底层技术是RGB-DSLAM。其中,建图部分采用了特别适用于实时3D重建的深度融合技术。深度图融合一般有两种基本方法:基于截断符号距离场(TSDF)的体积融合和基于表面片段(surfel)的点基融合。摄像机跟踪部分一般分为帧到帧的帧配准法(包括特征法和直接法)和帧到模型的ICP法。目前一般的在线RGB-D重建方法只能处理摄像机运动相对较慢的情况(如平均线速度<0.5m/s,平均角速度<1rad/s)。相机运动太快会导致相机跟踪失败,从而导致错误的重建结果。这极大地影响了在线3D重建的效率:手持RGB-D相机的扫描仪必须小心移动相机,因为任何快速移动或摇晃都可能撤消之前的扫描。缺乏对快速相机移动的支持也极大地限制了在线RGB-D重建在机器人、无人机等方面的实际应用。快速相机移动下的在线RGB-D重建主要面临两个挑战。首先,SO(3)中的相机姿态跟踪涉及非线性最小二乘优化。在使用梯度下降法求解时,线性化逼近的前提是前后两帧之间的旋转很小,快速相机运动中的大角度旋转会增加问题的非线性,容易对优化陷入局部最优。其次,相机快速移动(尤其是在低光照条件下)会导致RGB图像出现严重的运动模糊,从而无法进行可靠的RGB特征(或像素)跟踪,这是基于RGB的相机跟踪方法(如ORB-SLAM)非常关心的问题)是致命的。一个容易想到的方法是利用惯性测量单元(IMU)输出的高帧率线加速度和角速度来辅助相机跟踪。但是IMU的初始化不是很稳健,读数会漂移。更重要的是,IMU需要与相机进行时间同步和空间校准。这些因素会带来估计偏差和误差积累,也会增加系统的复杂度。是否可以在没有额外硬件的情况下实现快速相机移动的在线RGB-D重建?近日,国防科技大学许凯教授团队提出了一种基于快速运动下随机优化求解的在线RGB-D重建方法ROSEFusion。在没有额外硬件辅助的情况下,它仅依靠深度信息来实现最高4m/s的线速度。,6rad/s角速度相机运动,用于高精度在线3D重建。快速移动相机的实时在线重建效果如下图(视频未加速)。可以看出,操作者快速晃动相机,导致RGB图像出现严重的运动模糊。在这样的情况下,ROSEFusion依然可以非常准确稳定地跟踪相机位姿,获得准确的3D重建。ROSEFusion在快速移动的RGB-D序列上实现了SOTA相机跟踪和3D重建精度,而无需全局姿态优化和闭环检测,与之前具有可比精度的最佳性能方法(包括全局姿态优化)相比。这项工作发表在SIGGRAPH2021。论文链接:https://arxiv.org/abs/2105.05600代码和数据集链接:https://github.com/jzhzhang/ROSEFusion1。Basicidea这项工作是基于一个基本的观察:虽然快速的相机运动会带来RGB图像的运动模糊,但对深度图像的影响较小。快速运动对深度图的影响往往表现为前景和背景过渡处的深度值过冲或下冲,而不是整幅图像的像素深度值混合[1]。对于上述遮挡边界处的虚假信号,基于硬件可以很容易地检测和去除(很多深度相机已经实现)[2],结果是:遮挡边界处的深度值为空(见图1)).既然如此,自然要考虑仅基于深度图来实现相机跟踪。然而,深度图像的特征点检测和匹配方面的工作相对较少,因为深度图像中特征点的判别力和鲁棒性远不如RGB图像中的特征点。图1:由于相机快速移动而导致严重运动模糊的RGB图像(左)和相应的深度图(右)仅在遮挡边界处显示孔洞,而不是全图像像素模糊。在求解相机姿态的非线性优化方面,由于梯度下降法不能很好地处理大角度旋转,ROSEFusion采用了随机优化的方法。据我们所知,这是该领域第一个基于随机优化的在线RGB-D重建方法。随机优化算法的基本过程是对解空间进行连续随机采样,评价每个采样解的最优性(也称适应性、适应度),然后根据其适应性指导下一轮采样。因此,适应度函数和采样策略是随机优化算法的两个重要方面。一个好的适应度函数应该对解的最优性具有很强的判别力和较低的计算开销。一个好的采样策略应该让采样尽快覆盖最优解。2.基于depth-to-TSDF的自适应功能为了最小化运动模糊的影响,ROSEFusion实现了基于深度图的cameratracking。因此,适应度函数也是基于深度图计算的。一个直观的想法是计算两个相邻帧的深度图的匹配和配准。但是,深度图往往有噪声,深度图特征点的判别力和鲁棒性较低;且快速相机运动下准确的重投影匹配关系难以计算,不利于逐帧匹配和配准。ROSEFusion采用depth-to-TSDF自适应函数计算方式。给定当前深度图和深度相机的候选相机位姿,对应的观察似然函数为:其中为当前TSDF场。对于全局坐标系中的一个3D点,TSDF值越接近0,该点越精确。接近重建的表面。采用极大似然估计的方法进行优化,对式(1)取负对数,得到如下优化目标:TSDF字段(保形)。有关视觉示意图,请参见图2。这是姿势适应性的纯几何(RGB不可知论)度量,无需计算帧之间的匹配和配准。图2:基于depth-to-TSDF计算相机位姿适应性(最优性):深度图对应的3D点云是相机位姿变换后TSDF域中的值之和。3.基于随机优化的CameraposetrackingParticleFilterOptimization(PFO)是近年来提出的一种基于粒子滤波思想的随机优化算法[3]。粒子滤波是一种非常著名的状态估计算法,它通过基于序列观测的重要性采样来最大化观测似然来模拟真实的状态分布。早年的很多SLAM算法都是基于过滤的方法[4]。但需要指出的是,本文涉及的粒子滤波优化是一个优化器,而不是状态估计算法。直观地说,在本文的方法中,每一帧的相机位姿优化都涉及若干次粒子重采样(滤波器迭代步骤),而在传统的基于粒子滤波器的SLAM算法中,每一帧的位姿估计对应一个粒子重采样步骤.采样。如图3所示,在ROSEFusion中,SLAM的每一帧(下标t)的位姿优化涉及若干次粒子滤波优化迭代(下标k)。图3:ROSEFusion的概率图模型:左半部分是SLAM的概率图模型,右半部分是一帧相机位姿的粒子滤波优化过程。Particle-filter-basedSLAM是面向顺序帧的姿态估计,而ROSEFusion中的粒子滤波优化是针对某一帧姿态的顺序迭代优化。粒子滤波优化的过程如下:以前一帧的相机位姿为中心,大量6D位姿被采样为SE(3)空间中的粒子:初始权重为1。在每次迭代中,先根据粒子的权重重新采样,然后根据动态模型驱动粒子运动,再根据观测似然更新粒子权重:。重复上述步骤,直到最优位姿被粒子群覆盖或达到最大迭代次数。上述似然函数是上述适用性函数。然而,粒子滤波优化涉及大量粒子的采样和权值更新,计算开销大,难以满足在线重构的实时性要求。此外,如何建立良好的动力学模型是提高优化效率的关键。为此,本文结合粒子群智能改进滤波器优化方法,充分利用粒子群智能中现有的最优解来引导粒子运动,实现了基于粒子群智能的动态模型。同时,为了避免大量粒子采样和更新的计算开销,论文提出了一种预采样粒子群模板(ParticleSwarmTemplate,PST):pre-samplingaparticleset,guidedbycrowd智能,通过不断移动和缩放粒子集,来达到驱动粒子覆盖最优解的目的。图4和图5显示了预采样粒子群模板及其移动和缩放的示意图。图4:预采样粒子群模板(PST)及其移动和缩放迭代优化生成示意图图5:对于相机姿态优化的每一帧,粒子群模板必须移动和缩放多次,直到收敛为在第k次迭代中覆盖最优解或达到最大迭代次数,先将PST整体移动到上一步适应性最高的粒子位置,然后对PST椭球进行缩放,使轴length满足(见图6):其中,表示PST椭球的各向异性程度,表示PST椭球的尺度。直观地说,v是相邻两个最优解之间的位移向量。因此,PST椭球会沿着最优解出现的方向在更大范围内搜索;并且这个搜索范围与上一步的最高适应度成反比,使得算法越接近最优解,搜索范围越小效率越高。容易收敛。等式(3)借鉴了随机梯度下降中的动量更新机制。图6:每个迭代步骤的粒子群模板移动和缩放,其中缩放使用动量更新机制(右下角)。本视频只可视化了PST的各向异性程度(椭球体的形状)和PST中位姿的方向分布(椭球体的颜色),PST的尺度体现在右上角的半径上圆圈。可以看出目标函数的非凸性严重,ROSEFusion可以非常稳健地收敛到最优位姿。在实现中,PST和TSDF都存储在GPU中,每个粒子的自适应计算都在GPU中并行完成,计算效率非常高。每次迭代的计算时间约为1ms,每帧需要迭代20~30次左右。CPU只负责计算PST的运动和缩放参数。这也最大限度地减少了CPU和GPU之间的数据交换量。4.实验结果和评估现有的用于RGB-D重建的在线公共数据集很少包含具有快速相机移动的RGB-D序列。因此,本文提出了FastCaMo,这是第一个用于快速相机运动的RGB-D序列数据集。数据集分为合成和真实两部分:合成数据集FastCaMo-Synth基于Facebook开源的Replica室内场景数据集构建。作者合成了快速移动的摄像机轨迹并渲染了RGB和深度图。添加了合成运动模糊,为深度图添加了合成噪声;真实数据集FastCaMo-Real包含作者用KinectDK扫描的12个不??同场景的24个RGB-D序列,由于相机的高速,很难获得高质量的相机轨迹作为真实价值。作者使用激光扫描仪获取场景的完整3D重建,通过测量3D重建的完整性和准确性来评估相机跟踪的准确性。FastCaMo数据集的相机速度达到了最快的线速度4.6m/s和角速度5.7rad/s,远超以往任何公开的数据集。论文比较了FastCaMo上两种重要的在线RGB-D重建方法BundleFusion[5]和ElasticFusion[6]。结果如图7和图8所示,可以看出ROSEFusion的轨迹精度和重建质量(包括完整性和精度)明显高于其他两种方法。值得注意的是,ROSEFusion在没有全局姿态优化、没有循环检测、没有丢弃任何帧的情况下实现了这样的性能。图7:FastCaMo-Synth快速序列(蓝色最佳)上相机轨迹精度(ATE)的比较。图8:FastCaMo-Real快速序列(蓝色最佳)的重建质量(完整性和准确性)比较。公共数据集ETH3D[7]包含三个快速相机移动RGB-D序列(camera_shake)。图9显示了对这三个序列的不同方法的比较。ROSEFusion在所有序列上都取得了最佳相机。轨道效果。图9:ETH3D的camera_shake序列(蓝色最佳)上的相机轨迹精度(ATE)比较。图10是camera_shake_3序列的重建效果对比,以及相机轨迹精度曲线(不同位姿精度下的帧率)。图10:ETH3Dcamera_shake_3序列的重建性能和相机跟踪精度(ATE)比较。在正常速度下的RGB-D序列上,ROSEFusion还实现了与最先进算法相当的相机跟踪精度(图11)。SOTA算法一般包括全局姿态优化,但ROSEFusion没有。图11:ICL-NUIM数据集的常见速度序列上的相机轨迹精度(ATE)比较(蓝色最好,绿色次之)。图12展示了PST在位姿优化过程中的二维可视化,对比了基于PST的粒子滤波优化(本文方法)、粒子群优化(ParticleSwarmOptimization,PSO)和普通粒子滤波优化(无PST)优化过程。可以看出,基于PST的粒子滤波优化在快速探索最优解的速度和收敛性方面具有明显优势。图12:不同优化方法的2D可视化过程比较(蓝色更好),基于PST的粒子滤波优化(第三行)可以快速收敛到更好的解决方案。下面的视频展示了快速扫描一个完整的室内场景的过程(视频没有加速)。这个序列还包含很多快速移动。在扫描的一部分中,房子里的灯部分关闭了。由于ROSEFusion的优化方式是纯几何的,与RGB成像无关,因此可以非常稳健地处理上述情况。作者希望通过本文引起人们对快速摄像机运动的SLAM/在线重建问题的关注。现有方法一般是基于RGB图像的特征或像素匹配,利用梯度下降来解决非线性优化问题。由于相机快速运动导致的RGB图像运动模糊,以及大角度旋转优化导致的高度非凸/非线性问题,以往的方法很难有效实现相机位姿跟踪。ROSEFusion采用随机优化的方法解决SLAM视觉里程计问题,结合纯几何自适应函数计算,实现无需IMU辅助的相机运动的快速在线重建。当然,ROSEFusion可以结合全局位姿优化和环路检测来实现更高质量的3D重建。事实上,后者也有可能基于随机优化来实现。
