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