吳哲夫,李嘉南,王中友,毛科技,宣 琦,翔 云
(1.浙江工業(yè)大學信息工程學院,杭州 3100232.中國通信服務(wù)產(chǎn)業(yè)浙江公司,杭州 310050;3.浙江工業(yè)大學學院,杭州 310023)
在人體感知領(lǐng)域的眾多研究中,人體朝向檢測一直是一個重要的方向。研究人體朝向在人體感知和行為預測中是非常有意義的一項工作,若能判斷和估計人體朝向,進而可以推斷其當前的姿勢、活動狀態(tài)、行動意圖等,這在監(jiān)控安防、體感游戲、智能家居等領(lǐng)域都有重大的作用。
現(xiàn)有的人體朝向識別主要采用圖像技術(shù)。如Zhu等人[1]利用從錄像中提取的人臉圖像,把不同光線背景下的圖像分為兩組,應(yīng)用PNN和BP神經(jīng)網(wǎng)絡(luò)對人臉圖像進行朝向辨識,準確度在90%左右;Hua[2]根據(jù)人體姿態(tài)的連續(xù)性,使用標簽分布學習分類模型,并引入隱馬爾科夫模型描述時域上人體朝向的變化;但是,采用圖像方法進行人體識別有很大的局限性,需要良好的光照條件,不同人體之間差異較大及隱私性等問題。
針對以上問題,人們把目光投向了通過無線局域網(wǎng)WLAN(Wireless Local Area Network)[3]。由于其不需要人體攜帶特定設(shè)備,受干擾較小,易于部署,成本低等特點,利用無線局域網(wǎng)進行人體感知受到了相當廣泛的關(guān)注。近幾年,國內(nèi)外已經(jīng)有不少學者開始研究利用無線局域網(wǎng)進行人體檢測,比如室內(nèi)定位、活動識別、手勢識別[4]等方面。
本文提出了一種基于無線局域網(wǎng)的信道狀態(tài)信息和機器學習算法的人體朝向檢測方法WiO。算法采用指紋庫方法,整個檢測分為兩個階段:訓練階段和測試階段,分別采集人體朝向不同方向時的CSI信息,然后對CSI數(shù)據(jù)進行預處理,取每對天線對上的30個子載波的統(tǒng)計特征作為機器學習的特征并存入指紋庫,在測試階段利用機器學習算法對其進行分類;同時,為了進一步提高分類的準確率,本文綜合了不同天線對上的CSI幅度和相位信息,得到最終的估計朝向。本文還討論了不同因素對結(jié)果的影響,如距離、數(shù)據(jù)包數(shù)量、數(shù)據(jù)包發(fā)送速率等。
一個無線信道模型可表示為:
Y=HX+N
(1)
式中:X是發(fā)送信號向量,Y是接受信號向量,H是信道增益矩陣,N則是噪聲向量。
根據(jù)正交頻分復用OFDM(Orthogonal Frequency Division Multiplexing)[14]技術(shù),H可表示為:
H=[H1,H2,…,HN]
(2)
Hi=|Hi|ejsin(∠Hi)
(3)
式中:N表示N個子載波,根據(jù)文獻[15]所提出的方法,利用普通的WiFi設(shè)備可以得到30個子載波信息。Hi即表示第i個子載波的信道狀態(tài)信息CSI的復數(shù),|Hi|表示第i個子載波的振幅,∠Hi表示第i個子載波的相位。
對于擁有多個發(fā)送個接受天線的多入多出MIMO(Multiple In Multiple Out)[14]系統(tǒng),每個子載波Hi可以組成一個維度為p×q的矩陣,因此,最后得到的CSI信息是一個p×q×N的矩陣,其中p為發(fā)射天線條數(shù),q為接受天線條數(shù),N為子載波數(shù)。
總的來說,對于人體的被動朝向檢測實現(xiàn)的關(guān)鍵在于:人體朝向不同方向時,引起環(huán)境的不同變化,對無線信號的信道產(chǎn)生不同的影響,如圖1所示。
圖1 人體不同朝向時的多徑示意圖
圖2 人體朝向同一方向和不同方向時的CSI幅度曲線
因此,采用的物理量需要滿足以下兩個條件:①在同一個方向具有穩(wěn)定性;②在不同方向具有一定的區(qū)分度。
圖2(a)表示人體在同一方向兩次測量到的經(jīng)過預處理后的CSI幅度信息(詳細處理方法在下一小節(jié)介紹),橫坐標表示子載波序號,即1到30號子載波,縱坐標表示每一個子載波的幅度??梢钥闯?在同一方向上兩條曲線基本重合,而圖2(b)則是不同方向上的CSI數(shù)據(jù),具有一定的區(qū)分度。
在對CSI數(shù)據(jù)進行機器學習算法分類之前,需要對其進行預處理。預處理主要包括原始數(shù)據(jù)提取、異常值處理、信號去噪、特征提取和歸一化。
在大多數(shù)利用CSI進行人體感知的方案中,研究者們大多是利用CSI的幅度信息作為原始的采集信息,如文獻[9-10]等,因為CSI幅度信息易于提取,分析方便且穩(wěn)定性高。而CSI信息中的另一部分:相位信息,卻很少有人關(guān)注,這是由于隨機噪聲和發(fā)射接收設(shè)備之間的時鐘不同步,導致原始的靜態(tài)相位信息表現(xiàn)成一種隨機分布的狀態(tài),這種原始的相位信息是不可用的[15]。針對此問題,文獻[16]提出可以利用子載波對稱性,對原始相位進行一個線性變化,從而獲得穩(wěn)定的相對值。
(4)
(5)
(6)
圖3 CSI幅度和相位信息極坐標圖
圖3為CSI信息極坐標圖,其中點距離圓心的距離為幅值,角度為相位值。圖中淺色稀疏點表示采集的原始CSI信息,其中幅度保持一致,而相位隨機分布。深色密集點表示經(jīng)過線性變換后的CSI信息,可以看到相位保持在了一定的范圍內(nèi)。
由于經(jīng)過處理后的相位和幅度信息可進行相同的處理,所以下文對數(shù)據(jù)的處理方法兩者通用,僅介紹和分析幅度方面。
本文采用拉依達方法檢測異常值并將其代替為樣本的值。通過將數(shù)據(jù)的每個子載波值依次與其他樣本的子載波均值相比較,若差值大于3倍的標準差,則判斷該值為異常值,并用均值代替。
(7)
無線信號會受到周圍環(huán)境的影響,需要對CSI進行去噪處理。本文采用加權(quán)移動平均濾波器(weightedmoving average filter)[17]對CSI數(shù)據(jù)進行去噪,具體公式如下:
(8)
式中:n表示第n個數(shù)據(jù)包,i表示1到30個子載波,m值表示平滑程度。m越大,信號越平滑,但會損失更多的信息。圖4表示原始的CSI數(shù)據(jù)經(jīng)過加權(quán)移動平均濾波處理后的曲線,可見原始噪聲波動部分明顯得到了平滑改善(本文中m=50)。
圖4 CSI去噪處理
原始的數(shù)據(jù)信息并不能有效的被分類器識別,并且數(shù)據(jù)冗余度高,不利于指紋庫存儲,因此需要從原始數(shù)據(jù)中提取最能代表的特征值。本文采用以下參數(shù)反應(yīng)人體朝向的CSI變化:最大值(MAX)、最小值(MIN)、極差(RANGE)、均值(MEAN)、標準差(STD)和中位數(shù)絕對偏差(MAD),并根據(jù)式(9)對其歸一化處理,作為機器學習特征。圖5反映了這6個不同特征值在4個不同方向上的變化??梢钥闯?這些統(tǒng)計值在不同方向上有明顯的辨識度,可以作為機器學習分類特征。
(9)
式中:Vold表示原特征值,Vnew表示歸一化后的值,min和max分別表示某個特征的最小值和最大值。
圖5 不同方向特征值變化
對于CSI的幅度和相位信息,經(jīng)過上述的預處理方法后,分別可得到6個特征值,即
Famp=[Famp-maxFamp-minFamp-rangeFamp-meanFamp-stdFamp-mad]
(10)
Fph=[Fph-maxFph-minFph-rangeFph-meanFph-stdFph-mad]
(11)
同時,為了進一步提高檢測的精準度,本文綜合p×q對天線對的CSI信息,最終指紋庫每個類別的指紋結(jié)構(gòu)為:
(12)
利用CSI進行被動人體朝向檢測最終可以歸結(jié)為分類問題。本文采用了3種機器學習算法進行分類比較,分別為K近鄰KNN(K-Nearest Neighbor classification)、樸素貝葉斯NB(Naive Bayes classifier)和支持向量機SVM(Support Vector Machine)。
KNN從指紋庫中找到和測試數(shù)據(jù)最接近的k條記錄,然后根據(jù)他們的主要類別來決定測試數(shù)據(jù)的類別。本文中k取10,并采用歐幾里得度量(Euclidean Metric)作為度量距離。
(13)
根據(jù)樸素貝葉斯的思想基礎(chǔ),通過計算測試樣本在每個類別下的概率,取概率最大的對應(yīng)分類作為估計方向。
假設(shè)最終判斷為k方向,則:
(14)
式中:Ftest是測試數(shù)據(jù)處理后得到的特征值,P(di)表示i方向出現(xiàn)的概率(i=1,2,3,4)。fj表示該樣本的第j個特征值,m為樣本的總特征數(shù)。
由于特征值不是離散值,通常假定其值服從高斯分布,即:
(15)
支持向量機超平面表示為:
f(x)=ωx+b
(16)
為了解決支持向量機的非線性分類問題,使用核函數(shù)方法將輸入數(shù)據(jù)特征映射到高維空間,尋找最大化分類超平面。非線性SVM模型可以表示為:
(17)
滿足
di(ω·φ(Fi)+b)≥1,i=1,2,…,N
式中:Fi為指紋庫指紋,φ:Fi→Hi為向高維空間的投影(本文選擇的核函數(shù)為徑向基函數(shù)RBF(Radial Basis Function),di∈{-1,1}表示分類標簽。
根據(jù) Lagrange優(yōu)化方法[10],通過給每一個約束條件加上一個Lagrange乘子λ,構(gòu)造拉格朗日函數(shù),即:
(18)
基于二次規(guī)劃法,可以求解出λi,ω和b。最終分類決策函數(shù)表示為:
(19)
當f(Ftest)=1時,表示分到正類,否則分到負類。
實驗平臺主要分成接入點(AP)和監(jiān)控點(MP)兩部分。具體設(shè)備為兩臺裝有Intel 5300網(wǎng)卡的筆記本,其操作系統(tǒng)為Ubuntu 14.04 LTS。在筆記本上安裝Halperin提供的CSITOOL[19]采集CSI數(shù)據(jù)。Intel 5300網(wǎng)卡提供了3條MIMO天線,理論上可以產(chǎn)生3×3=9條天線對鏈路,但在實際中我們發(fā)現(xiàn)受到環(huán)境波動,設(shè)備的工作狀態(tài)等因素的影響,能夠穩(wěn)定提取到的鏈路數(shù)為3根。所以本文選取了天線對1-1,1-2,1-3進行研究。
圖6 實驗環(huán)境示意圖
實驗環(huán)境如圖6所示。本文選擇了多徑豐富的辦公室作為實驗地點,大小為5 m×5 m。AP-MP放置于高度為1.2m的辦公桌上。在數(shù)據(jù)采集時,人體靜止于AP-MP鏈路之間,分別朝向不同的方向(相對鏈路正東、正南、正西、正北方向,如圖7),MP接受來自AP的數(shù)據(jù)包,并從中提取CSI數(shù)據(jù)。每次采集時間為10 s,數(shù)據(jù)包發(fā)送速率為100個/s。
圖7 人體方位示意圖
保持訓練和測試階段兩個階段的人體位置在同一位置。將訓練階段采集到的數(shù)據(jù)處理后存入特征指紋庫;在測試階段,將測試數(shù)據(jù)后提取特征并利用分類算法與特征指紋庫相比對,從而判別方向。
實驗首先比較了采用CSI幅度和相位信息對檢測準確度的影響。
如圖8所示,利用幅度實現(xiàn)人體朝向檢測的效果要優(yōu)于相位,CSI相位比幅度信息對環(huán)境更加敏感。雖然利用線性變化得到了相對相位,但其中仍存在著一些隨機噪聲,導致相位效果相對較差。但是,本文提出的采用結(jié)合幅度和相位信息的準確度要高于采用單一參數(shù)。雖然單一的相位信息準確度不高,但通過結(jié)合幅度進行輔助分類,從而提高分類準確度。
圖8 CSI幅度和相位的檢測準確度
本文比較了不同天線對的分類性能,從圖9可以發(fā)現(xiàn),不同天線對的分類效果是有差異的。對于同一個帶分類樣本,天線對1-1、1-2、1-3有可能得到不同的分類結(jié)果,這是由于不同天線對的信號路徑不同,人體對信號的影響就有差異。本文綜合了不同天線對利用更多的信息,實驗結(jié)果說明綜合多對天線對的CSI信息能有效的提高分類效果。
圖9 不同天線對的檢測準確度
實驗還討論了人體在AP-MP間的不同距離對朝向檢測準確度的影響。實驗者分別站立AP-MP鏈路中距MP0.6 m、1.2 m、1.8 m、2.4 m、3.0 m和3.6 m的位置,得到結(jié)果如圖10所示。
圖10 人體-MP距離影響
圖11 AP-MP距離影響
結(jié)果表明,隨著人體距離MP由近到遠,3種分類算法的準確度先增大再減小,但當人體距離MP太近時,準確度反而降低,這可能是由于人體距MP太近反而影響到了無線信號的接收。實驗結(jié)果表明,在人體距離MP1m左右是最佳的檢測區(qū)域,此時3種算法準確度都達到了最大值。另一方面,KNN和SVM的性能要明顯優(yōu)于NB算法,KNN和SVM在不同距離均有90%以上的準確度,在最佳檢測距離時甚至達到了98.94%,而NB普遍在85%以下。另一個實驗中,固定人體的位置,當AP-MP距離分別為1.2 m、1.8 m、2.4 m、3.0 m和3.6 m,實驗結(jié)果如圖11所示。隨著AP-MP距離的減小,分類效果提高。但繼續(xù)減小距離,準確度達到飽和,NB算法還出現(xiàn)了下降的情況。
實驗還研究了數(shù)據(jù)包的發(fā)送數(shù)量和發(fā)送速率對實驗結(jié)果的影響,如圖12和圖13所示。
圖12 數(shù)據(jù)包數(shù)量影響
圖13 數(shù)據(jù)包發(fā)送速率影響
如圖,朝向檢測準確度隨著數(shù)據(jù)包數(shù)量增加而有所提高,這是因為較多的數(shù)據(jù)包檢測到了更豐富的人體信息,而且較多的訓練樣本也會提高分類準確性。
在圖13中,改變數(shù)據(jù)包的發(fā)送速率對結(jié)果并沒有規(guī)律性的變化,KNN和SVM算法保持在95%左右,NB效果依然較差,在80%上下浮動。這是由于本次實驗中采集數(shù)據(jù)時人體是靜止的,不同發(fā)送速率并不能獲得更多的人體信息。
圖14 不同算法的運行時間
實驗最后比較了3種算法的時間復雜度。如圖14所示,NB算法雖然檢測精度較低,但所需時間最短,只有0.023 6 s;kNN和SVM算法用時間較長,分別為0.857 1 s和0.776 1 s。因此我們建議,在實時性要求較高、但精度要求較低的場景下可以使用NB算法;而在實時性要求較低,但精度要求較高的場景下使用KNN或SVM算法。
本文提出一種新型的人體朝向檢測方案WiO,將信道狀態(tài)信息應(yīng)用到人體朝向檢測中,并利用機器學習算法進行方向分類。通過實驗,本文發(fā)現(xiàn)結(jié)合CSI幅度和相位比起采用單一的幅度或相位信息有明顯的提升;而且,不同天線對上的分類效果存在差異,因此本文綜合考慮了多對天線對上的CSI信息,從而進一步提高了識別的準確度;另外,本文還討論了不同的因素,如檢測距離、數(shù)據(jù)包發(fā)送數(shù)對實驗結(jié)果的影響,發(fā)現(xiàn)KNN和SVM算法效果優(yōu)于NB算法,4個方向的檢測在最佳環(huán)境下達到了98%的精度。
我們的研究是對后續(xù)工作開展的一個基礎(chǔ)。接下來,我們將進一步研究多目標的人體朝向檢測,移動人體的朝向檢測等內(nèi)容。
[1] 朱宇鑫. 基于神經(jīng)網(wǎng)絡(luò)的人臉朝向識別問題研究[D]. 蘇州:蘇州大學,2014.
[2] 花景培. 監(jiān)控視頻中行人跟蹤及姿態(tài)估計[D]. 南京:南京郵電大學,2016.
[3] Crow B P,Widjaja I,Kim J G,et al. IEEE 802.11 Wireless Local Area Networks[J]. IEEE Communications Magazine,1997,35(9):116-26.
[4] 朱海,肖甫,孫力娟,等. 基于信道狀態(tài)信息的WiFi環(huán)境感知技術(shù)[J]. 南京郵電大學學報(自然科學版),2016,36(1):94-103.
[5] 尚俊娜,盛林,程濤,等. 基于LQI權(quán)重和改進粒子群算法的室內(nèi)定位方法[J]. 傳感技術(shù)學報,2017,30(2):284-90.
[6] 張宏剛,黃華. 基于RSSI路徑損耗因子動態(tài)修正的三邊質(zhì)心定位算法[J]. 傳感技術(shù)學報,2016,29(11):1731-6.
[7] Wang Z,Han J,Xi W,et al. Efficient and Secure Key Extraction Using Channel State Information[J]. The Journal of Supercomputing,2014,70(3):1537-54.
[8] 吳哲夫,周言. 基于信道狀態(tài)信息的無源被動定位[J]. 傳感技術(shù)學報,2015,28(5):677-683.
[9] Liu X,Cao J,Tang S,et al. Contactless Respiration Monitoring Via Off-the-Shelf WiFi Devices[J]. IEEE Transactions on Mobile Computing,2016,15(10):2466-79.
[10] He W,Wu K,Zou Y,et al. WiG:WiFi-Based Gesture Recognition System[C]//International Conference on Computer Communication and Networks(ICCCN). Las Vegas:ICCCN,2015:1-7.
[11] Huang L,Huang L,Huang L,et al. WiFinger:Talk to Your Smart Devices With Finger-Grained Gesture[C]//ACM International Joint Conference on Pervasive and Ubiquitous Computing(Ubicomp). Heidelberg:ubicomp,2016:250-261.
[12] Wang X,Gao L,Mao S,et al. DeepFi:Deep Learning for Indoor Fingerprinting Using Channel State Information[C]//Wireless Communications and NETWORKING Conference(WCNC). New Orleans:WCNC,2015:1666-1671.
[13] Xiao Y,Wang J,Zhang S,et al. Accurate Indoor Localization with Multiple Feature Fusion[C]//International Conference on Wireless Algorithms,Systems,and Applications(WASA). Guilin(WASA),2017:522-533.
[14] Li B,Salter J,Dempster A G,et al. Indoor Positioning Techniques Based on Wireless LAN[C]//IEEE International Conference on Lan,2006,10(3):13-16.
[15] 李鑫. 基于CSI的室內(nèi)人體摔倒檢測及應(yīng)用研究[D]. 武漢:武漢理工大學,2015.
[16] Wu C,Yang Z,Zhou Z,et al. Phase U:Real-Time LOS Identification With WiFi[C]//IEEE Conference on Computer Communications(INFOCOM). Kowloon:INFOCOM,2015:2038-46.
[17] Wang Y,Wu K,Ni L M. WiFall:Device-Free Fall Detection by Wireless Networks[J]. Han C,Wu K,Wang Y, et al. WiFall:Device-free fall detection by wireless networks[C]//IEEE Conference on Computer Communications(INFOCOM),Toronto:INFOCOM,2014:271-279.
[18] Chang C C,Lin C J. LIBSVM:A Library for Support Vector Machines[J]. Acm Transactions on Intelligent Systems and Technology,2007,2(3):27.
[19] Halperin D,Hu W,Sheth A,et al. Tool Release:Gathering 802.11n Traces with Channel State Information[J]. Acm Sigcomm Computer Communication Review,2011,41(1):53-53.