基于原图-光照不变图视觉词典改进的闭环检测方法

2021-08-04 04:08:46胡章芳曾念文肖雨婷钟征源
电子科技大学学报 2021年4期
关键词:直方图闭环词典

胡章芳,曾念文,罗 元,肖雨婷,钟征源

(重庆邮电大学光电工程学院 重庆 南岸区 400065)

近年来,同步定位与建图(SLAM)[1]是机器人自动导航技术方面的研究热点。在SLAM中,通过后端优化可以不断地修正误差,但是微小的误差会不断累积。消除累计误差的代表性方法是判断机器人是否“到访”过某个区域,如果是则视为同一位置,这就是闭环检测[2]。闭环检测可以极大地校正漂移误差,是视觉SLAM的重要组成部分。目前大多数研究是基于外观的方法,利用提取的图像特征和描述符来估计是否到达过某个位置。如3DMAP[3]、卷积神经网络(convolutional neural networks,CNN)[4]、视觉词袋法(bag-of-words, BoW)[5]等。视觉词袋法目前在闭环检测中较为常用。文献[6]提出了一种基于外观和颜色组合的双视觉词典方法,并添加了贝叶斯滤波来判断是否闭环。文献[7]结合了词袋模型和ORB-SLAM算法,使用场景分割的方法略微提高了准确率。最富标志性的是FABMAP[8]和DBoW2[9],它们使用离线的预训练词汇进行在线测试,分为离线预处理和在线处理两个阶段。前者从采集到的整个图像数据库中提取视觉单词,并对其量化构造成一个视觉词典;后者查找的图像由基于视觉词典的直方图表示,并与数据库直方图进行比较来判断是否闭环。然而,移动机器人不可避免地会处于复杂多变的环境中,包括光照、时间、天气等,闭环检测是视觉SLAM的最重要组成部分,易受到上述因素的影响,改善移动机器人在各种条件下(尤其是在光照变化下)的鲁棒性,是视觉SLAM不可或缺的工作。

为了减少光照变化对闭环检测的影响,本文改进了基于视觉词袋法的闭环检测方法。除了将原始的彩色图像作为视觉词典,还将彩色图转为光照不变图,同时并行生成光照不变图的视觉词典,并对其直方图进行比较,最后计算两者的最终得分矩阵来判断是否为闭环。实验结果表明,本文算法能稳健应对光照变化较大的场景。

1 图像处理和词典构建

1.1 原图特征提取

考虑到系统的性能和运行时间要求,本文使用ORB[10]特征点,选择描述符长度为256 bit,每位描述符的计算公式如下:

式中,vi是 第i个位描述符的值;xi、yi是通过高斯分布在该点周围预先建立的随机选择位置的灰度值;p代表正在计算的点。本文使用汉明距离来计算描述符之间的距离:

式中,v(p)、v(q)是描述符;XOR表示异或操作。获得特征和描述符后,将它们转换为视觉单词,并将图像转换为稀疏向量。

1.2 光照不变图的生成

文献[11]提出了一种算法,使得图像外观变化只只与光源有关。根据文献[11],光谱灵敏度F(λ),图像传感器的光照响应R,物体的表面反射率S(λ)和物体上的发射光谱功率分布E(λ)之间存在以下关系:

式中,单位向量ax和nx表示物体反射光源的方向和表面法线的方向,取决于物体的材料特性;Ix表示物体点x上 反射光的强度。将光谱敏感度函数F(λ)假设为以波长 λi为中心的狄拉克增量函数[12],从而产生以下响应函数:

为减少光照强度Ix的影响,得到取决于表面反射率S(λi)的 光照不变图ς,将式(4)取对数:

将光照近似为普朗克光源[13],再将维恩常数近似代入普朗克光源中:

式中,Gx=ax·nx;h为普朗克常数;c为光速;k为玻尔兹曼常数;T是黑体源的相关色温。

文献[11]使用一维色彩空间ς,该色彩空间由相机传感器在有序波长 λ1<λ2<λ3下的峰值灵敏度R1、R2、R3决定:

将式(4)代入式(5),当参数α满足以下约束时,一维色彩空间ς 与相关色温T无关:

简化为:

因此,可根据相机传感器取适当的α值,将原始图像转化为光照不变图像ς。

1.3 视觉词典的构建

先对整个图像序列进行光照不变变换,再生成原图-光照不变图视觉词典。

将采集到的彩色图像设为集合SRGB,将光照不变图设为集合SII,两者存在以下关系:

SII=ς(SRGB)

从每个图像集中提取特征集FRGB和FII,该特征集由位置xi、si和 特征描述符di组成。

最后,使用如图1所示的树数据结构[5]来构建词典,在每一层使用K-means聚类方法对描述符进行分类。其中只有叶节点存储可视单词,而中间节点仅用于查找单词。该词典的总容量为Kd。搜索特定的视觉词汇时,只需要与聚类中心进行d次比较即可完成查找,时间复杂度为O(logN),保证了搜索效率。同时,为了区分每个单词的重要性,使用直接索引法[5],该方法将单词的父节点存储在目录中以加快比较速度。

图 1 词袋树结构模型图

综上可以生成基于原图-光照不变图视觉词典,图2总结了该算法。

图2 原图-光照不变图词典生成框图

2 闭环检测算法

2.1 单词筛选

在提取图像特征和生成词典后,再利用这些数据完成闭环检测。尽管视觉描述符已经转换为视觉单词,但并非所有视觉单词都具有相同的识别和区分度。如某些单词很常见,在许多帧中都可以找到,这种情况下词类视觉单词在闭环检测中基本无作用。因此本文采用词频-逆文本频率指数(term frequency-inverse document frequency, TF-IDF)[14]方法来区分不同单词的重要性。在词袋模型中,可以在处理图像之前计算IDF,即在构建字典时确定IDF属性。将视觉单词wi总数用n表示,含有wi的图像数量用ni表示,则wi的逆文档频率为:

文档频率为:

视觉单词wi的权重为:

在考虑单词的权重之后,对于特定的图像A,将原图特征和光照不变图特征添加到词袋中,完善原图-光照不变图词典:

2.2 候选帧的筛选和回环帧确定

根据前文生成的视觉词典,对每帧图像计算两个直方图。为了快速进行两幅图像间的直方图比较,本文采用直方图交叉核(histogram intersection kernel)[15]方法来测量两个矩阵的相似性得分。其原理是先将图像特征在多分辨率的超平面上进行映射,进而生成多层次的直方图,最后进行相似度的加权叠加。其交集函数(核函数)的定义如下:

式中,h1,h2为 欲比较的两个直方图;H(h1)j为h1直方图中的第j个bin;r为直方图中bin的个数。两个bin的最小值为两个直方图每个bin的重叠数,所有bin重叠数之和为该层次的交集函数值。直方图的相似性函数定义为:

其值可以用来比较相似度。式中,L表示直方图的层次数;Ni表示连续量的层次之间的交集函数值的差:Ni=Γ(Hi(h1)),Hi(h2))-Γ(Hi-1(h1)),Hi-1(h2))。

定义两个矩阵间的相似性得分S=KΔ,完成两个矩阵的相似性得分计算以后,对得分进行归一化:

生成最终的得分为:

Sfinal=SRGB+η·Sii

式中,SRGB是原始彩色图像的视觉词袋归一化得分矩阵;Sii是得到的光照不变图像的视觉词袋归一化得分矩阵;Sfinal是最终的得分矩阵;η是两个得分矩阵间的平衡因子。

由于相邻两幅图像十分相似,容易误判为闭环。因此,本文将图像序列根据规模进行分组。每个组通过累加组内每个候选帧的相似性得分来获得累加的得分。累加分最高的组视为闭环组,闭环组中得分最高的图像将作为最佳候选帧。选择分数大于得分阈值的最佳候选帧作为判定正确的闭环对,具体的算法伪代码如下:

3 实验结果

3.1 数据集选择

为了验证本文算法对光照的鲁棒性,需要捕获同一场景在不同照明条件下的图像。因此,本文选择了Nordland数据集,该数据集采集自挪威北部4个不同季节,分为春夏秋冬4个部分,其相同场景在不同时间的比较如图3所示。同一场景随着时间的改变发生了很大的变化。本文首先选择光照变化最为显著的春季和冬季序列作为实验序列。

图3 同一场景在不同时刻的表现形式

3.2 评价指标

第一个评价指标是真(假)阴(阳)性,当机器人经过同一位置时,闭环检测算法应给出“是闭环”(真阳性)的结果,反之则应该给出“不是闭环”(真阴性)的结果。

另外一个评价指标是准确率(precision)和召回率(recall)。准确率是指某个算法中检测到的闭环是真实闭环的概率,即P recsion=TP/(TP+FP),召回率是指在所有真实闭环中被正确检测出来的概率,即 Recall=TP/(TP+FN)。准确率-召回率是一对矛盾,当算法设计得比较“严格”时,准确率可以达到100%,但必然会造成召回率下降。因此,在确定一个指标后,若某算法得到的另一个指标比其他算法高,则说明该算法更优。

3.3 图像匹配结果

为了直观地分析图像匹配的相似性规律,本文与闭环检测中最常用的BoW[5]算法和文献[16]提出的一种基于改进TF-IDF的SLAM回环检测算法进行了比较。首先在Nordland数据集的冬季序列中选取了800张在视觉上有明显差异的图像,接着在春季序列中选择了一张图像,然后逐一匹配冬季序列中的图像并计算相似度,获得的相似度曲线如图4所示。横轴表示冬季序列索引,纵轴是与选取的春季图像的相似度值。曲线的最大值表示算法匹配最为相似的图像,BoW算法、文献[16]算法、本文算法计算出的最大相似度图像分别在第29、200、482帧处。

图4 相似性得分曲线

选取的春季序列图像与3种算法匹配的图像如图5所示。由图5可知,当同一场景的光照发生变化时,本文算法匹配到了同一场景的图像,而其他算法都匹配到了错误的图像。

图5 选取的图像和算法匹配的图像

3.4 闭环检测性能

为了进一步验证本文算法对光照变化的鲁棒性,继续从春季选择了800个序列图像,从冬季选择了800个序列图像。将序列中的一个图像与另一序列中的所有图像进行比较。每两个序列计算一次相似度得分,然后根据编号排列得分,得到相似度矩阵S。显然,S是一个对称矩阵。离对角线越近意味着图像与自身和连续帧最为相似,得到的相似度矩阵结果如图6所示。本文算法基于原图和光照不变图,而不是简单地进行一次图像的特征匹配,获得的相似度矩阵基本上沿对角线分布,且噪点较少;而BoW算法出现了多处对角线较为稀疏的地方,如图中圆圈标识;文献[16]方法获得的相似度矩阵有很多噪声点,且对角线较为稀疏,表示这是错误的闭环。因此,本文算法在光照变化明显的环境中表现良好。

图6 3种算法的相似度矩阵

3.5 召回率测试

本部分使用Northland数据集的夏季和冬季序列进行词典构建,然后选择春季序列进行召回率测试,在100%准确率的前提下实现较高的召回率,夏季序列和冬季序列的结果分别如图7a、图7b所示。在冬季序列中,部分场景被积雪覆盖,可提取的图像特征减少,本文提出的光照不变图算法表现更佳。

图7 召回率测试结果

4 结 束 语

视觉词袋模型因为其计算速度快且图像表示形式简单,在闭环检测中得到了广泛的应用,但是光照的变化会降低其鲁棒性。为了克服这个缺点,本文在传统的词袋模型上进行了改进,通过生成原图-光照不变图的视觉词典,归一化计算最终矩阵相似性得分来提高对光照变化的鲁棒性。通过在数据集上和其他算法进行比较,证明了本算法对光照变化具有更好的鲁棒性。最近热门的室外自动驾驶,在长时间运作时,可能会由于阳光的变化而产生错误闭环检测,本文算法可适用于此类情况。然而,在实验中发现由于另一个视觉词典的加入,使得本文算法的实时性有所下降,如何在光照鲁棒性的前提下保证速率的问题将是下一步研究的重点。

猜你喜欢
直方图闭环词典
统计频率分布直方图的备考全攻略
高中数理化(2024年1期)2024-03-02 17:52:40
符合差分隐私的流数据统计直方图发布
米沃什词典
文苑(2019年24期)2020-01-06 12:06:50
用直方图控制画面影调
评《现代汉语词典》(第6版)
词典例证翻译标准探索
单周期控制下双输入Buck变换器闭环系统设计
黑龙江电力(2017年1期)2017-05-17 04:25:05
双闭环模糊控制在石化废水处理中的研究
环境科技(2016年5期)2016-11-10 02:42:12
基于直方图平移和互补嵌入的可逆水印方案
计算机工程(2015年8期)2015-07-03 12:20:21
最优价格与回收努力激励的闭环供应链协调