何正燃,張茜茜,王禹,楊潔
(南京郵電大學通信與信息工程學院,江蘇 南京 210023)
隨著各類電子設備的發展與應用,數量繁多、樣式復雜、密集重疊、動態交迭的電磁信號充斥在電磁環境中,使得電磁環境日趨復雜[1]。在如今的復雜電磁環境下,傳統的感知技術無法保證其識別精度,并且具有較低的魯棒性和泛化能力。與之相比,基于Wi-Fi 的被動感知作為一種非侵入式的感知方法,無需綁定傳感器等專用感知設備,部署成本較低,并且由于Wi-Fi 信號的特性,不會受到非視線場景的影響,也不會涉及隱私問題[2-6]。Wi-Fi 環境中的各種人類行為會導致信號傳輸發生變化,通過分析這些變化,可以實現基于Wi-Fi 的被動感知[7-8]。傳統的感知方式多為基于RSSI(Received Signal Strength Indication,接收信號強度指示)的感知,但是這類感知方式易受環境影響而產生多徑效應,穩定性較差,無法滿足越來越復雜的精密傳感任務要求[9],因此本文提出使用CSI(Channel State Information,信道狀態信息)代替RSSI 感知。
CSI 作為一種細粒度的物理信息,包含更精細的特征,可用于如今精確的感知識別任務。在復雜的電磁環境中,收集到的原始CSI 數據需要進行數據預處理以便后續特征提取,然而傳統的人工提取特征費時費力,且泛化能力較差。因此,基于DL(Deep Learning,深度學習)的方法逐漸被用來自動提取CSI 的特征[10]。Graves 等人[11]提出了一種基于LSTM(Long Short Term Memory,長短時記憶)的語音識別方法,其中LSTM 是一種特殊的深度遞歸神經網絡,它能解決梯度消失的問題。實驗結果表明,該方法取得了良好的語音識別效果。此外,Wang 等人[12]利用復雜的CNN(Convolutional Neural Network,卷積神經網絡)對墻后的人類活動進行分類。Chen 等人[13]則提出了一種新的基于注意力的BLSTM(Bi-Directional Long Short-Term Memory Network,雙向長短時記憶網絡)方法,實驗結果表明,該方法能夠有效提高室內姿勢識別的精度。此外,基于半監督學習的方法也有著廣泛應用[14]。
因此,本文基于現階段前沿最新的研究成果[10-17],提出一種新型的基于Wi-Fi CSI 的魯棒被動感知方法——ConvABLSTM。該方法利用CNN 提取CSI 中的空間信息,利用BLSTM 提取CSI 中的時間信息,并引入了注意機制以提高模型的魯棒性和泛化能力。即使在時變的復雜電磁環境甚至識別目標改變的情況下,所提出的ConvABLSTM 方法仍然具有較高的識別精度。實驗結果表明,本文所提出的方法在兩類數據集的驗證下均能保證96% 以上的識別精度,相較于傳統的識別方法準確率提升了3% 左右。
Wi-Fi 環境中人類行為的變化會導致信號的反射和衍射,同時會改變信號的傳輸路徑和分布。因此,通過分析和描述Wi-Fi 信號路徑分布的變化,可以識別不同的人類行為。如圖1 所示,人的移動行為會導致場景中Wi-Fi信號的變化。信號接收器用于接收經過各種傳播路徑變化后的信號,最終生成CSI 流。

圖1 Wi-Fi被動感知原理
如圖1 所示,在t到t+δt的時間范圍內,目標的移動行為會導致場景中Wi-Fi 信號的變化。在信號發射機和接收機之間存在著多條路徑,接收機收集到的CSI 信號則是這些路徑的疊加,疊加后的CSI 信號可以表示為:

其中,f和c分別表示載波的頻率以及光速,L為多徑數,dl(t)表示第l條路徑的路徑距離,αl(t)為表明相位和振幅衰減信息的復數。在多徑傳播中,除了圖1 中所示的動態傳輸路徑,也存在不因感知目標運動而改變的靜態傳輸路徑。根據文獻[18]中的推導,可以將CSI 信號最終簡化為以下公式:

其中,Hs為靜態路徑分量,其振幅不受時間t的影響,Hd(t)為動態路徑分量,α表示振幅衰減和初始相位的復系數,n(t)則為噪聲,可以近似為加性高斯白噪聲。由式(2)可知,影響CSI 信號的最主要因素就是靜態路徑分量、動態路徑分量以及環境噪聲。靜態路徑分量與時間無關,對CSI 的影響很??;動態路徑分量會隨著傳感目標的反射信號變化,反射信號越強,動態路徑分量越強,從而CSI 信號性能越好;而環境噪聲則相反,隨著噪聲的增加,CSI 信號的感知性能會越來越差[18]。綜上所述,可以通過場景中CSI 路徑的調控來改變反射信號的強度,或者通過降低環境噪聲等方法來提高CSI 的感知能力。
在復雜的電磁環境中,由于環境噪聲和各種干擾的存在,采集到的原始CSI 信號無法用于直接訓練,需要進行預處理操作。預處理部分主要包括三個步驟,分別為CSI信號的去噪、CSI 信號的轉換以及CSI 信號的特征提取。
信號去噪主要是用來去除CSI 振幅和相位上的噪聲。對于相位而言,在實際Wi-Fi 系統中,由于硬件缺陷,原始CSI 數據包含各種相位偏移,如采樣時間偏移和采樣頻率偏移等。采樣時間的偏移通常是由于接收機和發射機的采樣時鐘不同步引起的,而采樣頻率偏移則與每個載波的頻率有關,通??梢圆捎貌罘窒辔环ɑ蛘叨嘣€性回歸法消除這兩種偏移的影響。對于振幅而言,主要是通過移動平均和中值濾波器去除高頻的噪聲。
信號轉換主要是對時間序列進行時頻分析,從而分析信號的內在變化。時頻分析方法主要包括FFT(Discrete Fourier Transform,快速傅里葉變換)、DWT(Discrete Wavelet Transform,離散小波變換)、STFT(Short-Time Fourier Transform,短時傅里葉變換)等變換。
信號提取主要用于從原始信號或預處理信號中提取有用的目標信號,主要方法是閾值、濾波和壓縮,以去除接收信號中不相關或冗余的部分。為了獲得更好的感知,有必要對多個信號源進行組合和插值,從而獲得更有效的信息。
本文所使用的數據集為公開數據集,每個數據包文件中的平均有20 000 條CSI 數據,其中包含有效動作數據和無效動作數據(即No Activity 的數據)。針對無效的數據先進行數據清洗,使用長度1 000 個單位的窗口分割初始CSI 數據,并去除其中“No Activity”的數據,最后將CSI 數據中的振幅和相位返回為特征矩陣,貼上對應動作的標簽。
Wi-Fi 感知通常使用的算法主要分為兩類:一類是基于模型的算法;另一類是基于學習的算法?;谀P偷乃惴ㄖ饕ㄎ锢砝碚撃P停ㄈ绶颇鶢枀^)或統計模型(如萊斯衰落);基于學習的算法偏向于估計應用。本文主要討論姿勢識別等方面的應用,因此采用基于學習的算法。
基于學習的算法主要是機器學習和深度學習兩類。SVM(Support Vector Machine,支持向量機)和HMM(Hidden Markov Model,隱藏馬爾可夫模型)等機器學習算法部署復雜度高、計算時間長,限制了它們的廣泛應用,而深度學習算法則有著顯著的計算優勢。感知任務中使用的深度學習網絡主要是CNN 和LSTM。其中,CNN 可以從包含各種信息的CSI 中自動提取深層特征,而LSTM 非常適合處理和預測序列數據。傳統LSTM 網絡只能處理單向的時序數據,因此隱藏層只能從過去狀態的CSI 信號中獲取信息。然而在實際應用中,未來的CSI 信號序列也可以用于人類活動的感知識別。為了允許網絡考慮雙向的時間序列信息,本文使用雙向LSTM 網絡,即BLSTM。
如圖2 所示,BLSTM 網絡是多個LSTM 的前向和反向傳播組合,隱藏層可以同時收到過去時序的信息和未來時序的信息。將隱藏層的前向傳播和后向傳播分別表示為,其中→和←分別表示前向傳播和后向傳播。因此,時刻t的隱藏層是前后隱藏狀態的串聯,即:


圖2 BLSTM網絡結構
綜上所述,CNN 能有效提取CSI 數據的空間特征,而BLSTM 能有效提取時間特征,因此本文將二者相融合,使用CNN 和BLSTM 提取CSI 的兩類特征并進行融合,同時引入注意力機制來自適應分配模型權重,以此提高識別精度和魯棒性,最終形成本文所提出的ConvABLSTM 方法。
ConvABLSTM 的結構如圖3 所示,左邊為物理層部分。由于人類行為變化導致了Wi-Fi 信號發生變化,因此首先利用信號接收器收集CSI 信息,然后對收集到的CSI數據進行預處理(即上述的去噪、轉換和特征提?。?,最后將預處理后的CSI 數據輸入右側的ConvABLSTM 網絡進行訓練。

圖3 ConvABLSTM的結構框架
ConvABLSTM 包括CNN 部分和ABLSTM 部分,本文將卷積層參數設置為(400、7/12)、(200、7/12)、(100、7/12),其中三層每層的卷積核個數分別為400、200 以及100,通道數的7 或12 表示不同數據集中的標簽數量。經過CNN 提取空間特征后的數據輸入到BLSTM 網絡進行時間特征提取。BLSTM 包含200 個隱藏節點,訓練后的時空特征經過融合反饋到注意層。注意層的輸出是注意矩陣,它表示特征和時間步的重要性。將訓練后的特征與注意矩陣中的元素相結合,得到具有注意權重的特征矩陣,將其展平為特征向量,最后通過softmax 分類層識別不同的動作標簽。
注意機制模型最初是用于圖像識別領域,與人類的視覺系統相類似,該模型能一直聚焦于圖像的某個區域,并隨著時間變化會自適應調整視覺焦點。這就使得機器能夠在識別任務中關注更加重要的區域,從而起到忽略其他區域的作用[19]。針對基于Wi-Fi 的室內姿勢識別工作,通過CNN 和BLSTM 提取其時空特征,提取后的特征是高維的,不同的空間特征和時間特征對最終感知任務的貢獻不同,因此引入了注意機制模型,利用其獨立學習每個參數的重要性并自適應分配權重的優點,提高整體方法的識別性能以及魯棒性。
假設特征h有n個特征向量,分別表示為:hi,i=1,2,…,n??梢酝ㄟ^一種得分函數Φ(·) 計算其得分,并根據得分評估不同特征向量的重要程度。

其中,W和b分別表示權重和偏差,利用該得分可以使用softmax 函數對其歸一化,最終輸出特征則為特征向量與其歸一化分數的乘積。

本文提出的ConvABLSTM 方法使用帶有真實環境標簽的訓練數據來確定模型的參數,初始參數均為隨機值。將訓練數據輸入ConvABLSTM 進行標簽預測,之后使用預測標簽和給定的地面真值標簽計算類別交叉熵誤差,最后通過基于梯度的優化方法進行反向傳播,以更新模型參數。本文在訓練中也采用了ADAM 優化[20],其優點在于可以有效地自適應計算訓練過程中每個參數的學習率。假設θ是要優化的參數,gt是其梯度,則θ(t+1)可以使用ADAM 更新為:

其中,αt和βt分別表示梯度的一階矩和二階矩,η表示學習率,設置為1×10-4,參數r1、r2、ε分別設置為0.9、0.999和1×10-8。
通過在網絡中引入注意力層并使用ADAM 優化器,該模型可以在優化過程中自主選擇重要特征或步長。因此,它可以有效地計算每個參數的自適應學習率,并顯著降低過度擬合的風險。
本文所提出的ConvABLSTM 方法使用了Tensorflow和Keras 環境框架,設備為GeForce GTX 1080Ti。按照8:1:1 的比例將數據集劃分為訓練集、驗證集和測試集,后續實驗準確度都是基于測試集的準確度。
本文使用了兩組公開的數據集,分別為7 動作標簽的數據集A[10]和12 動作標簽的數據集B[21]。兩類數據集都是通過Linux 802.11n CSI 工具采集CSI 數據,設備包含3 根天線和30 個子載波,因此收集的CSI 維度為3×30×T,其中T表示時間序列。數據集A的標簽為“bed”、“fall”、“pick up”、“run”、“sit down”、“stand up”和“walk”;數據集B為兩個目標對象之間的交互動作,以“I1”到“I12”作為標簽,分別表示為“I1(approaching)”、“I2(departing)”、“I3(handshaking)”、“I4(high five)”、“I5(hugging)”、“I6(kicking with the left leg)”、“I7(kicking with the right leg)”、“I8(pointing with the left hand)”、“I9(pointing with the right hand)”、“I10(punching with the left hand)”、“I11(punching with the right hand)”和“I12(pushing)”。
為了驗證本文所使用的ConvABLSTM 的性能,對幾種典型的DL 算法(即CNN、LSTM、BLSTM 和其他算法)進行了比較和訓練,最終訓練的識別情況如表1 和表2 所示。
從表格可以看出,在數據集A的訓練情況下,ConvABLSTM 對7 個動作的感知精度均高于CNN 和BLSTM 網絡。除站立動作外,其他動作的感知準確率均在96% 以上,平均比其他算法高4 個百分點。在數據集B的訓練情況下,ConvABLSTM 的訓練結果準確率依舊能保持在96% 或97% 以上,性能相對較好。即使在CNN 和BLSTM 識別較差的I6、I10 和I12 等標簽上,本文提出的方法仍然可以具有較高的識別精度。與比較算法相比,整體感知準確性提高了3 到4 個百分點。
注意力層的引入仍然顯著提高了識別的準確性和穩定性。與傳統的CNN、BLSTM 等單一網絡模型相比,該方法的識別準確率和穩定性顯著提高。此外,隨著場景從7 個標簽變為12 個標簽,識別目標從單人動作變為多人交互,CNN 與BLSTM 等比較方法識別的準確度在不同動作標簽中有著明顯的降低,尤其在識別I6 和I10 等動作時,各個方法的準確率顯著下降。而引入注意機制后,本文所提出的ConvABLSTM 方法針對每個動作的識別仍然保持著較高的準確率,體現了其提高魯棒性的作用。
綜上所述,將上述兩種情況下各種方法的識別精度對比畫在圖4 中。從圖中可以明顯看出,與其他基準算法相比,本文提出的基于ConvABLSTM 的Wi-Fi 感知方法具有更好的識別精度。在場景發生變化和識別對象發生變化后,對比的算法的準確度都會發生不同程度的降低,并且在個別動作識別的準度上會出現很低的識別結果,而本文提出的ConvABLSTM 方法仍能保持96% 的平均識別準確率,且在其余方法識別顯著降低的動作標簽上依舊保有較高精度,體現其具有很高的魯棒性。
本文得到了西安郵電大學陜西省信息通信網絡與安全重點實驗室、通用無線通信教育部重點實驗室KFKT-2020106 的支持,提出了一種基于Wi-Fi CSI 的魯棒被動感知方法(即CNN-ABLSTM 方法)。與傳統基于單一CNN 或單一LSTM 的方法相比,該方法在性能和計算復雜度方面具有明顯的優勢。具體而言,首先使用CNN對預處理后的CSI 信號進行特征提取,以提取更適合深度神經網絡的特征,然后通過BLSTM 網絡對其進行訓練。注意機制的引入防止了過度擬合,并顯著提高了模型的魯棒性。實驗結果表明,與傳統的算法模型(CNN、LSTM、BLSTM 等)相比,本文提出的方法具有更高的準確性,在不同場景和不同識別對象下仍然能保持96%左右的識別精度,并體現出較好的魯棒性。

表1 不同動作下的識別準確度(數據集A)

表2 不同動作下的識別準確度(數據集B)

圖4 不同方法下的識別準確度