图像匹配作为工业、农业、商业以及军事领域中不可缺少的一项重要研究手段,近年来一直被人们不断进行深入探索,在国内外主要有以下几个手段:颜色或灰度特征提取、纹理边缘特征提取、图像代数特征提取、图像变换系数特征提取[1]。其中,SIFT算法以其受光照强度影响小,对目标遮挡处理结果好,良好的鲁棒性以及实时高速的特点,在特征点检测中被许多学者广泛应用。文献[2]提出SIFT算法通过确定尺度空间、检测关键点位置、确定关键点位置以及对选取关键点描述几个步骤,最终实现图像匹配。然而SIFT算法也存在缺陷,SIFT算法中利用DOG算子进行边缘检测后所得到的关键点,由于边缘响应的原因,有很多并不是真正的关键点。在边缘检测中,Canny算子具有滤波、增强以及检测等多方面优化,受到噪声干扰性小,但是Canny算子处理步骤中,利用高斯算子对图像平滑处理时,会出现过度平滑和边缘移位的情况[3]。二维的Hillbert-Huang变换用于图像分解中,可以将图像分解成对应的内蕴模函数,使边缘轮廓更加清晰。所以将Canny和Hillbert-Huang变换进行融合,两者同时检测出的关键点,即为应该选取的特征点。
1 Canny和Hillbert-Huang算法John F. Canny于1986年提出的Canny边缘检测算子,它抗噪性能好、定位精度高。Canny算子边缘检测共分为5个步骤:
1) 利用高斯滤波器对图像进行平滑滤波。
![](PIC/20150613-M1.jpg)
2) 计算图像的强度及方向。
![](PIC/20150613-M2.jpg)
![](PIC/20150613-M3.jpg)
![](PIC/20150613-M4.jpg)
![](PIC/20150613-M5.jpg)
3) 利用非极大抑制来消除错误点并得到单像素边缘点。
在图像3×3邻域中,若相邻2个点的梯度值低于当前点,则可认为该点为边缘点,标记1,否则标记为0。
4) 利用双阈值二值化得到边界。
预先设定检测需要的高低阈值,对图像进行双阈值处理,梯度幅值大于高阈值则必定是边缘,梯度值低于低阈值则必不是边缘,介于两者之间的,判断八邻域内是否存在高于高阈值的梯度幅值,存在则是边缘,否则不是。
5) 边界跟踪,得出最后边缘图像。
但是,Canny边缘检测算子较为关键的一步,用高斯滤波器进行线性平滑滤波,若高斯空间取值小时,精度高但是代价是平滑性差,噪声高[4]。
二维Hillbert-Huang(HHT)变换是当代处理非线性非平稳随机信号的有效手段。要有2个步骤:①多分辨经验模态分解(EDA);②瞬时频率求解。二维Hillbert-Huang变换应用于分解图片中,可以按照频率的高低分解出信号的IMF(intrinsic mode function)[5]。具体步骤如下:
1) 求解IMF,利用二维HHT进行图像分解,分解得到包含信息的高频部分H1与包含轮廓的低频部分
![](PIC/20150613-M6.jpg)
![](PIC/20150613-M7.jpg)
![](PIC/20150613-M8.jpg)
![](PIC/20150613-M9.jpg)
![](PIC/20150613-M10.jpg)
2) 继续利用二维HHT分解低频部分,分解成高频的信息部分H2和低频的L1。
3) 对图像轮廓进行加强。
![](PIC/20150613-M11.jpg)
4) 利用Canny算子对二维HHT变换处理后再进行边缘检测。
2 改进的SIFT算法SIFT(scale invariant feature transform)算法由David G.Lowe首次提出,在2004年对其进行总结完善。SIFT算法的核心是尺度空间不变理论,并且对于光照、遮挡、杂物场景以及图像的旋转、缩放、平移等十分容易干扰特征提取的因素,有较好地处理结果[6]。但是,该算法也存在缺陷,即利用DOG算子进行关键点定位时,会产生较强的边缘响应[7],虽然SIFT中存在消除错点这一步骤,但是与Canny和Hillbert-Huang变换处理后的边缘检测生成的边缘点比较后,仍然存在错点。于是,将SIFT算法中得到的关键点改进为利用Canny和Hillbert-Huang变换进行边缘检测获得关键点点集,将2种算法得到的关键点集进行比较,2个点集中相同的则保留,不相同的则去除关键点。改进的SIFT算法的步骤是:
1) 定义尺度空间和DOG算子。
定义尺度空间概念,用下面函数表示:
![](PIC/20150613-M12.jpg)
![](PIC/20150613-M13.jpg)
为了有效检测尺度空间中的关键点,David G.Lowe提出了DOG(different of gaussian)算子,它由不同尺度的高斯差分和与图像卷积得到。
![](PIC/20150613-M14.jpg)
2) 空间极值点检测
关键点是有DOG局部极值点组成的,关键点的初步探查是通过1组内各DOG相邻2个图层之间比较得到的。任意一个像素点都需要和它所有相邻点进行比较,需要比较相邻3×3邻域内的8个点,以及上下2层,共8+9×2=26个点。对获得的已知离散上的点进行子像素差值,并且对DOG曲线进行差值拟合,利用DOG函数在尺度空间的Taylor展开式,令方程为零,求其导数。求出对应极值点方程。
![](PIC/20150613-M15.jpg)
![](PIC/20150613-M16.jpg)
![](PIC/20150613-M17.jpg)
3) 加入Canny和Hillbert-Huang变换,确定最终特征点
消除边缘响应,得到SIFT算法检测的特征点点集R1,加入Canny和Hillbert-Huang变换对图像进行二次边缘检测,得到特征点点集R2,将2次得到的特征点进行比较,相同则留下R2中的点,不相同则将该点与R2中对应点所处在3×3邻域内的点集R3比较,相同则留下R2中的点,否则,将这个点与R2中的其他点比较。
![](PIC/20150613-M18.jpg)
![](PIC/20150613-M19.jpg)
4) 关键点描述,以及方向分配。
关键点梯度的幅值和方向:
![](PIC/20150613-M20.jpg)
![](PIC/20150613-M21.jpg)
将改进后的SIFT应用到图片处理中,对比于原来的SIFT算法,利用40幅图片进行实验,可以发现边缘检测的点得数量约减少17%,下面是其中5幅图片进行实验,利用原SIFT算法和改进的SIFT算法检测的结果。
由图 1可以得到表 1。
![]() |
图 1 原有的SIFT算法与改进后的SIFT算法的比较 |
参数 | 第1幅图 | 第2幅图 | 第3幅图 |
原SIFT特征点 | 132 | 22 929 | 1 158 |
改进SIFT特征点 | 106 | 18 788 | 933 |
除去特征点 | 26 | 4 141 | 225 |
精确率/% | 19.70 | 18.06 | 19.43 |
表 1中体现了改进后的SIFT算法提取的特征点的数目,其中第3幅图较为复杂,如果用原有的SIFT算法进行特征点提取,将会出现很多由于边缘响应产生的错点,改进后的SIFT算法不仅鲁棒性增加,更提高了精确度。
4 结 论本文中提供的算法是在原SIFT算法基础上,将Canny和Hillbert-Huang变换进行数据融合的边缘检测方法加入算法中,通过加入特征点的比较,提高了算法特征点检测的精度,使SIFT算法在图像匹配中,可以发挥更大的作用。本文提出的算法可以去除约18%~19%的边缘点,提高稳定性以及抗噪声性能。由于Canny和Hillbert-Huang变换进行数据融合,在一定程度上,算法的复杂度有所增加。本文提出的改进算法只能应用于二维灰度图像,对彩色图像的处理还要有待进一步研究。
[1] | 翟俊海,赵文秀,王熙照. 图像特征提取研究[J]. 河北大学学报,2009,29(1):106-112 Zhai Junhai, Zhao Wenxiu, Wang Xizhao. Research on the Image Feature Extraction[J]. Journal of Hebei University, 2009, 29(1): 106-112 (in Chinese) |
Cited By in Cnki (109) | Click to display the text | |
[2] | Lowe D G. Distinctive Image Features from Scale-Invariant Keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110 |
Click to display the text | |
[3] | 李楠, 周波. 结合Canny和Hilbert-Huang变换的图像边缘检测方法[J]. 计算机工程与应用, 2011, 47(8): 209-211 Li Nan, Zhou Bo. Edge Deteciton of Image Based on Canny and 2-Demension Hilbert-Huang Transform[J]. ComPuter Englneering and Appliacations, 2011, 47(8): 209-211 (in Chinese) |
Cited By in Cnki (0) | |
[4] | Koenderink Jan J, 1. Theory of "Edge-Detection"[J]. Springer Proceedings in Mathematics, 2012, (6): 35-49 |
Click to display the text | |
[5] | Norden E Huang. Hilbert-Huang Transform and Its Applications[M]. Singapore:World Scientific Publishing Co. Pte. Ltd, 2005 |
[6] | Chen Chunche, Shang Lin. Using Binarization and Hashing for Efficient SIFT Matching[J]. Journal of Visual Communication and Image Representation, 2015(30): 86-93 |
Click to display the text | |
[7] | Wang Anna, Wang Zhe, Li Shiyao. Research on a Novel Medical Image Non-Rigid Registration Method Based on Improved SIFT Algorithm[J]. Lecture Notes in Computer Science, 2010(3): 91-99 |
Click to display the text |