馬月紅, 孔夢瑤
(石家莊鐵道大學 電氣與電子工程學院, 河北 石家莊 050043)
收稿日期:2020-12-11
基金項目:國家自然科學基金青年科學基金項目(51807124)
作者簡介:馬月紅(1979—),女,講師,博士。E-mail: mayuehong@stdu.edu.cn
合成孔徑雷達[1](SAR)是利用飛行載體的運動將有限尺寸的天線單元等效為一個大孔徑虛擬天線,即合成孔徑原理,再經過SAR成像算法計算獲取的距離向和方位向的目標雷達圖像。SAR廣泛應用于軍事偵察、地形測繪、海洋監測、地質環境勘探等領域。但SAR圖像在應用上還存在很多問題,由于SAR圖像成像特性不同于光學圖像,同樣的目標信息在光學圖像和SAR圖像中表現完全不同,使閱讀SAR圖像變得困難,同時SAR圖像受背景環境的復雜性和目標的多變性影響較大,對SAR圖像進行信息提取和目標檢測也就存在很多難點。因此,對SAR圖像檢測算法的研究變得極其重要,而且隨著SAR成像技術的發展,單幅圖像的特征信息數量隨分辨率的提高而增加,如何提高圖像檢測算法的效率和實時性成為SAR圖像研究的重點。
傳統SAR圖像目標檢測算法可分為以下兩類:第一是基于統計檢測理論的恒虛警率[2]目標檢測算法,Sahal等[3]基于貝葉斯理論首次將恒虛警率算法應用于高斯背景雜波統計下的雷達信號檢測,Abbadi等[4]進一步將恒虛警率算法擴展應用于正態分布和韋布分布統計下的雷達信號檢測,使恒虛警率算法可應用于多種背景雜波統計下的雷達圖像。但基于背景雜波的統計特性并不能適應背景雜波分布復雜、受斑點噪聲嚴重的情況,算法在復雜場景下的檢測性能還有待于進一步提升。第二是基于尺寸、紋理、形狀等特征的目標檢測方法,如擴展分形特征[5]、尺度不變特征變換[6]、稀疏表示[7]等,該方法能有效針對SAR圖像特征進行提取,但存在運算量大且效率低的問題。近年來,隨著深度學習理論和計算機技術的發展,目標檢測領域逐漸開始利用深度學習來做研究,其算法主要分為兩種:一種是由區域卷積神經網絡(RCNN)發展而來的兩階段目標檢測算法,以快速區域卷積神經網絡[8](Faster-RCNN)為代表;另一種是以單脈沖多盒檢測[9](SSD)網絡為代表的單階段目標檢測算法。對比兩種檢測算法,兩階段目標檢測算法雖然精度較高,但需要多次運行分類回歸流程,檢測實時性較差,而單階段目標檢測算法可一次性進行分類回歸,但同時誤檢率較高。
本文針對雙階段目標檢測算法檢測效率低、模型復雜的問題,針對算法缺陷和SAR圖像的特點,對Faster-RCNN算法進行優化,以降低模型復雜度、提高檢測性能。最后與單階段檢測算法SSD進行對比,并通過實驗檢驗優化效果。
RCNN系列[10]的目標檢測算法有4個基本步驟,分別是特征提取、候選區域生成、目標分類和位置回歸。從RCNN到Faster-RCNN的模型架構改進過程如圖1所示。

圖1 RCNN模型架構改進過程Fig.1 Improving process of RCNN model architecture
Faster-RCNN算法建立在RCNN和較快區域卷積神經網絡(Fast-RCNN)[11]的基礎上,將各部分模型融合在同一深度卷積神經網絡架構,提出區域建議網絡(RPN)代替選擇性搜索方法產生區域候選窗口,創造性地采用卷積神經網絡自行產生候選框,使得RPN和特征提取網絡實現參數共享,有效降低了模型的大小。
從模型架構可以看出,Faster-RCNN相當于RPN與Fast-RCNN的集合。Faster-RCNN有交替訓練和近似聯合訓練兩種訓練方式[12]。交替訓練方式訓練過程分為3個階段:1)訓練特征提取網絡和RPN,得到特征圖和區域建議框,權重采用ImageNet預訓練模型初始化;2)利用生成的區域建議框訓練Fast-RCNN,得到新的特征圖、分類得分以及位置偏移;3)固定特征提取網絡,利用第2步輸出的參數初始化RPN,生成新的區域建議框,最后進行分類回歸,微調檢測結果。近似聯合訓練方式訓練過程分為3個階段:1)訓練特征提取網絡和RPN,生成共享特征圖和區域建議框,權重采用ImageNet預訓練模型初始化;2)在共享特征圖的基礎上利用生成的區域建議框進行分類回歸;3)將第1步的區域建議框和第2步的分類得分、位置偏移合并輸入Faster-RCNN模型聯合訓練。交替訓練方式在RPN訓練結束后,會存儲所有訓練圖片的區域建議框,占用了極大的內存空間。而近似聯合訓練將RPN產生區域建議框直接送入Fast-RCNN,節省了大量內存,在訓練過程中只訓練一個權重網絡,訓練速度有可觀的提升,而訓練精度不變。近似聯合訓練方式和交替訓練方式流程圖如圖2和圖3所示。

圖2 近似聯合訓練方式流程Fig.2 Flow chart of similar joint training mode

圖3 交替訓練方式流程Fig.3 Flow chart of alternate training mode
基于區域建議框和分類回歸的目標檢測方法中,R-CNN系列算法取得了優異的結果,但是在速度方面離實時要求還相差較遠。SSD網絡通過均勻地在特征提取網絡生成多個尺寸的特征圖上進行密集抽樣,抽樣時可以采用不同尺度和長寬比的目標檢測框,然后對不同尺度的目標檢測框進行分類與回歸,最后經過非極大值抑制(NMS)來抑制掉一部分重疊的目標檢測框,將不同特征圖獲得的目標檢測框結合起來,生成最終的檢測結果。整個過程只需要一步,其優勢是檢測速度快。SSD算法的流程圖如圖4所示。

圖4 SSD算法流程Fig.4 Flow chart of SSD algorithm
2.1.1 卷積神經網絡模型
卷積神經網絡[13]是一種包含卷積的深度神經網絡,網絡結構包括卷積層、池化層、全連接層和激活函數。在卷積神經網絡中,輸入圖像可看作由像素組成的矩陣,卷積操作可以看做一個帶權重的濾波器即卷積核。對矩陣進行內積計算,不同濾波器會得到不同的輸出數據,代表著顏色、輪廓等特征,多個卷積核疊加可組成卷積層,圖像經過卷積層可提取不同位置、不同類型的特征向量集。
自卷積神經網絡應用在計算機視覺以來,為了獲得更高的準確率,卷積神經網絡的層數逐漸從AlexNet的8層增加到ResNet的152層。網絡層次越深,特征的抽象程度就越高,從而神經網絡可以完成更多需要高度抽象理解能力的工作。然而神經網絡并不是越深越好,網絡層次的加深使得網絡占用的內存和運行空間增加,會影響網絡的運行速度。因此在選擇卷積神經網絡時,網絡的模型大小和特征提取能力需要綜合考量。
Faster-RCNN網絡一般選取VGG16作為其特征提取網絡,VGG16網絡結構簡潔規整,容易修改遷移到其他任務中且網絡層數較淺,常作為高層任務的基礎網絡。但是VGG16網絡還是很難滿足在有限計算資源平臺上做出及時反應的要求。
2.1.2 輕量型卷積模型
本文選用輕量型網絡MobileNet代替VGG16進行特征提取,Chollet介紹了MobileNet的基本卷積結構[14],MobileNet采用深度可分離卷積(DSC)代替普通卷積,將其分解為C個深度卷積和一個1×1的逐點卷積,C為特征圖輸入通道數。對于尺寸為W×H×3特征圖(W和H為特征圖的寬和高),經過DSC的過程如圖5所示。特征圖首先經過3個尺寸為w×h×1的卷積核,對特征圖逐通道卷積,得到3個尺寸為w1×h1×3的特征圖,然后用尺寸為1×1×3的卷積核對特征圖再次卷積,最后可得到與普通卷積相同的結果。

圖5 DSC過程Fig.5 Depthwise separable convolution operation
MobileNet一共28層網絡,每層卷積后都跟著一個批量規范化(BN)層和一個ReLU激活函數,BN層用于對中間層數據進行歸一化處理,防止數據經過矩陣乘法以及非線性運算后,分布發生偏移使收斂變緩。BN層計算公式如下:
(1)
(2)


圖6 批歸一化后數據分布Fig.6 Data distribution after batch normalization
2.1.3 輕量型特征提取網絡設計


表1 SSD算法錨框設置定義Tab.1 Definition of anchor box settings for SSD algorithm

表2 目標真值錨框聚類大小Tab.2 Target truth value cluster size of anchor frame 像素

圖7 錨框- 感受野擬合曲線Fig.7 Anchor-RF fitting curve
(3)
式中:r為感受野;L為卷積網絡總層數;l為層數;kl為第l層卷積核大??;s為步長。經過計算,選取MobileNet的第11層卷積輸出特征圖,設計生成輕量型特征提取網絡的感受野如表3所示。

表3 特征提取網絡中不同卷積層感受野大小Tab.3 Sizes of receptive fields of different convolution layers in feature extraction network
在區域建議框生成初始階段,RPN以輸入特征圖的每個像素點為中心生成9個面積和長寬比不同的錨框,每個框會生成2個分類得分和4個位置偏移,從而帶來大量的計算量,影響運行速度。因此對RPN進行輕量化改進尤為重要。當RPN和改進的輕量型特征提取網絡耦合時,會引起網絡參數不平衡,增加過度擬合風險。為解決這一問題,本文首先使用DSC代替RPN的3×3卷積。
2.2.1 感興趣區域矯正
原RPN主要針對光學圖像數據集,生成錨框尺寸與本文所檢測SAR目標尺寸不匹配,會產生計算誤差,影響檢測精度。為得到更精確的錨框定位、減少冗余計算,針對SAR圖像目標較小且尺寸特殊的特點,對RPN生成的錨框進行矯正。根據表2中目標尺寸和各類別目標的長寬比,本文將RPN的錨框比率設置為[0.5,1,2],將錨框計算尺度設置為[2,4,8],最終生成的錨框寬度和高度如表4所示。

表4 生成錨框大小Tab.4 Size of anchor frame
Faster-RCNN中感興趣區域池化操作存在兩次數據量化的過程,經過感興趣區域池化后的錨框和最開始的錨框之間存在一定偏差,而且當錨框本身比較小時這個偏差會顯得非常大,嚴重影響檢測的精確度。針對感興趣區域池化存在的問題,參考Mask-RCNN算法,將RoiPooling改為RoiAlignRoiAlign,保留浮點數進行計算,保證區域建議框不被縮小,并將量化操作改為雙線性插值,使量化偏差大大減少。具體計算步驟為:1)遍歷每一個候選區域,保持浮點數邊界不做量化;2)將候選區域分割成k×k個單元,每個單元的邊界也不做量化;3)在每個單元中計算固定4個坐標位置,用雙線性內插方法計算出4個位置的值,然后進行最大池化操作。雙線性插值過程如圖8所示。圖8中,P11、P12、P21、P22為候選區域位置坐標值,R1、R2為x軸坐標方向插值結果,Q為雙線性插值結果坐標。

圖8 雙線性插值Fig.8 Bilinear interpolation
對于已知4個坐標P11、P12、P21和P22,首先在x軸坐標方向進行線性插值,得到R1和R2,然后在y軸坐標方向進行線性插值,最終得到插值Q.
2.2.2 NMS檢測框冗余抑制
在目標檢測結果中,經常出現同一目標帶有多個不同得分檢測框的情況,而檢測需求是保留一個最優的檢測框,于是就要用到NMS來刪除那些冗余的檢測框。實際應用中,NMS由于存在順序迭代操作,運算時間往往能占模型運算總時間的40%以上[18],極大地影響了模型效率。為提高NMS的運算速度,本文選用快速NMS(Fast-NMS)優化算法,利用交并比(IOU)矩陣的對稱性將其進行上三角化操作,并按列取最大值得到一維向量,最后利用NMS閾值進行冗余框抑制。但是相比于原始NMS,Fast-NMS會抑制掉更多的檢測框,使檢測精度下降。為降低Fast-NMS對檢測精度的影響,將Fast-NMS中的IOU計算替換為距離交并比(DIOU)優化算法,DIOU損失的定義公式為
(4)
式中:Ld為DIOU的值;U為兩錨框IOU的值;ρ(·)表示歐氏距離;b和bt分別表示理論錨框和真實錨框的中心點;c為最小包圍兩個錨框的對角線長度。
DIOU綜合考慮了目標與錨框之間的中心點距離、重疊面積和尺度信息,使檢測框回歸變得更加穩定。DIOU還提出了中心點歸一化距離,在IOU損失中引入一個懲罰項,直接最小化兩個錨框的歸一化距離,加快了檢測框的收斂速度。
Fast-RCNN網絡利用視覺幾何群(VGG)網絡的后幾層,在特征分類回歸前將感興趣區域池化輸出送入兩層全連接層,全連接層是將所有神經元參數進行連接計算,全連接層將卷積輸出的二維特征圖轉化成一維向量,對于4×4特征圖,將生成16個神經元,帶來最直觀的問題就是參數爆炸與冗余。雖然在全連接前進行了Dropout操作、減少了部分神經元,但同時也會丟失大量信息,使網絡收斂變慢。參考Inception網絡,本文采用全局平均池化代替全連接層以融合學到的深度特征。全局平均池化將特征圖看作一個整體,在保留前面各個卷積層和池化層提取到的特征信息的同時,還減少了模型中的參數數量,降低了過度擬合的風險。全局平均池化和全連接層對比如圖9所示。

圖9 全局平均池化層和全連接層對比Fig.9 Comparison of global average pooling layer and fully connected layer
處理器為英特爾i7-9750H;顯卡為NVIDIA GeForce GTX1650Ti,顯存為4GB;系統為Windows 10.
實驗數據集選用MSTAR數據集,MSTAR數據集是通過高分辨率的聚束式SAR采集的多種前蘇聯目標軍事車輛的SAR圖像合集。該算法數據集中SAR圖片大小為224×224像素,共5 162張,包含10類目標,分別為自行榴彈炮(2S1)、步兵戰車(BMP2)、裝甲偵察車(BRDM2)、裝甲運輸車(BTR60)、裝甲運輸車(BTR70)、推土機(D7)、坦克(T62)、坦克(T72)、貨運卡車(ZIL131)、自行高炮(ZSU234)。對每張SAR圖像內目標進行位置和類別的標注,選取在15°俯仰角下10類目標為訓練集,共2 742張。選取17°俯仰角下10類目標為測試集,共2 420張。類別依次計為1~10.
目標檢測的評價指標是對算法檢測性能的直觀性表現,其中模型對內存的占用量可用模型參數量衡量,模型運行速度可用模型乘加操作計算量衡量,模型精確度可用平均準確率衡量。
3.3.1 模型參數量
模型參數量是指模型含有多少參數,參數通常用float32表示,模型大小單位為M,模型大小是參數數量的4倍。模型卷積層和池化層參數量計算公式為
Cp=co×(kw×kh×ci+1),
(5)
式中:Cp為卷積參數量;co為輸入通道數;kw為卷積核寬;kh為卷積核高;ci為輸出通道數。
全連接層卷積參數量Np的計算公式為
Np=I×O+Zb,
(6)
式中:I為輸入神經元個數;O為輸出神經元個數;Zb為偏置量。
DSC參數量計算公式為
Dp=ci×kw×kh×1,
(7)
Pp=1×1×ci×co,
(8)
式中:Dp為深度卷積參數量;Pp為逐點卷積參數量。
3.3.2 模型計算量
卷積運算是多個點積計算的累加,可以看作乘加操作集合。BN層和ReLU函數內部卷積計算量可忽略不計,普通卷積層和池化層乘加操作計算量的計算公式為
Cm=ci×co×kh×kw×H×W+Zb,
(9)
式中:Cm為卷積乘加計算量。
DSC乘加操作計算量的計算公式為
Dm=ci×kw×kh×H×W,
(10)
Pm=1×1×ci×co×H×W,
(11)
式中:Dm為深度卷積計算量;Pm為逐點卷積計算量。
3.3.3 平均準確率
平均準確率是指精確率和召回率曲線與坐標包圍的面積,精確率是指分類器分對的正樣本占分出的所有正樣本的比例,召回率是指分類器分對的正樣本占樣本中所有正樣本的比例。MAP是所有類別目標的平均準確率的平均值。平均準確率AP的計算公式為

(12)
式中:P(R)為精確率- 召回率參數,R為自變量。
3.4.1 Faster-RCNN算法和SSD算法對比
為比較Faster-RCNN和SSD兩種算法的性能,首先計算兩種算法的模型大小,然后使用SAR圖像數據集對兩種算法進行訓練,最后對比訓練結果。模型檢測精度對比如表5所示,模型參數量和計算量對比如表6所示,實驗效果圖如圖10、圖11所示。

圖10 SSD算法檢測結果Fig.10 Detection results of SSD algorithm

圖11 Faster-RCNN算法檢測結果Fig.11 Detection results of Faster-RCNN algorithm
由表5和表6可知,Faster-RCNN檢測算法精度高于SSD檢測算法,但是Faster-RCNN模型大小約為SSD的5倍。

表5 Faster-RCNN算法和SSD算法精度對比Tab.5 Accuracy comparison between Faster-RCNN andSSD algorithms %

表6 Faster-RCNN算法和SSD算法參數對比Tab.6 Parameters comparison of Faster-RCNN andSSD algorithms
3.4.2 特征提取網絡優化結果
特征提取網絡部分使用MobileNet替換VGG16網絡,得到模型1;為檢驗改進效果,首先計算對比兩特征提取網絡的模型大小,然后將兩檢測模型分別在SAR圖像數據集上進行訓練。表7所示為VGG16特征提取網絡結構,參數量為61 M,運算量為61 679 M;表8所示為MobileNet輕量型特征提取網絡結構,參數量為0.135 M,運算量為112 M;改進前后算法精度對比如表9所示。

表7 VGG16特征提取網絡結構Tab.7 VGG16 feature extraction network structure

表8 MabileNet輕量型特征提取網絡結構Tab.8 MabileNet lightweight feature extractionnetwork structure
由表9可知,模型1由于DSC和BN層的作用,改進后特征提取網絡模型參數量和計算量大大減小,但是檢測精度也有所損失。

表9 特征提取網絡優化結果Tab.9 Optimization results of feature extraction network %
3.4.3 RPN優化結果
對于RPN的改進分為三部分,且均在模型1基礎上:第一部分是將RPN頭部卷積層替換為3×3DSC,得到模型2;第二部分首先將錨框生成尺度減小為[2,4,8],然后將RoiPooling改為RoiAlign,得到模型3和模型4;第三部分是使用Fast-NMS替換原始NMS,然后用DIOU替換原始IOU,得到模型5和模型6. 為檢驗不同改進方法對目標檢測性能的影響,本文分別對5種檢測模型進行訓練,與配置輕量特征提取網絡的目標檢測算法進行對比,模型精確度對比如表10所示。

表10 改進模型訓練結果Tab.10 Training results of the improved models %
對于NMS的改進,由表10可知,Fast-NMS在提高檢測速度的同時,損失了部分檢測精度,但DIOU彌補了Fast-NMS帶來的損失。對于錨框尺度的改進,通過表10可知,錨框尺度的減小匹配原始量化方法使得目標檢測的精度降低,但RoiAlign改進了量化誤差,使精度大大提高。為進一步證明改進錨框的精確性,在錨框生成尺度為[8,16,32]的原始程序中改進RoiPooling為RoiAlign,訓練對比結果如表11所示。由表11發現,原始錨框在改進感興趣區域池化方式后精度反而下降,由此可見,改進錨框的精確度有所提高。

表11 錨框尺度優化對比Tab.11 Comparison of anchor frame scaleoptimization results %
3.4.4 全局平均池化優化結果
為檢測全局平均池化對目標檢測性能的影響,本文在模型1基礎上,將全連接層替換為全局平均池化和1×1卷積,得到模型7,然后在SAR圖像數據集上對模型7進行訓練。最后與模型1進行對比,檢測結果如表12所示,全局平均池化輸出神經元為數據類別數,全連接層和全局平均池化模型大小對比如表13所示。其中全連接層網絡模型參數量為228.008 M,運算量為228.383 M,全局平均池化網絡模型參數量為100 M,運算量為100 M.

表12 全局平均池化優化結果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節改進實驗的基礎上,本文融合多種改進方法得到模型8,各改進方法模型總結如表14所示。模型8的檢測性能如表15、表16所示。

表14 改進模型總結Tab.14 Summary of the improved models
由表15和表16可知,改進算法既保持了雙階段目標檢測算法所具有的高精度特點,模型占用空間大小和運行速度也可達到單階段目標檢測算法水平。

表15 算法改進結果精度對比Tab.15 Improved accuracy comparison of results %

表16 算法改進結果模型性能對比Tab.16 Performance comparison of the improved models
本文針對現有目標檢測技術不能兼顧檢測精度與速度的問題,對Faster-RCNN目標檢測算法進行了改進優化。首先使用DSC設計特征提取網絡,降低了基礎模型的參數量和計算量。然后在SAR圖像真值目標大小的基礎上,對錨框生成尺度進行調整,并改進NMS算法,提高目標檢測的精度。最后,利用全局平均池化代替全連接層進行特征分類,將改進后Faster-RCNN算法應用于SAR圖像的目標檢測任務中,用MSTAR數據集進行訓練,并與SSD算法進行對比。經檢測驗證,改進后Faster-RCNN算法的模型體積和模型運算量均優于SSD單階段網絡,檢測精度也可保持雙階段檢測算法的水平,改進Faster-RCNN算法的檢測速度從原Faster-RCNN算法的0.59 s/張提升為0.13 s/張,驗證了本文方法在SAR圖像目標檢測任務中具有較好的表現。