王 強, 曹 磊, 史潤佳, 楊 非, 蔣忠進
(東南大學毫米波國家重點實驗室, 江蘇南京 210096)
隨著人工智能的快速發(fā)展,深度學習方法在光學圖像處理領域受到了越來越多的應用[1],尤其是卷積神經(jīng)網(wǎng)絡(Conventional Neural Network,CNN)[2],在圖像分類方面效果十分明顯。與傳統(tǒng)的人工提取圖片特征方式不同,CNN通過共享卷積核進行自適應的圖片特征提取,該過程不需要復雜計算和人工干預,解決了特征選取困難的問題[3]。2012年,CNN在ImageNet大賽上奪得了冠軍,戰(zhàn)勝傳統(tǒng)的分類方法而名聲大噪。自此CNN再次進入研究者的視野,并且獲得了蓬勃發(fā)展。各種新的CNN網(wǎng)絡如雨后春筍般涌出,網(wǎng)絡變得越來越深、越來越寬,在圖像識別方面效果也越來越好[4-6]。
CNN不僅大量用于光學圖像處理,在合成孔徑雷達(Synthetic Aperture Radar, SAR)圖像中也能有效地進行目標識別[7-14]。文獻[9]中,作者對多個實驗結果進行對比分析,結果表明卷積神經(jīng)網(wǎng)絡與其他分類器相比,對目標特征的提取更具魯棒性,在目標圖像發(fā)生較小改變時特征能維持穩(wěn)定,識別效果更好。文獻[8]使用較深的卷積神經(jīng)網(wǎng)絡,直接從SAR圖像訓練集中學習到目標具有判別性的特征,能夠高效準確地進行目標檢測與識別。
文獻[14]指出,在殘差網(wǎng)絡的訓練過程中,網(wǎng)絡梯度變化主要是由殘差網(wǎng)絡的分支主導的。該文獻作者在測試中發(fā)現(xiàn),雖然將正常鏈接移除掉,僅僅留下分支,網(wǎng)絡的表現(xiàn)性也很好,準確率很高,這表明網(wǎng)絡分支的貢獻很大。在該認識的啟發(fā)下,本文在殘差網(wǎng)絡的基礎上設計出了多個分支結構的卷積神經(jīng)網(wǎng)絡,并命名為密集連接型殘差網(wǎng)絡(Densely Connected Residual Network, DCResNet),用于SAR圖像中的車輛目標識別。本文基于MSTAR數(shù)據(jù)集對DCResNet網(wǎng)絡進行了多方面的測試,實驗結果表明,DCResNet網(wǎng)絡在SAR圖像車輛目標識別中具有很好的效果。
傳統(tǒng)ResNet中的殘差模塊的連接方式如圖1(a)所示,輸出Xl_4是兩部分相加之和,一部分就是該模塊的輸入Xl_0,另一部分是Xl_0經(jīng)過多組(圖中是3組)非線性運算后的結果Xl_3,所以有
Xl_4=Xl_3+Xl_0=Hl_123(Xl_0)+Xl_0
(1)
式中,Hl_123( · )表示整個殘差模塊對輸入數(shù)據(jù)的總的運算。值得注意的是,由于最后的相加要求特征圖尺寸相同,所以Xl_3與輸入Xl_0的尺寸要相同,即具有相同的行數(shù)、列數(shù)和層數(shù)。
由圖可知,輸入Xl_0要經(jīng)過3組類似的非線性運算,它們的輸出分別是Xl_1、Xl_2和Xl_3。每組運算都包含3個步驟,分別是批量歸一化處理(Batch Normalization)、非線性激活函數(shù)處理(Relu)和卷積處理(Convolution)。
不同科室間HPV-DNA、UU-RNA、CT-RNA和NG-RNA陽性檢出情況 婦科門診UU-RNA檢出率最高,為60.61%,HPV-DNA檢出率為34.57%,以 HR-HPV-DNA為主檢出率為31.72%,CT-RNA檢出率為5.90%,NG-RNA檢出率為2.84%。皮膚性病門診HPV-DNA檢出率為30.69%,UU-RNA檢出率最高,為46.28%,CT-RNA檢出率為9.16%,NG-RNA檢出率為1.73%。男科門診和泌尿科門診標本量較少,UU-RNA檢出率最高,為50.00%和33.33%。
DCResNet是本論文在傳統(tǒng)ResNet的基礎上,改進而得到的卷積神經(jīng)網(wǎng)絡模型。DCResNet中的密集連接型殘差模塊(DC殘差模塊)是由多個分支組成的結構。理論上,分支的數(shù)量不限,可以靈活變動,本文實驗中采用2個或3個分支。以3個分支為例,DC殘差模塊進行3次跳躍性連接,具體操作如圖1(b)所示。
(a) 傳統(tǒng)殘差模塊 (b) 密集連接型殘差模塊圖1 傳統(tǒng)殘差模塊和密集連接型殘差模塊結構
由圖1可知,與傳統(tǒng)ResNet一樣,輸入Xl_0也要經(jīng)過3組非線性運算。但不同的是,每組非線性運算后得到的特征圖都會作為一個因子,用于最后相加而得到模塊輸出的特征圖。為了保證數(shù)據(jù)流的尺寸不變,每個DC殘差模塊中的卷積核的尺寸相同,本文中卷積核的尺寸都是選用3×3。
上圖DC殘差模塊中的輸入輸出關系表示如下:
Xl_1=Hl_1(Xl_0)
(2)
Xl_2=Hl_2(Xl_1)
(3)
Xl_3=Hl_3(Xl_2)
(4)
Xl_4=Xl_3+Xl_2+Xl_1+Xl_0=
Hl_3(Hl_2(Hl_1(Xl_0)))+
Hl_2(Hl_1(Xl_0))+Hl_1(Xl_0)+Xl_0
(5)
式中,Xl_1表示經(jīng)過第1組非線性運算之后的輸出,Hl_1(·)表示第1組非線性運算函數(shù)。其他公式以此類推,在此不一一贅述。Xl_4表示整個密集連接型殘差模塊的輸出,是由模塊的輸入及每組非線性運算的輸出一起相加而得到的。
DCResNet的每個殘差模塊中都有多組非線性運算,每組非線性運算都是在卷積前添加批量歸一化和非線性激活函數(shù)。批量歸一化處理可以防止過擬合并加快收斂,非線性激活函數(shù)使網(wǎng)絡具有較好的非線性擬合能力,除此之外,模塊中使用的跳躍性連接使網(wǎng)絡具有良好的易訓練性。本網(wǎng)絡在繼承了ResNet優(yōu)點——抑制了梯度消失和梯度爆炸的問題以外,還增加了特征的傳播和利用率。
一個完整的DCResNet網(wǎng)絡主要由輸入、多個DC殘差模塊與下采樣的組合、兩個全連接層和輸出組成,如圖2所示。輸入(Input)就是需要處理的圖像數(shù)據(jù)。圖中共有4個DC殘差模塊,出于簡化圖示的目的,本文略去了模塊中的連接線,只是使用3組黃紅藍矩形框來表示,顏色與圖1是一致的。每個DC殘差模塊后搭配一組下采樣,包括綠色矩形框表示的1×1卷積層、紫色矩形框表示的平均池化層。最后是兩個灰色矩形框,分別表示全連接層1和全連接層2,而全連接層2也就是輸出層,該層給出目標的具體類別信息,即輸出(Output)。
圖2 DCResNet-3_18網(wǎng)絡結構
在ResNet的下采樣操作中,在旁支中加入卷積來調整殘差模塊的輸出通道數(shù)量。本文在DCResNet中,在平均池化層前用1×1卷積層來改變殘差模塊的輸出通道數(shù)量。為了抑制SAR圖像中的噪聲對目標識別所產生的不利影響,在DCResNet中采用平均池化的方式進行下采樣,改變數(shù)據(jù)的長與寬兩個維度。
為了將DCResNet的網(wǎng)絡結構信息直觀表現(xiàn),本文作了一個簡單的DCResNet網(wǎng)絡命名規(guī)則。以圖2中的網(wǎng)絡為例,本文命名為DCResNet-3_18,其中的3表示每個DC殘差模塊含有3個卷積層;18則表示整個網(wǎng)絡結構中總共有18個卷積層:有4個DC殘差模塊,一共就有12個卷積層,再加上4個1×1卷積層和2個全連接層,其中全連接層本質也是卷積層。
本文共實驗了4個DCResNet的變體網(wǎng)絡,表1展示了各個變體網(wǎng)絡的具體細節(jié)信息。最后的全連接層2的尺寸是10,指的是本文實驗中一共有10類目標。
表1 DCResNet系列變體網(wǎng)絡結構信息
續(xù)表
本文所有實驗數(shù)據(jù)均來源于美國DARPA公布的MSTAR(The Moving and Stationary Target Recognition)數(shù)據(jù)集。該數(shù)據(jù)集中包含大量車輛目標的SAR圖像切片,共有包括自行榴彈炮、裝甲偵察車、裝甲運輸車、推土機、坦克、貨運卡車、自行高炮、坦克等在內的10種型號,分別是BMP2、BTR70、T72、BTR60、2S1、BRDM2、D7、T62、ZIL131、ZSU234,此處給出其中的個別SAR圖像樣本如圖3所示。
圖3 10種車輛目標SAR圖像樣本
其中每一類車輛目標均只有15°和17°兩種不同俯仰角下所測得的數(shù)據(jù),但兩個俯仰角下的數(shù)據(jù)在方位角上均覆蓋0°~360°。俯仰角17°的數(shù)據(jù)共有2 747個,本文作為訓練數(shù)據(jù)集,俯仰角15°的數(shù)據(jù)共有2 425個,本文作為測試集。為了更加有利于實驗,本文將所有SAR圖像切片從中心點向外延伸,裁剪出100×100大小的圖片。除此之外,不對數(shù)據(jù)集作任何處理,用于驗證不同卷積神經(jīng)網(wǎng)絡的目標識別性能。
本文的目標識別代碼基于Python語言和TensorFlow框架編寫。計算機的操作系統(tǒng)是64位Windows10,處理器是Intel(R)Core(TM)i7-8700 CPU @3.20 GHz,內存容量為16 GB,顯卡是NVIDA GeForce RTX2070(8 GB)。實驗參數(shù)設置如下:epoch總數(shù)為80,起始學習率為0.01,當訓練epoch到達40的時候學習率降低為0.001,當訓練epoch到達70的時候學習率降低為0.000 1;批量大小batch_size統(tǒng)一為20;權重衰減weight_decay為1×10-4;神經(jīng)元隨機失活率為0.2。本次實驗使用adam優(yōu)化器,epsilon設為 1×10-8,momentum設為0.9。
本文比較了4種DCResNet變體網(wǎng)絡在訓練過程中前80個epoch(訓練代數(shù))的測試集準確率變化,如圖4所示。由圖可見,4種網(wǎng)絡在訓練過程初期,準確率的波動比較大,這是由于訓練初期學習率設置較大的原因,隨著網(wǎng)絡訓練的進行這種現(xiàn)象逐漸得到改善。
圖4 DCResNet系列變體準確率變化對比
其中DCResNet-2_11在前中期表現(xiàn)最差,其原因是網(wǎng)絡的總體非線性層數(shù)相比其他3種變體網(wǎng)絡而言較少。4種網(wǎng)絡中,較早進入穩(wěn)定狀態(tài)的是DCResNet-2_14以及DCResNet-3_18,這兩種網(wǎng)絡都是使用了4個DC殘差模塊,由此可以推測,更多的殘差模塊對網(wǎng)絡的準確性和收斂速度有利。但是最終,4種DCResNet變體網(wǎng)絡在MSTAR數(shù)據(jù)集上的準確率都達到了97%~98%之間。
首先,本文對比了AlexNet、ResNet和DCResNet 3種CNN網(wǎng)絡的收斂效果和學習能力,其中DCResNet一共給出4個變體網(wǎng)絡,實驗結果如圖5所示。圖片展示了前50個epoch中各種網(wǎng)絡的損失值變化趨勢,每一個epoch表示一個完整訓練數(shù)據(jù)集訓練完成。由圖可見,4種變體網(wǎng)絡的變化趨勢大致相似,AlexNet網(wǎng)絡的起始損失值最大,但是趨于穩(wěn)定狀態(tài)時ResNet-18的損失值卻是最大的,DCResNet的4種變體網(wǎng)絡起始損失值以及穩(wěn)定狀態(tài)損失值相比而言都較低。
圖5 多種CNN網(wǎng)絡損失值變化對比
由此可知DCResNet在訓練時收斂更快,且較低的損失值反映了DCResNet對訓練數(shù)據(jù)良好的學習能力,且網(wǎng)絡在訓練數(shù)據(jù)樣本較少的時候,不容易表現(xiàn)出過擬合。雖然DCResNet是在ResNet基礎上改進而得,但它可以以更少的卷積層數(shù),獲得更好的收斂效果和學習能力,這種性能提升源于殘差模塊內部的多次跳躍性連接和批量歸一化處理。
然后,本文進行了DCResNet與AlexNet、ResNet-18之間的準確率比較,如表2所示。這6種網(wǎng)絡在準確率方面ResNet-18表現(xiàn)最差,準確率是86.83%。DCResNet-3_18表現(xiàn)最好,準確率是98.20%,其他DCResNet變體的表現(xiàn)也遠遠領先于AlexNet和ResNet-18。同樣由18個卷積層組成,DCResNet-3_18準確率比ResNet-18高近12%。
表2 AlexNet、ResNet-18和DCResNet系列變體準確率對比
最后,本文對AlexNet、ResNet-18和DCResNet系列網(wǎng)絡的推理速度進行了測試和比較,結果如表3所示。其中推理速度最快的是DCResNet-2_11,推理速度最慢的是ResNet-18。DCResNet-3_18與ResNet-18擁有相同的卷積層數(shù),其推理速度卻遠遠快于ResNet-18。
表3 AlexNet、ResNet-18和DCResNet系列變體推理速度對比
上文在沒有數(shù)據(jù)擴充的情況下討論了各種網(wǎng)絡模型的性能。在實際工程中,數(shù)據(jù)擴充是尤為重要的,對于MSTAR這樣樣本數(shù)較少的數(shù)據(jù)集來說,數(shù)據(jù)擴充是必不可少的操作。本文研究了數(shù)據(jù)擴充對網(wǎng)絡性能的影響,在實驗中,本文通過翻轉、平移、多角度旋轉等操作,將訓練數(shù)據(jù)集擴充到了原來的6倍。數(shù)據(jù)集擴充前后,不同CNN網(wǎng)絡在訓練過程中的損失值變化曲線對比如圖6所示。
圖6 AlexNet、ResNet-18和DCResNet-3_18在擴充數(shù)據(jù)集前后的損失值對比
由圖6可見,3種網(wǎng)絡在數(shù)據(jù)擴充后的損失值絕大部分時間都低于數(shù)據(jù)擴充前的損失值,收斂得也更快。損失值表示預測結果與實際結果之間的差距,理論上越低越好,由此可見數(shù)據(jù)擴充有利于提高CNN網(wǎng)絡的性能。數(shù)據(jù)擴充的效果在ResNet-18網(wǎng)絡上表現(xiàn)得最為明顯,DCResNet-3_18網(wǎng)絡受到的影響較小,這也可以說明本文提出的模型對于小樣本學習有很好的表現(xiàn)。
表4給出了訓練數(shù)據(jù)集擴充前后,3種網(wǎng)絡的準確率變化。由表4可見,數(shù)據(jù)集擴充使CNN網(wǎng)絡的識別準確率均有不同幅度的提升。其中準確率提升幅度最大的是ResNet-18,超過10%。DCResNet-3_18的準確率也上升1.2%,使得擴充訓練集后,識別準確率達到99.47%。
表4 AlexNet、ResNet-18和DCResNet-3_18擴充數(shù)據(jù)集前后的準確率對比
本文在ResNet的基礎上,設計出了DCResNet,加密了殘差模塊中的跳躍性連接,使得每個殘差模塊里經(jīng)過不同次數(shù)非線性運算的特征都被疊加到殘差模塊的輸出里,從而提高了特征的傳播率和利用率,增強了網(wǎng)絡的學習能力。實驗結果表明,DCResNet與ResNet-18和AlexNet相比,具有更快的推理速度和收斂速度,更高的識別準確率。訓練數(shù)據(jù)集擴充能改善CNN的訓練損失值和識別準確率。在采用擴充后數(shù)據(jù)集進行訓練后,DCResNet-3_18的測試集準確率達到了99.47%。