余星達,陳文杰,王鼎,曹仰杰,陳薈慧
(1.鄭州大學軟件學院,450000,鄭州;2.佛山科學技術學院電子信息工程學院,528000,廣東佛山)
身份識別是普適計算和人機交互領域的重要研究內容,在安防系統中發揮著關鍵作用。臉像、指紋和虹膜等近距離的身份識別在實際應用中受到了諸多限制[1]。步態具備遠距離感知、非接觸、難以隱藏等特性,被公認為人類的獨特生物特征[2],受到了研究者們的廣泛關注。步態識別的前期研究中,研究者使用攝像機[3]、加速度傳感器[4]或地面傳感器[5]對識別方法進行了大量嘗試,這些方法易受光線等環境因素或部署條件的限制,不適合室內身份識別。隨著室內環境中Wi-Fi信號的大規模覆蓋,基于Wi-Fi信號的行為感知成為新興的研究領域。Wi-Fi感知方式是非接觸式的,不受光線限制,設備部署方式靈活,被檢測目標無需攜帶任何設備,而且由于體型和運動模式的差異,每個人的步態以獨有的方式影響周圍Wi-Fi信號,從而在信道狀態信息(CSI)上產生獨特的模式[6],因此研究人員開始探索利用Wi-Fi信號進行身份識別。
通過采集Wi-Fi的CSI數據,Zeng等提出了一種身份識別方法(WiWho),利用多徑消除和帶通濾波去除噪聲,并提取步行的特征進行身份識別,在2~6人的團體中識別出一個人的準確率為92%~80%[7];Xin等提出了一種FreeSense的方法,該方法使用主成分分析和離散小波變換提取視距路徑波形的形狀特征,并通過最近鄰分類器進行身份識別,在6人情況下的識別率為88.9%[6];Zhang等提出的WiFi-ID通過連續小波變換提取不同頻段的信號,利用ReliefF特征選擇算法計算所選頻段的時域和頻域特征作為每個人的特征庫,在2~6人團體達到了93%~77%的識別率[8]。
上述研究工作在身份識別中取得了一定的效果,但由于CSI描述了傳輸信號的散射、衰落、多普勒頻移等綜合效應[9],傳統的手工特征提取方法需要大量的數據預處理工作,難以提取有效的特征以提高身份識別準確率。由于CSI能夠在子載波級別刻畫多徑傳播,當行為發生時,不同天線對和子載波的CSI變化是相關聯的[10],因此本文利用深度學習提取CSI數據的時空特征,設計了一種端到端的非接觸式身份識別(WiID)算法,該算法使用CSI數據的幅度信息構建輸入矩陣,通過卷積層提取子載波中CSI數據的空間特征,然后利用門限循環單元(GRU)[11]獲取其時間維度特征,取得了良好的身份識別效果。
商用Wi-Fi設備通常具有多個用于多輸入多輸出(MIMO)通信的天線對,每個天線對的CSI數據包含子載波的幅度和相位信息[12],可表示如下
H(fk)=‖H(fk)‖ej∠H(fk),k∈[1,K]
(1)
式中:H(fk)是第k個子載波的CSI,它是一個復數值,‖H(fk)‖和∠H(fk)分別表示其幅度和相位,WiID算法使用幅度信息構建輸入矩陣。
令Hk=‖H(fk)‖,代表第k個子載波的CSI信息。在MIMO系統中,Nt和Nr分別代表發射和接收天線的數量,構成Nt×Nr個天線對,令N=Nt×Nr,因此MIMO系統中第k個子載波的CSI信息Hk表示為
(2)

為了檢測步態特征,需要不斷收集均勻時間間隔測量的CSI信息,J個時刻收集的信息被表示為CSI序列,作為WiID模型的輸入矩陣如下
(3)
式中HJK表示J時刻第K個子載波的CSI信息。

WiID算法的模型結構如圖1所示,由4部分組成,分別是卷積層(C1,C2,C3)、GRU層(G4,G5)、池化層(S6)和分類層(L7)。通過卷積層和GRU層依次對CSI數據執行特征提取,然后將提取的特征輸入至池化層進行降維以增強分類的準確性,再對降維后的特征進行分類。接下來將描述每層的工作原理和設計。
(1)卷積層。WiID算法使用3層卷積層C1、C2、C3,通過二維卷積運算提取空間特征,如下式
S(p,q)=(X*C)(p,q)=

(4)
式中:*代表卷積運算;C是卷積核[13]。
WiID算法采用滑動窗口,每次選取一段時間內采集的CSI序列作為模型的輸入,滑動窗口的大小為500 ms,步長為200,同時WiID算法使用了3個天線對,每個天線對子載波數量為30,因此卷積層C1的輸入是一個大小為500×90、行和列分別代表時間維度、子載波維度的矩陣。在卷積層C1中,為了從不同天線對的每個子載波中提取特征,使用30個100×3的卷積核對輸入進行卷積操作,并且設置時間維度(垂直方向)的步長為1,子載波維度(水平方向)的步長為3,從而得到30個特征圖,每個特征圖的大小為401×30;在卷積層C2中,使用30個100×5的卷積核對C1層的特征圖進行卷積操作,并在水平和垂直方向上步長都設置為1,得到30個大小為302×26的特征圖;在卷積層C3中,使用與C2層相同的卷積操作,得到30個大小為203×22的特征圖。各卷積層使用線性整流函數(ReLU)作為激活函數[14],并且為了加速網絡的訓練,每個卷積層的輸入都加入批標準化(BN)處理[15]。

圖1 WiID算法的模型結構
(2)GRU層。GRU層在卷積層的基礎上獲取時間維度信息,該層通過內置在結構單元中的“門”提取特征,解決傳統循環神經網絡(RNN)處理長期依賴問題時面臨的梯度爆炸或者梯度消失問題[16],其工作原理如下式
rt=σ(Wrxt+Urht-1+br)
(5)
zt=σ(Wzxt+Uzht-1+bz)
(6)
(7)
(8)

卷積層的輸出是203×22×30維的張量,其中203對應的是時間維度信息,所以在G4層每個時刻的輸入是660維的向量。使用G4和G5兩個GRU層提取時間相關的特征,每層的神經元數目為128,并在兩層之間使用dropout方法防止過擬合[17]。
(3)池化層。GRU單元獲取了不同時間尺度的信息,然而只使用最后時刻的GRU單元信息難以刻畫完整的時間特征,因此WiID算法通過將G5層中所有GRU的輸出作為池化層的輸入,然后獲得降維后的特征,有效地利用每個時刻的GRU單元信息。
池化在卷積神經網絡中用來降低卷積層輸出的特征向量的維度[18],同時還可以起到預防過擬合的效果,其目的是用一個值來表示一個區域[19]。WiID算法需要利用池化結合每個時刻的GRU信息,所以采用均值池化層。將G5層的所有單元信息輸入到均值池化層得到降維后的特征
havg=avg([h1,h2,…,ht,…,hT])
(9)
然后將降維后的特征havg線性化得到輸出z,如下式
z=Whavg+b
(10)
式中:W和b分別代表系數矩陣和偏置。
(4)分類層。將池化層的結果輸入到分類層中進行分類,分類層通過softmax邏輯回歸計算輸入序列所對應標簽的預測概率分布,計算方法如下
(11)
式中:c為y的分類數;P(y|x)為由模型預測的輸入x屬于類別y的后驗概率。
在大廳和實驗室兩個典型的室內環境中收集CSI數據進行實驗,前者是較為稀疏的多徑環境,如圖2a所示;后者則是較為復雜的多徑環境,如圖2b所示。TP_LINK AC1750路由器作為發射器,安裝了Intel 5300網卡的ThinkPad x201筆記本電腦作為接收器,兩臺設備相距2.5 m。使用安裝了定制驅動程序[20]的Ubuntu 14.04系統收集CSI數據,發射器和接收器天線數分別為Nt=1和Nr=3,每個天線對包含30個子載波。

(a)大廳環境 (b)實驗室環境圖2 實驗環境
為了減少環境中其他Wi-Fi信號的干擾,本文的實驗均在5 GHz頻段上進行,并且以1 kHz的采樣頻率收集CSI數據。有6名參與者參加了實驗,參與者包括男性和女性,年齡在18~30歲之間。數據采集時每個人沿著預定的路徑行走,預定的路徑設置在發射器和接收器之間,路徑寬度為1 m,參與者來回地穿過視距路徑(LOS),每次行走時間為5 s,循環行走100次。
對于收集的CSI數據,使用參與者姓名作為標簽輸入神經網絡進行監督學習,WiID算法模型的學習率設置為0.000 1,使用Adam優化器最小化損失。采用10倍交叉驗證策略,將CSI數據分成10份,9份作為訓練數據,剩余1份作為測試數據,交叉重復10次實驗,取平均值評價算法識別效果。
本文采用準確率(A)、召回率(R)和精準率(P)評估算法識別效果。
(12)
(13)
(14)
其中TP、FP、FN、TN分別表示屬于該類且被分類器分為該類的樣本數、不屬于該類但被分類為該類的樣本數、屬于該類但被分類為不屬于該類的樣本數、不屬于該類且被分類為不屬于該類的樣本數。
2.4.1 不同人數的準確率 圖3給出了兩種室內環境下不同人數的識別準確率。當識別人數由2人增加到6人,WiID算法在大廳和實驗室環境中身份識別的準確率分別為98.9%~95.6%和98.1%~93.7%。隨著識別人數的增加,兩種室內環境下的身份識別準確率均逐漸降低,這是由于人的體型與運動模式具有相似性,增加識別人數會降低步態特征的差異性,從而增大錯誤分類的概率。

圖3 兩個室內環境下不同人數的識別準確率

(a)大廳環境

(b)實驗室環境圖4 不同環境下6人識別的混淆矩陣
圖4給出了當識別人數為6時,在兩種室內環境下身份識別實驗的混淆矩陣,其中行代表標簽中給定的真實身份,列代表WiID算法預測的身份,混淆矩陣中的A、B、C、D、E、F分別代表6名參與者。混淆矩陣中顯示了參與者們的身份識別細節,對于不同的參與者,在大廳實驗環境中召回率的范圍為93.3%~97.5%,精準率的范圍為94.2%~97.9%。在實驗室環境中,召回率和精準率的范圍分別為90.8%~95.8%和90.9%~96.5%。由于在大廳這類多徑傳播較為稀疏的環境下,參與者行走對Wi-Fi信號造成的干擾相對于其他干擾來說更加顯著,因此更有利于信道狀態信息中步態特征的提取,從而達到了更優的身份識別效果。
2.4.2 不同采樣頻率的影響 為了驗證CSI采樣頻率是否會影響WiID算法身份識別準確率,在大廳環境下的6人身份識別實驗中,改變收集CSI數據集的采樣時間間隔,并對采集的數據進行10倍交叉驗證實驗。當采樣頻率從1 000 Hz降低到800 Hz時,識別準確率從95.6%降低以93.3%,WiID算法仍然保持較高的識別率,但當采樣頻率降低到500 Hz時,識別準確率降低到89.1%。實驗結果表明,小幅降低CSI采樣頻率不會對WiID算法身份識別的準確率造成過大影響;但在過低的采樣頻率下,無法采集到足夠的樣本數據量,不利于深度學習模型的訓練,難以達到良好的識別率。
2.4.3 評估不同模型 為了更好地評估模型性能,在大廳環境下的6人身份識別實驗中,分別使用卷積神經網絡(CNN)、循環神經網絡和WiID算法進行實驗。其中卷積神經網絡包含3個卷積層,卷積的方式與WiID算法卷積層相同,并且在卷積層后面添加了兩個全連接層。循環神經網絡包含兩個GRU層,參數設置與WiID算法的GRU層相同。3種算法的實驗結果見表1。

表1 3種算法的實驗結果
由表1可知,在準確率、召回率、精準率方面,WiID算法識別效果均優于卷積神經網絡和循環神經網絡算法,結合兩種算法,本文算法可以更有效地提取CSI數據步態特征,提高識別能力。
2.4.4 不同場景下的實驗結果對比 為評估WiID算法的魯棒性,即在不同場景下正確識別同一人的性能穩定性,實驗分別設計了“正常情況”“改變穿著”“額外背包”“攜帶手提包”以及“偏離預定路徑”5種不同場景,并分別在每個場景下針對每位參與者各采集30組數據用于身份識別。表2給出了6名參與者在不同場景下的平均識別準確率,其中“正常情況”是指訓練數據的采集環境;在“改變穿著”的實驗場景中,參與者們分別穿著薄T恤、羽絨服、帶上帽子等不同于正常情況下的服飾;在攜帶配件的實驗場景下,分別驗證了“額外背包”和“攜帶手提包”兩種不同情況對身份識別精度的影響;在“偏移預定路徑”實驗場景下采集測試數據時,要求參與者們在偏離正常情況下預定路徑1 m處行走。

表2 不同場景下的平均識別準確率
由表2可知,“改變穿著”“額外背包”“攜帶手提包”會不同程度降低平均識別準確率,但影響較小,降幅均控制在0.8%以內;而“偏移預定路徑”的實驗場景下,由于路徑偏移會影響信號的傳播方式,因此平均準確率的降幅較為明顯。總體來說,WiID算法在人體裝飾改變及路徑小幅度偏離的情況下依然保持著穩定的身份識別準確率。
傳統身份識別方法需要大量數據預處理工作,并且難以達到較高的準確率,而本文提出的WiID深度學習算法通過構建時空網絡模型,自動提取CSI數據的空間和時間維度的特征,不僅擺脫了對手工編碼特征的依賴,且具有較高的識別準確率,為端到端的非接觸式身份識別提供了切實有效的實施途徑。研究結果表明,基于深度學習的身份識別算法具有良好的魯棒性,但需要充足的訓練數據來保證識別效果;對于基于Wi-Fi的身份識別算法,被檢測環境中人數的增加可能成為其提高準確率的障礙。
下一步工作將在現有工作基礎上,提高算法在不同室內環境下身份識別的泛化能力,并探索其有效的識別范圍,進一步提高身份識別性能。