吳哲 樊坤鵬 陳 濱 劉 愷 方路平
(*浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310023) (**浙江工業(yè)大學(xué)設(shè)計藝術(shù)學(xué)院 杭州 310023)
室內(nèi)人體朝向檢測是一項重要且應(yīng)用廣泛的技術(shù),在體感游戲、醫(yī)學(xué)護理等領(lǐng)域都有著重要的作用。在體感游戲方面,目前大多數(shù)感知技術(shù)依賴于特定的傳感器,存在佩戴過程繁瑣且設(shè)備昂貴等問題,這對體感游戲的普及產(chǎn)生了一定的影響?;跓o線信號進(jìn)行人體朝向檢測的方法可以更好地提高玩家游戲體驗。在醫(yī)學(xué)護理方面,人體朝向的檢測可以幫助護士更好地掌握臨床病人整體狀況,對可能出現(xiàn)的緊急狀況進(jìn)行預(yù)警。
傳統(tǒng)無線信號的室內(nèi)人體感知技術(shù)主要是基于接收信號強度(received signal strength,RSS)[1-3],但RSS存在波動性大、不夠穩(wěn)定的缺點[4]。相比于RSS,信道狀態(tài)信息(channel state information, CSI)作為物理層信息將單值的RSS擴展至頻域,在頻域和時域上提供了更細(xì)的粒度信息,而且更加穩(wěn)定。近些年來,越來越多的研究人員開始使用CSI進(jìn)行室內(nèi)人體狀態(tài)的研究,丁偉利等人[5]提出了一種基于虛擬試驗箱的手勢識別算法。Liu等人[6]利用CSI信息設(shè)計了一個人體睡眠呼吸檢測系統(tǒng),可以識別人體呼吸頻率、不同的睡姿和翻身動作。王金甲等人[7]通過研究多通道時間序列信號,提出了一種基于特征融合的活動識別方法,將整體精度提高到87.4%。文獻(xiàn)[8]中針對傳統(tǒng)無源室內(nèi)定位存在的缺點,提出了基于樸素貝葉斯(NB)室內(nèi)定位檢測方法,檢測精度達(dá)到了96%以上。
另一方面,研究人員將時間序列數(shù)據(jù)構(gòu)建網(wǎng)絡(luò)可視圖,用復(fù)雜網(wǎng)絡(luò)理論對時間序列數(shù)據(jù)進(jìn)行分析。Zhang等人[9]首先提出了把時間序列映射到復(fù)雜網(wǎng)絡(luò)的概念,并且發(fā)現(xiàn)規(guī)則秩序可以被不同的網(wǎng)絡(luò)測量指標(biāo)表征。例如,Lucasa等人[10]介紹了一種把時間序列映射到復(fù)雜網(wǎng)絡(luò)的可視圖(visibility graph,VG)算法。進(jìn)一步地,Luque等人[11]提出了新的網(wǎng)絡(luò)構(gòu)建方法即水平可視圖算法(horizontal visibility graph,HVG)。在此基礎(chǔ)上,易娜[12]又提出了有限穿越水平可視圖算法(limited penetrable horizontal visibility graph, LPHVG)用于對時間序列數(shù)據(jù)的分析。
本文將網(wǎng)絡(luò)可視圖方法應(yīng)用到室內(nèi)人體朝向檢測中,將采集到的朝向數(shù)據(jù)類比時間序列構(gòu)建VG、HVG、LPHVG網(wǎng)絡(luò),通過網(wǎng)絡(luò)特征結(jié)合原始統(tǒng)計量對朝向數(shù)據(jù)進(jìn)行朝向分類。具體來說,本文方法把檢測過程分為訓(xùn)練階段和測試階段,訓(xùn)練階段提取特征建立指紋庫,測試階段利用機器學(xué)習(xí)算法對測試數(shù)據(jù)進(jìn)行分類。為了進(jìn)一步提高分類的準(zhǔn)確度,本文綜合了不同天線對上的CSI幅度和相位信息,來確定最終的估計朝向。
本文的主要貢獻(xiàn)在于:
(1) 使用CSI信息來對人體朝向進(jìn)行檢測,部署簡單,抗干擾能力較強;
(2) 首次將網(wǎng)絡(luò)可視圖算法應(yīng)用到室內(nèi)人體朝向檢測中,實現(xiàn)對人體朝向的檢測;
(3) 使用了多種網(wǎng)絡(luò)構(gòu)建方法,將網(wǎng)絡(luò)特征和原始數(shù)據(jù)統(tǒng)計量作為特征與機器學(xué)習(xí)算法相結(jié)合,實現(xiàn)對人體朝向的分類;
(4) 測試并討論了不同因素對分類結(jié)果的影響。
本文內(nèi)容安排如下:第1節(jié)介紹系統(tǒng)的結(jié)構(gòu)和原理;第2節(jié)講述特征提取的方法;第3節(jié)介紹實驗的環(huán)境部署、步驟和特征處理方法;第4節(jié)是分析實驗結(jié)果;第5節(jié)是對全文的總結(jié)。
實現(xiàn)方法的系統(tǒng)框圖如圖1所示。一個無線信道模型可表示為[13]
Y=HX+N
(1)
其中,X、Y分別是發(fā)送信號和接收信號向量,H是信道增益矩陣,N是加性噪聲向量。
圖1 系統(tǒng)框圖
根據(jù)正交頻分復(fù)用(orthogonal frequency division multiplexing,OFDM)[14]理論,H可表示為
H=[H1,H2,…,HM]
(2)
H(fk)=|H(fk)|eisin( (3) 其中,M表示子載波的個數(shù),fk表示第k個子載波,H(fk)表示第k個子載波的CSI,是一個復(fù)數(shù),|H(fk)|為第k個子載波的振幅, 實驗中,可以通過CSITOOL[15]工具獲取CSI數(shù)據(jù),并且每個CSI樣本由30個子載波序列構(gòu)成。對于擁有多個發(fā)送和接收天線的多入多出(multiple in multiple out,MIMO)[14]系統(tǒng),每個子載波可以組成一個維度為p×q的矩陣。因此, CSI信息是一個p×q×M的矩陣,其中p為發(fā)射天線數(shù)量,q為接收天線數(shù)量,M為子載波數(shù)量。 圖2(a)表示了人體在某一環(huán)境中同一朝向的2組CSI幅度曲線,可以看出同一朝向相同環(huán)境時的CSI基本保持穩(wěn)定;圖2(b)表示不同朝向的情況,可以看出CSI發(fā)生了變化且2組數(shù)據(jù)有明顯區(qū)分度。 CSI狀態(tài)參數(shù)中,其幅度信息易于獲取,穩(wěn)定性高,因此大多直接利用CSI幅度信息作為原始的采集信息。由于發(fā)射端與接收端無嚴(yán)格時鐘同步,導(dǎo)致相位信息呈隨機分布狀態(tài),無法被直接利用[16]。針對該問題,文獻(xiàn)[17]提出了利用子載波對稱性對原始相位進(jìn)行線性變化,從而獲得穩(wěn)定的相對相位信息,本文也采用該方法進(jìn)行相位信息的提取。 根據(jù)時間序列網(wǎng)絡(luò)化[9]的理論,將每個時間點視為網(wǎng)絡(luò)中的一個節(jié)點,而2個滿足可視化規(guī)則時間點間的連線視為一條邊,即可將單變量的時間序列數(shù)據(jù)映射到網(wǎng)絡(luò)結(jié)構(gòu)中。 圖2 同一朝向與不同朝向CSI幅度曲線 圖3顯示了將時間序列數(shù)據(jù)映射為VG網(wǎng)絡(luò)的過程。圖3(a)是包含8個數(shù)據(jù)點的時間序列樣本,圖3(b)為對應(yīng)的VG網(wǎng)絡(luò),其中每個節(jié)點以相同的順序?qū)?yīng)于時間序列數(shù)據(jù)。 圖3 時間序列數(shù)據(jù)映射為VG網(wǎng)絡(luò)的過程 在一個時間序列中,如果2個節(jié)點(垂直條的頂部)可以看到彼此,即當(dāng)連接2個節(jié)點頂點的連線不與它們之間的任何數(shù)據(jù)相交時,則連接這2個節(jié)點。如(ta,ya)與(tb,yb)為時間序列中的2個任意數(shù)據(jù)點,如果它們之間的任意其他數(shù)據(jù)點(tc,yc)均滿足[10] (4) 則稱(ta,ya)與(tb,yb)之間具有可見性。通過可見性判定來連接時間序列的各個節(jié)點,可以構(gòu)造相應(yīng)的VG網(wǎng)絡(luò)可視圖。 原始數(shù)據(jù)信息作為特征并不能很好地被分類器識別,而且會出現(xiàn)數(shù)據(jù)冗余的情況,不利于指紋庫構(gòu)建,因此需要考慮從原始數(shù)據(jù)中提取能反映人體朝向變化的參數(shù)作為特征值。通過實驗分析,本文采用了以下統(tǒng)計量:CSI信息的最大值(MAX)、最小值(MIN)、標(biāo)準(zhǔn)差(STD)、均值(MEAN)、極差(RANGE)和中位數(shù)絕對偏差(MAD)作為機器學(xué)習(xí)特征。 2.2.1 網(wǎng)絡(luò)可視圖構(gòu)建方法 本文在直接利用CSI幅度和相位信息的基礎(chǔ)上,進(jìn)一步考慮子載波之間的關(guān)聯(lián)性,而這種關(guān)聯(lián)性也包含了有用的朝向信息。 具體來說,考慮把每個CSI子載波序列樣本類比成不同的時間序列,將每個子載波作為網(wǎng)絡(luò)中的一個節(jié)點,不同子載波之間依據(jù)不同的可視規(guī)則構(gòu)成連邊,以此構(gòu)建VG網(wǎng)絡(luò)、HVG網(wǎng)絡(luò)、LPHVG網(wǎng)絡(luò)。 圖4展示了把一個原始的CSI子載波幅度序列映射為VG網(wǎng)絡(luò)的過程。圖4(a)為一個包含30個子載波序列的CSI幅度樣本,橫軸表示子載波序號,縱軸表示各子載波的幅度值;圖4(b)為依據(jù)可視圖算法得到的連邊關(guān)系圖,其橫坐標(biāo)表示與圖4(a)一一對應(yīng)的子載波序號,縱坐標(biāo)代表CSI幅度值。圖4(c)為構(gòu)造的對應(yīng)VG圖,圖中不同節(jié)點序號的連線代表1到30號子載波序列之間根據(jù)VG的構(gòu)造規(guī)則得到的連邊關(guān)系。 (a) 原始CSI幅度子載波樣本序列 (b) CSI子載波幅度連邊關(guān)系圖 (c) 子載波映射VG網(wǎng)絡(luò)圖 可視圖網(wǎng)絡(luò)構(gòu)建方法如下,對每個CSI樣本取任意2個點(子載波)(fa,Ya)和(fb,Yb),其中fn代表第n個子載波,Yn表示第n個子載波的幅度值。若兩點之間的任意其他點(fc,Yc)滿足fa (5) 則這2個子載波之間有連邊。通過以上算法,可以得到一個個由CSI子載波序列構(gòu)建的網(wǎng)絡(luò)可視圖。 同樣地,我們可以得到基于CSI的水平可視圖網(wǎng)絡(luò)的構(gòu)建方法:若任意2點(子載波)彼此水平可視,即對任意fa Yc (6) 成立,則這2個子載波之間有連邊。 進(jìn)一步,有限穿越水平可視圖網(wǎng)絡(luò)的構(gòu)建方法為:假設(shè)N(取N為1)為有限水平穿越視距,對每個CSI樣本取任意2個點(子載波)(fa,Ya)和(fb,Yb),其中fn代表第n個子載波,Yn表示第n個子載波的幅度值。若這2個相隔M個點的點之間存在Q(0≤Q≤N)個數(shù)據(jù)點(fc,Yc),其中fa Yc>Ya或Yc>Yb (7) 其余M-Q個點(fd,Yd),其中fa Yd (8) 成立,則這2個子載波之間有連邊。 2.2.2 網(wǎng)絡(luò)特征地提取 圖5、圖6分別為同一朝向和不同朝向CSI子載波幅度連邊關(guān)系圖。由圖5可知,同一朝向的子載波幅度雖然受周圍環(huán)境影響會有所波動,但最終構(gòu)建VG網(wǎng)絡(luò)子載波連邊關(guān)系還是有很大的相似性,說明提出的基于CSI信息構(gòu)建的網(wǎng)絡(luò)可視圖有很強的穩(wěn)定性,即具有一定的抗干擾能力;而在圖6 圖5 同一朝向子載波連邊關(guān)系圖 圖6 不同朝向子載波連邊關(guān)系圖 中顯示不同朝向的CSI子載波幅度明顯不同,導(dǎo)致網(wǎng)絡(luò)的子載波連邊關(guān)系也不同。 (9) 其中,τi, Δ表示以節(jié)點i為中心的閉合三元組的個數(shù),τi表示以節(jié)點i為中心的三元組的個數(shù),ci表示節(jié)點i的聚類系數(shù),N為構(gòu)建網(wǎng)絡(luò)時的網(wǎng)絡(luò)節(jié)點的個數(shù)。 (10) 其中,ci表示節(jié)點i的聚類系數(shù),N為網(wǎng)絡(luò)的節(jié)點總數(shù)。 (11) 圖7反映了VG網(wǎng)絡(luò)下的這3個不同網(wǎng)絡(luò)特征在4個朝向上的變化。由圖可知,這些網(wǎng)絡(luò)特征雖然具有一定的辨識度,但還并不能明顯區(qū)別不同朝向,這說明單從VG網(wǎng)絡(luò)提取的特征還不能很好地反映出子載波之間的關(guān)聯(lián)特性。為了更多地獲取子載波之間的關(guān)聯(lián)信息,本文構(gòu)建了HVG、LPHVG 2種網(wǎng)絡(luò),提取相應(yīng)的3種網(wǎng)絡(luò)特征,并與VG網(wǎng)絡(luò)特征結(jié)合,用于最終朝向檢測的機器學(xué)習(xí)分類特征。 特征在不同朝向的變化 (b) Ec特征在不同朝向的變化 (c) kstd特征在不同朝向的變化 上述過程的偽代碼如算法1所示。 首先輸入采集的朝向CSI數(shù)據(jù),然后對第i個CSI子載波序列樣本提取原始統(tǒng)計特征Fi,并依據(jù)不同的可視算法構(gòu)建VG、HVG、LPHVG網(wǎng)絡(luò)Vi、Hi、Li,提取相應(yīng)的網(wǎng)絡(luò)特征PV,i,PH,i,PL,i,最后將2類特征Fi與Pi融合得到Fi′=[Fi,PV,i,PH,i,PL,i]=[Fi,Pi],計算預(yù)測朝向的分類P(di|Fi′),并與實際朝向做對比,估計最終的朝向方向。 實驗中所用到的設(shè)備主要分為2部分即接入點(AP)和監(jiān)控點(MP),分別為2臺裝有Intel 5 300無線網(wǎng)卡的筆記本電腦,并且都安裝Ubuntu 14.04 LTS操作系統(tǒng)和CSITOOL用于收集CSI數(shù)據(jù)。每塊無線網(wǎng)卡都提供了3根天線,理論上共可以得到9對天線鏈路,但實際中由于受到環(huán)境干擾及設(shè)備自身狀態(tài)影響,能夠穩(wěn)定提取的鏈路數(shù)為3根。 算法1基于CSI的網(wǎng)絡(luò)可視圖分類算法輸入:X//輸入朝向數(shù)據(jù) F//原始統(tǒng)計特征 V//VG網(wǎng)絡(luò) H//HVG網(wǎng)絡(luò) L//LPHVG網(wǎng)絡(luò) P//網(wǎng)絡(luò)特征輸出:O//輸出朝向分類結(jié)果for each time point ido calculate normal features Fi /?構(gòu)建VG、HVG、LPHVG網(wǎng)絡(luò)?/ construct network Vi, Hi, Li /?提取3種網(wǎng)絡(luò)相應(yīng)的網(wǎng)絡(luò)特征?/ calculate network features PV,i, PH,i, PL,i for each orientation dido /? 將2類特征融合?/ Fi′=[Fi, PV,i, PH,i, PL,i ]=[ Fi, Pi] /? 計算預(yù)測的朝向方法?/ calculate P(di| Fi′) end for /? 與實際朝向?qū)Ρ?估計最終朝向的方向?/ O←argmax ? di{ P(di| Fi′)} 本文選取了2個環(huán)境進(jìn)行實驗。第1個實驗環(huán)境為空教室,房間尺寸為8 m×12 m,如圖8所示;第2個環(huán)境為辦公室,房間尺寸為10 m×15 m,如圖9所示,環(huán)境較為嘈雜,多徑影響也比較嚴(yán)重。 圖8 實驗環(huán)境1(空教室) 圖9 實驗環(huán)境2(辦公室) 在這2種環(huán)境下,首先確定AP、MP的位置,然后選取AP、MP之間的一個固定點分別進(jìn)行4個朝向和8個朝向?qū)嶒灐?朝向?qū)嶒灂r,志愿者站在該位置點上沿順時針方向依次轉(zhuǎn)動90°,共4個朝向;同樣的,讓志愿者站在該位置點上,沿順時針方向依次轉(zhuǎn)動45°,可以得到8個朝向的數(shù)據(jù)。此外,本文設(shè)置數(shù)據(jù)包的發(fā)送速率為100個/s,每次數(shù)據(jù)采集時間為10 s。 在訓(xùn)練階段和測試階段分別采集數(shù)據(jù),并且保持2次采集時,人體所處位置保持不變。訓(xùn)練階段將采集到的數(shù)據(jù)提取特征后錄入指紋庫,處理訓(xùn)練數(shù)據(jù)并生成特征指紋庫;測試階段,利用本文所提方法對測試數(shù)據(jù)進(jìn)行朝向的預(yù)測分類,并與實際朝向相對比,從而確定朝向檢測精度。 由于原始數(shù)據(jù)的統(tǒng)計特征與網(wǎng)絡(luò)特征是2種不同類型的特征,處理方法也有所不同,通過實驗分析,本文采用了如下方法。 (1) 對原始數(shù)據(jù)提取的特征,采用歸一化的處理方法。 (12) (2) 對網(wǎng)絡(luò)特征,采用Z-score標(biāo)準(zhǔn)化方法進(jìn)行處理。 XN=(Xo-μ)/σ (13) 其中,XN表示歸一化后的數(shù)據(jù),Xo表示歸一化前的數(shù)據(jù),μ表示該數(shù)據(jù)的平均值,σ表示該數(shù)據(jù)的標(biāo)準(zhǔn)差。 人體朝向檢測問題最終可以歸結(jié)為分類問題,本文采用了3種經(jīng)典的機器學(xué)習(xí)算法進(jìn)行分類比較,分別為K近鄰(K-nearest neighbor,KNN)、樸素貝葉斯(na?ve Bayes,NB)和支持向量機(support vector machine,SVM)。 實驗首先研究了4朝向的分類檢測效果,如圖10所示,其中X軸為3種不同的算法,Y軸為檢測精確度。 圖10 辦公室環(huán)境4朝向檢測效果 結(jié)果表明,在較為嘈雜的辦公室環(huán)境,僅采用原始數(shù)據(jù)統(tǒng)計量作為特征對4朝向進(jìn)行檢測都是有效的,最好的檢測精確度達(dá)到了99%。 在此基礎(chǔ)上,又進(jìn)行了8朝向檢測來研究更加細(xì)?;氖覂?nèi)人體朝向分類情況,實驗結(jié)果如圖11和圖12所示。 圖11 8朝向空教室3種方法檢測效果 圖12 8朝向辦公室3種方法檢測效果 由圖11和12可知,2種環(huán)境中,本文所提出的原始統(tǒng)計特征結(jié)合網(wǎng)絡(luò)測量特征進(jìn)行8朝向檢測的方法都是最好的。檢測算法為KNN算法,教室環(huán)境下使用原始統(tǒng)計特征的精度為96.38%,而在結(jié)合了網(wǎng)絡(luò)特征后,檢測精度進(jìn)一步得到提升,達(dá)到了98.66%,提高了2.3%;在多徑效應(yīng)豐富的辦公室環(huán)境,結(jié)合網(wǎng)絡(luò)特征,提升效果更加明顯,比僅使用原始統(tǒng)計特征時提高了16%左右。這說明構(gòu)建網(wǎng)絡(luò)提取的網(wǎng)絡(luò)特征對提升不同環(huán)境下的朝向檢測精確度都是很有效的,所選的網(wǎng)絡(luò)特征能夠表征不同朝向。 此外,只使用幅度信息提取的網(wǎng)絡(luò)特征比使用幅度和相位信息得到的網(wǎng)絡(luò)特征分類效果更好,這可能是因為相位信息對周圍環(huán)境過于敏感,使得它并不能反映出不同朝向所構(gòu)建網(wǎng)絡(luò)的特性,故本文的實驗都只使用CSI的幅度信息提取網(wǎng)絡(luò)特征。 圖13和14給出了2種環(huán)境下8朝向分類效果的混淆矩陣。其中橫軸和縱軸分別代表該位置被分類到的朝向和真實朝向,每個色塊的顏色深淺表示該朝向分類到某個朝向的概率。對角線上的顏色越深,則說明該方向的朝向分類效果越好。總體來說,分類的大部分結(jié)果都集中在對角線上,即獲得了正確的分類。在圖13中,只有部分方向2的數(shù)據(jù)被誤分給了方向4,少量方向6的數(shù)據(jù)被誤分給了方向3,少量方向5的數(shù)據(jù)誤分給了方向2和4,而其他的都基本分類正確;而在圖14中,由于實驗環(huán)境比較嘈雜,方向誤判的數(shù)量也相對較多一些。 圖13 空教室下8朝向分類混淆矩陣 圖14 辦公室下8朝向分類混淆矩陣 此外,本實驗還記錄了4朝向和8朝向的訓(xùn)練/測試的時間,以此來比較3種機器學(xué)習(xí)分類算法在本實驗的時間復(fù)雜度,結(jié)果如表1所示。 表1 不同算法的訓(xùn)練/測試時間 由表1可知,無論是4朝向還是8朝向,算法用時最多的都為KNN,SVM次之,用時最少的為NB。所以,建議在實時性要求較高、精度要求較低的場景下可以使用NB算法;而在實時性要求較低,但精度要求較高的場景下使用KNN或SVM算法。 本文提出了一種基于網(wǎng)絡(luò)可視圖的人體朝向檢測方法,將時間序列網(wǎng)絡(luò)化的理論應(yīng)用到了室內(nèi)人體朝向檢測中,并利用機器學(xué)習(xí)算法進(jìn)行朝向分類。通過實驗發(fā)現(xiàn),僅使用原始統(tǒng)計特征進(jìn)行朝向分類,就能夠達(dá)到很好的檢測效果;而將CSI信息進(jìn)行網(wǎng)絡(luò)可視化,提取網(wǎng)絡(luò)特征并綜合原始CSI數(shù)據(jù)統(tǒng)計特征的方法,可以進(jìn)一步提高朝向檢測的精確度。此外,本文還討論了不同的因素,如環(huán)境對實驗結(jié)果的影響,并且發(fā)現(xiàn)KNN和SVM算法效果優(yōu)于NB算法,8朝向的最佳檢測精度可以達(dá)到98.66%。 本文為室內(nèi)人體狀態(tài)檢測提供了一種新方法,后續(xù)可以進(jìn)一步開展多目標(biāo)和室內(nèi)移動狀態(tài)下的人體朝向研究。1.2 CSI幅度相位信息提取
1.3 網(wǎng)絡(luò)可視圖
2 特征提取
2.1 原始特征提取
2.2 網(wǎng)絡(luò)特征提取
3 實驗步驟和數(shù)據(jù)預(yù)處理
3.1 實驗步驟
3.2 特征向量的處理
4 實驗結(jié)果及分析
5 結(jié) 論