蔣文杰,羅曉曙,戴沁璇
廣西師范大學 電子工程學院,廣西 桂林 541004
隨著現代航天技術的快速發展,遙感圖像已經廣泛應用到獲取地理數據、地球資源和應急災害等領域[1-3]。在獲取遙感圖像的過程中,由于受到頻率干擾、大氣擾動和成像設備等多因素的影響,導致傳統的遙感圖像分辨率普遍偏低。高分辨率遙感圖像相比低分辨率遙感圖像,圖像細節信息更加豐富,更有利于遙感數據的后續處理,因此,圖像超分辨率重建作為提高圖像分辨率的方法,在遙感圖像和醫學影像等領域展現出巨大的潛力和應用價值。
超分辨率重建技術作為一種提高圖像分辨率的有效方法,其最早于20 世紀60 年代由Harris 等人[4]提出。目前超分辨率重建方法主要分為學習法[5]、插值法[6]和重建法[7]。其中,插值法用于估計未知像素值,該方法簡單可行,但對紋理細節恢復不明顯。重建法是根據先驗知識對重建過程進行約束,雖然重建效果較好,但是計算復雜,運算時間長。學習法主要是通過高低分辨率圖像間的映射關系來約束超分辨率重建,效果一般優于差值法和重建法。
2014 年Dong[8]等首次將卷積神經網絡SRCNN(Super-Resolution Convolutional Neural Network)應用于圖像超分辨率重建,該算法極大地提高了重建圖像的視覺效果和量化指標。Kim等[9]提出了將殘差思想引入卷積神經網絡VDSR(Very Deep Super-Resolution),并將其運用到圖像超分辨率重建上,該方法在降低學習成本的同時加快了學習速率。Lai等[10]提出了基于拉普拉斯金字塔的卷積神經網絡模型,通過逐步上采樣的方式實現了圖像超分辨率重建。基于現有圖像超分辨率重建算法的研究,提出了一種改進的遙感圖像超分辨率重建模型,主要工作有以下三點:
(1)改進CGAN(Conditional Generative Adversarial Nets)[11],用于遙感圖像超分辨率重建。
(2)在判別器網絡中,引入梯度懲罰損失函數[12],提高訓練的穩定性和收斂速度。
(3)相較于傳統使用隨機向量作為輸入,采用低分辨率圖像作為生成器輸入,實現了四倍上采樣的遙感圖像超分辨率重建。
Goodfellow[13]及其學生于2014 年提出了生成對抗網絡GAN[13](Generative Adversarial Network)。該網絡作為一種概率生成模型包含了判別器D 和生成器G 兩個模塊,分別用于估計輸入圖片的真實概率和抓取數據的分布特征。判別器盡可能將真實圖像和生成圖像區別開來,而生成器則盡可能生成真實圖片來欺騙判別器,兩者進行極大極小值博弈,最終達到動態平衡,其過程如式(1)所示:

由于GAN 網絡不可控,難以對輸出進行控制。為了解決這個問題,條件對抗網絡CGAN 是在GAN 的生成器和判別器都額外添加了一個條件y,生成器必須要生成和條件y匹配的樣本,判別器不僅要判別圖像是否真實,還要判別圖像和條件y是否匹配。生成器G,輸入為一個噪聲z,輸出一個圖像G(z)。判別器D,輸入為一個圖像x,輸出該圖像為真實的概率D(x),CGAN的損失函數如式(2)所示:

CGAN結合了卷積神經網絡強大的特征提取能力,在此基礎上加以條件輔助生成樣本。為得到高分辨率的遙感圖像,在對網絡進行訓練時可將高分辨率的遙感圖像作為額外輸入,其作用相當于網絡訓練的控制條件,在訓練過程中將上述的控制條件作為標簽加到訓練數據中,最后得到所需要的高分辨率遙感圖像。
然而,如果CGAN網絡中訓練分布和生成分布之間存在的差異較少,且對生成分布和真實分布的度量采用JS散度衡量,這會導致判別器更容易分辨是生成圖片還是訓練圖片,由此梯度問題將被放大,這會導致模型不收斂,難以訓練,從而存在梯度消失的問題。
為了解決網絡訓練收斂速度慢的問題,WGAN[14](Wasserstein Generative Adversarial Nets)提出了使用Wasserstein距離作為網絡訓練的優化目標,其具體表達式如式(3)所示:

WGAN 使用Wassertein 距離去衡量生成數據分布和真實數據分布之間的距離,理論上解決了網絡訓練不穩定的問題。為了將Wassertein距離作為優化方式來訓練網絡,WGAN 需要滿足Lipschitz連續性,最后只能將權重壓縮到一個范圍來強制滿足Lipschitz 連續性。這會造成對深度神經網絡擬合能力的極大浪費,另外對權重進行強制剪切容易導致梯度消失或者爆炸。
針對上述問題,提出了采用梯度懲罰來滿足Lipschitz連續性。為了盡可能將判別器的梯度?D(x)變大,而Lipschitz 連續性限制要求判別器的梯度?D(x)不能超過K,所以兩者的歐氏距離表達式如式(4)所示:

由于K是一個大于等于零的常數并且梯度?D(x)不能超過K,為了方便計算,設K的數值為1,則與原來WGAN判別器的目標函數表達式結合的表達式如式(5)所示:

上式中λ是一個常數并且取值范圍是0到1,由于式(5)的最后一項描述需要在整個樣本空間進行采樣,而實際訓練網絡的時候只需要在生成樣本空間和真實樣本空間兩個空間的重疊區域進行采樣。所以采用隨機抽取一對真假樣本以及0~1均勻分布的隨機數的采樣方式,如式(6)所示:

接著在xr和xg之間的連線上隨機采樣,如式(7)所示:

最后將采樣的結果所滿足的分布為p~x,此時可以得到判別器的損失函數,如式(8)所示:

這樣做不僅解決了原先網絡訓練梯度消失和爆炸的問題,還使得網絡實現了比WGAN 更快的收斂速度和更高質量的樣本。
本文的CNN 生成器網絡采用了包含兩個1/2 間隔的卷積單元,9個剩余殘差單元和兩個反卷積單元,每個殘差模塊由一個卷積層,實例歸一化層[15]和ReLU[16]激活組成。殘差網絡結構如圖1所示。

圖1 殘差網絡結構
深度學習對于網絡深度遇到的主要問題是梯度消失和梯度爆炸,傳統對應的解決方案是數據的初始化和正則化,但是這樣雖然解決了梯度的問題,卻存在網絡性能的退化問題。而殘差用來設計解決退化問題,其結構使得網絡在輸入特征基礎上學習到新的特征,使得網絡的性能進一步得以提升,同時也解決了梯度問題,殘差單元的公式如式(9)所示:

其中,Xi表示殘差學習的輸入,θ表示殘差學習的參數,Xi+1表示殘差學習的輸出。
在圖像生成過程中,以高分辨率遙感圖像作為條件變量,引導低分辨率圖像重建。不同于一般的對抗網絡生成器輸入為任意隨機向量,輸入為1/4 采樣的低分辨率遙感圖像,輸入的每張低分辨率遙感圖像對應有高分辨率遙感圖像進行重建。
對于判別器網絡D,判別器采用PatchGAN[17]的方法,即對每張輸出圖像的每個N×N小塊(Patch)計算概率,然后再將這些概率求平均值作為整體的輸出。這樣的結果通常通過卷積層來達到,最終輸出的矩陣中的每一個元素,實際上代表著原圖中一個比較大的感受野,也就是對應著原圖中的一個Patch。該方法能夠加快模型收斂和計算速度。PatchGAN結構如圖2所示。

圖2 PatchGAN結構
在對模型進行算法改進后,采取了適用于圖像超分辨率重建的網絡模型,生成器與判別器整體的網絡結構如圖3和圖4所示。
其中,判別器的損失函數如式(10)所示:

損失函數包含對抗損失和內容損失,其中對抗損失如式(11)所示:

內容損失是估計生成圖像和真實圖像兩者的差距,這里的內容損失為L2損失,它反映的是生成的特征圖和真實的特征圖之間的距離,具體的公式如式(12)所示:

圖3 生成器網絡結構

圖4 判別器網絡結構

最終得到的損失函數如式(13)所示:

上式中由于是加權合并,所以λ為0到1的常數。
由于在模型訓練中需要大量的卷積計算,相對于CPU而言,GPU的運用將極大地縮短訓練時間,加快訓練速度。本實驗使用的計算機配置是雙E5-2637 v4 CPU,操作系統為Ubuntu 16.04,同時還使用了GTX1080Ti顯卡、12 GB內存來加速訓練。實驗使用的平臺是機器學習框架Tensorflow1.9。
本文采用的數據集,大約包含了1萬張30類的高分影像,包含了機場、立交橋和車場等15 個類別,訓練集和測試集的比例8∶2,進行1/4 采樣,使用SSIM(結構相似度)和PSNR(峰值信噪比)兩種評價算法對重建圖像進行評價,同時使用SRCNN、FSRCNN、SRGAN重構出的超分辨率圖像作為結果對比,其中紅色矩形框代表的是感興趣區域,如圖5所示。

圖5 輸入圖像
訓練時,為了避免模型陷入局部最優解,首先預訓練好VGG19 模型作為初始化模型。訓練過程中,將生成器和判別器進行交替訓練,學習率設置為0.000 2,迭代次數為500,訓練時間為72 h,ROI 重建效果如圖6所示。
重建效果由圖6 可知,SRCNN 模型重建效果較為模糊,只能顯示物體的輪廓;FSRCNN 的效果相較于SRCNN 有一定的改進,去模糊性效果顯著并且顯示出物體的部分細節紋理;SRGAN 模型在去模糊的基礎上對圖像細節恢復顯著,但同時圖像出現了部分失真,圖像局部出現了扭曲;本文的方法相較于前面三種在去模糊和細節恢復上均取得了顯著提升,重建效果最接近于原圖。
評價超分辨率圖像質量主要分為主觀評價和客觀評價,前者是通過觀察人員的主觀感受來評價重構圖像質量,后者是根據量化指標[18-19]來衡量輸出圖像質量。選取了均方誤差MSE(Mean Squared Error),峰值信噪比 PSNR(Peak Signal to Noise Ratio)和結構相似度SSIM(Structural Similarity Index)來綜合評價重構圖像性能,其中,MSE如下所示:

PSNR表示為:

SSIM如下所示:

在公式(14)中h,w,k分別表示圖像的長、寬和通道;式(15)中的n等于 8;式(16)中的l(x,y)、c(x,y)、s(x,y) 分別表示圖像的亮度、對比度和結構相似度。MSE越小代表重建圖像和原圖像誤差越小,PSNR和SSIM越大表示重構圖像越接近原始圖像。

圖6 各種超分辨率重建結果對比
為了更加客觀和準確評價各種算法的重建圖像,通過測試集(100張圖片)對各種算法進行了比較,實驗的對比結果如表1 所示。從表1 可知,相較于SRCNN、FSRGAN、SRGAN算法在測試集的評價結果,MSE分別減少了 29.03,5.09 和41.97,PSNR 分別提高了4.27 dB、1.79 dB 和0.76 dB,SSIM 指標略有提高。根據實驗結果,證實了本文改進算法能夠有效提升模型的準確率與穩定性。

表1 各超分辨率重建方法客觀指標
提出了一種基于改進條件生成對抗網絡的遙感圖像超分辨率重建算法,構建了遙感圖像超分辨率重建模型。通過在判別器中引入梯度懲罰函數對判別器梯度進行限制,同時訓練了CNN生成器,使用內容損失和對抗損失作為目標函數,輸入圖像為低分辨率圖像。實驗結果表明在輸出圖像在視覺效果和評價指標均優于其他對比算法,提現了本文算法的優越性和先進性,后續將對特定類型的遙感圖像做超分辨率重建。