王招娣,王贤立,杨数强
(洛阳师范学院 物理与电子信息学院,河南 洛阳 471934)
基于颜色和SURF特征的图像匹配算法
王招娣,王贤立,杨数强
(洛阳师范学院 物理与电子信息学院,河南 洛阳 471934)
针对SURF算法在提取图像特征时,只采用图像灰度信息,不能很好地区分形状相似但颜色不同的物体这一问题,文中提出了一种基于颜色直方图和SURF相结合的CH-SURF匹配算法。该算法选用目标颜色直方图进行特征匹配,对目标进行粗略定位;并在标定的小区域内采用SURF算法进行区域特征匹配;最后采用VS2008平台进行了仿真实验,结果表明CH-SURF算法与SURF算法相比减少了特征点匹配的时间,并在一定程度上保证了特征匹配的准确性。
颜色直方图; SURF;特征匹配; Opencv;VS2008
特征提取算法[1](Speeded Up Robust Features,SURF)是一种局部特征提取算法,该算法主要采用了积分图像、箱式滤波器、Harr小波变换和Hessian矩阵检测特征值等方法,该算法运行效率较高,且对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换及噪声也保持一定程度的稳定性,因此成为图像特征提取方面的研究热点。目前SURF算法主要用于人脸识别[2-4]、掌纹识别[5-7]、医学遥感影像配准[8]和全景拼接[9]等领域。但是SURF算法依赖图像的局部纹理特性,对全局特征明显的图片描述能力不够,且SURF算法在提取图像特征时忽略了图像的色彩信息。
颜色特征作为一种图像全局特征[5],与图像局部SURF特征具有一定的互补性关系,且对于图像旋转、平移、尺度变换不敏感,因此本文选用将颜色特征与SURF特征相结合的CH-SURF(Color Histogram-SURF)特征匹配算法来实现目标图像的定位。其基本思路是首先选用目标图像颜色直方图进行特征匹配,通过提取目标图像在HSV空间的颜色直方图特征,按照颜色匹配原理在源图像中模糊定位出目标的位置;然后再利用SURF算法在已标定的区域内提取SURF特征点,将这些特征点与目标图像的特征点进行相似度匹配;最后采用Hessian矩阵的迹与欧式距离相结合的相似性度量法进行相似度匹配,找到目标图像与源图像的匹配点,最终实现目标图像区域定位的过程。
CH-SUFR定位算法可分为两个过程:(1)颜色直方图匹配过程;(2)SURF特征匹配过程。
颜色直方图特征[5]的提取是一个被广泛采用的特征提取方法。该过程主要包括两部分:(1)颜色直方图特征提取;(2)颜色特征相似度匹配。
2.1.1 颜色直方图特征提取
首先,把图像从RGB颜色空间转换为HSV空间;其次,对HSV空间的H、S、V3个分量进行非等间隔量化,根据3分量对光照敏感程度的不同分别将它们设置不同量化等级,如色调H的量化等级设为8,将饱和度S和亮度V的量化等级都设为3,量化公式为
(1)
按照上述量化式(1),将3个分量合成为一维特征矢量Q
Q=9H+3S+V
最后,计算经量化后的一维矢量Q上各种颜色分量所占的比例,即获取8×3×3=72 bin的一维颜色直方图,为接下来目标图像与源图像的匹配做准备。
2.1.2 颜色特征的相似性度量
相关匹配法是一种衡量两种特征相似程度的度量方法,计算公式如式(2)所示
(2)
其中,H1表示目标图像颜色直方图特征;H2表示源图像颜色直方图特征;d(H1,H2)表示两者的相似性度量值,该数值越大表明匹配程度越好。通过计算找到d(H1,H2)取得最大值时对应的像素点即为最佳匹配点,并以该点为中心,标定出目标图像在源图像中出现的大概位置。
在上一步粗略定位的基础上,采用SURF算法计算出目标图像的SURF特征点和已标定的区域内源图像的SURF特征点,并将这些特征点赋予一定的主方向,以特征描述子的形式表示出了,最后采用Hessian矩阵的迹与欧式距离相结合的相似性度量法来完成目标图像的定位。SURF算法的实现步骤包括:(1)特征点的检测;(2)特征描述子生成;(3)特征匹配。
2.2.1 SURF特征点的检测
为了检测目标图像的SURF特征点,需要建立图像不同的尺度空间[10]。将一幅二维图像I(x,y)与高斯核函数G(x,y,σ)做卷积运算,如式(3)所示,即得到图像不同的尺度空间
L(x,y,σ)=I(x,y)×G(x,y,σ)
(3)
在尺度空间的每一层上采用Hessian矩阵来采集图像的极值点,对二维图像I(x,y)上的任意一点X(x,y),在不同空间尺度σ上,Hessian矩阵的定义如下
(4)
其中,LXX(X,σ)表示图像上的点X(x,y)分别与二阶偏导的卷积结果,同理LXy(X,σ)和Lyy(X,σ)亦是。为了降低计算的复杂度,SURF算法采用箱式滤波器模型中矩形波来代替二阶高斯滤波[11],同时引入积分图像的概念加速了卷积的运算速度。因此图像I(x,y)上的任一点X(x,y)分别与箱式滤波模版的二阶偏导做卷积的结果记为DXX、DXY和DYY来代替LXX(X,σ)、LXy(X,σ)和Lyy(X,σ),故Hessian的行列式为
det(Hessian)=Dxx×Dyy-(ωDxy)
(5)
其中,ω表示权重系数,一般记做0.9。在利用Hessian矩阵求出极值后,对这些点进行非极值抑制处理,即将该极值点与3×3×3的立体邻域内26个值做比较选出极大或极小值点,才能作为候选区的SURF特征点。
2.2.2 SURF特征描述子生成
SURF特征描述子[12-13]的生成分为两个步骤:主方向的确定和描述子向量的生成。首先,以特征点为中心半径为6σ(σ为特征点所在的尺度值)的圆形域邻域内,计算像素点在x,y方向上的Haar小波响应值并对它们进行加权统计,再从x轴开始将圆形区域60°范围内的Haar小波响应值叠加,得到一个新的矢量记做矢量L1如图1所示。以同样的方式每隔5°遍历整个圆域,计算360/5=72个不同矢量L1,L2,…,L72,再从这72个矢量中选择最长的矢量方向作为该特征点的主方向。
图1 特征点主方向确定
其次,描述子向量的生成,以特征点为中心将坐标轴旋转到主方向,取边长为20σ的正方形区域,将该区域划分为4×4的子区域,如图2所示。
图2 特征点描述子的生成
统计每个子区域内像素点在X轴方向和Y轴方向的Haar小波响应值,并分别记做dx和dy,再对这些值进行加权、求和操作,即得到∑dx、∑|dx|、∑dy和∑|dy|,于是在子区域中就生成特征点描述符的特征向量V如式(6)所示,若将16个区域的向量都加入特征向量中,就变成16×4=64维特征向量
V=(∑ds,∑d|x|,∑dy,∑d|y|)
(6)
2.2.3 SURF特征匹配
在特征描述子生成之后,就要对目标图像和源图像的SURF特征描述子进行相似度匹配操作,该过程分为两步:首先选用Hessian矩阵迹进行特征点的初步匹配,因为对比度相同的特征点对应的Hessian矩阵迹(即矩阵对角元素之和)互为同号;而对比度不同的特征点对应的Hessian矩阵迹互为异号,所以根据这一特性将目标图像与源图像特征点比较,选择出Hessian矩阵迹互为同号的特征对,放弃互为异号的特征对;然后,对上一步选择下来的特征对,再采用欧氏距离匹配法进行相似度判断,最终找到两幅图像中特征点的一一对应关系,欧氏距离如式(7)所示
(7)
上式中,Xim表示目标图中第i个特征描述子的第m个元素;Xjk表示源图像中第j个特征描述子的第k个元素,n表示特征向量的维数64。首先计算目标图像上的特征点到源图像中的所有特征点的欧氏距离,通过比较得出最小欧氏距离Da1和次最小欧氏距离Da2。然后,取最小欧氏距离和次最小欧氏距离的比值Da1/Da2与设定阈值0.7作比较,若小于阈值则证明目标图像上的该特征点与源图像上最小欧氏距离对应点是匹配的;否则不匹配。
因此,CH-SURF算法结合了颜色直方图特征和SURF特征的互补性关系,在模糊定位的基础上采用SURF匹配算法,最终实现了对目标图像定位。
为验证CH-SURF算法的有效性,本文选用VS2008作为实验平台结合Opencv2.3视觉函数库[14-15]进行仿真实验。实验源图像为JPEG格式的汽车图片,待匹配的目标图像是源图像中的3个不同颜色的汽车Car01,Car02和Car03如图3所示。
图3 待匹配的目标图像
3.1.1 CH-SURF算法特征匹配结果
采用CH-SURF算法完成对目标图像的定位操作,其实现过程是先通过颜色直方图匹配的方法粗略定位出目标的大致位置,然后在此基础上选用SURF 算法来实现目标精确定位,实验结果如图4所示,其中,方框表示粗定位过程中大致确定的目标图像位置,圆圈表示在目标图像和矩形框内的源图像中提取的SURF特征点,最后通过直线将满足匹配条件的特征点连在一起。
图4 CH-SURF算法匹配结果
3.1.2 SURF特征匹配结果
SURF算法是在整个源图像的区域内提取所有的特征点,并将这些特征点与目标图像特征点进行相似度匹配的过程,该算法的特征匹配结果如图5所示。
图5 SURF算法匹配结果
其中小圆圈表示目标图像和源图像中提取到的所有SURF特征点,直线将能够满足相似度匹配要求的特征点连在一起,完成目标定位操作,但由于SURF算法特征点提取数目比较多、匹配计算量大,且由于SURF算法丢失了颜色信息,因此不能很好的识别形状相似但颜色不同的物体特征,易出现误匹配的现象,如图5中的car02情况。
CH-SURF算法和SURF算法的主要不同在于前者是建立在颜色匹配法粗略定位的基础之上,再在标定的区域内完成SURF特征匹配的;而后者则是直接采用SURF算法在整幅图像上完成目标定位的。因此两种算法对于目标图像提取的特征点数目是一样的,故只需比较CH-SURF算法与SURF算法对于源图像特征提取的性能指标即可,通过实验对两种算法的特征点提取数目及时间进行统计测试结果如表1和表2所示。
表1 两种算法对源图像提取特征点数目对比
如表1所示,CH-SURF算法提取特征点数目明显比SURF算法要少,以Car01,Car02和Car03为例,该算法提取源图像特征点数目分别从SURF所需要的406个减少到54个、38个和41个,数目减少比率分别为86.69%、90.64%和89.90%。
表2 两种算法对源图像特征提取时间的对比
从表2亦可得出,CH-SURF算法与SURF算法相比特征点提取时间分别从148.017 ms、147.13 2ms和146.997 ms减少到22.819 6 ms、21.774 1 ms和22.332 4 ms,减少比率分别为82.56%、85.20% 和84.81%。经分析可知,采用CH-SURF算法实现目标图像定位的过程中,特征点提取所耗时间在20~25 ms之间波动;而采用SURF算法特征点提取所耗时间则在141~151 ms之间波动。
本文采用一种基于颜色直方图特征与SURF特征相结合的CH-SURF算法来实现目标图像的定位操作,并通过实验对该算法进行仿真实验。结果表明,该算法结合了颜色特征和SURF特征的互补性关系,改善了SURF特征匹配法对颜色不敏感的问题,同时由于CH-SURF算法在模糊定位的基础上实现特征点匹配的过程,使得源图像特征点提取的数目降低89%,特征点匹配的时间减少了84%,证明了该算法是有效的。
[1] 刘桥,杨正坤,李晗.基于SURF算法的医学图像特征点匹配[J].电子科技,2014,27(5):145-149.
[2] 时培弘,董淑福,单勇.一种基于改进SURF特征描述子的快速算法[J].电子科技,2015,28(10):8-10.
[3] 朱奇光,张朋珍,李昊立,等.基于全局和局部特征融合的图像匹配算法研究[J].仪器仪表学报,2016,37(1):170-176.
[4] 李娟.基于特征描述子的匹配方法[J].电子科技,2012, 25(6):79-82.
[5] 王招娣.基于SURF和颜色特征的图像匹配算法研究[D].郑州:郑州大学,2014.
[6] 顾大龙.基于SURF的图像配准技术可行性研究[J].现代电子技术,2015(6):94-96.
[7] 赵启.图像匹配算法研究[D].西安:西安电子科技大学,2013.
[8] 赵璐璐,耿国华,李康,何阿静.基于SURF和快速近似最近邻搜索的图像匹配算法[J].计算机应用研究,2013,30(3):921-923.
[9] 侯晓丽.基于局部特征的图像匹配算法研究[D].西安:西安电子科技大学,2014.
[10] 曾朝阳,程相正,陈杭,宋一铄.基于改进SURF算子的高低分辨率图像配准方法[J].激光与红外,2014 (2):207-212.
[11] Zhang J W,Wang G G.Image matching using a bat algorithm with mutation[J].Applied Mechanics & Materials,2012,203(1):88-93.
[12] 林怡,应旻,杨业,等.改进的SURF算法在彩色车载影像匹配中的应用[J].同济大学学报:自然科学版,2014,42(4):624-629
[13] 李炀,翟社平.改进的SIFT图像匹配算法[J].计算机技术与发展,2016,26(11):58-62.
[14] 葛林.基于ARM9和OpenCV的视频监控系统的研究[D].武汉:湖北工业大学,2013.
[15] 杨俊,彭馨仪,马少天.基于OpenCV识别库的面部图像识别系统的设计[J].科技创新与应用,2014 (19):41-43.
Image Matching Algorithm based on Color and SURF Feature
WANG Zhaodi,WANG Xianli,YANG Shuqiang
(School of Physics and Electronic Information,Luoyang Normal University,Luoyang 471934,China)
Since SURF (Speeded-Up Robust Features) algorithm is designed for gray images in feature extraction and recognition tasks, it can’t recognize some objects of similar shape but different color. CH-SURF algorithm is proposed,which combines color histogram feature and SURF feature together.CH-SURF algorithm firstly chooses color histogram feature of target image to reach rough localization, then in the defined small pixel region, uses SURF algorithm to achieve feature matching. Finally simulation experiments are carried out under vs2008 platform, and results show that the proposed algorithm has lower computation time than the original SURF. At the same time,it can improve the accuracy of feature matching to some extent.
color histogram; SURF; feature matching; Opencv;VS2008
2017- 02- 16
河南省科技厅基础与前沿技术研究项目(112102310530);河南省高等学校重点科研项目(14A510012)
王招娣(1988-),女,硕士,助教。研究方向:嵌入式系统应用等。王贤立(1985-),男,硕士,助教。研究方向:风电、光伏发电等新能源发电与微电网。杨数强(1976-),男,硕士,副教授。研究方向:信号获取与处理技术,数字图像处理。
10.16180/j.cnki.issn1007-7820.2017.12.018
TP391.41
A
1007-7820(2017)12-067-04