侯宇超,白艷萍,郝 巖,張明星
(中北大學 理學院, 太原 030051)
目前,基于微波遙感成像的合成孔徑雷達(synthetic aperture radar,SAR)系統在軍事和民用領域都得到了廣泛的應用。SAR是利用合成孔徑技術和脈沖壓縮技術,以小孔徑天線獲得方位向和距離向的二維高分辨率遙感成像雷達系統。相比于光學傳感器,SAR具有透射性強的特點,可以在氣候條件差的情況下對目標進行全天、實時監測。隨著成像質量的提高,SAR目標自動識別已經成為國內外研究的熱點。
Tao等[1]提出了基于支持向量機(SVM)的SAR目標分類算法,Sun等[2]成功地將Adaboost方法應用到SAR目標分類中。然而這些方法前期需要人工提取特征,容易受到人的主觀性影響。近年來,深度學習因其可以自動提取樣本特征被廣泛應用在行人檢測[3]、人臉識別[4]、飛機目標分類[5]和物品識別[6]等領域,且取得了很好的效果。Ni等[7]將自編碼神經網絡應用在SAR目標分類中,趙娟萍等[8]提出了基于概率轉移卷積神經網絡的含噪標記SAR圖像分類算法。
本文主要針對面向SAR目標分類的卷積神經網絡算法展開研究,首先介紹了卷積神經網絡的基本原理并引入了Relu激活函數,降低了梯度消失的可能性;接著設計了一種分數漸變學習率并建立了帶類別約束的損失函數,提高了目標識別能力;最后將優化后的二層卷積神經網絡算法應用在SAR目標分類中,該算法在3類MSTAR實測數據集上達到了94.87%的分類準確率,較經典卷積神經網絡算法提高了5.93%。本文提出的算法相比于傳統的模式識別方法和經典卷積神經網絡算法得到了更好的分類結果,測試結果也驗證了算法的有效性。
卷積神經網絡[9]是一種具有代表性的前饋深度學習神經網絡,由輸入層、卷積層、池化層、全連接層和輸出層組成。卷積層用于學習圖像的各種特征;池化層將上一層的特征二次提取,降低需處理的數據量;全連接層將特征展開成列向量并利用Softmax分類器進行目標的分類判別。
1.1.1 卷積層
由一些可訓練的卷積核組成的卷積層是卷積神經網絡中最重要的部分,通過局部連接和權值共享的機制降低運算的復雜程度。卷積層利用多個卷積核進行卷積操作學習,得到不同的特征圖,其表達式為:


常用的非線性激活函數為Sigmoid函數和雙曲正切(Tanh)函數。在誤差反向傳播過程中,這兩種函數會發生梯度的“飽和效應”,在原點附近梯度爆炸,在曲線兩端梯度消失(如圖1),容易導致網絡參數的更新停滯。本文引入修正線性(Relu)函數[10]作為激活函數。當x>0時梯度恒為1,x≤0時梯度為0,可以降低參數停滯更新的可能性,加快卷積神經網絡的收斂速度。
1.1.2 池化層
卷積層在完成卷積運算之后將特征圖傳入池化層。池化層是將鄰域的多個像素聚合為一個像素的操作。池化層可以減少訓練參數,降低計算的復雜度,此外還可以增強網絡對位移的魯棒性[11]。常見的池化形式有平均值池化、最大值池化等(如圖2)。本文采用尺寸為2×2,步長為2的最大值池化方法。實驗結果證明[12]:最大值池化比平均值池化能更好地保存全局特性,其表達式為:


圖1 非線性激活函數及其梯度

圖2 兩種常見的池化形式
卷積神經網絡使用反向傳播(BP)算法[13]以最小化均方誤差損失函數為目標進行網絡參數的更新。BP算法使用梯度下降法進行訓練,更新各層的權值和偏置項,使網絡達到最優解。假設樣本集共有c類樣本,第n個訓練樣本的損失函數為

反向傳播參數更新的方向正好與前向傳播相反。全連接層輸出函數表示為
xk=f(uk)=f(Wkxk-1+bk)
(4)
輸出層的殘差為δk=f′(uk)°(yn-tn),其他層的殘差為δk=(Wk+1)Tδk+1°f′(uk)。
因為?uk/?bk=1,此時對于權值Wk和偏置bk的偏導數可以表示為:
(5)
網絡參數更新函數為:
Wk-ηxk-1(δk)T
(7)
其中η為學習率。
理想的學習率可以促進模型的收斂。但若學習率過大,網絡可能陷入局部最優解或無法完成訓練;若學習率過小,參數的有效更新可能達不到要求,網絡收斂速度過慢。在常見的卷積神經網絡算法中學習率一般為定值。現提出一種隨迭代次數增加而減緩的分數漸變學習率:采用ηe=ηf/(1+αte)對學習率進行微調,其中:ηe為第te次迭代的學習率;ηf為初始學習率;α為學習率更新權值。ηf、α因實驗數據和網絡結構的不同有較大差異,需由實驗確定。



其中numq為第q類樣本的樣本數。
λin、λout需通過實驗確定,本文選取λin=0.5、λout=0.000 02。
本文選用通用的運動和靜止目標獲取與識別(MSTAR)實測數據集[16]中3類SAR車輛目標(裝甲車:BMP2、BTR70;坦克:T72)對算法進行測試。該數據集是由一系列分辨率為0.3 m×0.3 m且覆蓋360°方向的SAR圖像組成。使用俯仰角為17°的車輛目標作為訓練樣本,俯仰角為15°的目標作為測試樣本,裁剪每一幅圖片中央98×98大小的區域用作本文實驗(如圖3),并將每類訓練樣本以隨機取樣的方式擴充為1 000張,達到提高樣本數量,平衡樣本規模的目的(如表1)。在此過程中未使用任何姿態修正算法。

圖3 裁剪后的3類SAR軍事車輛目標示例

目 標BMP2(9563)BMP2(9566)BMP2(C21)BTR70(C71)T72(132)T72(812)T72(S7)總計原訓練樣本
本文提出一個包含2個卷積層和2個池化層的卷積神經網絡(如圖4所示)。第1個卷積層包含8個7×7的卷積核,輸出8個92×92的特征圖;第2個卷積層包含16個7×7的卷積核,輸出16個40×40的特征圖;第2個池化層后將輸出的16個20×20的特征圖輸入全連接層。

圖4 基于SAR目標分類的2層卷積神經網絡算法結構
使用CPU為Intel Xeon E5-2640 2.6 GHz、內存為64 GB的計算機在Windows7(64位),Matlab2016b的環境下進行實驗。在使用Relu激活函數、最大值池化方法、損失函數帶類別約束(CNN-4)的情況下利用不同的學習率做20組實驗,結果如圖5所示。
實驗結果表明:當學習率在0.05左右時,分類準確率較高,并且學習率為0.05時準確率達到最高值94.58%。現使用分數漸變學習率公式ηe=ηf/(1+αte),ηf=0.055,te=0.001對學習率進行微調,加快算法收斂速度,提高分類準確率,其分類結果如表2所示。

圖5 在不同學習率下目標分類準確率
本文算法最終分類準確率為94.87%。通過比較不同的算法模型,驗證本文算法的有效性。模型參數及分類準確率如表3所示。

表2 SAR目標分類結果

表3 算法對比
從表3可以看出:相比于其他算法,本文算法分類準確率均有提升。其中,相比CNN-1(經典算法),本文算法分類準確率提高了5.93%。同樣針對3類SAR軍事車輛目標分類的幾種不同方法分類準確率如表4所示。與文獻[17]和文獻[1]相比,本文算法在未經過姿態修正預處理的情況下分類準確率仍高于其基于模式識別的傳統方法。與文獻[18]所提出的CNN算法相比,本文所提出的二層卷積神經網絡算法在層數較少的情況下達到了更好的分類效果。

表4 不同方法分類準確率對比
針對傳統方法人工預提取特征困難的問題,本文提出了一種面向SAR目標分類的2層卷積神經網絡算法。本文設計了一種隨迭代次數增加而減緩的分數漸變學習率,在損失函數中引入類內、類間相似度量函數,并且在卷積層中引入了Relu激活函數。該算法在未經過任何姿態修正的情況下,在3類MSTAR實測數據集上分類準確率達到了94.87%。相比于傳統的模式識別方法和經典卷積神經網絡算法,該算法分類準確率更高,在SAR目標分類領域有很好的應用價值。本文算法訓練時間較長,后續可對基于GPU架構的并行化卷積神經網絡算法在SAR目標分類中的應用進行更深入的研究。