劉義晨,徐朝陽
(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101)
由于多普勒雷達可以用于檢測運動目標并抑制靜止目標所產生的雜波,利用雷達的微多普勒進行目標分類和識別在公共安全及國防等領域內應用廣泛。對于特定的目標識別問題,可以從微動引起的微多普勒信號中提取相應的特征作為判定的依據。近年來,隨著微多普勒研究的興起與發展,其在生物運動的探測與分類識別領域也得到了廣泛的研究。利用時頻分析工具,可以在聯合時頻域清楚地觀察到微多普勒的時變特性[1]。
在早期,基于微多普勒的目標識別研究不依賴于時間信息,它僅利用具有不同特性的微多普勒頻偏作為識別依據,這種方法具有明顯的缺陷且性能較差。然后,是利用譜圖人工提取微多普勒的時變特性,它是一種最為主流的方法。此外,經驗模態分解方法、主成分分析和線性判別分析等方法在目標識別和特征提取上也有一些成功案例[2]。雖然上述方法在特定的問題上獲得了較高的精度,但是它們的思想仍然停留在傳統的監督式學習上,需要對原始微多普勒信號進行預處理并設計分類算法所需要的有效特征,而且提取的特征受限于識別問題本身難以擴展至通用[3]。因此,可以考慮選取深度學習方法來克服這種限制。
由于深度卷積神經網絡(DCNN)能夠直接在原始數據中學習和獲取有效特征并合理地確定分類邊界,DCNN在語音識別、圖像分類等問題中獲得了很好的結果。根據目前的研究狀況,深度學習用于雷達目標識別的應用尚且不多[4]。因此,本文通過使用CNN來識別譜圖中的微多普勒,并用于人體目標的探測與分類問題,具體內容如下:
(1) 通過多普勒雷達對人、狗、馬和車等地面目標進行觀測,以譜圖作為CNN的信號輸入進行模型的訓練和分類。
(2) 通過多普勒雷達觀測到的7種不同人體活動,以譜圖作為CNN的信號輸入進行模型的訓練和分類。
深度學習是機器學習的一個分支[5],近年來逐漸引起了人們的關注。深度學習通過堆疊了多層簡單的神經網絡模型實現不同層次的抽象特征提取,優化特定的損失函數來尋找分類邊界。其中,深度卷積神經網絡(DCNN)是一個最為成功的監督式學習算法,它在圖像和語音識別等方面獲得了很好的識別結果[5]。受到人類大腦視覺皮層的啟發,DCNN具有典型的多層次結構。首先介紹它的基本組成:卷積神經網絡(CNN),可以將它視作輸入層、隱含層和輸出層的簡單組合。
首先考慮前向傳播的過程。在本文中,CNN的輸入層是不同目標和運動的譜圖集合。隱含層主要由卷積層、非線性激活函數和池化層等構成,通常也會進行批量的歸一化處理。輸出層通常具有多層感知機(MLP)的形式,對于多分類任務,需要將隱含層的全部輸出節點連接到輸出層的輸入節點,這種操作也被稱作全連接。然后,加入Softmax函數得到每個類別的后驗概率作為輸出結果。接下來,將分別對隱含層和輸出層的組成進行簡要的介紹。在隱含層中,卷積和池化操作的示意如圖1所示。隱藏層中第1個組成成分是卷積層,它的實質是1組可以并行工作的濾波器,通過滑動窗口的方式對輸入數據進行局部處理。通常情況下,卷積層尺寸的選取是固定的,且遠小于輸入數據的尺寸。為了檢測特定的特征,一個卷積層中的卷積核個數通常為多個。第2個組成成分為非線性激活函數,它通常連接在卷積層之后并對數據空間進行非線性變換,可以使類之間的區分變得更加容易。最為常見的非線性激活函數有Sigmoid函數、tanh函數和ReLU函數等。第3個組成成分是池化層,它的實質是對數據進行下采樣操作來減小數據尺寸的濾波器。其中,以平均池化和最大值池化的使用最為常見。池化使用了特定位置的相鄰輸出的總體統計特征代替網絡在該位置的輸出,具有局部平移不變性,而不會明顯改變我們所關心的特征形式。圖2所示是一個簡單的DCNN,它采用了2個卷積層、1個池化層和1個全連接層進行神經網絡的描述。

圖1 卷積和池化的示意圖

圖2 含2層卷積層的簡單DCNN的示意圖
在監督式學習的分類任務中,我們擁有輸入數據樣本所對應的標簽。最后考慮反向傳播的過程,它與輸出層所選定的代價函數有關。由于代價函數的構建取決于Softmax函數所輸出的后驗概率,它需要體現輸出結果與樣本標簽的關聯程度。通常,代價函數是以交叉熵的形式進行定義的,其收斂過程的求解可以視作是凸優化問題,可以采取梯度下降算法對權值進行更新。在梯度下降算法中,最為經典的是隨機梯度下降法(SGD),引入了動量因子的隨機動量梯度下降法(MSGD)和Adam方法可以明顯加快優化過程,它們是比較常用的方法。此外,正則化的Dropout得到了廣泛應用,它能有效加快模型的訓練過程并防止過擬合現象。
更多的且更為詳細的知識可以在參考文獻[5]中得到了解,本文不進行贅述。
對于特定的運動目標,若給定雷達的工作參數,多普勒頻移的大小僅與方位角有關。因此,本文為了獲得更為明顯的觀測結果,雷達場景設定的觀測方向選取為雷達徑向且目標朝向雷達運動,雷達選取了工作波長為0.4 cm的多普勒雷達,如圖3所示。

圖3 多普勒雷達的示意圖和實物照片
在獲取了運動目標的雷達回波后,將CNN用于以下任務:
(1) 人體探測的分類任務
對于人體探測問題選取了地面上的數種經典目標:一個人,一只狗,一匹馬和一輛車,雷達場景設定于空曠的室外環境,如圖4所示。

圖4 人體探測分類任務中的運動目標示意
(2) 人體活動的分類任務
選取了7種人類活動,包括:跑步、正常行走、持槍行走、匍匐前進、行走拳擊、原地拳擊、坐立,雷達場景設定于室內環境,如圖5所示。

圖5 人體活動分類任務中的運動目標示意
(3) 人體探測的分類任務的實驗與分析
在實驗中,每種目標都觀測了10次,設定短時傅里葉變換(STFT)選取256 ms的hamming窗,重疊時間16 ms,對回波進行STFT后可以得到譜圖樣本。為了確保微動周期性的獲取,每張譜圖的觀測時間至少為2 s,每種目標都隨機選取了其中的4張譜圖。為了便于統一處理,將獲得的譜圖樣本的尺寸整形為100×100。這樣,我們可以獲取共計4×10×4=160張譜圖作為數據的樣本集,并將它們的80%作為訓練集,20%作為驗證集。各運動目標的譜圖分別如圖6所示。

圖6 人體探測分類任務中的運動目標譜圖
由于數據集比較小,通過構建淺層的神經網絡可以有效地避免過擬合并獲得良好的泛化效果。在實驗中,簡單采用了2個3×3的卷積層,其數目設定為8和16,步長設定為1,2個2×2的最大池化層,其步長設定為2,以及1個全連接層作為CNN的構建,選取ReLU函數作為非線性激活函數,最后用Softmax函數輸出特征向量作為判定依據并采取交叉熵構建代價函數。具體的CNN模型示意如圖7所示。

圖7 人體探測分類任務中的CNN構建示意
由于數據集及譜圖的尺寸較小,在Intel i5 2.27 GHz CPU和4 GB 內存的環境下使用MatlabR2018b就可以進行模型的訓練。設定了epochs數目為100,而其他參數設定為默認值。它所需的訓練時間為127 s。各種目標的分類準確率分別如表1所示。

表1 人體探測分類任務的分類準確率
(4) 人體活動的分類任務的實驗與分析
由于不同人體活動的微多普勒較為獨特,為了確保微動周期性的獲取,延長雷達觀測時間的設定至3 s,保持其他參數設定不變。在實驗中,一共對12位模特進行了觀測,且每位模特的每種活動都測量了4次,每次測量都選取了3張譜圖作為樣本且每張譜圖的尺寸為150×150。這樣,我們可以獲取共計7×12×4×3=1 008張譜圖作為數據的樣本集,并將它們的75%作為訓練集,25%作為驗證集,各目標的譜圖分別如圖8所示。

圖8 人體活動分類任務中的譜圖,依次為
與(1)中CNN模型的構建相比,(2)中的譜圖樣本尺寸和數據集要更大,在相同環境下的訓練時間會相應地增加。本文中,受限于硬件條件,仍在(1)中的環境下進行模型的訓練。經過多次調試,(2)的CNN模型構建在3層卷積層時的性能比較好。此時,第一個卷積層含有20個特征圖,其尺寸大小為5×5,步長為1。其他卷積層的尺寸和步長設定都不變,特征圖數目設定分別為30和40。其中,第一個卷積層的可視化特征如圖9所示。

圖9 人體活動分類任務中構建DCCN的第一個卷積層提取特征的可視化結果
所有的池化層都采用了步長設定為2×2的最大池化層,且步長設定為1。具體的CNN模型示意如圖10所示。與圖7中CNN的構建不同的是,它在全連接層fc_1的后面加入了Dropout層,概率參數設定為0.5。
由圖9可以發現,卷積層的輸出特征比較抽象,它蘊含著難以人工提取的特征。為了進一步了解其他變量對性能的影響,通過對改變觀測時間或修改譜圖的Epochs數可以進行相應的驗證。分別選取觀測時間為0.6 s、1.1 s、1.5 s、2.1 s、2.6和3.0 s,分別設定Epochs數為100、200、300和400,并單獨取出圖8(b),即人體行走時的譜圖進行驗證,分類性能的關系分別如圖11所示。

圖10 人體活動分類任務中的CNN構建示意

圖11 人體活動分類任務的觀測時間、Epochs數和性能的關系
可以發現,在更長的觀測時間下,通常可以獲得更好的分類性能。然而,在觀測時間設定為2.6 s時,其性能要略優于3.0 s時的結果。在Epochs數為100左右時,觀測時間為2.6 s的結果要明顯高于其他情況,這種狀況一直保持到Epochs數為200左右。這種現象產生的原因可能是設定觀測時間為2.6 s時,數據集的樣本數量較少而數據樣本間的差異性又較大所引起的。隨著訓練過程的繼續,這種樣本間差異性的影響將逐漸減小。當Epochs數為300左右時,各曲線開始出現了收斂現象,而Epochs數到達400時,各曲線已經明顯收斂。此時,設定觀測時間為3.0 s的性能將最好。
本實驗中,設定mini-batch的大小為84,學習率為0.001,采用了動量參數設定為0.9的隨機動量梯度下降法進行訓練,設定epochs數目為400。最終所需的訓練時間為1 680 s,具體的分類準確率如表2所示。

表2 人體活動分類任務的分類準確率
本文基于能夠表現微多普勒特征的譜圖,將CNN用于實現人體探測和人類活動分類任務。通過CNN的使用,可以進一步地在譜圖的基礎上提取目標的微多普勒特征。在人體探測任務中,在包含了狗、車和馬等地面目標中可以獲得97.6%的準確率。在包含了7種人類活動的分類任務中,可以獲得90.0%的平均分類準確率。雖然,將不同的譜圖作為CNN的數據樣本輸入,可以無需人工的依據微動形式進行特征提取;但是多層CNN的計算復雜度要高于常規機器學習算法的數據驅動模型,在考慮任務實時性的情況下應綜合使用。