论文翻译 | 多鱼眼相机的全景SLAM_基线

论文翻译 | 多鱼眼相机的全景SLAM_基线_02

1

摘要

提出了一种基于特征的全景图像序列同时定位和建图系统,该系统是在宽基线移动建图系统中从多鱼眼相机平台获得的.首先,所开发的鱼眼镜头校准方法结合了等距投影模型和三角多项式,以实现从鱼眼镜头到等效理想帧相机的高精度校准,这保证了从鱼眼镜头图像到相应全景图像的精确转换.其次我们开发了全景相机模型、具有特定反向传播误差函数的相应束调整以及线性姿态初始化算法.第三,实现的基于特征的SLAM由初始化、特征匹配、帧跟踪和闭环等几个特定的策略和算法组成,以克服跟踪宽基线全景图像序列的困难.我们在超过15公里轨迹的大规模彩信数据集和14000幅全景图像以及小规模公共视频数据集上进行了实验.

我们的结果表明,所开发的SLAM系统PAN-SLAM可以在小规模室内和大规模室外环境中实现全自动摄像机定位和稀疏地图重建,包括具有挑战性的场景(如黑暗隧道),而无需任何其他传感器的帮助.定位精度由绝对轨迹误差(ATE)测量,类似于0.1米的高精度全球导航卫星系统/惯性导航系统参考.

PAN-SLAM还优于几种基于特征的鱼眼和单目SLAM系统,在各种环境下具有不可比拟的鲁棒性.该系统可被视为一个强大的补充解决方案和昂贵的商业导航系统的替代品,特别是在城市环境中,信号障碍和干扰是常见的.

2

介绍

大多数视觉SLAM系统都受到普通针孔摄像机视场有限的影响,这很容易由于视角的突然变化或捕捉无纹理场景而导致跟踪过程失败.在用于测绘的移动测绘系统(MMS)中,由于成像和存储器访问速度有限,大尺寸传感器(例如与计算机视觉中使用的640×480传感器相比,8000×4000像素)需要宽基线拍摄模式,这一问题会加剧.因此,宽FoV的光学传感器,如鱼眼或全景/全向相机,成为一个很好的选择.全景相机可以一次拍摄360°的场景,越来越多地应用于街景地图收集、交通监控、虚拟现实和机器人导航.

官方视频展示:


此外,据我们所知,没有专门为全景相机开发的完整的基于特征的SLAM系统.介绍了一种新的基于特征的全景SLAM系统,称为PAN-SLAM,该系统利用多鱼眼相机平台实现全方位成像,提取特征点跟踪新帧和构建地图,并使用束调整实现全局优化.同样重要的是,PAN-SLAM旨在减轻当前彩信技术对全球导航卫星系统/惯性导航系统信号质量的高度依赖.

主要贡献如下:

  • 我们开发了一系列技术,包括精确的特征匹配和跟踪、闭环检测以及BA的可靠姿态初始化,用于基于多摄像机平台的全景摄像机,该摄像机能够在复杂的室外环境中实现高度鲁棒的性能
  • 提出了一种新颖的鱼眼镜头标定方法,实现了亚像素精度,保证了BA的平滑跟踪和高精度
  • 在大规模宽基线全景图像序列数据集和从多鱼眼相机平台捕获的开源小规模视频数据集上,我们的PAN-SLAM系统的鲁棒性优于当前的几种其他方法.此外,PAN-SLAM是唯一能够跟踪所有图像序列的系统.
  • PAN-SLAM的定位精度为0.1米,已被证明与昂贵的商用全球导航卫星系统/惯性导航系统跟踪系统一样高,在信号阻塞情况下更加鲁棒.它有可能成为当前商用全球导航卫星系统/惯性导航系统的一个强有力的补充和替代解决方案.

3

算法流程

 1    全景相机的成像

论文翻译 | 多鱼眼相机的全景SLAM_基线_03

图2: (a)全景相机模型  (b)两个相邻鱼眼相机边缘影像上的投影不确定性

多镜头组合式全景相机由一系列独立、固定的鱼眼镜头组成,多个镜头独立成像,再拼接为全景图.每个镜头具有各自的投影中心C,在实际制造过程中难以保证与球心S完全重合. 物理上三点共线是C,Uc,P'. 所以为了实现统一的全景坐标系, 需要将实际像素坐标Uc投影到某个指定半径的球面上得到U. 为了避免不共心导致的定位误差, 通过事先标定单个相机中心在一个全景相机坐标系下的旋转Ri和位置Ti, 得到表述共线条件方程的光束仍然是CUcP'

论文翻译 | 多鱼眼相机的全景SLAM_3d_04

论文翻译 | 多鱼眼相机的全景SLAM_基线_05

论文翻译 | 多鱼眼相机的全景SLAM_3d_06

首先将每个鱼眼影像上的像点转换到半径为r的球面上,然后计算球面点的极坐标,最后根据给定的全景图像宽高计算二维平面坐标. 对于全景图像难免存在融合误差, 如图1(b)所示, 不过在连接点提取过程中排除该误差, 不会影响鱼眼相机到全景相机之间的刚体几何转换.

鱼眼相机标定

为使得核线误差降低到1像素以下,本文对该模型加以改进,提出一种更为精确的鱼眼相机检校方法,显式地加入了鱼眼相机的成像过程

论文翻译 | 多鱼眼相机的全景SLAM_基线_07

BA

类似ORB-SLAM优化方法, 不过改进g2o库使其适用于全景成像模型, 给出重投影误差函数式的解析导数形式, 即误差函数对于位姿即地图点的雅可比矩阵.

论文翻译 | 多鱼眼相机的全景SLAM_数据集_08

图3: 三角形节点代表位姿,圆形节点代表地图点,边代表误差项 (a)位姿优化 (b)局部光束法平差  (c) 本质图优化  (d)全局光束法平差

本文实现的优化算法包含4类:

图3(a) : 单帧位姿优化(仅根据匹配的地图点计算当前帧的精确位姿)

图3(b):  局部地图优化和平差(根据局部共视关键帧优化位姿与局部地图点)

图3(c):  本质图优化(用于检测闭环后,对全局关键帧的位姿进行调整)

图3(d) : 全局光束法平差(优化所有位姿和地图点)

鱼眼图像上不同位置投射到球面上的变形不同,因此不同的点采用不同的误差阈值.

 2   全景SLAM流程

系统分为3个线程并行工作,分别为跟踪、局部地图构建、闭环. 所有步骤都经过调整, 可以在复杂的室外环境中对宽基线全景图像序列进行准确稳健的跟踪和定位.

初始化

将 ORB特征用于PAN-SLAM 系统的特征提取.鱼眼相机变形较大,匹配难度高,误匹配数量大.因此采用三帧而非两帧进行初始化.

地图点跟踪

论文翻译 | 多鱼眼相机的全景SLAM_3d_09

关键帧选择

本文的全景影像框幅高达8000×4000像素,由于车辆高速行驶,存在内存读写的限制,因此采用较大的采样间隔(1~3m ).

论文翻译 | 多鱼眼相机的全景SLAM_基线_10

局部地图构建

根据全景相机的特殊情形,本文设定共视关键帧必须同时满足: ①与当前关键帧的共视点数≥50个;②与当前关键帧在图像序列中的间隔关键帧不超过40个;③其与当前关键帧的共视点在两帧所在金字塔层数差异>2的特征点数不超过总共视点数85%

 闭环检测

我们使用类似于ORB-SLAM的循环检测过程, 但针对从不同方向捕获的全景图像引入了特殊的匹配策略. 在实践中, 即使对于针孔相机, 基于BoW的方法也无法很好地识别横向或反向闭环. 使用全景相机时,情况变得更糟.我们在这里采用了一种简单的对齐策略, 即将当前球面图像展开为搜索到的先前帧的方向的2D图像. 附带说明的是, 此过程相对较慢. 因此, 如果检测到足够的循环, 则可以跳过此步骤.

4

实验

论文翻译 | 多鱼眼相机的全景SLAM_数据集_11

图2: 一个多鱼眼相机装备的例子. 该相机由五个鱼眼相机组成, 覆盖水平360°场景, 一个相机指向上方, 底部一行显示了展开和缝合的全景图像.

第一个数据集作为由四个序列组成的主数据集, 是从三个不同城市的复杂街道场景中的宽基线车载Ladybug 相机(池田等人,2003)收集的. 在这四个序列中, 柏瓦序列是在东京大学柏瓦校区拍摄的, 由498幅基线约为2米的全景图像组成.

论文翻译 | 多鱼眼相机的全景SLAM_基线_12

使用这些数据集, 我们的PAN-SLAM系统主要与两个相关系统进行比较, 为多摄像机相机设计的Multicol-SLAM和为大视场摄像机设计的Cubemap-SLAM.

该比较还包括单目ORB-SLAM2和校正后的鱼眼相机图像作为输入, 以展示全向相机相对于普通针孔相机的优势. 这三个SLAM系统都是用各自作者提供的开源代码实现的. 至于我们的PAN-SLAM系统,我们使用了两种模式, 鱼眼镜头和全景.鱼眼模式将水平鱼眼图像作为输入,从而提取和匹配特征.所有其他计算,包括基本矩阵计算和束调整,都在统一的全景坐标系中执行.在全景模式下,特征提取和跟踪直接在拼接全景图像中进行.

另外两个序列:彩虹路和万柳路序列. 在中国天津采集.分别由3556和2610个Ladybug5全景图像组成, 基线为0.6米. 这两个序列用于我们的定性测试, 因为由于城市峡谷和隧道造成的遮挡和多径效应, 它们的全球定位系统测量不准确.

第二个数据集由来自名为拉菲达(Urban and Jutzi,2017)的开源多鱼眼相机数据集的所有六个视频序列组成.

两个室内序列:in_dynamic,in_static和四个室外序列:out_static、out_static2、out_rotation、out_large_loop. 是从三个紧紧安装在头盔上的鱼眼镜头相机上拍摄的,以754 × 480像素的相同分辨率均匀地覆盖了360个水平场景. 拉菲达数据集中使用的鱼眼相机的视场为185°, 焦距为1.25毫米. 视频序列以每秒25帧的速率采集, 室内环境的基线长度设置为0.03米, 室外环境的基线长度设置为0.05米. 拉菲达数据集的基本事实是通过高精度运动捕捉获得的(Urban and Jutzi,2017). 表2列出了五个数据集的信息.

为了评估空间激光测距结果的定位精度, 选择了最少数量的全球导航卫星系统点, 通过3D相似性转换将空间激光测距坐标与地理参考坐标对齐, 并使用所有剩余的全球导航卫星系统/惯性导航系统点进行验证.

我们的全景SLAM系统运行在Ubuntu 16.04平台上. 所有测试均采用2.8 GHz Intel CPU和8 Gb内存的笔记本电脑, 鱼眼或全景模式下的平均执行效率为每秒1帧. 对于每一帧, 处理5幅1616 × 1232鱼眼图像或4000 × 2000全景图像.

论文翻译 | 多鱼眼相机的全景SLAM_3d_13

论文翻译 | 多鱼眼相机的全景SLAM_3d_14

表3比较了校正瓢虫3和瓢虫5鱼眼图像的不同模型. 利用棋盘上63个均匀分布的控制点求解模型;剩余的角点用于评估重新投影的准确性. 从表3可以看出, 当使用通用相机校准模型(Kannala和Brandt,2006)时,Ladybug3号相机的RMSE为0.88像素,而使用我们的模型时为0.50像素. 此外当使用通用模型时,Cam1和Cam 4的平均误差超过1像素.在Ladybug5相机实验中,我们的方法在RMSE的表现优于通用模型0.14像素(20%)。等距模型与失真参数的组合表现最差. 我们的标定方法通过引入最合适的物理鱼眼投影模型来补偿一般多项式的限制, 将所有鱼眼相机的平均重投影误差降低到1个像素以下,这是高精度全景SLAM系统的先决条件.

论文翻译 | 多鱼眼相机的全景SLAM_基线_15

(图六)

图6显示了离群点消除后三幅相邻全景图像的匹配结果. 可以看出, 在由全景成像引起的近距离场景中, 由于较大的几何失真(红色边界框,图6), 仅保留了少数近距离特征.在鱼眼镜头模式下, 在摄像机4和5中能够匹配的点非常少(图6a). 这种情况偶尔会发生在五个鱼眼镜头相机, 这意味着任何单个鱼眼镜头相机在跟踪时都会遇到这些困难, 而360°全景图像则更加鲁棒. 图6(b)示出了全景模式下的匹配结果, 其中充分且均匀分布的特征可以被很好地跟踪.

论文翻译 | 多鱼眼相机的全景SLAM_3d_16

(图七)

图七显示了使用不同策略的循环检测结果. 在柏洼数据集中, 由DBoW2 (Mark and Paul,2010)检测到52个循环, 其中大循环在相反方向上被访问了两次. 在Omiya数据集中有203个循环, 在彩虹道路数据集中有0个循环, 具有短的遍历轨迹(图7的第一行). 当使用我们的方向对齐策略时, 在柏洼数据集中检测到285个循环, 在彩虹道路数据集中检测到5个循环(图7的第二行). 由于没有遍历或反向轨迹, 在Omiya数据集中检测到的循环数量保持不变. 表4显示了以100%精度检测到的循环的召回率. 测试结果表明, 原始的BoW方法无法检测到从不同方向展开的全景图像中的大部分环, 而通过我们简单的对齐策略, 可以在横向或反向驱动下检测到足够数量的环.

论文翻译 | 多鱼眼相机的全景SLAM_3d_17

论文翻译 | 多鱼眼相机的全景SLAM_3d_18

论文翻译 | 多鱼眼相机的全景SLAM_数据集_19

表5显示了室外环境的柏和Omiya序列上每个系统的定位精度、旋转精度和成功跟踪的地图点和帧的数量. 由于Multcol-SLAM无法跟踪其中任何一个(初始化后不久就丢失了), 我们没有列出它. 我们用鱼眼模式表示我们的PAN-SLAM,用全景模式表示PAN-SLAM.与其他系统相比,这两种模式都显示出明显更好的结果.对于Cubemap, 我们对全景图进行了预处理将图像转换成立方体大小为800 × 800 × 800像素的cubemap作为系统输入. 使用此设置,我们发现系统在我们的数据集中获得了最佳性能.

Cubemap-SLAM以高定位精度跟踪两个序列中的许多帧和地图点,但是当柏瓦序列发生急转弯时, 跟踪丢失. ORB-SLAM只跟踪了两个序列中漂移很大的非常小的片段, 因为它只处理了FoV有限的校正前视摄像机. PAN-SLAM是唯一完成整个柏瓦序列的系统, 也达到了0.14米ATE的高定位精度.

PAN-SLAM和Cubemap-SLAM都在Omiya序列的第5283帧停止, 因为有几幅图像曝光过度, 这是一个极具挑战性的场景. 然而我们的系统保存了以前跟踪的地图, 并在跟踪丢失时重新初始化以继续跟踪剩余的序列. 我们为跟踪的路段选择了15个均匀分布的地面控制点, 以产生一个一致的全局地图, 其自动目标高度为0.17米. 每个SLAM系统的相应轨迹如图8所示. 由于这两种模式的轨迹是相似的, 我们只显示了鱼眼镜头轨迹.

论文翻译 | 多鱼眼相机的全景SLAM_3d_20

(图八)

论文翻译 | 多鱼眼相机的全景SLAM_3d_21

除了ATE指标, 我们还评估了在柏瓦序列中使用3D GCPs的定位精度. 如图9所示, 五个控制点位于房屋角落(HC 1、2、3、4、5), 三个控制点位于路标处(RM 1、2、3). 控制点的像素坐标是在两个相邻的全景关键帧上手动测量的, 3D坐标是用SLAM姿态三角测量的, 并且计算它们与地面真实情况之间的距离, 如表6所示. 平均定位误差和RMSE分别为0.147米和0.157. 相交角度较大的点比相交角度较小的点更精确.

拉菲达数据集上的SLAM系统的性能也与自动测试设备度量进行了比较(表7), 它们的跟踪轨迹如图10所示. 考虑到三个185 FoV鱼眼相机生成的全景图像会丢失大量信息(相机之间的大重叠区域), 并会导致明显的拼接偏差, 我们仅使用PAN-SLAM的鱼眼模式进行比较. 由于Cubemap-SLAM的性能随着cube大小的不同而变化, 经过人工试错, 我们选择了最好的(650 × 650 × 650)进行比较. 由于拉菲达数据集非常小, 那些无法跟踪三分之一帧的系统会失败, 并在表中用“X”表示. 从ORB-SLAM的轨迹显示出明显的大漂移, 并且ATe明显大于其他的.在out_large_loop序列中,它只跟踪了3176帧中的三分之二.在六个序列中的五个序列中,Multicol-SLAM的ATE比Cubemap-SLAM和我们的系统大.它也无法跟踪out_large_loop序列.Cubemap-SLAM在六个序列中的三个序列中获得了最低的ATE. 但是它在out_rotation序列中失败.我们的PAN-SLAM比所有其他系统都更鲁棒,在六个序列中的三个序列中实现了最低的ATE, 并跟踪了许多地图点. 所有的系统获得了类似的旋转精度.

论文翻译 | 多鱼眼相机的全景SLAM_数据集_22

(图十)

论文翻译 | 多鱼眼相机的全景SLAM_3d_23

总之与其他相比,我们的PAN-SLAM表现出了显著的优势, 特别是在不同尺度、室内和室外环境以及视频和宽基线模式下的无与伦比的鲁棒性.在不考虑鲁棒性的情况下,Cubemap-SLAM的定位精度与我们的系统相当.单目ORB-SLAM2和多目SLAM都不能处理所有复杂的情况.

利用天津市彩虹路和万柳路数据集研究了全球导航卫星系统弱区域系统的鲁棒性, 这两个数据集的地理配准精度较低. 在彩虹道路测试中(图11), 全球导航卫星系统信号受到峡谷效应的严重损害(见谷歌地图上的鸟瞰图像). 相比之下, 我们的PAN-SLAM获得了更平滑的跟踪结果(见矩形), 并且在这个数据集中没有任何跟踪丢失的情况下平滑运行.Cubemap-SLAM也表现不错, ORB-SLAM2和Multicol-SLAM在初始化后不久就失败了.

论文翻译 | 多鱼眼相机的全景SLAM_数据集_24

万柳路数据集(图12)是一个具有挑战性的数据集, 覆盖了一条长隧道(矩形区域). 那里的全球导航卫星系统信号完全被屏蔽了. 隧道很暗, 导致成像效果很差, 如直立的角落所示. 尽管如此, 我们的PAN-SLAM在隧道中运行非常平稳,并跟踪了一张轨迹图类似于谷歌地图上的鸟瞰图. 相比之下,Cubemap-SLAM在黑暗的隧道中间迷失了方向,ORBSLAM2和Multicol-SLAM在初始化后不久再次失败

论文翻译 | 多鱼眼相机的全景SLAM_数据集_25

当应用于从三个鱼眼相机获得的小规模视频序列时,只有第4节中描述的几个参数(例如,公式(14)中的误差阈值和球体半径)必须重置, 这些参数是专门为我们的PAN_SLAM中的宽基线全景图像序列设计的. 这表明我们的系统可以推广到大多数使用多鱼眼相机的情况.

与我们系统中使用的统一球体模型类似, 立方体模型用于Cubemap-SLAM中, 以实现其对宽基线模式的鲁棒性. 然而Cubemap-SLAM只支持每帧输入一幅鱼眼镜头图像,不能处理多摄像机设备.此外它只处理立方体的五个面(前、左、右、顶、底)上的要素,这导致与我们的系统相比, 被跟踪的地图点更少. 当急转弯和低纹理场景出现时, 跟踪特征的不足最终导致无法完成柏和万柳_路的整个序列. 在相比之下, 我们的系统可以处理单目鱼眼镜头相机、多目鱼眼镜头相机和全景相机输入,并适应360 FoV的所有特征,从而确保平滑跟踪.

我们跟踪全景图像序列的特殊修改有助于PAN-SLAM系统的成功. 首先我们使用抑制冗余帧和不稳定地图点的限制来更新第4.4节中描述的关键帧连接,以提高输出的效率和鲁棒性.在图13(a)中, 减少的关键帧连接减轻了计算成本. 但更重要的是,它可以降低弱几何形状的风险(例如共同可见的点位于彼此远离的两个帧的中心的中点). 二、动态窗口搜索策略(Eq(15)), 而不是固定的窗口, 提高了匹配质量, 增加了8%的内联(图13(b)), 这对于在提取的特征稀少的一些具有挑战性的情况下的平滑跟踪是至关重要的.

论文翻译 | 多鱼眼相机的全景SLAM_基线_26

挑战

在四个大规模数据集和六个小规模数据集中, 我们的PAN-SLAM系统遇到了五个中断,这些中断只发生在彩虹路和Omiya序列中, 其中两个通过特定的改进得到了修复. 第一次中断发生在万柳路序列(图14中的顶行)进入隧道时, 此时突然的亮度变化导致特征匹配困难.我们预先计算了伽玛非线性响应曲线, 并校准了图像的光度偏差. 在应用伽马校正之后, 如图14所示, 曝光质量显著提高, 以确保成功跟踪. 第二个中断发生在Omiya序列中, 从移动的车辆中提取的太多特征导致匹配失败. 为了解决这个问题, 我们使用了一个预先训练好的面罩模型在COCO数据集(林等,2014)上预测车辆的遮挡, 并排除运动车辆上的那些特征,实现平滑跟踪.

论文翻译 | 多鱼眼相机的全景SLAM_基线_27

剩下的三个中断, 还没有修复, 都是由Omiya序列上极度曝光不足或曝光过度的情况引起的, 如图14所示.即使在应用伽马校正来提高曝光质量时,也跟踪不到足够的特征.

5

结论

我们开发了一个基于特征的全景SLAM系统,称为PAN-SLAM,它处理从安装在MMS-mounted鱼眼镜头拍摄的宽基线全景图像序列. 我们的PAN-SLAM系统为跟踪、建图和优化提供了一个自动和完整的解决方案. 我们证明了我们的系统达到的定位精度相当于昂贵的商用全球导航卫星系统/惯性测量单元跟踪系统.

SLAM系统不仅适用于大型室外环境中的全景摄像机,也适用于小型受控环境中的多摄像机设备.与单个大型FoV摄像机的Cubemap-SLAM和多鱼眼摄像机的Multicol-SLAM相比,我们的系统在大规模宽基线数据集和小规模视频数据集的配置中表现出更高的鲁棒性.此外,我们将ORBSLAM2与单目鱼眼相机进行比较,表明全向相机优于普通相机.

本文仅做学术分享,如有侵权,请联系删文。


论文翻译 | 多鱼眼相机的全景SLAM_3d_28

▲长按关注公众号