夏 勇 李玉景 吳 濤
(1.中國電子科技集團公司第三十八研究所, 安徽合肥 230088;2.孔徑陣列與空間探測安徽省重點實驗室, 安徽合肥 230088)
由于合成孔徑雷達(Synthetic Aperture Radar,SAR)具有遠距離、穿透云霧植被、全天候對地觀測的特點[1],近些年來其在軍事和民用領域的應用也越來越廣泛。但是SAR圖像的圖像特性會隨著不同的成像參數、成像姿態、地物環境等發生較大的變化,使得SAR圖像的目標檢測和識別變得非常困難[2]。
傳統的SAR圖像目標檢測方法以恒虛警率(Constant False Alarm Rate,CFAR)檢測算法及其衍生算法的應用最為廣泛[3]。但是該方法需要目標與背景雜波具有較高的對比度,且假設背景雜波是滿足某種統計模型的分布,具有較大的局限性。卷積神經網絡(Convolutional Neural Network,CNN)是人工神經網絡(Artificial Neural Network,ANN)的一種,由于其采用權值共享的策略來減少參數,對圖像的平移、縮放、傾斜或其他形式的變形具有高度的不變性,因此被廣泛用于二維圖像目標的檢測和識別中。CNN在不同階段的學習中可以抽象出不同層次的特征,避免了傳統機器學習算法中人工設計特征和分類器的過程。
CNN以其衍生算法在圖像識別領域發展迅速[4-9]。 Faster-RCNN框架是從R-CNN[10]和 Fast-RCNN[11]迭代發展而來,把目標檢測識別的步驟(特征區域生成、特征提取、分類和候選區域回歸)統一到一個深度網絡的框架之內,可以取得更快的檢測速度和更好的檢測精度[12]。其提出區域生成網絡(Region Proposal Network,RPN)來代替Selective Search的方法預測建議框,不僅可以生成質量高、數量少的建議框,而且由于RPN的預測可以在GPU中完成,且卷積網和Fast-RCNN可以部分共享,所以大幅提升了目標檢測的速度。
本文以Faster-RCNN為基本框架,利用深度學習客戶端對預處理后的樣本進行擴充和訓練,分別使用ZF和VGG-16網絡進行端到端的車輛目標檢測實驗。
目前在SAR圖像檢測和識別領域,由于數據源的限制,使用較多的公開數據集是MSTAR數據集和MiniSAR數據集。MSTAR數據集中每一幅圖像的尺寸為128×128,包含3大類7種型號的目標,數據集中對一種型號的目標都采集了不同方位角和俯仰角的圖像。該數據集由于圖像尺寸較小且背景雜波的干擾很小,一般用于目標識別研究,不適用于大場景圖像的目標檢測。MiniSAR數據集的圖像尺寸為2 510×1 638,圖像中包含多種姿態的目標,且包含多種干擾信號(建筑物,樹木等),但是數據量很少,無法對模型進行充分訓練,只能作為驗證集檢驗模型預測的精度。
在本文中使用的數據是在某地區布設不同類型(包括大巴、吊車和卡車)、不同擺放角度的車輛目標后,利用機載的全極化X波段雷達對該布設場景進行多個航次的成像后獲取的。對成像后的slc數據進行數據預處理,得到方位向和距離向分辨率為0.3 m的地距幅度圖像。以約3 000× 3 000的大小對這些地距幅度圖像進行裁剪后,得到17幅包含車輛目標和復雜背景全極化圖像的數據庫。該數據庫的示例如圖1所示。

圖1 全極化數據示意圖
人工對68(17×4,17個架次4個不同極化方式)幅圖像中的車輛目標進行標注,參考VOC2007數據格式生成對應的xml文件。利用python +pyQT5編寫的深度學習訓練客戶端,對模型進行訓練和測試。該客戶端如圖2所示,其相比于原始搭建的py-faster-rcnn工程有以下幾點優勢:

圖2 深度學習客戶端截圖
1) 原始的py-faster-rcnn工程數據集的準備必須按照固定的格式放在固定的路徑下,例如訓練和測試的數據、標注xml文件以及訓練和測試數據的列表必須放在py-faster-rcnndataVOCdevkit2007 VOC2007路徑下的JPEGImages,Annotations和ImageSets文件夾下;而使用客戶端進行訓練時,只需要提供一個包含數據和xml文件絕對路徑的文件列表即可。
2) 客戶端集成了數據裁剪和旋轉的功能,可以把輸入的圖像數據裁剪為長寬固定為1 000× 1 000的圖像(Faster-RCNN模型不適用于長寬太大的SAR圖像),設置圖像旋轉的角度間隔對裁剪后的圖像進行旋轉,用來擴充數據集。
3) 原始的py-faster-rcnn工程在訓練和測試時,想要添加或者刪除目標檢測識別的種類時,需要修改相應的python代碼;而客戶端則只需要提供目標分類文件,用戶可以自定義識別的種類。
該網絡模型的設計參考Faster-RCNN的基本框架,其網絡結構如圖3所示,主要由特征提取層、RPN層、ROI池化層和分類提取層組成。

圖3 網絡結構示意圖
1) 特征提取層主要包含多個卷積層、激活層和池化層等,其通過提取圖像的特征圖來作為候選提取層和分類識別層的輸入。特征提取層根據網絡的深度,可以分為VGG-16網絡和ZF網絡兩種,VGG-16網絡包含13個卷積層、13個激活函數層和4個池化層,而ZF網絡則包含5個卷積層、5個激活函數層和2個池化層,兩個模型輸出的特征圖大小都為原圖的1/16。由于卷積層的數目更少,因此ZF模型相對于VGG-16模型訓練和測試的速度更快。在本文的實驗中,對ZF和VGG模型都進行了實驗,實驗效果的對比展示在第4節。
2) 區域生成網絡通過在特征提取層輸入的最后一層特征圖中滑窗提取候選框,對特征圖中的每一個像素點設置9個大小和長寬比不同的錨點(anchor),并結合邊框回歸初步得到目標的候選框。因為實驗中車輛目標相對于輸入的1 000× 1 000的圖像而言較小,因此增加了3個小尺寸的錨點,設置了12個大小和長寬比不同的錨點。
3) ROI池化層收集輸入的特征圖和候選框,綜合這些信息后提取候選框特征圖,送入后續的分類識別層判定目標類別。
4) 分類識別層對候選框進行分類識別,并進行更精確的邊框回歸,最終實現對復雜背景SAR圖像的目標檢測。
訓練的客戶端把64幅大約3 000×3 000的輸入圖像裁剪為固定大小的1 000×1 000的圖像,并對每個裁剪后的樣本以30°的旋轉間隔進行數據的擴充,最后得到訓練集有5 676個樣本,驗證集有2 772個樣本,剩下的4幅原始圖像以同樣的方式制作成660個樣本作為測試集。為了測試訓練得到的模型是否適應不同場景下的目標檢測,因此在MiniSAR數據集中選取部分數據制作成968個測試樣本作為補充,增加到測試集中。
本文使用ZF和VGG-16網絡在樣本數據集上進行訓練驗證和測試,訓練時兩種模型的參數文件配置如下:基礎學習率1×10-4,權值衰減率 5×10-4,迭代次數分別選取1 000, 5 000和10 000次,可以得到總共6個模型輸出文件。
訓練時采用全監督訓練模式,整個訓練過程分為兩部分,第一部分利用遷移學習對網絡模型的部分參數進行預訓練;第二部分是利用樣本數據集對模型進行再訓練,完成端到端的車輛目標檢測。由于SAR圖像的數據相對較少,無法充分從零開始訓練網絡,故引入遷移學習。在本試驗中遷移學習使用的具體步驟是:
1) 針對ZF和VGG-16網絡分別利用大型數據集ILSVRC-2012對網絡中的隨機初始化參數進行預訓練。
2) 保留訓練好的模型的特征提取層參數,利用擴充的SAR數據集對候選提取層和分類識別層進行再訓練。
3) 利用再訓練好模型完成目標檢測和識別。
雖然預訓練數據集是光學圖像,與SAR圖像有一定出入,但通過大量訓練使得模型參數擬合到可以檢測識別目標,其效果遠遠優于初始化參數,并能大幅減少網絡的訓練開銷。如圖4所示,采用遷移學習的方法(綠色)與直接訓練的方法(藍色)相比明顯加快了網絡的收斂速度,而且收斂后的損失值要小于直接訓練值。其次,該方法可以有效降低訓練網絡對大量樣本的需求。

圖4 損失曲線對比圖
基于Faster-RCNN框架端到端的模型訓練和測試流程如圖5所示。

圖5 復雜背景SAR目標檢測流程
本文實驗使用平臺的配置為Win7系統,處理器為Intel Xeon CPU E5-2637 v2 @3.5 GHz,RAM為16 GB,GPU選擇的是NVIDIA Tesla K40m,其顯存為12 GB,計算能力為3.5。
兩種模型均采用平均準確率(mean Average Precision, mAP)作為檢測效果評價標準。mAP是根據查全率和查準率所繪制曲線的積分,解決了傳統評估標準查全率(R)、查準率(P)和F-Score的單點值局限性。因此,mAP可以更有效地綜合評估算法的有效性和準確性。其計算公式為

如表1所示,展示了兩種模型在660個測試集和1 628個測試集(包含MiniSAR數據)中的檢測結果的指標統計。

表1 指標統計表
通過對比T1~T6的實驗可以發現以下幾點結論:1)由于VGG-16網絡的層數更深,所以單張圖像的檢測耗時也高于ZF網絡;2)隨著迭代次數的增加,ZF和VGG-16網絡在兩種測試集中的mAP也相應提高;3)ZF網絡和VGG-16網絡在兩種測試集中的mAP十分接近,這說明對于本文實驗的場景,ZF網絡4個卷積層所提取的特征已經足夠進行車輛目標的檢測,再增加網絡的深度并不會提升車輛目標的檢測效果;4)對比兩個測試集中的檢測結果,兩種網絡mAP也十分接近,這說明即使訓練迭代次數設置為10 000,兩種網絡也沒有過擬合的現象出現。綜合以上4點分析,下面展示實驗T3在MiniSAR測試集的部分檢測結果和訓練損失曲線,如圖6和圖7所示。

圖6 ZF網絡迭代10 000次的檢測結果
圖6(b)中圖片為MiniSAR截取的場景之一,其余3張為原始測試集中的場景。對目標檢測結果和真實的標注結果進行統計如表2所示。可以發現4張圖片的查準率達到90.5%,查全率達到97.4%,F1-Score達到93.8%。

表2 部分場景指標統計表
圖7中有5類損失值,其中4類為每次訓練迭代時的瞬時損失值,包括回歸框損失(bbox_loss)、分類層損失(cls_loss)、RPN層分類損失(rpn_cls_ loss)、RPN層回歸框損失(rpn_bbox_loss)。而總的損失(train_total_loss)則是平均損失值,觀察train_total_loss的曲線可以發現,隨著迭代次數的增加,train_total_loss趨于收斂。

圖7 損失曲線圖
本文提出了一個基于Faster-RCNN框架的、端對端的、具備在復雜背景下進行SAR車輛目標檢測的方案。對原始樣本進行標注后,使用深度學習客戶端對樣本裁剪并旋轉來擴充樣本,并設置相同的訓練參數對ZF和VGG-16網絡分別進行訓練。訓練完成后的模型分別使用兩種測試集進行評價,評價的結果表明:在本文實驗場景下,隨著迭代次數的增加,兩種網絡的檢測效果都隨著提升;ZF具備更快的檢測時間以及和VGG-16網絡相同的檢測效果。選取ZF網絡迭代10 000次的模型,在1 628幅測試樣本中的mAP達到0.68,在4幅不同場景的樣本中F1-Score達到93.8%。雖然基于ZF網絡訓練得到的模型在實驗數據集中取得了較好的檢測效果,但是與之相比網絡層數更深的VGG-16網絡并沒有取得預想中更好的檢測效果,有可能是因為隨著網絡層數的增加導致網絡性能下降。因此下一步工作準備將深度殘差網絡ResNet和Faster-RCNN框架結合,實驗能否利用ResNet順序累加殘差塊的特性[13],來解決深度卷積網絡性能退化的問題。