【泡泡图灵智库】基于线段引导的直接视觉里程计算法

2018 年 8 月 19 日 泡泡机器人SLAM

泡泡图灵智库,带你精读机器人顶级会议文章

题:Direct Line Guidance Odometry

作者:Shi-Jie Li, Bo Ren, Yun Liu, Ming-Ming Cheng, Duncan Frost, Victor Adrian Prisacariu 

来源:ICRA2018

播音员:包子

编译:汤文俊

审核:蔡纪源

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权



摘要

大家好,今天为大家带来的文章是——Direct Line Guidance Odometry:基于线段引导的直接视觉里程计算法,该文章发表于ICRA2018。


为了降低计算消耗,现代视觉里程计算法利用点特征进行循迹跟踪。目前,较好的视觉里程计算法大致可以归为两类,一类为对相机图像提取特征进行处理的间接方法,另一类为直接对相机图像像素灰度进行处理的直接方法。几年来,基于线段的特征被应用于SLAM,虽然计算消耗有所增加,但是提升了算法性能。在本文中,我们对一种基于点特征的单目视觉里程计算法进行了改进和扩展。我们利用线段来引导对关键点特征的有效选取,而不是将线段作为特征进行处理。在我们的方法中,相比于不位于线段上的点,在线段上的点将被作为更健壮的关键特征点进行对待,这样则使得点特征的提取避开了那些一般点特征,从而提高了效率。并且,结合位于线段上的点特征的像素灰度和几何信息,算法精度也会得到提升。

主要贡献

本文工作的目标是通过利用环境中的线段特征,提高特征点的处理效率,同时提高单目视觉里程计算法的性能。

主要贡献有:

1. 提出了一种基于线段引导的直接视觉里程计算法,简称DLGO(direct line guidance odometry)算法。

2. 根据3D空间中位于一条直线上的点在图像帧之间会一直保持共线这一事实,我们选择位于图像中线段上的点作为特征点,而将不在线段上的杂点去除,从而提高了特征提取的效率,降低了计算消耗。

3. 在每次相机位姿跟踪和地图更新之后,我们将原本位于一条线段上的点调整至共线,这样便在算法中融合了来自线段的几何信息,从而在几乎不增加额外计算负担的情况下,提升了算法精度和性能。

图1 DLGO算法中的一个关键帧。我们从这个关键帧上提取点和线段。利用下一个新的图像帧更新这些点和线段的位置。图中的红色点和绿色线分别代表不成熟的点特征和线段特征。在每条线段上,深蓝色点表示不成熟的线段的端点,浅蓝色点表示不成熟的线段的普通点。

算法流程

图2 DLGO算法概览图。该算法由跟踪和建图两个线程组成。在跟踪线程中,利用上一关键帧的信息对新的下一帧图像进行跟踪,之后IPs和ILs的位置会被改善。建图部分被用来创造新的关键帧,并对有效关键帧上的所有APs和ALs进行最优化。线段的信息在跟踪和建图线程中均被用来作为引导。IPs、ILs、APs和ALs的定义如图3所示。

图3 点管理。图像中的点和线段均被分为有效和不成熟两类。在最优化中,不成熟的点被抛弃,相反的,有效部分能够参与最优化。我们用如下名称来定义不同类的点和线段。不成熟类:IP表示不成熟的点,IL表示不成熟的线段,ILEP表示不成熟的线段的端点,ILCP表示表示不成熟的线段的普通点。有效类:IP表示有效点,IL表示有效线段,ILEP表示有效线段的端点,ILCP表示表示有效线段上的普通点。

        第一部分 跟踪线程

1. 初始帧跟踪

根据上一个关键帧信息并利用传统的两帧直接图像对准方法来跟踪最新图像帧,在这过程中,一个多尺度图像金字塔和一个连续运动模型将被初始化。

2. 线段引导精炼

在这步中,所有有效关键帧中的IPs和ILs的位置都会被精炼。

(1) IP精炼

有效关键帧中IP的搜索是通过最小化光度误差在当前帧中进行的,在当前帧中,匹配点被用来更新相对应的IP的深度,若匹配点到IL超出了视图范围或者被更新深度的不确定性过大,则该IP被认为是精炼失败点,如图4中右上图中黑色实心圆所示。

(2) IL调整

对于一个IL,IL上的ILEPs和ILCPs以与IP精炼相同的方法被精炼。如果一个ILCP精炼失败,则直接将其从IL上去除。如果一个ILEP精炼失败,则对该IL上的所有ILEPs和ILCPs的精炼结果进行检查,进而去除精炼失败点,新的IL由剩下的点构成。如果剩下的点少于3个,则该IL被释放,IL上的点成为IP,如图4所示。

图4 IL调整

3. IL精炼

通过将IL上的所有ILEPs和ILCPs投影到3D空间的方式将该IL投影到3D空间,这样形成了一个新的3D线段,进而将这个3D线段重投影至成像平面,得到一个新的IL。最后,通过在该新的IL上投影旧的ILEPs和ILCPs,从而得到新的ILEPs和ILCPs。

4. 新的关键帧决策

在跟踪线程的最后阶段,通过一个考虑相机视野变化、相机平移和相机曝光时间变化的加权和,系统会创造出一个新的关键帧。

        第二部分 建图线程

1. 滑动窗口优化

在优化之前,所有图像帧中的IPs和ILs均被初始化为APs和ALs,IPs和ILs的位置被当作APs和ALs中的初始值。这样APs和ALs就加入了优化中,在优化过程中,ALEPs和ALCPs被当作与APs相同的方式进行处理。总的光度误差如下式所示,

总的光度误差的优化由高斯-牛顿算法进行优化。

2. AL精炼

优化的每一步迭代之后,都会执行一个AL精炼程序。这个过程类似于上文所述的IL精炼。我们的方法中,ALEPs和ALCPs应该是一直共线的。但是在高斯—牛顿算法中,每个变量是被独立处理的,这使得在优化过程中,这种共线性质可能会被改变,这是不允许的。我们进行AL精炼的目的就是使算法在优化过程中保持这种共线性质。最后,那些远离当前帧的APs、ALs和有效帧将会被边缘化,这使得优化中的变量数量保持一定的范围,从而提高算法的计算效率。

3. IP和IL生成

(1) IP生成

构造一个3层的图像金字塔,进而对于每层金字塔,图像被分割成小的碎片。最后,在每个图像碎片中,灰度梯度值最高的点被选为关键点。通过这种方式,被选择的点得以均匀分布在图像中。

(2) IL生成

线段特征的提取采用LSD线段提取算法。输入的图像首先用高斯滤波进行处理,进而线段被检测。考虑到执行效率,那些太靠近线段的点将被滤除。对于每个线段,我们都对其应用了一种自适应的距离门槛。可能会存在线段之间互相重叠的现象,这会产生冗余计算。针对该问题,我们采用基于角度—栅格的方法来合并相似的线段。我们选择5度作为栅格尺寸。所有线段的角度首先被归一化,进而放在相应的栅格中。在每个栅格中,距离最小的线段将会被合并。

主要结果

        分别在数据集ICL-NUIM、TUM RGB-D、TAMU RGB-D和Author-collected RGB-D dataset上,将LPVO算法与ORB、DEMO、DVO、MWO、OPVO算法进行对比试验 。其中,ORB、DEMO和DVO算法是对相机旋转运动和平移运动进行联合估计,MWO和OPVO算法是对旋转运动和平移运动进行独立估计。同时,为了使对比试验结果更具说服力,我们将ORB算法中的回环检测环节删去。

        1. ICL-NUIM数据集

         如表1所示,LPVO算法具有较小的均方根误差。如图3所示,LPVO算法具有更加稳定的运动估计结果。如图4所示,LPVO算法具有最小的旋转运动估计误差和最小的平移运动估计误差。

表1 基于数据集ICL-NUIM的评估结果

 图3 LPVO算法和OPVO算法在数据集ICL-NUIM上卧室0、2和办公室1、3中的估计运动轨迹

 图4 LPVO算法和其他算法在数据集ICL-NUIM上的旋转运动估计误差(上图)和平移运动估计误差(下图)

        2. TUM RGB-D数据集

         如表2所示,LPVO算法具有较小的均方根误差。结合表2和图3可以看出,在诸如“fr3 longoffice”这样的非结构化环境中,ORB算法比LPVO算法具有更加稳定的运动估计结果,然而在弱纹理环境中,借助于环境中的结构化因素,LPVO算法具有更加稳定的运动估计结果。同时,可以看出LPVO算法可以在弱结构化环境中有效运行,而MWO和OPVO算法则不行。

表2 基于数据集TUM RGB-D 的评估结果

 图5 LPVO算法和OPVO算法在数据集TUM RGB-D 上fr3 longoffice、fr3 struc notex far、fr3 struc tex near和fr3 large cabinet中的估计运动轨迹

        3. TAMU RGB-D数据集

        如图6所示,在数据集TAMU RGB-D上,根据LPVO算法的运动估计结果,对“Corridor-Aconst”进行3D重塑。当只能观测到一个正交平面时,LPVO算法有效运行,而OPVO算法失效。同时从结果可以看出,通过LPVO算法估计结果重塑的3D点云图像中,起始点和终止点完全重合,证明LPVO算法实现了弱漂移的相机运动估计。实验数据表明,在长达88米的轨迹跟踪之后,LPVO算法漂移误差低于0.3%。

 图6 这个示例图片来自于“Corridor-A-const’”,左边图中所示为线簇、平面和MF正交。当RGB-D相机只能从蓝色箱点上观测到一个平面,则OPVO算法失效,但是LPVO算法没有失效,并且,3D点云可以通过估计出的相机运动轨迹进行有效重绘

        4. Author-collected RGB-D数据集

        如图8所示,在单循环运动中,只有LPVO算法的起始点和终止点重合了,并且最终的漂移误差低于0.2%。在多循环运动中,只有LPVO算法的起始点和终止点重合了,并且最终的漂移误差低于0.7%。MWO和OPVO算法虽然有弱漂移的旋转运动估计结果,但是却有着不小的平移运动估计误差。

 图7 作者自己采集的RGB-D数据集。左图和右图分别为单循环运动和多循环运动过程中采集的线段、面和推测出的MF正交

 图8 LPVO算法和其他算法估计出的相机运动轨迹。左图和右图分别为单循环运动和多循环运动估计结果

Abstract

Modern visual odometry algorithms utilize sparse point-based features for tracking due to their low computational cost. Current state-of-the-art methods are split between indirect methods that process features extracted from the image, and indirect methods that deal directly on pixel intensities. In recent years, line-based features have been used in SLAM and have shown an increase in performance albeit with an increase in computational cost. In this paper, we propose an extension to a point-based direct monocular visual odometry method. Here we that uses lines to guide keypoint selection rather than acting as features. Points on a line are treated as stronger keypoints than those in other parts of the image, steering point-selection away from less distinctive points and thereby increasing efficiency. By combining intensity and geometry information from a set of points on a line, accuracy may also be increased.


如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号


点击阅读原文,即可获取本文下载链接。

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/forums/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
3

相关内容

【ICML2020】对比多视角表示学习
专知会员服务
52+阅读 · 2020年6月28日
基于深度学习的表面缺陷检测方法综述
专知会员服务
84+阅读 · 2020年5月31日
基于视觉的三维重建关键技术研究综述
专知会员服务
154+阅读 · 2020年5月1日
【人大】图实现算法综述与评测分析
专知会员服务
37+阅读 · 2020年4月28日
专知会员服务
31+阅读 · 2020年4月24日
专知会员服务
84+阅读 · 2019年12月13日
【泡泡图灵智库】LIMO: LiDAR-单目相机视觉里程计(arXiv)
泡泡机器人SLAM
47+阅读 · 2019年5月14日
【泡泡图灵智库】基于点线的直接单目视觉里程计(ICRA)
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Structure Aware SLAM using Quadrics and Planes
Arxiv
4+阅读 · 2018年8月13日
Efficient and Effective $L_0$ Feature Selection
Arxiv
5+阅读 · 2018年8月7日
VIP会员
相关VIP内容
【ICML2020】对比多视角表示学习
专知会员服务
52+阅读 · 2020年6月28日
基于深度学习的表面缺陷检测方法综述
专知会员服务
84+阅读 · 2020年5月31日
基于视觉的三维重建关键技术研究综述
专知会员服务
154+阅读 · 2020年5月1日
【人大】图实现算法综述与评测分析
专知会员服务
37+阅读 · 2020年4月28日
专知会员服务
31+阅读 · 2020年4月24日
专知会员服务
84+阅读 · 2019年12月13日
Top
微信扫码咨询专知VIP会员