孫健鈞, 趙 巖, 王世剛
(吉林大學 通信工程學院, 長春 130012)
圖像局部特征描述子廣泛應用于圖像拼接、 目標跟蹤[1]、 遙感影像配準[2]、 圖像檢索及大數據條件下應用局部特征的視頻圖像壓縮中. 目前局部特征提取方法主要有: 尺度不變特征轉換(SIFT)算法、 加速魯棒特性(SURF)算法、 MSER(maximally state extrernal regions)算法等. 在這些局部特征提取方法中, SIFT算法性能最好, SURF算法雖然計算速度快, 但與MSER算法一樣不具有尺度不變性[3]. 由于SIFT算法對圖像尺度、 仿射變換、 視角及光照變化均具有不變性[4], 因此改進SIFT特征匹配算法可使其具有更優良的性能. 目前, SIFT特征匹配算法的改進算法已有很多: 穩健性高的PCA-SIFT算法、 用于行人識別的方向梯度直方圖(HOG)算法, 適用于分辨率變化較大和旋轉情況的SURF方法, 用于實時處理的并行遞歸高斯SIFT算法[5]以及雙向SIFT特征匹配算法[6]等. 這些SIFT特征匹配改進方法都是針對不同的應用條件對算法進行的改進. 但SIFT特征匹配算法作為一種局部特征提取算法不可能避免因為背景相似、 無明顯標志物等原因引起的誤匹配[7]. 如果圖像中存在局部紋理相似的區域, SIFT特征匹配算法得到的特征向量就有很大的相似性, 導致誤匹配. 誤匹配說明提取的點的準確性有待提高. 為了減少誤匹配, 人們提出了基于幾何相似性的改進方法[8]、 利用全局紋理的Contourlet-SIFT方法[9]以及根據源進行誤匹配消除的方法[10].
圖像梯度是穩定的二階圖像屬性, 由于梯度圖直接進行匹配的效果非常差, 且傳統的梯度計算方法[11]對算子本身進行了邊緣強化處理[12], 因此并不適用于SIFT匹配. 本文使用一種適于SIFT特征點提取的梯度算法計算出所需的梯度圖并融合于原圖中, 以強化圖像的梯度信息, 有效減少誤匹配, 達到提高匹配率的效果. 實驗結果表明, 該方法明顯提高了提取特征點的準確性.
在采用SIFT算法進行特征點匹配時, 可通過距離比值法和隨機抽樣一致(RANSAC)算法篩選并去除一些不正確的匹配點[13-14]. 強化圖像的梯度信息可增加描述子相似而實際紋理特征明顯不同的描述子之間的差異, 使特征描述子更具獨特性, 從而避免一部分特征點的誤匹配. 改進的SIFT特征提取算法流程如圖1所示.

圖1 改進算法流程Fig.1 Flow chart of improved algorithm
圖像梯度是一種常見的圖像信息描述方法, 它表示當前像素與周圍像素的差異情況. 梯度越大, 則當前像素與周圍像素的差異越大, 表示該像素位于圖像中的邊緣區域, 包含的信息量越大; 梯度越小, 當前像素與周圍像素的差異越小, 表示該像素位于圖像中的平滑區域, 該像素包含的信息量越少. 梯度圖就是將當前像素與周圍像素的差異作為圖像灰度的一種圖像, 其灰度值實際上即為當前像素和周圍像素的灰度差異值.
梯度計算公式為
其中:G表示梯度圖的梯度值;B表示原圖的灰度值;i和j分別表示行、 列序號. 式(1)表示第一列的梯度值是原圖第二列減去第一列得出的; 式(2)表示從第二列開始每列的梯度值等于其對應原圖位置的后一列減去其前一列, 然后除以2; 式(3)表示最后一列的梯度值是通過原圖最后一列減去倒數第二列得出的. 這樣處理得到的梯度圖適用于SIFT匹配. 該梯度的求法不偏重于邊緣, 而更注重求取梯度時保留圖像原來的細節特征, 防止對SIFT匹配產生不良影響.
SIFT算法認為邊緣點和角點是不穩定的特征點, 而本文算法采用梯度圖, 相互矛盾. 為解決該矛盾, 即既想引入梯度這一穩定特征, 使特征點的提取更準確, 又不影響保持原圖的細節, 本文使用一種簡單的加權疊加方法: 把梯度圖的灰度值取0.5倍與原圖疊加. 經過大量實驗證實該簡單加權疊加方法可行. 當權值過低時, 對原圖影響較大, 效果略低于原算法的匹配率; 權值過高又會影響圖像本身的細節. 實驗選取不同的權值時, 部分匹配結果列于表1(表1中圖號對應實驗結果分析中的圖號).

表1 不同權值匹配率(%)對比
加權疊加公式為
Ii,j=Bi,j+0.5×Gi,j,
(4)
其中:I表示疊加后圖像的灰度值;B表示原圖的灰度值;G表示梯度圖的梯度值;i和j分別表示行、 列序號. 加權疊加后, 對圖像進行歸一化處理, 使其取值范圍在0~255之間.
在加入梯度信息后還要對圖像進行去噪處理, 因為計算得出的梯度圖含有噪聲, 會影響描述子的準確性. 目前圖像的去噪方法主要有中值濾波和高斯模糊等. 中值濾波對椒鹽噪聲的濾除性能較好, 但無法適應包含復雜噪聲的圖像; 高斯濾波雖然對椒鹽噪聲濾除性能較差, 但對多種噪聲同時具備一定的適應性. 因此, 高斯濾波的綜合性能更好, 也更適合SIFT算法.
高斯模糊采用的高斯核公式為
(5)
取σ=1.2, 即可計算出本文高斯核矩陣為

以本文梯度算法求出梯度圖, 把梯度信息以0.5為權值疊加到原圖上, 歸一化后利用高斯模糊去噪, 即可實現圖像特征提取.
為了驗證本文改進算法的性能, 在VS2012的編譯環境下進行改進算法與原算法及Contourlet-SIFT方法的對比實驗. 實驗用圖來源于牛津大學SIFT算法及全景拼接測試用圖和Mikolajczyk數據集. 實驗過程中對背景復雜、 含光照變化、 旋轉、 視角變化和噪聲的5類圖像進行比較, 結果表明, 對于以上圖像, 改進算法具有較好的適應性. 但對于特征不明顯的情形和原算法一樣效果不佳. 本文目的是提高特征點提取的準確性, 所以采用匹配率衡量改進后算法的性能.
對視角變化具有一定的穩定性是傳統SIFT算法的突出優點, 如圖2所示的兩張遙控賽車圖片, 拍攝角度約有25°的改變, 傳統算法和改進算法匹配率均較低, 但改進算法的匹配率提高了9.05%.
圖3為圖像加入了高斯噪聲和椒鹽噪聲的實驗結果. 使用傳統算法該圖組匹配率為82.05%, 改進算法的匹配率為87.72%, 提升了5.67%.
圖4為含復雜背景的圖像匹配對比結果. 由圖4可見, 增加的匹配點集中在樓房和特征明顯的樹木上, 改進后山巒的邊緣也檢測到了更多的特征點. 但對于遠景中較復雜的背景部分并沒有較大改善, 總體上匹配率提升了7.09%. 這體現了本文算法的優勢和局限性, 因為強化了圖像的梯度信息, 所以對于特征明顯的部分匹配率提升較大, 但本文算法仍未能解決傳統SIFT算法對于復雜背景或者特征不明顯部分匹配率低的問題[15].

圖2 含視角變化的圖像匹配對比Fig.2 Comparisons of image matching with different visual angles

圖3 含有椒鹽噪聲和高斯噪聲的圖像匹配對比Fig.3 Comparisons of image matching with salt and pepper noise and Gauss noise

圖4 含復雜背景的圖像匹配對比Fig.4 Comparisons of image matching with complex background
因為不同光源帶來的非線性光照變化會產生違反普通反射定律的陰影, SIFT算法對光照變化和反色情況的效果有待改善. 圖5為含光照變化的圖像匹配對比. 由圖5可見, 對于光照變化的情況, 本文算法的匹配率略有提升, 提升了4.54%.

圖5 含光照變化的圖像匹配對比Fig.5 Comparisons of image matching with illumination changes
旋轉匹配結果如圖6所示. 由圖6可見, 本文算法具有更好的旋轉不變性, 傳統SIFT算法在該圖組匹配率僅為52.94%, 而使用本文算法匹配率提升了19.90%. 對于旋轉圖組, 匹配率提升均較大, 平均提升12%.

圖6 含圖像旋轉的匹配結果對比Fig.6 Comparisons of matching results with image rotation
為了進一步檢驗改進算法的性能, 圖7給出了本文算法與文獻[9]中Contourlet-SIFT算法的匹配結果比較.

圖7 本文改進算法與文獻[9]中算法匹配結果對比Fig.7 Comparisons of matching results between improved algorithm in this paper and literature [9]
本文算法、 傳統SIFT算法及Contourlet-SIFT算法的實驗結果對比列于表2. 由表2可見, 原算法對于該圖組的匹配率是98.07%, Contourlet-SIFT算法的匹配率提升至99.57%, 而本文算法的匹配率則達到100%. Contourlet-SIFT算法匹配耗時0.780 s, 本文算法要額外消耗0.254 s. 因此, 本文算法的匹配率更高, 但效率不及Contourlet-SIFT算法.

表2 改進算法與傳統SIFT算法及Contourlet-SIFT算法的實驗結果對比
本文算法與傳統SIFT算法的匹配率對比結果列于表3. 由表3可見, 本文改進算法在視角、 旋轉不變性上均較傳統SIFT算法有明顯優勢, 但其對亮度變化的圖像匹配率提升不明顯, 對于有噪聲的圖像匹配率有顯著提升. 改進算法對含有樓房、 車輛或其他邊緣明顯特征物的圖像提升效果較明顯, 匹配率可以提升約5%~20%, 對大量圖像進行檢測平均匹配率也能提升5%.

表3 本文算法與傳統SIFT算法的匹配率(%)對比
本文算法與傳統SIFT算法提取特征點并匹配的時間對比列于表4. 由表4可見, 本文算法并未提高算法的復雜度.

表4 本文算法與傳統SIFT算法的時間(s)對比
綜上所述, 為了提高SIFT特征匹配算法的匹配率, 使其特征點提取的準確性更高, 本文提出了一種先求原圖的梯度圖, 然后把梯度信息融入原圖, 再進行SIFT特征匹配的改進算法. 與傳統SIFT算法相比, 本文算法在提高特征點的準確性和匹配率的同時未增加算法復雜度, 適用于多數圖像的匹配.
[1] 顏雪軍, 趙春霞, 袁夏. 一種魯棒的基于圖像對比度的局部特征描述方法 [J]. 電子與信息學報, 2014, 36(4): 882-887. (YAN Xuejun, ZHAO Chunxia, YUAN Xia. A Robust Local Feature Descriptor Based on Image Contrast [J]. Journal of Electronics & Information Technology, 2014, 36(4): 882-887.)
[2] 夏英, 唐小英. 中低分辨率遙感影像控制點對自動提取方法 [J]. 重慶郵電大學學報(自然科學版), 2014, 26(2): 238-242. (XIA Ying, TANG Xiaoying. Extracting Method of Control Point Pairs for Medium and Low Resolution Remote Sensing Image [J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2014, 26(2): 238-242.)
[3] 張毅, 童學容, 羅元. 一種改進SURF算法的單目視覺里程計 [J]. 重慶郵電大學學報(自然科學版), 2014, 26(3): 390-396. (ZHANG Yi, TONG Xuerong, LUO Yuan. A Novel Monocular Visual Odometry Method Based on Improved SURF Algorithm [J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2014, 26(3): 390-396.)
[4] 雷俊峰, 朱月苓, 肖進勝, 等. 基于主方向梯度的SIFT算法匹配的優化 [J]. 計算機工程與應用, 2015, 51(13): 149-152. (LEI Junfeng, ZHU Yueling, XIAO Jinsheng, et al. Improved of SIFT Matching Algorithm Based on Main Gradient of Direction [J]. Computer Engineering and Applications, 2015, 51(13): 149-152.)
[5] LUO Yong, YE Zhengyuan, CHEN Yuanzhi. Efficient Parallel Recursive Gaussian SIFT Algorithm Based on Multi-core DSP [C]//2015 IEEE 5th International Conference on Electronics Information and Emergency Communication. Piscataway, NJ: IEEE, 2015: 402-405.
[6] 安婷, 賀一民, 張志毅. 改進的雙向SIFT特征匹配算法 [J]. 計算機工程與科學, 2016, 38(1): 138-143. (AN Ting, HE Yimin, ZHANG Zhiyi. An Improved Bidirectional SIFT Feature Matching Algorithm [J]. Computer Engineering & Science, 2016, 38(1): 138-143.)
[7] 張良, 王海麗, 吳仁彪. 基于改進局部不變特征的興趣點匹配 [J]. 電子與信息學報, 2009, 31(11): 2620-2625. (ZHANG Liang, WANG Haili, WU Renbiao. Matching of Interesting Points Based on Improved SIFT Algorithm [J]. Journal of Electronics & Information Technology, 2009, 31(11): 2620-2625.)
[8] LI Jinke, WANG Gang. An Improved SIFT Matching Algorithm Based on Geometric Similarity [C]//2015 IEEE 5th International Conference on Electronics Information and Emergency Communication. Piscataway, NJ: IEEE, 2015: 16-19.
[9] 陳抒瑢, 李勃, 董蓉, 等. Contourlet-SIFT特征匹配算法 [J]. 電子與信息學報, 2013, 35(5): 1215-1221. (CHEN Shurong, LI Bo, DONG Rong, et al. Contourlet-SIFT Feature Matching Algorithm [J]. Journal of Electronics & Information Technology, 2013, 35(5): 1215-1221.)
[10] MENG Qingsong, Lü Zhihui. An Image Registration Method Based on Improved SIFT Algorithm [C]//2015 Seventh International Conference on Advanced Communication and Networking. Piscataway, NJ: IEEE, 2015: 7-10.
[11] 樊養余, 雷濤, 張辰銳, 等. 基于自適應矢量參數的彩色圖像梯度計算方法 [J]. 西北工業大學學報, 2012, 30(6): 919-925. (FAN Yangyu, LEI Tao, ZHANG Chenrui, et al. A New Method for Calculating Color Image Gradient with Adaptive Vector Parameters [J]. Journal of Northwestern Polytechnical University, 2012, 30(6): 919-925.)
[12] 張春雪. 圖像的邊緣檢測方法研究 [D]. 無錫: 江南大學, 2011. (ZHANG Chunxue. Research on Image Edge Detection Method [D]. Wuxi: Jiangnan University, 2011.)
[13] Lowe D. Distinctive Image Features from Scale-Invariant Keypoints [J]. International Journal of Computer Vision, 2004, 60(2): 91-110.
[14] 汪松. 基于SIFT算法的圖像匹配算法研究 [D]. 西安: 西安電子科技大學, 2013. (WANG Song. Research on Image Matching Algorithm Based on SIFT Algorithm [D]. Xi’an: Xidian University, 2013.)
[15] WANG Xiaoli, LIU Dongmei, WANG Lirong. A Feature Point Matching Algorithm for Complex Background Image [C]//2015 IEEE 5th International Conference on Big Data and Cloud Computing. Piscataway, NJ: IEEE, 2015: 243-247.