史文華 戴 歡 周澤侖 蔣敬敬
(蘇州科技大學(xué)電子與信息工程學(xué)院 江蘇 蘇州 215000)
許多場景對人員數(shù)量都有應(yīng)用需求,比如:車站根據(jù)人群密度對客流進行疏導(dǎo),在保障公共安全的同時,提高出行效率[1];智能家居系統(tǒng)根據(jù)室內(nèi)人數(shù)的多少自動調(diào)節(jié)電器的功率,實現(xiàn)節(jié)能的目的[2];商場根據(jù)各個區(qū)域人數(shù)的分布來分析消費者的消費習(xí)慣,從而及時調(diào)整銷售策略[3]。目前人數(shù)統(tǒng)計的方法可大致分為基于圖像的人數(shù)統(tǒng)計方法和基于可攜帶設(shè)備的人數(shù)統(tǒng)計方法兩大類。
基于圖像的人數(shù)統(tǒng)計方法較為傳統(tǒng),主要依靠計算機視覺技術(shù)。Pore等[4]提出一種應(yīng)用方向梯度直方圖找到人員目標(biāo),再根據(jù)卡爾曼信道生成人的運動軌跡,在軌跡進出口方向計算人員數(shù)量的方法。Sam等[5]提出了Switch-CNN網(wǎng)絡(luò),利用圖像中人群密度的變化來提高預(yù)測人群數(shù)量的準(zhǔn)確性。Shani等[6]利用卷積神經(jīng)網(wǎng)絡(luò)在密集人群中進行稀疏頭部檢測,通過支持向量機對分割的圖像進行分類,再計算每個人群斑塊的人數(shù)完成人員計數(shù)。這類方法大多使用攝像頭獲取圖像信息,在復(fù)雜環(huán)境中易被物體遮擋,存在視覺盲區(qū),同時受限于光學(xué)傳感器的特性,受光線影響較大,只有在光線充足的條件下才能有較好的效果。
基于可攜帶設(shè)備的人數(shù)統(tǒng)計方法主要依靠智能手機和電子標(biāo)簽等設(shè)備實現(xiàn)人數(shù)統(tǒng)計。Kannan等[7]通過在室內(nèi)人員的智能手機上安裝一款軟件,利用手機麥克風(fēng)發(fā)出特定頻率的音頻信號,并用手機聽筒接收這些信號,對其進行分析處理,求出手機數(shù)量,依此估計出人員數(shù)量。Weppner等[8]提出基于iBeacon技術(shù)的方法,利用智能手機作為被檢測設(shè)備進行人數(shù)估計,融合不同設(shè)備的藍牙數(shù)據(jù),將精確度提高到了75%。Ding等[9]使用RFID標(biāo)簽進行區(qū)域內(nèi)的人數(shù)統(tǒng)計工作,人數(shù)越多,標(biāo)簽反向散射射頻信號的信號強度值的變化就越大,通過分析接收到的射頻信號估計出人員數(shù)量。這類基于設(shè)備的人數(shù)統(tǒng)計方法往往需要人員攜帶特定的設(shè)備,便利性差,且成本過高。
隨著Wi-Fi的普及,基于Wi-Fi進行人數(shù)統(tǒng)計的方法成為新的突破口,得到了學(xué)術(shù)界的廣泛關(guān)注。Seifeldin等[10]提出了Nuzzer系統(tǒng),該系統(tǒng)利用RSSI的方差來計算人數(shù)。然而,由于RSSI無法刻畫多徑傳播,易受環(huán)境因素影響,在復(fù)雜環(huán)境下計算人數(shù)的準(zhǔn)確度不高。Xi等[11]提出了FCC系統(tǒng),該系統(tǒng)分析了人數(shù)與CSI變化之間的關(guān)系,并提出了膨脹后的CSI矩陣中非零元素百分比的度量標(biāo)準(zhǔn),依據(jù)灰色模型理論[12]對多種人數(shù)情況下的非零元素百分比序列進行擬合得到增長曲線,之后計算出人數(shù)。Domenico等[13]提出了Trained-once Crowd Counting系統(tǒng),其利用CSI幅度的特征差數(shù)據(jù),通過最小化測試樣本與訓(xùn)練樣本指數(shù)來計算人員數(shù)量。Zou等[14]提出FreeCount系統(tǒng),該系統(tǒng)依據(jù)信息論進行特征選擇,選擇出最能代表人體運動敏感的特征,針對時間和環(huán)境差異建立具有魯棒性的分類器,最后求出區(qū)域內(nèi)人員的數(shù)量。
本文提出一種基于信道狀態(tài)信息的室內(nèi)人數(shù)統(tǒng)計方法。該方法首先從CSI原始數(shù)據(jù)中求出相位和幅度,使用解卷相位與線性變換的方法實現(xiàn)相位校正,減小因收發(fā)端時鐘不同步引起的頻率偏差和時延,使得相位能以簇的形式集中[15]。采用Hampel濾波器分別對CSI數(shù)據(jù)的幅度和矯正后的相位進行異常值檢測處理,濾除信號衰落和多徑效應(yīng)引入的直流分量和噪聲,并采用PCA對去噪后的數(shù)據(jù)進行降維處理,提取出有效的特征,最后利用基于單層決策樹的AdaBoost算法訓(xùn)練分類器進行分類,統(tǒng)計出室內(nèi)人員數(shù)量。
無線信號在傳播過程中會產(chǎn)生多徑效應(yīng),造成信號衰落和相位移動。正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing,OFDM)是一種多載波調(diào)制技術(shù),能有效減弱多徑效應(yīng),其原理是將高速串行數(shù)據(jù)信號劃分成若干并行的低速數(shù)據(jù)流,并將信道劃分為若干個子信道,各個子載波相互正交。對于每一條子載波,可以使用CSI來描述無線信道的散射、衰落和功率衰減情況。在窄帶平坦衰落信道中,信道狀態(tài)的頻域模型可以表示為:
Y=HX+N
(1)
式中:X和Y分別是發(fā)射端和接收端信號向量;H是一個對角矩陣,為信道狀態(tài)信息矩陣;N為噪聲向量。對于包含K個子載波的CSI,其矩陣表示為:
H=diag(h1,h2,…,hK)
(2)
式中:K=114。每個子載波hk為復(fù)數(shù)形式,也可以表示為幅度和相位的形式:
hk=realk+j×imagk=|hk|ej∠hk
(3)

圖1為不同人數(shù)情況下CSI幅度的方差,當(dāng)僅有1人時,CSI幅度的方差和其波動范圍都很小;當(dāng)人數(shù)增加到3時,CSI幅度的方差和其波動范圍都變大;當(dāng)人數(shù)為5時,CSI幅度的方差變得更大,且方差波動范圍更大。

圖1 不同人數(shù)情況下CSI幅度方差
如圖2所示,(a)、(b)和(c)分別為場景中有1人、3人和5人的情況下,經(jīng)矯正后的CSI相位的分布情況。可以看出,隨著人數(shù)增多,相位的波動和離散程度變大,且分布在(π,2π)上的數(shù)據(jù)變多。

(a) 1人情況下CSI相位

(b) 3人情況下CSI相位

(c) 5人情況下CSI相位圖2 不同人數(shù)情況下CSI相位分布
由此可見,區(qū)域內(nèi)活動人數(shù)不同對CSI的影響也會不同。若場景中僅有一人,環(huán)境相對穩(wěn)定,CSI數(shù)據(jù)的波動和離散程度較小;當(dāng)人數(shù)增多時,CSI數(shù)據(jù)會發(fā)生更加明顯的波動。CSI包含幅度和相位信息,本文旨在探究隨著區(qū)域內(nèi)人數(shù)的變化,CSI幅度和相位的變化情況,并以此為依據(jù)進行分類,統(tǒng)計出人員數(shù)量。
如圖3所示,本文方法主要分為四個步驟:首先進行數(shù)據(jù)采集,通過Wi-Fi設(shè)備獲取監(jiān)測環(huán)境內(nèi)的CSI數(shù)據(jù);其次對數(shù)據(jù)進行預(yù)處理,先對CSI相位信息進行矯正,再對CSI幅度和矯正后的相位進行Hampel濾波,去除異常值;然后進行特征提取,分別對去除異常值后的幅度和相位進行主成分分析,提取出屬性特征;最后,基于屬性特征構(gòu)建人數(shù)統(tǒng)計模型。

圖3 本文方法架構(gòu)
由于采集到的原始CSI數(shù)據(jù)存在采樣頻率偏移、包邊界檢測誤差等問題[16-17],導(dǎo)致CSI的相位發(fā)生極大誤差,其值隨機分布在(-π,π)之間,如圖4所示,雜亂的分布無法反映周圍環(huán)境的變化。本文采用相位解卷和線性變換的算法重構(gòu)原始CSI數(shù)據(jù),在盡可能保留有效信息的前提下獲取到規(guī)則的相位信息。第i個子載波的相位可表示為:
式中:∠hi表示原始相位信息;ki表示第i個子載波的索引;δ表示接收端的定時偏移;N為快速傅里葉變換采樣數(shù);β為未知的恒定相位偏移;Zi為測量噪聲。Zi是設(shè)備固有的測量誤差,且值較小,可忽略不計。由于δ和β的值無法確切得知,需要通過線性變換的方法消除。定義a和b兩個線性相關(guān)項,a為接收響應(yīng)的相位的斜率,b為偏移量。

經(jīng)過線性處理后的相位比原始相位更加穩(wěn)定,有序分布的數(shù)據(jù)能夠反映出周圍環(huán)境的信息。圖5為經(jīng)過本方法重構(gòu)后的CSI相位分布,與圖4相比,數(shù)據(jù)的分布不再雜亂無章,主要集中在(0,π)之間,并且有一定的規(guī)律性。

圖4 原始CSI相位分布

圖5 矯正后CSI相位分布
CSI具有很強的敏感性,易受環(huán)境影響產(chǎn)生大量噪聲。Hampel濾波器能有效檢測和去除數(shù)據(jù)中的異常值,其基本思想是加權(quán)滑動平均。對于一組數(shù)據(jù)X,首先計算出這組數(shù)據(jù)的中值Median,求出每一個數(shù)據(jù)與Median的差值,并取絕對值得到序列Y。然后計算出其中值M,這個值反映了數(shù)據(jù)分布的離散程度,被稱為絕對中位差,其計算公式如下:
M=median(Xi-Median)
(7)
可求出測量值的分?jǐn)?shù),其公式如下:
式中:常數(shù)0.674 5保證M的期望值等于正態(tài)分布數(shù)據(jù)的標(biāo)準(zhǔn)差。設(shè)定閾值t,當(dāng)Zi>t時,則認定該測量值為異常值。
Hampel濾波器不直接求出方差,而是用絕對中位差作為方差的近似估計,其對極端的異常值不敏感,并且不要求數(shù)據(jù)正態(tài)分布,能起到良好的檢測和去除異常值的效果。圖6和圖7分別為CSI幅度經(jīng)過Hampel濾波前后的對比。

圖6 原始CSI幅度

圖7 濾波后CSI幅度
由于本文實驗所用設(shè)備的每個天線對之間存在114個子載波,即3×3×114個子載波,再將CSI數(shù)據(jù)分解成相位和幅度后,數(shù)據(jù)維度較高,本文使用PCA算法對預(yù)處理后的數(shù)據(jù)進行降維,在保證信息損失最小化的同時降低了數(shù)據(jù)的維度。通過計算得到特征值在總數(shù)中所占比例,可知該維度的信息量,依此來選擇合適的維度作為分類時的屬性特征。
PCA的基本思想是從原有特征中計算出一組按照重要性從大到小順序排列的新特征,新特征是原有特征的線性組合,互不相關(guān)。原有特征在新特征上的映射值成為降維后的新樣本。PCA的實現(xiàn)流程如下:
輸入:X=(x1,x2,…,xn),n個p維的列向量。
輸出:降維后的樣本集X′。
1.對所有樣本進行中心化。
2.計算樣本的協(xié)方差矩陣XXT。
3.對協(xié)方差矩陣XXT進行特征分解,得到特征值。
4.選取按降序排列的前k個特征值所對應(yīng)的特征向量w1,w2,…,wk。
5.將原樣本投影到新的特征空間,得到新的降維樣本,X′=X×W,W=[w1,w2,…,wk],其中:X為n×p維;W為p×k維。
在進行人數(shù)統(tǒng)計時,分為離線和在線兩個階段。離線階段將不同人數(shù)條件下所采集數(shù)據(jù)的屬性特征代入分類算法中進行訓(xùn)練,因這些屬性特征之間具有較大的差異,能被有效地區(qū)分出來,最終可訓(xùn)練出有效的分類器。在線階段對當(dāng)前的數(shù)據(jù)進行同樣的預(yù)處理和特征提取,使用訓(xùn)練好的分類器便可統(tǒng)計出當(dāng)前區(qū)域內(nèi)的人數(shù)。本文選取了SVM、KNN、ANN神經(jīng)網(wǎng)絡(luò)和基于單層決策樹的AdaBoost算法進行對比實驗,選出準(zhǔn)確率最高的一種作為最終的分類算法,具體如圖8所示。

圖8 分類架構(gòu)
本文所使用的設(shè)備為圖9所示的3×3天線的TP-link 4900v2無線路由器,共使用兩臺,各作為發(fā)射端和接收端。為了獲取更詳細的信道狀態(tài)信息,我們升級了Atheros CSI工具,開發(fā)了一個新的基于OpenWrt的固件,可以直接從無線路由器上采集CSI數(shù)據(jù),每個天線對包含114個子載波,信號頻率可設(shè)置為5 GHz,帶寬為40 MHz。實驗環(huán)境為7 m×10 m的實驗室。實驗如圖10所示,在實驗室一端部署兩臺路由器,分別采集1人至5人在靜止和隨機運動兩種情況下的CSI數(shù)據(jù)。

圖9 硬件設(shè)備
本次實驗采集1人至5人隨機運動情況下的CSI數(shù)據(jù)各5 000條,共25 000條數(shù)據(jù)作為原始數(shù)據(jù)集,其中每條數(shù)據(jù)包含3×3×114個數(shù)據(jù)值。經(jīng)過數(shù)據(jù)預(yù)處理和降維后,每條數(shù)據(jù)包含20維相位數(shù)據(jù)和34維幅度數(shù)據(jù),形成最終的數(shù)據(jù)集。數(shù)據(jù)訓(xùn)練時分別在每種情況的數(shù)據(jù)中選取1 000、1 500、2 000、2 500和3 000條數(shù)據(jù)作為訓(xùn)練樣本,其余作為測試樣本。
圖11為四種分類算法在不同訓(xùn)練樣本量時的查準(zhǔn)率,可以看出,基于單層決策樹的AdaBoost算法具有更好的分類效果,因此選用其作為最終的分類算法。AdaBoost算法的工作機制是先依照初始權(quán)重從訓(xùn)練樣本中訓(xùn)練出一個弱學(xué)習(xí)器,再根據(jù)其表現(xiàn)調(diào)整訓(xùn)練樣本的分布,使得錯誤的樣本在之后獲得更大的權(quán)重,接下來依照新的權(quán)重訓(xùn)練下一個弱學(xué)習(xí)器,重復(fù)以上操作,直到學(xué)習(xí)器數(shù)目達到指定值T,將這T個弱學(xué)習(xí)器通過加權(quán)結(jié)合,得到最終的強學(xué)習(xí)器。

(a) ANN神經(jīng)網(wǎng)絡(luò)

(b) KNN

(c) SVM

(d) 基于單層決策樹的AdaBoost算法圖11 四種算法在不同訓(xùn)練樣本量下的查準(zhǔn)率
圖12和圖13分別展示了在人員靜止和隨機運動兩種情況下,本文方法對于人數(shù)識別的準(zhǔn)確率。人員靜止時,環(huán)境相對簡單,CSI僅受人體呼吸和心跳等生理活動影響,所以識別率很高;人員隨機運動時會造成環(huán)境中存在一些不確定因素,導(dǎo)致識別率降低。盡管在人員隨機運動的情況下,環(huán)境比較復(fù)雜,但本文方法的準(zhǔn)確率仍然達到96.4%,而在人員靜止時,準(zhǔn)確率更是高達99.2%,說明本文方法切實可行,且具有很高的可靠性。

圖12 人員靜止時人數(shù)識別準(zhǔn)確率

圖13 人員隨機運動時人數(shù)識別準(zhǔn)確率
圖14列出了本文方法與文獻[13-14]中系統(tǒng)在不同人數(shù)情況下的識別結(jié)果。Trained-once Crowd Counting系統(tǒng)識別率較低,且在人數(shù)增多后,識別率下滑嚴(yán)重。FreeCount系統(tǒng)具有不錯的識別效果和穩(wěn)定性,但與本文方法相比,總體識別率低了近3百分點。

圖14 不同人數(shù)情況下三種方法的識別率
本文提出的基于信道狀態(tài)信息的室內(nèi)人數(shù)統(tǒng)計算法有望提供一種低成本、無接觸的人數(shù)統(tǒng)計方案。所用設(shè)備為商用無線路由器,統(tǒng)計人員無須佩戴其他設(shè)備。該算法重構(gòu)了CSI相位,避免了相位雜亂分布的問題;采用Hampel濾波器去除數(shù)據(jù)中的異常值,保證了數(shù)據(jù)的準(zhǔn)確性;采用PCA進行特征提取,降低了數(shù)據(jù)維度;在使用多種分類算法進行分類時,實驗結(jié)果表明基于單層決策樹的AdaBoost算法性能最優(yōu)。