羅銀輝, 王星怡, 吳岳洲, 魏嗣杰
(中國(guó)民用航空飛行學(xué)院 計(jì)算機(jī)學(xué)院, 四川 廣漢 618307)
單應(yīng)性模型主要用于實(shí)現(xiàn)2 幅圖像間的幾何變換,被廣泛用于圖像配準(zhǔn)領(lǐng)域[1]。 紅外和可見(jiàn)光圖像所具有的互補(bǔ)性克服了單傳感器系統(tǒng)所固有的缺陷,二者的配準(zhǔn)具有深遠(yuǎn)的研究意義[2]。
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)因自身優(yōu)勢(shì)逐漸被應(yīng)用到圖像配準(zhǔn)中,通過(guò)對(duì)抗來(lái)提升配準(zhǔn)精度。 Hong 等[3]將GAN 用于預(yù)測(cè)掩碼,以對(duì)預(yù)測(cè)的單應(yīng)性施加共面約束。 但該方法并未直接將GAN 用作單應(yīng)性矩陣輸出的框架,僅是作為一個(gè)組件來(lái)對(duì)單應(yīng)性進(jìn)行約束。 Tanner 等[4]通過(guò)GAN 學(xué)習(xí)對(duì)稱模態(tài)轉(zhuǎn)換器,以將單模態(tài)圖像配準(zhǔn)算法用于多模態(tài)配準(zhǔn)中。 Wang 等[5]提出二階段變壓器對(duì)抗網(wǎng)絡(luò)(Transformer Adversarial Network,TAN),利用對(duì)抗性提升紅外圖像和可見(jiàn)光圖像配準(zhǔn)精度。 Kumari 等[6]利用具有空間變換器的GAN 實(shí)現(xiàn)了紅外與可見(jiàn)光圖像配準(zhǔn)。
以上方法主要利用GAN 作為模態(tài)轉(zhuǎn)換器或起約束作用的組件,并未將其直接用于單應(yīng)性矩陣輸出的框架。 因此,本文從另一個(gè)角度出發(fā),直接將GAN 用作單應(yīng)性矩陣輸出的框架,以證明GAN 在單應(yīng)性估計(jì)中的可用性,并可有效提升單應(yīng)性估計(jì)的精度。 本文的主要貢獻(xiàn)包括:
① 將GAN 直接用于單應(yīng)性矩陣輸出的主框架;
② 使用精細(xì)特征作為判別器的輸入,而非像一般GAN 那樣直接使用圖像對(duì)作為輸入,以將穩(wěn)健的特征作為主要判決對(duì)象。
本文提出了一個(gè)以GAN 為主框架的單應(yīng)性估計(jì)方法,以有效實(shí)現(xiàn)紅外與可見(jiàn)光圖像的配準(zhǔn)任務(wù),網(wǎng)絡(luò)框架如圖1 所示。 單應(yīng)性估計(jì)整體框架主體由3 部分構(gòu)成:淺層特征提取網(wǎng)絡(luò)f(·)、生成器G 和判別器D。 首先,給定一對(duì)大小為W×H的灰度紅外圖像Ir和可見(jiàn)光圖像Iv作為網(wǎng)絡(luò)輸入,將其輸入到淺層特征提取網(wǎng)絡(luò)中得到圖像的精細(xì)特征Gr和Gv,并用于后續(xù)的單應(yīng)性估計(jì)和損失計(jì)算。 其次,將Gr和Gv在通道維度上進(jìn)行級(jí)聯(lián),以作為生成器的輸入,并分別輸出單應(yīng)性矩陣Hrv和Hvr。 然后,對(duì)單應(yīng)性矩陣Hrv運(yùn)用到灰度紅外圖像Ir上得到扭曲的紅外圖像I′r,并將其輸入到淺層特征網(wǎng)絡(luò)中得到精細(xì)扭曲特征G′r。 最后,將可見(jiàn)光特征Gv和扭曲紅外特征G′r分別送入到判別器網(wǎng)絡(luò)中,其目的是區(qū)分Gv和G′r。 同理,將紅外特征Gr和扭曲可見(jiàn)光特征G′v輸入到判別器中得到對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽。
圖1 基于GAN 的單應(yīng)性估計(jì)總體框架Fig.1 Overall framework of GAN-based homography estimation
1.1.1 淺層特征提取網(wǎng)絡(luò)f(·)
淺層特征網(wǎng)絡(luò)由特征提取塊(Feature Extraction Block,FEB)、特征細(xì)化塊(Feature Refinement Block,FRB) 和特征整合塊( Feature Integration Block,FIB)組成,以產(chǎn)生精細(xì)特征Gr和Gv。 特別地,4 個(gè)特征淺層提取網(wǎng)絡(luò)均共享權(quán)重,網(wǎng)絡(luò)框架如圖2 所示。
圖2 淺層特征提取網(wǎng)絡(luò)Fig.2 Shallow feature extraction network
特征提取塊由4 個(gè)卷積塊和3 個(gè)殘差密集塊(Residual Dense Block,RDB)[7]組成,以提取紅外與可見(jiàn)光圖像的深層次特征,網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。具體來(lái)說(shuō),首先,通過(guò)2 個(gè)3×3 的卷積塊提取圖像的淺層特征。 其次,利用3 個(gè)RDB 提取圖像的深層次特征,并且每個(gè)RDB 均進(jìn)行局部特征融合以自適應(yīng)地學(xué)習(xí)來(lái)自先前和當(dāng)前局部特征中的更有效特征。 最后,利用全局性融合將多個(gè)RDB 的分層特征融合到一起,并利用全局殘差學(xué)習(xí)將淺層特征和深層特征結(jié)合到一起以得到全局密集特征。 這一過(guò)程的計(jì)算如下:
圖3 特征提取塊Fig.3 Feature extraction block
式中,F-1表示淺層特征映射;Fi表示第i個(gè)RDB 提取到密集特征映射,i∈{1,2,3};HGFF(·)表示所有RDB 的融合計(jì)算。
特征細(xì)化塊由卷積注意力機(jī)制模塊(Convolutional Block Attention Module,CBAM)[8]構(gòu)成,它對(duì)通道和空間2 個(gè)維度進(jìn)行注意力映射,以得到密集特征中對(duì)單應(yīng)性求解有意義的特征。 具體來(lái)說(shuō),特征細(xì)化塊首先利用特征的通道間關(guān)系生成通道注意力映射,以使網(wǎng)絡(luò)集中于輸入圖像中有意義的地方。其次,利用特征之間的空間關(guān)系生成空間注意力,以側(cè)重于圖像中的信息部分。 這一過(guò)程的計(jì)算為:
式中,Mck和Msk分別表示空間注意力和通道注意力。
特征整合塊由1 個(gè)卷積塊組成,其主要目的是將多通道特征的通道數(shù)轉(zhuǎn)換為1,以降低后續(xù)網(wǎng)絡(luò)中的運(yùn)算量。
1.1.2 生成器G
本文將文獻(xiàn)[9]中單應(yīng)性估計(jì)器用作GAN 的生成器G,以產(chǎn)生單應(yīng)性矩陣,網(wǎng)絡(luò)框架如圖4 所示。 生成器以ResNet-34[10]作為主干,通過(guò)將紅外圖像和可見(jiàn)光圖像的精細(xì)特征Gr和Gv進(jìn)行通道級(jí)聯(lián)以作為輸入。 然后,生成器以4 個(gè)集合向量作為輸出,并利用直接線性變換(Direct Linear Transformation,DLT)[11]得到單應(yīng)性矩陣。
圖4 生成器網(wǎng)絡(luò)框架Fig.4 Generator network framework
1.1.3 判別器D
受紅外與可見(jiàn)光圖像融合方法的啟發(fā),本文使用文獻(xiàn)[12]中的判別器作為單應(yīng)性估計(jì)方法中的判別器D,網(wǎng)絡(luò)框架如圖5 所示。 相較于文獻(xiàn)[12]中的判別器,本文刪除了其倒數(shù)第2 個(gè)模塊,其中包含2 個(gè)通道數(shù)為512 的卷積。 同時(shí),還將最后一個(gè)模塊的輸出通道數(shù)修改為1,用于判斷輸入精細(xì)特征映射對(duì)齊的概率。
圖5 判別器網(wǎng)絡(luò)框架Fig.5 Discriminator network framework
判別器D 的本質(zhì)是一個(gè)分類器,通過(guò)從輸入圖像中提取特征映射來(lái)對(duì)其進(jìn)行分類。 首先,通過(guò)淺層特征提取網(wǎng)絡(luò)分別提取扭曲圖像和目標(biāo)圖像的精細(xì)特征;然后,將精細(xì)特征作為判別器D 的輸入,以對(duì)扭曲圖像和目標(biāo)圖像進(jìn)行區(qū)分;最后,通過(guò)在生成器G 和判別器D 之間建立對(duì)抗性博弈,使得扭曲圖像和目標(biāo)圖像間的精細(xì)特征位置越來(lái)越接近。 在訓(xùn)練階段,一旦生成器生成了判別器無(wú)法辨別的樣本,本文就得到了可以配準(zhǔn)的扭曲圖像。
1.2.1 配準(zhǔn)損失
配準(zhǔn)損失將鼓勵(lì)扭曲圖像的精細(xì)特征更加接近于目標(biāo)圖像的精細(xì)特征。 受文獻(xiàn)[9]中Triplet Loss的啟發(fā),本文直接利用圖像對(duì)的精細(xì)特征進(jìn)行損失計(jì)算,以判別精細(xì)特征的對(duì)齊情況。 配準(zhǔn)損失描述為:
式中,Ir和Iv分別表示灰度紅外圖像和灰度可見(jiàn)光圖像;I′r表示對(duì)Ir使用單應(yīng)性矩陣Hrv進(jìn)行扭曲所得的圖像;Gr和Gv分別表示Ir和Iv經(jīng)過(guò)淺層特征提取網(wǎng)絡(luò)后得到的精細(xì)特征;G′r表示I′r經(jīng)過(guò)淺層特征提取網(wǎng)絡(luò)后得到的精細(xì)特征。 同理,可得到另一配準(zhǔn)損失Lreg(I′v,Ir)。
1.2.2 單應(yīng)性損失
受文獻(xiàn)[9]的啟發(fā),本文利用單應(yīng)性損失來(lái)迫使Hrv和Hvr互為逆矩陣。 單應(yīng)性損失描述為:
式中,Hvr表示由Ir和Iv的精細(xì)特征求解的單應(yīng)性矩陣;Hrv表示交換Ir和Iv的精細(xì)特征后所求解的單應(yīng)性矩陣;E 表示三階恒等矩陣。
1.2.3 對(duì)抗損失
受文獻(xiàn)[13]的啟發(fā),本文將圖像融合中的生成器對(duì)抗損失遷移到圖像配準(zhǔn)任務(wù)中,以生成更能對(duì)齊的扭曲圖像。 生成器中的對(duì)抗損失Ladv(G)是根據(jù)所有訓(xùn)練樣本中判別器的概率確定的,其被描述為:
式中,G′r表示扭曲紅外圖像精細(xì)特征;logDθD(·)表示扭曲圖像精細(xì)特征與目標(biāo)圖像精細(xì)特征對(duì)齊的概率;N表示網(wǎng)絡(luò)中batch 的個(gè)數(shù)。 同理,可以得到另一生成器的對(duì)抗損失Ladv(G,G′v)。
受圖像融合算法[12]中對(duì)判別器損失函數(shù)設(shè)計(jì)的啟發(fā),本文方法中判別器D 的對(duì)抗損失被描述為:
式中,a和b分別表示目標(biāo)圖像和扭曲圖像的標(biāo)簽;Ladv(D,Gr,G′v)表示紅外圖像精細(xì)特征Gr和扭曲可見(jiàn)光圖像精細(xì)特征G′v之間的損失函數(shù);同理,可以得到另一對(duì)抗損失Ladv(D,Gv,G′r)。 在實(shí)驗(yàn)中,標(biāo)簽a設(shè)置為0.95~1 的隨機(jī)數(shù),標(biāo)簽b設(shè)置為0~0.05 的隨機(jī)數(shù)。
1.3.1 更新生成器G 的目標(biāo)函數(shù)
生成器G 以一對(duì)精細(xì)特征Gv和Gr作為輸入,并輸出單應(yīng)性矩陣。 模型根據(jù)損失函數(shù)的變化,使得扭曲圖像中和目標(biāo)圖像之間的精細(xì)特征盡可能對(duì)齊,從而達(dá)到欺騙判別器的效果。 生成器G 的損失函數(shù)主要由3 部分組成:配準(zhǔn)損失、單應(yīng)性損失和生成器對(duì)抗損失。 因此,最終生成器的目標(biāo)函數(shù)描述為:
式中,λ和μ表示平衡超參數(shù)。 在實(shí)驗(yàn)中,λ設(shè)置為0.01,μ設(shè)置為0.005。
1.3.2 更新判別器D 的目標(biāo)函數(shù)
判別器D 作為二分類來(lái)區(qū)分真和假,以輸出圖像精細(xì)特征可以得到對(duì)齊的概率。 判別器應(yīng)該盡可能地區(qū)分扭曲圖像和目標(biāo)圖像之間精細(xì)特征的差異。 判別器D 的損失函數(shù)主要由判別器對(duì)抗損失組成。 因此,最終判別器的損失函數(shù)描述為:
針對(duì)目前紅外與可見(jiàn)光場(chǎng)景下未配準(zhǔn)的數(shù)據(jù)集較少、已配準(zhǔn)的數(shù)據(jù)集較多的情況,本文選取了圖像融合任務(wù)中較為著名的紅外與可見(jiàn)光數(shù)據(jù)集用作本文的數(shù)據(jù)源。 特別地,這些數(shù)據(jù)集中圖像對(duì)普遍較少,因此使用OSU Color-Thermal Database[14],INO 和TNO 三個(gè)公開(kāi)數(shù)據(jù)集作為本文的數(shù)據(jù)源,從中共選取了115 對(duì)和42 對(duì)紅外與可見(jiàn)光圖像用于基礎(chǔ)訓(xùn)練集和測(cè)試集。
同時(shí),為了獲得豐富的數(shù)據(jù)集,本實(shí)驗(yàn)采用了旋轉(zhuǎn)、平移和剪切等數(shù)據(jù)增廣的方式擴(kuò)充訓(xùn)練集,最終共得49 736 對(duì)紅外與可見(jiàn)光圖像。 其次,為了獲得未配準(zhǔn)的數(shù)據(jù),實(shí)驗(yàn)采用了DeTone 等[15]方法來(lái)制作數(shù)據(jù)集,最終產(chǎn)生大小為150×150 的未配準(zhǔn)紅外與可見(jiàn)光圖像Ir和Iv以及紅外真值圖像IGT。
網(wǎng)絡(luò)框架基于 Pytorch 實(shí)現(xiàn), 并在 NVIDIA GeForce RTX 3090 進(jìn)行訓(xùn)練。 采用基于自適應(yīng)動(dòng)量估計(jì)(Adaptive Momentum Estimation,Adam)[16]作為網(wǎng)絡(luò)優(yōu)化器,指數(shù)衰減學(xué)習(xí)率初始化為1. 0×10-4,衰減因子為0. 8,衰減步長(zhǎng)為1 個(gè)epoch。 另外,訓(xùn)練過(guò)程中設(shè)置了50 個(gè)epoch,batch_size 設(shè)置為8。
為了驗(yàn)證所提算法的有效性,選取了平均角點(diǎn)誤差(Average Corner Error,ACE)[17-18]和結(jié)構(gòu)相似性(Structural Similarity,SSIM)[19]作為評(píng)估指標(biāo)。
ACE 通過(guò)估計(jì)單應(yīng)性和真值單應(yīng)性來(lái)變換角點(diǎn),然后計(jì)算角點(diǎn)之間的平均距離誤差作為評(píng)估值。距離誤差越小,表明配準(zhǔn)效果越好。 ACE 描述為:
式中,ci和c′i分別表示估計(jì)單應(yīng)性和真值單應(yīng)性所變換的角點(diǎn)坐標(biāo)。
SSIM 使用了圖像亮度、對(duì)比度以及結(jié)構(gòu)來(lái)衡量圖像相似度,其值屬于[0,1],值越大表示配準(zhǔn)結(jié)果越好。 SSIM 描述為:
式中,x和y分別表示扭曲圖像和真值圖像;μx和μy分別表示x和y中所有像素點(diǎn)均值;σx和σy分別表示x和y中的標(biāo)準(zhǔn)差;σxy表示2 個(gè)圖像的協(xié)方差;C1和C2表示維持穩(wěn)定的常數(shù)。
在測(cè)試集上與SIFT[20]+RANSAC[21],ORB[22]+RANSAC[21],BRISK[23]+ RANSAC[21],AKAZE[24]+RANSAC[21]以及CADHN[9]等算法進(jìn)行了對(duì)比實(shí)驗(yàn)。 在對(duì)比算法中,僅CADHN 是基于深度學(xué)習(xí)的算法,其余均是基于特征的算法。 特別地,部分基于深度學(xué)習(xí)的方法難以在紅外與可見(jiàn)光數(shù)據(jù)集上進(jìn)行擬合,例如Nguyen 等[25]所提方法在紅外與可見(jiàn)光場(chǎng)景下無(wú)法收斂。 Ye 等[1]和Hong 等[3]所提方法均使用了單應(yīng)性流的思想,但紅外與可見(jiàn)光圖像本身所存在的較大灰度和對(duì)比度差異會(huì)造成單應(yīng)性流變化不穩(wěn)定,使得網(wǎng)絡(luò)難以收斂。 因此,在基于深度學(xué)習(xí)的方法中,本文僅采用CADHN 作為對(duì)比算法。
圖6 顯示了不同算法的扭曲圖像對(duì)比,可以清晰地看出,基于深度學(xué)習(xí)的算法明顯優(yōu)于基于特征的算法。 如圖6 所示,在這類測(cè)試場(chǎng)景下,AKAZE+RANSAC 完全失效,無(wú)法預(yù)測(cè)得出扭曲圖像。 其余3 個(gè)基于特征的對(duì)比算法配準(zhǔn)性能較差,扭曲圖像發(fā)生嚴(yán)重畸變。 相比之下,基于深度學(xué)習(xí)的算法可得到完整的扭曲圖像,且配準(zhǔn)性能更優(yōu)。
圖6 不同算法扭曲圖像對(duì)比Fig.6 Comparison of warp images of different algorithms
圖7 顯示了3 種場(chǎng)景下不同算法的配準(zhǔn)結(jié)果,其配準(zhǔn)結(jié)果是將扭曲紅外圖像的藍(lán)色通道和綠色通道與真值紅外圖像的紅色通道進(jìn)行融合所得,其中紅色重影和綠色重影代表未實(shí)現(xiàn)配準(zhǔn)。 圖7 中的“-”表示配準(zhǔn)失效。 由圖7 可知,SIFT+RANSAC 在這3 種場(chǎng)景下是完全失效的,而其余基于特征的算法僅在第3 種場(chǎng)景下完全失效,剩余2 種場(chǎng)景雖然可以產(chǎn)生扭曲圖像,但配準(zhǔn)效果較差。 造成這一結(jié)果的主要原因是紅外圖像和可見(jiàn)光圖像具有較大的灰度差異,基于特征的算法難以獲得足夠較高質(zhì)量的特征點(diǎn)對(duì)。 另外,由圖7 可知,本文算法在這3 種場(chǎng)景下明顯略優(yōu)于CADHN,可以得到更多對(duì)齊的像素點(diǎn)。
圖7 不同算法配準(zhǔn)結(jié)果對(duì)比Fig.7 Comparison of registration results of different algorithms
為了定量驗(yàn)證本文算法的有效性,本文使用評(píng)價(jià)指標(biāo)ACE 對(duì)42 組測(cè)試圖像進(jìn)行評(píng)估,并說(shuō)明了每類算法的失效率,結(jié)果如表1 所示。 失效率是由測(cè)試圖像失效數(shù)與測(cè)試圖像總數(shù)的比值所求得。 如表1 所示,基于深度學(xué)習(xí)的方法明顯優(yōu)于基于特征的方法。 傳統(tǒng)基于特征的算法不僅有較高的算法失效率,而且ACE 較高,無(wú)法實(shí)現(xiàn)配準(zhǔn)。 特別地,SIFT+RANSAC 雖然失效率是最高的,但其ACE 明顯優(yōu)于其余基于特征的算法。 另外,相較于CADHN而言,本文方法的ACE 從5.25 明顯下降至5.15。但本文方法的SSIM 略低于CADHN,其主要原因是本文方法中扭曲圖像的黑邊多于CADHN,從而影響了SSIM 的計(jì)算。
表1 不同算法的配準(zhǔn)評(píng)估結(jié)果Tab.1 Registration evaluation results of different algorithms
同時(shí),基于特征的算法耗時(shí)明顯低于基于深度學(xué)習(xí)的算法,但其算法失效率和配準(zhǔn)性能較差,難以適用于紅外與可見(jiàn)光場(chǎng)景。 雖然CADHN 的耗時(shí)比本身算法低80.32 ms,但其ACE 卻明顯低于本文算法。 因此,本文所提模型可得到較好性能,且優(yōu)于其余傳統(tǒng)基于特征和基于神經(jīng)網(wǎng)絡(luò)的算法。
本文提出了一種將GAN 作為單應(yīng)性估計(jì)主框架的紅外與可見(jiàn)光單應(yīng)性估計(jì)方法。 把圖像的精細(xì)特征作為生成器和判別器的輸入,使得網(wǎng)絡(luò)更加關(guān)注于圖像中的重要特征。 同時(shí),通過(guò)在生成器和判別器之間建立對(duì)抗性博弈,使得扭曲圖像和目標(biāo)圖像之間的精細(xì)特征越來(lái)越接近,從而提升單應(yīng)性估計(jì)性能。 實(shí)驗(yàn)結(jié)果表明,相較于次優(yōu)算法CADHN,本文方法不僅能夠得到更為準(zhǔn)確的扭曲圖像,而且評(píng)估指標(biāo)ACE 從5.25 明顯下降至5.15。 未來(lái)將嘗試在GAN 框架下對(duì)生成器進(jìn)行進(jìn)一步改進(jìn),以繼續(xù)提升單應(yīng)性估計(jì)性能。