基于SIFT算法改进的图像匹配算法研究与设计
2016-11-02胡亨伍
胡亨伍
(广东医科大学信息工程学院,广东东莞 523808)
基于SIFT算法改进的图像匹配算法研究与设计
胡亨伍
(广东医科大学信息工程学院,广东东莞523808)
图像匹配是指将2个不同场景的目标或者背景进行匹配的一个过程,是实现复杂的智能图像处理的基础,图像匹配算法的准确性及效率直接关系到整个图像处理系统的性能。特征点提取作为图像匹配的一个关键,是实现图像精准快速匹配的前提,本文以目前应用最为广泛的,鲁棒性最好的SIFT特征点提取算法为基础,对其进行了改进,结合Harris算法有效地降低了图像匹配过程中的特征点提取时间,通过实验验证,该方法可以有效地提升图像匹配的准确性和效率。
SIFT;图像匹配;特征点提取;图像处理
0 引 言
图像匹配作为实现复杂的图像处理和视频处理的前提,是未来机器视觉处理技术发展的基础,在智能视频监控、机器人视觉、医疗手术、遥感测绘等领域有着非常广泛的应用,如何提高图像匹配速度和准确性将直接关系到整个机器视觉处理系统的效率和性能[1-3]。
目前,常用的图像匹配算法可以分为基于区域的图像匹配算法和基于特征点的图像匹配算法,其中基于区域的图像匹配算法由于计算复杂、效率低,往往不具备实用性[4]。而相对于区域匹配算法,基于特征点的图像匹配算法在处理过程中只需要对图像中的特征点进行处理和分析,因此极大地降低了图像匹配过程中的处理时间,计算时间复杂度极低,并且具有较高的匹配精度和可靠性,成为了目前应用最为广泛的图像匹配算法[5]。在基于特征点的图像匹配处理过程中,通常包括特征点检测、特征匹配、变换模型估计和图像重采样及变换等功能操作。具体地,特征点检测和匹配即是整个基于特征点的图像匹配的关键,而且又是图像匹配技术的应用前提,同时也已然成为当今图像处理技术领域的研究热点之一[6]。SIFT算法作为目前公认的最为理想的、普适性特征点提取算法,由其检测的特征点具有旋转、尺度、反射和光照等不变性,而且表现出极强的鲁棒性。但是该算法的时间复杂度却颇高,随着对智能视频处理速度的显著提升,使得强化完善SIFT算法的实时性和精准性,即已成为未来SIFT算法在复杂的图像处理系统中进一步拓展应用的研究攻关重点[7]。虽然目前国内外相关专家和机构都已根据自己的需求针对SIFT算法实施了一定的改进,如哈佛大学Ke等人提出的一种PCA-Sift算法通过降维技术有效地降低了SIFT算法的时间复杂度,但是同时也降低了角点检测精度,李晓明等人提出的改进的SIFT算法,主要根据遥感图像的处理特点进行提速,只是在遥感图像处理方面取得了较好的效果,但不适合其他图像处理,并且又降低了算法鲁棒性[8]。刘佳等人[3]用32维特征点描述向量,再运用欧式距离确定匹配点剔除误匹配点,提高了匹配正确率。刘辉等人[9]用Canny算子去除边缘点的影响,并配合以RANSAC方法消除误匹配,改进SIFT算法。冯政寿等人[10]用Harris算子结合张春美等人[11]的改进算法,以降低算法复杂度。综上可知,从目前图像处理技术相关应用领域对图像匹配处理的需求,以及已有的SIFT算法研究来看,在保证SIFT算法精度、鲁棒性的同时、优化提升基于SIFT算法的图像匹配速度则是今后图像匹配处理中亟需解决的核心焦点课题之一[12-13]。
结合这一背景需求,本文以SIFT特征点提取算法为基础,对其加入了合理改进,并基于Harris算法[14]提出了一种改进的SIFT算法以在确保sift算法鲁棒性和精度的同时提升其处理效率,对获得可观图像处理系统性能具有非常重要的现实意义。
1 相关理论基础
1.1Harris算子
Harris算子是基于Morave算法的演化推理而来,其在图像匹配过程中的角点特征提取方面具有优秀强大的效率优势[15]。该算法中,角点检测的计算数学模型如式(1)所示:
式中,w(x,y)为高斯平滑因子,E表示在像素点(x,y)的地方移动一个(u,v)的窗口的亮度变化值,也就是与此像素点对应的一个梯度值,究其实质就是利用了图像二维信号的自相关的特点[16],并根据式(1)的原理,采用泰勒公式对其进行展开,同时忽略展开后的高阶项,就可以得到如下简化后的处理模型:
式中,Ix和Iy分别代表像素点(x,y)在水平方向和竖直方向的求导结果,根据泰勒公式展开后的简化模型可以看出,在该模型中每个像素点都有一个与之相对应的四元矩阵M,通过该矩阵就可以计算得到该像素点的相关的梯度信息。
基于上述简化后的数学模型,定义M的特征值为λ1和λ2,那么根据这2个特征值就可以得到相关的像素点的变化量,同时再通过定义相关的阈值,就可以根据特征值的大小对像素点进行分区,如果λ1和λ2都较小则判定其为平坦区域,一个较大、一个较小即确定其为边缘区域的像素点,否则可断定该点为角点,基于这一原理,就可以从图像中快速提取出相应的角点,具体计算模型如下:
式中,det表示矩阵M的行列式,trace为矩阵M的迹,k为系数,其取值通常设置在0.04~0.2之间,综上就是Harris算子提取角点特征的基本原理。相对于SIFT算子,Harris算子对角点的检测效率极高、检测的角点特征分布均匀,并且可以实现对角点特征的定量提取,但是抗噪能力却会略差,而且也容易受到干扰。
1.2SIFT算子
SIFT算法作为目前图像处理领域公推的一种性能较好的算法,其检测精度和鲁棒性极强。基于SIFT算法的特征点检测是建立在多尺度分析理论基础之上,在应用SIFT进行特征点检测过程中,首先需要根据图像生成相应的参考图像和待匹配的图像的多尺度空间,在多尺度空间生成之后,再将不同尺度下的图像被检测出的局部极值点设置为后续进一步检测的候选特征点,同时通过提出低对比度和边缘相应点对该候选集合施行进一步的优化,其中在对特征点进行描述的过程中主要是计算出每个角点的主方向,而后就以角点为中心的圆形邻域为基础进行直方图统计,并根据直方图统计结果生成相应的特征描述因子,此后计算特征描述因子的距离,与预先设置的阈值进行比较,再次对候选集合加以进一步优化,最终确定候选匹配点,从而建立整合有匹配图像和参考图像的空间映射。
该过程中,多尺度空间的建立原理主要是构建一个高斯金字塔和高斯差分金字塔模型,具体如图1所示。
图1 图像的多尺度空间Fig.1 Multi scale space of image
在尺度空间上进行局部极值点检测,将其加入到候选特征点点集合中,研究实现示意图如图2所示。
图2 尺度空间的极值检测示意图Fig.2 The sketch map of the extreme value detection of scale space
在SIFT算子中的特征描述重点是通过计算像素点(x,y)的梯度模值以及指示方向来提供定义的,其数学模型如下:
式中,L(x,y)为像素点(x,y)的尺度函数,m(x,y)为梯度模值,θ(x,y)为方向。
基于上述模型,在匹配的过程中就可以通过计算以特征点为中心的邻域的直方图,得到梯度方向的直方图,并且利用一个标准差σ为1.5L(x,y)的高斯噪声对梯度方向的直方图进行加权,如此处理后的像素点即已赋予了位置、尺度和方向3个信息;利用这些特征信息构建一个特征描述符,从而最大程度地保证其在光照变化、旋转幅度和比例缩放过程中能够保持不变性,最终实现具有极强鲁棒性的图像匹配。
论述至此,给出了就是基于SIFT算子进行图像精准匹配的完整过程,分析研究该过程发现,由于在SIFT算子中,设定特征是通过一个二维方向直方图来进行描述,获得了突出的刻画效果,但是处理过程也将趋于复杂,时间复杂度较高。
2 基于改进SIFT算法的图像匹配算法
2.1图像匹配算法基本原理
综合上述对SIFT算法基本原理的展开分析,可以得到利用SIFT算法进行图像匹配的基本流程如图3所示。由图3可知,整个图像匹配包括特征点提取、特征点匹配、变换模型估计和图像重采样与变换4个过程。具体地,在特征点提取的过程中主要是建立多尺度空间(即高斯金字塔和高斯差分金字塔)和进行尺度空间的极值点检测;特征点匹配主要是利用BBF算法进行像素点搜索,同时构建出特征点之间的欧式距离关系模型,再通过设置阈值来判定参照比较而确定候选匹配特征点集合,并利用Opencv提供的RANSAC算法对特征点集合完成进一步优化,得到精确的特征点集合,实现精准匹配;变换模型的估计过程主要是利用变换模型来描述匹配图像和待匹配图像之间的变换关系,并且计算出相关的模型参数;图像重采样与变换主要是采用插值算法对变换后的图形进行插值,最终完成2个图像的精准匹配。
图3 图像匹配算法基本原理Fig.3 The basic principle of image matching algorith
2.2SIFT算法的改进
结合前文对Harris算法的原理分析,其在角点特征检测上相对于SIFT算法具有明显优势,在算法结果上表现出更好的实时性和更高的算法效率。因此在改进SIFT算法中,本文采用Harris算法进行角点提取,也就是将SIFT算法的角点提取使用Harris算法实现。同时,为了有效提升SIFT算法的效率,本文重点采用了主成分分析方法对其进行数学降维处理,就是在SIFT处理过程中找出一些综合变量来替代原来的复杂变量,限制前提是保持彼此之间的数学关系和变换关系恒定不变;处理过程中主要是利用仿射变换模型来近似地建立了SIFT匹配过程中的图像变换表示,同时利用RANSAC算法进行误匹配点检测和提取,深度提升其匹配精度,使得改进后的SIFT算法可以在获得较高匹配精度的同时,又极大地提高算法的效率。改进后的SIFT算法的实现流程如图4所示。
图4 改进后的SIFT算法的流程图Fig.4 The flow chart of the improved SIFT algorithm
3 实验结果及分析
基于前文改进的SIFT算法和未改进的SIFT算法的原理,研究中采用opecv2.0开发库构建图像匹配系统,对本文设计提出的算法进行测试,测试结果如图5所示。通过图5可以看出,改进后的SIFT匹配算法得到的结果与原算法结果保持一致。同时仿真结果指出,改进后的算法得到的匹配特征点为218个,而原算法为421个,匹配的特征点虽然减少,但是匹配的特征点却更加均匀精确,如此即使得匹配时间大大降低:改进后的算法匹配时间提升了42 ms,只需要12 ms就能快速地实现匹配。
图5 改进后算法匹配与原算法匹配实验结果对比Fig.5 The comparison of the experimental results of the algorithm matching
为了完善研究结论,文中继而设计给出了基于改进后算法而获得的图像拼接效果,如图6所示。可以看出,改进后的算法在提高效率的同时,也可以保持较高的匹配精度和准确性。
图6 基于改进后的SIFT算法实现的图像拼接效果Fig.6 The effect of image stitching based on the improved SIFT algorithm
4 结束语
本文针对目前常用的SIFT图像匹配算法中时间复杂度较高,处理效率较低的问题,对其提出了实用性改进,通过在SIFT算法的角点检测过程中采用Harris算法来替代传统的SIFT算法角点检测提高其处理效率,同时在匹配过程中利用RANSAC算法进行误匹配点检测和提取,进一步提升其匹配精度,使得改进后的SIFT算法可以在保持较高匹配精度的同时,又极大地提升了算法的效率。研究最后通过实验仿真验证了本文提出改进SIFT算法的可行性。本文研究成果对推动图像匹配技术的优势发展和应用具备重大的现实意义及价值。
[1]王民,刘伟光.基于改进SIFT特征的双目图像匹配算法[J].计算机工程与应用,2013,49(2):203-206.
[2]胡海青,谭建龙,朱亚涛,等.改进SIFT算法在文字图像匹配中的应用[J].计算机工程,2013,39(1):239-243.
[3]刘佳,傅卫平,王雯,等.基于改进SIFT算法的图像匹配[J].仪器仪表学报,2013,34(5):1107-1112.
[4]赵博毅,张科.一种基于改进SIFT算法的SAR图像匹配方法研究[J].计算机与现代化,2013(6):108-112,115.
[5]丁雄飞,张春燕.基于Moravec算子和改进的SIFT算法的图像匹配[J].合肥学院学报(自然科学版),2013,23(3):40-42.
[6]汪松.基于SIFT算法的图像匹配方法研究[D].西安:西安电子科技大学,2013.
[7]李耀云.基于SIFT算法的双目立体视觉定位研究[D].太原:太原理工大学,2013.
[8]沈元.基于改进的SIFT算法图像匹配的研究[D].天津:河北工业大学,2014.
[9]刘辉,申海龙.一种基于改进SIFT算法的图像配准方法[J].微电子学与计算机,2014,31(1):38-42.
[10]冯政寿,王美清.基于Harris与改进SIFT算法的图像匹配算法[J].福州大学学报(自然科学版),2012,40(2):176-180.
[11]张春美,龚志辉,孙雷.改进SIFT特征在图像匹配中的应用[J].计算机工程与应用,2008,44(2):95-97.
[12]潘子昂.基于SIFT算法的图像匹配研究[D].西安:西安电子科技大学,2012.
[13]戴金波.基于视觉信息的图像特征提取算法研究[D].长春:吉林大学,2013.
[14]HARRIS C,STEPHENS M.A combined corner and edge detector[C]//Proceedings of the 4thAlvey Vision Conference.Manchester:Organising Committee AVC,1988:147-151.
[15]禹铁夫.基于局部图像内容的特征匹配算法研究与改进[D].沈阳:沈阳工业大学,2015.
[16]隋文秀.改进的SIFT算法在图像检索方面的应用[D].吉林:东北电力大学,2015.
Research and design of the improved image matching algorithm based on SIFT algorithm
HU Hengwu
(School of Information Engineering,Guangdong Medical University,Dongguan Guangdong 523808,China)
The image matching refers to two different scenarios targets or the process to match the background,which is the basis of realizing intelligent and complex image processing.Its accuracy and efficiency of image matching algorithm are directly related to the performance of the entire image processing system.As the key of image matching,feature point extraction is the precondition to achieve fast and accurate image matching.So far,SIFT feature extraction algorithm has the most extensive application and the best robustness. Based on this SIFT algorithm,this paper combines with Harris,and effectively reduces the feature point extraction time of the image matching process.Experiment results demonstrate that the method can effectively improve the accuracy and efficiency of image matching.
SIFT;image matching;feature point extraction;image processing
TP391
A
2095-2163(2016)03-0113-04
2016-04-26
胡亨伍(1982-),男,硕士,实验师,主要研究方向:图像处理、信息技术、实验管理技术。