周 偉,劉 豐,劉 婧
(第二炮兵工程學(xué)院,西安 710025)
圖像特征作為圖像的表征之一被廣泛應(yīng)用于圖像處理領(lǐng)域中,尤其在多傳感圖像匹配識(shí)別中,由于二者圖像灰度差異大,采用基于灰度的匹配方法產(chǎn)生較大的誤差,而提取多傳感器圖像之間的不變特征進(jìn)行匹配,成為解決這一問題的有效途徑[1]。
尺度不變特征變換[2](scale invariant feature transform,SIFT)是目前國內(nèi)外特征點(diǎn)匹配研究領(lǐng)域的熱點(diǎn)與難點(diǎn),其匹配能力較強(qiáng),可以處理兩幅圖像之間發(fā)生平移、旋轉(zhuǎn)、仿射變換情況下的匹配問題。SIFT算法在特征檢測(cè)階段采用DoG算子檢測(cè)特征,該檢測(cè)子主要檢測(cè)團(tuán)塊類目標(biāo),但對(duì)于多源圖像,如可見光與紅外圖像,其灰度差異較大,DoG檢測(cè)到的特征重復(fù)率低,從而影響匹配率。針對(duì)這一問題,對(duì)于光學(xué)與紅外圖像,分別檢測(cè)DoG與Harris-Laplace特征,同時(shí)提出了一種改進(jìn)的DoG檢測(cè)算法,改善了特征的分布,并將兩特征用SIFT算子描述,之后進(jìn)行匹配,實(shí)驗(yàn)結(jié)果表明,文中方法有效提高了匹配率。
興趣點(diǎn)檢測(cè)是圖像匹配算法中關(guān)鍵的一步,特征并不是越多越好,過多特征在生成描述子時(shí)需要大量時(shí)間,而且還影響匹配精度。因此文中提出了一種改進(jìn)的DoG檢測(cè)子,在不影響特征表征性的前提下,改善特征在圖像中的分布,從而提高檢測(cè)精度。
為了在尺度空間檢測(cè)到穩(wěn)定的關(guān)鍵點(diǎn),SIFT采用高斯差分尺度空間(DoG scale-space),即利用不同尺度的高斯差分核與圖像卷積生成。
DoG算子計(jì)算簡(jiǎn)單,是尺度歸一化的LoG算子的近似。圖像金字塔的構(gòu)建:圖像金字塔共O組,每組有S層,下一組的圖像由上一組圖像降采樣得到。圖1是兩組高斯尺度空間圖像示例金字塔的構(gòu)建。
圖1 高斯差分與圖像金字塔示意圖[3]
為了尋找尺度空間的極值點(diǎn),每一個(gè)采樣點(diǎn)要和它所有的相鄰點(diǎn)比較,看其是否為圖像域和尺度域的極值。如圖2所示,中間的檢測(cè)點(diǎn)和它同尺度的8個(gè)相鄰點(diǎn)和上下相鄰尺度對(duì)應(yīng)的9×2個(gè)點(diǎn)共26個(gè)點(diǎn)比較,以確保在尺度空間和二維圖像空間都檢測(cè)到極值點(diǎn)。之后進(jìn)行像素的預(yù)篩選,小于一定閾值的像素點(diǎn)被排除。圖3中左邊圖像為DoG檢測(cè)子的檢測(cè)結(jié)果。
圖2 DoG空間局部極值檢測(cè)
其中xi是特征點(diǎn)位置,O是所有特征點(diǎn)位置的集合,cr是魯棒性參數(shù)(可以設(shè)置為0.9)。這樣就保證了非極大值抑制的像素鄰域是不同的。
上述思想雖然改善了興趣點(diǎn)的分布,但花費(fèi)時(shí)間較原DoG算法多,因此,文中不是順序的遍歷整個(gè)尺度空間來尋找關(guān)鍵點(diǎn),而是隨機(jī)搜索尺度空間,直到找到所需的特征點(diǎn)個(gè)數(shù)為止。
DoG主要用來檢測(cè)團(tuán)塊類目標(biāo),因此興趣點(diǎn)也主要位于團(tuán)塊區(qū)域,即明顯比背景暗或亮的區(qū)域,局部極值不可能位于平坦區(qū)域或其鄰域。局部極值的另一個(gè)可能位置為毛刺區(qū)域,例如灰度快速改變的狹窄區(qū)域。但由于構(gòu)建DoG尺度空間時(shí),對(duì)圖像進(jìn)行了多次平滑,只有粗尺度中信息被保留,而且毛刺被濾除。因
為了使特征點(diǎn)更好的分布于圖像內(nèi),文中對(duì)DoG檢測(cè)子進(jìn)行了改進(jìn),即在更大的范圍中檢測(cè)極值。即在當(dāng)前尺度長(zhǎng)度為2r的鄰域內(nèi),以及上下相鄰尺度9×2個(gè)點(diǎn)共(4r2-1+18)個(gè)點(diǎn)比較,r定義如下:此,文中改進(jìn)算法包含兩個(gè)步驟:首先對(duì)于一個(gè)點(diǎn)xi,DoG(xi)大于一定閾值時(shí),即為團(tuán)塊區(qū)域,之后判斷該點(diǎn)是否為局部極值,當(dāng)發(fā)現(xiàn)局部極值或給定的試驗(yàn)次數(shù)滿足時(shí)搜索結(jié)束;如果DoG(xi)小于一定閾值時(shí)為非團(tuán)塊區(qū)域,該區(qū)域的搜索結(jié)果忽略,搜索從其它位置重新開始。算法描述見表1:
表1 改進(jìn)DoG算法
圖3 DoG檢測(cè)子與改進(jìn)檢測(cè)檢測(cè)結(jié)果
圖3為兩算法檢測(cè)結(jié)果比較,左邊圖像為DoG算法檢測(cè)結(jié)果,共檢測(cè)到121個(gè)關(guān)鍵點(diǎn),右邊圖像為改進(jìn)算法當(dāng)Num設(shè)置為30時(shí)的檢測(cè)結(jié)果,由圖中可以看出,改進(jìn)算法可以減少特征點(diǎn)檢測(cè)數(shù)量,使特征更好的分布于圖像內(nèi),利于后續(xù)的匹配識(shí)別。最后的實(shí)驗(yàn)結(jié)果將說明改進(jìn)DoG算法優(yōu)于原算法。
DoG檢測(cè)特征時(shí),為了得到更加穩(wěn)定的特征點(diǎn),消除了邊緣點(diǎn)。對(duì)于多源圖像來說,其灰度差異大,而邊緣信息是至關(guān)重要的。因此,在特征檢測(cè)階段,引入Harris-Laplace檢測(cè)子,它可以檢測(cè)角點(diǎn)類型的特征,這樣可以彌補(bǔ)DoG檢測(cè)子的不足。Harris-Laplace檢測(cè)子是 Mikolajczyk and Schmid[4]提出的具有尺度不變性的檢測(cè)子,其檢測(cè)步驟為:
Step1:在尺度空間中用Harris[5]檢測(cè)子尋找極值點(diǎn)。Harris角點(diǎn)檢測(cè)矩陣為:
局部圖像導(dǎo)數(shù)由尺度為σD(微分尺度)的高斯核計(jì)算得到。矩陣的特征值表示點(diǎn)的鄰域兩個(gè)正交方向上主要信號(hào)的改變。實(shí)際應(yīng)用中,用下式來檢測(cè)角點(diǎn):
而det(M)表示矩陣M行列式的值,而trace(M)表示矩陣M的跡。采用非極大值抑制可以提取cornerness函數(shù)的局部最大值作為角點(diǎn)。Harris角點(diǎn)具有平移和旋轉(zhuǎn)不變性,而且在光照條件變化時(shí)也很穩(wěn)定。
Step2:在上一步所求極值點(diǎn)的空間位置上,尋找極值點(diǎn)所在尺度鄰域(如0.7σ~1.4σ)內(nèi)LoG函數(shù)響應(yīng)的極值點(diǎn)。LoG函數(shù)定義為:
Step3:在第二步所求的極值點(diǎn)尺度上,用Harris Detector尋找極值點(diǎn)所在空間鄰域內(nèi)的極值點(diǎn)。
Step4:如果第三步極值點(diǎn)的位置發(fā)生了變換,則返回到第二步,如此反復(fù),直到最后求得的極值點(diǎn)在空間上的Harris Detecor和尺度鄰域內(nèi)的LoG空間同時(shí)取得極值。
通過上述步驟檢測(cè)出的區(qū)域具有尺度不變性。圖4為可見光與紅外圖像分別檢測(cè)到的Harris-Laplace特征。
圖4 可見光與紅外水塔圖像Harris-Laplace特征
對(duì)于上述改進(jìn)的DoG檢測(cè)子與Harris-Laplace檢測(cè)子檢測(cè)到的關(guān)鍵點(diǎn)都具有三個(gè)信息:位置、所處尺度、方向。之后將每個(gè)關(guān)鍵點(diǎn)采用SIFT描述子進(jìn)行描述。首先將坐標(biāo)軸旋轉(zhuǎn)為關(guān)鍵點(diǎn)的方向,以確保旋轉(zhuǎn)不變性。
圖5 由關(guān)鍵點(diǎn)鄰域梯度信息生成特征向量[6]
接下來以關(guān)鍵點(diǎn)為中心取8×8的窗口。圖5左部分的中央黑點(diǎn)為當(dāng)前關(guān)鍵點(diǎn)的位置,每個(gè)小格代表關(guān)鍵點(diǎn)鄰域所在尺度空間的一個(gè)像素,箭頭方向代表該像素的梯度方向,箭頭長(zhǎng)度代表梯度模值,圖中的圓圈代表高斯加權(quán)的范圍(越靠近關(guān)鍵點(diǎn)的像素梯度方向信息貢獻(xiàn)越大)。然后在每4×4的小塊上計(jì)算8個(gè)方向的梯度方向直方圖,繪制每個(gè)梯度方向的累加值,即可形成一個(gè)種子點(diǎn),如圖5右部分所示。此圖中一個(gè)關(guān)鍵點(diǎn)由2×2共4個(gè)種子點(diǎn)組成,每個(gè)種子點(diǎn)有8個(gè)方向向量信息。這種鄰域方向性信息聯(lián)合的思想增強(qiáng)了算法抗噪聲的能力,同時(shí)對(duì)于含有定位誤差的特征匹配也提供了較好的容錯(cuò)性。實(shí)際計(jì)算過程中,為了增強(qiáng)匹配的穩(wěn)健性,Lowe建議對(duì)每個(gè)關(guān)鍵點(diǎn)使用4×4共16個(gè)種子點(diǎn)來描述,這樣對(duì)于一個(gè)關(guān)鍵點(diǎn)就可以產(chǎn)生128個(gè)數(shù)據(jù),即最終形成128維的SIFT特征向量。
為了驗(yàn)證文中算法的有效性,在Pentium 4,3.0 GHz CPU,2.0GRAM的PC機(jī)上采用Matlab編程實(shí)驗(yàn)了文中所提算法。對(duì)5組場(chǎng)景的可見光與紅外圖像進(jìn)行了試驗(yàn),SIFT算法采用DoG+SIFT,而文中算法采用改進(jìn)DoG+Harris-Laplace+SIFT,實(shí)驗(yàn)結(jié)果如表2所示。
表2 算法比較結(jié)果
由于篇幅限制,這里只給出第一組場(chǎng)景的匹配圖像,如圖6所示。由圖中可以看出,采用原SIFT算法有2個(gè)匹配點(diǎn)對(duì),其中1個(gè)為誤匹配,正確率為50%,而采用文中算法有53個(gè)匹配點(diǎn)對(duì),其中2個(gè)為誤匹配點(diǎn),正確率為96.2%。
圖6 SIFT算法與改進(jìn)SIFT算法匹配結(jié)果比較
對(duì)于本算法中,隨著關(guān)鍵點(diǎn)的增多,算法的時(shí)間復(fù)雜度也增加,實(shí)際應(yīng)用中,為了滿足實(shí)時(shí)性,可以采用許多加速算法,如用積分圖像加速高斯濾波過程,用DoM代替DoG,用PCA-SIFT代替SIFT等,這都可以加速算法執(zhí)行。
由表2可以看出,算法1對(duì)于多源圖像匹配效果不好,匹配點(diǎn)非常少,而且正確率很低。而文中算法針對(duì)傳感器圖像灰度差異大,SIFT算法中DoG檢測(cè)子檢測(cè)團(tuán)塊類目標(biāo)受灰度影響大,容易造成誤匹配的問題,在特征檢測(cè)階段,將DoG特征與Harris-Laplace特征相結(jié)合,同時(shí)為了消除DoG特征對(duì)算法正確率的影響,對(duì)其進(jìn)行了改進(jìn),在不影響特征表征性的同時(shí),減少DoG特征的數(shù)量,從而在提高匹配正確率的同時(shí),有效減少了誤匹配點(diǎn),這對(duì)于多源圖像匹配識(shí)別來說是至關(guān)重要的。
[1]Thourn K,Kitjaidure Y.Multi-view shape recognition based on principal component analysis[C]//Advanced Computer Control,ICACC′09,2009:265-269.
[2]Lowe D G.Distinctive image features from scale-lnvariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-10.
[3]Song R,Szymanski J.Well-distributed SIFT features[J].Electronics Letters,2009,45(6):308-310.
[4]Mikolajczyk K,Schmid C.Scale and affine invariant interest point detectors[J].International Journal of Computer Vision,2004,60(1):63-86.
[5]Harris Stephens M.A combined corner and edge detector[C]//Alvey88,1988:147-152.
[6]Lowe D G.Local feature view clustering for 3Dobject recognition[C]// Proc.of the IEEE Conference on Computer Vision and Pattern Recognition,2001.