Abstract
实用的视觉定位方案能够对于大量的视觉条件鲁邦, 比如day-night changes, 包括weather and sesonal variations. 基于我们的结果, 我们认为long-term定位还远远不能说解决了, 我们也提出了一些很有希望的avenues(林荫大道).
1. Introduction
这种视觉定位的解决方案也可以被认为是SLAM背景下的"close loops", 或者是SfM下的图像注册问题.
基于3D structure的视觉定位的工作有关注在: 提升效率,提升scability,对于模糊structure的鲁棒性,降低存储西区,和更flexible的场景表示. 这些方法都利用local feature来建立2d-3d匹配. 反过来也会用来估计位姿.
There is a well-known trade-off between discriminative power and invariance for local descriptors.
在所有的视角下获得地图是prohibitive(禁止的,昂贵的).我们认为在一些情况下的图片用来被构建地图是更合理的. 目前没有工作会衡量在不同情况下位姿估计的精度.
一个这方面缺乏工作的可能是因为没有合适的benchmark. 我们就构建了这么一个benchmark. 我们用了很多人工, 手动的annotate(注释)了不同情况下拍摄的图片的匹配, 然后验证了导致的真值位姿.
RobotCar Seasons数据集的挑战在于在夜间低质量图片的情况下定位.
CMU Seasons数据集注重于季节变化带来的vegetation(植被)变化, 也就是地图几何变化带来的在定位上的影响.
Contributions:
- 我们创建了一个室外的有真值和能够在米制情况下衡量6DOF定位精度的benchmark.(在不同的场景下,光照,天气,季节).
2. Related Work
- Localization Benchmarks
大部分的benchmark都没有位姿真值, 但是有一个例外是Michigan North Campus Long-Term (NCLT), 提供了根据GPS和LIDAR的SLAM的真值.
- 3D structure-based localization
**描述子匹配可以通过prioritization[18, 37, 58]和efficient search algorithm[22, 44]来进行加速. **在大或者复杂的环境下, 描述子匹配可能因为局部近似而变得模糊. 这个可以导致99%的outlier ratio, 这个可以通过共视信息来进行处理[36, 41, 56], 或者是geometric outlier filtering[10, 70, 81].
- 2D image-based localization
这个技术一般用来做场景识别, 回环检测. 他们一般在scale很大的时候也很高效, 而且对于场景变化也比较鲁邦. 我们衡量了两种基于VLAD[31]的方案, DenseVLAD[73] (继承了稠密的SIFT描述子)和NetVLAD[1]. 它们对于day-night变化都比较鲁邦, 在large-scale下工作的也好.
我们也衡量了机器人领域回环检测的标准流程, 基于词袋(BoW)的FAB-MAP.
- Sequence-based
SeqSLAM, 我们在我们的benchmark衡量了OpenSeqSLAM.
多个已知位姿的相机可以被model为一个generalized camera [54], i.e. 一个有多个投影中心的相机. 多相机系统的绝对位姿估计[35]和相机轨迹估计[11]是存在的. 他们也没有被衡量, 我们的文章展示说多图像可以显著的提升表现.
- Learning-based localization
3. Benchmark Datasets for 6DOF Localization
CMU数据在vegetation上有比较大的改变.
3.1 The Aachen Day-Night Dataset
我们用COLMAP[61]来创建3D模型.
Ground truth for night-time queries
我们抓拍了98个night-time query图像. 然后手标注2D-3D匹配. 我们手动的选择一个day-time的query image, 选择类似的视角.
为了衡量这些位姿的精度, 我们衡量手动标注的2D-3D匹配的重投影误差和位姿的不确定性. **对于后者, 我们用匹配的子集来计算多个位姿, 然后比较这些位姿的不确定性. ** 平均位置和旋转的中位数是36cm和1°.
3.2 The RobotCar Seasons Dataset
Ground truth poses for the queries
因为GPS的漂移, INS的位姿不能直接用来作真值. 而且在白天和晚上也没有足够的匹配. 所以我们用LIDAR来建不同情况下的49个submap. 这些模型会有ICP来align. 最后的RMS误差中值一般在0.1m和0.5°.
3.3 The CMU Seasons Dataset
Ground truth poses for the queries
整个数据段被分为17个小段, 每个段有250个连续车辆位姿. 然后用SIFT的BA来进行重建3D模型. 然后结果的submap会进行融合.
4. Benchmark Setup
Evaluation measures
位置误差是用欧氏距离\(||c_{est} - c_{gt}||_2\).
旋转误差要计算\(|\alpha|\), \(2\cos(|\alpha)=trace(R^{-1}_{gt}R_{est}) -1\)
我们用衡量query image定位在\(X\) m和\(Y\) °的比例来衡量, 我们把位姿精度定义为三类:
- 高精度(0.25m, 2°)
- 中精度(0.5m, 5°)
- 低精度(5m, 10°)
Evaluated algorithms.
我们衡量了3D structure-based 算法:
- Active Search (AS) [59]
- City-Scale Localization (CSL) [70]
从图像检索方面,我们用了:
- DenseVLAD[73]
- NetVLAD[1]
- FAB-MAP[20]
为了衡量用多张图来做位姿估计, 我们衡量了两种方案:
- OpenSeqSLAM[68], 基于图像检索, 而且要求图像是根据正确的顺序. 知道了检索图像之间的相对位姿, 我们就可以model generalized camera[54]. 有了每个单张图的2d-3d匹配(根据active search), 我们就可以用generalized absolute camera pose solver[35] inside a RANSAC loop. 我们叫Active Search + GC (AS+GC).
上述都是讨论的没有位姿先验的情况下进行定位.
5. Experimental Evaluation
5.1 Evaluation on the Aachen Day-Night Dataset
如表3所示, 两个structure-based方案都可以估计准确的位姿. 我们的结论是Aachen dataset不是很有挑战性.
Night-time queries
表3也报告了night-time的结果. Active Search和CSL都降的很厉害. 因为night-time的queries都是从类似的viewpoints来的, 我们认为这个下降就是从day-night改变带来的.
CSL比起AS会有更多的图像被定位, 这不让人惊讶因为AS会拒绝更多认为ambiguous的匹配. 但是和LocalSfM还是有很大的区别. CSL和AS是将feature跟整个地图匹配, 而LocalSfM只会匹配model的一小部分. 这个体现说全局匹配通常会不能找到正确的最近邻.
图4左体现了位置误差的累积分布. LocalSfM失败了20%的queries. 这是因为缺乏正确的匹配. DenseSfM略过了特征检测, 通过CNN描述子直接进行匹配, 折让DenseSfM能过获得更多的定位, 在这个数据集下表现最好.
5.2. Evaluation on the RobotCar Seasons Dataset
表4说明day-time change对位姿估计只有很少的影响. 例外是"dawn"和"sun". 我们发现原因是因为在光线直射情况下的过曝. 所以只有很少的特征可以被AC和CSL找到, 图像的全局描述子也被影响了.
我们发现在Aachen Day-Night数据集里, 图像检索法(DenseVLAD和NetVLAD)都比structure-based方案表现差. 但是在RobotCar数据集里, NetVLAD和DenseVLAD就和Active Search和CSL在粗精度一项获得了基本一致的表现. 这是因为车辆沿着相同的路径导致视角的变化变小了.
跟Aachen相比, 在日夜上的表现下降就更大了. 所有的方法在高精度/中精度这一项都下降严重. 有趣的是, DenseVLAD和NetVLAD在coarse-precision这一项表现更好. 这说明他们的全局描述子还是encode了有区分度的信息, 尽管局部描述子失败了.
所有的方案在"night-rain"下都比"night"表现更好是因为相机的自动曝光. 在"night"的自动曝光太久了, 导致了严重的motion blur.
Multi-image queries
oxford的数据有三个同步的相机. 所以我们可以用多张图做query.
表5体现说AS+GC的方案比单帧的好. 因为可以累计匹配, 及时在单帧上只有少量的匹配被找到.
Location priors
在day-time的queries有小幅度的提升, 在night-time就增长比较明显了. Active Search + GC (sequence) 比localSfM要好.
sequence-based方案的缺点就是相对位姿需要准确. 表6也说明在用multi-camera visual odometry的时候的结果. 这个结果虽然比Ground truth的差, 但是还是比单帧的好不少.
5.3 Evaluation on the CMU Seasons Dataset
CMU数据更多是suburban或者是park region.
我们发现在suburban和park区域的位姿精度下降很大, 因为vegetation的统治力的出现. LocalSfM还是表现很有益, 因为它只考虑了少量的reference images. 我们发现DenseVLAD和NetVLAD的在coarse localization的表现还是比feature-based 的好.
Localizing sequences (Active Search + GC) 还是很大的帮助提升了定位精度. 跟robotcar数据集比 (sequence比较短, 大概20m max), CMU Seacons数据集的sequences比对应的submodel还大.
6. Conclusion & Lessons Learned
我们有几个有趣的结论
- structure-based方案比如 AS+GC在urban环境下对于视觉情况更鲁邦, 但是在高精度定位这一项还需要很多提升
- 用day-time图,用night-time定位是一个非常挑战的问题, 即使在有位姿先验的情况下
- 对于有很多vegetation的场景是很挑战的, 其实有location prior
- SfM, 通常用来获得真值的方案不能解决(ii), (iii)的问题, 因为局部特征的现存限制.
- 多张图定位的优势是很明显的.