改进SIFT的图像匹配算法

来源:优秀文章 发布时间:2023-01-26 点击:

陈雪松,武小凯

(东北石油大学 电气信息工程学院,黑龙江 大庆 163318)

图像匹配是计算机视觉和图像处理的重要基础之一[1]。图像匹配是指在图像与图像之间,经过特定的算法,识别出图像之间同名点的过程[2]。图像匹配技术在遥感、医疗、全景影像、三维重建和图像拼接等领域具有较为广泛的应用[3-6]。然而一般情况下,图像经常会受到旋转、光照、模糊等因素影响图像之间的匹配效果[7]。因此,如何快速且稳定地对图像进行匹配,逐渐成为图像匹配的一个重要发展趋势。

目前,较为常用的算法有Harris、SIFT(Scale-Invarivant Feature Transform)、SURF(Speeded-Up Robust Features)、FAST(Features from Accelerated Segment Test)、ORB(Oriented FAST and Rotated BRIEF)等,这几种算法在使用中各有优势和特点[8]。其中SIFT算法是由David[9]于2004年提出,该算法在不同尺度下或图像发生旋转的情况下,匹配效果依然十分出色,而且对光线、视角以及噪声变化均有很好的匹配效果。在某些场景中,由于纹理信息过于丰富,会在局部产生大量的无用特征点,影响运行速度;
SIFT特征描述符具有128维向量,导致计算过于复杂,使匹配效率降低。针对上述情况,Mikolajczyk等[10]提出了GLOH描述子,使用对数极坐标代替坐标象限;Bay等[11]提出的SURF算法Hessian 矩阵行列式近似值图像代替DOG(Difference of Gaussian)图像,降低了运算量;冯政寿等[12]提出利用Harris算法提取的角点作为特征点,对特征点使用同心圆描述符,提高了匹配效率;李为民等[13]提出了对Harris改进的角点指示器,可根据需求检测不同数量角点;
赵小强等[14]提出了基于Harris角点与SIFT的快速图像匹配算法,提高了图像匹配的实时性;
胡育诚等[15]提出了消除冗余性能的策略,并对SIFT算子进行改进,提升特征点检测的时间效率。

笔者针对SIFT算法计算量大,实时性差的问题,分别对特征点与特征描述符进行改进,提出了一种Harris算法与SIFT算法相结合的方法。在一定程度上降低了SIFT算法的计算量,提升了匹配效率。

1.1 尺度空间和极值点定位

为使从图像中提取的特征点具备尺度不变性,进行特征点检测时应在不同的尺度中进行。将图像I(x,y,σ)与不同尺度的高斯核函数G(x,y,σ)卷积得到高斯金字塔L(x,y,σ),如下

L(x,y,σ)=G(x,y,σ)*I(x,y,σ)

(1)

(2)

将高斯金字塔中相邻尺度的高斯图像作差得到高斯差分金字塔(DOG)。如下

D(x,y,σ)=(G(x,y,kσ)-D(x,y,σ))*I(x,y,σ)=L(x,y,kσ)-L(x,y,σ)

(3)

将差分金字塔中的每个像素与其相邻的26个点(8+9×2=26)比较,判断其是否为极值点。

1.2 特征点主方向

特征点确定主方向,是为减小描述符由于图像旋转等所带来的负面影响。采用

(4)

(5)

可计算出像素点的梯度和方向。在每个特征点的邻域范围内统计0360°之间的36个方向(每10°为一个方向)的梯度直方图,取梯度直方图峰值的方向作为特征点的主方向。

1.3 生成描述向量

将坐标轴旋转至上述特征点的主方向上。以特征点为中心点,取16×16的窗口区域。平均分为4×4=16个子块区域(种子点)。根据式(4)和式(5)统计出每个种子点在8个方向(每45°为一个方向)的梯度直方图,并对每个梯度直方图进行高斯加权,以减弱远离特征点的地方对特征点的影响。每个特征点的描述向量为4×4×8=128维。

由于Harris算法提取的角点具有高稳定性,为此笔者将Harris算法与SIFT算法相结合,流程如图1所示。

图1 笔者算法流程图Fig.1 Algorithm flowchart

2.1 特征点定位

首先对输入的图像使用Harris算法检测出角点,再对图像进行SIFT特征点检测,若SIFT特征点与Harris算法检测的特征点之间小于阈值,则该SIFT特征点作为笔者的特征点[14]。虽然会增加特征点提取的时间,但筛选得到的SIFT特征点将会同时具有Harris特征点的高稳定性,且减少了后续算法的时间。阈值如下

(6)

其中σoct为Harris角点所在尺度。

2.2 改进的描述符

图2 改进的描述符Fig.2 Improved descriptor

笔者采用圆形描述符,由于圆形具有旋转不变性,故无需确定特征点主方向。以关键点为圆心,取半径为11的圆形窗口为特征点邻域范围,将该领域分别以半径为1、2、3、4、5、7、9、11个像素划分为8个同心圆,即8个种子点。统计每个同心圆上8个方向(每45°为一个方向)的像素梯度与方向。每个特征向量具有8×8=64个特征向量,并对特征向量进行排序,描述符如图2所示。为防止距离特征点较远的像素对描述符的影响过大,采用高斯窗口进行加权。为减小由于光照变化对匹配效果产生负面影响,采用归一化对特征向量进行处理。

2.3 特征匹配

笔者采用最近邻距离(min)与次近邻距离(secmin)的比值(min/secmin)作为匹配依据[16]。阈值一般设置为0.6~0.8之间,数值越小,误匹配率越低,匹配点对也将变少。笔者将阈值设置为0.6。由于在匹配中经常发生误匹配的情况,笔者采用RANSAC(RANdom SAmple Consensus)算法对特征点进行提纯[17]。

对笔者所提出的算法与SIFT算法进行图像匹配实验,并对结果进行对比与分析。图3a和图3b分别为SIFT算法和笔者算法提取的特征点。笔者算法相较于SIFT算法,特征点的数量有所减少,但特征点大部分为角点,提高了特征点的稳定性。

图3 提取的特征点Fig.3 Extracted feature points

表1为两种匹配算法的统计结果。图4和图5分别为SIFT算法和改进SIFT算法的的匹配效果。使用两种算法分别进行20组以上的图像匹配,求出每次平均所使用时间。可以看出,笔者算法与原SIFT算法相比节约大约1/3的时间,误匹配率比SIFT算法有所降低。

图4 SIFT算法匹配结果 图5 改进SIFT算法匹配结果 Fig.4 SIFT algorithm matching result Fig.5 Improved SIFT algorithm matching result

表1 实验结果Tab.1 Experimental results

从该实验中,可得出以下两点结论。

1) 笔者算法相较于SIFT算法减少了特征点的数量。且笔者算法提取的特征点大部分为图像角点,增加了特征点的稳定性,保障了算法的精确度。

2) 笔者采用的64维描述符相比于SIFT算法的128维描述符,降低了描述符维度,减少了算法的复杂度。误匹配率有所下降。整体所用时间减少了大约1/3,提高了特征匹配的实时性。

针对SIFT算法复杂的情况,笔者使用Harris算法与SIFT算法相结合的方式提取特征点,筛选出在Harris特征点附近的SIFT特征点作为笔者特征点,使用64维圆形描述符代替SIFT算法的128维高维向量,有效的降低了算法复杂度。经实验证明,笔者算法相比于SIFT算法在一定程度上提高了运行速度,降低了算法的复杂度,且误匹配率有所降低。

猜你喜欢 描述符图像匹配角点 基于多特征融合的图像匹配研究微型电脑应用(2022年3期)2022-04-20多支撑区域模式化融合角点检测算法仿真计算机仿真(2021年8期)2021-11-17基于点云聚类的垛型角点检测方法现代电子技术(2021年11期)2021-06-18基于AKAZE的BOLD掩码描述符的匹配算法的研究计算机应用与软件(2020年6期)2020-06-16图像匹配及其应用计算机与网络(2020年7期)2020-05-15角点检测技术综述①计算机系统应用(2020年1期)2020-01-15欧洲共同语言参考标准在中国高校学术英语写作教学适用性的研究:可理解性,可行性和有用性速读·下旬(2019年11期)2019-09-10基于深度学习的局部描述符电子制作(2019年2期)2019-02-14基于FAST角点检测算法上对Y型与X型角点的检测电子技术与软件工程(2018年10期)2018-07-16基于SVM的化合物分类综述软件导刊(2018年12期)2018-02-12推荐访问:匹配 算法 图像
上一篇:在二十届中央政治局常委同中外记者见面时的讲话
下一篇:水力发电厂机组继电保护的配置及运行维护

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有