張 力,常 俊,武 浩,黃 彬,劉 歡云南大學 信息學院,昆明 650500
在當前主流的人體感知研究項目中,主要分為兩部分,一部分是人類行為識別,另一部分是室內定位。在以往傳統的人體感知研究工作中,無論是行為識別或者室內定位,通常依賴于可穿戴傳感器[1]、攝像頭[2]或者一些特定設備來進行,這些系統都存在各自的問題。基于可穿戴傳感器的系統需要用戶隨身攜帶設備,會對用戶帶來不便,基于攝像頭的系統對場景中環境光條件存在一定要求,并且存在泄露個人隱私的風險,而特定設備則部署復雜,并且相對而言成本較高。而近幾年,蓬勃發展的無線感知技術已在各個領域中大放異彩,特別是基于WiFi信道狀態信息(CSI)的無線感知技術,擁有部署廣泛,成本較低,無需額外設備,相對安全等優點。因此WiFi 感知在當下的新興物聯網應用如智能家居,室內導航等人機交互場景中都具有著廣泛的發展前景。
由于在WiFi無線感知中,同一種行為,在不同的地點進行,所帶來的意義也各不相同。例如在餐廳坐著和在書桌前坐著,其背后所蘊含的信息相差甚大,因此物聯網時代新的人機交互應用中也提出了相應的要求,不僅要求設備能對人體位置進行精準定位,而且也需要對人類活動進行準確識別。在目前的多數研究中,僅使用CSI 信息探討同一場景中定位[3]或者行為識別[4]中的一種。例如Wi-Act[5]探討了人體運動與CSI中的幅值信息之間的相關性,進而對不同活動進行分類。Wang等人在提出的基于CSI直方圖的E-Eyes[6],針對單一環境下的動作和房間走動情況進行識別。Wi-SD[7]探究了將CSI幅度和相位混合起來進行行為識別的方法。CrossSense[8]則使用了遷移學習的思想,構建了一個可以容納多個模型的框架,僅使用較少的數據訓練,但實現了高精度的步態識別和行為識別,Widar2.0[9]結合多個AoA、ToF、DFS等參數的優化估計,實現了在二維平面的高精度定位,文獻[10]使用WiFi 指紋構建離線數據庫,同時參考節點的密度關系對目標定位。目前在基于信號相關的多任務聯合識別方面,文獻[11]提出了基于雷達譜圖進行人體動作與身份識別的系統,利用雷達實現了高精度的多任務識別,但易受噪聲影響,噪聲較大時正確率下降明顯,且使用的CNN結構隨著網絡深度的增加,存在梯度消失,梯度爆炸等問題;Koike-Akino等人[12]提出了一種利用毫米波的信噪比進行定位與方向的聯合識別,采用三任務的分類結構在辦公室內達到了高精度的位置與方向的聯合識別,但其對WiFi 毫米波路由器的擺放位置,以及設備的硬件要求和數量均有較高要求。文獻[13]提出了一種可以跟蹤多個用戶并識別多個用戶同時進行的活動的系統。在多用戶場景下,該系統可以達到分米定位精度和92%以上的活動識別精度,但需要對但它需要對設備進行修改使信道達到600 MHz帶寬;文獻[14]提出了一種雙任務卷積神經網絡,創建了位置與手勢的WiFi指紋,進行手勢識別和室內定位的聯合任務,但它使用的設備為價格較為高昂的USPR,同時僅采用簡化后的Resnet網絡結構,沒有考慮到通道間的特征重要程度不一致,混有無關特征信息,識別效果下降。
針對以上問題,本文設計了一種基于深度殘差收縮網絡在場景中實現定位與行為聯合識別方法。首先對從WiFi 接收設備中采集到的原始數據進行預處理,消除了CSI 在信道傳播中除人體變化外其他障礙物產生的噪聲和高斯白噪聲,然后通過一維線性插值法對數據進行填充,并對相關信號進行地點標記和行為標記,構建WiFi 指紋數據庫,建立CSI 中信息與位置、信息與行為之間的相關性,基于深度殘差收縮網絡構建兩條神經網絡分支分別進行定位與行為識別,使用改進后的殘差項增強網絡的表達能力,使用注意力結構消除無關特征信息影響,通過兩條分支分別識別出環境中的12 個地點和6種行為。該方法的主要創新點在于:
相較于使用昂貴的軟件無線電USPR 或者WiFi 毫米波路由器,僅使用兩臺帶有Intel5300網卡的主機進行CSI數據的收集,設備易于部署且價格低廉。提出了基于深度殘差收縮網絡在場景中實現定位與行為聯合任務識別的方法。使用改進后的殘差項在模型中進行訓練,降低了多層訓練過程中的樣本特征損失;通過殘差收縮結構針對不同的樣本設定不同的自適應閾值,增強與任務相關的特征而抑制無關特征,消除無關信息影響,并且構建兩條神經網絡分支分別進行定位與行為識別,實現在場景中同時對室內位置和行為識別的聯合感知任務。引入標簽平滑[15](label smoothing)后的交叉熵損失函數對網絡進行泛化,提高模型性能。針對三種場景下的室內定位的平均識別率達到97.29%,針對行為識別的平均識別率達到90.02%。
WiFi 在無線信道傳播CSI 描述了WiFi 設備從發送端到接收端之間的變化,包含衰落、反射等對信號產生影響的因素,一般地,發送端信號X(fi,t)與接收端信號Y(f,t)之間的關系可以表示為:
其中,N(fi,t)表示信道中存在的噪聲,H(fi,t)表示在第i個子載波在時間t時,頻率為f的信道頻率狀態響應(CFR),對CFR 進行以OFDM 子載波頻率為采樣間隔進行離散值采樣,得到CSI 數據。因此,對于單根收發天線,CSI矩陣可以表示為:
其中,‖H(fi,t) ‖和∠H(fi,t)分別表示子載波的幅值和相位。在MIMO 系統中,給定的30 個OFDM 子載波在時間段T內接收到的CSI 數據包數量為30×T×NTx×NRx,其中NTx和NRx分別代表發送端和接收端的天線數量。
本文構建了基于深度殘差收縮網絡的CSI 分類模型,本章將展示系統的總體架構,如圖1所示,主要包括數據采集、數據預處理、特征提取、結果分析四個部分。首先在兩個實驗場景中收集CSI原始數據,再對數據進行預處理,得到標注了行為與地點的CSI 數據樣本,然后構建殘差收縮神經網絡模型,并在訓練集上進行模型訓練和優化,最后在測試集上進行結果分析。
由于實驗測量得到的數據存在環境噪聲干擾,首先需要進行濾波以剔除異常值。Hampel濾波器把任何落在閉區間[μ-γσ,μ+γσ]之外的點視為異常值并進行剔除,其中μ是CSI數據的中位數,σ是中值絕對偏差,γ是與應用相關的參數,在本次濾波中γ=3。
主成分分析法(PCA)是一種數據降維算法,在信號處理中,PCA能將原信號分別映射到信號子空間和噪聲子空間,然后通過提取信號子空間的特征值用來還原信號矩陣,重構原始數據,文獻[16]說明了PCA 可以有效去除CSI 數據的噪聲,CRAM[17]選擇使用第二主成分和第三主成分,WiAG[18]選擇使用第三主成分,經過實驗觀察,本次實驗選擇第二主成分重構原始信號。
由于本次實驗中,OFDM 子載波數目為30,設CSI矩陣為:
求出協方差矩陣的特征值和特征向量,采用奇異值分解法求解,求得最大的特征值和特征向量,即包含最大的信息量。
由于可能存在丟包和人工誤差等原因,每次測量所得到的數據包長度存在區別,需要對數據包長度進行填充,在這里采用一維線性插值法對數據進行填充,使每個CSI數據包長度為500。
Zhao 等人基于注意力機制提出了深度殘差收縮網絡[19],軟閾值化[20]通常應用在信號降噪領域中,是一種特殊的注意力機制。原理將輸入信號數據中絕對值小于閾值的特征全部置為零,同時絕對值兩旁的特征也在朝零進行“收縮”,設x為輸入,y為輸出,閾值α為網絡中自動學習得到。其中,軟閾值的轉化公式為:
在深度殘差收縮網絡中,軟閾值化作為非線性變換層加入到殘差學習單元中,閾值α在殘差收縮網絡中通過注意力機制進行自動調整,增強與當前任務有關的特征而抑制與當前任務無關的特征。
本文結合深度殘差收縮網絡,構建了一種能夠同時對室內位置和人體行為進行分類的深度殘差收縮網絡模型(DRSN),設計的網絡整體結構由三部分組成,特征提取模塊、殘差收縮模塊和分類模塊,圖2 展示了學習模型具體示意圖,由3 個卷積層組成的Conv 層,4 個[1,1,1,1]結構的RS-block 殘差單元,兩個分類分支包括1 個卷積層、SReLU 層、Avgpool 層和全連接層組成。
特征提取模塊由三個卷積核大小為3 的小卷積層(Conv 層)、歸一化層(BN 層),ReLU 層和最大池化層(Maxpooling)組成,與一般的大小為7的大卷積核相比,3個小卷積核需要的參數減小,而感受野大小不變,同時非線性增加,對于特征的學習能力更強。
殘差收縮模塊是使用ResNetV2[21]架構改進的殘差收縮網絡。相對于文獻[10]所使用的ResNetV1 架構,ResNetV2將BN層移到了前面且在相加后去掉了ReLU層,這是因為首先使用BN層作為預激活函數可以加強對模型的正則化,同時如果將ReLU放在殘差分支的最后部分,由于ReLU 函數的非負特性,殘差分支的結果將永遠非負,在進行前向傳播過程的時候輸入只會單調遞增,從而會影響特征的表達能力。
殘差收縮網絡使用了通道間有著各自獨立閾值的結構,相對于通道間共享閾值的結構,在本次聯合識別任務中正確率更高。
在閾值學習中,首先對輸入特征圖內的所有特征進行取絕對值(absolute value)和全局均值池化(global average pooling,GAP)操作,得到一個一維向量的特征A,將特征輸入一個兩層的全連接網絡,其中神經元數等于輸入特征圖的通道數,最后通過一個Sigmoid 激活函數,將輸出調整到0和1之間,記為α,其中α有:
最后閾值學習結果為α′=A×α,閾值始終是正數,并且被保持在一個合理范圍內,從而防止輸出特征都是零的情況。輸入經過兩層卷積隱藏層后,得到輸出xl+2,在此處進行軟閾值化操作,有:
設恒等映射連接后的輸出為F(x),最后輸出結果為F(x)+y。
x通過RS-block后,得到的輸出為:
圖3展示了RS-block的具體結構圖。
因為需要同時對位置和行為進行分類識別,因此特征分類模塊擁有兩條分支,兩者都是將經過殘差收縮模塊后得到的輸出經過卷積層、激活函數層和自適應平均池化層,最后進入全連接層進行分類,激活函數為SReLU,可以避免梯度消失和爆炸,將學習到的特征數據分別映射到12 個位置和6 種行為,得到位置信息和行為信息。
實驗采用配有Intel 5300 網卡的主機作為收發端,發送端網卡配有一根全向天線,接收端網卡配有三根呈均勻線陣排列的全向天線,收發端均距地45 cm,工作頻率為5.825 GHz,每秒傳輸約1 000 個數據包,在收發端利用Linux802.11n CSI Tool工具獲取CSI數據包。
為全面評估分類任務的性能,實驗場景包括15×10 m2的暗室、8×6 m2的會議室和3 m 寬的走廊,如圖4所示。暗室周圍部署了大量吸波材料,不僅能最大限度降低外界電磁波信號的干擾,而且能減少由于墻壁和天花板反射造成的多徑效應,屬于信號傳輸理想環境;會議室帶有桌椅等大量反射物體,模擬現實中信號傳輸環境;走廊內較為空曠,但靠近墻壁,墻壁反射造成的多徑效應較為顯著。本實驗共邀請了4 名志愿者,包括2 名男生和2 名女生,分別進行站起、坐下、跳躍、深蹲、跌倒、撿起共6 種動作,數據標注為1~6,同種動作的時間盡量保持一致,每個動作進行5 次,每個環境12 個位置,數據標注為1~12,三個環境共4 320 個數據,在剔除異常數據后,剩下4 225 個數據,其中暗室1 422 個 數 據、會 議 室1 374 個 數 據,走 廊1 429 個 數據。80%的數據用作訓練集,剩下20%的數據用作測試集。
本文程序均在七彩虹GeForce GTX 1660 SUPER Ultra 6 GB上進行,運行環境為Pytorch 1.7.1,每個Batch包括64 個樣本數據,訓練100 個Epoch。采用Adam 優化器進行訓練,初始學習率為0.001,每10個epoch學習率下降一半,損失函數采用標簽平滑(label smoothing)后的交叉熵損失函數,損失函數在模型反向傳播過程中,更新網絡參數。Label Smoothing 學習的編碼形式如下所示,其中ε是預定義好的一個超參數,本次實驗取值0.1,K是該分類問題的類別個數:
實驗具體場景模擬圖如圖4所示。
圖5顯示了系統在暗室、會議室和走廊中定位和活動識別中的正確率曲線,在暗室的定位正確識別率約為98.56%,行為正確識別率約為91.73%??紤]到多徑效應等影響因素,兩種任務在會議室和走廊的正確識別率均有所下降。在會議室的定位正確識別率約為96.04%,行為正確識別率約為88.47%,在走廊的定位正確識別率約為96.76%,行為正確識別率約為89.86%。在三種場景下都得到了較高的定位和行為識別率,因此可以認為該模型,能夠有效同時進行目標的定位與行為識別任務。
圖6 和圖7 顯示了在暗室、會議室和走廊中6 種活動識別與12個位置定位的混淆矩陣,縱軸為真實標簽,橫軸為預測標簽,右側顏色條數值的深淺表示正確率的高低變化。從結果上來看,兩種任務在暗室中的整體識別率均優于會議室和走廊,兩種任務中定位識別率都優于行為識別率。在行為識別中,三種場景下深蹲、坐下兩種動作識別率相對較低,容易混淆,主要原因應為兩者的運動方向主要集中在垂直向下方向上,持續時間接近,存在相似性,影響了分類效果。在定位識別中,在兩者相近的位置例如左右或前后容易發生誤判,但定位總體識別率較高,較少發生誤判現象。
5.2.1 方法對比
實驗選擇ResNet-50、DensetNet-121、MobileNet V2和ShuffleNet V2神經網絡進行實驗對比。使用暗室數據,每種方法進行10 次實驗并統計兩種任務的平均準確識別率,結果如圖8 所示,各種網絡的算法復雜度結果如表1 所示,其中行為識別損失函數曲線如圖9 所示,其中ResNet-50 僅使用了普通殘差單元進行分類。DensetNet-121[22]是一種具有密集連接的卷積神經網絡,每層輸出都來自于前面所有層輸出,使用的密集連接結構在一定程度上減少了參數量和浮點運算。MobileNet V2[23]和ShuffleNet V2[24]均為輕量級神經網絡,MobileNet V2 隱藏層節點設置為[64,16,24,32,64,96,160,320,512],ShuffleNet V為[128,256,512,1 024,512]。DRSN由于采用了殘差收縮單元,通過軟閾值化增強與當前任務有關的特征而抑制與當前任務無關的特征,同時與兩個輕量級網絡相比在網絡開銷增加較少,從而無論是活動識別或者是定位識別正確率較其他模型均有所提高。綜上所述,基于DRSN的識別分類方法能在本次分類任務中取得了最優檢測效果。

表1 開銷對比Table 1 Comparison of expenses
5.2.2 優化器對比
本文對各類優化器進行了性能驗證,分別針對Adam、AdamW、SGD、Nesterov、Adagrad、RMSprop 等優化器進行了實驗,如表2。默認模型為DRSN,學習率均為0.001,其他參數均為默認。Adam優化器吸取了動量法和RMSprop的優點,不僅使用動量作為參數更新方向,而且可以自適應調整學習率,而AdamW 則是在Adam的基礎上將權重衰減與學習率解耦改進得來。經過實驗對比,優化器的區別主要體現在活動識別率方面,Adam 取得了最優效果,而AdamW 與Adam 效果差距不大。

表2 優化器對比Table 2 Comparison of optimizers單位:%
5.2.3 發包率對比
除了對本文模型的性能進行驗證,本文還驗證了CSI 發包率對同一場景下模型的性能影響。在實驗場景中修改了每秒的發包個數,依次是每秒50、100、500、1 000、2 000 個包,實驗結果如圖10 所示,隨著CSI 發包率的提高,模型檢測性能有所上升,但隨著發包率達到每秒2 000個包時,識別率反而略微下降,可能的原因是CSI數據包在高速率傳輸過程中產生了丟包現象,造成部分有效信息的丟失,最終導致識別率下降。
本文提出了一種基于深度殘差收縮網絡的CSI 定位與行為聯合識別方法。本文利用商用WiFi設備在兩種室內場景(暗室和會議室)下進行評估,首先將接收到的CSI原始信息進行預處理并進行標簽標注,然后構建帶有軟閾值學習分支的深度殘差收縮網絡,通過閾值學習與軟閾值化增強與聯合識別任務相關的特征而抑制無關特征,最后通過兩條特征分類分支,實現了6 種動作在12 個位置上的聯合識別任務。實驗結果表明,本文模型在定位與行為聯合識別任務性能上較其他模型有所提升,能夠實現較高的準確識別率。
本文不足之處在于更換復雜場景后,聯合識別任務的準確率會有一定程度的下降,因此探究如何提取出與場景無關的特征信息,提高識別的準確率是將是未來的重點研究方向。