(文章梳理)DynaSLAM: Tracking, Mapping and Inpainting in Dynamic Scenes

题目标注:动态场景SLAM:在动态场景中的追踪,建图和修复

Abstract

系统设计以ORB-SLAM2为基础,添加了动态物体检测和背景修复的功能。
系统能够通过多视几何,深度学习或者两者结合的方式进行移动物体的检测。获得场景的静态图可以修复被动态物体遮挡的背景。


Introduction

目前SLAM研究的主体

大多数的SLAM研究是在假定一个静态环境下进行研究的。因此,他们只能通过将动态内容分类为此类静态模型的异常值来管理一小部分动态内容。
视觉SLAM分为两类。一种是基于特征的方法,依靠突出点的匹配,能够估计一个稀疏的地图。另一种方法是直接法,通过直接最小化几何误差,从而估计一个稠密地图。在直接法中,有一些只关注高梯度的区域,估计得出一个半稠密的地图。
但是,以上的SLAM研究并没有处理非常普通的问题就是动态场景中的动态物体。

动态场景SLAM的一些挑战
检测和处理视觉SLAM中的动态物体,在建图和追踪中有以下几个挑战:
1)在图像中怎么检测动态物体从而达到:
a.防止追踪算法使用属于动态物体的匹配。
b.防止建图算法将动态物体作为3D图的一部分
2)怎样完成被动态物体暂时遮挡部分的3D建图

本文提出的系统
我们提出一个在线的算法来处理RGB-D,双目和单目中的动态物体。这个系统是通过给ORB-SLAM2系统加前段阶段来完成的。目的在于有一个更精确的追踪和能够复用的地图。
在单目和双目的情况中,我们的方案是使用CNN来达到像素级的分割先验的动态物体,这样SLAM算法就不会在动态物体上提取特征了。
在RGB-D的情况中,我们的方案是将多视几何模型和深度学习算法相结合来检测动态物体,用正确的场景信息修复被动态物体挡住的背景。如图1所示。

在这里插入图片描述在这里插入图片描述


Related work

动态物体在大多数的SLAM中被分类为异常值数据,因此既不包括在地图中也不用于相机跟踪。大多数的异常值拒绝方法是RANSAC(ORB-SLAM中使用)和鲁棒的代价函数(PTAM中使用)。
有一些处理更具体的动态场景物体的SLAM系统。

其中,基于特征的SLAM方法中,一些相关的工作有:
♥通过映射特征到当前帧中来进行外形和结构的验证从而检测场景中的变化
♥在场景中追踪已知的动态3D物体;相似的,通过检测和追踪人处理人的动作。
♥最近的,使用深度边缘点,有属于动态对象的关联的权值。

直接法对动态物体更为敏感。直接法的SLAM中关于动态场景的相关工作有:
♥双目相机下,场景流的方法检测动态物体
♥使用RGB光流分割场景的动态物体
♥通过计算连续深度图像映射在同样平面的不同来获得场景中的静态部分
♥计算连续RGB图形之间的亮度的不同。使用量化的图像分割来完成像素级的分类。

所有这些方法存在的局限性:
♣当一个先验的动态物体保持静止的时候不能估计一个长期的模型。比如说停着的车,坐着的人们等
♣不能检测由静止物体产生的变化。例如,一把正在由人推着的椅子,被人扔掉的球。

那么就是说现在方法,一种是能够成功检测到物体的动作,另一种是能够检测到会动 的物体。我们的方案是,将多视几何与深度学习结合来处理两种情况。类似的,Anrus分割动态物体是通过动态分类和多视几何的办法。


System description

图2展示了我们系统的整体。

在这里插入图片描述
首先,RGB通道经过CNN,CNN对所有的先验的动态物体进行像素级的分割,例如,人,车辆。

在RGB的情况中,我们使用多视几何的方法在两方面去提升动态物体的分割:
第一,提炼由CNN预先获得的动态物体分割部分。
第二,标记为动态的新的物体,在大多数时间是静止的(例如,检测动态物体,在CNN阶段不被设置为动的)
其次,为了知道相机的位姿,一个低代价追踪模型应用于定位相机,在已经建好的地图中。
一旦全部的动态物体检测和相机定位完成后,我们的目标就是重建当前帧中被遮挡的背景用来自先前观测的静态信息。这个合成的帧与一些应用相关,比如增强和虚拟现实,长期过程中的地点识别。

在单目和双目中,图像由CNN进行分割,从而属于动态物体的关键点既不被跟踪也不用于建图。

具体阶段说明:
A.使用CNN进行潜在动态物体的分割

B.低代价跟踪
不考虑轮廓上的点作为特征点

C.使用Mask R-CNN 和多视几何分割动态物体
使用Mask R-CNN ,大多是的动态物体能够被分割并不被用于追踪和建图。然而,使用Mask R-CNN的缺点是不能检测先验中不是动态的物体,但这个物体确实动了。比如,被人推动的椅子。
对于每一个输入的帧,我们选择之前的关键帧,这些关键帧有高程度的重叠。完成这个任务,是通过考虑新帧和每一个关键帧之间的距离和旋转得到的。重叠的关键帧的数目在我们实验中设置为5个,在动态目标检测中,作为计算量和精度之间的折中。
然后,我们计算来自之前关键帧的每一个关键点x到当前帧上的投影,获得投影点x‘,还有他们的深度zproj。对于每一个关键点,我们计算x与x’之间的视差角度。如果角度大于30度,这个点可能被遮挡了,然后这个点就会被忽略。在TUM数据集上,我们观察到对于视差角度大于30度的动态物体被视为动态的,由于他们的视点的不同。考虑投影点之间深度的差别,如果差值大于阈值,我们就认为关键点属于动态物体。如图3所示。

在这里插入图片描述

为了设置深度阈值,我们人工标记30张图像的的动态物体在TUM的数据集中,并且对不同的深度阈值对精确度和召回率做了评估。得出深度阈值为0.4m是一个合理的选择的结论。
一些关键点会落在动态物体的轮廓边缘,为了避免这种情况的发生,我们使用给出的深度图像信息,如果关键点被认为是动态的,但是它周围的小块区域的深度有很大的不同,那么我们将这个点标签改为静止。
到现在,我们知道哪些点属于动态物体,哪些点不属于。

在这里插入图片描述
D.跟踪和建图
在提取特征点的时候只关注静态部分的。

E.背景修复
目标是修复被动态物体遮挡住的背景。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页