李廣帥, 蘇 娟, 李義紅, 李 響
(1.火箭軍工程大學核工程學院, 陜西 西安 710025; 2.中國人民解放軍96882部隊,江西 南昌 330200; 3.中國人民解放軍96823部隊, 云南 昆明 650200)
合成孔徑雷達(synthetic aperture radar,SAR)主動發射微波信號,通過相干機制進行成像,突破了光照的限制,且受雨雪霧等不良天氣影響較小,具有全天時、全天候的觀測優勢。隨著SAR技術的不斷發展,利用脈沖壓縮和孔徑合成技術,得到的距離向和方位向二維圖像的分辨率也越來越高。因SAR具有上述獨特優勢,在環境保護監測、地形測繪、戰場態勢偵察、目標識別等領域有著廣闊的應用前景。飛機作為一種重要軍事目標,實現SAR圖像中飛機目標的檢測也成為了一個重要研究問題。
不同于光學圖像,由于相干機制成像,SAR圖像存在較多斑點噪聲,且飛機目標在圖像中的連續性較差,增加了檢測任務的難度,當前傳統的SAR圖像飛機目標檢測算法大多基于目標散射特征和結構特征。Fu等人[1]提出一種基于散射結構特征和模板匹配的SAR圖像飛機檢測識別的方法,利用高斯混合模型對目標散射特征進行建模,并通過樣本決策優化算法提高模板匹配的效率。He等人[2]提出一種用于SAR圖像目標檢測的多分量模型,該模型基于混合統計分布,實現了較好的SAR飛機檢測效果。高君等人[3]提出一種基于幾何特征的SAR圖像飛機檢測算法,利用機翼、機身形成的T型或Y型結構特征并結合先驗知識實現目標檢測,在微小SAR圖像中取得了較好的檢測結果。傳統的SAR圖像飛機檢測算法一般需要預處理、典型特征設計等步驟,過程較為繁瑣復雜,且算法存在著泛化能力弱、檢測效率低等缺點。
隨著深度學習理論的不斷發展與成熟,在圖形處理器等技術的支持下,基于深度學習的目標檢測算法得到了較大的研究成果,當前主流的檢測算法主要分為兩大類:雙階段檢測和單階段檢測。雙階段檢測主要有雙階段檢測主要有區域卷積神經網絡(region with convolutional neural networks,R-CNN)[4]、快速區域卷積神經網絡(fast region with convolutional neural networks,Fast R-CNN)[5]、更快區域卷積神經網絡(faster region with convolutional neural networks,Faster R-CNN)[5-6]、PVANET[7]和掩膜區域卷積神經網絡(mask region with convolutional neural networks,Mask R-CNN)[8]等,單階段的檢測主要有單次多盒檢測器(single shot multibox detector,SSD)系列[9-11]、YOLO(you only look once)系列[12-14]和反向連接目標先驗網絡(reverse connection with objectness prior networks,RON)[15]等。得益于大規模數據集ImageNet[16]、COCO(microsoft common objects in context)[17]等的公開,深度學習的目標檢測算法大多應用于光學圖像,在SAR圖像目標檢測中的應用較少。Chu等人[18]提出一種基于組件的多層并行網絡并用于SAR圖像飛機目標的檢測,通過標注將飛機組件信息引入到網絡結構中,幫助算法模型檢測到完整的飛機目標,并在TerraSAR-X數據上進行測試,結果表明該方法具有較高的檢測精度,但組件標注任務又引入了更多的工作量。王思雨等人[19]為解決定位不精確和虛警的問題,提出一種全新的SAR圖像飛機檢測算法。首先利用顯著性預檢測方法在大場景SAR圖像中實現粗定位,再設計卷積神經網絡實現對候選飛機目標的精確檢測。由于該方法使用多尺度滑動窗口進行顯著性預測,使得檢測過程耗時較長。Zhang等人[20]在Faster R-CNN和殘差網絡的基礎上提出一種級聯三視網絡,該網絡包含機場監視、飛機探測和機場跑道提取3個方面的內容,在測試數據上的F-score值達到了0.67,但網絡級聯方式增加了計算成本,導致對SAR圖像飛機的檢測效率有所下降。
因此針對以上問題,本文在Faster R-CNN算法的基礎上,提出一種基于深度可分離卷積神經網絡與注意力機制的SAR圖像飛機檢測算法,通過實驗驗證該模型在SAR圖像飛機數據集中的檢測效果。本文的創新點主要有:
(1)采用深度可分離卷積代替特征提取網絡中卷積核為3×3的傳統卷積,減少網絡參數量,并結合逆殘差結構防止特征信息丟失問題,以提高檢測精度。
(2)提出多尺度空洞卷積—空間注意力模塊,使網絡關注有效的空間信息。同時引入全局上下文模塊,賦予各通道特征圖更有代表性的權值,捕捉通道間語義相關性。
(3)遷移學習的應用:使用運動和靜止目標獲取與識別(moving and stationary target acquisitionand recognition,MSTAR)數據集和SAR艦船檢測數據集(SAR ship detection dataset,SSDD)數據集在檢測網絡進行預訓練,將得到的模型參數對本算法的特征提取層進行初始化,再利用SAR數據集(SAR aircraft dataset, SAD)對網絡參數進行微調。
Ren等人[6]使用區域建議網絡(region proposal network,RPN)替代選擇性搜索(search selective,SS)方式,提出了Faster R-CNN檢測算法,大幅提高了網絡的檢測速度。Faster R-CNN檢測網絡的整體流程如圖1所示。

圖1 Faster R-CNN檢測網絡
Faster R-CNN使用VGG16作為特征提取網絡,該網絡較為簡單,使用若干卷積和池化組合堆疊構成,共包含13個卷積層和4個池化層,并且卷積核尺寸均設置為3×3。區域建議網絡在輸出的特征圖上每點生成9種錨框,是由[8,16,32]3種尺寸和[1∶2,1∶1,2∶1]3種比例組合得到,區域建議網絡的提出極大提升了檢測框的生成速度。感興趣區域池化層將輸入的特征圖分區域池化,可將不同尺寸大小的特征圖轉化為固定長度輸出至全連接層,然后對錨框邊界進行回歸和對錨框內目標類別進行確定,從而實現檢測任務。
Faster R-CNN將建議框生成、目標分類和邊界框回歸統一至網絡中進行訓練,實現了端到端的檢測任務,提高了檢測的效率。Faster R-CNN采用多任務損失函數,其表達式如下:
(1)

經典的Faster R-CNN針對多類目標,模型參數多、計算量大,訓練時占用計算機內存資源多。文獻[21]中指出,卷積神經網絡存在大量參數,這是限制了其在實際中的應用,在SAR圖像識別任務中,在保證識別精度的同時,要注意減少網絡參數和計算量。深度可分離卷積(depthwise separable convolution, DS-Conv)[22]是傳統卷積(traditional convolution, T-Conv)的一種變體,在參數減少的情況下可以實現與T-Conv近似的效果[23]。因此,本文使用深度可分離卷積網絡提取特征,降低運算復雜度,提高檢測效率[21]。同時為提高檢測精度引入注意力機制,具體做法如下:基礎特征網絡采用結合特征金字塔網絡(feature pyramid networks,FPN)的殘差網絡ResNet50,使用深度可分離卷積替換傳統卷積運算。同時為挖掘特征之間的語義相關性,增強網絡的特征表達能力,引入通道和空間注意力模塊。改進后的網結構示意圖如圖2所示,圖中MDC-SA為改進的空間注意力模塊,GC為通道注意力模塊,其具體結構見第2.2節。

圖2 本文檢測算法
殘差網絡ResNet使用函數F(x)=H(x)-x的思想設計網絡結構,當F(x)=0時,實現H(x)與x的恒等映射,使得深層網絡更加容易訓練。ResNet搭建層數更深的網絡以增強特征表達能力,引入恒等快捷連接跳過多個中間層,并通過1×1卷積降低特征圖數量,加快網絡收斂速度,減少訓練時間成本。因此,特征提取網絡使用殘差網絡ResNet50替代原來的VGG16,ResNet50網絡中殘差塊結構如圖3所示。

圖3 殘差塊結構
由于成像原理的不同,SAR圖像中的紋理、梯度、深層語義信息等沒有光學圖像豐富。為進一步減少計算冗余、輕量網絡參數以提升檢測效率,使用參數量少和計算復雜度低的DS-Conv[21]替代ResNet50中卷積核尺寸為3×3的傳統卷積。F-Conv的結構如圖4(a)所示,M個卷積核與輸入數據的所有通道進行卷積操作,所有卷積結果融合后輸出,輸出共有M個通道。DS-Conv的結構如圖4(b)所示,由深度卷積(depthwise convolution,D-Conv)和逐點卷積(pointwise convolution,P-Conv)組成,DS-Conv對輸入數據的各通道進行D-Conv操作,然后利用D-Conv將中間輸出結果線性連接起來,得到M通道數的輸出結果。

圖4 傳統卷積和深度可分離卷積示意圖
當輸入數據為H×W×N時,共有M個核大小為k×k、滑動步長為1的卷積核,F-Conv積的參數量為
PT-Conv=k×k×N×M
(2)
DS-Conv的參數量為
PDS-Conv=k×k×N+N×M
(3)
DS-Conv與F-Conv參數量比值為
(4)
由式(4)可知,當輸出向量的通道數很大時,DS-Conv參數量大約為F-Conv的1/k2,一般k>1。這從理論上證明了DS-Conv比F-Conv有著更少的計算量,對提升SAR圖像飛機目標的檢測速度具有促進作用。DS-Conv拆分F-Conv結構,解耦通道和空間相關性[22],可以達到與F-Conv相近的效果[23],利用D-Conv和P-Conv大幅壓縮了卷積過程的參數量,從而提高檢測效率。
使用D-Conv替換T-Conv后,由于DS-Conv過程無法改變通道數,經過激活函數ReLU時負值輸入為零,部分神經元靜默導致特征信息的丟失。為此,借鑒逆殘差(inverted residuals,IR)[24]模塊的思想,將ResNet網絡中殘差塊“降維—變換—升維”的模式轉換為“升維—變換—降維”,利用通道擴張減少特征信息的丟失。逆殘差塊具體結構如圖5所示。

圖5 IR塊結構
在IR模塊中引入擴張因子f(f=2),對N維數據的輸入利用1×1卷積實現通道數的擴張,輸出N×f通道數,有效防止殘差網絡ResNet通道壓縮時因非線性激活引起的特征信息丟失問題,同時使用Leaky ReLU替換ReLU激活函數,解決負值輸入神經元不學習的問題,最后再利用1×1卷積實現降維輸出N通道數。
近年來為提高卷積神經網絡的特征表達能力,一些注意力機制模型被提出,如CBMA[25]、SENet[26]、GCNet[27]等。文獻[28]指出,SAR圖像的視覺顯著性不同于自然圖像,飛機目標在SAR圖像中表現為強散射區。在網絡中加入注意力機制,通過學習中間注意力圖,對源特征圖上各元素賦予不同權值,可以使模型捕捉到圖像中貢獻顯著的特征區域[29]。SAR圖像中飛機目標常表現為高亮區域,為選擇出顯著特征區域,提升網絡特征表達能力,借鑒空間注意力模塊思想[25]提出一種多尺度空洞卷積-空間注意力模塊(multi-scale dilated convolution spatial attention module,MDC-SA),以進一步提升檢測精度,更好地完成檢測任務,其公式表達如下:
fs=sigmoid{c7×7[GAP(f′),GMP(f′)]}
(5)
f′=F[f,D_Conv2(f),D_Conv4(f)]
(6)
式中:fs為輸出特征圖;c7×7表示7×7卷積;GAP表示全局平均池化;GMP表示全局最大池化;sigmoid{·}為激活函數;D_Conv2和D_Conv4分別表示空洞因子為2和4的空洞卷積;F[·]表示上采樣融合操作,其具體結構如圖6所示。

圖6 多尺度空洞卷積-空間注意力模塊
為兼顧檢測速度,本文僅在特征提取網絡L2層加入多尺度空洞卷積—空間注意力模塊,如圖2所示。L2層特征經過卷積層數少、特征圖分辨率較大,如圖7所示,在該層中加入空間注意力模塊可以更好利用淺層細節信息,同時使用引導流進行{2,4,8}倍下采樣后融合至{C3,C4,C5}中,跳層連接融合可以增加淺層與深層特征之間的信息流動,利于網絡關注有效的空間信息。

圖7 原始SAR圖像和淺層特征圖
SENet[26]是作為ImageNet 2017競賽分類任務的冠軍模型,具有易擴展、輕量化等優點。GCNet[27]作為SENet的改進版本,在網絡中融合了Non-local Block,有效實現對全局上下文信息的建模,又保持了SENet網絡的輕量特點。因此本文借鑒GCNet[27]思想在特征提取網絡中引入全局上下文模塊。全局上下文模塊主要用于捕獲通道間依賴關系,并實現了全局上下文的建模,是一種通道注意力機制,該模塊的公式表達如下:
zi=F[xi,δ(*)]
(7)
(8)
(9)
式中:∑αjxj表示上下文模塊,αj為注意力池化的權值;δ(*)表示轉換模塊,用于捕獲通道間依賴關系;LN表示層歸一化操作。
全局上下文模塊由特征獲取、特征轉換和特征融合3部分組成。特征獲取:通過1×1卷積Wc和Softmax函數得到注意力權值αj,使用注意力池化捕獲全局上特征,實現上下文建模。特征轉換:利用1×1卷積Wt實現特征轉換,并進行歸一化,使模型訓練更加容易優化,提高泛化性。特征融合:使用加法實現全局上下文特征的聚合。全局上下文模塊的具體結構如圖8所示。

圖8 全局上下文模塊
不同尺度(C3∶113×75、C4∶57×38,C5∶19×29)特征圖對比如表1所示,由表1可以看出,相比于原始Faster R-CNN得到的特征圖,融入注意力機制后使網絡更好地重利用淺層特征和全局上下文信息,不同尺度下的特征圖保留了更多的目標信息,有助于幫助網絡有效地關注到圖像中可能存在的物體目標。

表1 不同尺度特征圖對比
遷移學習一般借助有標記的源域知識學習目標域的知識,減少二者間的差異性,實現知識遷移。在深度學習圖像處理領域,遷移學習的基本思路是使用預訓練模型,利用現有的大規模數據進行訓練,以學習數據組織模式,遷移應用于新的任務中,待訓練的數據集規模較小時一般使用預訓練的ImageNet初始化模型,以加速模型訓練。
現有的預訓練模型多數基于光學圖像,而光學圖像與SAR圖像成像原理不同,數據分布存在較大的差異性。遷移學習的關鍵是源任務領域和目標任務領域有一定的相似性[30],因此考慮使用同源的SAR圖像數據集對模型預訓練,可以有效避免負遷移現象的發生。本文使用公開SAR圖像數據MSTAR和SSDD進行預訓練,對2 650張MSTAR圖像數據進行標注,包含主戰坦克T72、步兵戰車BMP2、自行榴彈炮2S1等10類目標,融入1 160張SSDD中SAR艦船圖像,制作了數據集MASD(mSTAR and ship dataset),共包含3 810張SAR圖像,包含11類目標。隨機選取數據集中3 048張圖像,利用裁剪、平移等方法將數據集擴充至6 095張進行訓練,直至損失函數完全收斂,得到基于SAR圖像的預訓練模型。使用預訓練好的模型參數對ResNet50最后全連接層之前的特征提取層進行初始化,最后利用SAD[31]對網絡參數進行微調,具體過程如圖9所示。

圖9 遷移學習示意圖
深度學習框架為Pytorch和Tensorflow,并使用CUDA8.0和cuDNN5.0加速訓練,編程語言使用python語言和C語言,操作系統為Ubuntu 16.04 LTS,仿真硬件平臺為inter?CoreTM7-6850K CPU@3.60 GHz×12,圖像處理器為NVIDIA TITAN Xp GPU,內存為64 G。數據集使用SAD[31],共包含647張SAR圖像,2 294架飛機目標,并使用“留出法”將SAD按照7∶3的比例隨機劃分為訓練集和測試集。
訓練參數設置:訓練batch_size設為1,初始學習率設為0.001,權重衰減系數取0.000 04,最大迭代次數max_epochs取100,采用梯度下降法(stochastic gradient descent,SGD)更新網絡參數,動量因子momentum設為0.9,利用旋轉、加噪等方法將訓練樣本進行擴充至1 034張。
為客觀描述算法的檢測性能,使用平均準確率(average precision,AP)、F-score值、平均交并比(mIoU)、檢測速度(frame per second,FPS)和準確率—召回率(precision-recall,P-R)曲線作為評價指標,其表達式如下:

(10)
(11)
(12)
(13)
式中:AP為平均準確率;R和P分別代表召回率和準確率;F為F-score值;β為調和因子,一般取值為1;mIoU 為平均交并比;N為檢測框數量;IoU為交并比;bpt為預測框;bgt為真實框。
表2為不同方法檢測結果對比,表3為檢測模型比,方法中1、2、3分別代表VGG16、ResNet50和ResNet101網絡。由表2可以看出,本文算法平均準確率達到86.3%,相比于原始算法的79.8%,提升了6.5%。F-score值由76.3%提升至84.6%,平均交并比由71.3%提升至74.4%,召回率和準確率也提升了約8%。由表3可以看出,使用深度可分離卷積替換殘差網絡中的3×3卷積,使得網絡相比于Faster R-CNN-2和Faster R-CNN-3具有更少的參數量,同時訓練得到的模型也更小。本文算法參數量和模型大小相比于Faster R-CNN-2減少了37.1%和37.8%,相比于Faster R-CNN-3減少了51.2%和60.0%,模型的優化使檢測速度得到提升,達到22.4 fps/s。P-R曲線如10所示,對比可看出本文算法曲線下降最為緩慢,表明相比于原始Faster R-CNN,本文算法利用空間注意力模塊和通道注意力模塊增強了網絡特征表達能力,對檢測性能的提升有一定的促進作用。

表2 檢測結果對比

表3 檢測模型對比

圖10 P-R曲線
通過對關鍵模塊的加減對比分析各改進模塊對算法檢測性能的影響和作用,特征提取網絡均使用ResNet50。模型組件性能對比如表4所示,表中W表示遷移學習得到的預訓練權重。對比第1行和第2行可以看出,使用深度可分離卷積網絡提取特征,檢測速度提升了8.1 fps/s,平均準確率下降了1.5%,表明深度可分離卷積網絡通過對參數和通道的壓縮,基本保持了原有檢測的平均準確率同時又提升了檢測速度。對比第4行、第5行和第6行可以看出,單獨引入多尺度空洞卷積—空間注意力模塊和全局上下文模塊,平均準確率分別提升了2.6%和1.9%,同時引入時平均準確率提升了4.0%,說明兩個注意力模塊有互補促進的關系,同時引入對檢測性能的提升作用更加明顯,額外計算的增加使得檢測速度略有下降。對比第2行和第3行、第6行和第7行可以看出,預訓練權重的使用對平均檢準確率約有1%的提升作用。

表4 模型組件性能對比
幾種典型場景檢測結果圖對比如表5所示。由表5可看出,對于密集分布的SAR飛機圖像,特征提取網絡使用VGG16、ResNet50和ResNet101的Faster R-CNN算法出現一定的漏檢和誤檢;獨立分布的SAR飛機圖像,飛機目標存在離散性特點,增加了檢測的難度,原始Faster R-CNN算法易將機身、機尾等檢測為飛機目標;大幅面場景和復雜場景中,由于建筑物等人造目標的干擾,原始Faster R-CNN算法出現不同程度的誤檢現象。本文算法引入多尺度空洞卷積—空間注意力模塊和全局上下文模塊,使網絡關注有效的空間信息和調整各通道權值分配,對上下文信息的建模有助于網絡關注飛機目標整體,同時使用SAR圖像MASD數據集得到的預訓練權重初始化網絡參數,使得模型更加準確、全面地檢測到飛機目標。

表5 檢測結果圖
本文提出一種基于深度可分離卷積神經網絡與注意力機制的SAR圖像飛機檢測算法,使用深度可分離卷積取代殘差網絡中3×3傳統卷積,大幅減少網絡參數量,使得檢測速度達到20 fps/s以上。同時在網絡中融合空間注意力模塊和通道注意力機制模塊,在小幅增加計算量的情況下進一步提升了算法對SAR圖像飛機目標檢測的平均準確率,達到了86.3%。實驗結果表明了本文算法在SAR圖像飛機檢測應用方向的可行性,對于提升雙階段目標檢測算法的平均準確率與速率有一定的現實意義。