丁國紳,喬延利,易維寧,杜麗麗
(1. 中國科學(xué)院安徽光學(xué)精密機(jī)械研究所 通用光學(xué)定標(biāo)與表征技術(shù)重點(diǎn)實(shí)驗(yàn)室,安徽,合肥 230031;2. 中國科學(xué)技術(shù)大學(xué),安徽,合肥 230026;3. 北方自動控制技術(shù)研究所,山西,太原 030006)
圖像特征匹配是數(shù)字圖像處理中一個關(guān)鍵的基礎(chǔ)步驟,把從不同時間和空間中采集到的具有重疊部分的兩幅或多幅圖像進(jìn)行配準(zhǔn),被廣泛應(yīng)用于圖像融合、目標(biāo)檢測、三維重建等領(lǐng)域[1-3]. 影響圖像匹配結(jié)果的因素有多種,概括來說可以分為兩大類,一類是數(shù)據(jù)源的可靠性,即采集的源圖像的質(zhì)量;另一類是特征提取與匹配方法的有效性. 由于不同階段源圖像的質(zhì)量會穩(wěn)定在某個數(shù)量級,因此對于圖像特征的提取與匹配成為了圖像處理領(lǐng)域的一個重要的研究方向. 根據(jù)圖像特征屬性,特征提取方法可歸納為基于點(diǎn)、線和局部區(qū)域3種,早期經(jīng)典的特征提取方法有Moravec算子[4]、Harris算子[5]和Hog算子[6]等. 這些算子在圖像空間變換角度較小、紋理結(jié)構(gòu)較為復(fù)雜時能取得不錯的效果,但在圖像發(fā)生仿射變換或尺度空間發(fā)生變化時效果不佳. 為了解決這一問題,LOWE首次將圖像尺度空間的概念引入到圖像特征提取方法中,并于2004年正式提出尺度不變特征變換(scale invariant feature transform,SIFT)算法[7]. 相比于角點(diǎn)、紋理等特征檢測方法,SIFT算法的性能在仿射與尺度擴(kuò)展方面有了很大的提升,因此一經(jīng)提出就得到了國內(nèi)外學(xué)者的廣泛關(guān)注[8-10].雖然SIFT算法在特征提取方面具有獨(dú)特的優(yōu)勢,但是傳統(tǒng)SIFT算法依然有其缺陷,最明顯的不足就是提取到的特征點(diǎn)數(shù)量少,誤匹率高,因此各種SIFT算法的變體方法也被相繼提出.
鑒于SIFT算法對光照、噪聲等環(huán)境條件不敏感的特性,張強(qiáng)等[11]將SIFT算法引入到水下環(huán)境中,用于解決水下探測視覺系統(tǒng)的三維重構(gòu). 由于水下環(huán)境與空氣中的極限約束條件不同,提出了一種基于水體約束的圖像特征提取算法并取得了良好的結(jié)果. 耿慶田等[12]在對當(dāng)前的車輛身份識別系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行研究之后,提出了一種基于邊緣約束與整體結(jié)構(gòu)化的特征點(diǎn)提取方法,在提取特征點(diǎn)信息之后經(jīng)過SVM分類器對特征向量進(jìn)行歸類,有效地提升了特征提取的效率和識別率. YU等[13]針對合成孔徑雷達(dá)圖像存在的嚴(yán)重的斑點(diǎn)噪聲和局部變形問題,設(shè)計了一種新的非線性多尺度空間構(gòu)造策略和一種新的局部特征檢測器,通過在尺度空間構(gòu)造過程中嵌入滾動制導(dǎo)濾波器來生成多尺度圖像,為檢測到高質(zhì)量的特征點(diǎn)提供了良好的基礎(chǔ). 根據(jù)Memristor橋的LPF參數(shù)可變的特性,YU等[14]提出了基于Memristor橋的低通濾波器和改進(jìn)的圖像處理算法,用于圖像去噪的自適應(yīng)高斯濾波器和一種用于尺度不變特征變換的高斯金字塔,并且將實(shí)驗(yàn)結(jié)果與傳統(tǒng)的高斯濾波器以及傳統(tǒng)SIFT方法進(jìn)行了對比,驗(yàn)證了算法的可行性.
針對傳統(tǒng)SIFT方法提取到的特征點(diǎn)數(shù)量少的問題,本文提出了一種新的圖像金字塔構(gòu)造方式,并結(jié)合實(shí)驗(yàn)進(jìn)行了深入地分析;為了消除誤匹配的影響,設(shè)計了基準(zhǔn)匹配參照點(diǎn),有效提升了算法的特征點(diǎn)提取與匹配性能.
SIFT方法是學(xué)者LOWE在1999年首次提出并于2004年進(jìn)行總結(jié)完善的具有尺度不變性的圖像特征點(diǎn)提取方法,對于待處理圖像的旋轉(zhuǎn)、仿射以及尺度變換具有良好的包容性,因此在圖像處理特別是計算機(jī)視覺領(lǐng)域有著廣泛的應(yīng)用. 概括地說,SIFT算法可以分為以下3個步驟.
相比于角點(diǎn)檢測等其他圖像特征點(diǎn)提取方法,SIFT方法在特征點(diǎn)的提取方式上有很大的不同. 為了降低圖像尺度的變化對特征點(diǎn)匹配帶來的影響,LOWE提出了圖像尺度空間模型. 對原始圖像進(jìn)行不同程度的高斯模糊與降采樣操作,得到一系列具有不同尺度的圖像序列. 圖像尺度空間可表示為
圖像尺度空間代表了圖像像素信息的最原始分布. 要獲取比較穩(wěn)定的特征信息,利用高斯差分函數(shù)的極值特性,高斯差分金字塔被引入進(jìn)來(DOG金字塔). 在DOG金字塔中,分別比較第2、3、4層圖像與其相鄰兩層圖像在每一點(diǎn)上的像素值的大小,即3×3×3大小的3層圖像塊上的像素點(diǎn).
在某一點(diǎn)確定為圖像特征點(diǎn)之后,就需確定該特征點(diǎn)的位置方向信息. 由于提取到的特征點(diǎn)都是離散空間中的點(diǎn),真實(shí)空間中的特征點(diǎn)位置需要進(jìn)行更精確的插值計算才能確定. 因此對DOG空間函數(shù)進(jìn)行了子像素插值. 對于函數(shù)f(x),其DOG空間函數(shù)的泰勒展開式如下
式中X為位置向量,在D(X)=0時可得到該極值點(diǎn)的偏移大小
接著根據(jù)設(shè)定的閾值剔除邊緣處的極值點(diǎn),并依據(jù)模值的大小找到特征點(diǎn)的主方向
主方向的分配方式是將圓周以10°為一組,分別統(tǒng)計36組方向上的模值大小,最大的模值所在的角度為該特征點(diǎn)的主方向所在區(qū)間,最后經(jīng)過插值確定特征點(diǎn)精確的主方向.
在確定了特征點(diǎn)的主方向之后,將特征點(diǎn)所在的鄰域劃分為4×4個子區(qū)域,并且將每個子區(qū)域劃分為8個方向,計算每個區(qū)域每個方向上的梯度模值的和,得到的128維的向量即為最終的特征描述符.
在原始SIFT算法中,圖像金字塔的構(gòu)造方式是通過源圖像與目標(biāo)圖像經(jīng)過一系列的模糊操作和降采樣而得到的. 這種方式雖然能夠擴(kuò)充圖像的尺度空間,但這種處理后的圖像并不能真正表示真實(shí)世界中的圖像數(shù)據(jù),甚至反映出來的圖像特征在某些維度上是有很大的誤差的,這也是SIFT算法提取到的圖像特征點(diǎn)數(shù)量較少的原因之一. 高光譜圖像是指光譜分辨率達(dá)到10 nm以上的光譜圖像,不同波段的圖像光譜信息不同,折射到可視化的角度即表示DN值的差異. 對于同一個場景,不同波段下的高光譜圖像其所表征的目標(biāo)卻幾乎相同,具有相同的特征. 因此,受光譜圖像特性的啟發(fā),本文重新設(shè)計了高斯圖像金字塔,原始SIFT算法采用不同參數(shù)的高斯核取差,是對圖像空間性質(zhì)的一種測量方法. 本文取消了這一過程,在光譜維度上取差,用光學(xué)系統(tǒng)在光譜維度上的差異作為圖像空間性質(zhì)的測量方法.具體思路如下:
①在可見波段的范圍內(nèi),選取一組波段間隔固定的高光譜圖像作為高斯金字塔的原始輸入圖像,這里選取的圖像數(shù)量為6幅;
②不同組的高斯金字塔的圖像是由上一組的圖像直接經(jīng)過降采樣得到的,不需要經(jīng)過高斯模糊操作;
③高斯差分金字塔直接由高斯金字塔逐層相減得到,剔除高斯模糊操作.
另外,設(shè)計了不同的對比實(shí)驗(yàn),來研究高光譜圖像的波段間隔對所提取圖像特征點(diǎn)數(shù)量的影響. 圖1為重構(gòu)的光譜圖像尺度空間.
圖1 光譜圖像尺度空間Fig. 1 Spectral image scale space
在特征提取結(jié)束之后,傳統(tǒng)的SIFT算法以及諸多改進(jìn)方法大都采用比較特征描述符之間的歐氏距離或最近鄰與次近鄰的比值大小作為匹配與否的判斷依據(jù). 這種匹配準(zhǔn)則單純地利用了特征點(diǎn)特定鄰域大小內(nèi)的圖像塊像素梯度信息,雖然在很多場合能夠?qū)⑻卣鼽c(diǎn)區(qū)分開,但也存在一些不確定因素. 例如,在圖像中存在相似的兩個或數(shù)個圖像塊時,某一特征點(diǎn)的匹配結(jié)果并非是對應(yīng)的正確的匹配點(diǎn),而是其相似的圖像塊中的點(diǎn),造成誤匹配.
傳統(tǒng)的SIFT算法中,為了平衡特征點(diǎn)提取數(shù)量與匹配性能,最近鄰與次近鄰的比值大小被設(shè)為0.8.比值大于0.8時能增加匹配對數(shù)量,但同時誤匹率也會上升;小于0.8可以降低誤匹率,但正確匹配對的數(shù)量也會相應(yīng)減少. 為克服這一缺陷,本文提出了雙重位置匹配準(zhǔn)則. 具體做法是:首先采用最近鄰與次近鄰之比H,完成第一步的粗匹配,在這一步驟中,經(jīng)過實(shí)驗(yàn)驗(yàn)證將H的值設(shè)為1.0,這其中的匹配結(jié)果會包含許多誤匹配;在粗匹配完成之后,將所得的匹配結(jié)果按照相似性大小進(jìn)行排序,從排序之后的結(jié)果中選取4對相似性程度最高的匹配點(diǎn)作為基準(zhǔn)匹配對,并且得到由這4對基準(zhǔn)匹配對組合而成的2個不同的三角形;計算源圖像與目標(biāo)圖像分別關(guān)于基準(zhǔn)匹配對在該圖像上的點(diǎn)的相對位置,通過判斷計算出來的源圖像特征點(diǎn)與目標(biāo)圖像特征點(diǎn)的相對位置與匹配結(jié)果之間差異決定是否從匹配結(jié)果中剔除該匹配. 由于圖像反映的是三維空間在二維空間上的映射關(guān)系,因此本文以二維空間為例闡述雙重位置匹配準(zhǔn)則.
圖2 雙重位置匹配準(zhǔn)則Fig. 2 Double position matching criterion
令
則直線lbc與直線laq的交點(diǎn)p的坐標(biāo)等于
令
則有
由于各個點(diǎn)相對基準(zhǔn)匹配對的位置是不變的,所以有以下等式成立
判斷坐標(biāo)誤差是否在給定的閾值范圍內(nèi),若小于給定閾值,則按相同步驟計算點(diǎn)q相對于三角形(a,b,d),在(a',b',d')上的映射位置,計算其坐標(biāo)誤差δ2.當(dāng)δ1與 δ2同時小于給定閾值時,則認(rèn)為該匹配為正確匹配. 雙重匹配位置準(zhǔn)則能很好地避免在三角形的點(diǎn)趨于同一直線上時,單匹配位置準(zhǔn)則帶來的誤差較大的問題.
由于在本文的工作之前,并未發(fā)現(xiàn)有用高光譜圖像重構(gòu)圖像金字塔的工作的通用數(shù)據(jù)集,因此本文實(shí)驗(yàn)中所采用的高光譜圖像全部是由型號為IS210-0.4-1.0-L的Brimrose高光譜成像光譜儀拍攝得到,實(shí)驗(yàn)數(shù)據(jù)鏈接為https://pan.baidu.com/s/1SmWyS4BXKitQMTDzpXw5A. 實(shí)驗(yàn)環(huán)境為Windows7OS(64 bit),Intel(R) Core(TM) i5-3470CPU @ 3.20 GHz處理器,16.0 GB安裝內(nèi)存,編碼采用MatlabR2018a.
本文實(shí)驗(yàn)分為兩組,旨在驗(yàn)證文中所提方法的可行性與其意義,為后續(xù)采用SIFT方法提取圖像特征提供新的研究思路,因而并未對諸多SIFT改進(jìn)方法進(jìn)行同步實(shí)驗(yàn)對比. 實(shí)驗(yàn)中的高光譜圖像波段間隔為10~50 nm,圖像選取的原則是以800 nm波段為中心向兩邊取圖像,為了保證所在組的圖像有充分的曝光率.
圖3是SURF、SIFT和本文算法的特征點(diǎn)提取結(jié)果,從圖3可以看出,在特征點(diǎn)提取性能上本文算法明顯優(yōu)于傳統(tǒng)SIFT和SURF方法,這也是下一步如何提高有效特征點(diǎn)的占比工作的研究重點(diǎn).
圖3 特征點(diǎn)提取結(jié)果Fig. 3 Feature points extraction results
圖4和圖5分別是兩組圖像在波段間隔為25 nm、最近鄰與次近鄰比值為0.8和1.0時,傳統(tǒng)SIFT與本文提出改進(jìn)算法的特征點(diǎn)提取及匹配結(jié)果. 雙重位置匹配準(zhǔn)則中的閾值設(shè)定為3.
從圖4和圖5可以看出,傳統(tǒng)SIFT方法所提取到的圖像特征點(diǎn)數(shù)量非常少,并且伴隨著數(shù)量較多的誤匹配. 雖然最近鄰與次近鄰比值增大能增加特征點(diǎn)的數(shù)量,但誤匹配數(shù)量的相應(yīng)增加使得算法難以應(yīng)用. 表1和表2分別是在簡單與復(fù)雜目標(biāo)的條件下的圖像特征點(diǎn)匹配結(jié)果. 由于圖像波段的變化對于傳統(tǒng)SIFT算法不會產(chǎn)生影響,因此傳統(tǒng)SIFT方法的實(shí)驗(yàn)結(jié)果均在波段為800 nm的圖像下得到的. 表中SIFT-O表示傳統(tǒng)SIFT方法得到的匹配結(jié)果(包含誤匹配),SIFT-F表示經(jīng)過雙重位置匹配準(zhǔn)則篩選后的匹配結(jié)果,Dratio表示最近鄰與次近鄰之比. 由表中結(jié)果可知,當(dāng)Dratio的值增大時,雖然傳統(tǒng)SIFT算法的特征點(diǎn)匹配數(shù)量在不斷增加,但其正確匹配的數(shù)量增長緩慢甚至不會增加.
表1 不同波段間隔下簡單目標(biāo)的特征匹配結(jié)果Tab. 1 Feature matching results of simple targets in different band intervals
表2 不同波段間隔下復(fù)雜目標(biāo)的特征匹配結(jié)果Tab. 2 Feature matching results of complex targets in different band intervals
圖4 波段間隔為25 nm時的簡單目標(biāo)匹配效果圖Fig. 4 Effect drawing of simple target matching with 25 nm band interval
圖5 波段間隔為25 nm時的復(fù)雜目標(biāo)匹配效果圖Fig. 5 Effect drawing of complex target matching with 25 nm band interval
隨著圖像間波段間隔的增大,本文提出的方法的特征點(diǎn)匹配數(shù)量先增大后減小,在波段間隔為30 nm左右時達(dá)到最優(yōu),這意味著圖像之間的波段間隔并非是越大或者越小越好. 從理論上分析,當(dāng)波段間隔較大時,圖像間的差異較大,不同波段的圖像上的同一位置所對應(yīng)的目標(biāo)位置偏差較大,因此采集到的特征點(diǎn)數(shù)量會相應(yīng)減少;當(dāng)波段間隔較小(方便分析此處假設(shè)趨近于0),金字塔中每一層的圖像差異很小,則差分金字塔中的圖像數(shù)據(jù)趨近于0,因此提取到的特征點(diǎn)數(shù)量也會減少. 所以波段間隔過大或過小都會影響特征點(diǎn)提取效果,與實(shí)驗(yàn)所得結(jié)果的現(xiàn)象一致. 另外,最近鄰與次近鄰之比是目前較多采用的驗(yàn)證匹配成功與否的方法,經(jīng)過實(shí)驗(yàn)驗(yàn)證,在相同的實(shí)驗(yàn)條件下,改變源圖像與目標(biāo)圖像的順序,會極大影響最終的匹配結(jié)果,這個原因在上文中也提到過,因?yàn)榇嬖谙嗨泣c(diǎn)的原因. 為了規(guī)避這種影響,下一步工作中會著重考慮匹配方法的有效性,本文重點(diǎn)在于研究波段間隔對提取特征點(diǎn)數(shù)量的影響. 圖6為不同波段間隔下提取到的特征點(diǎn)數(shù)量曲線圖,縱軸的數(shù)量單位為萬,從圖中可清晰地看到波段間隔在30 nm左右時提取到的特征點(diǎn)數(shù)量最佳.
圖6 不同波段間隔提取到的特征點(diǎn)數(shù)量Fig. 6 The number of feature points extracted from different band intervals
特征點(diǎn)數(shù)量的增加必然會導(dǎo)致特征搜索時間花銷的增加,經(jīng)過實(shí)驗(yàn)類比,本文算法的時間花銷程度是文獻(xiàn)[15 - 16]的1~2倍. 但本文的重點(diǎn)是研究波段間隔對特征點(diǎn)提取數(shù)量的影響和雙重位置匹配策略,對于時間花銷的研究將在下一步的工作中進(jìn)行.
圖像特征提取是圖像處理中的一個關(guān)鍵的步驟,SIFT特征點(diǎn)提取與匹配方法是目前應(yīng)用較廣泛的特征點(diǎn)處理方法之一. 針對SIFT方法所存在的提取到的特征點(diǎn)數(shù)量較少、誤匹率高的問題,本文提出了一種新的思路,用高光譜圖像重構(gòu)了圖像尺度空間,并通過實(shí)驗(yàn)驗(yàn)證了本方法的可行性,而且研究了高光譜圖像的波段間隔大小對于特征點(diǎn)提取的影響,為以后的研究打下了基礎(chǔ);對于誤匹率高的問題,本文提出了雙重位置匹配準(zhǔn)則,將匹配階段分為3個部分,首先通過粗匹配將所有匹配按相似性大小進(jìn)行排序,接著找到最優(yōu)匹配對并將其設(shè)為基準(zhǔn)匹配,對后續(xù)匹配進(jìn)行校準(zhǔn),最后利用基準(zhǔn)匹配,在雙重位置匹配準(zhǔn)則的方法下進(jìn)行最后的匹配校驗(yàn),有效剔除了誤匹配,提升了算法的實(shí)用性能. 接下來的研究重點(diǎn)是解決特征點(diǎn)的提取方式問題,壓縮特征點(diǎn)提取過程中的時間花銷,全面提升算法的整體性能.