劉晨, 曲長文, 周強, 李智
(1.海軍航空工程學(xué)院電子信息工程系, 山東煙臺 264001;2.海軍航空工程學(xué)院科研部, 山東煙臺 264001)
合成孔徑雷達(dá)相比于光學(xué)、紅外等傳感器,具有不受天氣、光照等外界條件的限制,可以全天候、長期、實時對目標(biāo)進(jìn)行監(jiān)測。隨著其技術(shù)的日益成熟,在民用和軍事領(lǐng)域都得到了較為廣泛的應(yīng)用,具有較高的研究價值。通過對SAR圖像目標(biāo)的分類識別,可以實時對陸地和海洋等軍事目標(biāo)進(jìn)行監(jiān)測,獲得陸地及海洋軍事目標(biāo)的位置、類型和運動狀態(tài)等信息,為取得戰(zhàn)場主動權(quán)、提升目標(biāo)打擊能力提供了有力保證。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以有效地從大量樣本中學(xué)習(xí)到相應(yīng)的特征,提取出優(yōu)于人工設(shè)計的特征,并且樣本數(shù)量越大,提取的特征越有利于分類識別。由于卷積神經(jīng)網(wǎng)絡(luò)可以直接對二維圖像進(jìn)行處理,因此,在圖像處理方面得到了越來越多的關(guān)注,并取得了較多的研究成果,如醫(yī)學(xué)圖像識別[1]、人臉識別[2]、人體行為識別[3]等。該網(wǎng)絡(luò)是一種端到端的學(xué)習(xí)模型,經(jīng)過對卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,可以學(xué)習(xí)到圖像中的特征,并且通過學(xué)習(xí)到的特征完成對圖像的分類識別[4]。CNN通過簡單的非線性模型從原始圖像中提取出更加抽象的特征,并且在整個過程中只需少量的人工參與[5]。
本文主要研究卷積神經(jīng)網(wǎng)絡(luò)在SAR圖像上的應(yīng)用,解決人工設(shè)計的特征分類識別能力不足的問題,提升SAR圖像分類識別能力。通過對比激活函數(shù)和改變權(quán)值更新方式,對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,提升卷積神經(jīng)網(wǎng)絡(luò)對SAR圖像的適用性,同時提出了一種ZCA白化與PCA相結(jié)合的SAR圖像預(yù)處理方法。實驗結(jié)果表明,該優(yōu)化方法可以提升網(wǎng)絡(luò)的訓(xùn)練和檢測速度并且取得較優(yōu)的分類效果。
1.1 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
目前典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)仍然采用卷積層和下采樣層交替連接的方式,并且最后通過全連接層與輸出層相連,如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
卷積層主要用于提取特征和降低噪聲。假設(shè)第l層為卷積層,則第l層第j個特征圖的計算公式如下所示:
(1)
下采樣層主要利用圖像局部之間相關(guān)性的原理,降低需要處理的數(shù)據(jù)量。將鄰域4個像素變?yōu)橐粋€像素,常用的方法有均勻下采樣、最大下采樣和概率最大下采樣,最終產(chǎn)生一個大概縮小4倍的特征映射圖Sx+1。
卷積和下采樣過程如圖2所示。
圖2 卷積神經(jīng)網(wǎng)絡(luò)卷積和下采樣過程
卷積神經(jīng)網(wǎng)絡(luò)權(quán)值更新方式采用的是后向傳播(Back Propagation, BP)算法[6]。算法的流程圖如圖3所示。
圖3 BP算法流程圖
具體步驟如下:
1) 對參數(shù)進(jìn)行初始化: ΔW=0, Δb=0,
2) 計算網(wǎng)絡(luò)各層的輸出,計算公式為
(2)
式中,l表示層數(shù),x表示特征圖,w表示卷積核,b表示當(dāng)前層的偏置,f表示激活函數(shù)。
3) 假設(shè)輸出結(jié)果分為m類,即最后輸出為m維數(shù)據(jù),將輸出值與樣本標(biāo)簽之間的均方誤差作為代價函數(shù),進(jìn)而求得第n個樣本的代價函數(shù)J(w,b;x,y)為
(3)
為求取單個樣本的代價函數(shù)對參數(shù)的導(dǎo)數(shù),通過引入靈敏度的概念,定義第l層的靈敏度為
(4)
第nl層為輸出層,根據(jù)式(2)、式(3)可得輸出層的靈敏度為
δ(nl)=-(y-a(nl))·f′(z(nl))
(5)
式中, “·”表示點乘。
對于l=nl-1,nl-2,…,2的各層靈敏度為
δ(l)=((w(l))Tδ(l+1))·f′(z(l))
(6)
完成上述代價函數(shù)的反向傳播后,利用梯度下降法,將代價函數(shù)對網(wǎng)絡(luò)中參數(shù)求偏導(dǎo),對參數(shù)進(jìn)行更新,最終使代價函數(shù)達(dá)到極小值。代價函數(shù)J(w,b;x,y)對w(l)和b(l)的偏導(dǎo)計算公式如下:
(7)
(8)
更新權(quán)重參數(shù)為
(9)
式中,α表示學(xué)習(xí)率。
2.1 前向傳導(dǎo)過程的調(diào)整
在前向傳導(dǎo)過程中激活函數(shù)的正確選擇可以極大地降低網(wǎng)絡(luò)訓(xùn)練的時間和提高網(wǎng)絡(luò)訓(xùn)練的準(zhǔn)確度。卷積、下采樣和全連接操作僅能夠表達(dá)出線性映射,即使引入更深層的網(wǎng)絡(luò)結(jié)構(gòu),仍然還是一個線性映射,對于非線性分布的數(shù)據(jù)不能有效地建模,因此需要引入一個非線性激活函數(shù)來增加網(wǎng)絡(luò)的非線性學(xué)習(xí)能力。從最早的Sigmoid函數(shù)開始,針對不同的訓(xùn)練需求,逐漸發(fā)展出各種改進(jìn)版的激活函數(shù),如Tanh函數(shù)、RELU函數(shù)等。各函數(shù)圖如圖4所示。
(a)Sigmoid函數(shù)
(b)Tanh函數(shù)
(c)RELU函數(shù)圖4激活函數(shù)
從圖4可以看出,Sigmoid函數(shù)在定義域內(nèi)處處可導(dǎo),有利于BP算法的計算,而Tanh函數(shù)的輸出均值相比于Sigmoid更接近0,可以加快訓(xùn)練速度。但是二者有一個共同的缺點,當(dāng)輸入值的絕對值過大時,函數(shù)的導(dǎo)數(shù)接近為0,進(jìn)入飽和區(qū),在BP算法中將導(dǎo)致向低層傳遞的導(dǎo)數(shù)變得非常小,不利于網(wǎng)絡(luò)的訓(xùn)練,發(fā)生梯度消失現(xiàn)象[7]。RELU激活函數(shù)解決了上述問題,該函數(shù)的導(dǎo)數(shù)為0或1,可以有效地緩解梯度消失的問題。
BP算法采用梯度下降的方法對權(quán)重進(jìn)行調(diào)整,常用的梯度下降方法主要分為3類:全量梯度下降、隨機(jī)梯度下降和小批量梯度下降。這3類方法的區(qū)分方式主要是根據(jù)每次訓(xùn)練樣本的個數(shù)決定的。全量梯度下降每次使用全部的樣本進(jìn)行訓(xùn)練,具有每次更新都向著正確的方向進(jìn)行的優(yōu)點,但是對于大量樣本,將導(dǎo)致訓(xùn)練時間過長、消耗大量內(nèi)存等問題。隨機(jī)梯度下降每次用一個樣本進(jìn)行訓(xùn)練,該方法可以解決全量梯度下降的訓(xùn)練時間長和占用大量內(nèi)存的問題,但同時也導(dǎo)致每次更新并不是按照正確的方向進(jìn)行,產(chǎn)生擾動現(xiàn)象。因此,通過對上述兩種方法的分析,小批量梯度下降結(jié)合二者的優(yōu)點,每次訓(xùn)練從樣本中隨機(jī)選取n個樣本(n小于樣本總數(shù))進(jìn)行訓(xùn)練。該方法在提高訓(xùn)練速度的同時使權(quán)重更新更加穩(wěn)定。
但是小批量梯度下降方法在局部極值點附近容易產(chǎn)生振蕩,降低網(wǎng)絡(luò)的收斂速度。為使網(wǎng)絡(luò)可以更快地收斂,選擇梯度下降優(yōu)化算法中動量更新的方法進(jìn)行權(quán)重的調(diào)整,如式(10)所示:
(10)
式中,γ為動量系數(shù),一般為γ∈(0,1),η為學(xué)習(xí)率, ΔW為權(quán)重更新量,W為權(quán)重。
從式(10)可以看出,通過以前經(jīng)驗積累,有利于降低網(wǎng)絡(luò)訓(xùn)練過程中的振蕩現(xiàn)象,從而加快網(wǎng)絡(luò)訓(xùn)練速度[8]。
2.3.1 主成分分析(PCA)
PCA是一種數(shù)據(jù)降維方法,通過計算出輸入數(shù)據(jù)的協(xié)方差矩陣,求得相應(yīng)的特征值,選取前k項主成分,其余全部賦值為0,通過PCA降維處理在極大保留數(shù)據(jù)特征的同時可以降低圖像相鄰像素之間的相關(guān)性,提升算法的分類識別速度。
由于SAR圖像相鄰像素之間具有很強的相關(guān)性,所以用原始圖像進(jìn)行訓(xùn)練時會存在冗余現(xiàn)象,而白化的目的就是降低圖像的冗余性。通過白化處理后的圖像會降低特征之間的相關(guān)性以及使所有的特征具有相同的方差。
首先假設(shè)輸入的數(shù)據(jù)為:X∈Rn×m,n為數(shù)據(jù)維數(shù),m為樣本個數(shù)。求得數(shù)據(jù)的協(xié)方差矩陣:
(11)
對該協(xié)方差矩陣進(jìn)行奇異值分解:
[U,S,V]=svd(Σ)
(12)
式中,U為Σ的特征向量矩陣,S為其特征值矩陣,因為Σ是對陣方陣,所以V=U′,Σ=USV。
ZCA白化結(jié)果如下:
(13)
結(jié)合上述兩種方法的優(yōu)點,本文將ZCA白化與PCA降維結(jié)合起來對SAR圖像進(jìn)行預(yù)處理。首先通過ZCA白化降低圖像相鄰像素之間的相關(guān)性,然后將ZCA白化后的數(shù)據(jù)進(jìn)行PCA降維,提高算法的訓(xùn)練速度。實驗結(jié)果表明,該方法在提高分類準(zhǔn)確率的同時提高了檢測速度。從每類目標(biāo)中隨機(jī)選取一幅圖片,經(jīng)過預(yù)處理后結(jié)果如圖5所示。
(a)原始圖片 (b)PCA處理后
(c)ZCA白化后 (d)ZCA白化和PCA 處理后圖5預(yù)處理后的圖像
3.1 實驗數(shù)據(jù)集
為對本文提出的方法進(jìn)行驗證,數(shù)據(jù)集采用的是美國MSTAR數(shù)據(jù)庫,實驗采取其中的BRDM2,BTR60,D7,S1和T62五類目標(biāo)進(jìn)行分類識別,如圖6所示。
圖像的分辨率為0.3m×0.3m,大小為128×128像素,訓(xùn)練樣本為17°俯視角的SAR圖像目標(biāo),共1 450幅,測試樣本為15°俯視角的SAR圖像目標(biāo),共1 290幅。為加快網(wǎng)絡(luò)的訓(xùn)練速度,截取圖像中心包含目標(biāo)的42×42大小的圖像塊進(jìn)行實驗。
(a)BRDM2 (b)BTR60
(c)D7 (d)S1
(e)T62圖6MSTAR數(shù)據(jù)實驗?zāi)繕?biāo)
實驗采用的卷積神經(jīng)網(wǎng)絡(luò)模型如圖1所示,由5層網(wǎng)絡(luò)結(jié)構(gòu)組成,第一層卷積層包含8個濾波器,大小為5×5,第二層下采樣層采用均值下采樣,大小為2×2,第三層卷積層包含16個濾波器,大小為4×4,第四層下采樣與第二層一樣,最后一層為全連接層。動量系數(shù)γ為0.9,最大迭代次數(shù)為10次。
采用不同激活函數(shù)的實驗結(jié)果如表1所示。
表1 不同激活函數(shù)下的分類準(zhǔn)確率對比
在已經(jīng)調(diào)整好網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的條件下,對SAR圖像分別進(jìn)行PCA降維和ZCA白化處理,實驗結(jié)果如表2所示。
針對本文提出的方法,通過ZCA白化與PCA相結(jié)合的方法對SAR圖像進(jìn)行預(yù)處理,對比3種預(yù)處理方法,結(jié)果如圖7所示。
表2 不同預(yù)處理條件下的分類準(zhǔn)確率對比
圖7 3種預(yù)處理后結(jié)果對比
從圖7可以看出,本文提出的方法在經(jīng)過5次迭代后就已經(jīng)得到了最優(yōu)的分類效果,與其近似的ZCA白化方法需要經(jīng)過8次迭代才能達(dá)到相同效果,可以看出本文提出的ZCA白化與PCA降維相結(jié)合的預(yù)處理方法在較少的迭代次數(shù)下可以得到更優(yōu)的分類效果。
最終改進(jìn)后的預(yù)處理方法實驗結(jié)果如表3所示。
表3 5類目標(biāo)的SAR圖像分類結(jié)果
從表3可以看出,本文方法對5類SAR圖像取得了較好的分類效果,平均識別率達(dá)到了96.74%。
針對海量SAR圖像目標(biāo)特征提取困難、分類精度不高的問題,本文采用卷積神經(jīng)網(wǎng)絡(luò)對其進(jìn)行分類識別,通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),提高卷積神經(jīng)網(wǎng)絡(luò)對SAR圖像目標(biāo)分類的適用性,同時提出了一種改進(jìn)的SAR圖像預(yù)處理方法,對輸入的SAR圖像進(jìn)行ZCA白化與PCA相結(jié)合的預(yù)處理方法。實驗結(jié)果表明,該方法對5類SAR圖像目標(biāo)的分類可以達(dá)到96.74%的準(zhǔn)確率,并且訓(xùn)練速度得到顯著的提升。
[1]CIOMPI F, DE HOOP B, VAN RIEL S J, et al. Automatic Classification of Pulmonary Peri-Fissural Nodules in Computed Tomography Using an Ensemble of 2D Views and a Convolutional Neural Network Out-of-the-Box[J]. Medical Image Analysis, 2015, 26(1):195-202.
[2]MA Yukun, HE Jiaoyu, WU Lifang, et al. An Effective Face Verification Algorithm to Fuse Complete Features in Convolutional Neural Network[C]∥ 22nd International Conference on Multimedia Modeling, Miami, FL, USA:Springer, 2016:39-46.
[3]IJJINA E P, MOHAN C K. Human Action Recognition Based on MOCAP Information Using Convolution Neural Networks[C]∥ 13th International Conference on Machine Learning and Applications, Detroit, MI, USA:IEEE, 2015:159-164.
[4]李彥冬,郝宗波,雷航. 卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J]. 計算機(jī)應(yīng)用, 2016, 36(9):2508-2515.
[5]LECUN Y, BENGIO Y, HINTON G. Deep Learning[J]. Nature, 2015, 521(7553):436-444.
[6]RUMELHART D E, HINTON G E, WILLIAMS R J. Learning Representations by Back-Propagating Errors[J]. Nature, 1986, 323(6088):533-536.
[7]GLOROT X, BENGIO Y. Understanding the Difficulty of Training Deep Feedforward Neural Networks[J]. Journal of Machine Learning Research, 2010, 9(1):249-256.
[8]韓力群. 人工神經(jīng)網(wǎng)絡(luò)教程[M]. 北京:北京郵電大學(xué)出版社, 2006:67-68.