鄭 勤,許志猛,陳良琴
(福州大學物理與信息工程學院,福建 福州 350108)
人體感知技術是支持許多應用工程的關鍵技術,可以應用于醫(yī)療護理[1]、 運動健身、 智能家居[2]、 監(jiān)控防盜等領域,具有廣闊的應用前景.
傳統(tǒng)的人體感知技術主要應用于相機[3]、 雷達[4]、 可穿戴設備[5]等,但這些傳統(tǒng)方法都有各自的局限性. 基于相機的人體感知技術需要在光照條件適當?shù)那疤嵯拢拍茏R別相機視線范圍內(nèi)的人體活動,并且當用戶暴露在相機下,容易產(chǎn)生一種隱私被侵犯的不適感; 基于雷達的人體感知技術,低性能的雷達感知范圍僅僅幾十厘米,局限性大,高性能的雷達成本昂貴,不便于大規(guī)模部署; 基于可穿戴設備的人體感知技術有較精確的感知能力,但需要用戶以特定的方式穿戴設備以確保設備可以正常工作,并非所有用戶都樂于長期穿戴一個設備,具有較大的局限性. 基于WiFi的人體感知技術可以很好地解決以上的限制,它不依賴于光照條件,不侵犯用戶的隱私,低成本,精度較高,并且用戶不需要攜帶任何設備.
在過去幾年,基于WiFi的人體感知技術得到了極大的發(fā)展. 文獻[6]利用WiFi的信道狀態(tài)信息(channel state information,CSI)的幅度和相位信息來檢測環(huán)境中是否有人,人是否在移動; 文獻[7]使用支持向量機(support vector machines,SVM)來進行跌倒檢測; 文獻[8]使用定向天線,根據(jù)用戶在說話時唇部的運動來識別簡單的口語; CARM[9]建立了CSI速度模型和CSI活動模型,量化建立CSI信號變化和特定運動的相關性,實現(xiàn)了9種動作的分類; SignFi[10]使用卷積神經(jīng)網(wǎng)絡,能夠較好地識別276個手勢.
傳統(tǒng)的研究成果能夠識別特定的動作,但是不能識別特定動作所對應的用戶的身份. 文獻[11]利用CSI信號識別檢測用戶的步態(tài)信息,加以識別,但是需要用戶走過一條較長的路徑,這對于很多用戶是不方便的. 在很多環(huán)境,例如家庭、 辦公室,都是多個用戶共同使用,在區(qū)分不同動作的同時,區(qū)分用戶的身份也是很有必要的. 例如,在家庭環(huán)境中,可以設定家長使用動作可以打開微波爐,但是小孩使用那種動作卻不能.
為此,本研究提出一種基于WiFi的手勢和身份識別算法(recognition algorithm of gestures and humans via WiFi,Wi-GAH),該算法可以同時識別用戶手勢和身份,具有較高的準確率.
研究提出的Wi-GAH總體流程如圖1所示. 將采集得到的CSI數(shù)據(jù)經(jīng)過數(shù)據(jù)預處理,分成訓練集和測試集,然后將訓練集數(shù)據(jù)輸入設定好的神經(jīng)網(wǎng)絡模型中,訓練出一個可以很好識別訓練集數(shù)據(jù)的模型,最后利用這個模型來識別測試集中的數(shù)據(jù).

圖1 Wi-GAH流程圖Fig.1 Flow chart of Wi-GAH
WiFi采用正交頻分復用(orthogonal frequency division multiplexing,OFDM)技術,所以獲取的信道動態(tài)變化具有多樣性. 一個天線對的信道矩陣描述公式如下:
yi=Hixi+ni(i∈1, …,NS)
(1)
其中:NS代表子載波的個數(shù);xi和yi分別代表發(fā)送端和接收端的信號;ni代表噪聲; 可以通過將接收端信號除以發(fā)送端信號來估計出第i個子載波信道矩陣Hi. 信道矩陣被稱為CSI,它反映發(fā)送端信號到接收端信號受到信道的影響.
獲得的CSI包括幅度和相位2個成分. Wi-GAH對原始CSI取模,得到其幅度信息. Wi-GAH處理的CSI數(shù)據(jù),1發(fā)3收,每個天線對有30個子載波,信號發(fā)送頻率為100 Hz,發(fā)送時間為2 s,所以一個樣本包含18 000個幅度值. 90個子載波的幅度隨時間變化,它們具有時間相關性; 3根天線擺放的位置不同,得到的幅度不同,它們具有空間相關性; 每個天線對的30個子載波具有不同的頻率,由于物體運動造成的影響不同,它們具有頻率相關性. 為了充分利用18 000個幅度值的相關性,Wi-GAH將每個樣本變換為三維矩陣,矩陣大小為3×30×200.
Wi-GAH的神經(jīng)網(wǎng)絡結(jié)構如圖2所示.

圖2 神經(jīng)網(wǎng)絡結(jié)構圖Fig.2 Structure diagram of neural network
每個樣本經(jīng)過數(shù)據(jù)預處理后獲得的矩陣大小為3×30×200,輸入層將矩陣轉(zhuǎn)置為更適合CNN處理的類似圖像的矩陣200×30×3,其中200×30稱為面積,3稱為通道數(shù). 輸入層不學習任何參數(shù).
批歸一化層[12]可以減小過擬合的可能性,降低網(wǎng)絡對于特征值初始化的依賴,增加Wi-GAH的穩(wěn)定性. 批歸一化的公式如下

(2)

卷積層有局部連接,權重共享的特點,用卷積運算代替全連接層的乘法運算,大大減少了運算單元,加快了計算的速度. 而且正是因為計算單元的減少,使模型過擬合的可能性降低,使模型更加穩(wěn)定. 本研究使用二維卷積,公式如下

(3)
其中:I表示輸入矩陣;K表示卷積核. 卷積核的通道數(shù)通常與輸入特征圖的通道數(shù)相同,所以卷積核的實際大小需要在二維的基礎上乘以當前輸入特征圖的通道數(shù). Wi-GAH使用卷積核大小均為3×3,但是由于每個卷積層輸入特征圖通道數(shù)的不同,卷積層1~4卷積核的實際大小分別為3×3×3、 3×3×8、 3×3×8、 3×3×16. 為了保留每個輸入特征圖的邊緣信息,避免因為多次卷積而面積越變越小,Wi-GAH設置卷積核的步長均為1,并且在邊緣補0,可以得到面積與輸入特征圖的面積相等的輸出特征圖. 對于卷積層來說,輸出的特征圖的通道數(shù)等于卷積核的個數(shù). 隨著網(wǎng)絡層數(shù)的加深,面積的減少,為了學習到更多的有效參數(shù),需要把通道數(shù)變大,所以Wi-GAH也在后面的卷積層中適當?shù)卦黾恿司矸e核. 卷積層1~4卷積核個數(shù)分別為8、 8、 16、 16. Wi-GAH卷積層均使用線性整流函數(shù)(rectified linear unit,ReLU),如下式
f(x)=max{0,x}
(4)
ReLU[13]可以減小在反向傳播時可能出現(xiàn)的梯度消失的情況,它能使用一部分特征為0,減小特征相互依存的關系,緩解過擬合的情況.
平均池化層將核內(nèi)的特征平均得到新的特征,減少了特征的數(shù)量,保留了有效的特征,可以加快計算的速度. Wi-GAH的池化核均為3×3,步長為3,余下特征丟棄.
Dropout[14]層在不同的訓練輪次隨機丟棄一些神經(jīng)元,所以層間的連接參數(shù)不會過大,讓每個神經(jīng)元都能發(fā)揮作用,可以減小過擬合的可能. Wi-GAH中Dropout層隨機丟棄的概率為0.5,能充分發(fā)揮Dropout層的效果.
Wi-GAH通過展平層將22×3×16的特征圖重組成一維,方便與全連接層相連. 全連接層的所有神經(jīng)單元將與上一層所有神經(jīng)單元連接起來,它們包含Wi-GAH的大部分參數(shù). 全連接層1和2使用的激活函數(shù)是ReLU,全連接層3和4使用激活的函數(shù)是softmax,softmax公式如下

(5)
其中:Si代表第i類的概率;C代表類的總數(shù),即輸出矩陣是樣本屬于各個分類的概率.
對于多分類問題,損失函數(shù)如下

(6)

L=αLg+βLh
(7)
α和β分別是2個損失函數(shù)的系數(shù),2者的和為1. 在側(cè)重識別某一個任務的時候,可以調(diào)整它們的值,使模型的性能偏向了某個任務,Wi-GAH均設置為0.5.
本實驗基于SignFi[7]中采集的CSI數(shù)據(jù)集中的部分數(shù)據(jù). 數(shù)據(jù)是在一個13 m×12 m的實驗室中采集的,實驗室周圍擺放著許多物品,CSI信號受到多徑效應的嚴重影響. 兩臺使用Intel 5300網(wǎng)卡,安裝有csitool[15]的筆記本電腦為信號發(fā)送機和信號接收機,二者之間的直線距離為230 cm. 信號發(fā)送機和信號接收機在5 GHz頻段工作,信道帶寬為20 MHz. 信號發(fā)送機使用1根天線; 信號接收機使用3根天線,使用30路子載波. 特別的是,雖然實驗人員的位置相對固定,但是實驗人員的位置并不在信號發(fā)送機和信號接收機直線路徑之間,這增加了感知的難度.
使用的數(shù)據(jù)為4個用戶每人做150種手勢動作,每種手勢重復10次,一共為6 000個CSI樣本. 4個用戶年齡為26~39歲,身高為168~180 cm,體質(zhì)量為55~90 kg. 手勢動作不僅僅包括小幅度的活動手指,也可能包括頭部、 四肢、 軀干的大幅度運動. 本研究的訓練和測試使用的電腦操作系統(tǒng)均為Window 10,顯卡為RTX 2080 Ti,運行內(nèi)存為32 GB. 使用4 800個樣本作為訓練集,1 200個樣本作為測試集,學習率為0.001,批大小為64.
Wi-GAH處理的手勢分類和人物分類均為多分類任務,且分布均勻,故使用準確率A作為評估指標,如下式

(8)


(9)
其中:Ag和Ah分別是動作識別準確率和身份識別準確率;ξ和ζ為2個準確率的系數(shù),在側(cè)重不同的準確率的時候可以調(diào)整其大小,Wi-GAH將ξ和ζ設置為0.5.
2.3.1處理不同任務的性能分析

圖3 處理不同任務的準確率Fig.3 Accuracy in handling different tasks
處理不同任務的準確率如圖3所示,在高達150種手勢的情況下,本研究算法依然能夠較好地識別出該樣本所對應的人或者手勢. 當在需要同時識別人物和手勢的情況下,識別準確率會比單獨識別某一方面更高一些. 這是因為在有多種任務的條件下,神經(jīng)網(wǎng)絡的過擬合的可能性會變小,會自動尋找同時滿足多種任務的特征,所以找到的特征魯棒性更強,更有效.
在很多情況下,并不需要具體識別出哪一個人,只需要識別出用戶是否有適合的權限. 例如在家庭環(huán)境中,父母可以使用廚房用品或者電視機,但是出于安全或者從兒童健康成長考慮,兒童使用廚房用品或者電視機則需要受到限制; 例如在實驗室,教師和學生的權限不同,但是并不需要識別出教師和學生的具體身份,只需要識別用戶處于哪個類別. 研究將4位實驗人員分成2類,假定其中2位為有權限的人員,另外2位為沒有權限的人員,其兩兩組合共3種. 識別權限的方式有2種,一種是先識別出具體哪個人,再識別其對應的權限類別; 另外一種是直接識別該人對應的權限類別. 實驗結(jié)果如表1所示.

表1 權限識別準確率
可以看出,識別身份再識別權限和直接識別權限的準確率差別很小. 直接識別權限減小了Wi-GAH分類層的連接數(shù),不關注于冗余信息的識別,減小了參數(shù)的總數(shù),但是并沒有造成性能的下降. 直接識別權限可以簡化識別權限任務模型,特別是需要識別較大量的人員時.
2.3.2不同輸入矩陣對于準確率的影響
本研究使用的Wi-GAH算法采用三維輸入矩陣. 采用二維矩陣的輸入也是一種常見的選擇,也就是將200×30×3的矩陣轉(zhuǎn)換為200×90的矩陣,但是減小維度可能會造成信息的損失. 此外,考慮到0~2 Hz頻率的信號可能與動作無關,可將三維矩陣濾除0~2 Hz頻率的信號后作為另一種新的輸入矩陣. 保持Wi-GAH其他結(jié)構不變,將輸入矩陣替換為以上兩種輸入矩陣,得到的準確率與Wi-GAH的準確率對比如圖4所示.

圖4 不同輸入矩陣的識別準確率Fig.4 Recognition accuracy of different input matrices
從圖4中可以看出,本研究采用的Wi-GAH算法在動作識別準確率、 身份識別準確率、 組合準確率上均優(yōu)于采用其他兩種輸入矩陣的算法. 因為三維矩陣能充分利用天線擺放位置不同所產(chǎn)生的空間信息,所以比起二維矩陣輸入,三維矩陣輸入提供的有效信息更豐富,對識別手勢動作和人物身份有所幫助. 此外,由于濾波器在過濾噪聲的同時也會濾除部分有效的信號,可能對識別率有負面影響,增加濾波器后識別準確率出現(xiàn)了下降. 考慮到神經(jīng)網(wǎng)絡丟棄神經(jīng)元、 池化等操作,也有去除噪聲的功能,一定程度上可以代替濾波器,因此本研究的應用環(huán)境,輸入矩陣可以不加濾波器.
2.3.3不同深度的神經(jīng)網(wǎng)絡對于準確率的影響
SignFi[7]使用很少層的神經(jīng)網(wǎng)絡進行手勢識別,本研究模仿其神經(jīng)網(wǎng)絡結(jié)構,來執(zhí)行和Wi-GAH同樣的任務. 另外,在Wi-GAH的基礎上,在平均池化層2和Dropout層間增加2個卷積層,1個批歸一化層和1個平均池化層,這個更深的網(wǎng)絡也執(zhí)行和Wi-GAH同樣的任務. 實驗結(jié)果如圖5所示.

圖5 使用不同深度網(wǎng)絡的準確率Fig.5 Accuracy of using different deep networks
從圖5中可以看出,Wi-GAH在動作識別準確率、 身份識別準確率、 組合準確率均明顯優(yōu)于SignFi. 因為Wi-GAH使用了更深的神經(jīng)網(wǎng)絡模型,擬合函數(shù)的能力比更淺的神經(jīng)網(wǎng)絡SignFi要強. 同時,本研究采用的Wi-GAH算法在動作識別準確率、 身份識別準確率、 組合準確率均明顯優(yōu)于在Wi-GAH基礎上再加深4層的網(wǎng)絡. 模擬結(jié)果表明,并非采用更深的層數(shù)就一定具有更好的識別效果,因為Wi-GAH平均池化層2輸出的特征圖的面積僅有22×3,已經(jīng)不適合繼續(xù)縮小了,繼續(xù)縮小反而會掩蓋有效特征,所以本研究采用的Wi-GAH的深度是比較合適的.
研究提出一種基于CSI的人體感知算法Wi-GAH. Wi-GAH采用不需要手工設計特征的神經(jīng)網(wǎng)絡模型,使用多任務學習的方法,可以同時識別人的動作和身份,解決了現(xiàn)有研究不能同時識別動作和身份的問題. 在150種手勢中識別手勢的準確率能達到95.67%,識別4個人的準確率能達到87.33%,識別有無權限的準確率高達92.05%. 未來可以進一步結(jié)合遷移學習的方法獲得高性能的訓練模型,或通過優(yōu)化多任務中損失函數(shù)的權重來進一步提升身份識別準確率.