鄧澤夫
(上海理工大學(xué)機(jī)械工程學(xué)院,上海 200093)
人體姿勢(shì)作為人類傳遞信息的一種方式,廣泛應(yīng)用于生命體征檢測(cè)、生產(chǎn)安全和人機(jī)交互等多個(gè)領(lǐng)域。不同的人體姿勢(shì)可以表達(dá)人體當(dāng)前的狀態(tài)或者需求。目前普遍的姿勢(shì)識(shí)別是通過攝像機(jī)來完成的,然而出于個(gè)體的隱私考慮,許多人不愿意在家或工作中使用攝像頭,并且基于視覺的系統(tǒng)在夜間或是惡劣的天氣條件下,目標(biāo)識(shí)別能力會(huì)嚴(yán)重下降。與基于視覺的系統(tǒng)相比,毫米波雷達(dá)傳感器是一種不侵害隱私的非侵入式技術(shù),可以在惡劣的環(huán)境中依舊保持良好的性能。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像數(shù)據(jù)的處理中較其他神經(jīng)網(wǎng)絡(luò)更有優(yōu)勢(shì),因?yàn)樵摼W(wǎng)絡(luò)可以直接提取圖片的特征,簡(jiǎn)化了前期對(duì)圖像的處理。周義凱等使用CNN對(duì)五種人體姿勢(shì)進(jìn)行識(shí)別,得出相較于機(jī)器學(xué)習(xí),CNN識(shí)別性能更優(yōu)。查毅等使用CNN建立通用的優(yōu)化模型,實(shí)現(xiàn)人體運(yùn)動(dòng)姿勢(shì)分析識(shí)別系統(tǒng)。ZHOU等提出一種基于毫米波的人體睡眠姿勢(shì)識(shí)別方法,并設(shè)計(jì)了一種帶有初始?xì)埐钅K的輕量級(jí)多通道CNN,對(duì)多通道雷達(dá)回波特征進(jìn)行學(xué)習(xí)和分類。不過上述研究對(duì)人體姿勢(shì)的識(shí)別僅采用單一的CNN識(shí)別算法。
本文提出一種融合CNN和支持向量機(jī)(Support Vector Machine,SVM)的方法對(duì)毫米波雷達(dá)數(shù)據(jù)生成的人體姿勢(shì)距離角度圖進(jìn)行識(shí)別,以期當(dāng)數(shù)據(jù)量很大時(shí)在識(shí)別分類中獲得更快的訓(xùn)練和收斂速度。
為了降低人體姿勢(shì)距離角度圖的復(fù)雜多樣性對(duì)特征提取和訓(xùn)練的影響,提高訓(xùn)練的速度和可靠性,需要對(duì)數(shù)據(jù)進(jìn)行主成分分析(Principal Component Analysis,PCA)處理。主成分分析是一種基于統(tǒng)計(jì)學(xué)的特征提取方法,該方法使用正交變換的方法將數(shù)據(jù)中線性相關(guān)的變量轉(zhuǎn)換成少數(shù)幾個(gè)線性無關(guān)的變量,即數(shù)據(jù)經(jīng)過主成分分析后變成幾個(gè)彼此不相關(guān)的數(shù)據(jù)。具體的處理步驟如下所述。
(1)計(jì)算數(shù)據(jù)的每個(gè)維度均值。
(2)數(shù)據(jù)去均值處理。
(3)計(jì)算所有圖像的協(xié)方差矩陣Cov。
(4)構(gòu)造并計(jì)算協(xié)方差矩陣Cov對(duì)應(yīng)的特征值和特征向量。
(5)將計(jì)算得到的特征值按從大到小順序排列,特征值對(duì)應(yīng)的特征向量也以同樣順序排列成變換矩陣。
(6)將變換矩陣與輸入圖像做矩陣乘法運(yùn)算,得到經(jīng)過主成分分析后的結(jié)果。
CNN是實(shí)現(xiàn)各種計(jì)算機(jī)視覺任務(wù)(如圖像識(shí)別和圖像分類)的最著名的深度學(xué)習(xí)模型之一。對(duì)比傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),CNN具有權(quán)值共享的特點(diǎn)。權(quán)值共享是指在特征提取過程中,一個(gè)模型在多個(gè)權(quán)值的位置只需要使用相同的權(quán)值,也就是可以將CNN中輸入的每個(gè)位置都用上卷積核的元素,只要權(quán)值參數(shù)被計(jì)算出來就可以應(yīng)用在整個(gè)網(wǎng)絡(luò)的圖片元素中,這是CNN不可或缺的優(yōu)點(diǎn)。但CNN也有劣勢(shì),比如當(dāng)數(shù)據(jù)集的量較小時(shí),往往會(huì)影響精度和過擬合,通常解決該問題的做法是擴(kuò)充數(shù)據(jù)集或者使用遷移學(xué)習(xí)。
在結(jié)構(gòu)上,標(biāo)準(zhǔn)的CNN一般由輸入層、卷積層、池化層、全連接層構(gòu)成。輸入的圖像數(shù)據(jù)在卷積層與卷積核進(jìn)行卷積,得到若干特征圖,接著經(jīng)過池化層壓縮信息,保證留下的信息最能表達(dá)圖像的特征。將池化后所有的特征圖輸入全連接層,經(jīng)過Softmax運(yùn)算實(shí)現(xiàn)圖像分類。
SVM是一種常見的監(jiān)督學(xué)習(xí)優(yōu)化算法。它使用邊界(超平面)來描述數(shù)據(jù),使其更容易查看、分類和區(qū)分?jǐn)?shù)據(jù)類的不同實(shí)例。超平面的任一側(cè)分隔兩個(gè)數(shù)據(jù)類,因此SVM是一種二值分類算法,在面對(duì)多分類問題時(shí),可以構(gòu)造多個(gè)二值分類問題來解決。
使用SVM處理維數(shù)據(jù)時(shí),若存在-1 維超平面使數(shù)據(jù)可分,則該數(shù)據(jù)稱為線性可分?jǐn)?shù)據(jù)。在處理復(fù)雜的線性不可分問題時(shí),通常需要選擇核函數(shù)。其原理是將維數(shù)據(jù)通過核函數(shù)映射到維空間,其中大于,直到新的維數(shù)據(jù)存在-1 維超平面線性可分?jǐn)?shù)據(jù)。常見的核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)和高斯核函數(shù)等。
SVM的優(yōu)點(diǎn)也很明顯,該算法具有其模型復(fù)雜度不受訓(xùn)練數(shù)據(jù)中遇到的特征數(shù)量影響,非常適合處理特征數(shù)量相對(duì)于訓(xùn)練實(shí)例數(shù)量較大的學(xué)習(xí)任務(wù)。同時(shí),該算法泛化能力強(qiáng),較之其他機(jī)器學(xué)習(xí)算法更加穩(wěn)健。
本文結(jié)合毫米波雷達(dá)的數(shù)據(jù)特征,提出基于CNN和SVM結(jié)合的網(wǎng)絡(luò)模型來實(shí)現(xiàn)對(duì)人體姿勢(shì)的識(shí)別,模型結(jié)構(gòu)如圖1所示,它包括六個(gè)CNN網(wǎng)絡(luò)結(jié)構(gòu)(兩個(gè)卷積層、一個(gè)歸一化層、一個(gè)最大池化層、數(shù)據(jù)拼接和一個(gè)全連接層)和一個(gè)SVM分類器。由于生成的人體姿勢(shì)距離角度圖有兩個(gè)方向,分別是水平角和俯仰角,所以需要對(duì)兩個(gè)不同平面的數(shù)據(jù)分別進(jìn)行數(shù)據(jù)特征的提取。
圖1 CNN和SVM結(jié)合模型的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of the combined model of CNN and SVM
在本模型中,CNN起的主要作用是提取數(shù)據(jù)的特征,將提取出來的特征送入分類器中訓(xùn)練。SVM比傳統(tǒng)CNN中Softmax分類器具有更加優(yōu)越的分類性能,所以選用SVM代替Softmax來實(shí)現(xiàn)分類。
為了驗(yàn)證所提出的CNN-SVM模型的性能,本文使用毫米波雷達(dá)實(shí)測(cè)的數(shù)據(jù)作為輸入的數(shù)據(jù)集。
整個(gè)實(shí)驗(yàn)數(shù)據(jù)處理系統(tǒng)包括雷達(dá)板、數(shù)據(jù)采集裝置及筆記本。使用TI公司的IWR6843ISK-ODS毫米波雷達(dá)評(píng)估板和DCA1000EVM雷達(dá)數(shù)據(jù)采集板進(jìn)行數(shù)據(jù)采集。該雷達(dá)傳感器的工作頻率為60 GHz,具有3.92 GHz的掃頻帶寬。使用三個(gè)L形配置的發(fā)射天線和四個(gè)矩形配置的接收天線,在方位角和俯仰角上都有120 度的雷達(dá)視野。實(shí)驗(yàn)采用的PC配置為Windows 10 64位操作系統(tǒng),Intel i5 4核CPU,16 GB內(nèi)存,NVIDIA GeForce GTX 1650顯卡,環(huán)境Python 3.7。
選擇一間安靜的辦公室作為實(shí)驗(yàn)場(chǎng)地,室內(nèi)除了桌子和實(shí)驗(yàn)設(shè)備外沒有其他物品。房間大小為3 米×5 米,雷達(dá)位于房間左側(cè)的中心,離地約為1 米。在房間的右側(cè)并排放置三張鐵制桌子,桌子尺寸約為1.2 米×0.6 米×1 米。實(shí)驗(yàn)者身高約為1.75 米,距離雷達(dá)1.5 米,正對(duì)雷達(dá)擺出六種姿勢(shì),分別為大字、弓步、馬步、坐、站和躺。
本部分討論從原始雷達(dá)信號(hào)生成雷達(dá)距離角度圖像的方法。完整的過程包括距離維快速傅里葉變換(Fast Fourier Transform,FFT)和最小方差無失真響應(yīng)(Minimum Variance Distortionless Response,MVDR)角度估計(jì)算法,具體的流程如圖2所示。
圖2 毫米波雷達(dá)數(shù)據(jù)處理流程Fig.2 Data processing flow of millimeter-wave radar
調(diào)頻連續(xù)波(Frequency Modulated Continuous Wave,FMCW)毫米波雷達(dá)發(fā)射chirp信號(hào),該信號(hào)由發(fā)射天線發(fā)射,并在遇到人體目標(biāo)后反射回來。接收天線收到反射信號(hào)的調(diào)頻脈沖后,將其與本地發(fā)射信號(hào)進(jìn)行混合、放大和濾波,最后進(jìn)行采樣和數(shù)模轉(zhuǎn)換。采集到人體姿勢(shì)的原始數(shù)據(jù)后,對(duì)chirp信號(hào)時(shí)域采樣數(shù)據(jù)進(jìn)行距離維快速傅里葉變換得到該chirp信號(hào)中的頻譜分布,即信號(hào)頻譜圖,通過頻率與距離的對(duì)應(yīng)公式可以計(jì)算目標(biāo)與雷達(dá)之間的徑向距離,發(fā)射信號(hào)如式(1)所示,接收信號(hào)如式(2)所示:
假設(shè)被測(cè)物體靜止,徑向距離不變,則中頻信號(hào)頻率不變?yōu)槎ㄖ?,因此可以通過對(duì)中頻信號(hào)進(jìn)行頻譜分析得到距離信息,中頻信號(hào)如式(3)所示:
然后對(duì)距離維傅里葉變換后的雷達(dá)數(shù)據(jù)進(jìn)行MVDR角度估計(jì)。MVDR算法是一種常見的數(shù)字波束成形算法,其原理是在空間中形成窄帶濾波器,使用具有特定形狀的光束選擇性地通過目標(biāo)信號(hào),同時(shí)在一定程度上抑制干擾信號(hào)。經(jīng)過MVDR角度估計(jì)算法后的人體姿勢(shì)距離角度圖像如圖3所示,分別表示六種姿勢(shì)的距離角度圖。
圖3 六種人體姿勢(shì)的距離角度圖Fig.3 Range and angle images of six human postures
本研究設(shè)計(jì)了大字、弓步、馬步、坐、站和躺這六種姿勢(shì),每個(gè)姿勢(shì)分為水平方向和俯仰方向的距離角度圖,每個(gè)方向各100 組數(shù)據(jù),共計(jì)1,200 組數(shù)據(jù)。每組數(shù)據(jù)大小是64×120,其中我們可以將120看成是數(shù)據(jù)的維度,使用PCA在不顯著減少數(shù)據(jù)信息量的同時(shí)減小數(shù)據(jù)的維度,從而達(dá)到優(yōu)化數(shù)據(jù)集的目的。在本研究中為了顯著降低數(shù)據(jù)維度,在[2,20]區(qū)間中尋找最佳數(shù)據(jù)維度。如圖4所示,橫坐標(biāo)表示維度,縱坐標(biāo)表示可解釋性方差,即數(shù)據(jù)信息量??梢钥闯鲈诰S度為10時(shí),可解釋性方差已趨于平緩接近100%,即數(shù)據(jù)集的維度降至10 維時(shí),已經(jīng)包含了原始數(shù)據(jù)中大部分的信息。于是本文將數(shù)據(jù)的維度設(shè)置為10,同時(shí)遍歷所有的姿勢(shì)數(shù)據(jù)將數(shù)據(jù)的大小統(tǒng)一為64×10,最后把1,200 組64×10的數(shù)據(jù)輸入改進(jìn)的深度學(xué)習(xí)模型中訓(xùn)練。
圖4 在[2,20]維度中的數(shù)據(jù)信息量曲線Fig.4 Data information volume curve in [2,20] dimension
在深度學(xué)習(xí)模塊中,本文使用TensorFlow搭建1D-CNN網(wǎng)絡(luò)模型。首先需要對(duì)輸入的數(shù)據(jù)進(jìn)行預(yù)處理,即分別將水平方向的數(shù)據(jù)和俯仰方向的數(shù)據(jù)拼接起來,對(duì)其進(jìn)行特征工程,包含隨機(jī)采樣和標(biāo)簽編碼等,接著劃分訓(xùn)練集和測(cè)試集,其中80%的數(shù)據(jù)為訓(xùn)練集,20%的數(shù)據(jù)為測(cè)試集,然后分別訓(xùn)練水平方向的數(shù)據(jù)和俯仰方向的數(shù)據(jù),將池化后兩個(gè)方向的數(shù)據(jù)特征拼接起來展開成一維數(shù)據(jù)進(jìn)行全連接,最后輸出給分類器,具體參數(shù)如表1所示。
表1 CNN模型參數(shù)Tab.1 The CNN model parameters
另外,CNN模型中卷積層和全連接層的激活函數(shù)均為ReLU,使用categorical_crossentropy作為損失函數(shù),批處理量為32,迭代次數(shù)為20。通過Adam算法進(jìn)行優(yōu)化,對(duì)每一個(gè)參數(shù)進(jìn)行優(yōu)化調(diào)整,使模型具有較強(qiáng)的泛化性。在全連接最后部分,將集成在全連接層上的Softmax分類器替換為SVM,其中SVM的參數(shù)如表2所示。
表2 SVM參數(shù)Tab.2 SVM parameters
根據(jù)第三節(jié)提出的模型使用自建的數(shù)據(jù)集進(jìn)行了模擬,分別用準(zhǔn)確率曲線和損失函數(shù)曲線來評(píng)價(jià)兩個(gè)模型。準(zhǔn)確率(ACC)表示正確識(shí)別姿勢(shì)的數(shù)量與姿勢(shì)總數(shù)的比例,是衡量分類效果的重要指標(biāo)。損失函數(shù)曲線是用來評(píng)價(jià)深度學(xué)習(xí)訓(xùn)練好壞的指標(biāo),這里主要看測(cè)試集的損失函數(shù),期望的目標(biāo)是訓(xùn)練集的損失函數(shù)與測(cè)試集的損失函數(shù)都收斂并且兩者之間相差較小,實(shí)驗(yàn)具體結(jié)果如圖5所示。
圖5 單獨(dú)CNN模型和CNN-SVM模型的準(zhǔn)確率和損失函數(shù)曲線Fig.5 Accuracy rate and loss function curves of single CNN model and CNN-SVM model
圖5(a)顯示單獨(dú)使用CNN模型的準(zhǔn)確率曲線,其中帶有方形的線條表示訓(xùn)練集的準(zhǔn)確率曲線,帶有三角形的線條表示測(cè)試集的準(zhǔn)確率曲線。從圖中不難看出訓(xùn)練到第七輪時(shí)模型實(shí)現(xiàn)擬合,準(zhǔn)確率為99%。圖5(b)顯示單獨(dú)使用CNN模型的損失函數(shù)曲線,同樣帶有方形的線條表示訓(xùn)練集的損失函數(shù)曲線,帶有三角形的線條表示測(cè)試集的損失函數(shù)曲線。從圖中發(fā)現(xiàn)模型在第八輪時(shí)損失函數(shù)曲線趨于平穩(wěn)接近于0。圖5(c)顯示CNN-SVM模型的準(zhǔn)確率曲線,模型在第五輪時(shí)已經(jīng)實(shí)現(xiàn)收斂,準(zhǔn)確率為100%,模型的準(zhǔn)確率比單獨(dú)使用CNN提高了1%,收斂速度也比單獨(dú)使用CNN快。圖5(d)顯示CNNSVM模型的損失函數(shù)曲線,模型在第五輪時(shí)已經(jīng)趨于平穩(wěn)接近于0,損失函數(shù)的收斂速度亦快于單獨(dú)使用CNN的模型。
本文提出了一種基于調(diào)頻連續(xù)波毫米波雷達(dá)距離角度圖的人體姿勢(shì)識(shí)別算法。通過主成分分析實(shí)現(xiàn)數(shù)據(jù)維度的降低,從而加快模型的收斂。我們?cè)O(shè)計(jì)的CNN-SVM模型,提高了識(shí)別準(zhǔn)確率并進(jìn)一步提高了收斂速度。實(shí)驗(yàn)結(jié)果顯示,由于數(shù)據(jù)集較小,在準(zhǔn)確率方面CNN-SVM與單獨(dú)使用CNN的差別不明顯,但依然提升1%,在測(cè)試集中實(shí)現(xiàn)了100%的測(cè)試精度。未來,我們將嘗試使用更豐富的姿勢(shì)數(shù)據(jù),并通過提高數(shù)據(jù)集的大小來進(jìn)一步評(píng)價(jià)本文的模型。