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