, ,
(海軍航空大學(xué), 山東煙臺 264001)
合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)由于具有全天候、全天時和一定的穿透成像能力,可以不受氣候條件對地面及海面目標(biāo)持續(xù)觀測,已經(jīng)被廣泛應(yīng)用于戰(zhàn)場偵察和情報獲取等領(lǐng)域[1]。區(qū)別于傳統(tǒng)光學(xué)圖像,SAR圖像具有微波波段成像和相位相干處理的顯著特征[2],這使得SAR圖像一方面可以反映出目標(biāo)的微波散射特性,獲得大量從光學(xué)圖像和紅外遙感圖像無法得到的信息[3],另一方面也受到陰影、迎坡縮短和頂?shù)椎怪玫炔焕绊?,增強了圖像的模糊性和畸變性,難以直接解讀。SAR自動目標(biāo)識別(Automatic Target Recognition,ATR)作為SAR圖像解譯中的重要環(huán)節(jié),一直都是國內(nèi)外學(xué)者的研究重點[4]。傳統(tǒng)SAR圖像目標(biāo)識別方法主要由預(yù)處理、特征提取、識別分類等相互獨立的步驟組成,特征提取過程一般需要借助SIFT[5],HOG[6]等算法提取具有良好區(qū)分性的特征才能較好地實現(xiàn)分類,但復(fù)雜的流程不僅限制了SAR圖像目標(biāo)檢測識別的效率,也制約了目標(biāo)檢測識別的精度[7]。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為一種端到端的處理架構(gòu)可以直接使用圖像的原始像素作為輸入,降低了對圖像數(shù)據(jù)預(yù)處理的要求并且避免了復(fù)雜的特征工程,自動學(xué)習(xí)數(shù)據(jù)的分層特征相比人工設(shè)計特征提取規(guī)則可以對原始數(shù)據(jù)進(jìn)行更本質(zhì)的刻畫。此外,局部連接、權(quán)值共享及池化操作等特性可以有效地降低網(wǎng)絡(luò)的復(fù)雜度,減少訓(xùn)練參數(shù)的數(shù)目,使CNN模型對平移扭曲縮放具有一定程度的不變性和容錯能力[8]。1995年,Lecun等提出的LeNet-5系統(tǒng)[9]在MNIST數(shù)據(jù)集上得到了0.9%的錯誤率,并在20世紀(jì)90年代成功應(yīng)用于銀行的手寫支票識別,但此時的CNN只適合小圖片的識別,對于大規(guī)模數(shù)據(jù)識別效果不佳[8]。2012年,Krizhevsky等[10]提出的AlexNet在ImageNet大規(guī)模視覺識別挑戰(zhàn)競賽(ImageNet Large Scale Visual Recognition Challenge,LSVRC)上取得了15.3%的Top-5錯誤率(指給定一張圖像,其標(biāo)簽不在模型認(rèn)為最有可能的5個結(jié)果中的幾率),遠(yuǎn)遠(yuǎn)超過第二名26.2%的成績,使得卷積神經(jīng)網(wǎng)絡(luò)開始受到學(xué)界的高度關(guān)注,許多性能優(yōu)秀的網(wǎng)絡(luò)模型也在AlexNet之后被陸續(xù)提出[11]。2014年,Szegedy等[12]提出了基于Inception結(jié)構(gòu)的GoogLeNet,將Top-5錯誤率降低到了6.67%。同年,牛津大學(xué)的視覺幾何組提出的VGGNet[13]也取得了優(yōu)異的成績,獲得了ILSVRC-2014中定位任務(wù)第一名和分類任務(wù)第二名。2015年,He等[14]提出的殘差網(wǎng)絡(luò)(Residual Network,ResNet)致力于解決識別錯誤率隨網(wǎng)絡(luò)深度增加而升高的問題,使用152層深度網(wǎng)絡(luò)取得了3.57%的Top-5錯誤率。2017年,中國自動駕駛創(chuàng)業(yè)公司Momenta的WMW團隊提出的SENet(Squeeze-and-Excitation Networks)[15]通過在網(wǎng)絡(luò)中嵌入SE模塊,在圖像分類任務(wù)上達(dá)到了2.251%的Top-5錯誤率,是迄今為止該挑戰(zhàn)賽上取得的最好成績。此外,近年來出現(xiàn)的DenseNet[16],ResNext[17],ShuffleNet[18]都在不同方面提升了卷積神經(jīng)網(wǎng)絡(luò)的性能。
當(dāng)前,很多卷積神經(jīng)網(wǎng)絡(luò)模型在計算機視覺領(lǐng)域取得了很好的效果,但很多性能優(yōu)異的網(wǎng)絡(luò)尚未推廣到SAR圖像目標(biāo)識別領(lǐng)域,且在各類挑戰(zhàn)賽中參賽者一般會使用每副驗證圖像的多個相似實例去訓(xùn)練多個模型,再通過模型平均或DNN集成獲得報告或論文中描述的足夠高的準(zhǔn)確率,導(dǎo)致不同抽樣方式或集成大小下模型準(zhǔn)確率與報告中的網(wǎng)絡(luò)性能產(chǎn)生偏差。基于此,本文首先介紹了幾種具有代表性的卷積神經(jīng)網(wǎng)絡(luò)模型,然后在MSTAR數(shù)據(jù)集上對各網(wǎng)絡(luò)的性能進(jìn)行測試,分析不同模型對SAR圖像識別的性能,為卷積神經(jīng)網(wǎng)絡(luò)在SAR圖像目標(biāo)識別上的應(yīng)用建立基礎(chǔ)參考。
AlexNet[10]是一個8層的卷積神經(jīng)網(wǎng)絡(luò),由5個卷積層(其中一些緊跟著最大池化層)和3個全連接層組成,最后通過softmax層得到分類評分。AlexNet的主要創(chuàng)新點在于:采用了修正線性單元[19](Rectified Linear Units,ReLU)作為激活函數(shù),更加符合神經(jīng)元信號激勵原理,這種簡單快速的線性激活函數(shù)在大數(shù)據(jù)條件下相比于sigmoid等非線性函數(shù)可以獲得更好和更快的訓(xùn)練效果;采用了Dropout和數(shù)據(jù)增強(data augmentation)等策略防止過擬合,降低了神經(jīng)元復(fù)雜的互適應(yīng)關(guān)系,增強模型魯棒性;采用兩塊GTX 580 GPU并行訓(xùn)練,兩個GPU可以不用經(jīng)過主機內(nèi)存直接讀寫彼此的內(nèi)存, 大幅提高了網(wǎng)絡(luò)訓(xùn)練速度。
VGGNet[13]是牛津大學(xué)和Google DeepMind公司的研究員一起研發(fā)的深度卷積神經(jīng)網(wǎng)絡(luò),探索了卷積神經(jīng)網(wǎng)絡(luò)的深度與其性能之間的關(guān)系,突出貢獻(xiàn)在于證明使用很小的卷積(3×3),增加網(wǎng)絡(luò)深度可以有效提升模型的性能。VGGNet還采用了多種方法對網(wǎng)絡(luò)性能進(jìn)行優(yōu)化:采用尺度抖動(scale jittering)方法對圖片進(jìn)行裁剪,得到尺寸不一的圖片進(jìn)行訓(xùn)練,增強模型魯棒性和泛化能力;采用預(yù)訓(xùn)練(pre-trained)方法先訓(xùn)練淺層網(wǎng)絡(luò),再利用訓(xùn)練好的參數(shù)初始化深層網(wǎng)絡(luò)參數(shù),加速收斂;在網(wǎng)絡(luò)中去掉了AlexNet中提出的局部響應(yīng)歸一化策略,減少了內(nèi)存的小消耗和計算時間。
GoogLeNet由Szegedy等于2014年提出的,是一個基于Inception結(jié)構(gòu)的22層深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。該網(wǎng)絡(luò)的顯著特點是不僅增加了網(wǎng)絡(luò)的深度,還通過引入Inception模塊拓寬了網(wǎng)絡(luò)的寬度,主要原理是利用密集成分來近似最優(yōu)的局部稀疏結(jié)構(gòu)。 Inception模塊的結(jié)構(gòu)如圖1所示,采用了不同尺度的卷積核(1×1,3×3,5×5)來處理圖像,使圖像信息在不同的尺度上得到處理然后進(jìn)行聚合,使模型同時從不同尺度提取特征,增強了學(xué)習(xí)能力,該模塊的使用使得GoogLeNet的參數(shù)比AlexNet少12倍,但準(zhǔn)確率更高。圖1中粉色部分的1×1卷積核的作用是降低參數(shù)量,加速計算,詳細(xì)原理可見文獻(xiàn)[20]。此外,GoogLeNet的作者還做了大量提高模型性能的輔助工作,包括訓(xùn)練多個模型求平均、裁剪不同尺度的圖像做多次驗證等,詳見文獻(xiàn)[12]的實驗部分。
圖1 Inception模塊結(jié)構(gòu)
自VGGNet提出以來,學(xué)者們紛紛致力于通過提升網(wǎng)絡(luò)的深度以取得更好的性能,但隨著網(wǎng)絡(luò)深度的不斷增加,梯度彌散/爆炸[21](vanishing/exploding gradients)問題和隨機梯度下降法(Stochastic Gradient Descent,SGD)難以優(yōu)化深層網(wǎng)絡(luò)帶來的退化[22](degradation)問題隨之而來,導(dǎo)致訓(xùn)練和測試誤差隨網(wǎng)絡(luò)深度增加而增大。He等針對該問題提出了一個152層的殘差網(wǎng)絡(luò)結(jié)構(gòu)(residual network),如圖2所示。H(x)是某一層原始的期望映射輸出,x是輸入,通過快捷連接[23-24](shortcut connections)在網(wǎng)絡(luò)中加入一個恒等映射(identity mapping),就相當(dāng)于從輸入端旁邊開設(shè)了一個通道使得輸入可以直達(dá)輸出,優(yōu)化目標(biāo)由原來的H(x)變成輸出和輸入的差H(x)-x,而對于一個可優(yōu)化的映射,其殘差也會很容易優(yōu)化至0,且將殘差優(yōu)化至0和把此映射逼近另一個非線性層相比要容易得多[25],因此這樣的結(jié)構(gòu)降低了深層網(wǎng)絡(luò)參數(shù)優(yōu)化的難度,解決了退化問題。文獻(xiàn)[26]是He等對ResNet的后續(xù)研究,對自身映射在殘差網(wǎng)絡(luò)中的作用進(jìn)行了更深層次的分析和驗證,并提出了改進(jìn)版的ResNet。
圖2 殘差網(wǎng)絡(luò)結(jié)構(gòu)
ResNet結(jié)構(gòu)中的數(shù)據(jù)旁路(skip-layer)技術(shù)可以使信號在輸入層和輸出層之間高速流通,核心思想是創(chuàng)建一個跨層連接來連通網(wǎng)路中前后層。文獻(xiàn)[16]基于這個核心理念設(shè)計了一種具有密集連接的卷積神經(jīng)網(wǎng)絡(luò),即DenseNet。其與ResNet最大的區(qū)別在于網(wǎng)絡(luò)每一層的輸入都是前面所有層輸出的并集,而該層所學(xué)習(xí)的特征圖也會被直接傳給其后面所有層作為輸入,通過密集連接實現(xiàn)特征的重復(fù)利用,增強了網(wǎng)絡(luò)的泛化能力。在密集連接的前提下可以把網(wǎng)絡(luò)的每一層設(shè)計得很“窄”,即只學(xué)習(xí)非常少的特征圖(最極端情況就是每一層只學(xué)習(xí)一個特征圖),所以可以達(dá)到降低冗余性的目的。簡單來說,DenseNet有以下優(yōu)點:減輕了梯度消失問題;強化了特征傳播;大幅度減少了參數(shù)數(shù)量。這篇論文獲得了2017年IEEE國際計算機視覺與模式識別會議的最佳論文獎。
前述很多工作都是從空間維度層面來提升網(wǎng)絡(luò)的性能,文獻(xiàn)[15]將考慮重點放在卷積神經(jīng)網(wǎng)絡(luò)特征通道之間的關(guān)系,在網(wǎng)絡(luò)中引入了包含壓縮(Squeeze)和激發(fā)(Excitation)操作的SE模塊,并基于此提出了SENet。Squeeze操作將每個二維的特征通道變成一個實數(shù)來代表全局的感受野,并且輸出的維度和輸入的特征通道數(shù)相匹配。Excitation操作是一個類似于循環(huán)神經(jīng)網(wǎng)絡(luò)中門的機制,通過參數(shù)w來為每個特征通道生成權(quán)重,用來顯式地建模特征通道間的相關(guān)性。最后進(jìn)行重新標(biāo)定權(quán)重(reweight)操作,將 Excitation的輸出權(quán)重看作是進(jìn)行過特征選擇后每個特征通道的重要性,然后通過乘法逐通道加權(quán)到先前的特征上,提升有用的特征并抑制對當(dāng)前任務(wù)用處不大的特征。文獻(xiàn)[15]將SE模塊嵌入ResNeXt,BN-Inception,Inception-ResNet-v2上進(jìn)行結(jié)果對比均獲得了不錯的增益效果。
圖3 MSTAR數(shù)據(jù)集
由于數(shù)據(jù)集中的原始圖片大小均為128像素×128像素且目標(biāo)基本都處于圖片的中心位置,故不需要對原圖片作預(yù)處理,只進(jìn)行數(shù)據(jù)整理即可。首先為訓(xùn)練集和測試集中的所有圖片制作標(biāo)簽,用0~8分別代表9類待識別目標(biāo),之后將各類數(shù)據(jù)重新編號整理至同一文件夾下,最后通過pytorch框架中的Dataset模塊將數(shù)據(jù)導(dǎo)入網(wǎng)絡(luò)中,可以用于直接訓(xùn)練。
本文實驗在64位Ubuntu 14.04系統(tǒng)環(huán)境下進(jìn)行,軟件方面主要基于深度學(xué)習(xí)架構(gòu)pytorch和python開發(fā)環(huán)境pycharm,硬件主要基于Intel(R) Core(TM) i7-6770K @ 4.00 GHz CPU和NVIDIA GTX1080 GPU,采用 CUDA8.0加速計算。
2.3.1 識別精度分析
為了準(zhǔn)確對比各網(wǎng)絡(luò)的表現(xiàn),結(jié)合數(shù)據(jù)集實際情況對實驗條件作了以下統(tǒng)一設(shè)置:迭代次數(shù)設(shè)置為50次,即將所有圖片在網(wǎng)絡(luò)中訓(xùn)練50次,批處理大小為16,即每次向網(wǎng)絡(luò)中輸入16張圖片數(shù)據(jù)同時進(jìn)行處理,反向傳播過程采用交叉熵?fù)p失函數(shù),學(xué)習(xí)率設(shè)置為0.01。分別在LeNet,AlexNet,VGGNet-16(表示16層的網(wǎng)絡(luò),下同),Inception-v3(GoogLeNet的改進(jìn)型),ResNet-18,ResNet-101,ResNet-152,SEResNet-18,SEResNet-101,DenseNet-161(每層通道數(shù)為48)共10個模型上測試網(wǎng)絡(luò)的識別能力。各網(wǎng)絡(luò)的訓(xùn)練損失曲線和精度曲線如圖4和圖5所示,最終訓(xùn)練精度和測試精度如表1所示。
圖4 模型損失曲線
圖5 模型精度曲線
由圖4可以看出,各網(wǎng)絡(luò)在迭代數(shù)據(jù)集10次左右后都趨于收斂,說明對訓(xùn)練集達(dá)到了較好的擬合效果。根據(jù)表1可知,除LeNet外的所有模型在測試集上的最終精度都達(dá)到了99%以上,SEResNet-18達(dá)到了100%的識別精度,測試精度充分說明了CNN模型對SAR圖像具有較強的識別和學(xué)習(xí)能力。LeNet,AlexNet和VGGNet-16三個模型雖然在訓(xùn)練集上都達(dá)到了100%的精度,但測試集上的精度卻低于其他模型,反映出這些模型的泛化能力不如其他模型。值得注意的是,ResNet和SEResNet系列模型都體現(xiàn)出了網(wǎng)絡(luò)層次加深識別精度卻有所下降的趨勢,這并不符合預(yù)期,原因在2.3.3節(jié)中進(jìn)行分析。
各模型在測試集上都取得了很高的精度且差異很小,除了網(wǎng)絡(luò)自身具有較好的性能外,可能還受到以下兩點原因的影響:一是本文所采用的數(shù)據(jù)集屬于中小型數(shù)據(jù)集,總共只有5 156張圖片,9種類別,而實驗中采用的網(wǎng)絡(luò)基本都是可以訓(xùn)練百萬量級圖片,完成近千種分類的大型網(wǎng)絡(luò),因而會得到較好的識別效果;二是由于SAR圖像數(shù)據(jù)獲取渠道有限,實驗中的訓(xùn)練集和測試集圖片僅是不同俯仰角成像下的SAR圖像,數(shù)據(jù)集間的差異較小,導(dǎo)致得到了較高的識別精度。雖然數(shù)據(jù)集較小且訓(xùn)練和測試圖片差異較小,但并不影響研究各模型的性能差異,且表1中實驗結(jié)果基本真實地反映了各模型在其他數(shù)據(jù)集上的相對表現(xiàn)。
2.3.2 計算資源分析
除了需要考量模型的識別性能,運算時間和模型尺寸等指標(biāo)也是應(yīng)用中需要考慮的重要指標(biāo)。為此,在實驗過程中記錄了各模型訓(xùn)練和測試時每個迭代周期內(nèi)的運算時間,并由此計算出各模型的運行總時間、平均時間、單次迭代最大最小時間及時間的標(biāo)準(zhǔn)差,結(jié)果如圖6和表2所示。
圖6 模型運算時間
s
圖7 單張圖片處理時間
由圖6和表2可知,模型的運行時間基本分成了3檔,LeNet,AlexNet,ResNet-18和SEResNet-18的運行時間比較短,Inception-v3,VGGNet-16和ResNet-101居中,SEResNet-101,ResNet-152和DenseNet-161運行時間最長,最長時間和最短時間相差近57倍,說明模型深度的增加會明顯提高運行時間,也說明在達(dá)到基本相同精度的條件下,CNN模型運行時間還有很大的壓縮空間。運行時間標(biāo)準(zhǔn)差反映了迭代時的穩(wěn)定性,可以發(fā)現(xiàn),對于計算時間較小的模型,其穩(wěn)定性也較好。
另外,SE模塊的引入使得計算時間有所增加,SEResNet-101的計算時間接近ResNet-152,計算開銷有所增大,但SEResNet-101相比ResNet-101獲得了較大的性能提升。
圖7給出了模型處理每張圖片所需時間與批處理大小的關(guān)系,二者呈近似反比關(guān)系,批處理大小從1增加到10,每張圖片所需的處理時間可以下降3~4倍。由圖中還可看出,對于單張圖片處理時間越大的網(wǎng)絡(luò),處理時間隨批處理大小下降的趨勢就越明顯,這也是批量處理技術(shù)廣泛應(yīng)用于當(dāng)前大型網(wǎng)絡(luò)加速計算的原因所在。
為了更加全面地研究各模型的計算資源占用情況,實驗還記錄了各模型在經(jīng)過訓(xùn)練后的尺寸大小,如表3所示,圖8給出了各模型的平均運行時間和模型尺寸之間的對應(yīng)關(guān)系。
表3 模型尺寸 MB
圖8 模型平均運行時間和模型尺寸關(guān)系圖
由圖8可以看出,作為早期的CNN模型,AlexNet,VGGNet都是通過加深網(wǎng)絡(luò)深度和提高模型復(fù)雜度來獲取更好的性能,從而增加了模型尺寸,而ResNet,DenseNet等新型網(wǎng)絡(luò)在獲得更好的識別性能的同時還顯著降低了模型尺寸。圖8中除AlexNet,VGGNet和DenseNet-161以外其余網(wǎng)絡(luò)的模型尺寸基本與運行時間呈正相關(guān),DenseNet-161雖然模型較小卻耗時最多,主要是因為其密集連接結(jié)構(gòu)會極大地增加運算量,說明運行時間不僅與模型尺寸相關(guān),很大程度上也受到實際運算量的影響。
綜合考慮識別精度和計算耗費,ResNet-18和SEResNet-18兩個模型可以在較小的運算時間和模型大小下,取得和其他模型相當(dāng)或優(yōu)于其他模型的識別效果,在本實驗數(shù)據(jù)集下是理想的選擇。
2.3.3 梯度彌散問題的討論
為便于分析,從實驗結(jié)果圖5中選取部分模型,如圖9所示。
圖9 部分模型精度圖
結(jié)合表1和圖9可以看出,淺層網(wǎng)絡(luò)ResNet-18和SEResNet-18都取得了很好的識別效果,而深層網(wǎng)絡(luò)ResNet-101 和ResNet-152模型沒有取得預(yù)想中的比ResNet-18更好的識別性能,引入SE模塊的SEResNet-101和采用了密集連接方法的DenseNet-161模型則獲得了優(yōu)于ResNet-101和ResNet-152的識別性能。以上現(xiàn)象說明深層網(wǎng)絡(luò)中梯度前向傳播時出現(xiàn)的“梯度彌散”問題在ResNet-101和ResNet-152中并沒有得到很好的解決,而SE模塊和密集連接方法則有效緩解了這一問題。
SAR圖像目標(biāo)自動識別是SAR圖像解譯中的重要環(huán)節(jié),也是研究熱點和難點。本文將計算機視覺領(lǐng)域關(guān)于目標(biāo)識別的最新成果和近年來出現(xiàn)的若干性能優(yōu)異的CNN模型應(yīng)用到SAR圖像目標(biāo)識別上,取得了很好的識別效果,多個模型識別率達(dá)到99%以上。綜合考量這些CNN模型在SAR圖像數(shù)據(jù)集上的識別性能、計算消耗、運作機制等指標(biāo),對比分析了不同模型的優(yōu)劣之處,實驗結(jié)果為SAR圖像目標(biāo)識別系統(tǒng)在實際應(yīng)用中選擇、組合和優(yōu)化各類CNN模型提供了數(shù)據(jù)支撐和有效參考。