鄭 勤,許志猛,陳良琴
(福州大學(xué)物理與信息工程學(xué)院,福建 福州 350108)
人體感知技術(shù)是支持許多應(yīng)用工程的關(guān)鍵技術(shù),可以應(yīng)用于醫(yī)療護(hù)理[1]、 運(yùn)動(dòng)健身、 智能家居[2]、 監(jiān)控防盜等領(lǐng)域,具有廣闊的應(yīng)用前景.
傳統(tǒng)的人體感知技術(shù)主要應(yīng)用于相機(jī)[3]、 雷達(dá)[4]、 可穿戴設(shè)備[5]等,但這些傳統(tǒng)方法都有各自的局限性. 基于相機(jī)的人體感知技術(shù)需要在光照條件適當(dāng)?shù)那疤嵯拢拍茏R(shí)別相機(jī)視線范圍內(nèi)的人體活動(dòng),并且當(dāng)用戶暴露在相機(jī)下,容易產(chǎn)生一種隱私被侵犯的不適感; 基于雷達(dá)的人體感知技術(shù),低性能的雷達(dá)感知范圍僅僅幾十厘米,局限性大,高性能的雷達(dá)成本昂貴,不便于大規(guī)模部署; 基于可穿戴設(shè)備的人體感知技術(shù)有較精確的感知能力,但需要用戶以特定的方式穿戴設(shè)備以確保設(shè)備可以正常工作,并非所有用戶都樂(lè)于長(zhǎng)期穿戴一個(gè)設(shè)備,具有較大的局限性. 基于WiFi的人體感知技術(shù)可以很好地解決以上的限制,它不依賴于光照條件,不侵犯用戶的隱私,低成本,精度較高,并且用戶不需要攜帶任何設(shè)備.
在過(guò)去幾年,基于WiFi的人體感知技術(shù)得到了極大的發(fā)展. 文獻(xiàn)[6]利用WiFi的信道狀態(tài)信息(channel state information,CSI)的幅度和相位信息來(lái)檢測(cè)環(huán)境中是否有人,人是否在移動(dòng); 文獻(xiàn)[7]使用支持向量機(jī)(support vector machines,SVM)來(lái)進(jìn)行跌倒檢測(cè); 文獻(xiàn)[8]使用定向天線,根據(jù)用戶在說(shuō)話時(shí)唇部的運(yùn)動(dòng)來(lái)識(shí)別簡(jiǎn)單的口語(yǔ); CARM[9]建立了CSI速度模型和CSI活動(dòng)模型,量化建立CSI信號(hào)變化和特定運(yùn)動(dòng)的相關(guān)性,實(shí)現(xiàn)了9種動(dòng)作的分類; SignFi[10]使用卷積神經(jīng)網(wǎng)絡(luò),能夠較好地識(shí)別276個(gè)手勢(shì).
傳統(tǒng)的研究成果能夠識(shí)別特定的動(dòng)作,但是不能識(shí)別特定動(dòng)作所對(duì)應(yīng)的用戶的身份. 文獻(xiàn)[11]利用CSI信號(hào)識(shí)別檢測(cè)用戶的步態(tài)信息,加以識(shí)別,但是需要用戶走過(guò)一條較長(zhǎng)的路徑,這對(duì)于很多用戶是不方便的. 在很多環(huán)境,例如家庭、 辦公室,都是多個(gè)用戶共同使用,在區(qū)分不同動(dòng)作的同時(shí),區(qū)分用戶的身份也是很有必要的. 例如,在家庭環(huán)境中,可以設(shè)定家長(zhǎng)使用動(dòng)作可以打開(kāi)微波爐,但是小孩使用那種動(dòng)作卻不能.
為此,本研究提出一種基于WiFi的手勢(shì)和身份識(shí)別算法(recognition algorithm of gestures and humans via WiFi,Wi-GAH),該算法可以同時(shí)識(shí)別用戶手勢(shì)和身份,具有較高的準(zhǔn)確率.
研究提出的Wi-GAH總體流程如圖1所示. 將采集得到的CSI數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)預(yù)處理,分成訓(xùn)練集和測(cè)試集,然后將訓(xùn)練集數(shù)據(jù)輸入設(shè)定好的神經(jīng)網(wǎng)絡(luò)模型中,訓(xùn)練出一個(gè)可以很好識(shí)別訓(xùn)練集數(shù)據(jù)的模型,最后利用這個(gè)模型來(lái)識(shí)別測(cè)試集中的數(shù)據(jù).
圖1 Wi-GAH流程圖Fig.1 Flow chart of Wi-GAH
WiFi采用正交頻分復(fù)用(orthogonal frequency division multiplexing,OFDM)技術(shù),所以獲取的信道動(dòng)態(tài)變化具有多樣性. 一個(gè)天線對(duì)的信道矩陣描述公式如下:
yi=Hixi+ni(i∈1, …,NS)
(1)
其中:NS代表子載波的個(gè)數(shù);xi和yi分別代表發(fā)送端和接收端的信號(hào);ni代表噪聲; 可以通過(guò)將接收端信號(hào)除以發(fā)送端信號(hào)來(lái)估計(jì)出第i個(gè)子載波信道矩陣Hi. 信道矩陣被稱為CSI,它反映發(fā)送端信號(hào)到接收端信號(hào)受到信道的影響.
獲得的CSI包括幅度和相位2個(gè)成分. Wi-GAH對(duì)原始CSI取模,得到其幅度信息. Wi-GAH處理的CSI數(shù)據(jù),1發(fā)3收,每個(gè)天線對(duì)有30個(gè)子載波,信號(hào)發(fā)送頻率為100 Hz,發(fā)送時(shí)間為2 s,所以一個(gè)樣本包含18 000個(gè)幅度值. 90個(gè)子載波的幅度隨時(shí)間變化,它們具有時(shí)間相關(guān)性; 3根天線擺放的位置不同,得到的幅度不同,它們具有空間相關(guān)性; 每個(gè)天線對(duì)的30個(gè)子載波具有不同的頻率,由于物體運(yùn)動(dòng)造成的影響不同,它們具有頻率相關(guān)性. 為了充分利用18 000個(gè)幅度值的相關(guān)性,Wi-GAH將每個(gè)樣本變換為三維矩陣,矩陣大小為3×30×200.
Wi-GAH的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Structure diagram of neural network
每個(gè)樣本經(jīng)過(guò)數(shù)據(jù)預(yù)處理后獲得的矩陣大小為3×30×200,輸入層將矩陣轉(zhuǎn)置為更適合CNN處理的類似圖像的矩陣200×30×3,其中200×30稱為面積,3稱為通道數(shù). 輸入層不學(xué)習(xí)任何參數(shù).
批歸一化層[12]可以減小過(guò)擬合的可能性,降低網(wǎng)絡(luò)對(duì)于特征值初始化的依賴,增加Wi-GAH的穩(wěn)定性. 批歸一化的公式如下
(2)
卷積層有局部連接,權(quán)重共享的特點(diǎn),用卷積運(yùn)算代替全連接層的乘法運(yùn)算,大大減少了運(yùn)算單元,加快了計(jì)算的速度. 而且正是因?yàn)橛?jì)算單元的減少,使模型過(guò)擬合的可能性降低,使模型更加穩(wěn)定. 本研究使用二維卷積,公式如下
(3)
其中:I表示輸入矩陣;K表示卷積核. 卷積核的通道數(shù)通常與輸入特征圖的通道數(shù)相同,所以卷積核的實(shí)際大小需要在二維的基礎(chǔ)上乘以當(dāng)前輸入特征圖的通道數(shù). Wi-GAH使用卷積核大小均為3×3,但是由于每個(gè)卷積層輸入特征圖通道數(shù)的不同,卷積層1~4卷積核的實(shí)際大小分別為3×3×3、 3×3×8、 3×3×8、 3×3×16. 為了保留每個(gè)輸入特征圖的邊緣信息,避免因?yàn)槎啻尉矸e而面積越變?cè)叫。琖i-GAH設(shè)置卷積核的步長(zhǎng)均為1,并且在邊緣補(bǔ)0,可以得到面積與輸入特征圖的面積相等的輸出特征圖. 對(duì)于卷積層來(lái)說(shuō),輸出的特征圖的通道數(shù)等于卷積核的個(gè)數(shù). 隨著網(wǎng)絡(luò)層數(shù)的加深,面積的減少,為了學(xué)習(xí)到更多的有效參數(shù),需要把通道數(shù)變大,所以Wi-GAH也在后面的卷積層中適當(dāng)?shù)卦黾恿司矸e核. 卷積層1~4卷積核個(gè)數(shù)分別為8、 8、 16、 16. Wi-GAH卷積層均使用線性整流函數(shù)(rectified linear unit,ReLU),如下式
f(x)=max{0,x}
(4)
ReLU[13]可以減小在反向傳播時(shí)可能出現(xiàn)的梯度消失的情況,它能使用一部分特征為0,減小特征相互依存的關(guān)系,緩解過(guò)擬合的情況.
平均池化層將核內(nèi)的特征平均得到新的特征,減少了特征的數(shù)量,保留了有效的特征,可以加快計(jì)算的速度. Wi-GAH的池化核均為3×3,步長(zhǎng)為3,余下特征丟棄.
Dropout[14]層在不同的訓(xùn)練輪次隨機(jī)丟棄一些神經(jīng)元,所以層間的連接參數(shù)不會(huì)過(guò)大,讓每個(gè)神經(jīng)元都能發(fā)揮作用,可以減小過(guò)擬合的可能. Wi-GAH中Dropout層隨機(jī)丟棄的概率為0.5,能充分發(fā)揮Dropout層的效果.
Wi-GAH通過(guò)展平層將22×3×16的特征圖重組成一維,方便與全連接層相連. 全連接層的所有神經(jīng)單元將與上一層所有神經(jīng)單元連接起來(lái),它們包含Wi-GAH的大部分參數(shù). 全連接層1和2使用的激活函數(shù)是ReLU,全連接層3和4使用激活的函數(shù)是softmax,softmax公式如下
(5)
其中:Si代表第i類的概率;C代表類的總數(shù),即輸出矩陣是樣本屬于各個(gè)分類的概率.
對(duì)于多分類問(wèn)題,損失函數(shù)如下
(6)
L=αLg+βLh
(7)
α和β分別是2個(gè)損失函數(shù)的系數(shù),2者的和為1. 在側(cè)重識(shí)別某一個(gè)任務(wù)的時(shí)候,可以調(diào)整它們的值,使模型的性能偏向了某個(gè)任務(wù),Wi-GAH均設(shè)置為0.5.
本實(shí)驗(yàn)基于SignFi[7]中采集的CSI數(shù)據(jù)集中的部分?jǐn)?shù)據(jù). 數(shù)據(jù)是在一個(gè)13 m×12 m的實(shí)驗(yàn)室中采集的,實(shí)驗(yàn)室周圍擺放著許多物品,CSI信號(hào)受到多徑效應(yīng)的嚴(yán)重影響. 兩臺(tái)使用Intel 5300網(wǎng)卡,安裝有csitool[15]的筆記本電腦為信號(hào)發(fā)送機(jī)和信號(hào)接收機(jī),二者之間的直線距離為230 cm. 信號(hào)發(fā)送機(jī)和信號(hào)接收機(jī)在5 GHz頻段工作,信道帶寬為20 MHz. 信號(hào)發(fā)送機(jī)使用1根天線; 信號(hào)接收機(jī)使用3根天線,使用30路子載波. 特別的是,雖然實(shí)驗(yàn)人員的位置相對(duì)固定,但是實(shí)驗(yàn)人員的位置并不在信號(hào)發(fā)送機(jī)和信號(hào)接收機(jī)直線路徑之間,這增加了感知的難度.
使用的數(shù)據(jù)為4個(gè)用戶每人做150種手勢(shì)動(dòng)作,每種手勢(shì)重復(fù)10次,一共為6 000個(gè)CSI樣本. 4個(gè)用戶年齡為26~39歲,身高為168~180 cm,體質(zhì)量為55~90 kg. 手勢(shì)動(dòng)作不僅僅包括小幅度的活動(dòng)手指,也可能包括頭部、 四肢、 軀干的大幅度運(yùn)動(dòng). 本研究的訓(xùn)練和測(cè)試使用的電腦操作系統(tǒng)均為Window 10,顯卡為RTX 2080 Ti,運(yùn)行內(nèi)存為32 GB. 使用4 800個(gè)樣本作為訓(xùn)練集,1 200個(gè)樣本作為測(cè)試集,學(xué)習(xí)率為0.001,批大小為64.
Wi-GAH處理的手勢(shì)分類和人物分類均為多分類任務(wù),且分布均勻,故使用準(zhǔn)確率A作為評(píng)估指標(biāo),如下式
(8)
(9)
其中:Ag和Ah分別是動(dòng)作識(shí)別準(zhǔn)確率和身份識(shí)別準(zhǔn)確率;ξ和ζ為2個(gè)準(zhǔn)確率的系數(shù),在側(cè)重不同的準(zhǔn)確率的時(shí)候可以調(diào)整其大小,Wi-GAH將ξ和ζ設(shè)置為0.5.
2.3.1處理不同任務(wù)的性能分析
圖3 處理不同任務(wù)的準(zhǔn)確率Fig.3 Accuracy in handling different tasks
處理不同任務(wù)的準(zhǔn)確率如圖3所示,在高達(dá)150種手勢(shì)的情況下,本研究算法依然能夠較好地識(shí)別出該樣本所對(duì)應(yīng)的人或者手勢(shì). 當(dāng)在需要同時(shí)識(shí)別人物和手勢(shì)的情況下,識(shí)別準(zhǔn)確率會(huì)比單獨(dú)識(shí)別某一方面更高一些. 這是因?yàn)樵谟卸喾N任務(wù)的條件下,神經(jīng)網(wǎng)絡(luò)的過(guò)擬合的可能性會(huì)變小,會(huì)自動(dòng)尋找同時(shí)滿足多種任務(wù)的特征,所以找到的特征魯棒性更強(qiáng),更有效.
在很多情況下,并不需要具體識(shí)別出哪一個(gè)人,只需要識(shí)別出用戶是否有適合的權(quán)限. 例如在家庭環(huán)境中,父母可以使用廚房用品或者電視機(jī),但是出于安全或者從兒童健康成長(zhǎng)考慮,兒童使用廚房用品或者電視機(jī)則需要受到限制; 例如在實(shí)驗(yàn)室,教師和學(xué)生的權(quán)限不同,但是并不需要識(shí)別出教師和學(xué)生的具體身份,只需要識(shí)別用戶處于哪個(gè)類別. 研究將4位實(shí)驗(yàn)人員分成2類,假定其中2位為有權(quán)限的人員,另外2位為沒(méi)有權(quán)限的人員,其兩兩組合共3種. 識(shí)別權(quán)限的方式有2種,一種是先識(shí)別出具體哪個(gè)人,再識(shí)別其對(duì)應(yīng)的權(quán)限類別; 另外一種是直接識(shí)別該人對(duì)應(yīng)的權(quán)限類別. 實(shí)驗(yàn)結(jié)果如表1所示.
表1 權(quán)限識(shí)別準(zhǔn)確率
可以看出,識(shí)別身份再識(shí)別權(quán)限和直接識(shí)別權(quán)限的準(zhǔn)確率差別很小. 直接識(shí)別權(quán)限減小了Wi-GAH分類層的連接數(shù),不關(guān)注于冗余信息的識(shí)別,減小了參數(shù)的總數(shù),但是并沒(méi)有造成性能的下降. 直接識(shí)別權(quán)限可以簡(jiǎn)化識(shí)別權(quán)限任務(wù)模型,特別是需要識(shí)別較大量的人員時(shí).
2.3.2不同輸入矩陣對(duì)于準(zhǔn)確率的影響
本研究使用的Wi-GAH算法采用三維輸入矩陣. 采用二維矩陣的輸入也是一種常見(jiàn)的選擇,也就是將200×30×3的矩陣轉(zhuǎn)換為200×90的矩陣,但是減小維度可能會(huì)造成信息的損失. 此外,考慮到0~2 Hz頻率的信號(hào)可能與動(dòng)作無(wú)關(guān),可將三維矩陣濾除0~2 Hz頻率的信號(hào)后作為另一種新的輸入矩陣. 保持Wi-GAH其他結(jié)構(gòu)不變,將輸入矩陣替換為以上兩種輸入矩陣,得到的準(zhǔn)確率與Wi-GAH的準(zhǔn)確率對(duì)比如圖4所示.
圖4 不同輸入矩陣的識(shí)別準(zhǔn)確率Fig.4 Recognition accuracy of different input matrices
從圖4中可以看出,本研究采用的Wi-GAH算法在動(dòng)作識(shí)別準(zhǔn)確率、 身份識(shí)別準(zhǔn)確率、 組合準(zhǔn)確率上均優(yōu)于采用其他兩種輸入矩陣的算法. 因?yàn)槿S矩陣能充分利用天線擺放位置不同所產(chǎn)生的空間信息,所以比起二維矩陣輸入,三維矩陣輸入提供的有效信息更豐富,對(duì)識(shí)別手勢(shì)動(dòng)作和人物身份有所幫助. 此外,由于濾波器在過(guò)濾噪聲的同時(shí)也會(huì)濾除部分有效的信號(hào),可能對(duì)識(shí)別率有負(fù)面影響,增加濾波器后識(shí)別準(zhǔn)確率出現(xiàn)了下降. 考慮到神經(jīng)網(wǎng)絡(luò)丟棄神經(jīng)元、 池化等操作,也有去除噪聲的功能,一定程度上可以代替濾波器,因此本研究的應(yīng)用環(huán)境,輸入矩陣可以不加濾波器.
2.3.3不同深度的神經(jīng)網(wǎng)絡(luò)對(duì)于準(zhǔn)確率的影響
SignFi[7]使用很少層的神經(jīng)網(wǎng)絡(luò)進(jìn)行手勢(shì)識(shí)別,本研究模仿其神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),來(lái)執(zhí)行和Wi-GAH同樣的任務(wù). 另外,在Wi-GAH的基礎(chǔ)上,在平均池化層2和Dropout層間增加2個(gè)卷積層,1個(gè)批歸一化層和1個(gè)平均池化層,這個(gè)更深的網(wǎng)絡(luò)也執(zhí)行和Wi-GAH同樣的任務(wù). 實(shí)驗(yàn)結(jié)果如圖5所示.
圖5 使用不同深度網(wǎng)絡(luò)的準(zhǔn)確率Fig.5 Accuracy of using different deep networks
從圖5中可以看出,Wi-GAH在動(dòng)作識(shí)別準(zhǔn)確率、 身份識(shí)別準(zhǔn)確率、 組合準(zhǔn)確率均明顯優(yōu)于SignFi. 因?yàn)閃i-GAH使用了更深的神經(jīng)網(wǎng)絡(luò)模型,擬合函數(shù)的能力比更淺的神經(jīng)網(wǎng)絡(luò)SignFi要強(qiáng). 同時(shí),本研究采用的Wi-GAH算法在動(dòng)作識(shí)別準(zhǔn)確率、 身份識(shí)別準(zhǔn)確率、 組合準(zhǔn)確率均明顯優(yōu)于在Wi-GAH基礎(chǔ)上再加深4層的網(wǎng)絡(luò). 模擬結(jié)果表明,并非采用更深的層數(shù)就一定具有更好的識(shí)別效果,因?yàn)閃i-GAH平均池化層2輸出的特征圖的面積僅有22×3,已經(jīng)不適合繼續(xù)縮小了,繼續(xù)縮小反而會(huì)掩蓋有效特征,所以本研究采用的Wi-GAH的深度是比較合適的.
研究提出一種基于CSI的人體感知算法Wi-GAH. Wi-GAH采用不需要手工設(shè)計(jì)特征的神經(jīng)網(wǎng)絡(luò)模型,使用多任務(wù)學(xué)習(xí)的方法,可以同時(shí)識(shí)別人的動(dòng)作和身份,解決了現(xiàn)有研究不能同時(shí)識(shí)別動(dòng)作和身份的問(wèn)題. 在150種手勢(shì)中識(shí)別手勢(shì)的準(zhǔn)確率能達(dá)到95.67%,識(shí)別4個(gè)人的準(zhǔn)確率能達(dá)到87.33%,識(shí)別有無(wú)權(quán)限的準(zhǔn)確率高達(dá)92.05%. 未來(lái)可以進(jìn)一步結(jié)合遷移學(xué)習(xí)的方法獲得高性能的訓(xùn)練模型,或通過(guò)優(yōu)化多任務(wù)中損失函數(shù)的權(quán)重來(lái)進(jìn)一步提升身份識(shí)別準(zhǔn)確率.