论文简述 | DOT:面向视觉SLAM的动态目标跟踪
在本文中,我们提出了动态目标跟踪(DOT),一个添加到现有SLAM系统的前端,可以显著提高它们在高度动态环境中的鲁棒性和准确性.点结合实例分割和多视图几何生成动态对象的遮罩,以允许基于刚性场景模型的SLAM系统在其优化中避免这种图像区域.
论文地址
https://arxiv.org/pdf/2010.00052.pdf
最上面一行:这些帧对应于ORB-SLAM2,根据KITTI基准中的图像流估计摄像机的轨迹.中间一行:修改后的ORB-SLAM2,与DOT生成的分割掩码一起工作,区分移动和静态对象.最后一行:使用检测器2 提供的分割掩码对ORB-SLAM2进行修改,对所有潜在的动态对象进行编码.请注意,从最静态的场景(左栏)到最动态的场景(右栏),DOT能够避免移动对象,同时保持静态对象.DOT通过估计对象的实际运动状态来实现这两种相反场景之间的权衡,以获得更高的跟踪鲁棒性和准确性.
为了确定哪些对象实际上正在移动,首先分割潜在动态对象的实例,然后估计摄像机运动,通过最小化光度重投影误差来跟踪这些对象.相对于其他方法,这种短期跟踪提高了分割的准确性.最后,实际上只生成动态掩码.我们已经在三个公共数据集上用ORB-SLAM评估了DOT.实验结果表明,该方法显著提高了ORB-SLAM2的准确性和鲁棒性,尤其是在高动态场景中.
(图二)
图2是系统概述.DOT的输入是一定视频速率下的RGB-D或立体图像,其输出是对场景的静态和动态元素进行编码的蒙版,可以直接被SLAM或里程计系统使用.第一个块(实例分割)对应于以像素为单位分割出所有潜在动态对象的CNN.在我们使用自主驾驶数据集进行的实验中,只有汽车被分割为潜在运动.正如稍后将详细描述的,由于DOT逐帧跟踪掩码,因此不需要在每一帧都执行该操作.
图像处理块提取并分离属于图像静态区域的点和动态对象中的点,仅使用场景的静态部分来跟踪相机姿态.考虑到相机姿态,每个分割对象的运动被独立地估计(对象跟踪),下一块(物体在运动吗?)使用几何标准确定被网络标记为潜在动态的对象是否确实在移动.该信息用于更新编码每个帧的静态和动态区域的mask,并馈送给链接的里程计/SLAM视觉系统.最后,DOT根据对象移动的估计生成新的masks,因此网络不需要分割每一帧(见图3),考虑到实例分割的巨大计算负荷,与其他最先进的方法相比,这可能是DOT的一个相关优势.
图三如下所示,该图是计算流程的一部分的示例.上一行显示了DOT对摄像机和物体跟踪的估计,请注意,网络中的分段掩码(黄色帧)并非在所有帧中都是必需的.下面一行显示了由DOT生成的对运动分类进行编码的分段遮罩:运动(彩色)、静态(黑色)和未观察(灰色).
(图三)
下图是三种研究配置的样本结果。左:没有mask。中心:DOT mask。对:整体mask.最上面一行显示了一个静态场景,其中“整体mask”设置会丢弃静态对象中有助于提高跟踪精度的所有点.相比之下,底部的行显示了无mask配置下,如何允许提取移动对象上可能导致系统失败的点.这两种情况都是由于对场景的不了解而使SLAM的性能变差.DOT成功地将停放的汽车识别为静态,将移动的汽车识别为动态.请注意,DOT如何通过估计对象的实际运动状态来实现这两种相反场景之间的权衡,从而更好地估计轨迹.
分割误差
整体mask和DOT msk之间的比较,请注意,检测器2中的一个错误部分(红色方块中的标志被分配了一个汽车标签)被DOT正确地分类为静态.
下表是在KITTI里程计中根据基线(无掩模和所有掩模)进行点标记的结果.
当DOT使用来自探测器2(红色)、50%(蓝色)、33%(黄色)和25%(绿色)的所有遮罩时,我们为V-KITTI的每一帧显示正确标记的像素数量减去相对于地面真实(黑色)的错误标记的像素数量。
DOT是一种新的SLAM系统前端算法,它通过结合实例分割和多视图几何方程来鲁棒地检测和跟踪运动目标。
我们用ORB-SLAM2在三个公共数据集对于自主驾驶的研究表明,点生成的物体运动信息允许我们分割动态内容,显著提高其鲁棒性和准确性.
DOT与SLAM的独立性使其成为一个多功能前端,可以通过最小的集成工作适应任何先进的视觉里程计或SLAM系统.不同于其他系统, 相对于现有技术来说, 降低了计算需求。