泡泡图灵智库,带你精读机器人顶级会议文章
标题:Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial
作者:Fangwei Zhong Sheng Wang Ziqi Zhang Chen Zhou Yizhou Wang (Peking University)
来源:WACV 2018
播音员:
编译:张珊珊
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权
摘要
大家好,今天为大家带来的文章是——Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial,该文章发表于2018 IEEE Winter Conference on Applications of Computer Vision (WACV).
尽管近些年来在SLAM和目标检测方面取得了重大进展,但这两项任务仍面临一系列挑战,如动态环境中的SLAM和复杂环境中的目标检测。为了解决这些挑战,我们提出了一种新型的机器人视觉系统,它将SLAM与一种基于深度神经网络的目标检测算法相结合,使这两种功能相辅相成。该系统使机器人能够在未知的动态环境中可靠、高效地完成任务。实验结果表明,与目前最先进的机器人视觉系统相比,该系统具有三个优点:一是利用目标检测去除运动目标上的不可靠特征,大大提高了动态环境中定位的准确度和鲁棒性;二是利用这两个功能的协同作用在线建立了环境的实例级语义地图,以实现进一步语义应用;三是通过利用语义地图改善了目标检测算法,以便在更具挑战性的条件下,如不寻常的视点、较差的光照条件和运动模糊时,有效地检测和识别物体。
主要贡献
1. 利用目标检测算法,去除运动目标上的特征,提高动态环境下的定位性能。
2. 在线构建实例级的语义地图,可用于进一步的语义应用。
3. 语义地图帮助改善在具有挑战性条件下的目标检测效果。
算法流程
在Detect-SLAM中,我们利用语义信息来消除SLAM中移动对象所带来的负面影响。为了克服目标检测线程的延迟,提出了一种实时传播关键点运动概率的方法。我们还构建了一个对象级别的地图,一个由建图线程中检测到的所有静态对象组成的语义地图,这种对象图可以看作是一个包含对象类和位置信息的数据库。系统的流程图如图一所示:
图一,本文算法流程图
Detect-SLAM建立在ORB-SLAM2基础上,它有三个主要的并行线程:跟踪、局部建图和闭环检测。与ORB-SLAM2相比,Detect-SLAM包括三个新的处理过程:
• 运动对象剔除
• 对象建图
• SLAM增强型目标检测
1. 运动对象剔除
在这一部分中,我们提出了两种有效解决这一问题的策略:
1)只检测关键帧中的运动对象,然后更新局部地图中点的运动概率,以加速跟踪线程;
2)通过特征匹配和匹配点运动概率传播。在摄像机姿态估计之前有效地去除运动对象上提取的特征。
如图二所示,我们根据运动概率将关键点分为四个状态:高概率静止,低概率静止,低概率运动,高概率运动。通过传播得到每个点的运动概率后,去除所有的动态点,并用RANSAC滤掉其他的异常值进行姿态估计。
图二,关键点的四种运动状态
1.1 运动概率更新
如果地图点在关键帧找到了对应的关键点,那么我们根据下面的公式更新它的运动概率:
公式中第一项表示在上一个关键帧更新之后的地图点运动概率,如果该地图点是一个新的地图点,我们设置该项为0.5。地图点匹配到的关键点的运动状态为St(xi),如果关键点位于运动物体的检测框内,St(xi)=1,否则St(xi)=0。α 是一个影响因为,代表更相信之前的运动状态,还是更相信新的检测结果。本文设置α =0.3.
1.2 运动概率传播
我们根据下面两种方法进行帧与帧之间的运动概率传播:
1) 特征匹配
第一项意为,如果关键点和上一帧的关键点描述子距离足够小,被认定为是匹配点,则它的运动概率也会被传播;第二项同理,如果关键点和地图点匹配,也会传播相应的运动概率,此种情况下,如果上一帧的地图点和局部地图点都和关键点构成匹配关系,则局部地图优先;第三,若关键点没有找到匹配点,设置其运动概率为0.5。
2) 匹配点扩张
没有匹配关系的关键点的运动概率由周围区域的高置信度的关键点的运动概率决定,即高概率静止和高概率运动。
Pinit表示初始的运动概率,如果一个关键点周围存在多于一个高概率的关键点,则对所有点的影响进行加权求和。权值为到关键点的距离,误差设置为两者的运动概率之差。
2. 对象建图
2.1 区域ID预测
该部分实际是数据关联,即对每个检测的区域(对象)寻找和地图中已知的对象的关联还是建立新的对象。数据关联基于一个几何假设:如果是同一个物体,那么地图中该物体在当前帧的投影和检测结果应该是重合的,所以我们计算两个区域的交并比:其中,R1为检测区域,R2为投影区域。
如果交并比超过0.5,那么继续计算两个区域的深度投影误差:区域中每个像素的深度投影误差之和/区域的像素数。若深度似然高于阈值,则将匹配区域的物体ID赋予当前区域,否则赋予当前区域一个新的物体ID。
2.2 背景剔除和重建
因为检测框会包含很多背景点,所以我们利用Grab−Cut算法剔除背景点,投影到检测框内的点作为前景,投影出检测狂的点作为背景。利用物体mask,我们重新物体的点云并根据估计的相机位姿将其转到世界坐标系中插入到地图中。
3. SLAM增强型目标检测
与传统的逐帧的目标检测方法相比,机器人在环境中多次从不同的角度观察同一个对象。通过将重建后的三维环境中的几何信息提供给目标检测,提高了目标检测的性能,保证了目标检测在空间上的一致性。如图三所示:
图三,SLAM增强型目标检测算法与对象地图
我们将地图中的物体通过估计的相机位姿投影到当前帧形成一个Region Proposal,作为可能包含物体的候选区域。由于地图中的物体地图点都包含一个物体ID,所以投影到图像上也具有相同的ID,我们通过物体ID的聚类实现候选区域的选取。同同时需要滤掉一些由噪声产生的小区域。
主要结果
1、提高在动态环境下的定位精度和鲁棒性。如图四所示,第一行分别是我们的系统(红色)、RGB-D ORB SLAM(蓝色)和groundtruth(绿色)在fr3/w/xyz、fr3/w/half和fr2/flower中的估计轨迹。第二行是运行时关键点状态的显示。红色点代表动态关键点,绿色点代表静态关键点,每个关键点的半径反映每个状态的置信度。这些图像表明,我们的方法可以将大部分关键点逐帧精确地分为动态或静态两种状态。
图四,动态环境下的定位效果及轨迹误差对比
图五,各部分算法的运行时间
2、本文提出的SLAM增强型目标检测算法的测试结果如图6所示,通过SLAM构建的对象地图,帮助提高目标检测在复杂条件下的识别效果。
图六,目标检测效果对比
Abstract
Although significant progress has been made in SLAM and object detection in recent years, there are still a series of challenges for both tasks, e.g., SLAM in dynamic environments and detecting objects in complex environments. To address these challenges, we present a novel robotic vision system, which integrates SLAM with a deep neural network based object detector to make the two functions mutually beneficial. The proposed system facilitates a robot to accomplish tasks reliably and efficiently in an unknown and dynamic environment. Experimental results show that compare to the state-of-the-art robotic vision systems, the proposed system has three advantages: i) it greatly improves the accuracy and robustness of SLAM in dynamic environments by removing unreliable features from moving objects leveraging the object detector, ii) it builds an instance-level semantic map of the environment in an online fashion using the synergy of the two functions for further semantic applications; and iii) it improves the object detector so that it can detect/recognize objects effectively under more challenging conditions such as unusual viewpoints, poor lighting condition, and motion blur, by leveraging the object map.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。
点击阅读原文,即可获取本文下载链接。
欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。
有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!
泡泡网站:www.paopaorobot.org
泡泡论坛:http://paopaorobot.org/bbs/
泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
商业合作及转载请联系liufuqiang_robot@hotmail.com