Multi-Camera Visual SLAM for Autonomous Navigation of Micro Aerial Vehicles

Multi-Camera Visual SLAM for Autonomous Navigation of Micro Aerial Vehicles 阅读笔记

1.背景

在过去的十年里,机器人界对微型飞行器(MA-Vs)越来越感兴趣。这一趋势的原因之一是,多用途飞行器有可能在具有不同地形类型的复杂三维环境中高效导航,地面车辆或大型无人飞行器(UA-V)可能无法进入这些环境,例如在地震损坏的建筑物中(Michael等人,2012年)。MA-Vs在这种环境下自主工作的一个基本要求是其鲁棒的姿态跟踪能力,在环境未知、提供全局位置数据的外部信号不可靠的情况下,这仍然是一项具有挑战性的任务。同时,如果能够建立环境地图,将能够为多用途飞行器自主导航的路径规划提供支持(Schauwecker和Zell,2014)。近年来,人们越来越关注使用车载视觉解决方案来解决这些问题,特别是使用视觉同步定位和映射(SLAM)系统。尽管我们已经看到了视觉SLAM在地面车辆上的成功应用(Cummins and Newman,2008;Strasdat et al.,2011),但是在使用视觉SLAM实现MA-V的自主导航方面还有更多的挑战。

2.实验平台

通过使用安装在两个不同方向(向前和向下)上的两个摄像机来捕获更关键的视图来扩展视觉系统的视野,如图所示。
在这里插入图片描述

3.多相机视觉SLAM前端

3.1 概述

可视化SLAM前端的实现是基于PTAM框架的。在提出多摄像机视觉SLAM方案后,SLAM系统进一步简化为一个恒定时间的视觉里程计。所得到的视觉里程计主要由两个独立的线程组成,其中使用了来自多个摄像机的图像:在负责摄像机姿势跟踪的第一个线程中,将固定范围搜索应用于快速角点(Rosten和Drummond,2006)对应于来自多个摄像机的图像中的潜在可观测地图点。通过迭代优化过程,将得到的2D-3D对应关系用于摄像机姿态跟踪。第二个线程将多个摄影机的新关键帧集成到地图并创建新的地图点。此外,还进行局部BA以细化映射。

3.2 投影与姿态更新

地图点Pi投影到相机坐标点Ci:

Pci是相机坐标系Ci中的点到相机Ci中的图像坐标的映射,pj是地图点pj的世界坐标。Eciw是李群SE(3)。
相机C2相对于相机C1的姿态是恒定的,故更新可有相机C1更新相机C2:
在这里插入图片描述
在这里插入图片描述
μ是李代数se(3)的元素,Ei1是i摄像机坐标系中c1的姿势。

3.3 前端的优化

SLAM系统中的相机姿态更新和地图细化(BA)都是基于迭代最小化图像测量集Si的重投影误差的鲁棒目标函数,每台相机(或关键帧)中的观测地图点i.如何在优化过程中正确使用不同相机的特征,以保持其数学鲁棒性和数值精度,是需要分析的问题。在n-摄像机(或n-关键帧)系统中,通过重加权非线性最小二乘的迭代来求解:
在这里插入图片描述Obj是双权目标函数(Huber,2011),σji是j点的估计测量噪声,σT是所有重投影误差分布的基于中值的稳健标准差估计
重投影误差在这里插入图片描述

3.4 姿态更新

对多相机系统的姿态更新的优化问题其实就是找到相机1的最佳姿态μ:
在这里插入图片描述
在单相机中对相机C1测量的地图点Pj,其雅克比矩阵为:
在这里插入图片描述
其中在这里插入图片描述
在多相机系统中:
在这里插入图片描述
在这里插入图片描述

3.5 BA优化

优化目标函数:
在这里插入图片描述
在BA优化中,使用来自所有照相机的图像测量来计算由第一照相机C1获得的关键帧集k1的最佳姿势更新。其他刚性连接关键帧的姿势是根据其在K1中关联关键帧的更新姿势计算的。
在这里插入图片描述
将ejiw与相应的关键帧(K1中)姿势更新μi区分开来,该关键帧的计算方法与姿态更新计算方法相同,取决于点j的摄像机标识,即测量该点的摄像机。无论用于测量该点的摄像机如何,eji相对于估计点j姿态的雅可比可以用一致的方式表示:
在这里插入图片描述最后一项

3.6 固定时间开销

为了在大规模探索中获得恒定的时间开销,我们通过在局部地图中将每个相机的关键帧的大小固定为一个固定数目nl,进一步降低了多相机视觉SLAM系统的复杂性。当一个新的关键帧被添加到地图中时,我们删除最旧的关键帧。在m-camera情况下,BA在所有m·nl关键帧内执行。这改变了我们的多摄像机SLAM系统成为一个有效的恒定时间视觉里程计。如果添加新的关键帧后,局部贴图中相机ci的关键帧数超过nl,则从局部贴图中移除最旧的关键帧kr。

3.7 双摄像机视觉里程计

3.7.1 构造局部地图

假设这两个摄像头没有来自环境的共同特征点。然后,整个SLAM系统的地图可以被组织成两个子地图,每个子地图对应一个摄像机。我们通过给每个关键帧和每个地图点添加标签来划分地图,指示它们是从哪个相机生成的。上述组织方法的优点在于,它可以使姿态跟踪和映射中的地图操作更加有效。在cameraC1拍摄的图像中搜索潜在可见点时,现在只需要检查c1测量的地图点。在映射过程中,相邻的关键帧只能在子映射中搜索,而不能在整个映射中搜索。当我们需要决定是否应该添加新的关键帧,或者选择一个现有的关键帧来对新的地图点进行三角剖分时,就会执行此操作。

3.7.2 姿态追踪

两个子地图中的地图点将被重新投影到其对应的源相机,以确定它们是否潜在可见。图像特征和那些潜在可见点之间的成功匹配用作图像测量,用于迭代优化照相机C1的姿势更新。然后利用公式2计算出摄像机c2的最佳姿态。

3.7.3 映射

当同一摄像机获得的K1n(或K2n)到其最近邻居的几何距离大于阈值时,两个双摄像机的新关键帧k1和K2n被添加到SLAM系统的地图中。这意味着,如果我们从任何一个应该添加到地图上的双摄像机获取关键帧,则另一个摄像机同时获取的关键帧也将被添加。因此,在全局贴图中,相机c1获得的每个关键帧始终与C2获得的另一个关键帧相关联,几何距离测量加权平移距离和角差之和。

3.7.4 自动初始化

单目相机系统中普遍存在度量尺度模糊。当摄像机在各自的视场中没有重叠时,我们的双摄像机系统也有同样的问题,因为没有立体三角测量可以用来恢复由该系统建立的地图的公制比例因子。我们通过初始化SLAM系统的度量映射来解决这个问题,就像我们在Yang等人中所做的那样(2014a),使用标准直升机着陆垫。我们使用Y ang等人提出的初始化模块。(2013)在我们的MA V起飞阶段,可靠地估计向下看的摄像机C1的姿态在这里插入图片描述

4.后端

4.1 全地图

使用Scherer等人提出的基于关键帧的全局地图表示(2015年)。似于原始PTAM中使用的表示:每个关键帧由一个四层图像金字塔组成,在每个层中计算快速角点,而每个映射点存储对其测量的源关键帧的引用。通过这种方式,可以在位姿图优化中实现在更新源关键帧的位姿后对地图点的绝对位置的隐式更新,还计算每个关键帧的所有金字塔级别中的特征点的BRIEF描述符(Calonder等人,2010)。它们用于关键帧之间的宽基线匹配和后端基于外观的循环闭合检测。与SIFT(Lowe,2004)、SURF(Bay等,2006)等局部特征描述相比,该描述既不具有尺度不变性,也不具有旋转不变性。但是,它更高效,已经足够满足我们的MA V应用程序场景。首先,由于我们在一个关键帧的四个金字塔级别中计算它, 因此可以在一定程度上实现缩放不变量,而不需要考虑进一步的金字塔级别。只有来自前视摄像机的关键帧和地图点才能用于构建全局地图。

4.2 回环检测

4.2.1 基于外观回环

局部特征用于表示关键帧的图像外观信息,采用了Gélvez-López Tardós(2012)开发的单词包方法的开源实现。在离线过程中,使用从大量不同环境下采集的图像中提取的快速关键点的简短描述来训练该方法所需的词汇树。在检测到当前关键帧ka和前一关键帧KB之间存在大循环后,匹配KB中测量的KAto映射点中的特征角,以检索2D-3D对应关系。如果有足够的2D-3D对应,估计这两个关键帧之间的相对姿态。这可以使用P3P(Gao等人,2003)加RANSAC(随机采样一致性)方法有效地完成,并通过鲁棒优化进一步细化结果,从而最小化所有内部对应的2D重投影误差,然后将边eab添加到姿势图中。

4.2.2 局部回环

通过在一定的几何距离范围内记录当前关键帧Ka的最佳邻域kb,并以与检测到基于外观的循环闭合后使用的方法相似的方式估计它们的相对姿态,可以检测到潜在的局部循环闭合。最佳相邻关键帧取决于它与KA共同特征的可见性,计算Eab和ba,期望Eab和Eba在检测到一个真正的局部环路闭合的情况下能一致。

4.3 自适应窗口位姿图优化

4.3.1 图结构

当一个新的关键帧Kn添加到视觉里程计的局部地图时,最旧的关键帧kr将在下一个束调整操作之前被移除。因此,剩余nL-1关键帧的姿势将在下一个束调整步骤中重新调整,而不考虑Kr的姿势约束。这意味着Kr 和其他nL-1节点之间的姿势约束实际上可能包含有用的信息。我们不仅将连续关键帧之间的姿势约束添加到姿势图中,还将当前局部贴图中Kr和所有其他关键帧之间的姿势约束添加到当前局部贴图中。在这里插入图片描述

4.3.2 优化子图

在没有检测到环路闭合的SLAM系统的常规探测中,只需要调整整个姿势图的一个相对较小的窗口(不超过ns 个顶点)。当检测到两个关键帧之间的循环闭合时,相应顶点之间的边将添加到姿势图中。然后,我们将图窗口gs扩展为包含大量顶点,直到它包含检测循环中的所有顶点或最大顶点数。

4.3.3 位姿图优化

代价函数:在这里插入图片描述
Eij的信息矩阵:在这里插入图片描述

4.4 线程

统主要由三个线程组成:两个线程用于(跟踪线程和映射线),第三个线程用于后端(后端线程)。
在这里插入图片描述

5.实验

5.1 室内

在自主飞行(Auto)和人工飞行(manual)实验中,使用所提出的视觉SLAM系统,仅使用视觉里程计(VO),位置误差以毫米计,姿态误差以度计姿态跟踪的均方根我去查rmse:
在这里插入图片描述
可以看出于VO相比,系统的偏航误差明显小于VO。

5.2 室外

全SLAM系统和不带后端(VO)的视觉里程计时,SLAM系统的姿态跟踪结果:
在这里插入图片描述
黑色十字标记代表回环检测。

6.结论

利用多个摄像机的测量数据,使一个具有两个摄像头的MA-V能够沿着预定的路径自主导航,提出的多摄像机系统比传统的单目视觉系统更能抵抗跟踪失败。它还为配置多个在mav上使用的摄像机带来了更大的灵活性。我们通过将姿态跟踪结果与外部跟踪系统提供的地面真实数据进行比较,证明了系统的准确性。我们最后的SLAM实现利用双摄像机来实现恒定时间的视觉里程测量,这可以为我们的MAV自主导航提供鲁棒的姿态跟踪。SLAM系统的后端通过环路闭合检测和自适应窗口位姿图优化来校正视觉里程计的位姿漂移,保持全局地图的一致性。

论文下载链接: https://download.csdn.net/download/ainitutu/12288409

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值