張 暄,高躍清
(中國電子科技集團公司 第54研究所,石家莊 050081)
雷達自從20世紀30年代誕生以來,以其全天候、全天時、作用距離遠、實時性強等工作特點,已經在軍民領域具備難以替代的重要價值,并且在空間目標定位和識別的各個環節中均發揮了不可替代的關鍵作用,對空間目標的有效識別是空間群目標檢測識別中雷達的核心任務,是實現目標定位的基礎。
近幾年無人機技術不斷成熟,城市中無人機的數量大量增加,消費級和工業級無人機具有成本低、目標體積小、操作簡便等特點,同時又缺乏針對無人機濫飛的有效監管措施,使得各類無人機入侵事件頻發,給國家安全和民眾安全帶來很大隱患。無人機反制系統是針對無人機目標的探測的重要手段,無人機反制系統主要用于要地、重大活動、邊境以及機場等周圍的低空無人機防御,主要防范對象為非法入侵或接近的小型商用無人機。無人機反制系統對雷達的要求非常明確,需要在場景中探測到的動目標中準確識別出無人機目標,并屏蔽其他類別動目標。現階段,雷達目標檢測識別算法一般屬于監督學習,算法依賴大量帶標簽的數據作為訓練樣本,這在實際應用中是比較困難的。此外,目標的特征需要依賴人工提取,對專業知識的要求較高,且耗時、耗力,特征提取的好壞一定程度上依靠經驗和運氣,導致特征提取的質量也難以保證,很難滿足實際應用中對雷達有效性、實時性的要求。
深度學習算法有著深層特征提取能力和強大的自適應學習能力,能夠為數據的可視化或分類問題提供更好的解決途徑,目前的深度學習的基本模型有自動編碼器[1]、深度置信網絡[2]、卷積神經網絡等模型[3],其中卷積神經網絡模型已經在自然語言處理、語音識別、圖像識別等領域發揮出了重大作用[4-6]。深度學習在雷達技術領域已有一些應用成果,主要集中在對合成孔徑雷達(SAR,synthetic aperture radar)目標圖像處理和優化[7-11],如利用卷積神經網絡對SAR目標圖像進行處理[12],利用深層稀疏編碼對SAR目標遮擋圖像進行處理等[13],但應用于雷達回波信號處理的模型很少,選擇以回波信號經過處理之后得到的距離-多普勒圖像作為研究對象,引用深度學習算法,完成對雷達目標的檢測任務。
雷達目標檢測的目的是在噪聲和雜波干擾下發現所關注的目標。噪聲和雜波是對檢測性能干擾最大的外部因素,傳統雷達目標檢測使用恒虛警檢測算法(CFAR,constant false alarmrate),算法對雷達雜波進行了恒虛警率預處理,隨著檢測背景的變化而自適應地調整檢測門限,但是這樣也很難將所有雜波去除,目標檢測仍是在存在雜波和噪聲的環境下完成的。恒虛警檢測算法設計建立在三個假設基礎上:
1)距離-多普勒圖像由噪聲、雜波殘留和目標三部分組成,其中噪聲的分布穩定且具備一定均勻性,雜波殘留是由環境決定不具備均勻性,目標的特征與前兩者有較大差異;
2)可以將目標檢測問題轉換為距離-多普勒圖像濾除噪聲、在雜波殘留和目標中分析特征和找出目標三步;
3)傳統的門限檢測中門限只是目標的一個特征,選取多個特征組成特征空間,將檢測問題轉換為特征空間線性劃分的問題。
恒虛警檢測算法作為當前最常用的目標檢測算法,在實際應用中,存在以下問題:
1)恒虛警檢測算法是針對特定單一的雜波及目標背景提出的,特定的檢測算法只適應于特定的目標背景,當背景發生變化時原算法檢測效率會大大降低,很難滿足實際應用中對檢測率和虛警率的需求。
2)先驗知識要求:需要一定的數據統計或先驗的方法確定目標大致的位置、大小等信息。
3)當背景噪聲和雜波很強的環境下,背景中的干擾能量超出門限值的數量很多,檢測率和虛警率間的矛盾變得更明顯,檢測算法失效。
恒虛警檢測算法要求目標與背景噪聲有較大的強度差異,而且需要假定背景雜噪聲服從高斯分布[14-18],同時算法中的具體參數設定需要考慮目標的尺寸信息,該算法在簡單的場景中有著相對廣泛的使用。
卷積神經網絡(CNN,convolutional neural networks)是一種帶有卷積結構的深度神經網絡,主要由輸入層、卷積層、池化層、全連接層與輸出層5部分組成。輸入層用來接收原始的輸入圖像;卷積層是網絡中最重要的部分,通過卷積操作能夠對輸入圖像進行特征提取得到特征圖;池化層一般設置在卷積層之后,常用的池化方法有最大池化和均值池化,能夠減少全連接層中的網絡參數,減少整個網絡的參數,達到減少計算量的目的;全連接層一般存在于卷積層和池化層之后,用來將卷積層和池化層輸出的信息含量較高的特征圖進行分類,以完成網絡的分類任務。
何愷明等人在2015年提出Faster R-CNN算法[19],采用Faster R-CNN算法進行目標檢測所需時間為數十毫秒級,精度高、速度快的Faster R-CNN算法被廣泛應用于目標檢測中。FasterR-CNN分為三個模塊:第一個模塊的利用公共網絡來提取圖像的特征,第二個模塊是利用深度卷積神經網絡來生成目標對象的候選窗口,第三個模塊是利用生成的候選窗口做FasterR-CNN目標檢測器。相較于R-CNN算法,FasterR-CNN利用卷積網絡自動產生候選框,FasterR-CNN中用來生成候選框結構的CNN和目標檢測網絡的CNN結構共享,在提高候選框質量的同時使得候選框數目大大減少,縮短了網絡訓練和檢測時間。
RPN(region proposal network)是FasterR-CNN的核心,其結構見圖1,由一個中間卷積層和位于卷積層之后的分類層與回歸層組成。RPN的本質是基于滑窗的無類別目標檢測器,其輸入是卷積層提取的特征圖,特征圖的大小取決于卷積層的結構。RPN以輸入特征圖上的每個像素點為中心,利用滑動窗口提取特征,如圖2所示,在特征圖上的每個像素點上利用Anchor機制生成9個框,框有3種不同尺寸:128*128、256*256和512*512,各個尺寸都對應了3個不同的長寬比:1:1、1:2和2:1,每個框都對應了原始圖像中的一個區域,包括區域的尺寸和坐標信息。分類層和回歸層根據卷積之后得到的特征向量和Anchor機制提取到的區域的尺寸和坐標信息,計算分類損失函數和位置損失函數,得到每個區域對應的分類置信度,用來判斷該區域是否包含目標,對有目標的區域,采用邊框回歸的方法修正候選框使其更接近真實框。相比于如FastR-CNN中使用的傳統候選區域算法,RPN耗時很短,能夠大大提升網絡訓練和檢測的速度。

圖1 RPN結構圖

圖2 RPN中的Anchor機制
FasterR-CNN流程圖見圖3,具體的工作步驟為:
1)輸入已做標注的訓練圖像;
2)將圖像輸入到特征提取網絡進行特征提??;
3)利用RPN結構生成目標對象檢測的候選框;
4)把候選框映射到卷積網絡的最后一層特征圖上;
5)RoI池化層使得每個RoI生成固定維度的特征向量;
6)利用探測分類概率和探測分類回歸來修正預測框的位置使得預測邊框位置更接近真實值。

圖3 FasterR-CNN算法流程圖
本次設計的檢測模型分類部分分為目標與背景兩種類型。目標檢測模型基于FasterR-CNN模型的結構進行構建,對RPN與FastR-CNN兩大部分分別進行設計。
RPN的結構設計如下:
1)卷積層1:32個大小為3×3的卷積核;
2)卷積層2:64個3×3大小卷積核;
3)池化層:采用最大池化的方式,池化半徑為2,池化范圍為2×2,激活函數為Softmax;
4)卷積層3:128個3×3大小卷積核,激活函數為Relu函數。
5)RPN卷積層:128個3×3大小卷積核;
6)結構的最后由兩個卷積層分別實現分類與回歸功能,結構為8個1×1卷積核和16個1×1卷積核。
FastR-CNN的結構設計如下:
1)卷積層1:32個大小為3×3的卷積核;
2)卷積層2:64個3×3大小卷積核;
3)池化層:采用最大池化的方式,池化半徑為2,池化范圍為2×2,激活函數為Softmax;
4)卷積層3:128個3×3大小卷積核,激活函數為Relu函數。
5)RoIPooling層:用于將大小不相同的特征圖調整為同樣的大小
6)并聯的兩個全連接層分別實現尺寸調整與分類識別。
特征提取網絡的結構如圖4所示。

圖4 特征提取網絡
訓練和測試數據集為實測的雷達回波信號經過處理之后得到的距離-多普勒圖像。將數據集以8:2的比例隨機劃分為訓練集和測試集,由于來自雷達回波信號的數據量較少,對訓練集采用旋轉、縮放、鏡像、裁剪等操作擴充訓練樣本,圖5為采用的圖像數據樣例。

圖5 距離-多普勒數據樣例
對目標檢測模型的訓練分為兩個部分:一是切片選擇部分;二是切片檢測部分。訓練RPN的損失函數是由分類判定損失函數與尺寸調整損失函數兩部分組成,具體表達式為:

有監督地對RPN進行訓練,正負樣本標定原則如下:
1)目標切片與任意標記切片重疊率大于0.7,判定為正樣本;
2)目標切片與任意標記切片重疊率小于0.3時,判定為負樣本;
3)重疊率在0.3~0.7之間時,切片不參與訓練。
錨點框的設置會對網絡訓練和檢測結果有很大的影響,隨著訓練迭代次數的增加,錨框的坐標值會近似于真實目標值。利用卷積網絡的平移不變性,錨框的位置也是被每個柵格固定的,通過K均值聚類算法可以計算出錨框的大小。K均值聚類算法距離函數為:
d(Box,C)=1-RIOU(Box,C)
其中:Box表示錨框大小;C表示錨框中心。(Box,C)表示兩個錨框的重疊比;IOU表示真實框與候選框的交集比并集,即重疊度。
網絡訓練的方法和參數設置如下:
1)采用隨機梯度下降法作為優化算法;
2)由于網絡參數較多,同時訓練集中圖像數量較少,為防止出現過擬合現象,在訓練時引入Dropout機制。Dropout機制能減少訓練耗時,降低網絡過擬合的可能性,設定神經元激活值存在20%的概率停止工作;
3)設置選擇動量值為0.9,動量機制以指數型衰減的方式累積梯度移動平均值,可以加快梯度收斂的速度;
4)對網絡參數進行初始化,設置網絡權值參數服從均值為0,標準差為0.01的高斯分布;
5)使用選擇學習率衰減方法,能夠加快網絡收斂速度并且保證網絡有最優解,網絡訓練初始學習率設定為0.001,每迭代100次衰減0.1,網絡共設置迭代1 000次。
FasterR-CNN有交替優化訓練和近似聯合訓練兩種訓練方式[20],這里我們選擇交替優化訓練方法對所設計的網絡進行訓練:
1)隨機初始化網絡參數,將帶有目標位置信息標注的距離-多普勒圖像作為輸入,獨立訓練RPN,更新CNN和RPN的參數;
2)使用經過訓練的RPN生成候選框;
3)初始化特征提取網絡,將RPN生成的候選框作為輸入來訓練特征提取網絡和分類層;
4)再次更新RPN參數:使用3)中訓練得到的特征提取網絡和分類層初始化模型,訓練RPN,RPN中的參數會被再次更新;
5)再次使用4)中訓練后的RPN來生成候選框;
6)使用3)中訓練后得到的特征提取網絡參數、4)中的RPN和5)中生成的候選框來訓練分類層,得到訓練好的FasterR-CNN模型。
用上一小節中設定的訓練規則訓練設計好的目標檢測網絡,圖6為訓練過程中誤差函數值的變化,隨著網絡訓練迭代次數增加,網絡誤差函數趨于收斂,可見網絡的訓練方法和參數設置是較為合理的。

圖6 訓練誤差函數
將測試數據集輸入訓練后的FasterR-CNN模型,預測框與真實框重疊率大于0.7即判定為正樣本,為直觀地評價檢測性能,以檢測率和虛警率作為評估該模型的參數:
檢測率=TP/(TP+FN)
虛警率=FP/(TP+FP)
TP為預測為正的正樣本數量,FN表示預測為負的正樣本數量,FP表示預測為正的負樣本數量。
由于來自雷達回波信號的數據量較小,同訓練集相同,采用旋轉、縮放、鏡像、裁剪等操作擴充測試樣本集,如圖7上圖為原始測試樣本,下面兩圖為經過數據擴充得到的測試樣本。擴充后總樣本數量為500,其中包含360個待檢測目標。

圖7 原始和擴充圖像樣例
所設計算法與傳統恒虛警檢測算法的檢測結果對比見表1所示。

表1 兩種檢測算法結果對比
可以發現FasterR-CNN目標檢測算法與傳統恒虛警目標檢測算法相比較,在檢測率上有所提升,同時虛警數量大大減少。傳統恒虛警算法是根據背景和目標差異設定閾值進行檢測,在檢測率和虛警率上存在矛盾,但基于卷積神經網絡的目標檢測算法是對目標特征、背景關聯信息等等綜合學習分析,進而實現對目標的檢測,不會局限于檢測率與虛警率的矛盾之中。
傳統的目標檢測算法很難滿足現階段監測安全領域對檢測準確性、實時性的要求,鑒于卷積神經網絡在文本、語音和圖像等領域的廣泛成功應用,設計基于卷積神經網絡的雷達目標檢測算法,成功地優化了檢測率和虛警率,但是進行目標檢測的虛警問題依舊存在優化空間,同時若要應用于實際問題中,需要依靠更大的數據集作為支撐,需要解決網絡層數加深帶來的應用成本增加等問題,將深度學習引入到雷達回波信號的研究還值得做進一步的深入。