宋佳乾,汪西原
(寧夏大學(xué)物理與電子電氣工程學(xué)院,寧夏 銀川 750021)
圖像配準(zhǔn)是對2幅以上具有一定重疊區(qū)域、同一場景不同角度、不同傳感器或不同時間獲取的圖片進行匹配的過程[1]。在遙感影像處理領(lǐng)域,圖像的融合、拼接、變化檢測也與圖像配準(zhǔn)息息相關(guān),可以說配準(zhǔn)是對遙感圖像進行下一步處理的基礎(chǔ),其速度和精度對圖像的后續(xù)分析具有關(guān)鍵的作用。
目前,對遙感圖像配準(zhǔn)通常使用的有4種方法,在這些方法中,基于圖像像素信息和基于圖像特征的方法使用頻率較高,圖像特征一般不隨圖像灰度差異的變化而變化,使基于圖像特征的方法得到廣泛的應(yīng)用。在圖像特征的配準(zhǔn)方法中,David Lowe于2004年提出的SIFT算法[2]因?qū)煞鶊D像之間的平移、旋轉(zhuǎn)、仿射等變換具有較強的適應(yīng)性[3],從而在配準(zhǔn)領(lǐng)域得到了廣泛的應(yīng)用,但是當(dāng)圖像的特征點較多時,SIFT算法構(gòu)造特征點的特征描述符會消耗大量時間,且在后續(xù)的匹配和拼接過程中僅有少量的特征點被使用,遙感圖像信息非常豐富,檢測到的特征點數(shù)目繁多,這對算法的精度和速度都有較大的影響。
綜上,本文提出一種NSCT算法和改進SIFT算法相結(jié)合的遙感圖像配準(zhǔn)算法。首先使用NSCT算法對遙感圖像進行處理,獲得低頻圖像后,再使用改進后的SIFT算法來減少從遙感圖像提取出的特征點數(shù)目,完成對遙感圖像的匹配。試驗結(jié)果和分析說明本文算法可以有效地減少特征點數(shù)目,提高特征點的匹配精度和效率。
文獻[4]提出了一種多分辨率、多局部、多方向的圖像表示方法——Contourlet變換,其核心是拉普拉斯金字塔分解和方向濾波器組相結(jié)合的塔形方向濾波器組,這種濾波器組的構(gòu)成是雙迭代式的,稱之為Contourlet濾波器組。Contourlet變換在對圖像進行處理時,主要分為兩個階段:子帶分解和方向變換。在子帶分解階段,拉普拉斯金字塔實現(xiàn)多尺度分解,每一步分解出來圖像的一個低頻分量和一個高頻分量;在方向變換階段,使用方向濾波器組實現(xiàn)圖像的多方向分解,為使得方向頻率能被分到任意的一個精度且保持樣本數(shù)目不變,一般采用下采樣方式。使用下采樣帶來的弊端就是使得圖像不具有平移不變性,會給圖像帶來偽吉比斯效應(yīng)導(dǎo)致圖像失真[5]。為了解決這個問題,文獻[6]提出了一種由無下采樣金字塔分解和無下采樣方向濾波器分解的算法——NSCT。NSCT算法可以使圖像在保留良好的方向性、準(zhǔn)確的邊緣和紋理特征的同時具有平移不變性,不再受到偽吉比斯效應(yīng)的影響[7],其結(jié)構(gòu)如圖1所示。
圖1 NSCT分解圖
NSCT的實現(xiàn)過程是首先由無下采樣的金字塔濾波器組將卷積后圖像分解成低頻分量和高頻分量,再由無下采樣的方向濾波器組將高頻分量分解成多個方向的高頻方向子帶[8]。NSCT算法不對經(jīng)過拉普拉斯塔式分解和方向濾波器組分解后的分量進行下采樣,而是對濾波器進行上采樣,以便保留平移不變性。
傳統(tǒng)的SIFT算法是在2004年由David Lowe總結(jié)提出的,在尺度空間,其具有圖像局部特征對平移、旋轉(zhuǎn)、縮放和仿射變換不變的性質(zhì),并對該特征給予描述。SIFT算法分為4步[9]:①圖像特征點檢測;②通過圖像特征點計算特征點的方向;③形成特征描述符;④匹配特征向量。
在尺度空間內(nèi),通常使用高斯卷積核進行尺度空間不變點的檢測。設(shè)F(x,y)是一幅二維圖像,σ是尺度空間因子,則二維圖像的尺度空間函數(shù)為
L(x,y,σ)=G(x,y,σ)*I(x,y)
式中,σ越小表示圖像特征越細(xì),反之則表示圖像的概貌特征;*表示卷積。
為了能更好地檢測出圖像的特征點,Lowe提出了高斯差分尺度空間(DOG)的概念(如圖2所示)
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*F(x,y)=
L(x,y,kσ)-L(x,y,σ)
圖2 DOG金字塔
高斯差分尺度空間函數(shù)是通過不同尺度空間函數(shù)之間差分所得到的。用來確定圖像尺度空間極值點的DOG函數(shù)是使用相鄰的兩個圖像之間的DOG函數(shù)相減所得到的,尺度空間極值點的計算過程如圖3所示,需要將所屬于尺度空間中的所有像素點同其所在的3×3鄰域點及上下相鄰的兩個點的3×3 鄰域共26個點進行比較[10],當(dāng)且僅當(dāng)這個點在這26個點中是最大或最小時,才將該點認(rèn)定為極值點。
通過這種方法所得到的眾多極值點中,會存在因為DOG算法而產(chǎn)生的邊緣響應(yīng)點和一些對比度比較低的點,如果這些點也進入下一步對特征描述符的構(gòu)造中將增加算法的時間;其次,特征點越多,相應(yīng)兩幅圖像的匹配對也就越多,可能會導(dǎo)致圖像誤匹配的點對增多,而在最終的匹配中,僅需要很少的特征點進行匹配,故需要對特征點位置進行過濾求精,增強SIFT算法的時效性和精確性。因此,考慮在進行特征點檢測前,先對圖像進行Canny邊緣檢測,獲取圖像邊緣特征點的位置,再對圖像進行SIFT特征點的檢測獲取檢測出特征點的位置,將兩次獲得的位置進行比對,去除圖像的邊緣特征點,可以顯著減少特征點的數(shù)量和受到邊緣效應(yīng)影響的特征點,從而減少下一步計算特征向量所需時間。
圖3 極值點的確定
在得到尺度空間的特征點后,為了保持該點的方向不變性,需要對其賦予一個方向,綜合思考特征點及其鄰域像素梯度和方向的分布性,使用如下公式來計算特征點的梯度方向
m(x,y)=
其中,該描述由兩部分構(gòu)成:第一部分m(x,y)為特征點的梯度幅值;第二部分θ(x,y)為特征點的梯度方向。梯度方向直方圖可以表征特征點及其鄰域像素點的梯度方向,其峰值所代表的即為特征點的主方向。
經(jīng)過以上步驟處理后的特征點具有3個基本信息:位置、尺度與方向。為使特征點具有更強的適應(yīng)性(不隨光照、角度的改變而改變),下一步需對特征點進行特征描述符的構(gòu)造。
按照David Lowe的想法,對每個特征點描述時,首先應(yīng)該旋轉(zhuǎn)坐標(biāo)軸的方向,使得坐標(biāo)軸與上一步計算的特征點的方向一致,再將特征點作為中心,取該特征點鄰域范圍內(nèi)的16×16像素點,16×16鄰域區(qū)域共有8個4×4的子區(qū)域,計算出每一個子區(qū)域所包含的8個方向的梯度直方圖,最終得到4×4×8共128維的特征向量[11]。在實際運行過程中,一旦特征點過多,對每一個特征點生成128維的特征向量描述符,如圖4所示。
圖4 特征描述符的生成
這需要計算很長的時間,為了減少特征向量的維數(shù),節(jié)省程序運算時間,在特征描述符部分使用K-L變換來降低向量維數(shù)。
SIFT算法的最后一步是特征向量之間的匹配,通常使用歐幾里得距離判斷特征向量之間的相似性。其本質(zhì)是:分別取參考圖像中的一個特征點和待匹配圖像中的一個特征點,在這兩個特征點之間計算歐幾里得距離,通過最近鄰距離和次近鄰距離之間的比值來判斷兩者是否匹配,這樣匹配出來的特征點會有較多的誤匹配,考慮引入RANSAC算法,該算法主要利用特征點集合中內(nèi)在的幾何約束關(guān)系來匹配特征點[12-13]。經(jīng)過RANSAC算法處理后的特征點集合就可以去除錯誤的匹配點,完成特征點集合的精確匹配。
本文提出結(jié)合NSCT算法和改進SIFT算法的匹配算法,可以更加精確提取遙感圖像特征點,進而對遙感圖像進行配準(zhǔn)。主要流程如下:
(1) 輸入兩幅具有一定重疊度的遙感圖像,一幅作為參考圖像,另一幅作為待匹配圖像。
(2) 對參考圖像和待匹配圖像作NSCT變換,分別獲取兩幅圖像的低頻圖像。
(3) 使用改進后的SIFT算法提取兩幅低頻圖像的特征點,構(gòu)建特征描述符。
(4) 使用RANSAC算法去除誤配點,最終完成特征向量的匹配。
具體流程如圖5所示。
圖5 NSCT結(jié)合改進SIFT算法配準(zhǔn)圖像流程
遙感圖像的配準(zhǔn)中,速度和精度是匹配的關(guān)鍵,本文選擇不同的、具有一定重疊度和旋轉(zhuǎn)角度的遙感圖像進行匹配試驗,并與直接使用SIFT算法、NSCT+SIFT算法的試驗結(jié)果對比分析。試驗平臺為Matlab 2014a,運行環(huán)境:CPU為Intel Core(TM) i3-4150 3.5 GHz,內(nèi)存為4 GB RAM,Windows 7操作系統(tǒng)。
因篇幅所限,本文僅給出了兩組不同遙感圖像匹配的結(jié)果,圖6中遙感圖像的尺寸分別為306×386、335×472,圖7中遙感圖像的尺寸分別為499×599、447×537。圖中分別包含待匹配圖像原圖、SIFT算法匹配結(jié)果、NSCT+SIFT算法匹配結(jié)果、本文算法(NSCT+改進SIFT算法)匹配結(jié)果。
圖6 遙感圖像匹配試驗結(jié)果1
圖6(b)和圖7(b)中,可以明顯看出僅使用SIFT算法會產(chǎn)生大量的匹配點,也可以看到誤匹配的存在;圖6(c)和圖7(c)中,使用NSCT+SIFT算法后,匹配點大量減少,誤配點也很明顯;圖6(d)和圖7(d)中,本文算法使誤匹配點大幅降低的同時,還可以消除一些較為明顯的誤匹配。
圖7 遙感圖像匹配試驗結(jié)果2
表1對3種方法的試驗結(jié)果特征點數(shù)量、匹配對、匹配時間、錯誤匹配對、正確匹配率對比分析。從表1中可以看出:①在特征點數(shù)量上,使用SIFT算法對遙感圖像進行處理時,由于遙感圖像細(xì)節(jié)豐富,提取出的特征點數(shù)量很多,這在計算特征描述符時會花費相當(dāng)長時間,從而拖累整個算法的時長,在這些特征點中,只有少部分的特征點在下一步匹配和拼接過程中可以用到,故采用NSCT算法將遙感圖像分解,只使用分解出的低頻圖像進行下一步的特征提取,這樣提取到的特征點數(shù)量會大幅下降,從而減少生成特征描述符的時間。②SIFT算法產(chǎn)生的匹配對數(shù)量因為特征點的數(shù)量多而增多,但帶來的錯誤匹配對也較多,匹配時間增加,經(jīng)過NSCT算法分解后的低頻圖像,用本文改進的SIFT算法處理后,可以明顯看出,Canny算子會去除一些圖像的不穩(wěn)定邊緣點,相比NSCT+SIFT算法,可以進一步減少特征點的數(shù)量,以達到減少匹配時的計算量和匹配時間的目的。③不穩(wěn)定邊緣點的去除和RANSAC算法的引入可以為算法減少部分誤匹配,提升算法處理遙感圖像的抗噪性和正確匹配率。
表1 遙感圖像匹配比較數(shù)據(jù)
遙感圖像具有豐富的細(xì)節(jié)特征,而SIFT算法在對遙感圖像進行處理時會產(chǎn)生大量的特征點,這些特征點的描述符嚴(yán)重拖累圖像的配準(zhǔn),本文考慮將NSCT算法引入到遙感圖像的配準(zhǔn)中,結(jié)合Canny算子和RANSAC算法、改進的SIFT算法對遙感圖像配準(zhǔn)。試驗分析發(fā)現(xiàn),本文算法達到了通過減少圖像不穩(wěn)定特征點數(shù)量以提高特征描述符生成速度、匹配效率和正確匹配率的目的,算法效果良好且優(yōu)于兩種對比算法。