何正燃,張茜茜,王禹,楊潔
(南京郵電大學(xué)通信與信息工程學(xué)院,江蘇 南京 210023)
隨著各類電子設(shè)備的發(fā)展與應(yīng)用,數(shù)量繁多、樣式復(fù)雜、密集重疊、動態(tài)交迭的電磁信號充斥在電磁環(huán)境中,使得電磁環(huán)境日趨復(fù)雜[1]。在如今的復(fù)雜電磁環(huán)境下,傳統(tǒng)的感知技術(shù)無法保證其識別精度,并且具有較低的魯棒性和泛化能力。與之相比,基于Wi-Fi 的被動感知作為一種非侵入式的感知方法,無需綁定傳感器等專用感知設(shè)備,部署成本較低,并且由于Wi-Fi 信號的特性,不會受到非視線場景的影響,也不會涉及隱私問題[2-6]。Wi-Fi 環(huán)境中的各種人類行為會導(dǎo)致信號傳輸發(fā)生變化,通過分析這些變化,可以實現(xiàn)基于Wi-Fi 的被動感知[7-8]。傳統(tǒng)的感知方式多為基于RSSI(Received Signal Strength Indication,接收信號強度指示)的感知,但是這類感知方式易受環(huán)境影響而產(chǎn)生多徑效應(yīng),穩(wěn)定性較差,無法滿足越來越復(fù)雜的精密傳感任務(wù)要求[9],因此本文提出使用CSI(Channel State Information,信道狀態(tài)信息)代替RSSI 感知。
CSI 作為一種細粒度的物理信息,包含更精細的特征,可用于如今精確的感知識別任務(wù)。在復(fù)雜的電磁環(huán)境中,收集到的原始CSI 數(shù)據(jù)需要進行數(shù)據(jù)預(yù)處理以便后續(xù)特征提取,然而傳統(tǒng)的人工提取特征費時費力,且泛化能力較差。因此,基于DL(Deep Learning,深度學(xué)習(xí))的方法逐漸被用來自動提取CSI 的特征[10]。Graves 等人[11]提出了一種基于LSTM(Long Short Term Memory,長短時記憶)的語音識別方法,其中LSTM 是一種特殊的深度遞歸神經(jīng)網(wǎng)絡(luò),它能解決梯度消失的問題。實驗結(jié)果表明,該方法取得了良好的語音識別效果。此外,Wang 等人[12]利用復(fù)雜的CNN(Convolutional Neural Network,卷積神經(jīng)網(wǎng)絡(luò))對墻后的人類活動進行分類。Chen 等人[13]則提出了一種新的基于注意力的BLSTM(Bi-Directional Long Short-Term Memory Network,雙向長短時記憶網(wǎng)絡(luò))方法,實驗結(jié)果表明,該方法能夠有效提高室內(nèi)姿勢識別的精度。此外,基于半監(jiān)督學(xué)習(xí)的方法也有著廣泛應(yīng)用[14]。
因此,本文基于現(xiàn)階段前沿最新的研究成果[10-17],提出一種新型的基于Wi-Fi CSI 的魯棒被動感知方法——ConvABLSTM。該方法利用CNN 提取CSI 中的空間信息,利用BLSTM 提取CSI 中的時間信息,并引入了注意機制以提高模型的魯棒性和泛化能力。即使在時變的復(fù)雜電磁環(huán)境甚至識別目標(biāo)改變的情況下,所提出的ConvABLSTM 方法仍然具有較高的識別精度。實驗結(jié)果表明,本文所提出的方法在兩類數(shù)據(jù)集的驗證下均能保證96% 以上的識別精度,相較于傳統(tǒng)的識別方法準(zhǔn)確率提升了3% 左右。
Wi-Fi 環(huán)境中人類行為的變化會導(dǎo)致信號的反射和衍射,同時會改變信號的傳輸路徑和分布。因此,通過分析和描述Wi-Fi 信號路徑分布的變化,可以識別不同的人類行為。如圖1 所示,人的移動行為會導(dǎo)致場景中Wi-Fi信號的變化。信號接收器用于接收經(jīng)過各種傳播路徑變化后的信號,最終生成CSI 流。
圖1 Wi-Fi被動感知原理
如圖1 所示,在t到t+δt的時間范圍內(nèi),目標(biāo)的移動行為會導(dǎo)致場景中Wi-Fi 信號的變化。在信號發(fā)射機和接收機之間存在著多條路徑,接收機收集到的CSI 信號則是這些路徑的疊加,疊加后的CSI 信號可以表示為:
其中,f和c分別表示載波的頻率以及光速,L為多徑數(shù),dl(t)表示第l條路徑的路徑距離,αl(t)為表明相位和振幅衰減信息的復(fù)數(shù)。在多徑傳播中,除了圖1 中所示的動態(tài)傳輸路徑,也存在不因感知目標(biāo)運動而改變的靜態(tài)傳輸路徑。根據(jù)文獻[18]中的推導(dǎo),可以將CSI 信號最終簡化為以下公式:
其中,Hs為靜態(tài)路徑分量,其振幅不受時間t的影響,Hd(t)為動態(tài)路徑分量,α表示振幅衰減和初始相位的復(fù)系數(shù),n(t)則為噪聲,可以近似為加性高斯白噪聲。由式(2)可知,影響CSI 信號的最主要因素就是靜態(tài)路徑分量、動態(tài)路徑分量以及環(huán)境噪聲。靜態(tài)路徑分量與時間無關(guān),對CSI 的影響很小;動態(tài)路徑分量會隨著傳感目標(biāo)的反射信號變化,反射信號越強,動態(tài)路徑分量越強,從而CSI 信號性能越好;而環(huán)境噪聲則相反,隨著噪聲的增加,CSI 信號的感知性能會越來越差[18]。綜上所述,可以通過場景中CSI 路徑的調(diào)控來改變反射信號的強度,或者通過降低環(huán)境噪聲等方法來提高CSI 的感知能力。
在復(fù)雜的電磁環(huán)境中,由于環(huán)境噪聲和各種干擾的存在,采集到的原始CSI 信號無法用于直接訓(xùn)練,需要進行預(yù)處理操作。預(yù)處理部分主要包括三個步驟,分別為CSI信號的去噪、CSI 信號的轉(zhuǎn)換以及CSI 信號的特征提取。
信號去噪主要是用來去除CSI 振幅和相位上的噪聲。對于相位而言,在實際Wi-Fi 系統(tǒng)中,由于硬件缺陷,原始CSI 數(shù)據(jù)包含各種相位偏移,如采樣時間偏移和采樣頻率偏移等。采樣時間的偏移通常是由于接收機和發(fā)射機的采樣時鐘不同步引起的,而采樣頻率偏移則與每個載波的頻率有關(guān),通??梢圆捎貌罘窒辔环ɑ蛘叨嘣€性回歸法消除這兩種偏移的影響。對于振幅而言,主要是通過移動平均和中值濾波器去除高頻的噪聲。
信號轉(zhuǎn)換主要是對時間序列進行時頻分析,從而分析信號的內(nèi)在變化。時頻分析方法主要包括FFT(Discrete Fourier Transform,快速傅里葉變換)、DWT(Discrete Wavelet Transform,離散小波變換)、STFT(Short-Time Fourier Transform,短時傅里葉變換)等變換。
信號提取主要用于從原始信號或預(yù)處理信號中提取有用的目標(biāo)信號,主要方法是閾值、濾波和壓縮,以去除接收信號中不相關(guān)或冗余的部分。為了獲得更好的感知,有必要對多個信號源進行組合和插值,從而獲得更有效的信息。
本文所使用的數(shù)據(jù)集為公開數(shù)據(jù)集,每個數(shù)據(jù)包文件中的平均有20 000 條CSI 數(shù)據(jù),其中包含有效動作數(shù)據(jù)和無效動作數(shù)據(jù)(即No Activity 的數(shù)據(jù))。針對無效的數(shù)據(jù)先進行數(shù)據(jù)清洗,使用長度1 000 個單位的窗口分割初始CSI 數(shù)據(jù),并去除其中“No Activity”的數(shù)據(jù),最后將CSI 數(shù)據(jù)中的振幅和相位返回為特征矩陣,貼上對應(yīng)動作的標(biāo)簽。
Wi-Fi 感知通常使用的算法主要分為兩類:一類是基于模型的算法;另一類是基于學(xué)習(xí)的算法?;谀P偷乃惴ㄖ饕ㄎ锢砝碚撃P停ㄈ绶颇鶢枀^(qū))或統(tǒng)計模型(如萊斯衰落);基于學(xué)習(xí)的算法偏向于估計應(yīng)用。本文主要討論姿勢識別等方面的應(yīng)用,因此采用基于學(xué)習(xí)的算法。
基于學(xué)習(xí)的算法主要是機器學(xué)習(xí)和深度學(xué)習(xí)兩類。SVM(Support Vector Machine,支持向量機)和HMM(Hidden Markov Model,隱藏馬爾可夫模型)等機器學(xué)習(xí)算法部署復(fù)雜度高、計算時間長,限制了它們的廣泛應(yīng)用,而深度學(xué)習(xí)算法則有著顯著的計算優(yōu)勢。感知任務(wù)中使用的深度學(xué)習(xí)網(wǎng)絡(luò)主要是CNN 和LSTM。其中,CNN 可以從包含各種信息的CSI 中自動提取深層特征,而LSTM 非常適合處理和預(yù)測序列數(shù)據(jù)。傳統(tǒng)LSTM 網(wǎng)絡(luò)只能處理單向的時序數(shù)據(jù),因此隱藏層只能從過去狀態(tài)的CSI 信號中獲取信息。然而在實際應(yīng)用中,未來的CSI 信號序列也可以用于人類活動的感知識別。為了允許網(wǎng)絡(luò)考慮雙向的時間序列信息,本文使用雙向LSTM 網(wǎng)絡(luò),即BLSTM。
如圖2 所示,BLSTM 網(wǎng)絡(luò)是多個LSTM 的前向和反向傳播組合,隱藏層可以同時收到過去時序的信息和未來時序的信息。將隱藏層的前向傳播和后向傳播分別表示為,其中→和←分別表示前向傳播和后向傳播。因此,時刻t的隱藏層是前后隱藏狀態(tài)的串聯(lián),即:
圖2 BLSTM網(wǎng)絡(luò)結(jié)構(gòu)
綜上所述,CNN 能有效提取CSI 數(shù)據(jù)的空間特征,而BLSTM 能有效提取時間特征,因此本文將二者相融合,使用CNN 和BLSTM 提取CSI 的兩類特征并進行融合,同時引入注意力機制來自適應(yīng)分配模型權(quán)重,以此提高識別精度和魯棒性,最終形成本文所提出的ConvABLSTM 方法。
ConvABLSTM 的結(jié)構(gòu)如圖3 所示,左邊為物理層部分。由于人類行為變化導(dǎo)致了Wi-Fi 信號發(fā)生變化,因此首先利用信號接收器收集CSI 信息,然后對收集到的CSI數(shù)據(jù)進行預(yù)處理(即上述的去噪、轉(zhuǎn)換和特征提?。?,最后將預(yù)處理后的CSI 數(shù)據(jù)輸入右側(cè)的ConvABLSTM 網(wǎng)絡(luò)進行訓(xùn)練。
圖3 ConvABLSTM的結(jié)構(gòu)框架
ConvABLSTM 包括CNN 部分和ABLSTM 部分,本文將卷積層參數(shù)設(shè)置為(400、7/12)、(200、7/12)、(100、7/12),其中三層每層的卷積核個數(shù)分別為400、200 以及100,通道數(shù)的7 或12 表示不同數(shù)據(jù)集中的標(biāo)簽數(shù)量。經(jīng)過CNN 提取空間特征后的數(shù)據(jù)輸入到BLSTM 網(wǎng)絡(luò)進行時間特征提取。BLSTM 包含200 個隱藏節(jié)點,訓(xùn)練后的時空特征經(jīng)過融合反饋到注意層。注意層的輸出是注意矩陣,它表示特征和時間步的重要性。將訓(xùn)練后的特征與注意矩陣中的元素相結(jié)合,得到具有注意權(quán)重的特征矩陣,將其展平為特征向量,最后通過softmax 分類層識別不同的動作標(biāo)簽。
注意機制模型最初是用于圖像識別領(lǐng)域,與人類的視覺系統(tǒng)相類似,該模型能一直聚焦于圖像的某個區(qū)域,并隨著時間變化會自適應(yīng)調(diào)整視覺焦點。這就使得機器能夠在識別任務(wù)中關(guān)注更加重要的區(qū)域,從而起到忽略其他區(qū)域的作用[19]。針對基于Wi-Fi 的室內(nèi)姿勢識別工作,通過CNN 和BLSTM 提取其時空特征,提取后的特征是高維的,不同的空間特征和時間特征對最終感知任務(wù)的貢獻不同,因此引入了注意機制模型,利用其獨立學(xué)習(xí)每個參數(shù)的重要性并自適應(yīng)分配權(quán)重的優(yōu)點,提高整體方法的識別性能以及魯棒性。
假設(shè)特征h有n個特征向量,分別表示為:hi,i=1,2,…,n??梢酝ㄟ^一種得分函數(shù)Φ(·) 計算其得分,并根據(jù)得分評估不同特征向量的重要程度。
其中,W和b分別表示權(quán)重和偏差,利用該得分可以使用softmax 函數(shù)對其歸一化,最終輸出特征則為特征向量與其歸一化分?jǐn)?shù)的乘積。
本文提出的ConvABLSTM 方法使用帶有真實環(huán)境標(biāo)簽的訓(xùn)練數(shù)據(jù)來確定模型的參數(shù),初始參數(shù)均為隨機值。將訓(xùn)練數(shù)據(jù)輸入ConvABLSTM 進行標(biāo)簽預(yù)測,之后使用預(yù)測標(biāo)簽和給定的地面真值標(biāo)簽計算類別交叉熵誤差,最后通過基于梯度的優(yōu)化方法進行反向傳播,以更新模型參數(shù)。本文在訓(xùn)練中也采用了ADAM 優(yōu)化[20],其優(yōu)點在于可以有效地自適應(yīng)計算訓(xùn)練過程中每個參數(shù)的學(xué)習(xí)率。假設(shè)θ是要優(yōu)化的參數(shù),gt是其梯度,則θ(t+1)可以使用ADAM 更新為:
其中,αt和βt分別表示梯度的一階矩和二階矩,η表示學(xué)習(xí)率,設(shè)置為1×10-4,參數(shù)r1、r2、ε分別設(shè)置為0.9、0.999和1×10-8。
通過在網(wǎng)絡(luò)中引入注意力層并使用ADAM 優(yōu)化器,該模型可以在優(yōu)化過程中自主選擇重要特征或步長。因此,它可以有效地計算每個參數(shù)的自適應(yīng)學(xué)習(xí)率,并顯著降低過度擬合的風(fēng)險。
本文所提出的ConvABLSTM 方法使用了Tensorflow和Keras 環(huán)境框架,設(shè)備為GeForce GTX 1080Ti。按照8:1:1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集,后續(xù)實驗準(zhǔn)確度都是基于測試集的準(zhǔn)確度。
本文使用了兩組公開的數(shù)據(jù)集,分別為7 動作標(biāo)簽的數(shù)據(jù)集A[10]和12 動作標(biāo)簽的數(shù)據(jù)集B[21]。兩類數(shù)據(jù)集都是通過Linux 802.11n CSI 工具采集CSI 數(shù)據(jù),設(shè)備包含3 根天線和30 個子載波,因此收集的CSI 維度為3×30×T,其中T表示時間序列。數(shù)據(jù)集A的標(biāo)簽為“bed”、“fall”、“pick up”、“run”、“sit down”、“stand up”和“walk”;數(shù)據(jù)集B為兩個目標(biāo)對象之間的交互動作,以“I1”到“I12”作為標(biāo)簽,分別表示為“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 和其他算法)進行了比較和訓(xùn)練,最終訓(xùn)練的識別情況如表1 和表2 所示。
從表格可以看出,在數(shù)據(jù)集A的訓(xùn)練情況下,ConvABLSTM 對7 個動作的感知精度均高于CNN 和BLSTM 網(wǎng)絡(luò)。除站立動作外,其他動作的感知準(zhǔn)確率均在96% 以上,平均比其他算法高4 個百分點。在數(shù)據(jù)集B的訓(xùn)練情況下,ConvABLSTM 的訓(xùn)練結(jié)果準(zhǔn)確率依舊能保持在96% 或97% 以上,性能相對較好。即使在CNN 和BLSTM 識別較差的I6、I10 和I12 等標(biāo)簽上,本文提出的方法仍然可以具有較高的識別精度。與比較算法相比,整體感知準(zhǔn)確性提高了3 到4 個百分點。
注意力層的引入仍然顯著提高了識別的準(zhǔn)確性和穩(wěn)定性。與傳統(tǒng)的CNN、BLSTM 等單一網(wǎng)絡(luò)模型相比,該方法的識別準(zhǔn)確率和穩(wěn)定性顯著提高。此外,隨著場景從7 個標(biāo)簽變?yōu)?2 個標(biāo)簽,識別目標(biāo)從單人動作變?yōu)槎嗳私换ィ珻NN 與BLSTM 等比較方法識別的準(zhǔn)確度在不同動作標(biāo)簽中有著明顯的降低,尤其在識別I6 和I10 等動作時,各個方法的準(zhǔn)確率顯著下降。而引入注意機制后,本文所提出的ConvABLSTM 方法針對每個動作的識別仍然保持著較高的準(zhǔn)確率,體現(xiàn)了其提高魯棒性的作用。
綜上所述,將上述兩種情況下各種方法的識別精度對比畫在圖4 中。從圖中可以明顯看出,與其他基準(zhǔn)算法相比,本文提出的基于ConvABLSTM 的Wi-Fi 感知方法具有更好的識別精度。在場景發(fā)生變化和識別對象發(fā)生變化后,對比的算法的準(zhǔn)確度都會發(fā)生不同程度的降低,并且在個別動作識別的準(zhǔn)度上會出現(xiàn)很低的識別結(jié)果,而本文提出的ConvABLSTM 方法仍能保持96% 的平均識別準(zhǔn)確率,且在其余方法識別顯著降低的動作標(biāo)簽上依舊保有較高精度,體現(xiàn)其具有很高的魯棒性。
本文得到了西安郵電大學(xué)陜西省信息通信網(wǎng)絡(luò)與安全重點實驗室、通用無線通信教育部重點實驗室KFKT-2020106 的支持,提出了一種基于Wi-Fi CSI 的魯棒被動感知方法(即CNN-ABLSTM 方法)。與傳統(tǒng)基于單一CNN 或單一LSTM 的方法相比,該方法在性能和計算復(fù)雜度方面具有明顯的優(yōu)勢。具體而言,首先使用CNN對預(yù)處理后的CSI 信號進行特征提取,以提取更適合深度神經(jīng)網(wǎng)絡(luò)的特征,然后通過BLSTM 網(wǎng)絡(luò)對其進行訓(xùn)練。注意機制的引入防止了過度擬合,并顯著提高了模型的魯棒性。實驗結(jié)果表明,與傳統(tǒng)的算法模型(CNN、LSTM、BLSTM 等)相比,本文提出的方法具有更高的準(zhǔn)確性,在不同場景和不同識別對象下仍然能保持96%左右的識別精度,并體現(xiàn)出較好的魯棒性。
表1 不同動作下的識別準(zhǔn)確度(數(shù)據(jù)集A)
表2 不同動作下的識別準(zhǔn)確度(數(shù)據(jù)集B)
圖4 不同方法下的識別準(zhǔn)確度