岳國(guó)華 邢曉利
(西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 陜西 西安 710054)
圖像配準(zhǔn)就是尋找一種空間變換關(guān)系,使得不同成像條件下能采集到的同一場(chǎng)景的圖像像素點(diǎn)在空間上一一對(duì)應(yīng)[1]。遙感圖像的配準(zhǔn),最早應(yīng)用在軍事領(lǐng)域的導(dǎo)彈追蹤和景象匹配的制導(dǎo)技術(shù)等方面[2]。隨著傳感器硬件設(shè)備的發(fā)展,遙感圖像的配準(zhǔn)在民用領(lǐng)域發(fā)揮了越來(lái)越大的作用。然而,由于遙感圖像的成像條件復(fù)雜,目標(biāo)特征不明顯,像素分辨率較低等特點(diǎn),傳統(tǒng)的遙感圖像配準(zhǔn)算法特征提取過(guò)程復(fù)雜,計(jì)算量大,且檢測(cè)的特征點(diǎn)容易出現(xiàn)誤匹配的情況。
傳統(tǒng)的圖像配準(zhǔn)的方法可分為兩大類(lèi):基于灰度的配準(zhǔn)方法;基于特征的配準(zhǔn)方法[3]?;诨叶鹊呐錅?zhǔn)方法將配準(zhǔn)問(wèn)題轉(zhuǎn)化為優(yōu)化問(wèn)題,通過(guò)優(yōu)化圖像的灰度相似度來(lái)確定圖像間的變換參數(shù)。常見(jiàn)的算法有最大互信息法、相關(guān)法和聯(lián)合熵法[4]?;诨叶鹊呐錅?zhǔn)方法容易實(shí)現(xiàn),但不適用于灰度變化明顯或存在形變的圖像[5]。基于特征的配準(zhǔn)方法通過(guò)提取圖像中點(diǎn)、線(xiàn)、邊緣等特征完成配準(zhǔn),能夠在圖像存在幾何失真和畸變的情況下取得優(yōu)異的配準(zhǔn)性能,從而更有效地建立圖像間的匹配關(guān)系[6]。常用算法有SURF算法、SIFT算法、HOG算法等,其中SIFT算法因其穩(wěn)定的尺度旋轉(zhuǎn)不變性,成為基于特征配準(zhǔn)算法的代表性算法。
近年來(lái),深度學(xué)習(xí)備受關(guān)注,并在計(jì)算機(jī)視覺(jué)、數(shù)據(jù)挖掘等諸多領(lǐng)域大獲成功。Fan等[7]將深度學(xué)習(xí)引入遙感圖像的場(chǎng)景分類(lèi)中,利用預(yù)先訓(xùn)練的CNN來(lái)進(jìn)行高分辨率遙感圖像場(chǎng)景分類(lèi),取得了良好的分類(lèi)效果。Jaderberg等[8]在圖像處理領(lǐng)域中提出一個(gè)新的模塊—空間變換網(wǎng)絡(luò)(STN),該模塊在網(wǎng)絡(luò)內(nèi)部對(duì)圖片進(jìn)行平移、縮放、旋轉(zhuǎn)等變形,網(wǎng)絡(luò)直接輸出配準(zhǔn)后的圖像,并沒(méi)有顯式地運(yùn)用變換參數(shù)。雒培磊等[9]提出了一種改進(jìn)的基于深度學(xué)習(xí)的遙感影像拼接方法,該方法利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)自適應(yīng)地提取特征點(diǎn)的分層卷積特征,通過(guò)相關(guān)濾波器對(duì)不同深度的卷積特征逐層進(jìn)行相關(guān)性分析,進(jìn)而綜合計(jì)算特征點(diǎn)的位置。算法充分利用了遙感圖像的空間特征以及深層抽象語(yǔ)義特征,并未將特征提取和匹配放在端到端的架構(gòu)中,在配準(zhǔn)過(guò)程中,需進(jìn)行錯(cuò)誤匹配點(diǎn)的檢測(cè)。Wang等[10]提出了一種用于遙感圖像配準(zhǔn)的深度學(xué)習(xí)框架,該框架通過(guò)深度神經(jīng)網(wǎng)絡(luò)(DNN)直接學(xué)習(xí)圖像匹配塊與其匹配標(biāo)簽之間的端到端映射關(guān)系,但DNN學(xué)習(xí)的是從圖像中提取的圖像塊之間的關(guān)系,需要根據(jù)圖像塊之間的變換關(guān)系,計(jì)算圖像的變換矩陣,整個(gè)配準(zhǔn)過(guò)程相對(duì)來(lái)說(shuō)比較繁瑣。
本文采用的配準(zhǔn)框架如圖1所示。首先,通過(guò)仿射變換網(wǎng)絡(luò)對(duì)參考圖像進(jìn)行空間變換,批量生成測(cè)試數(shù)據(jù)集。然后,CNN直接學(xué)習(xí)參考圖像與訓(xùn)練圖像之間的變換關(guān)系,預(yù)測(cè)圖像變換參數(shù)。最后,校正網(wǎng)絡(luò)通過(guò)計(jì)算配準(zhǔn)圖像和參考圖像的相似度,反向傳播調(diào)整預(yù)測(cè)的變換參數(shù),直至圖像相似度取得最大值。
圖1 遙感圖像配準(zhǔn)框架
仿射變換網(wǎng)絡(luò)動(dòng)態(tài)地將仿射變換應(yīng)用在圖像的像素點(diǎn)上,主動(dòng)地對(duì)輸入的參考圖像進(jìn)行縮放、旋轉(zhuǎn)和平移等變換,并保存地面實(shí)況標(biāo)簽。仿射變換網(wǎng)絡(luò)架構(gòu)如圖2所示。
圖2 仿射變換網(wǎng)絡(luò)結(jié)構(gòu)
仿射變換網(wǎng)絡(luò)輸入的是參考圖像和空間變換參數(shù)θ,輸出的是參考圖像進(jìn)行仿射變換后的訓(xùn)練圖像。網(wǎng)絡(luò)主要由坐標(biāo)映射和像素采樣兩部分組成。坐標(biāo)映射是根據(jù)隨機(jī)生成的空間變換參數(shù)θ,通過(guò)網(wǎng)格生成器生成與參考圖像同樣大小的空白網(wǎng)格,完成參考圖像與訓(xùn)練圖像之間的坐標(biāo)映射;在像素采樣過(guò)程中,為了解決像素坐標(biāo)非整數(shù)的問(wèn)題,采用雙線(xiàn)性插值技術(shù)對(duì)圖像像素進(jìn)行采樣。
1.1.1坐標(biāo)映射
在進(jìn)行仿射變換時(shí),沒(méi)有直接對(duì)圖像進(jìn)行處理,而是把圖像中的像素點(diǎn)坐標(biāo)化,并作為特征映射的元素。仿射變換的實(shí)質(zhì)是通過(guò)仿射變換矩陣實(shí)現(xiàn)圖像與圖像間的二維坐標(biāo)映射。首先,利用網(wǎng)格生成器生成目標(biāo)空白采樣網(wǎng)格,可覆蓋參考圖像中所有的像素點(diǎn),在對(duì)空白采樣網(wǎng)格向量化處理之后,與仿射變換參數(shù)構(gòu)成的仿射變換矩陣相乘,得到期望的采樣點(diǎn)坐標(biāo),實(shí)現(xiàn)了采樣網(wǎng)格到參考圖像的坐標(biāo)映射。通常,只需要6個(gè)仿射變換參數(shù),便可實(shí)現(xiàn)仿射變換。
(1)
1.1.2雙線(xiàn)性插值
在對(duì)參考圖像進(jìn)行像素取值時(shí),采用雙線(xiàn)性插值技術(shù)處理采樣坐標(biāo)為非整數(shù)的情況。其核心是在兩個(gè)方向分別進(jìn)行一次插值,如圖3所示[11]。
圖3 雙線(xiàn)性插值
若訓(xùn)練圖像中某個(gè)像素點(diǎn)對(duì)應(yīng)參考圖像中的非整數(shù)坐標(biāo)P點(diǎn)。已知P點(diǎn)相鄰四位整數(shù)點(diǎn)坐標(biāo)Q11、Q12、Q21、Q22像素值,f代表像素點(diǎn)的像素值,在x軸方向進(jìn)行插值:
(2)
(3)
在y軸方向進(jìn)行插值:
(4)
即:
(5)
在仿射變換網(wǎng)絡(luò)中使用雙線(xiàn)性插值技術(shù),可以表示為:
(6)
雙線(xiàn)性插值不僅解決了采樣坐標(biāo)非整數(shù)的問(wèn)題,而且在校正網(wǎng)絡(luò)調(diào)整參數(shù)的優(yōu)化過(guò)程中,雙線(xiàn)性插值滿(mǎn)足對(duì)參數(shù)進(jìn)行求導(dǎo)的條件,可以進(jìn)行梯度反向傳播。
CNN的輸入是參考圖像和訓(xùn)練圖像,以及地面實(shí)況標(biāo)簽,輸出為預(yù)測(cè)的變換參數(shù)。CNN根據(jù)地面實(shí)況標(biāo)簽學(xué)習(xí)參考圖像和訓(xùn)練圖像之間的映射關(guān)系,通過(guò)反向傳播算法、隨機(jī)梯度下降優(yōu)化損失函數(shù)MSELoss,生成魯棒的配準(zhǔn)模型。
1.2.1網(wǎng)絡(luò)結(jié)構(gòu)
CNN網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。模型由6個(gè)卷積層和6個(gè)池化層組成,每個(gè)卷積層后連接對(duì)圖像進(jìn)行降維處理的池化層,從所有輸入通道提取的二維特征轉(zhuǎn)化為全連接層的一維輸入[12]。
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在網(wǎng)絡(luò)的前向傳播過(guò)程中,卷積核大小為5×5,通過(guò)對(duì)l-1層的特征圖進(jìn)行卷積操作,使用激活函數(shù)輸出當(dāng)前卷積層l層特征圖[13]。
(7)
矩陣形式為:
al=σ(wlal-1+bl)
(8)
al=pool(al-1)
(9)
式中:pool表示最大池化操作。池化層大小如圖4所示,步長(zhǎng)為2。
網(wǎng)絡(luò)使用易收斂的均方誤差(MSE)作為損失函數(shù)。
(10)
(11)
zl=wlal-1+bl
(12)
輸出層的誤差方程表示為:
(13)
矩陣表示為:
δL=▽aC⊙σ′(zL)
(14)
式中:⊙表示矩陣的點(diǎn)積。
誤差在反向傳播過(guò)程中的傳遞表示為:
δl=((wl+1)Tδl+1)⊙σ′(zl)
(15)
對(duì)權(quán)重和偏差的調(diào)整表示為:
(16)
(17)
1.2.2訓(xùn)練過(guò)程
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像配準(zhǔn)模型訓(xùn)練的過(guò)程如下所示。
輸入:參考圖像、訓(xùn)練數(shù)據(jù)集Dataset_Train、地面實(shí)況標(biāo)簽infor_para、迭代次數(shù)λ、學(xué)習(xí)率η、一次訓(xùn)練選取的樣本數(shù)Batch Size。
輸出:參考圖像和訓(xùn)練圖像之間的預(yù)測(cè)變換參數(shù)。
1) 確定訓(xùn)練集。選取參考圖像,100 000幅訓(xùn)練圖像作為訓(xùn)練集。
2) 初始化迭代次數(shù)為100,學(xué)習(xí)率η為10-4,Batch Size為8,停止迭代閾值為10-6。
3) for all data in Dataset_Train
4) 根據(jù)網(wǎng)絡(luò)前向傳播公式計(jì)算變換參數(shù)。
5) 根據(jù)損失函數(shù)MSE計(jì)算誤差δ。
6) 根據(jù)式(16)-式(17),使用學(xué)習(xí)率η更新權(quán)重w和偏差b。
7) end for
8) 直到w和b的變化值小于迭代閾值或達(dá)到迭代次數(shù)λ。
校正網(wǎng)絡(luò)根據(jù)CNN模型預(yù)測(cè)參考圖像和浮動(dòng)圖像之間的變換參數(shù)θ,由浮動(dòng)圖像和仿射變換網(wǎng)絡(luò)生成配準(zhǔn)圖像。然后,計(jì)算參考圖像和配準(zhǔn)圖像的相似度,反向傳播調(diào)整CNN預(yù)測(cè)的參數(shù),通過(guò)最大化圖像相似度實(shí)現(xiàn)參數(shù)校正。雙線(xiàn)性插值反向傳播過(guò)程可表示為:
(18)
(19)
校正網(wǎng)絡(luò)中的相似性度量函數(shù),采用CNN模型中的損失函數(shù)MSE。相似性度量函數(shù)可以根據(jù)任務(wù)復(fù)雜性而變化,具有很強(qiáng)的靈活性。
同一物體在不同條件下的成像在灰度分布上可能存在很大的差異,這些差異直接影響到對(duì)圖片的特征提取。對(duì)于光照不可控的遙感圖像來(lái)說(shuō),可將圖像進(jìn)行灰度歸一化處理來(lái)避免圖像的對(duì)比度不足問(wèn)題[14]。
本實(shí)驗(yàn)中,為了使圖像配準(zhǔn)模型更加精確,同時(shí)也滿(mǎn)足常見(jiàn)的遙感圖像配準(zhǔn)要求,在仿射變換網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)生成過(guò)程中,將縮放參數(shù)控制在0.8~1.2之間,旋轉(zhuǎn)參數(shù)控制在[-12°,12°]之間,平移像素范圍為[-40,40]。實(shí)驗(yàn)使用遙感圖像UC Merced Land-Use Data Set[15]作為測(cè)試集,共包含21類(lèi)場(chǎng)景,每類(lèi)場(chǎng)景100幅遙感圖像,尺寸大小為200×200,測(cè)試集和本文訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)框架使用的訓(xùn)練集無(wú)重疊。整個(gè)實(shí)驗(yàn)是在Ubuntu 16.04,1080Ti環(huán)境下,使用VScode編寫(xiě)實(shí)現(xiàn)。
1) 隨機(jī)挑選測(cè)試集中不同場(chǎng)景的四種圖像序號(hào):① 飛機(jī)、② 河流、③ 碼頭、④ 公路,分別用SIFT算法和SURF算法確定圖像間的匹配對(duì)點(diǎn),分析SIFT算法和SURF在圖像配準(zhǔn)過(guò)程提取特征進(jìn)行匹配的優(yōu)點(diǎn)與不足。
2) 分別用SIFT算法、SURF算法、文獻(xiàn)[8]使用的DNN算法、本文未加校正的卷積神經(jīng)網(wǎng)絡(luò)算法(P-CNN)和本文算法對(duì)四組圖像進(jìn)行配準(zhǔn)實(shí)驗(yàn),分析配準(zhǔn)結(jié)果。
3) 為進(jìn)一步驗(yàn)證算法可行性,在整個(gè)測(cè)試集上進(jìn)行驗(yàn)證實(shí)驗(yàn),分析配準(zhǔn)結(jié)果。
4) 在配準(zhǔn)精度的評(píng)價(jià)方面,采用均方根誤差(RMSE)和結(jié)構(gòu)相似性(SSIM)作為圖像配準(zhǔn)質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)。
(1) RMSE。RMSE的含義是利用空間變換參數(shù),求得仿射變換后圖像的坐標(biāo)值,并與參考圖像坐標(biāo)值進(jìn)行比較,根據(jù)兩者的標(biāo)準(zhǔn)誤差來(lái)評(píng)價(jià)配準(zhǔn)的精度。RMSE的數(shù)值越小,表明圖像配準(zhǔn)結(jié)果越好[16]。
(20)
(2) SSIM。SSIM用均值表示圖像亮度估計(jì),標(biāo)準(zhǔn)差表示圖像對(duì)比度估計(jì),協(xié)方差表示圖像結(jié)構(gòu)相似性度量,從圖像亮度、對(duì)比度和結(jié)構(gòu)三個(gè)方面進(jìn)行比對(duì),是衡量圖像相似度的有效指標(biāo)[17]。SSIM的取值范圍是[0,1],數(shù)值越大,圖像越相似。
(21)
圖5是隨機(jī)選取的四組圖像的參考圖像與浮動(dòng)圖像。圖6顯示了四組圖像用SIFT算法和SURF算法得到的特征匹配點(diǎn)。
(a) 參考圖 (b) 浮動(dòng)圖圖5 配準(zhǔn)圖像的選取
(a) SIFT算法 (b) SURF算法圖6 兩種算法提取匹配點(diǎn)
由圖6可以看出,在用SIFT算法或SURF算法進(jìn)行體征點(diǎn)匹配時(shí),容易產(chǎn)生提取特征點(diǎn)冗余、提取的特征點(diǎn)不足和特征點(diǎn)偏離等問(wèn)題,從而直接影響配準(zhǔn)的精度。
分別用SIFT算法、SURF算法、DNN、P-CNN和本文算法對(duì)四組圖像進(jìn)行配準(zhǔn)實(shí)驗(yàn),結(jié)果如圖7所示。
(a) 參考圖 (b) 浮動(dòng)圖 (c) SIFT (d) SURF (e) DNN (f) P-CNN (g) 本文圖7 配準(zhǔn)結(jié)果
配準(zhǔn)實(shí)驗(yàn)結(jié)果表明,在平移、縮放、旋轉(zhuǎn)以及穩(wěn)定性方面,本文算法均優(yōu)于其他算法。以第四組為例,SIFT算法配準(zhǔn)結(jié)果縮放參數(shù)不精確;SURF算法提取的特征匹配點(diǎn)過(guò)少,配準(zhǔn)失敗;DNN配準(zhǔn)縮放參數(shù)不精確,圖像失真嚴(yán)重;P-CNN配準(zhǔn)縮放參數(shù)不精確;本文算法魯棒性較好,配準(zhǔn)結(jié)果精確。配準(zhǔn)結(jié)果在數(shù)據(jù)上的分析如表1所示。
表1 四組遙感圖像配準(zhǔn)精度評(píng)價(jià)
表1中,加粗的數(shù)據(jù)表示每組圖像配準(zhǔn)在不同衡量指標(biāo)下的最優(yōu)結(jié)果,可以看出本文算法的配準(zhǔn)更加精確,配準(zhǔn)速度遠(yuǎn)超于同類(lèi)深度學(xué)習(xí)框架。為了進(jìn)一步驗(yàn)證本文算法的可行性,本文針對(duì)測(cè)試數(shù)據(jù)集中的全部數(shù)據(jù)分別用SIFT算法、SURF算法、DNN、P-CNN和本文算法進(jìn)行測(cè)試實(shí)驗(yàn)。配準(zhǔn)結(jié)果的平均RMSE值和SSIM值如表2所示。
表2 測(cè)試數(shù)據(jù)集配準(zhǔn)精度評(píng)價(jià)
從表2可以看出,本文算法在整個(gè)測(cè)試集上的實(shí)驗(yàn)結(jié)果優(yōu)于其他算法。
針對(duì)遙感圖像特征不明顯,目前配準(zhǔn)算法計(jì)算量大、特征匹配不精確的問(wèn)題,本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)級(jí)聯(lián)校正網(wǎng)絡(luò)的遙感圖像配準(zhǔn)算法。算法主要由仿射變換網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)和校正網(wǎng)絡(luò)組成。仿射變換網(wǎng)絡(luò)用于訓(xùn)練集的擴(kuò)展,卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)圖像間的映射關(guān)系,完成圖像間變換參數(shù)的預(yù)測(cè),校正網(wǎng)絡(luò)反向傳播調(diào)整預(yù)測(cè)的參數(shù),提高了配準(zhǔn)的精度。實(shí)驗(yàn)結(jié)果表明,相比于其他配準(zhǔn)算法,基于卷積神經(jīng)網(wǎng)絡(luò)級(jí)聯(lián)校正網(wǎng)絡(luò)的配準(zhǔn)算法更加穩(wěn)定,在配準(zhǔn)精度上明顯提升,配準(zhǔn)速度相對(duì)于其他深度學(xué)習(xí)框架要快,可運(yùn)用在當(dāng)前的遙感圖像配準(zhǔn)領(lǐng)域。