主要内容
- 物体级别的语义SLAM。维护一个背景模型和多物体模型,每个模型由面元地图表示。
- 基于运动分割和语义信息检测运动物体。
- 使用基于ICP对齐的几何误差和基于颜色差异的光度误差跟踪背景模型(相机位姿)和多个运动物体。
- 根据[8]的方法更新每个模型的面元地图。
- 开源代码地址:martinruenz/co-fusion。
M. Runz, L. Agapito. Co-fusion: Real-time segmentation, tracking and fusion of multiple objects. IEEE International Conference on Robotics and Automation, 2017.
摘要
本文中,我们介绍了Co-Fusion,一种稠密SLAM系统,以RGB-D图片流为输入,并分割场景为不同物体(使用运动或语义线索)同时实时跟踪和重建它们的3D形状。我们使用一个多模型拟合方法,其中每个物体能够独立于背景进行运动,并被有效地跟踪,并且它的形状使用与该物体标号关联的像素随时间被融合。之前试图解决动态场景的尝试一般假设运动区域为外点,并且不建模它们的形状或跟踪它们随时间的运动。相反地,我们让机器人维护每个物体的3D模型,并通过随时间的融合提高模型结果。因此,我们的系统能够使机器人以物体级别描述场景,具有和环境交互的潜力;甚至在动态环境中。
1. 介绍
虽然SLAM取得很大进步,但是大部分假设静态环境或把动态物体当做外点。但是,在机器人应用中,大多数在前景中运动的物体是机器人感兴趣的。如果我们想设计与动态环境交互的机器人,必须配置如下两个功能:(i)发现场景中的物体(ii)跟踪并估计物体的3D几何。这种高层基于物体的场景表示将会极大增强机器人的感知和交互能力。
本文中我们提出了Co-Fusion,一种新的基于RGB-D的SLAM系统,能够分割场景为背景和不同的前景物体,使用运动或语义信息,同时跟踪和重建它们的3D几何。系统提供两种可替换的分割策略——运动分割和物体实例分割。分割完成后,物体被添加到一组积极模型中,并被跟踪和融合。每个物体的跟踪和融合线程基于最近的基于面元的方法[8][30]。
本文主要贡献如下:
- 允许机器人不仅重建周围环境而且能够获得未知物体的详细3D几何信息。
- 系统能够使得机器人发现场景中的新物体,并通过主动运动学习准确的3D模型。
我们证实Co-Fusion在许多场景下——在桌子上放置之前未看到的不同物体并学习它们的几何(图1),手递手传递物体(图3),手持运动相机跟踪一个运动物体(图9)和一个驾驶场景(图5a)。我们也定量证实了跟踪和重建的鲁棒性。
2. 相关工作
微软Kinect设备和廉价深度相机的到来促进了实时3D扫描的研究。例如KinectFusion[14]的系统首先使得实时准确地建图任意室内场景几何变得可能,通过融合深度相机获得的图片通过在环境中移动相机。准确和稠密3D几何的实时获取开启了快速扫描或AR/VR和移动机器人的应用,之前通过离线或稀疏技术是不可能做到的。KinectFusion的后继者快速解决了一些缺点。虽然这些主要关注处理大场景的扩展[7][29][15][31]或包括回环[30],增强跟踪的鲁棒性[31]或增加的内存和尺度效率通过使用基于点而不是体素表示[8],得到增加的3D重建质量[10]。获得更高层次的语义场景理解通过使用一个稠密平面表示[21]或者实时3D物体识别[22]进一步提高跟踪表现同时打开了与场景的虚拟或真实交互。更近的方法例如[25][11]实时组合语义分割甚至识别到SLAM系统中。虽然他们展示了令人印象深刻的表现,他们仍然限制在静态场景。
许多传统SLAM和稠密重建系统的核心潜在假设是场景大部分静态。这些稠密系统如何被扩展到跟踪和重建更多的模型而不妥协实时表现?SLAMMOT项目[28]向动态环境中的SLAM框架迈出了重要的一步通过组合运动物体的检测和分割到SLAM操作中。它主要在驾驶场景中验证并限制为稀疏重建。最近稠密动态环境的实时重建问题才被解决。大多数工作致力于实时捕捉非刚体几何通过RGB-D相机。假设是相机观测的单个物体随着时间自由分解。DynamicFusion[13]是弹幕实时系统的一个主要例子,其融合来自深度传感器的可分解物体的帧而不需要任何预训练模型或形状模板。通过使用多个RGB-D传感器,4DFusion[2]能够捕捉实时可分解形状以非常细节的层次,并能够处理较大的分解和拓扑变化。另一方面,基于模板的技术也能够获得高度真实的结果,但是它们限制在需要增加模板的获取步骤[32]或者致力于跟踪特定的物体通过使用手工设计的或预训练的模型[26]。这些包括一般的人工跟踪方法,或者需要物体在某个位姿下的几何模板[27],或者骨架结构的先验知识[23]。
相反地,捕捉动态场景的全几何可能包含更多运动物体,但是仍然没有收到很大关注。Ren等人[18]提出一种同时跟踪和重建3D物体的方法通过精修一个初始简单形状实体。但是,与我们的方法相反,它只能跟踪一个运动物体并需要一个手工初始化。[12]提出一个组合的方法用于估计人造物的位姿,形状和运动学结构基于运动分割。虽然它业绩预联合跟踪和分割,关注点在于发现人造物,只有前景物体被重建,并且它的表现不是实时的。Stuckler和Behnke[24]提出了一个稠密刚体运动分割算法用于RGB-D序列。他们只分割RGB-D图片并估计运动但是不同时重建物体。最终[3]构建一个环境模型并使用变化检测考虑场景中变得与模型不一致的新物体部分。但是,该方法需要一个人在环中来获得一个已知的正确的分割并且不提供实时操作。
一些最近的纯RGB方法也解决了动态场景的单目3D重建问题。例如[20][4][9]的工作类似我们的同时分割,跟踪和重建方法。Russell等人[20]执行多模型拟合来分解场景为逐片刚体部分,被组合以形成单个物体。他们方法的优点是处理非刚体,刚体或人造物混合的灵活性。Fragkiadaki等人[4]跟随一个流程方法,首先执行长期跟踪并聚类为不同物体,然后执行非刚体重建。但是,这些方法都执行稀疏跟踪,并且都是批处理方法,需要提前知道所有帧。我们的方法也和[19]的稠密RGB多目标重建方法有相似之处,其执行同时分割,跟踪和多刚体模型的3D重建,不同的是我们的方法是在线实时的,而他们的方法是批处理方法,每帧需要几秒来执行。
3. 方法综述
Co-Fusion是一个在线RGB-D SLAM系统,能够实时处理每个新帧。同时维护一个背景的细节几何全局模型和每个物体的模型,并跟踪每个物体的运动。每个模型存储为一组点。我们的系统维护两组物体模型:积极模型是当前可见的物体,消极模型是曾经可见的物体。
图2展示了我们系统的逐帧操作。在一开始,场景被初始化单个积极模型——背景。一旦融合的背景3D模型和相机位姿稳定后,对每个新帧,接下来的步骤被执行:
跟踪。首先,我们跟踪每个积极模型在当前帧的6DoF位姿。这通过对每个物体最小化一个基于稠密ICP对齐的几何误差和基于当前帧中的点和存储3D模型中的点之间的颜色差的光度代价的目标函数。
分割。在该步骤,我们分割当前帧的像素属于某一个积极模型/物体。我们的系统基于运动和语义标号进行分割。
1)运动分割。我们将运动分割构建为一个使用全连接条件随机场的标号问题,并使用[9]中的高效方法在CPU上实时优化。标号后是连通区域提取。如果连通区域大部分被外点占据,则认为该区域对应一个物体,并建立一个新模型。
2)多类别图片分割。使用[16]基于语义的方法分割图片。
融合。使用新估计的6DOF位姿,每个积极模型的稠密3D几何被更新通过融合属于该模型的标号点。我们使用基于面元的融合方法[8][30]。
注:论文[8]的详细分析详见
robot L:【论文阅读25】Flat Point/Surfel-based Fusionzhuanlan.zhihu.com4 记号和预备知识
使用
反投影为
本文将每个物体用一个面元地图进行表示。一个面元地图记作
本文使用
5 跟踪积极模型
A 能量
对于每个面元地图
B 几何项
对于每个面元地图
其中
C 光度颜色项
为了提高效率,采用四层金字塔策略。GPU应用采用[30]的开源代码。
6 运动分割
在跟踪步骤结束后,我们有了跟踪物体们的位姿的新估计
接下来,我们需要将当前
为了在CPU上实时进行运动分割,我们首先过分割当前帧图片为SLIC超像素使用[17]的快速应用,并在这些超像素上使用标号算法。超像素的位置,颜色和深度被估计通过平均内部所有像素的结果。
然后遵循[9]的能量最小化方法,优化超像素的标号集合
其中
后处理。首先融合所有相连的具有相似几何变换的模型。其次抑制不相连的具有相同标号的模型,除了该标号模型的最大的连通块之外。
7 物体实例分割
使用物体实力分割[16]中排名靠前的SOTA方法来分割感兴趣物体。
8 融合
使用类似[8]的方法融合并更新面元模型。
9 评估
我们执行一个定量的评估同时在具有真值数据的仿真和真实序列中。合适的具有Kinect类似噪声的仿真序列[6]被特别地创建为该工作(ToyCar3和Room4)并且已经公开可用了,伴随着评测工具。为了得到真是数据的真值,我们在一组物体上贴上了标签如图10所示,并且使用NextEngine 3D扫描仪准确地重建它们。该场景被记录使用一个运动捕捉系统(OptoTrack)以获得轨迹的真值数据。一个Asus Xtion被使用以获取真实序列。虽然在我们的流程中每个阶段的质量依赖其他阶段的表现,即较差的分割也许导致较差的重建,评估不同的模块还是有价值的。
位姿估计。我们比较了估计和真值轨迹通过计算绝对轨迹(AT)均方根误差(RMSE)对于场景中的每个物体。在仿真数据中的结果被展示在表2和图7中。在真实序列中的结果被放在补充材料中(Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects)。
运动分割。因为分割阶段的结果是纯2D的,分割质量的传统度量被使用。我们计算交并比(IoU)测量对于每个编号对于仿真序列的每帧(我们没有真值分割对于真实序列)。图7展示了在ToyCar3和Room4序列中的IoU。
融合。为了获取融合质量,我们可以分别或联合检验每个物体的3D重建误差,通过在同一个坐标系统中输出几何。该误差强烈依赖跟踪,但是很好地突出了整个系统的质量。对于积极模型的统一地图中的每个面元,我们计算到真值网格上最近点的距离,在对齐两个表示之后。图8可视化了重建误差通过一个热度图,并突出了与ElasticFusion的差异。对于真实场景Esone1我们独立地计算每个物体的3D重建误差。结果展示在表1和图10中。
定性结果。我们执行一组定性实验来证实Co-Fusion的能力。它的一个优点是放宽了3D扫描过程,因为我们不需要依赖静态世界假设。特别地,用户可以一只手手持并旋转一个物体,另一只手在物体周围移动深度传感器。这种操作模式提供了更多的灵活性,与需要转盘的方法相比。图9展示了实验结果。
我们的最终证实展示了Co-Fusion连续跟踪和精修物体当它们被一个接着一个被放置到桌面上时,如图1所示。成功分割的结果被展示在图1(b)中。
部分参考文献
[8] M. Keller, D. Lefloch, M. Lambers, S. Izadi, T. Weyrich, and A. Kolb. Real-time 3d reconstruction in dynamic scenes using point-based fusion. In International Conference on 3D Vision, 3DV, Washington, DC, USA, 2013. IEEE Computer Society.
[9] P. Krahenbuhl and V. Koltun. Efficient inference in fully connected crfs with gaussian edge potentials. In Advances in Neural Information Processing Systems. Curran Associates, Inc., 2011.