一种改进的ORB特征匹配算法

2021-11-18 06:28廖泓真王亮孙宏伟刘云清
北京航空航天大学学报 2021年10期
关键词:邻域标准差高斯

廖泓真,王亮,孙宏伟,刘云清,*

(1.长春理工大学 电子信息工程学院,长春 130022;2.北京信息技术研究所,北京 100094)

特征匹配是三维重建、目标跟踪、SLAM、机器人环境识别和图像拼接等应用中的重要技术[1],如何提高特征匹配的准确率和鲁棒性一直受到很多研究者的关注。

特征匹配的主要过程是在2幅图像中提取特征点,并对特征点进行描述,通过比较特征点之间相似度判断是否匹配[2]。常用的图像特征提取方法包括SIFT[3]、SURF[4]、ORB[5]、LIET[6]、Key.Net[7]、RF-NET[8]等。Lowe[3]提出的SIFT特征具有尺度、旋转和光照等的不变性,但计算时间长[9]。Bay等[4]改进了SIFT特征,提出了SURF特征,提高了特征提取的速度[10]。FAST角点能够快速确定特征点的位置[11],但不具有方向信息[12]。Calonder等[13]提出了对特征点周围图像区域进行描述的BRIEF描述子。Rublee等[5]改进FAST角点和BRIEF描述子,提出了ORB特征,其能够有效替代SIFT和SURF[14]。ORB适当降低了精度,但提取速度比SIFT、SURF快,是不同类型特征点中性能与质量的较好折中[15]。

上述方法的主要思想是改进特征点的提取方式或改进描述子使特征点更具独特性。改进特征点的方法虽然可以改善特征匹配,但无法有效剔除误匹配。此外,Muja和Lowe[16-17]通过建立kdtree和k-means tree的方法加快了特征匹配速度,但仍无法有效剔除误匹配。

RANSAC(Random Sample Consensus)算法可以剔除误匹配,但当误匹配较多时,效果会下降[18-20]。Bian等[20]提出运动网格统计算法(Grid-based Motion Statistics,GMS),通过统计匹配点邻域内的支持度剔除误匹配。但在图像模糊等条件下,匹配准确率下降[2,21]。本文提出了一种改进的ORB特征匹配算法。首先,分散化提取ORB特征点,使提取的特征点更具代表性[22]。然后,利用暴力匹配和交叉验证得到初步的匹配集合。最后,利用GMS剔除匹配集合中的误匹配,同时使用高斯核对GMS的统计结果加权,优化匹配结果。

1 特征提取

ORB特征是计算机视觉领域常用的图像特征之一,其具有旋转、尺度不变性和提取速度快的优点。由于ORB特征在确定关键点时以阈值作为判断条件,当图像中某一区域有多个像素满足阈值时,就会出现特征点集中现象。

特征点集中会降低匹配的准确性,为使特征点均匀分布,改进后的算法在特征点的提取过程中引入四叉树结构[22],具体步骤如下:

1)将图像划分为大小相同的网格(这里的网格与后文的GMS网格不是同一个),在每个网格中提取FAST角点。

2)将图像分为4个子节点,判断各个子节点中特征点的数目,如果大于1,将这个子节点再次划分为4个子节点,直至所有的子节点的数目大于预先设置的特征点数目为止。

3)在每一个子节点中保留响应值最大的FAST角点,其余角点均删除。

2 特征匹配

2.1 改善暴力匹配结果

提取的ORB特征点通过暴力匹配获得粗匹配集合,但是暴力匹配无法剔除误匹配。在图像匹配中经常采用交叉验证的方法进行误差剔除,因此改进后的算法在暴力匹配中引入交叉验证剔除误匹配。

交叉验证虽然可以剔除部分误匹配,但得到的匹配集合中仍包含许多误匹配,因此在交叉验证后采用GMS对误匹配做进一步的剔除。

2.2 GMS基本理论

如图1所示,GMS通过统计每一对匹配点邻域内的匹配总数,实现正确匹配与错误匹配的区分。

图1 GMS示意图Fig.1 Schematic of GMS

在2幅图像中分别提取N个和M个特征点,每个点的匹配概率独立,设正确匹配的概率为t。通过暴力匹配得到匹配集合X={x1,x2,…,xN}。设匹配xi在2幅图像中的邻域a、b中各包含n个、m个特征点,fa为a中的1个特征点。如果xi是1个正确匹配,则fa的匹配点落在b区域的概率为

式中:Tab为xi是正确匹配;为fa的匹配点落在b区域为fa匹配正确为fa匹配错误;β为1个调节因子。

同理,如果xi是1个错误匹配,则fa的匹配点落入b区域的概率为

式中:Fab为xi是错误匹配。

xi邻域内匹配点的总数为其支持度,设为Si,Si的概率分布是二项分布:

2.3 GMS网格化

如图2所示,为提高计算效率,实际计算中一般将图像划分为20×20个网格,计算每个网格的支持度。

图2 图像网格化示意图Fig.2 Schematic of grid-based image

每个网格支持度的统计区域为该网格及其周围的8个网格:

式(5)说明每个网格在它的邻域内都有支持度,但支持度分布不同,其分布为双峰形式,因此通过选择合适的阈值,可以有效地判断该网格是否可以接受。设阈值为

式中:nij为9个网格中匹配点数目的平均值;α为调节阈值的参数,Bian等在论文中令α的值为6[20]。

2.4 改进GMS

如图2所示,a5为待判断网格,a1~a4,a6~a9为其邻域内的8个网格。设a5坐标为(x,y),a6坐标为(x+1,y),a9的坐标为(x+1,y+1)。则a1、a3、a7、a9与a5的距离均为与a5的距离均为1。与待判断网格距离越大,网格置信度越小,距离越小,网格置信度越大。为描述距离产生的置信度差异,改进后的算法在计算支持度时,对网格匹配结果进行加权。

计算机视觉中常用高斯函数生成的高斯核对图像进行加权处理,原因如下:

1)高斯函数是单值函数,其自变量的函数值随该点与中心点的距离单调递减。

2)二维高斯函数具有旋转不变性,用高斯函数加权时,各个方向上的权值相同。

3)高斯函数的宽度由标准差σ表示,且宽度和σ关系简单,通过调节σ可以很容易调节权值大小。

因此,本文选择高斯核对网格进行加权,二维高斯函数为

以待判断网格a5为中心点,对高斯函数离散化采样并归一化处理,得到3×3加权矩阵:

式中:A11+A12+… +A33=1。设9个网格与对应网格的匹配点数目为ni(i=1,2,…,9),则网格a5的支持度:

如果S5大于阈值T,则认为满足GMS要求,否则剔除。

因为a2、a4、a6、a8与中心点的距离为1,如果σ=1,则a2、a4、a6、a8权值的采样点在距中心点的±σ处,所以这里σ取1。

3 实验与结果

本文实验使用的电脑为i7处理器,内存8 GB,操作系统为Ubuntu18.04,实验图像来自Oxford VGG数据集等[23]。为验证本文算法对不同类型图像的性能,选取了4组图像,如图3所示,分别是图像模糊、光照变化、图像压缩和高斯噪声,每组中包含6幅图片。

图3 实验用图Fig.3 Images in experiment

图4为4组图像的原算法和本文算法的准确率对比。实验以平均准确率、最高准确率、最低准确率和准确率的标准差评价算法的准确性。记最高准确率为H,最低准确率为L,平均准确率为E,准确率的标准差为S。

准确率的计算方法如下:

1)根据得到的匹配点,采用RANSAC方法,计算2幅图像之间的基础矩阵。

2)满足该基础矩阵的匹配点为内点,并以内点数Ni占匹配点总数Nm的百分比为准确率,准确率为

在实验中高斯函数的标准差σ取1,调节GMS阈值的参数α取6。

由图4(a)~(d)可知,在图像模糊、光照变化、图像压缩和噪声情况下,原算法的准确率曲线出现较大波动,准确率下降,本文算法不仅提高了准确率,而且减小了波动。

图4 准确率对比Fig.4 Accuracy comparison

如表1所示,在图像模糊条件下,本文算法平均准确率提高了3.5%,标准差下降了2.58%。在光照变化条件下,本文算法平均准确率提高了4.2%,标准差下降了0.92%。在图像压缩条件下,本文算法平均准确率提高了2.2%,标准差下降了0.93%。

表1 实验结果Table 1 Experim ental resu lts

在高斯噪声条件下,本文算法平均准确率提高了6%,但标准差提高了2.36%。如果去除实验顺序为15的数据,原算法的标准差是6.97%,本文算法的标准差是2.02%,本文算法标准差下降了4.95%,平均准确率提高7.3%。

出现这种现象的原因是:实验顺序为15的实验中,比较的是高斯噪声图像组的第5幅和第6幅图片,与其他图像相比,第6幅图像的噪声加剧,其高斯噪声的方差为102。这说明本文算法在噪声条件下可以提高匹配的准确率,但噪声过于严重时,匹配准确率下降。

在图像压缩条件下,平均准确率提高2.2%,相较于其他条件提高幅度最低。这是因为在图像压缩条件下,原算法的平均准确率为95.7%,所以本文算法虽然提高平均准确率,但提高空间有限。此外,VGG图像中使用的图像压缩方法为JPEG图像压缩,该方法虽然减少了图像的细节,但仍保留了大量的图像信息,相较于其他条件,图像压缩对特征匹配的影响较小,因此在图2中,待判断网格与其邻域内网格中的匹配点数目差异较小,加权后对结果影响不大。

4 结论

1)本文算法在图像模糊、光照变化、和图像压缩条件下,准确率提高。

2)在高斯噪声条件下,当高斯噪声的方差较小时,本文算法在准确性方面超过原算法。但如果噪声加剧,则算法准确性出现下降。如何改进算法使其在噪声严重条件下实现准确匹配还需进一步研究。

3)在图像压缩条件下,本文算法对准确率的提升有限。在以后的研究中,可以采用增加ORB描述子维度等方法提高特征点描述子的区分度,从而提高匹配准确率。

猜你喜欢
邻域标准差高斯
基于混合变邻域的自动化滴灌轮灌分组算法
数学王子高斯
基于近邻稳定性的离群点检测算法
过程能力指数法在改进中小学教学质量中的应用
语音信号幅值分布的统计分析
从自卑到自信 瑞恩·高斯林
方差中亟待澄清的两个错误观点
对函数极值定义的探讨
邻域平均法对矢量图平滑处理
谈数据的变化对方差、标准差的影响