【泡泡图灵智库】Visual SLAM: 为什么要用BA(ICRA)

2019 年 7 月 11 日 泡泡机器人SLAM

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

标题:Visual SLAM: Why Bundle Adjust?

作者:Alvaro Parra Bustos, Tat-Jun Chin, Anders Eriksson and Ian Reid

来源:ICRA 2019

编译:凌勇

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


摘要

        大家好,今天为大家带来的文章是——Visual SLAM : Why Bundle Adjust?,该文章发表于ICRA 2019。

       

        BA在基于特征的单目SLAM中扮演了不可缺少的角色,在当前很多SLAM的pipeline中,BA用于在特征追踪之后估计相机6DOF轨迹和3D的点云。但是有两个基本的缺陷困扰着基于BA的SLAM,首先是在BA中所有的变量都需要小心的初始化,使得它们尽可能的准确,这导致整个算法的复杂,其次在BA中尽管能够在有足够baseline的时候估计出3D的结构,但是在缓慢运动以及接近于纯旋转的情况下很难处理。
        我们提出了一个完全不同的SLAM优化的核心:相比于BA,我们逐步的优化相机的方向,在得到方向后,相机的位置和3D结构的估计是拟凸的,因此可以有效的得到全局的最优值。我们的方法不仅避免了以关键帧速率估计和维护3D地图,而且更能够处理缓慢运动或纯旋转。

主要贡献

        1. 提出了一种不使用Bundle Adjustment的SLAM算法,并且验证了该算法的精度。

算法流程

图1 BA SLAM算法的流程

1. 经典方法

        经典的BA算法通过最小化重投影误差来优化landmark和camera位姿,作为一个非线性的优化问题,往往使用梯度下降的方法求解,例如L-M算法。这样的方法需要给出所有未知量的初始值,因此算法的输入不仅仅包括观测数据,还包括所有变量的初始值。

        在观测的误差是高斯分布的时候,BA算法可以使用最大似然估计来解释,但是特征提取算法不一定能够满足这样的性质,虽然这并不会影响BA的使用,但其统计有效性不应被视为理所当然。

        传统的BA-SLAM算法往往使用类似于Algorithm 1的流程,但是一些小的细节上的改变会使系统的性能发生很大的变化。这样的算法受限于高度复杂的系统和纯旋转的运动。


2. 无穷范数SLAM

        我们提出了一个L-infinity SLAM系统,如Algorithm 2所示。我们的算法最大的不同是开发出了使用平均旋转先估计出相机的旋转,然后根据旋转估计相机的位置和3D地图。

2.1 平均旋转和已知旋转问题

        平均旋转的问题的输入是一些帧之间的相对旋转,而输出是这些帧的绝对旋转,这里使用F范数度量旋转误差。并且所有的帧从共视图中取得。

        在求得绝对的旋转之后,问题变成一个已知旋转的问题,使用如下的式子来进行优化。相比于最小化重投影误差,这里最小化最大的重投影误差,可以视为无穷范数,L-infinity SLAM的名字由此而来。

2.2 算法的益处

        在Tracking和Loop中仅仅估计相机的朝向,而相机的位置和3D地图通过一个独立的全局最优优化问题求解,也就是说算法的第5步和第9步并不会影响旋转的估计。因此,无需实时精确计算位置和3D地图并对其进行管理。注意,在算法2中,步骤5和9主要是使L-infinity SLAM整体功能等同于BA-SLAM。L-Infinity SLAM流程的一个显著优势是,许多与地图维护相关的任务(例如,特征/地图点选择、点选择、地图更新和合并)可以在低优先级线程中完成,甚至在不需要动态位置和地图估计的情况下可以离线完成。这有可能大大简化视觉SLAM系统。
        对极几何可以独立的估计相机旋转,因此我们的系统不会遇到纯旋转导致系统失败的情况。


2.3 全局最优与outliers的思考

        有些读者可能会发现,在L-infinity SLAM中,变量的估计是分离的,这令人不安。首先,请注意,我们并没有声明算法总所有变量中都是全局最优的。其次,有充分的证据证明旋转平均算法能够独立于位置和3D点产生高度精确的方向估计。而且位置和3D点的拟凸估计是全局最优的,因此算法整体精度将很高。

        读者对该算法的另外一个印象是无穷范数对异常值敏感,但是我们认为二范数和无穷范数都会有这个问题。在二范数估计中,常常使用鲁棒核函数去除这个问题,如Cauchy,Huber核,无穷范数估计也有同样的方法,因此outliers不是L-infinity SLAM的问题。

主要结果

        我们在Maptek数据集(https://www.maptek.com/)上进行了测试,结果如图2所示。

图2 不同类型算法在Maptek数据集上的结果

        我们还在实际数据上对比了ORB-SLAM2的性能差别,结果如下。特别是在旋转的情况下我们的算法尤其鲁棒。

Abstract 

    

        Bundle adjustment plays a vital role in feature-based monocular SLAM. In many modern SLAM pipelines, bundle adjustment is performed to estimate the 6DOF camera trajectory and 3D map (3D point cloud) from the input feature tracks. However, two fundamental weaknesses plague SLAM systems based on bundle adjustment. First, the need to carefully initialise bundle adjustment means that all variables, in particular the map, must be estimated as accurately as possible and maintained over time, which makes the overall algorithm cumbersome. Second, since estimating the 3D structure (which requires sufficient baseline) is inherent in bundle adjustment, the SLAM algorithm will encounter difficulties during periods of slow motion or pure rotational motion.

        We propose a different SLAM optimisation core: instead of bundle adjustment, we conduct rotation averaging to incrementally optimise only camera orientations. Given the orientations, we estimate the camera positions and 3D points via a quasi-convex formulation that can be solved efficiently and globallyoptimally. Our approach not only obviates the need to estimate and maintain the positions and 3D map at keyframe rate (which enables simpler SLAM systems), it is also more capable of handling slow motions or pure rotational motions.

.


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


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

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

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

泡泡网站:www.paopaorobot.org

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


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

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

登录查看更多
50

相关内容

即时定位与地图构建(SLAM或Simultaneouslocalizationandmapping)是这样一种技术:使得机器人和自动驾驶汽车等设备能在未知环境(没有先验知识的前提下)建立地图,或者在已知环境(已给出该地图的先验知识)中能更新地图,并保证这些设备能在同时追踪它们的当前位置。
【开放书】SLAM 中的几何与学习方法,62页pdf
专知会员服务
109+阅读 · 2020年6月5日
专知会员服务
86+阅读 · 2019年12月13日
【电子书】让 PM 全面理解深度学习 65页PDF免费下载
专知会员服务
17+阅读 · 2019年10月30日
【泡泡图灵智库】边缘化采样一致性
泡泡机器人SLAM
23+阅读 · 2019年10月14日
【泡泡一分钟】视觉SLAM为什么需要光束平差法
泡泡机器人SLAM
10+阅读 · 2019年9月12日
【泡泡图灵智库】协同视觉-惯性SLAM
泡泡机器人SLAM
29+阅读 · 2019年9月6日
【泡泡图灵智库】面向无人机的高效双目SLAM
泡泡机器人SLAM
6+阅读 · 2019年5月31日
【泡泡图灵智库】LIMO: LiDAR-单目相机视觉里程计(arXiv)
泡泡机器人SLAM
48+阅读 · 2019年5月14日
【泡泡一分钟】用于平面环境的线性RGBD-SLAM
泡泡机器人SLAM
6+阅读 · 2018年12月18日
【泡泡图灵智库】基于点线的直接单目视觉里程计(ICRA)
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Structure Aware SLAM using Quadrics and Planes
Arxiv
4+阅读 · 2018年8月13日
Arxiv
5+阅读 · 2018年4月30日
Arxiv
6+阅读 · 2018年3月29日
Arxiv
6+阅读 · 2018年2月8日
VIP会员
相关资讯
【泡泡图灵智库】边缘化采样一致性
泡泡机器人SLAM
23+阅读 · 2019年10月14日
【泡泡一分钟】视觉SLAM为什么需要光束平差法
泡泡机器人SLAM
10+阅读 · 2019年9月12日
【泡泡图灵智库】协同视觉-惯性SLAM
泡泡机器人SLAM
29+阅读 · 2019年9月6日
【泡泡图灵智库】面向无人机的高效双目SLAM
泡泡机器人SLAM
6+阅读 · 2019年5月31日
【泡泡图灵智库】LIMO: LiDAR-单目相机视觉里程计(arXiv)
泡泡机器人SLAM
48+阅读 · 2019年5月14日
【泡泡一分钟】用于平面环境的线性RGBD-SLAM
泡泡机器人SLAM
6+阅读 · 2018年12月18日
【泡泡图灵智库】基于点线的直接单目视觉里程计(ICRA)
Top
微信扫码咨询专知VIP会员