2-Entity RANSAC:在变化的环境中进行稳健的视觉定位
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
摘要
视觉定位由于其低成本和稳定的传感器而受到广泛关注, 这在许多应用中是所期望的,例如自主驾驶和无人机等. 然而当前的视觉定位方法仍然难以应对天气和季节的环境变化, 因为在地图和查询图像之间存在显著的外观变化. 这种情况下的关键挑战是异常值(即不正确的特征匹配)的百分比很高.
在本文中,我们借助惯性测量, 仅使用2点匹配或1点匹配和1线匹配, 导出了三维2D定位的最小封闭形式解. 这些解决方案在所提出的RANSAC算法中被进一步利用, 该RANSAC对异常值更鲁棒, 因为线和点特征可以被同时使用, 并且姿态计算所需的匹配数量被减少. 此外,我们引入了三种具有不同优势的特征采样策略, 实现了自动选择机制. 通过该机制,RANSAC算法可以适应不同场景中特征类型分布不同的环境. 最后, 我们在合成数据集和真实数据集上对该方法进行了评估,验证了其在会话间场景中的性能和有效性.
介绍
定位对于自主机器人导航至关重要.与基于激光雷达的定位方法相比,视觉定位在许多应用中是有利的,因为低成本和稳定的摄像机广泛可用.视觉定位任务的典型工作流程是检测查询图像中的特征点(FAST [1],SIFT [2]),将图像特征点与地图点(ORB [3],SIFT [2])进行匹配,并基于一组匹配来估计姿态。在这种情况下,匹配异常值几乎是不可避免的,导致不准确的姿态估计。随机样本一致性(RANSAC) [4]是一种流行的方法,通过随机采样匹配集并投票给内联集来实现稳健估计。然而,RANSAC受到环境中严重外观变化的限制,其中异常值的百分比可能会显著增长[5] [6]。因此,可靠的视觉定位对天气、光照或季节变化的鲁棒性仍然是一个具有挑战性的问题。
我们提出了一种RANSAC算法, 用于持久的视觉定位, 如图1所示. 2-Entity的命名是因为只有点和线之间的两个特征匹配用于姿态估计.
总之, 本文的贡献如下:
-
我们提出了一个通用框架来推导姿态估计的封闭形式解, 它可以处理点和线特征, 即2点匹配或1点匹配和1线匹配. -
通过将最小封闭形式解嵌入到RANSAC框架中, 我们提出了一个2-Entity RANSAC, 并在RANSAC中提出了三种选择不同类型特征匹配进行姿态估计的采样策略. -
我们分析了随机抽样系统中不同抽样策略的成功概率, 并提出了一种根据环境特征自适应选择策略的选择机制 -
所提出的方法在合成和多个真实世界数据上进行评估. 实验结果验证了该方法在季节性和光照变化的视觉定位中的有效性和高效性.
实验结果
所提出的方法在合成和真实数据上进行了评估,以证明其在视觉定位方面优于其他基线方法。我们首先通过模拟实验来说明当图像特征有噪声时的准确性,对不准确的俯仰和滚转角的敏感性,以及对异常值的鲁棒性。然后在真实数据上,通过成功率比较,验证了所提方法和模型选择机制的有效性。
我们在Cube中生成了一些3D点和线,并针对不同的相机姿态计算了2D投影,以获得3D-2D特征匹配.对于每种方法,执行100次RANSAC迭代.最终识别的内联被发送到非线性最小化器以获得高精度. 在优化中, 有两种可能的方式:4DoF或6DoF优化. 4自由度优化是指我们固定惯性测量单元提供的俯仰和滚转角, 只优化姿态中的其他四个变量. 当需要优化的内联程序很少时, 这可能很有用.
模拟实验中评估的最小解是EPnP 、P3P 、2P1L , 我们提出的解包括1P1L-6自由度、1P1L-4自由度、2P1L自由度, 2P1L自由度、混合6自由度和混合4自由度也在针对异常值的鲁棒性实验中进行了评估. 我们利用平移和旋转误差来评估相对于地面真实情况的估计结果.
1)精确度:为了量化不同最小解的精确度, 我们为2D投影添加了具有零均值和可变标准差的高斯噪声, 并在四个级别中改变了特征匹配的数量:10、5、4、3(10的情况意味着场景中有10个点匹配和10个线匹配). 结果如图3所示. 我们可以发现, 当特征匹配足够充分时(见案例10), 随着噪声标准偏差的增加, 所提出的方法可以获得与其他基线方法相同的精度. 当特征匹配的数量减少时, 与2P1L、EPnP和P3P相比, 我们的两实体方法的优势变得更大. 人们可以注意到, 当特征匹配的数量减少到4个时, 我们的方法的误差略大于10个匹配的情况, 而其他的则严重增长.
2)灵敏度:在惯性传感器的帮助下, 我们通过利用传感器提供的俯仰和滚转角, 将定位问题的程度降低到4. 因此, 有必要研究这两个角度的质量对最终精度的影响. 我们在俯仰角和滚转角上加入了均值为零、标准差可变的高斯噪声, 并在10°、5°、3°三个特征匹配水平上研究了所提方法的性能. 结果如图4所示.
当有足够的特征匹配时(见10种情况), 所提出的方法可以在俯仰角和滚转角上容忍几乎25度的噪声. 根据经验, 在实际应用中, 俯仰角和滚转角的噪声要小得多, 因此俯仰角和滚转角的噪声对精度的影响应该是有限的. 我们还注意到, 在这种情况下, 6自由度优化优于4自由度优化. 然而随着特征匹配数量的减少, 6自由度和4自由度方法之间的差异变小. 这是合理的, 因为当内联数较少时, 优化中由附加自由度引起的误差可能大于由噪声姿态估计引起的误差. 因此如果长期存在非常有限的可靠特征匹配变化发生时, 4自由度优化是一个很好的选择.
3)鲁棒性:为了验证所提出方法的鲁棒性, 我们设计了一些实验, 在不同的内联数水平(10,5,4,3)下, 将离群率从0变化到80%. 我们通过添加离群点来获得离群率, 离群点是通过错误地关联原始数据中的特征而产生的. 当平移误差小于10%, 旋转误差小于5度时, 则认为定位成功. 我们对每种方法进行了200次试验, 以平均成功率. 结果见图5. 不出所料, 当离群率增加时, 所提出的两实体RANSAC优于其他最小解, 当内联数减少时, 这一点更加明显. 注意, 当离群率为80%时, 通过足够的内联, 所提出的方法可以达到90%以上的成功率.
对于真实世界的实验, 使用YQ-Dataset, 其中三个数据集是在2017年夏天的三天内收集的, 表示为2017-0823、2017-0827、2017-0828, 另一个数据集是在2018年冬天收集的, 表示为2018-0129. 我们选择2017-0823数据集来构建3D地图, 并利用其他三个数据集来评估不同天气或季节下的定位性能. 地面真实相对姿态是通过对齐同步的3D激光雷达扫描提供的. 评估的方法是P3P的EPnP, 我们的方法包括1P1L-4/6DoF,2P4/6DoF, 混合-4/6DoF. 为了获得查询图像和地图之间的3D-2D特征匹配, 我们采用了以下步骤:
-
使用视觉惯性SLAM软件获得相机姿态和地图中的3D-2D点匹配[30]
-
运行Line3D++算法以获取地图中的3D-2D线匹配
-
对于查询会话, 我们基于LibVISO2的描述符获得3D-2D点/线匹配LBD, 然后传送到RANSAC
-
对于查询图像的俯仰和滚转角, 我们直接使用IMU测得的对应值
我们首先使用不同的方法计算查询会话中所有关键帧中正确定位的查询图像, 并在四个平移和旋转误差阈值下以百分比表示定位成功率, 这可以在选项卡中看到6自由度优化方法的性能仍然优于4自由度优化方法. 此外, 我们RANSAC比P3P和EPnP的RANSAC更好, 后者要求更多的匹配次数. 所提出的2P方法和混合方法明显优于EPnP方法和P3P方法, 这表明了所提出的方法在处理不同天气和季节时的鲁棒性. 注意1P1L没有基于点要素的方法好, 其中的原因是地图环境中道路两侧有很多树, 所以点要素远比线要素丰富.
为了在1P1L和2P方法之间进行公平的比较, 我们从地图上手动挑选了一些结构化和非结构化的片段, 其中一些图像如图6所示. 在非结构化数据段中选择了大约100个位置, 在结构化数据段中选择了50个位置. 选项卡中显示了所选细分市场上采用多种方法进行本地化的成功率. 结果表明, 2P方法在非结构化场景中表现最好, 1P1L在结构化场景中的表现与2P相似, 但在非结构化场景中的表现明显差于2P, 证实了环境中的特征分布对方法选择有不可避免的影响. 此外从2018-0129结构化场景的结果中, 我们可以发现, 当离群百分比由于季节的变化而增长时, 情况越好线特征匹配的鲁棒性提高了1P1L方法的性能. 从理论上推导出的混合6自由度, 与2P和1P1L相比, 在所有领域都具有相对稳定的性能.
为了进一步验证模型选择机制的正确性, 我们在2017-0828数据集上做了一个额外的遗漏实验. 根据2017-0827和2018-0129数据集在2017-0823地图上的定位结果, 利用2P-6自由度估计姿态获得的点和线特征的内联率, 自动为整个数据集标注结构化和非结构化线段. 如果线的内联率高于点, 则在该段中使用1P1L, 否则使用2P. 之后, 我们在不同的定位误差阈值上再次统计了整个2017-0828数据集的成功率, 并计算了每种方法的曲线下面积, 如表1所示. 结果表明, 通过选择机制, 性能得到了预期的进一步提升.
结论
在本文中,借助惯性测量, 视觉定位问题被简化为4自由度. 在此基础上, 开发了一种RANSAC系统, 并在合成数据和真实数据上进行了验证, 以证明该方法的鲁棒性和有效性. 此外, 我们还研究了选择适当采样策略的适当机制, 并展示了在实际应用中的实用性。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~