陳瑞林,張曉燕,游通意
(廈門大學嘉庚學院信息科學與技術學院,福建漳州,363105)
圖像匹配( Image matching)是指同一目標的兩幅(或者兩幅以上)圖像在位置上的對準。圖像匹配在航天技術、地信息系統(tǒng)、圖像鑲嵌、圖像合成、目標識別、醫(yī)學圖像分析、機器人視覺、虛擬現(xiàn)實等領域都有廣泛應用。圖像匹配技術的分類主要有兩個大類,一個是灰度匹配,再一個就是特征匹配。基于特征的圖像匹配算法能夠克服光線、角度以及距離的差別,成為圖像匹配的主要實現(xiàn)算法。2018年,完文韜、楊成禹提出了一種提高SIFT算法匹配準確率的算法。該算法有效地提高了特征點匹配地準確率,減少了誤匹配特征點地數(shù)量[1]。2019 年,一種基于 ORB(Oriented Fast and Rotated Short)和RANSAC融合的改進快速圖像配準算法被提出,該算法解決了原ORB算法配準率較低的問題。同時,隨機樣本一致性(RANSAC)算法的不穩(wěn)定性問題也得到了一定程度上的解決[2]。2019年,王曉華、方琪等人提出一種基于網(wǎng)格運動統(tǒng)計的改進快速魯棒特征圖像匹配算法,該算法運用Hessian矩陣行列式確定圖像中的特征點,采用梯度方向改進SURF中的主方向提取方法,提高了特征點主方向的準確性。同時,在圖像發(fā)生尺度,光照,旋轉(zhuǎn)等變化時匹配準確率與效率也有了一定提高[3]。雖然關于圖像匹配提出的方法很多,但是能滿足高效率、高精度、復雜度低的圖像匹配算法仍然有待研究。本文對各種特征點提取和匹配算法進行了對比分析,在此之上提出了一種改進的圖像匹配算法,提高了匹配算法的魯棒性。
圖像特征點檢測方法主要有SIFT、SURF、ORB、BRISK等方法。SIFT即尺度不變特征變換,是由David Lowe在1999年時提出的并于2004年完善。SIFT特征具有尺度不變性,可在圖像中檢測出關鍵點,是一種局部特征描述子。SURF(Speeded Up Robust Features)特征是對 SIFT特征的進一步優(yōu)化,簡化了計算量,保持了較高的性能,是性價比很不錯的算法。ORB特征是將FAST特征點的檢測方法與BRIEF特征描述子結(jié)合起來,并在它們原來的基礎上做了改進與優(yōu)化。BRISK算 法 是 2011年 ICCV上《BRISK:Binary Robust Invariant Scalable Keypoints》文章中,提出來的一種特征提取算法,也是一種二進制的特征描述算子。它具有較好的旋轉(zhuǎn)不變性、尺度不變性,較好的魯棒性等。在對有較大模糊的圖像特征檢測時,BRISK算法在其中表現(xiàn)最為出色。本文對上述特征檢測算法進行了對比分析。
圖1 不同特征提取算法效果對比
從表1中看見,ORB特征點提取的數(shù)量以及消耗時間相較于SIFT算法大有提升。BRISK算法的速度比SIFT快,但相較于ORB算法的速度慢,總體提取特征點的數(shù)量好于SIFT。
表1 大本鐘提取與匹配時間
暴力匹配是逐個選取特征點對另一組特征點集進行匹配,然后再反過來對使用過的特征點進行匹配,如果匹配到的點為第一次匹配到的點的話則完成了一次匹配。暴力匹配的原理十分簡單,但計算量以及精確度有待提高。KNN匹配算法即K近鄰匹配。在匹配的時候選K個與特征點最相似的點,如果這K個點互相區(qū)別足夠大,則選擇最為相似的點作為匹配。本文對不同的匹配算法進行分析,結(jié)果如圖2所示。
圖2 不同特征匹配算法效果對比
圖上可以看出SIFT算法采用暴力匹配的效果較差,BRISK和ORB算法暴力匹配結(jié)果稍好一些,可以發(fā)現(xiàn)當圖像中物體較多時暴力匹配精確度較低。
對圖像提取ORB特征,分別基于KNN、暴力匹配對比分析,大部分圖像KNN匹配的精度明顯要高一些,兩者的匹配速度沒有明顯差異,基本上是KNN匹配略微快于暴力匹配。
圖3 ORB基于不同特征匹配方法的效果對比
從以上這些效果圖可以看出,匹配精度提高了很多。
表2 大本鐘提取與匹配時間
在特征點提取和特征點匹配上有著許多算法,基本都較為成熟,但缺陷也都比較明確,很難達到效率、精度兩全其美,只能是在兩者的平衡上去適配各個不同場景的需求。Harris算法在提取圖像特征點方面有廣泛地應用,而本文對Harris算法進行了改進,之后再結(jié)合KLT(Kanade-Lucas-Tomasi Tracking)特征跟蹤算法對特征點進行跟蹤。
人眼對角點的識別通常是通過一個局部的小窗口內(nèi)完成的,如果在各個方向上移動這個小窗口,窗口內(nèi)的灰度發(fā)生了較大的變化,那么說明窗口內(nèi)存在角點。而Harris算法首先就是要將窗口(小的圖像片段)同時向x和y兩個方向移動,計算窗口內(nèi)部的像素值變化量E(u,v);然后對每個窗口都計算一個角點響應函數(shù)R,具體公式如下:
其中λ1和λ(2特征值)是經(jīng)過對角化處理后,提取出的兩個正交方向的變化分量,k是一個經(jīng)驗常數(shù),將R值同預先給定的閾值進行比較,將窗口劃分成平面、邊緣或角點。然后對該函數(shù)進行閾值處理,如果R>threshold,表示該窗口對應一個角點特征。從公式可看出,Harris算法的穩(wěn)定性和k值有關,而k是一個經(jīng)驗常數(shù),難以設定出一個最佳值。
但是,角點的穩(wěn)定性其實和矩陣M的較小特征值有關,直接用較小的特征值作為分數(shù),就不用調(diào)整k值了。因此對特征提取進行了一定的改進,若兩個特征值中較小的一個大于最小閾值,則會得到強角點,公式如下:
提 取 出 特 征 點 后,采 用 KLT(Kanade-Lucas-Tomasi Tracking)特征跟蹤算法進行跟蹤。 KLT特征跟蹤算法考慮一個像素I(x,y,t)在第一幀的光強度(其中t代表其所在的時間維度)。它移動了(dx,dy)的距離到下一幀,用了dt時間。因為是同一個像素點,因此我們認為該像素在運動前后的光強度是不變的,即:
其中,(u,v)即為所求光流矢量。由此求出了光流約束方程。通過初始化點跟蹤器,對點進行跟蹤,可視圖像特征點之間的對應關系。
按照本文算法對大本鐘圖像序列進行了操作,結(jié)果如圖4(a)所示,把特征篩選和提取方面改成結(jié)合BRISK算法和最小平方中位數(shù)[5]進行匹配,結(jié)果如圖4(b)。采用FAST特征和抽樣一致[6]兩種算法進行匹配,得到的結(jié)果如圖4 (c)。
圖4 實驗結(jié)果與原序列圖像對比分析
比較這三種算法重建的結(jié)果,可以看出本文的方法在特征點提取與匹配以及精度等方面有了一定的提升。從提取的特征點數(shù)來說,本文的方法最終提取的特征點數(shù)為121,結(jié)合BRISK算法和最小平方中位數(shù)提取出的特征點數(shù)為41,采用FAST特征和抽樣一致提取的特征點數(shù)為29。由此也可以更明顯地對比出本文方法具有一定的優(yōu)勢。
本文對各種特征點提取和匹配算法進行了對比分析,在此之上提出了一種改進的特征提取以及圖像匹配算法。也通過對實驗的結(jié)果對比分析,證實了本文方法能夠提高特征點的提取數(shù)量和質(zhì)量,能夠在一定程度上提高匹配算法的精度。