蔣留兵,魏光萌,車 俐
(1.桂林電子科技大學廣西無線寬帶通信與信號處理重點實驗室, 桂林 541004;2.桂林電子科技大學計算機與信息安全學院, 桂林 541004)
長期以來,人體動作和行為識別一直是一個研究熱點,在人機交互、智慧安防、輔助駕駛和醫療健康監測方面具有很大前景,目前普遍的動作識別解決方案都是基于攝像機來完成[1-2],但實際應用時仍存在一些問題,比如攝像機在隱私保護上存在很大漏洞,并且對光線和視距要求較高。近年來,隨著毫米波雷達技術的飛速發展,雷達的探測精度和性能越來越高,因此研究者嘗試將雷達應用在更多領域。在人體動作識別領域,雷達可以不受外界的光照和視距因素干擾,具有穩定的工作性能,尤其可以完全避免對個人隱私的侵犯。所以,研究基于雷達的人體動作識別有較大前景[3-5]。
基于雷達實現動作識別的關鍵在于從雷達回波中提取出動作的特征信息,微多普勒信息是最典型的雷達動目標特征,根據微多普勒效應,當目標相對于雷達天線運動時,回波信號將產生頻率變化,這就是微多普勒特征[6-7]。已有研究者[8-9]通過提取人體動作和手勢的微多普勒特征,采用不同識別方法實現了人體動作識別。但現有的特征提取和識別算法在復雜的雷達動作信號上往往識別率不高。也有文獻將深度學習方法應用到雷達動作識別中[10-12],但深度學習算法對訓練數據量要求極大,并且訓練時間較長,數據量不足時性能和泛化性會下降,在小樣本的雷達動作數據集上容易過擬合。
信號的稀疏表示已成功應用在壓縮感知、圖像識別、人臉識別等領域[13-14],稀疏表示是為了在字典中選擇盡量少的原子來表示信號,提取出信號的本質信息,進而實現信號的重構和分類等任務。為了獲得靈活、自適應的字典,常用的做法是從訓練樣本中學習出字典,這個過程稱為字典學習[15]。近年來,許多研究者提出了不同的字典學習方法。Aharon等[16]提出了K-SVD(K-singular value decomposition)算法具有較好的收斂速度,效果較好,被廣泛使用并拓展開來;Zhang等[17]在此基礎上提出了一種具有識別能力的D-KSVD算法,2013年,Jiang等[18]提出一種LC-KSVD(label consistent K-SVD)字典學習算法進行圖像分類,取得了較好的效果,并且成功應用在很多領域[19]。LC-KSVD在重構約束項的基礎上加入二元的標簽約束項,可以同時學習到字典和線性分類器,在分類和識別任務上有較好的表現。
基于前人研究,首次提出一種基于LC-KSVD字典學習和77 GHz毫米波雷達的人體動作識別方法,首先利用毫米波雷達采集多個人體動作的回波信號,通過時頻分析提取微多普勒信息,并轉化為時頻圖,再采用兩種特征提取方法對時頻圖進行降維描述,將兩種降維后的特征數據進行融合作為訓練樣本,使用LC-KSVD方法來學習多特征字典和分類器參數,最后使用訓練得到的分類器對采集的10種動作進行識別。
采用的雷達平臺為調頻連續波(frequency modulated continuous wave,FMCW)雷達,發射線性調頻正弦波,具有較好的距離分辨力,且能測量很近的距離,系統結構簡單,符合近距離探測人體動作的實驗要求。
當調制波為正弦波時,FMCW雷達發射的載波頻率為fc的波形S(t)可以表示為
S(t)=exp(j 2πfct)
(1)
式(1)中:j為虛數單位,動目標散射點理想情況下的回波為
(2)
式(2)中:Ap為回波信號在t時刻的幅度值;c為光速;rp(t)=r0-vrt,表示t時刻目標與雷達的瞬時距離,r0為t=0時刻的距離;vr為目標相對于雷達天線的徑向距離。那么回波信號與發射信號的相位差為
(3)
對時間t求導,即可得到該散射點引起的多普勒頻移fD:
(4)
式(4)中:λ為工作波長。
由式(4)可見,多普勒頻移與目標的運動狀態有很大關聯,微多普勒信息可以作為動作的典型特征。
人體動作的雷達回波信號是隨著時間變化的,具有時變特性,并且是由人體的多個散射點的回波信號組成,每一個時間點都包含多個頻率分量,屬于時變非平穩信號。對于時變非平穩信號,傅里葉變換不再適用于頻譜分析,同時在時域和頻域中描述信號的常用方法為時頻分析[20-21],時頻分析不僅能夠得到信號的頻譜特征,也能觀察到頻率隨時間的變化,將時域和頻域作為一個整體進行分析。因此,采用時頻分析將多普勒頻移轉換為時頻圖。
典型的時頻分析方法有短時傅里葉變換(short-time fourier transform,STFT)[17]、小波變換、Wigner-Ville分布(WVD)等,為了減少計算復雜度和避免多分量信號分析時的交叉項干擾,采用較常用的STFT時頻分析方法對回波信號進行分析。
STFT是一種具有代表性的線性時頻分析,通過對原始信號加時間窗并沿著時間軸移動窗函數,將非平穩信號在一個極短的時間內看成是平穩信號,實現了非平穩信號轉化成多個短時平穩信號進行疊加處理,在此基礎上便可以采用傅里葉變換對每個短時平穩信號進行分析,得到頻率隨時間變化的時頻函數。假設原始非平穩信號為h(t),則短時傅里葉變換定義為

(5)
式(5)中:w(t)為窗函數;t為時間;τ表示時延;f為頻率。STFT的離散形式可以表示為
(6)
式(6)中:h(k)為信號h(t)的離散形式;m、n分別表示時間采樣和頻率采樣;w(k)為離散窗函數;T為時間采樣間隔;fs為頻率采樣間隔。
在稀疏表示中,字典學習的目的是為了從訓練數據中學習到一個具有信號表示能力的字典,通過相應的稀疏系數對字典中原子進行排列組合,就可以達到表示和重構信號的效果。
一般來說,字典學習算法可以分為兩個部分:稀疏編碼和字典的迭代更新。首先對稀疏編碼矩陣和字典進行初始化,再根據預先設定的約束函數,對稀疏編碼矩陣和字典進行迭代更新,最終得到滿足最優化約束條件的字典。
K-SVD算法是在稀疏表示理論上發展開來的較為主流的字典學習求解方法,由Aharon等[16]提出,K-SVD算法在OMP算法的基礎上計算稀疏系數,但是在字典更新的過程中,采用了一種快速的矩陣計算方法——奇異值分解(SVD),依次更新字典中的每一個原子以及稀疏編碼矩陣的更新,避免了復雜的矩陣計算,加速迭代過程。
K-SVD的提出是為了解決信號重構和稀疏表示問題,信號重構目標是最小化字典的重構誤差,約束函數為
(7)
式(7)中:D表示需要學習的字典,D=[d1,d2,…,dk],D中的每一列dk為原子;Y=[y1,y2, …,yn],表示一個n維的訓練樣本集,每一列表示一個訓練樣本,當k>n時,該字典被稱為超完備字典。X=[x1,x2, …,xn]表示樣本集的稀疏編碼矩陣。約束函數中第一項表示重構誤差,第二項表示稀疏度,用X的L1范數表示;λ為調節參數。所以約束函數的作用為①最小化重構誤差;②最小化稀疏度,使稀疏編碼矩陣盡可能稀疏,減少編碼耦合。
K-SVD算法[15]很好地解決了信號的重構問題,但沒有注重字典的分類能力和識別能力,在此基礎上,著重于解決分類和識別問題的LC-KSVD算法被提出,該算法通過在約束函數中加入稀疏編碼誤差項和分類器參數誤差項使得訓練得到字典和稀疏編碼矩陣具有較好的分類能力。
首先采用K-SVD算法基于重構誤差對字典D進行初始化,對于每類樣本迭代多次,然后將所有類的字典項組合作為初始字典,同時根據K-SVD算法可以得到初始的稀疏編碼矩陣。然后給每一類的所有樣本都加上類別標簽,并且標簽在字典的更新過程中保持不變。LC-KSVD算法的約束函數為

s.t.?i,‖xi‖0≤O
(8)

在求解參數的最優解過程中,約束函數可以改寫為
s.t.?i, ‖xi‖0≤O
(9)
令
(10)
則約束函數的求解可以等價于:
s.t.?i, ‖xi‖0≤O
(11)
式(11)是KSVD求解的問題,可以采用KSVD算法進行最優化求解。其中需要對線性轉換矩陣A和分類器參數W進行初始化,根據初始的稀疏編碼矩陣X、判別性稀疏編碼Q、類標簽矩陣H,根據下式使用多元嶺回歸對A進行初始化:
(12)
則可以得到:
(13)

(14)
假設待識別的樣本為yi,首先根據學習到的字典D和式(7)計算出稀疏矩陣xi,再根據xi和線性分類器計算出對應的標簽,完成識別。
為了提取出人體動作回波的時頻圖中的更深層特征,得到更好的識別效果,對LC-KSVD算法進行擴展,針對人體動作雷達回波的時頻圖,采用兩種不同的特征描述方法對其進行降維,首先使用較典型的主成分分析(principal component analysis,PCA)提取時頻圖的主成分特征,取前m個主成分特征,降維為m維向量;再采用Randomfaces方法[22]提取時頻圖中的隨機特征,降維到n維,最后將兩個降維后的數據進行融合,采用LC-KSVD學習多特征字典,字典中包含了時頻圖的兩種特征的稀疏表示。較單一特征包含了更多的信息,最后使用學習到的字典對數據進行稀疏表示和識別。
PCA是一種使用廣泛的數據特征提取和降維方法,可以得到數據的重要特征,而忽略噪聲和不重要的特征,通過選擇前n個主成分特征的方法實現特征提取。Randomfaces降維的降維矩陣獨立于訓練樣本數據隨機產生,可以避免數據不充分帶來的降維結果不佳的問題,對于小樣本人體動作數據,這個特點尤其重要,所以通過采用兩種降維方法對原始樣本進行特征提取并且融合。
基于多特征字典學習的特征提取方法原理如圖1所示。

圖1 多特征字典學習
基于77 GHz調頻連續波雷達傳感器,結合人體動作的微動特性,首次提出基于字典學習的雷達人體動作識別方法,并在理論的基礎上設計實驗驗證系統,識別模型如圖2所示,由如下三步組成。
第一步人體動作數據采集和處理。使用雷達采集人體動作信號,對其進行時頻分析得到每組動作的時頻圖,作為實驗數據集。
第二步多特征字典學習。將數據集分為訓練集和測試集,在訓練集上進行多特征降維,再學習字典。
第三步性能測試。對測試集做相同的特征降維處理,根據學習到的字典計算測試樣本的稀疏編碼,再根據學習到的分類器參數來得到動作類別,與實際類別進行對比,計算識別準確率,驗證模型的性能。

圖2 雷達人體動作識別模型
實驗中所用的毫米波雷達實驗平臺由Texas Instruments公司開發的AWR1243BOOST雷達傳感器模塊和DCA1000EVM實時數據采集適配器模塊組成。AWR1243BOOST是一款高度集成式單芯片的77、79 GHz FMCW毫米波雷達,具有低功耗,高精確度的優點。DCA1000EVM為雷達傳感器模塊提供實時數據采集和數據流化功能。該雷達開發平臺附帶PC端控制和數據處理軟件,可以實現數據的實時采集、傳輸和可視化等功能。實驗硬件平臺如圖3所示。

圖3 AWR1243BOOST雷達
實驗過程中規定每個人體動作均在3秒內完成,每次采集100幀數據,雷達實驗平臺的具體參數設置如表1所示。

表1 雷達參數

圖4 數據采集現場
AWR1243BOOST傳感器的發射天線和接收天線集成在一體,在數據實測過程中,室內無其他運動目標干擾,僅有少量桌椅靜止擺放,雷達天線固定在椅子上,距離地面80 cm左右,目標人體與雷達天線的水平距離為2 m,每個動作的數據采集時間限制為3 s,為了增強數據分布的泛化性和識別的魯棒性,共有三名測試者參與了動作數據采集過程,測試者身高分別為170、173、180 cm。共采集了10種人體動作,每個動作由三名測試者各重復10次,共采集到300組動作數據,動作種類及編號如表2所示,圖4所示為數據采集現場圖,圖5所示為原始時域雷達回波信號。

表2 10種人體動作

圖5 一個周期的原始回波信號
對采集的300組人體動作的原始雷達回波信號進行時頻分析,分別得到每組動作的時頻分布圖,橫坐標為時間軸,縱坐標為頻率,圖6所示為每類動作的時頻圖。從圖6中可以看出,不同動作的時頻分布有比較明顯的差異,這為下一步的特征提取和識別提供了較好的基礎。
將時頻圖數據集按照一定的比例分為訓練數據集和測試數據集,訓練數據集用來學習字典和稀疏編碼矩陣,測試數據集用來檢驗算法的識別性能。為了減少因為數據集劃分導致的偶然性誤差,實驗過程中會多次調整訓練數據集和測試數據集的比例。算法驗證部分在MATLAB R2018a中完成。
首先,將所有時頻圖進行灰度化并調整大小為128×128,再分別使用PCA和Randomface方法[19]分別提取特征,降維為60維和100維向量,圖7所示為使用PCA特征,圖8所示為Randomface特征。
將數據集按照不同的比例劃分,即在測試者A、測試者B、測試者C中隨機抽取一個人或兩個人的動作樣本作為訓練集,其他的動作樣本作為測試集。使用訓練集進行訓練,學習到字典和分類器參數,以2∶1的數據集劃分為例,訓練數據為200組,測試集為100組,圖9所示為學習到的多特征字典D,圖10所示為分類器參數W。
用對應的測試集進行識別測試,表3為具體的識別準確率,圖11分別為不同數據集劃分比例時的預測類別和真實類別的混淆矩陣。當訓練集與測試集比例為2∶1時,平均識別準確率為97.7%,即使在訓練集與測試集比例為1∶2時,平均識別率仍然能夠達到91.8%。


圖6 十種動作的時頻圖

圖7 PCA特征

圖8 Randomface特征

圖9 多特征字典矩陣D

圖10 分類器參數矩陣W

圖11 識別混淆矩陣
為了說明多特征字典學習的性能,對單獨的PCA降維后的數據和Randomfaces降維后的數據進行LC-KSVD字典學習,再進行識別測試,得到平均識別準確率,并與融合兩種特征的識別準確率進行對比,圖12所示為不同數據集劃分比例下不同特征的識別準確率,表3所示為平均識別準確率。

圖12 不同特征的識別準確率

表3 識別結果
通過表4可知,提出的多特征字典學習方法在人體動作時頻圖的特征提取上要優于單獨的PCA特征和Randomfaces特征,融合兩種特征后得到的特征,更能表示出人體動作時頻圖的信息。

表4 實驗結果對比

圖13 SVM識別效果

圖14 識別性能對比
此外,為了說明識別算法的性能,用提取出的特征來訓練支持向量機(SVM),并進行識別測試。首先對特征向量進行歸一化,并采用網格劃分搜索算法來對SVM進行優化,尋找最優的懲罰參數C和徑向基核函數寬度g,再通過訓練得到模型,用測試集進行性能測試。當訓練集為A和B、測試集為C時,識別效果如圖13所示。當數據集劃分為2∶1時,平均識別準確率為94.7%,數據集劃分為1∶2時,平均識別準確率為80.7%,圖14所示為SVM和LC-KSVD的識別性能對比圖。從圖14中可以看出,多特征LC-KSVD字典學習方法的識別性能較好,尤其在訓練集比例較少時,識別準確率遠高于SVM。
根據實驗結果和對比分析,可以看出提出的雷達人體動作識別方法總體識別率較高,并且通過對比不同特征的識別結果和不同分類算法的識別結果,說明提出的多特征字典學習識別模型能夠更好地提取出人體動作的本質特征,并且準確地對動作進行識別。
提出一種基于77 GHz毫米波雷達和多特征字典學習的人體動作識別方法。采用多特征LC-KSVD字典學習方法對人體動作的時頻圖進行特征提取和識別,并且基于實測數據進行實驗驗證,得到以下結論。
(1)雷達人體動作識別方法在訓練集與測試集比例為2∶1時可達到平均97.7%的識別準確率,說明識別方法可以實現動作識別,具有可行性。
(2)實測數據集由不同人的動作組成,樣本分布合理,接近實際應用環境,說明識別模型具有較好的泛化性,在實際應用中具有前景。
(3)基于毫米波雷達的人體動作識別具有研究意義和應用前景,但實驗驗證是在理想環境下進行,在后續研究和實際應用中還需考慮復雜環境下動作的檢測識別和噪聲抑制。