基于SURF 特征匹配的优化RatSLAM 类脑导航方法
2023-04-20王文照曹慧亮王晨光
王文照, 曹慧亮, 王晨光, 唐 军, 刘 俊, 申 冲
(1. 中北大学仪器与电子学院, 太原 030051;2. 中北大学省部共建动态测试技术国家重点实验室, 太原 030051)
0 引言
在机器人领域, 导航是自主移动机器人执行运输、 搜救和监视等任务的先决条件。 同步定位和地图构建(Simultaneous Localization and Mapping,SLAM)是指: 移动机器人在没有当前环境数据的情况下利用搭载的视觉传感器采集视觉信息, 在运动中建立周围环境的模型并同步估计自己的下一步运动。 现有基于优化或概率滤波器的SLAM 理论已有近30 年的发展[1], 已经较好地完成了“定位”与“建图” 过程, 但都仍然存在一定的局限性。由于实际环境十分复杂, 例如光线影响、 不断有行人干扰等, 导致现有SLAM 模型存在一定的局限性。
空间认知赋予了动物出色的长航时高精度自主导航能力, 例如在换季时的迁徙等, 它们在大规模动态环境中的导航性能优于现代机器人。 生物学家研究发现, 哺乳动物在空间中的位置是通过结合大脑中的局部视觉线索和自运动信息来估计的, 然后在大脑中形成一个经验地图来帮助动物在复杂环境中导航[2]。 其中, 海马体-内嗅皮层神经回路中的神经细胞在空间认知中起着重要作用: 位置细胞、 头朝向细胞、 网格细胞、 速度细胞和边界细胞等等, 这些神经细胞通过在大脑中放电活动的增强或减弱来对环境认知进行描述。
受动物导航的启发, 科学家们提出了将神经细胞导航模型应用于机器人。 Milford 等[3]提出了一种模仿老鼠海马区位置细胞定位机理的仿生位置识别算法: RatSLAM。 该算法提出了一种基于连续吸引子的神经网络模型, 并结合基于图像信息旋转与速度感知原理, 模拟了鼠类感知环境和识别位置的机制, 成功地进行了66km 的车载实验。 之后他们还在不改变RatSLAM 核心的情况下, 改进了视觉系统来解决2.5D 环境下的SLAM 问题。 Silveira 等[4]通 过 使 用 三 维 位 置 细 胞 模 型 扩 展 了RatSLAM 模型, 探索了三维水下环境中的SLAM 问题。 Yu 等[5]提出了在三维空间中神经启发的六自由度纯视觉类脑导航: NeuroSLAM 系统, 并通过实验证明了它能够正确生成拓扑结构的三维地图。另外, 除了连续吸引子神经网络, 学者们还研究了由不同类型神经网络建模的导航细胞模型, 如深度神经网络和脉冲神经网络。
尽管RatSLAM 在SLAM 领域获得了一定的成就, 而它的性能精度往往是由视觉感知所决定的。由于该系统对图像进行了池化处理, 易造成场景信息的大量丢失, 从而引起环境感知混淆与构建地图失败。 学者们纷纷对RatSLAM 算法中视觉感知模块进行了优化: Chen[6]将姿态测量单元和RTAB(Real Time Appearance Based)算法相结合, 有效解决了视觉里程计误差累积的问题。 Kazmi 等[7]通过改进自生长组织图来模拟导航细胞构建地图的行为, 这使得建图收敛更快、 占用内存更小。 于乃功等[8]使用卷积神经网络来对场景图进行特征提取, 但该方法需预先对场景进行训练, 所以存在鲁棒性差的问题。 Zhou 等[9]提出用ORB(Oriented Fast and Rotated Brief) 特征来改进视觉处理部分,虽然一定程度上提高了性能, 但处理时间明显增加, 使视觉处理时间与构建地图时间不同步。 ORB的优点在于计算时间少, 但尺度变换鲁棒性差。而SURF(Speed Up Robust Feature) 可以称为SIFT(Scale-invariant Feature Transform) 的升级版本, 在继承SIFI 鲁棒性和抗干扰性的同时, 具有较好的尺度不变性和旋转不变性, 不受光线的影响, 解决了原有特征点采集量少的问题。
受RatSLAM 与SURF 实现的启发, 本文采用SURF 替代RatSLAM 算法的视觉处理方法来解决光线影响的问题, 并用位置细胞节点对运动轨迹进行校正来提高定位精度, 构建的经验地图包含了移动载体所走过的位置坐标。 为了充分验证本文方法的有效性, 本文与其他视觉处理方法进行了比较, 实验结果表明, 该方法能显著提高类脑导航系统的鲁棒性。
1 问题描述
视觉处理是SLAM 算法中不可替代的一部分。在经验地图构建过程中, 采用视觉信息来确定局部场景细胞的生成并同时消除冗余图像; 而在全局定位过程中, 移动小车捕获传入的图像帧并将它们与记录的视觉模板进行比较, 以确定其位置。
RatSLAM 算法结构如图1 所示[3]。 该算法局部场景的形成主要是利用绝对差总和的视觉处理方法, 即通过比较一组系列图片平均绝对强度差来获取载体在环境中的方向与位置信息, 并且通过对图像像素灰度的比较来进行闭环检测, 判断是否需要对当前位置进行修正。 这种处理方式有不足之处: 因为移动载体的摄像头是向前捕获图像,使得移动载体只能学习前进或者后退方向的区域,而不是全景视觉图像, 并且绝对差总和视觉处理算法只是比较水平和垂直方向相邻图像的灰度差异。 因此, 该方法的优点是简单且适合载体在简单环境中运动, 缺点是易受光线影响干扰和不能识别已有模板图像旋转后的场景等, 所以光线的影响会造成经验地图的漂移并形成累积误差。 本文使用SURF 算法来代替绝对差总和视觉算法, 并实验证明该方法性能良好。
图1 RatSLAM 算法结构图Fig.1 Structure diagram of RatSLAM algorithm
SURF 作为一种鲁棒的局部特征检测器为尺度不变特征变换SIFT 的一种变换算法, 与SIFT 不同的是SURF 采用了更为高效的特征描述子生成方法: 首先建立积分图像提高运算速度; 接着引入箱式滤波器计算每个像素点的Hessian 矩阵判别式的正负取值做特征点检测; 最后以哈尔小波特征法对特征点的主方向进行设定, 由此一系列算法步骤完成64 维特征描述子的构建。
采集到的特征点放入提前准备好的特征点数据库中, 对每个特征点数据结构进行保存。 其中涉及到的相关信息有: 特征点的位置坐标、 尺度、方向以及64 维特征向量; 收集特征点信息是为了当有新图像信息被采集到时能够将其与特征点数据库中的信息进行比对, 比对的原则是在欧氏距离范围内搜索最近邻或次近邻特征点, 间隔小于设定值即为判定成功。 SURF 特征匹配算法共分为四个步骤: 特征点检测、 特征点定位、 特征点主方向分配过程以及特征点描述子生成。
实验结果表明, 对于相同数量的特征, SURF的处理时间比较慢, 但它可用于实现良好的位置识别性能。 与其他特征描述如SIFT 和ORB 相比,它的主要优点包括: 1)提供了一种稳定的计算和匹配算法; 2) 保留了对图像缩放和旋转不变性的能力; 3)相对不受图像噪声、 光照等的影响[10-11]。 因此, 本文采用SURF 方法从图像中提取特征作为视觉模板。 如图2 所示, 当前图像与先前的视觉模板匹配时, 认为载体先前到达了这个地方, 否则将向局部视图单元添加一个新的视觉模板。
图2 局部场景细胞视觉模板匹配过程Fig.2 Templates matching process for local view cells
2 基于SURF 特征匹配的优化RatSLAM类脑导航方法
优化后的算法框架如图3 所示, 该系统主要由视觉处理模型和经验地图构建模型组成: 视觉处理模型负责提取SURF 特征; 在构建经验地图模型中, SURF 特征与表示特定位置的局部场景细胞相关联; 连续吸引子神经网络确保即使在没有外部传感器的情况下, 经验地图模型也能收敛在稳定状态; 局部场景细胞活动、 路径积分和连续吸引子神经网络共同构建经验地图。
图3 基于特征匹配与位置细胞节点校正算法的类脑导航模型Fig.3 Brain-inspired navigation model based on feature matching and place cell nodes correction algorithm
基于SURF 特征匹配的优化RatSLAM 类脑导航方法具体环节包括:
(1)局部场景细胞的构建
局部场景细胞被构造为一个视觉模板, 其中每个细胞与连续吸引子神经网络中的细胞相关联。将采集实验场景图像依次进行高斯滤波去噪与SURF 特征提取, 然后将提取的结果进行归一化处理, 构造出实验环境的局部场景模板, 并将其放置到视觉场景模板匹配库中。 由图像的SURF 特征向量组成的局部场景模板库为P=PSURF= {P11,P12, …,P1n}, 两个特征点之间的匹配程度用欧氏距离判断。 对于模板匹配来说, 其欧式距离计算公式为
式(1)中,px和分别为此模板和第j个模板特征点x的位置,m为采集到的特征点数量。 由d(j)能得出最优匹配模板b, 如下所示
式(2) 中,n为学习过的模板数量。 判断是否需要新增模板是通过比较和d(b)设置的模板匹配阈值εd实现的, 比较规则如下
若匹配结果d(b)小于或者等于阈值εd, 表明模板匹配成功, 经验地图模型将向相关的局部场景细胞中注入能量, 否则创建一个新的局部场景模板。 新模板经学习后进入到模板库中, 待与相似的模板进行匹配。 注入的能量将在连续吸引子神经网络中的非活动区域产生活动包, 这将用于系统完成路径积分和闭环检测。 这种由局部场景细胞引起的经验地图的变化被描述为
(2)位置细胞节点校正
位置细胞除了表示载体的位置信息外, 还用来进行位置修正: 通过设置细胞节点的方式对获得的运动载体位置信息进行修正, 减少累积误差的影响。 该系统实时检测当前视觉信息是否能与预先存储的视觉模板匹配成功, 如果匹配成功,则表示已到达一个“熟悉的地方”, 之后整个路径集成网络内的空间单元将被放电重置。 本文结合SURF 特征匹配算法提出位置节点误差补偿模型,如图4 所示, 蓝色箭头为运动载体的基准轨迹, 黑色箭头为校正后的轨迹, 红色圆点为预先存储参考图像库中的场景图像。
图4 位置细胞节点误差补偿模型Fig.4 Error compensation model of place cell nodes
提前选取若干张节点场景图像加入到参考图像库中, 并赋予这些节点场景图像精确的位置信息。 将运动中获取的场景图像与预先存储在参考图像库中的场景图像进行比对检测, 检测成功返回节点精确的位置信息, 将检测到的两个位置细胞节点间的误差问题建立线性误差模型, 将计算出的误差补偿到两个场景节点间的轨迹数据上。认知点位置校正过程中, 认知点位置改变为Δpi,其表示如下
式(5)中,α为认知速度系数, 经过反复多次的实验,α=0.5 时,Δpi可以在地图上迅速收敛并达到稳定状态;Nf为从认知点i跳跃到之前已获得的认知点的数量;Nt为已获得的认知点跳跃到认知点i的数量。
(3)局部场景细胞与位姿细胞的连接
局部场景细胞是以对地图构建和定位有用的形式输入到移动载体外部传感器的集合, 其输入的过程就是局部场景细胞Vi与位姿细胞ΔPx′y′θ′关联的过程。 图5 表示导航细胞之间的连接。
图5 导航细胞的连接Fig.5 Connection of navigation cells
式(6) 中,Vi为局部场景细胞的活性水平,Px′y′θ′为位姿细胞的兴奋度。 通过连接强度相互连接的位姿场景地图可以通过在位姿细胞中注入活性保持和校正它的位姿信息(x′,y′,θ′)。 活跃的局部场景细胞利用与连接强度总和的比例关系, 激发与它们相关联的位姿细胞的活性。 细胞活动的变化ΔPx′y′θ′可利用下式获得
式(7)中,δ为常数, 表示视觉信息对载体位姿估计的影响。
(4)连续吸引子神经网络模型
经验地图模型构建的核心是连续吸引子神经网络, 该模型被广泛用于模拟大脑“GPS”。 在本文算法中, 细胞以(x′,y′,θ′)坐标排列, (x′,y′)对应细胞平面中的某个位置,θ′为载体的头部方向。 连续吸引子神经网络的动态通过以下三个阶段来确保细胞的活性P保持稳定:
①兴奋度权重的更新
在位姿细胞组成的细胞矩阵中, 通过兴奋度权重矩阵ε表征该细胞对其他细胞的影响。 参数εabc是将表示位置信息中对应兴奋性的二维高斯分布和表示方向信息中对应兴奋性的一维分布相乘,计算公式如下
式(8) 中,a、b、c为x′、y′、θ′的分布系数,kx′y′和kθ′分别为(x′,y′) 和θ′的方差系数。 由兴奋度的变化导致位姿细胞活动的变化如下
式(9)中,Nx′、Ny′、Nθ′为在空间中的位姿细胞三维矩阵元素。
②对所有细胞的全局抑制
各活动细胞在一定程度上呈现相互竞争关系。由于多个活动细胞构成感知细胞需要一定时间才能完成, 并且在这一过程中又不断有新的视觉信息被输入, 因此对位姿细胞的全局抑制过程是缓慢的, 抑制后的细胞兴奋度为
式(10)中, 全局抑制水平由控制常数φ限制,兴奋度要求被控制为一个包含零的正数。
③对位姿细胞活动的归一化
完成前两个步骤后需要对细胞的活动进行归一化, 归一化的作用是细胞在新的视觉信息被输入和路径积分被输入后维持总活性, 归一化后细胞的兴奋度为
(5)经验地图的构建
经验地图是一种基于观测和学习得到的对环境的描述, 根据外部特征生成几何关系的描述,可以用于不同位置的导航。 经验地图由许多认知点构成, 认知点可以被描述为
式(12)中, 用位姿细胞Pi和局部场景细胞Vi来表示认知点,pi为ei在地图中的位置。 如果现有位姿细胞与当前位姿细胞之间的距离达到阈值,则创建一个新的认知点
认知点是有活性的, 且活性取决于细胞构成的网络中能量峰值与每个认知点的“相关区域”的接近程度。 当网络的能量峰值介于“相关区域”之中时, 该认知点被激活。 局部场景细胞V类似于开关的作用, 第i个认知点的总能级水平Ei为
式(14)中,Vcurr为当前视觉场景,Vi为与认知点相关的视觉场景。
(6)路径积分
dij为认知点i到认知点j的转换距离。 通过对比转换前后载体的位姿信息, 载体在两个认知点之间的位姿状态改变dPij可计算如下
式(15)中,Pi和Pj为认知点i与认知点j移动载体的位姿矢量。
当移动载体在熟悉的二维环境中运动时, 可能会重复之前的认知点关联, 新的转换信息为
(7)闭环检测
移动载体在环境中遇到熟悉的场景时, 局部场景细胞的活性注入到位姿细胞的矩阵中, 移动载体重新定位位置, 这将引起经验地图中移动载体的相关位置到最近获得的新认知点。 例如, 认知地图中两个认知点空间位置可能转化成相对更小位置距离被联系在一起。
3 实验与分析
3.1 实验系统概述
图6 显示了实验中移动小车的硬件架构, 该移动小车由1 个移动底座、 1 台相机和1 台微型电脑组成。 移动底座是一个紧凑的差速驱动移动小车,包括1 个带内置编码器的运动控制器, 小车嵌入式运动控制器执行小车的速度控制并提供里程信息。相机安装在移动基座上, 以捕获环境的视觉信息,相机视场角为水平80°、 垂直50°与对角88°, 景深范围为0.5m 至无穷远, 最大帧数为30fps 以及分辨率为2560 ×1440(像素); 微型电脑用于记录视觉信息; 采样频率为0.2s, 移动载体最大速度为1.5m/s。 基准数据由北斗星通SPAN-KVH1750 导航参数测量系统采集, 在户外定位误差优于0.05m, 在室内60s 自动后处理定位误差为0.15m。
图6 实验装置图Fig.6 Diagram of robot platform
认知速度常数取0.5, 视觉校准常数取0.005,位姿感知细胞激活程度的权重系数取0.5, 视觉模板的权重系数取0.5, 校正系数取0.3, 模板匹配阈值取0.85, 位置细胞节点设置数量为4。 本文在不同方面对不同的算法进行了评估。
3.2 室内场景实验及分析
室内实验场景选取中北大学教学楼35m ×30m矩形环形走廊, 其光线影响通过如图7 所示来区分, 场景中有墙壁、 移动的人与摆放的设施等。车载平台绕场景运动4 圈并采集图像, 运动距离约为400m。
图7 室内实验场景Fig.7 Diagram of indoor experiment scenes
本文采用SLAM 闭环检测中的准确率和召回率来分析各个视觉处理算法的性能[12]。 准确率(Precision)和召回率(Recall)计算公式为
式(17) 中,TP表示真阳性,FP表示假阳性,FN表示假阴性。
表1 给出了在室内两种环境下RatSLAM、 基于ORB 的视觉类脑导航以及基于SURF 的视觉类脑导航模型对应的准确率和召回率。 RatSLAM 在有光线影响时的准确率和召回率显著下降, 这是因为RatSLAM 对帧率较高的场景无法识别出图像的差异。 基于ORB 的视觉类脑导航虽然在无光线影响的情况下与本文方法表现性能相差无几, 但在有光线影响的情况下准确率与召回率明显下降, 鲁棒性比较差。 然而即使是在有光线影响的情况下,本文所提出的方案准确率与召回率下降不是很多,算法依然可以在保证高召回率的基础上提供更高的准确率表现, 算法显著优于其他两种算法。
表1 室内两种情况下三种算法准确率和召回率结果Table 1 Results of precision and recall for three algorithms under two conditions indoor
图8为移动载体在两种情况下的实验场景中漫游认知学习后分别使用三种算法构建的经验地图。对比结果显示, 三种视觉类脑导航方法在相同实验场景下基本上都可以完成对经验地图的构建,这表明三种模型都能有效地复现机器人的运行轨迹。 从有光线影响的情况下构建的经验地图来看,RatSLAM 存在漂移现象且没有检测到闭环; 而改进后基于SURF 的视觉类脑导航方法构建的轨迹较为稳定且即使在有光线影响的情况下也可以检测到闭环。 从闭环效果来看, RatSLAM 模型因为不能支持多位姿假设, 这些位姿无法通过移动载体下一步的运动和视觉输入得到校正, 从而出现移动载体方向无法校正、 运动轨迹出现较大偏离的状态, 因此移动载体易出现定位偏差且严重偏离轨迹。 从轨迹对比可以看出, 基于SURF 的类脑导航方法相较于其他两种类脑导航模型, 能及时且准确地检测到闭环, 运动轨迹也更优于其他两种类脑导航模型, 经验地图与实际运行轨迹重合度更高。
图8 室内三种模型在两种情况下构建经验地图Fig.8 Three models construct experience map in two conditions indoor
表2 为两种环境下不同算法性能结果的数据对比。 从表中数据可以看出: 在图像匹配时间上,当移动载体再次回到起点时, 基于SURF 的类脑导航模型在两种情况下均能快速检测到第一次闭环,这是由于基于SURF 的类脑导航模型使用的SURF特征点提取算法对旋转、 尺度变换与亮度保持不变性, 对提取的图像特征点数目进行了筛选, 节省了特征匹配阶段的迭代时间。 在位置偏移量上,基于SURF 的类脑导航模型在不同场景下都很大程度上降低了相对偏移量, 保证了经验地图与实际运行轨迹的重合度。 因此, 在复杂场景下, 本文方法更具有优越性。
表2 室内两种情况下三种算法经验地图与定位误差性能Table 2 Experience map and positioning error performance of three algorithms under two conditions indoor
3.3 室外场景实验及分析
室外实验场景选取中北大学工程训练中心西侧马路, 车载平台在约150m×5m 马路往返3 圈并采集图像, 运动距离约为1000m, 其光线影响如图9 所示。
图9 室外实验场景Fig.9 Diagram of outdoor experiment scenes
表3 给出了在室外两种环境下各个算法对应的准确率和召回率。 表4 为构建经验地图与定位误差性能结果的数据对比。 在室外条件比较差的情况下, 三种算法在准确率、 召回率和构建地图性能相较室内情况下均有所下降, 但基于SURF 的类脑导航模型相较于其他两种模型还是有出色的性能表现。 综上, 在面对有光线影响的情况下, 本文提出的优化算法无论是在帧率较高的室内还是情景单一的室外, 均能保证经验地图与实际轨迹相一致以及较小的定位误差。
表3 室外两种情况下三种算法准确率和召回率结果Table 3 Results of precision and recall for three algorithms under two conditions outdoor
表4 室外两种情况下三种算法经验地图与定位误差性能Table 4 Experience map and positioning error performance of three algorithms under two conditions outdoor
4 结论
本文研究中借鉴了鼠类等哺乳动物通过位置细胞、 头朝向细胞以及局部场景细胞等神经细胞的处理策略仿生学原理, 在无需高精度传感器和高分辨率地图的状况下, 利用简单的视觉传感器就可以获取移动载体的运动状况信息。 经过实验验证, 加入SURF 特征匹配与位置细胞节点校正算法后的类脑导航绘制移动载体的经验地图, 很出色地解决了复杂环境下的导航问题: 改进了原有方法在光线影响情况下易产生场景匹配错误与闭环检测的问题, 也提高了复杂环境下的绝对定位误差。
为了在多种环境下实现自助机器人的使用,仍有几个方面研究值得探索:
1)算法需要在更大、 更复杂的环境下进行更长时间的实验测试, 并且在现有研究基础上如何实现在实验场景更加恶劣的情况下动态调节现有细胞导航模型的参数仍值得进一步研究。
2)在现有基于图的方法中, 地图的复杂性会随着机器人轨迹的长度而快速增长, 随着新的顶点和边不断添加到经验地图中, 对计算时间内存占用的需求也会随着时间的推移而增长, 从而阻止了移动机器人长期导航。 未来, 可以学习哺乳动物控制地图的大小与复杂程度: 模拟邻近细胞的放电活动, 由运动信息决定是否要将该区域活动的顶点添加到经验地图中, 不需要在经验地图中添加多余的认知节点和边, 减小认知地图的尺寸使自主机器人可以在复杂、 多种和动态环境中完成长期导航工作。