馬月紅, 孔夢瑤
(石家莊鐵道大學(xué) 電氣與電子工程學(xué)院, 河北 石家莊 050043)
收稿日期:2020-12-11
基金項(xiàng)目:國家自然科學(xué)基金青年科學(xué)基金項(xiàng)目(51807124)
作者簡介:馬月紅(1979—),女,講師,博士。E-mail: mayuehong@stdu.edu.cn
合成孔徑雷達(dá)[1](SAR)是利用飛行載體的運(yùn)動將有限尺寸的天線單元等效為一個大孔徑虛擬天線,即合成孔徑原理,再經(jīng)過SAR成像算法計(jì)算獲取的距離向和方位向的目標(biāo)雷達(dá)圖像。SAR廣泛應(yīng)用于軍事偵察、地形測繪、海洋監(jiān)測、地質(zhì)環(huán)境勘探等領(lǐng)域。但SAR圖像在應(yīng)用上還存在很多問題,由于SAR圖像成像特性不同于光學(xué)圖像,同樣的目標(biāo)信息在光學(xué)圖像和SAR圖像中表現(xiàn)完全不同,使閱讀SAR圖像變得困難,同時SAR圖像受背景環(huán)境的復(fù)雜性和目標(biāo)的多變性影響較大,對SAR圖像進(jìn)行信息提取和目標(biāo)檢測也就存在很多難點(diǎn)。因此,對SAR圖像檢測算法的研究變得極其重要,而且隨著SAR成像技術(shù)的發(fā)展,單幅圖像的特征信息數(shù)量隨分辨率的提高而增加,如何提高圖像檢測算法的效率和實(shí)時性成為SAR圖像研究的重點(diǎn)。
傳統(tǒng)SAR圖像目標(biāo)檢測算法可分為以下兩類:第一是基于統(tǒng)計(jì)檢測理論的恒虛警率[2]目標(biāo)檢測算法,Sahal等[3]基于貝葉斯理論首次將恒虛警率算法應(yīng)用于高斯背景雜波統(tǒng)計(jì)下的雷達(dá)信號檢測,Abbadi等[4]進(jìn)一步將恒虛警率算法擴(kuò)展應(yīng)用于正態(tài)分布和韋布分布統(tǒng)計(jì)下的雷達(dá)信號檢測,使恒虛警率算法可應(yīng)用于多種背景雜波統(tǒng)計(jì)下的雷達(dá)圖像。但基于背景雜波的統(tǒng)計(jì)特性并不能適應(yīng)背景雜波分布復(fù)雜、受斑點(diǎn)噪聲嚴(yán)重的情況,算法在復(fù)雜場景下的檢測性能還有待于進(jìn)一步提升。第二是基于尺寸、紋理、形狀等特征的目標(biāo)檢測方法,如擴(kuò)展分形特征[5]、尺度不變特征變換[6]、稀疏表示[7]等,該方法能有效針對SAR圖像特征進(jìn)行提取,但存在運(yùn)算量大且效率低的問題。近年來,隨著深度學(xué)習(xí)理論和計(jì)算機(jī)技術(shù)的發(fā)展,目標(biāo)檢測領(lǐng)域逐漸開始利用深度學(xué)習(xí)來做研究,其算法主要分為兩種:一種是由區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(RCNN)發(fā)展而來的兩階段目標(biāo)檢測算法,以快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)[8](Faster-RCNN)為代表;另一種是以單脈沖多盒檢測[9](SSD)網(wǎng)絡(luò)為代表的單階段目標(biāo)檢測算法。對比兩種檢測算法,兩階段目標(biāo)檢測算法雖然精度較高,但需要多次運(yùn)行分類回歸流程,檢測實(shí)時性較差,而單階段目標(biāo)檢測算法可一次性進(jìn)行分類回歸,但同時誤檢率較高。
本文針對雙階段目標(biāo)檢測算法檢測效率低、模型復(fù)雜的問題,針對算法缺陷和SAR圖像的特點(diǎn),對Faster-RCNN算法進(jìn)行優(yōu)化,以降低模型復(fù)雜度、提高檢測性能。最后與單階段檢測算法SSD進(jìn)行對比,并通過實(shí)驗(yàn)檢驗(yàn)優(yōu)化效果。
RCNN系列[10]的目標(biāo)檢測算法有4個基本步驟,分別是特征提取、候選區(qū)域生成、目標(biāo)分類和位置回歸。從RCNN到Faster-RCNN的模型架構(gòu)改進(jìn)過程如圖1所示。
圖1 RCNN模型架構(gòu)改進(jìn)過程Fig.1 Improving process of RCNN model architecture
Faster-RCNN算法建立在RCNN和較快區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast-RCNN)[11]的基礎(chǔ)上,將各部分模型融合在同一深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),提出區(qū)域建議網(wǎng)絡(luò)(RPN)代替選擇性搜索方法產(chǎn)生區(qū)域候選窗口,創(chuàng)造性地采用卷積神經(jīng)網(wǎng)絡(luò)自行產(chǎn)生候選框,使得RPN和特征提取網(wǎng)絡(luò)實(shí)現(xiàn)參數(shù)共享,有效降低了模型的大小。
從模型架構(gòu)可以看出,F(xiàn)aster-RCNN相當(dāng)于RPN與Fast-RCNN的集合。Faster-RCNN有交替訓(xùn)練和近似聯(lián)合訓(xùn)練兩種訓(xùn)練方式[12]。交替訓(xùn)練方式訓(xùn)練過程分為3個階段:1)訓(xùn)練特征提取網(wǎng)絡(luò)和RPN,得到特征圖和區(qū)域建議框,權(quán)重采用ImageNet預(yù)訓(xùn)練模型初始化;2)利用生成的區(qū)域建議框訓(xùn)練Fast-RCNN,得到新的特征圖、分類得分以及位置偏移;3)固定特征提取網(wǎng)絡(luò),利用第2步輸出的參數(shù)初始化RPN,生成新的區(qū)域建議框,最后進(jìn)行分類回歸,微調(diào)檢測結(jié)果。近似聯(lián)合訓(xùn)練方式訓(xùn)練過程分為3個階段:1)訓(xùn)練特征提取網(wǎng)絡(luò)和RPN,生成共享特征圖和區(qū)域建議框,權(quán)重采用ImageNet預(yù)訓(xùn)練模型初始化;2)在共享特征圖的基礎(chǔ)上利用生成的區(qū)域建議框進(jìn)行分類回歸;3)將第1步的區(qū)域建議框和第2步的分類得分、位置偏移合并輸入Faster-RCNN模型聯(lián)合訓(xùn)練。交替訓(xùn)練方式在RPN訓(xùn)練結(jié)束后,會存儲所有訓(xùn)練圖片的區(qū)域建議框,占用了極大的內(nèi)存空間。而近似聯(lián)合訓(xùn)練將RPN產(chǎn)生區(qū)域建議框直接送入Fast-RCNN,節(jié)省了大量內(nèi)存,在訓(xùn)練過程中只訓(xùn)練一個權(quán)重網(wǎng)絡(luò),訓(xùn)練速度有可觀的提升,而訓(xùn)練精度不變。近似聯(lián)合訓(xùn)練方式和交替訓(xùn)練方式流程圖如圖2和圖3所示。
圖2 近似聯(lián)合訓(xùn)練方式流程Fig.2 Flow chart of similar joint training mode
圖3 交替訓(xùn)練方式流程Fig.3 Flow chart of alternate training mode
基于區(qū)域建議框和分類回歸的目標(biāo)檢測方法中,R-CNN系列算法取得了優(yōu)異的結(jié)果,但是在速度方面離實(shí)時要求還相差較遠(yuǎn)。SSD網(wǎng)絡(luò)通過均勻地在特征提取網(wǎng)絡(luò)生成多個尺寸的特征圖上進(jìn)行密集抽樣,抽樣時可以采用不同尺度和長寬比的目標(biāo)檢測框,然后對不同尺度的目標(biāo)檢測框進(jìn)行分類與回歸,最后經(jīng)過非極大值抑制(NMS)來抑制掉一部分重疊的目標(biāo)檢測框,將不同特征圖獲得的目標(biāo)檢測框結(jié)合起來,生成最終的檢測結(jié)果。整個過程只需要一步,其優(yōu)勢是檢測速度快。SSD算法的流程圖如圖4所示。
圖4 SSD算法流程Fig.4 Flow chart of SSD algorithm
2.1.1 卷積神經(jīng)網(wǎng)絡(luò)模型
卷積神經(jīng)網(wǎng)絡(luò)[13]是一種包含卷積的深度神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)包括卷積層、池化層、全連接層和激活函數(shù)。在卷積神經(jīng)網(wǎng)絡(luò)中,輸入圖像可看作由像素組成的矩陣,卷積操作可以看做一個帶權(quán)重的濾波器即卷積核。對矩陣進(jìn)行內(nèi)積計(jì)算,不同濾波器會得到不同的輸出數(shù)據(jù),代表著顏色、輪廓等特征,多個卷積核疊加可組成卷積層,圖像經(jīng)過卷積層可提取不同位置、不同類型的特征向量集。
自卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在計(jì)算機(jī)視覺以來,為了獲得更高的準(zhǔn)確率,卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)逐漸從AlexNet的8層增加到ResNet的152層。網(wǎng)絡(luò)層次越深,特征的抽象程度就越高,從而神經(jīng)網(wǎng)絡(luò)可以完成更多需要高度抽象理解能力的工作。然而神經(jīng)網(wǎng)絡(luò)并不是越深越好,網(wǎng)絡(luò)層次的加深使得網(wǎng)絡(luò)占用的內(nèi)存和運(yùn)行空間增加,會影響網(wǎng)絡(luò)的運(yùn)行速度。因此在選擇卷積神經(jīng)網(wǎng)絡(luò)時,網(wǎng)絡(luò)的模型大小和特征提取能力需要綜合考量。
Faster-RCNN網(wǎng)絡(luò)一般選取VGG16作為其特征提取網(wǎng)絡(luò),VGG16網(wǎng)絡(luò)結(jié)構(gòu)簡潔規(guī)整,容易修改遷移到其他任務(wù)中且網(wǎng)絡(luò)層數(shù)較淺,常作為高層任務(wù)的基礎(chǔ)網(wǎng)絡(luò)。但是VGG16網(wǎng)絡(luò)還是很難滿足在有限計(jì)算資源平臺上做出及時反應(yīng)的要求。
2.1.2 輕量型卷積模型
本文選用輕量型網(wǎng)絡(luò)MobileNet代替VGG16進(jìn)行特征提取,Chollet介紹了MobileNet的基本卷積結(jié)構(gòu)[14],MobileNet采用深度可分離卷積(DSC)代替普通卷積,將其分解為C個深度卷積和一個1×1的逐點(diǎn)卷積,C為特征圖輸入通道數(shù)。對于尺寸為W×H×3特征圖(W和H為特征圖的寬和高),經(jīng)過DSC的過程如圖5所示。特征圖首先經(jīng)過3個尺寸為w×h×1的卷積核,對特征圖逐通道卷積,得到3個尺寸為w1×h1×3的特征圖,然后用尺寸為1×1×3的卷積核對特征圖再次卷積,最后可得到與普通卷積相同的結(jié)果。
圖5 DSC過程Fig.5 Depthwise separable convolution operation
MobileNet一共28層網(wǎng)絡(luò),每層卷積后都跟著一個批量規(guī)范化(BN)層和一個ReLU激活函數(shù),BN層用于對中間層數(shù)據(jù)進(jìn)行歸一化處理,防止數(shù)據(jù)經(jīng)過矩陣乘法以及非線性運(yùn)算后,分布發(fā)生偏移使收斂變緩。BN層計(jì)算公式如下:
(1)
(2)
圖6 批歸一化后數(shù)據(jù)分布Fig.6 Data distribution after batch normalization
2.1.3 輕量型特征提取網(wǎng)絡(luò)設(shè)計(jì)
表1 SSD算法錨框設(shè)置定義Tab.1 Definition of anchor box settings for SSD algorithm
表2 目標(biāo)真值錨框聚類大小Tab.2 Target truth value cluster size of anchor frame 像素
圖7 錨框- 感受野擬合曲線Fig.7 Anchor-RF fitting curve
(3)
式中:r為感受野;L為卷積網(wǎng)絡(luò)總層數(shù);l為層數(shù);kl為第l層卷積核大小;s為步長。經(jīng)過計(jì)算,選取MobileNet的第11層卷積輸出特征圖,設(shè)計(jì)生成輕量型特征提取網(wǎng)絡(luò)的感受野如表3所示。
表3 特征提取網(wǎng)絡(luò)中不同卷積層感受野大小Tab.3 Sizes of receptive fields of different convolution layers in feature extraction network
在區(qū)域建議框生成初始階段,RPN以輸入特征圖的每個像素點(diǎn)為中心生成9個面積和長寬比不同的錨框,每個框會生成2個分類得分和4個位置偏移,從而帶來大量的計(jì)算量,影響運(yùn)行速度。因此對RPN進(jìn)行輕量化改進(jìn)尤為重要。當(dāng)RPN和改進(jìn)的輕量型特征提取網(wǎng)絡(luò)耦合時,會引起網(wǎng)絡(luò)參數(shù)不平衡,增加過度擬合風(fēng)險。為解決這一問題,本文首先使用DSC代替RPN的3×3卷積。
2.2.1 感興趣區(qū)域矯正
原RPN主要針對光學(xué)圖像數(shù)據(jù)集,生成錨框尺寸與本文所檢測SAR目標(biāo)尺寸不匹配,會產(chǎn)生計(jì)算誤差,影響檢測精度。為得到更精確的錨框定位、減少冗余計(jì)算,針對SAR圖像目標(biāo)較小且尺寸特殊的特點(diǎn),對RPN生成的錨框進(jìn)行矯正。根據(jù)表2中目標(biāo)尺寸和各類別目標(biāo)的長寬比,本文將RPN的錨框比率設(shè)置為[0.5,1,2],將錨框計(jì)算尺度設(shè)置為[2,4,8],最終生成的錨框?qū)挾群透叨热绫?所示。
表4 生成錨框大小Tab.4 Size of anchor frame
Faster-RCNN中感興趣區(qū)域池化操作存在兩次數(shù)據(jù)量化的過程,經(jīng)過感興趣區(qū)域池化后的錨框和最開始的錨框之間存在一定偏差,而且當(dāng)錨框本身比較小時這個偏差會顯得非常大,嚴(yán)重影響檢測的精確度。針對感興趣區(qū)域池化存在的問題,參考Mask-RCNN算法,將RoiPooling改為RoiAlignRoiAlign,保留浮點(diǎn)數(shù)進(jìn)行計(jì)算,保證區(qū)域建議框不被縮小,并將量化操作改為雙線性插值,使量化偏差大大減少。具體計(jì)算步驟為:1)遍歷每一個候選區(qū)域,保持浮點(diǎn)數(shù)邊界不做量化;2)將候選區(qū)域分割成k×k個單元,每個單元的邊界也不做量化;3)在每個單元中計(jì)算固定4個坐標(biāo)位置,用雙線性內(nèi)插方法計(jì)算出4個位置的值,然后進(jìn)行最大池化操作。雙線性插值過程如圖8所示。圖8中,P11、P12、P21、P22為候選區(qū)域位置坐標(biāo)值,R1、R2為x軸坐標(biāo)方向插值結(jié)果,Q為雙線性插值結(jié)果坐標(biāo)。
圖8 雙線性插值Fig.8 Bilinear interpolation
對于已知4個坐標(biāo)P11、P12、P21和P22,首先在x軸坐標(biāo)方向進(jìn)行線性插值,得到R1和R2,然后在y軸坐標(biāo)方向進(jìn)行線性插值,最終得到插值Q.
2.2.2 NMS檢測框冗余抑制
在目標(biāo)檢測結(jié)果中,經(jīng)常出現(xiàn)同一目標(biāo)帶有多個不同得分檢測框的情況,而檢測需求是保留一個最優(yōu)的檢測框,于是就要用到NMS來刪除那些冗余的檢測框。實(shí)際應(yīng)用中,NMS由于存在順序迭代操作,運(yùn)算時間往往能占模型運(yùn)算總時間的40%以上[18],極大地影響了模型效率。為提高NMS的運(yùn)算速度,本文選用快速NMS(Fast-NMS)優(yōu)化算法,利用交并比(IOU)矩陣的對稱性將其進(jìn)行上三角化操作,并按列取最大值得到一維向量,最后利用NMS閾值進(jìn)行冗余框抑制。但是相比于原始NMS,F(xiàn)ast-NMS會抑制掉更多的檢測框,使檢測精度下降。為降低Fast-NMS對檢測精度的影響,將Fast-NMS中的IOU計(jì)算替換為距離交并比(DIOU)優(yōu)化算法,DIOU損失的定義公式為
(4)
式中:Ld為DIOU的值;U為兩錨框IOU的值;ρ(·)表示歐氏距離;b和bt分別表示理論錨框和真實(shí)錨框的中心點(diǎn);c為最小包圍兩個錨框的對角線長度。
DIOU綜合考慮了目標(biāo)與錨框之間的中心點(diǎn)距離、重疊面積和尺度信息,使檢測框回歸變得更加穩(wěn)定。DIOU還提出了中心點(diǎn)歸一化距離,在IOU損失中引入一個懲罰項(xiàng),直接最小化兩個錨框的歸一化距離,加快了檢測框的收斂速度。
Fast-RCNN網(wǎng)絡(luò)利用視覺幾何群(VGG)網(wǎng)絡(luò)的后幾層,在特征分類回歸前將感興趣區(qū)域池化輸出送入兩層全連接層,全連接層是將所有神經(jīng)元參數(shù)進(jìn)行連接計(jì)算,全連接層將卷積輸出的二維特征圖轉(zhuǎn)化成一維向量,對于4×4特征圖,將生成16個神經(jīng)元,帶來最直觀的問題就是參數(shù)爆炸與冗余。雖然在全連接前進(jìn)行了Dropout操作、減少了部分神經(jīng)元,但同時也會丟失大量信息,使網(wǎng)絡(luò)收斂變慢。參考Inception網(wǎng)絡(luò),本文采用全局平均池化代替全連接層以融合學(xué)到的深度特征。全局平均池化將特征圖看作一個整體,在保留前面各個卷積層和池化層提取到的特征信息的同時,還減少了模型中的參數(shù)數(shù)量,降低了過度擬合的風(fēng)險。全局平均池化和全連接層對比如圖9所示。
圖9 全局平均池化層和全連接層對比Fig.9 Comparison of global average pooling layer and fully connected layer
處理器為英特爾i7-9750H;顯卡為NVIDIA GeForce GTX1650Ti,顯存為4GB;系統(tǒng)為Windows 10.
實(shí)驗(yàn)數(shù)據(jù)集選用MSTAR數(shù)據(jù)集,MSTAR數(shù)據(jù)集是通過高分辨率的聚束式SAR采集的多種前蘇聯(lián)目標(biāo)軍事車輛的SAR圖像合集。該算法數(shù)據(jù)集中SAR圖片大小為224×224像素,共5 162張,包含10類目標(biāo),分別為自行榴彈炮(2S1)、步兵戰(zhàn)車(BMP2)、裝甲偵察車(BRDM2)、裝甲運(yùn)輸車(BTR60)、裝甲運(yùn)輸車(BTR70)、推土機(jī)(D7)、坦克(T62)、坦克(T72)、貨運(yùn)卡車(ZIL131)、自行高炮(ZSU234)。對每張SAR圖像內(nèi)目標(biāo)進(jìn)行位置和類別的標(biāo)注,選取在15°俯仰角下10類目標(biāo)為訓(xùn)練集,共2 742張。選取17°俯仰角下10類目標(biāo)為測試集,共2 420張。類別依次計(jì)為1~10.
目標(biāo)檢測的評價指標(biāo)是對算法檢測性能的直觀性表現(xiàn),其中模型對內(nèi)存的占用量可用模型參數(shù)量衡量,模型運(yùn)行速度可用模型乘加操作計(jì)算量衡量,模型精確度可用平均準(zhǔn)確率衡量。
3.3.1 模型參數(shù)量
模型參數(shù)量是指模型含有多少參數(shù),參數(shù)通常用float32表示,模型大小單位為M,模型大小是參數(shù)數(shù)量的4倍。模型卷積層和池化層參數(shù)量計(jì)算公式為
Cp=co×(kw×kh×ci+1),
(5)
式中:Cp為卷積參數(shù)量;co為輸入通道數(shù);kw為卷積核寬;kh為卷積核高;ci為輸出通道數(shù)。
全連接層卷積參數(shù)量Np的計(jì)算公式為
Np=I×O+Zb,
(6)
式中:I為輸入神經(jīng)元個數(shù);O為輸出神經(jīng)元個數(shù);Zb為偏置量。
DSC參數(shù)量計(jì)算公式為
Dp=ci×kw×kh×1,
(7)
Pp=1×1×ci×co,
(8)
式中:Dp為深度卷積參數(shù)量;Pp為逐點(diǎn)卷積參數(shù)量。
3.3.2 模型計(jì)算量
卷積運(yùn)算是多個點(diǎn)積計(jì)算的累加,可以看作乘加操作集合。BN層和ReLU函數(shù)內(nèi)部卷積計(jì)算量可忽略不計(jì),普通卷積層和池化層乘加操作計(jì)算量的計(jì)算公式為
Cm=ci×co×kh×kw×H×W+Zb,
(9)
式中:Cm為卷積乘加計(jì)算量。
DSC乘加操作計(jì)算量的計(jì)算公式為
Dm=ci×kw×kh×H×W,
(10)
Pm=1×1×ci×co×H×W,
(11)
式中:Dm為深度卷積計(jì)算量;Pm為逐點(diǎn)卷積計(jì)算量。
3.3.3 平均準(zhǔn)確率
平均準(zhǔn)確率是指精確率和召回率曲線與坐標(biāo)包圍的面積,精確率是指分類器分對的正樣本占分出的所有正樣本的比例,召回率是指分類器分對的正樣本占樣本中所有正樣本的比例。MAP是所有類別目標(biāo)的平均準(zhǔn)確率的平均值。平均準(zhǔn)確率AP的計(jì)算公式為
(12)
式中:P(R)為精確率- 召回率參數(shù),R為自變量。
3.4.1 Faster-RCNN算法和SSD算法對比
為比較Faster-RCNN和SSD兩種算法的性能,首先計(jì)算兩種算法的模型大小,然后使用SAR圖像數(shù)據(jù)集對兩種算法進(jìn)行訓(xùn)練,最后對比訓(xùn)練結(jié)果。模型檢測精度對比如表5所示,模型參數(shù)量和計(jì)算量對比如表6所示,實(shí)驗(yàn)效果圖如圖10、圖11所示。
圖10 SSD算法檢測結(jié)果Fig.10 Detection results of SSD algorithm
圖11 Faster-RCNN算法檢測結(jié)果Fig.11 Detection results of Faster-RCNN algorithm
由表5和表6可知,F(xiàn)aster-RCNN檢測算法精度高于SSD檢測算法,但是Faster-RCNN模型大小約為SSD的5倍。
表5 Faster-RCNN算法和SSD算法精度對比Tab.5 Accuracy comparison between Faster-RCNN andSSD algorithms %
表6 Faster-RCNN算法和SSD算法參數(shù)對比Tab.6 Parameters comparison of Faster-RCNN andSSD algorithms
3.4.2 特征提取網(wǎng)絡(luò)優(yōu)化結(jié)果
特征提取網(wǎng)絡(luò)部分使用MobileNet替換VGG16網(wǎng)絡(luò),得到模型1;為檢驗(yàn)改進(jìn)效果,首先計(jì)算對比兩特征提取網(wǎng)絡(luò)的模型大小,然后將兩檢測模型分別在SAR圖像數(shù)據(jù)集上進(jìn)行訓(xùn)練。表7所示為VGG16特征提取網(wǎng)絡(luò)結(jié)構(gòu),參數(shù)量為61 M,運(yùn)算量為61 679 M;表8所示為MobileNet輕量型特征提取網(wǎng)絡(luò)結(jié)構(gòu),參數(shù)量為0.135 M,運(yùn)算量為112 M;改進(jìn)前后算法精度對比如表9所示。
表7 VGG16特征提取網(wǎng)絡(luò)結(jié)構(gòu)Tab.7 VGG16 feature extraction network structure
表8 MabileNet輕量型特征提取網(wǎng)絡(luò)結(jié)構(gòu)Tab.8 MabileNet lightweight feature extractionnetwork structure
由表9可知,模型1由于DSC和BN層的作用,改進(jìn)后特征提取網(wǎng)絡(luò)模型參數(shù)量和計(jì)算量大大減小,但是檢測精度也有所損失。
表9 特征提取網(wǎng)絡(luò)優(yōu)化結(jié)果Tab.9 Optimization results of feature extraction network %
3.4.3 RPN優(yōu)化結(jié)果
對于RPN的改進(jìn)分為三部分,且均在模型1基礎(chǔ)上:第一部分是將RPN頭部卷積層替換為3×3DSC,得到模型2;第二部分首先將錨框生成尺度減小為[2,4,8],然后將RoiPooling改為RoiAlign,得到模型3和模型4;第三部分是使用Fast-NMS替換原始NMS,然后用DIOU替換原始IOU,得到模型5和模型6. 為檢驗(yàn)不同改進(jìn)方法對目標(biāo)檢測性能的影響,本文分別對5種檢測模型進(jìn)行訓(xùn)練,與配置輕量特征提取網(wǎng)絡(luò)的目標(biāo)檢測算法進(jìn)行對比,模型精確度對比如表10所示。
表10 改進(jìn)模型訓(xùn)練結(jié)果Tab.10 Training results of the improved models %
對于NMS的改進(jìn),由表10可知,F(xiàn)ast-NMS在提高檢測速度的同時,損失了部分檢測精度,但DIOU彌補(bǔ)了Fast-NMS帶來的損失。對于錨框尺度的改進(jìn),通過表10可知,錨框尺度的減小匹配原始量化方法使得目標(biāo)檢測的精度降低,但RoiAlign改進(jìn)了量化誤差,使精度大大提高。為進(jìn)一步證明改進(jìn)錨框的精確性,在錨框生成尺度為[8,16,32]的原始程序中改進(jìn)RoiPooling為RoiAlign,訓(xùn)練對比結(jié)果如表11所示。由表11發(fā)現(xiàn),原始錨框在改進(jìn)感興趣區(qū)域池化方式后精度反而下降,由此可見,改進(jìn)錨框的精確度有所提高。
表11 錨框尺度優(yōu)化對比Tab.11 Comparison of anchor frame scaleoptimization results %
3.4.4 全局平均池化優(yōu)化結(jié)果
為檢測全局平均池化對目標(biāo)檢測性能的影響,本文在模型1基礎(chǔ)上,將全連接層替換為全局平均池化和1×1卷積,得到模型7,然后在SAR圖像數(shù)據(jù)集上對模型7進(jìn)行訓(xùn)練。最后與模型1進(jìn)行對比,檢測結(jié)果如表12所示,全局平均池化輸出神經(jīng)元為數(shù)據(jù)類別數(shù),全連接層和全局平均池化模型大小對比如表13所示。其中全連接層網(wǎng)絡(luò)模型參數(shù)量為228.008 M,運(yùn)算量為228.383 M,全局平均池化網(wǎng)絡(luò)模型參數(shù)量為100 M,運(yùn)算量為100 M.
表12 全局平均池化優(yōu)化結(jié)果Tab.12 Optimization results of global averag pooling %
表13 全連接層與全局平均池化模型大小對比Tab.13 Comparison of the sizes of fully connected layerand global average pooling models
在3.4節(jié)改進(jìn)實(shí)驗(yàn)的基礎(chǔ)上,本文融合多種改進(jìn)方法得到模型8,各改進(jìn)方法模型總結(jié)如表14所示。模型8的檢測性能如表15、表16所示。
表14 改進(jìn)模型總結(jié)Tab.14 Summary of the improved models
由表15和表16可知,改進(jìn)算法既保持了雙階段目標(biāo)檢測算法所具有的高精度特點(diǎn),模型占用空間大小和運(yùn)行速度也可達(dá)到單階段目標(biāo)檢測算法水平。
表15 算法改進(jìn)結(jié)果精度對比Tab.15 Improved accuracy comparison of results %
表16 算法改進(jìn)結(jié)果模型性能對比Tab.16 Performance comparison of the improved models
本文針對現(xiàn)有目標(biāo)檢測技術(shù)不能兼顧檢測精度與速度的問題,對Faster-RCNN目標(biāo)檢測算法進(jìn)行了改進(jìn)優(yōu)化。首先使用DSC設(shè)計(jì)特征提取網(wǎng)絡(luò),降低了基礎(chǔ)模型的參數(shù)量和計(jì)算量。然后在SAR圖像真值目標(biāo)大小的基礎(chǔ)上,對錨框生成尺度進(jìn)行調(diào)整,并改進(jìn)NMS算法,提高目標(biāo)檢測的精度。最后,利用全局平均池化代替全連接層進(jìn)行特征分類,將改進(jìn)后Faster-RCNN算法應(yīng)用于SAR圖像的目標(biāo)檢測任務(wù)中,用MSTAR數(shù)據(jù)集進(jìn)行訓(xùn)練,并與SSD算法進(jìn)行對比。經(jīng)檢測驗(yàn)證,改進(jìn)后Faster-RCNN算法的模型體積和模型運(yùn)算量均優(yōu)于SSD單階段網(wǎng)絡(luò),檢測精度也可保持雙階段檢測算法的水平,改進(jìn)Faster-RCNN算法的檢測速度從原Faster-RCNN算法的0.59 s/張?zhí)嵘秊?.13 s/張,驗(yàn)證了本文方法在SAR圖像目標(biāo)檢測任務(wù)中具有較好的表現(xiàn)。