高春永,柏業超,王 瓊
(南京大學電子科學與工程學院,南京,210093)
合成孔徑雷達(Synthetic Aperture Radar,SAR)具有全天候、全天時、大幅寬、高分辨等多種優點,并有一定的地表穿透能力,SAR 圖像被廣泛應用到海洋監測、環境檢測、災害檢測和軍事等方面[1-2],因其可發揮其他遙感方式不具備的獨特優勢,越來越受到世界各國的重視.
SAR 圖像目標識別是分析和解譯SAR 圖像的重要環節,主要包括圖像數據預處理、特征提取以及分類器的設計.SAR 圖像存在大量的相干斑噪聲,嚴重影響SAR 的圖像質量,給后續的圖像目標識別帶來巨大的挑戰.預處理是在盡可能保留圖像的原始信息的同時,對圖像進行濾波和去噪[3];特征提取的目的是從每個圖像中提取具有鑒別性的特征,將提取的特征輸入已經訓練好的分類器進行分類識別.傳統SAR 圖像特征提取方法是提取圖像的高維特征輸入訓練好的分類器中,而降維方法主要包括線性判別分析(Linear Discriminant Analysis,LDA)[4]、主成分分析(Principal Component Analysis,PCA)[4]、t分布隨機鄰域嵌入算法(t-distributed Stochastic Neighbor Embedding,t-SNE)[5]等,分類器有支持向量機[6]、隨機森林[7]、K 最近鄰域[8]以及決策樹[9]等.隨著深度學習的不斷發展與應用,將深度學習應用到圖像識別分類成為一大熱點.深度學習分有監督學習、半監督學習和無監督學習.監督學習的圖像樣本是帶有標簽的數據,根據訓練的結果調解分類器.目前主流的監督學習算法是卷積神經網絡(Convolutional Neural Networks,CNN)[10-12],它將二維圖像作為網絡的輸入,經過卷積層、池化層及全連接層等操作后,自動從圖像中提取抽象的特征,并通過權值共享大大減少權值參數數量,從而減小網絡的訓練復雜度.無監督學習的數據是無任何標注的圖像樣本,即沒有任何先驗信息,通過機器自己學習進行分類,主要包括PCA、局部線性嵌入方法等,算法網絡主要包括自編碼、稀疏自編碼、降噪自編碼等.半監督學習的輸入目標圖像是少量帶有標簽的數據樣本,其主要思想是通過利用數據分布上的模型假設來建立學習分類器對未標簽圖像樣本劃分標簽.半監督學習需要解決如何利用已標簽樣本和未標簽樣本這一問題.隨著新理論的出現以及文本分類、計算機視覺和自然語言處理新應用的發展,對半監督學習的應用也更加廣泛和深入.在半監督學習成為熱門領域之后,利用無類標簽的圖像樣本提高學習算法的識別準確度以及加快學習速度的算法不斷出現,涌現出大量改進的半監督學習方法.Nigam et al[13]將最大期望算法和樸素貝葉斯算法相結合,通過引入加權系數來動態調整無類標簽的數據樣本的影響,提高了分類準確率.Zhou and Goldman[14]提出基于協同訓練的改進算法,該算法不需要充分冗余的視圖,僅利用兩個不同類型的分類器即可完成學習目標.Shang et al[15]提出一種新的半監督學習算法,能解決有類標簽圖像樣本稀疏問題以及無類標簽圖像樣本成對約束的問題.
本文提出一種改進的半監督階梯網絡的SAR 圖像目標分類識別算法:首先將半監督階梯網絡和卷積神經網絡相結合,在半監督階梯網絡解碼器中使用卷積網絡代替全連接網絡,對圖像降噪和深度特征提取,最后完成圖像重構.為解決數據集樣本不均衡的問題,提高網絡的泛化性,對階梯網絡中各類別所占損失函數的權重進行調節,對少數分布不均衡的訓練樣本增大損失函數權重以改善數據集樣本數量不平衡的問題.實驗結果顯示,改進后的算法在SAR 圖像十類目標與四類目標上的分類識別率均遠高于原算法,且該算法的識別性能與數據增強后的算法識別性能相當,但處理過程更簡單,體現了該算法的優越性.
半監督階梯網絡是將階梯網絡在無監督階梯網絡的基礎上與監督學習網絡相結合來進行目標識別分類.半監督階梯網絡在獲得編碼最高層特征后使用全連接感知器對含有標簽的輸入數據進行監督訓練,通過計算預測標簽和真實標簽之間的損失來獲得有監督損失函數;通過無噪聲通道各層數據與解碼器各層數據構建無監督損失函數.有監督損失函數與無監督損失函數相加作為整個網絡的損失函數,通過訓練使網絡損失函數達到最小.
階梯網絡訓練模型類似降噪自編碼,因階梯網絡中解碼器和編碼器間存在橫向連接,所以網絡中的每層解碼器對同一層的編碼器數據都要去噪和解碼,同時恢復同層編碼器丟失的部分特征信息.由于解碼器不能恢復數據的全部信息,因此每層都會產生相應的損失分別為l層(0≤l≤L,L為階梯網絡層數)的原始樣本和估計樣本,階梯網絡的訓練目標就是使每層疊加的總損失函數最小.
階梯網絡包含兩層半監督階梯網絡,如圖1所示,在原階梯網絡的頂層加入有監督損失函數.每層都對最后的損失函數有影響,通過訓練每層的編碼器及解碼器來學習降噪函數由于損失函數需要有噪聲和無噪聲,因此網絡中編碼器需要運行兩次,分別包含有噪聲路徑和無噪聲路徑.由于每層編碼器網絡和解碼器網絡之間存在橫向連接,網絡中的高層細節信息可以留給底層的網絡結構來表示.

圖1 半監督階梯網絡結構圖Fig.1 The structure diagram of semi-supervised ladder network
1.1 編碼器使用具有修正的線性單元全連接網絡作為編碼器用于監督學習,對除輸入層以外的每個預激活單元進行批量歸一化(Batch Normalization),其中包括網絡的最頂層,目的是通過減少協移來改善收斂以及防止因減少去噪成本而使編碼器輸出為常數的情況.對于l=1,…,L,批量歸一化表示為:

其中,h(0)=x表示輸入SAR 圖像.
NB表示一個分量的批量歸一化,如式(3)所示:

如圖1 所示,階梯網絡包括有噪聲和無噪聲兩個路徑,有噪聲路徑生成無噪聲路徑生成z(l)和h(l).在每層的批量歸一化后為輸入加各向同性的高斯噪聲n.

監督學習的損失函數是輸入圖像x(n),輸出噪聲標簽t(n)匹配概率負對數的平均值,如式(8)所示:

在解碼器網絡中,原網絡使用全連接層對編碼器隱藏層數據特征進行提取,通過批量歸一化后使用參數法對高斯潛在變量去噪.在降噪過程中,降噪函數g被應用來同時計算z(l+1),最后進行結果的批量歸一化:

其中,矩陣V(l)與編碼器中W(l)的轉置維度相同,且矩陣u(l)與z(l)的維度也相同.
1.2 解碼器解碼器中無監督學習損失函數是每個神經元的均方重建誤差.批量歸一化有很多優點,但它會在有噪聲路徑和無噪聲路徑上產生噪聲,從而使降噪函數產生一定偏差.網絡中選定zpre作為降噪目標,且在損失函數中選擇批量歸一化后的z(l),過程如下所示:

其中,μ和σ分別是批量標準化的均值和方差,將zpre批量標準到z就可以重構得到SAR 圖像.無監督降噪損失函數可以表示為式(13):

其中,ml表示每一層網絡的寬度,N表示訓練樣本數量,超參數λl決定去噪損失函數的乘數.模型中使用后向傳播算法訓練參數W(l),γ(l),β(l),V(l)來優化網絡總損失函數C=Cc+Cd.
全連接網絡在特征提取時會丟失數據的位置信息,從而降低提取特征的參數敏感度,無法更好地恢復同層編碼器丟失的特征信息.由于其全相連的特性,該網絡容易造成數據訓練的過擬合,從而降低網絡的泛化性能.
針對全連接網絡在解碼器網絡特征提取以及圖像去噪方面存在的弊端,本文提出使用CNN 代替全連接層對數據特征提取,能更好地完成圖像重構.和全連接網絡相比,CNN 在圖像特征提取以及SAR 圖像去噪方面有更大優勢,主要表現為CNN 屬于局部連接網絡,且其具有局部連接和全局共享的特性,因此訓練過程中大量減少了網絡訓練參數.CNN 中的每個神經元只對局部圖像進行感知,再將局部信息綜合來獲得全局信息.CNN 在圖像特征提取過程中,通過訓練不同卷積核的參數,就可以自動提取目標圖像的深度特征,更好地恢復數據,完成圖像重構.因此,CNN 能在有效抑制SAR 圖像相干斑噪聲的基礎上更精準地保留SAR 圖像的細節結構信息.
本文的CNN 解碼器的結構如圖2 所示,共有五層卷積層,各卷積層參數如圖所示,所有卷積層步長(Stride)均為1,經過CNN 最終重構建出64×64 的圖像.

圖2 卷積神經網絡結構圖Fig.2 The structure diagram of CNN
為了更好地體現解碼層中CNN 在SAR 圖像去噪和特征提取方面的優越性,分別在原網絡以及改進后的模型對圖像可視化.由于真實SAR圖像不可避免地存在相干斑噪聲,本文采用光學圖像模擬SAR 圖像訓練網絡.選擇MSTAR4 數據集中的一個測試圖像樣本進行可視化,如圖3所示.利用原始圖像(圖3a)和SAR 圖像的相干斑噪聲特性,得到帶噪聲的仿真SAR 圖像(圖3b),將仿真帶噪聲圖像樣本分別輸入已經訓練好的原網絡和改進后的網絡中,分別經過兩種算法降噪,最終輸出圖像(圖3c 和圖3d).

圖3 兩種算法在圖像樣本去噪前后可視化對比Fig.3 The visual comparison of before and after denoising the image sample
為了衡量本文算法去除SAR 圖像噪聲的效果,分別計算兩種算法下峰值信噪比(Peak Signal to Noise Ratio,PSNR).PSNR是一種評價圖像質量的客觀標準,PSNR越大表明圖像去噪的效果越好.結果顯示,原算法的PSNR為18.09,本文算法的PSNR為19.27,證明本文算法和原算法相比,去噪后失真較小,說明CNN 在SAR 圖像去除相干斑噪聲效果以及圖像特征提取上確實優于原算法,為CNN 在SAR 圖像目標識別上優于原網絡提供了理論支撐.
采用MSTAR 數據集十類目標和四類目標進行實驗來測試改進前后半監督階梯網絡性能.選取俯仰角為17°的圖像樣本作為訓練集,選取俯仰角為15°的圖像樣本作為測試集.針對數據集不均衡的問題,同時采用旋轉和翻轉操作對訓練圖像進行數據增強,并通過實驗測試算法在增強后的數據集上的網絡性能.表1 給出十類目標原始和數據增強后的訓練樣本和測試樣本.實驗同時測試四類目標BMP2,T72,BTR60 和T62 在兩種算法上的分類識別率.所有圖像樣本均為在原始圖像中心裁剪64×64 像素模塊得到.

表1 十類目標數據增強前后訓練集與測試集Table 1 Training sets and testing sets before and after enhancement of ten kinds of target data
分別選取訓練集數量總和的10%,20%,50%以及100%作為標記樣本,在原算法以及本文算法中進行監督訓練.圖4 為十類目標在標記樣本數為10%時分類識別混淆矩陣,其中圖4a 為SSLN 算法在十類目標下的分類識別混淆矩陣,圖4b 為本文算法在十類目標下的分類識別混淆矩陣.表2 為十類目標在標記樣本數10%時算法改進前后在不同數據集下的分類識別率.可以看出,使用本文算法后,十類目標中的大多數類別識別率高于原算法,僅有少數類別識別率稍低于原算法,這是由于本文算法以提升平均識別率、提升網絡泛化性為目標,個別類別準確率會稍有下降.表3 為十類目標和四類目標在標記樣本數10%時算法改進前后的平均分類識別率,表中數據包括分類準確率以及準確率的波動誤差,實驗數據為多次實驗后取平均值所得.從表中數據對比得出,在原數據集下,本文算法平均分類識別率遠高于SSLN 算法的平均分類識別率,且網絡泛化性能更好.雖然本文算法在十類目標上的分類識別率略低于十類目標數據增強后算法的分類識別率,但總體性能與之相當,且處理過程更加簡捷,體現了本文算法的優越性.

圖4 十類目標在標記樣本數10%時不同算法下分類識別混淆矩陣圖Fig.4 The proposed algorithm classifies and identifies confusion matrix graphs under different datasets when the number of labeled samples is 10%
實驗還得到標記樣本率為20%,50%,80%以及100%時各類目標在不同算法下的分類識別率.如圖5 所示,監督率和識別率關系大致可以使用折線圖表示,可以看出,改進后算法的識別準確率優于原算法.另外,為了提高網絡泛化性,本文算法將數據集不均衡跟網絡結合所取得的效果與數據集增強后的結果相當,而且處理簡捷方便,也證明了本文算法的優越性.
本文提出改進的SSLN 的SAR 圖像分類識別方法,使用卷積神經網絡代替解碼器中全連接網絡對編碼層輸入的數據特征提取且更利于去除SAR 圖像相干斑噪聲,完成圖像重構.針對十類目標訓練集數量不均衡的情況,本文結合階梯網絡,調節訓練層中各類別損失函數權重以提高網絡的泛化性能.實驗針對不同算法網絡測試得出,使用改進的SSLN 算法在公開數據集MSTAR 上的分類識別準確率優于原算法,并增強了網絡的泛化能力.改進后的半監督階梯網路具有更高的分類精度,同樣適用于其他少數標簽樣本的分類識別.

表2 十類目標標記樣本數10%時算法改進前后在不同數據集下的分類識別率Table 2 The rates of classification and recognition at different datasets before and after the algorithm is improved,when sample size of ten target markers was 10%

表3 兩類目標標記樣本數為10%時算法改進前后在不同數據集上的分類識別率Table 3 The classification and recognition rates of the two kinds of target markers on different datasets before and after the algorithm is improved when the number of target markers is 10%

圖5 各類目標分類準確率與監督率分布圖Fig.5 Distribution of classification accuracy and supervision rate of various targets