泡泡图灵智库,带你精读机器人顶级会议文章
标题:Direct Monocular Odometry Using Points and Lines
作者:Shichao Yang, Sebastian Scherer
来源:ICRA 2017
编译:汤文俊
审核:张国强
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权
摘要
大家好,今天为大家带来的文章是——基于点线的直接单目视觉里程计,该文章发表ICRA 2017。
大多数的单目视觉里程计算法只关注点特征,无论是基于特征匹配的算法还是基于像素深度的直接算法,它们都忽略了一个重要的几何特征:环境中物体边缘的线特征。本文提出了一种可以联合点线特征的视觉里程计算法,这样的算法可以兼有直接算法和间接算法的优点。该算法可以更好地适应弱纹理环境,并且通过增加收敛域,增强了对光线变化和快速运动的鲁棒性。我们为关键帧维护一个深度地图,那么就可以在特征跟踪环节,通过在一个概率框架中同时最小化光测误差和匹配线特征的几何误差,来恢复相机的位姿。在建图环节,边缘线特征被用来加快立体匹配的速度和提高匹配的精度。通过在不同的公开数据集上开展实验,相对于其他单目视觉里程计算法,我们的算法能够达到更好的或者相当的效果。在一些具有挑战性的弱纹理环境中,我们的算法将状态估计误差降低了超过50%。
主要贡献
本文提出了一种基于点线特征的直接单目视觉里程计算法,以适应弱纹理环境。
主要贡献有:
1. 提出了一种结合点线特征的实时单目视觉里程计算法,特别适用于弱纹理环境。
2. 在跟踪和建图环节,提供了一种针对点线特征的不确定性分析和概率融合方法。
3. 设计了一种基于分析边缘的正则化方法。
4. 所提算法在很多数据集上的表现超越了其他算法或者与之相当。
算法流程
在我们的算法中,我们为关键帧中高梯度的像素维护了一个半深度地图。我们对每个图像帧进行边缘线特征的检测和匹配。然后在跟踪线程中,对光度误差和对应边缘线的几何误差进行联合优化。在建图线程中,线特征也能够被用来引导和加速立体特征的匹配,并通过边缘正则化来提高深度地图的品质。
1. 跟踪线程
图1 TUM fr3/cabinet big数据集上
的两张图像间的跟踪迭代过程
如图1所示,图(a)为参考图像帧,图中绿线为检测到的线特征。图(b)为当前图像帧,图中红线为检测到的线特征。两个图像帧之间相隔了41帧图像,大约1.4秒。图(c)为最优化迭代过程中在当前帧上的重投影像素,在图中标记为绿色,可以看出,重投影的边缘线像素正逐渐与由红色标记的真实边缘线对齐。
2. 建图线程
在建图线程中,参考帧的深度地图是通过逆深度滤波框架中的立体三角测量(如图2所示)进行更新的,然后再进行线段的正则化(如图3所示)提高地图精度。在这个步骤中,相机位姿是假设固定的。
图2 线段的立体三角测量
图3 线段的正则化
主要结果
我们在不同的公开数据集TUM RGBD、TUM mono和ICL-NUIM上进行实验,将提出的算法与SDVO和ORB SLAM算法进行对比,来验证我们算法的优越性。其中,ORB-SLAM算法中的回环检测将被舍弃,但保留其局部和全局的BA,而SDVO和我们的算法则不包含BA。我们用相关位姿误差测度RPE来作为衡量标准。
图4 TUM数据集上的不同纹理的图片示例。(a)为fr2/desk,(b)为fr3/cabinet,(c)为fr3/notex-far。
表1 基于TUM RGBD数据集的实验结果
首先在图4(a)所示数据集序列上进行实验,结果如表1所示。由于该序列图片包含较丰富的环境特征,ORB-SLAM算法效果最好。由于包含较多的曲瓶、树叶和小键盘按钮,线段检测和匹配误差较大,我们算法的不是最好,但是与SDVO相当,优于基于边缘线的VO算法。
表2 基于不同数据集的实验结果
如表2所示,ICL/office2和mono38是较简单的数据集序列,ORB-SLAM算法效果最好,我们算法明显优于SDVO。后四个序列是特征较少的挑战性环境,对应于图4(b)和图4(c)。可以看出,ORB-SLAM算法效果最差,而我们的算法效果是最好的。
表3 TUM FR3/CABINET BIG数据集上的运行时间
如表3所示,边缘检测和描述子计算耗费了大部分的时间。跟踪线程总共耗费51.95 ms,运行频率在20Hz左右。
Abstract
Most visual odometry algorithm for a monocular camera focuses on points, either by feature matching, or direct alignment of pixel intensity, while ignoring a common but important geometry entity: edges. In this paper, we propose an odometry algorithm that combines points and edges to benefit from the advantages of both direct and feature based methods. It works better in texture-less environments and is also more robust to lighting changes and fast motion by increasing the convergence basin. We maintain a depth map for the keyframe then in the tracking part, the camera pose is recovered by minimizing both the photometric error and geometric error to the matched edge in a probabilistic framework. In the mapping part, edge is used to speed up and increase stereo matching accuracy. On various public datasets, our algorithm achieves better or comparable performance than state-of-theart monocular odometry methods. In some challenging textureless environments, our algorithm reduces the state estimation error over 50%.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。
点击阅读原文,即可获取本文下载链接。
欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。
有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!
泡泡网站:www.paopaorobot.org
泡泡论坛:http://paopaorobot.org/forums/
泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
商业合作及转载请联系liufuqiang_robot@hotmail.com