APP下载

一种融入注意力和预测的特征选择SLAM 算法

2021-11-27曾毓菁姜勇

智能系统学报 2021年6期
关键词:特征选择度量注意力

曾毓菁,姜勇

(1.东北大学 信息科学与工程学院,辽宁 沈阳 110006;2.中国科学院 沈阳自动化研究所,辽宁 沈阳 110016;3.中国科学院 网络化控制系统重点实验室,辽宁 沈阳 110016;4.中国科学院 机器人与智能制造创新研究院,辽宁沈阳 110169)

人类在日常生活中可以不间断地处理大量获取来自外界的信息,如在高速公路上驾驶汽车,或在拥挤的街道上行走。在认知科学中,人们一致认为,人类可以高效地处理面临的大量数据是由于我们能够优先考虑视觉场景的某些方面,而忽视其他方面。这是人类的一种视觉注意力机制,是一种认知过程,通过选择相关信息,过滤掉不相关的刺激,使人类能够解析大量的视觉数据,从而在有限的资源下实现性能的最大化[1]。机器人虽然做不到人类这样,但这种视觉注意力机制是值得机器人自主定位导航借鉴的。

国内外学者开展了很多通过主动特征选择提高视觉SLAM 和视觉里程计性能的研究。Ouerhani 等[2]利用注意的路标点构建拓扑地图,在导航过程中,利用相同的视觉注意模型检测最突出的视觉特征,与注意的路标点相匹配获取特征点。Newman 等[3]考虑一个装备了相机和激光测距仪的机器人,并利用基于外观的视觉显著性概念进行特征选择,提高SLAM 回环检测的稳定性,在室内环境中可以很好地检测到回环(大约100 m)。Sola 等[4]指出尽管许多特征可能在机器人环境的给定视图中可见,只有少数这样的特征是估计机器人的位置和方向所必需的。它们利用共视性作为标准,自动选择特征最优集。Frintrop等[5]使用注意力框架进行特征选择和主动视角控制,能够克服使用相对较小视野的单目视觉SLAM系统的一些限制,提高姿态估计的准确性。该特征选择系统是基于VOCUS 模型的[5],其包含一个自底向上的注意力系统(根据特征外观计算显著性),还包含一个自顶向下的机制(考虑任务性能)。Hochdorfer 等[6]提出了一种基于区域覆盖的特征点评级和选择机制,解决了随着特征数量不断增加,运算资源占用率越来越高的问题,为SLAM算法在服务机器人整个生命周期中的应用,甚至在不同的环境中的应用做出了贡献。Strasdat 等[7]提出了一种基于强化学习方法的特征选择,减轻了机器人在SLAM 建图中的计算负担。Shi 等[8]提出了一种特征选择方法来提高SLAM 中数据关联的鲁棒性,防止了不好的特征被初始化,更好地保证了SLAM 估计的一致性。Cvisic 等[9]通过稳定的特征选择加速了立体视觉里程计的计算,减少了SLAM 轨迹漂移,该特征选择是基于统分的(将特征均匀地分布在整个图像中)和基于外观的排名。最近在计算机视觉领域的研究表明利用注意力机制可以减少神经网络的计算负担。Mnih等[10]通过引入瞥见的概念,减少了使用递归神经网络进行目标检测和跟踪的步骤,可以在图像感兴趣的区域提供更高的分辨率。文献[11]是最早使用信息理论结构来推理视觉特征的论文之一,提出了一个基于模型的跟踪问题,在该问题中,运动相机的状态必须通过对已知特征的观察来估计。

视觉SLAM 在面对快速变动场景时,由于缺乏可跟踪特征,基于视觉的感知技术往往会失败。这是一个众所周知的问题,在文献中经常被讨论(例如,见文献[12-13])。本文基于环境和相机运动状态的相互关联性而产生的特征效用,引入预测机制,利用注意力和预测选择特征来减少跟踪特征的丢失,通过滤去那些将丢失在视野中的特征点,增加SLAM 系统的稳定性,特征选择器知道机器人的意图(未来的运动),并相应地选择更有可能出现在未来视野中的特征,可以用更少的含信息多的特征点来提高优化效率。

1 注意力和预测机制

本文提出的注意力和预测机制是从当前帧检测到的特征F中选择子集S传递给SLAM 后端进行非线性优化,整体流程如图1 所示。

图1 整体流程Fig.1 Whole process

为了最大限度地提高运动估计的性能,特征子集应该最多具有 κ 个特征,这些特征对于减少基于视觉状态估计的不确定性是最有效的。可以把这个问题先简单地表述为

这个问题的解决依赖于度量方程f的选择,它将量化特征子集的可行性。特征选择与控制理论中的传感器布置问题有着密切的联系,尽管由于二元选择变量的引入,传感器选择问题已被证明是NP-hard 问题[14],如著名的旅行商问题,但最近的研究结果表明利用子模块代价函数、贪婪算法能够近似地找到式(1)的解,同时保证其次优性[15]。本文确定了度量方程,该度量可以表示子模块性,可以量化状态估计的不确定性。更重要的是,通过它应该能得到最相关的特征点。1)该度量必须鼓励选择最显著的特征,因为这些特征更有可能在连续帧中被重新观察到。2)度量必须奖励那些在视场中停留较长时间的特征。因此,预测是一个关键的方面:利用度量必须知道,在一定的运动下,哪些特征更有可能留在相机的视场中。3)度量必须奖励提供更多信息的特征,以减少不确定性。

本文的方法受Carlone 等[16]的启发,文中提出了两种量化特征子集可行性的度量,最小特征值 λmin度量和行列式logdet 度量,并且通过严谨的数学证明,证明了logdet 度量的可行性。在式(1)之后,使用logdet 度量[16]来计算状态估计不确定性。设k+1 为获得一个新选择特征集的时刻,则xk中包含前一帧的优化位姿,这是优化后端的最新位姿估计(见图2),注意到在前一帧k和当前帧k+1 之间将进行特征选择。用表示在H时间段上的状态向量,其中是待优化的预测的状态向量。此外,设 为与关联的估计误差的协方差矩阵,它的逆矩阵称为信息矩阵,表示为。有了这些定义后,logdet 度量可以写成

图2 时间轴Fig.2 Time line

式中:Δl是第l个特征的信息矩阵;pl是第l个特征被跟踪到的概率,其可以通过对特征检测得分进行归一化得到[8],保证信息较多的特征更容易保留,这是一种期望的行为。

1.1 贪婪算法

本文使用带有延迟求值[17]的贪婪算法[18]选择κ 个特征(近似的)最大化logdet 度量。作为输入,需要一定数量的特征F供系统选择,每个新特征点的预测信息矩阵{Δl}l∈F,以及未来H时间段的信息矩阵。为了保持对特征跟踪的一致性,需要对之前确定的有用的特征进行跟踪。当在未来帧中检测到这些特征时,它们将自动传递给优化后端。

算法1带有延迟求值的贪婪算法

1.2 视觉特征信息矩阵

本文使用线性测量模型,它简化了非线性透视投影模型,并且可以进行有效的计算。为此,必须将像素测量表示为想要估计的未知状态的线性函数。假设uhl是h时刻第l特征在相机坐标系下的像素观测,它满足:

图3 向量共线Fig.3 Vector collinear

将时间段内每个时刻的状态定义为xh=(机器人的预测姿态),其中ΔR=exp(φ∧),,为了之后公式的表达方便,将表示为R和t,然后用这些量参数化线性系统。将式(3)的左边表示为f(φ,t),并用全微分公式[21]将其线性化:

第l特征在时间段H内的贡献为 Δl可以表示为

最后将其用在贪婪算法中。

2 实验分析

为了测试本文的方法,使用EuRoC 数据集[22],该数据集是使用一个配备了视觉惯性[23]传感器的AscTech Firefly 六旋翼飞行器采集的,其包含简单场景和复杂场景。在本文中,使用收集自一个工厂大厅环境的数据集MH01-easy、MH02-easy、MH03-medium、MH04-difficult、MH05-difficult,随着场景复杂度提高,飞行器速度依次递增且有更多的急转弯。为了更好地说明算法的效果,对比了ORB-SLAM2[24]和Random 两种情况,ORB-SLAM2 是不添加本文算法的SLAM 系统,Random 是一种在ORB-SLAM2 选择好特征点的帧上随机地选择跟本文算法同样数量特征点的情况。使用ATE(绝对轨迹误差)中的RMSE(均方根误差),即为位姿误差)作为比较标准[25],结果如图4 所示。虽然本文算法的绝对轨迹误差平均比ORB-SLAM2大0.025 m,但相对这5 个工厂数据集真值轨迹长度来说是很小的,值得关注的是我们只传递了20 个特征点去SLAM 后端优化。而随机选择的Random 随着场景复杂度的不断提高误差也在不断增大,在MH05-hard 中更是达到了0.259 m 的误差。

图4 ORB-SLAM2、Random 和本文算法的表现Fig.4 Performance of ORB-SLAM2、Random and our algorithm

为了更好地理解所提出方法所带来的性能提升,在图5 按时间顺序给出了生成的一些快照。每个子图显示了关键帧中待选择特征(绿色方块)和选择的特征(加粗黑色方块)。这些关键帧是MH03-medium 数据集向左急转弯时获取的。注意到两幅图选择的特征大部分都集中在画面左侧,也就是相机急转弯的方向,随着相机的运动这些特征更有可能保持在视野中。这是因为,本文所提出的注意力和预测机制充分利用了平台的即时运动信息。在图6 中给出了ORB-SLAM2、Random 和本文算法运行在MH05-difficult 的轨迹图。从图6 中都可以看出,本文的算法虽然没有ORB-SLAM2 跟地面真值贴合度那么高,但却明显优于Random。

图5 本文算法向左急转弯时的快照Fig.5 Snapshot of our algorithm during a sharp left turn

图6 ORB-SLAM2、Random 和本文算法的轨迹Fig.6 Trajectory of ORB-SLAM2,Random,and our algorithm

3 结束语

本文提出的注意力和预测机制保留了前端检测到的含信息最丰富的视觉特征,并将其反馈给估计后端。该机制的特点:1) 本质上具有预测性,能够感知机器人未来的运动,并据此选择特征。正如我们在实验中看到的,在急转弯和快速变动的情况下能确保定位的准确性。2)它具有贪婪性,利用带有延迟求值的贪婪算法保证了logdet 度量的次优性。本文在EuRoC 工厂大厅环境数据集中进行了大量特征选择实验,实验结果表明本文加入的注意力和预测的特征选择算法对SLAM 系统性能影响很大,使用很少的特征点也能达到定位的精度要求。

以后的研究中,将进一步研究如何联合优化视觉和IMU,以提高注意力和预测机制的稳定性和适应性。

猜你喜欢

特征选择度量注意力
鲍文慧《度量空间之一》
让注意力“飞”回来
模糊度量空间的强嵌入
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
“扬眼”APP:让注意力“变现”
Kmeans 应用与特征选择
A Beautiful Way Of Looking At Things
地质异常的奇异性度量与隐伏源致矿异常识别
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统