摘要:針對傳感器體積小、計算能力有限以及收集數(shù)據(jù)通常表現(xiàn)為連續(xù)信號的特征,文章提出了一種基于CNN-GRUAttention的人體行為識別算法。該算法結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)的空間特征提取能力和循環(huán)神經(jīng)網(wǎng)絡(luò)的時序特征提取能力,并采用結(jié)構(gòu)相對簡單的GRU,在解決時序數(shù)據(jù)長期依賴問題的同時減少了參數(shù),從而降低了算法對硬件計算能力的依賴。此外,算法還引入了注意力機制模塊,使其更加關(guān)注重要信息。在WISDM數(shù)據(jù)集上進(jìn)行的對比實驗表明,該算法在人體行為識別方面表現(xiàn)優(yōu)異,準(zhǔn)確率達(dá)到98.46%,并在精準(zhǔn)率、召回率和F1-Score等性能指標(biāo)上均取得了顯著成果。
關(guān)鍵詞:人體行為識別;CNN;GRU;注意力機制;傳感器數(shù)據(jù);深度學(xué)習(xí)
中圖分類號:TP181 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2025)01-0041-04 開放科學(xué)(資源服務(wù)) 標(biāo)識碼(OSID) :
0 引言
人體行為識別(Human Activity Recognition, HAR) 是一種通過機器學(xué)習(xí)和模式識別技術(shù)來自動識別和分析人類行為的方法。其應(yīng)用領(lǐng)域廣泛,涵蓋公共安全、智能手機與移動支付、交通管理、醫(yī)療健康等[1]。HAR 通過從人體相關(guān)數(shù)據(jù)中提取特征,將特征輸入機器學(xué)習(xí)模型中進(jìn)行分類,從而實現(xiàn)對人體行為的識別。
目前,人體行為識別的數(shù)據(jù)來源主要包括視頻圖像、傳感器和Wi-Fi數(shù)據(jù)。與視頻圖像數(shù)據(jù)和Wi-Fi 數(shù)據(jù)相比,基于傳感器數(shù)據(jù)的人體行為識別研究更受關(guān)注,因為它不易受環(huán)境因素的影響,且能夠更好地保護(hù)個人隱私。近年來,國內(nèi)外學(xué)者在基于傳感器數(shù)據(jù)的人體行為識別領(lǐng)域取得了一系列成果,例如基于PCA和SVM-HMM的混合模型[2]、基于深度學(xué)習(xí)的多特征融合方法[3]、基于LSTM的多傳感器數(shù)據(jù)融合方法[4]、基于CNN-LSTM的混合模型[5]等。
然而,現(xiàn)有研究方法仍面臨一些挑戰(zhàn),例如提取特征尺度單一、深度學(xué)習(xí)模型計算復(fù)雜度較高、與傳感器計算能力不匹配等。為了解決這些問題,本文提出了一種基于CNN-GRU和注意力機制的人體行為識別算法。該算法結(jié)合了CNN的空間特征提取能力、GRU的時序特征提取能力以及注意力機制關(guān)注重要信息的能力,能夠更加高效、準(zhǔn)確地識別復(fù)雜的人體行為。
1 關(guān)鍵技術(shù)
1.1 GRU
門控循環(huán)單元(Gated Recurrent Unit, GRU) 是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種實現(xiàn)[6]。與LSTM類似,GRU也旨在解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度消失和梯度爆炸問題,從而使網(wǎng)絡(luò)能夠更好地處理長期依賴關(guān)系。在LSTM中包含三個控制門:輸入門、遺忘門以及輸出門,每個門都有獨立的記憶單元,用于控制信息的流動。而在GRU中只包含2個門:更新門和重置門,使用更新門代替LSTM 中的輸入門和遺忘門。因此,GRU結(jié)構(gòu)更加簡單、參數(shù)較少,訓(xùn)練速度較快,更加適合計算資源有限的場景。
GRU 的結(jié)構(gòu)如圖1 所示,其主要包括輸入變量Xt、門控隱狀態(tài)Ht、重置門Rt、更新門Zt、候選隱狀態(tài)H?t以激活函數(shù)和運算符。圖1中σ 表示Sigmoid函數(shù),⊕ 表示相加,?表示按元素乘積。
對于當(dāng)前時間步t,重置門Rt 用于控制在加工輸入信息時上一步隱狀態(tài)所占的比例。當(dāng)Rt 接近0時,新輸入的信息Xt 占主導(dǎo)地位,表示當(dāng)前的輸入包含的信息與前面的信息關(guān)聯(lián)性很?。划?dāng)Rt 接近1時,新輸入的信息和前面的長期信息具有較大的關(guān)聯(lián)性。更新門Zt 決定了如何將前面信息與當(dāng)前的信息進(jìn)行結(jié)合,控制前面信息的保留程度。Zt 值為0表示完全忽略之前的信息,值為1表示完全保留之前的信息。重置門Rt和更新門Zt的計算公式如下所示:
Rt = σ(XtWxr + Ht - 1Whr + br ) (1)
Zt = σ(XtWxz + Ht - 1Whz + bz ) (2)
式中:Wxr,Wxz 分別為計算Rt 和Zt 時輸入變量對應(yīng)的權(quán)重參數(shù),Whr,Whz 分別為計算Rt 和Zt 時隱藏單元對應(yīng)的權(quán)重參數(shù),br,bz 是偏置參數(shù),使用Sigmoid函數(shù)將輸入值轉(zhuǎn)換到區(qū)間(0,1)。隱狀態(tài)H?t 的計算公式如下所示:
H?t = tanh (XtWxh + (R ) t ? Ht - 1 Whh + bh ) (3)
式中:Wxh,Whh 為權(quán)重參數(shù),bh 為偏置項。使用tanh激活函數(shù)確保候選隱狀態(tài)中的值保持在區(qū)間(-1,1)中。最后輸出Ht的計算公式如下:
Ht = Zt ? Ht - 1 + (1 - Zt ) ? H?t (4)
當(dāng)更新門Zt 接近1時,模型傾向于保留舊狀態(tài)。此時來自本步輸入Xt 的信息基本上被忽略,從而有效地跳過了依賴鏈條中的時間步t。相反,當(dāng)Zt接近0時,新的隱狀態(tài)Ht 將接近候選隱狀態(tài)H?t。GRU的這種結(jié)構(gòu)可以很好地處理循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度消失問題,并更好地捕獲時間步距離較長的序列的依賴關(guān)系。
1.2 注意力機制
注意力機制(Attention Mechanism) 是深度學(xué)習(xí)領(lǐng)域中的一個重要概念,最早應(yīng)用于自然語言處理領(lǐng)域,用于改進(jìn)序列到序列模型的性能。該機制允許模型在處理輸入序列的不同部分時,能夠更加關(guān)注重要部分,而不是平等對待所有輸入元素。其核心計算公式如下所示:
式中:Q、K、V分別表示查詢向量、鍵向量和值向量,由輸入序列中的元素經(jīng)過線性變換獲得。如果沒有給定鍵向量,則默認(rèn)為鍵向量等于值向量。對于序列中的每個元素,計算查詢向量與所有其他元素的鍵向量之間的相似度。根據(jù)相似度的結(jié)果,為每個元素分配一個權(quán)重,該權(quán)重通過 SoftMax 函數(shù)計算得到。對于序列中的每個元素,將其值向量與對應(yīng)的權(quán)重相乘,然后將所有元素的加權(quán)求和結(jié)果進(jìn)行拼接,得到最終的輸出向量。注意力機制能夠更加專注于關(guān)鍵信息,從而提升模型的精度和效率。
2 CNN-GRU-Attention 算法
算法中的神經(jīng)網(wǎng)絡(luò)模型主要包含1層輸入層、2 層 1維卷積層、1層最大池化層、1層批量標(biāo)準(zhǔn)化層、2 層GRU層、1層Attention 層和1層全連接層。具體的結(jié)構(gòu)以及各層輸入輸出數(shù)據(jù)的形狀如圖2所示。
算法的詳細(xì)設(shè)計思路如下:
1) 將輸入層的數(shù)據(jù)傳給第 1 個 1 維卷積層,該層的卷積核大小設(shè)置為 5、卷積核數(shù)量設(shè)置為 64,用于提取數(shù)據(jù)中的空間特征,輸出數(shù)據(jù)的形狀為 (None,90, 64);
2) 將第 1 個卷積層的數(shù)據(jù)傳給最大池化層,該層的池化窗口設(shè)置為 5、步長設(shè)置為 2,對數(shù)據(jù)進(jìn)行降維,輸出數(shù)據(jù)的形狀為(None, 45, 64);
3) 將池化后的數(shù)據(jù)傳給第2個1維卷積層,該層的卷積核數(shù)量設(shè)置為32,再次提取數(shù)據(jù)的空間特征,輸出數(shù)據(jù)的形狀為(None, 45, 32);
4) 將第2次卷積后的數(shù)據(jù)傳給批量標(biāo)準(zhǔn)化層,其作用是提高模型的穩(wěn)定性,同時減少過擬合的風(fēng)險;
5) 將批量標(biāo)準(zhǔn)化層的數(shù)據(jù)傳給第1個 GRU 層,該層的輸出維度設(shè)置為16,用于提取數(shù)據(jù)的時序特征,輸出數(shù)據(jù)的形狀為(None, 45, 16),輸出數(shù)據(jù)分別作為 Attention 層中的查詢向量和值向量;
6) 將上層輸出的查詢向量和值向量輸入 Atten?tion 層,提取數(shù)據(jù)中的重要信息;
7) 將 Attention 層的數(shù)據(jù)傳給第 2 個 GRU 層,再次提取數(shù)據(jù)的時序特征;
8) 最后將數(shù)據(jù)傳給全連接層,該層的激活函數(shù)為SoftMax,輸出各種行為的概率。
3 實驗及結(jié)果分析
3.1 數(shù)據(jù)集
實驗中采用的是WISDM(Wireless Sensor DataMining) 數(shù)據(jù)集,該數(shù)據(jù)集由美國福特漢姆大學(xué)的無線傳感器數(shù)據(jù)挖掘?qū)嶒炇覄?chuàng)建,可通過該大學(xué)提供的URL 下載。數(shù)據(jù)集中總共包含 1 098 207 個樣本,收集了36個用戶的6種行為數(shù)據(jù),包括:走路(Walking) 、慢跑(Jogging) 、上樓(Upstairs) 、下樓(Downstairs) 、坐(Sitting) 和站立(Standing) 。數(shù)據(jù)采樣頻率為 20Hz,傳感器類型為加速度傳感器,測試場景為智能手機放置在衣兜中,用戶在完成各種行為時收集數(shù)據(jù)。
各類行為的比例分布為:Walking(38.6%) 、Jogging(31.2%) 、Upstairs(11.2%) 、Downstairs(9.1%) 、Sitting(5.5%) 、Standing(4.4%) 。每條數(shù)據(jù)樣本包含以下字段:用戶編號、行為動作、時間戳、x 軸加速度值、y 軸加速度值和 z 軸加速度值。
3.2 數(shù)據(jù)預(yù)處理
3.2.1 數(shù)據(jù)標(biāo)準(zhǔn)化
不同的特征通常具有不同的尺度,具有更大尺度的特征可能會主導(dǎo)模型的訓(xùn)練,導(dǎo)致模型對其他特征的敏感度降低。為了使模型能夠更好地學(xué)習(xí)數(shù)據(jù),通常需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。文中采用 Z-Score 標(biāo)準(zhǔn)化方法,其計算公式如下所示:
Z = (X - μ )/s (6)
式中:X 為輸入樣本,μ 為樣本均值,s 為樣本標(biāo)準(zhǔn)差。通過這個公式,可以將不同量級的數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一度量的Z-Score分值進(jìn)行比較,提高數(shù)據(jù)的可比性。
3.2.2 數(shù)據(jù)分割
傳感器數(shù)據(jù)是隨時間不間斷的連續(xù)信號,一段時間的數(shù)據(jù)序列代表一個行為動作。為了識別不同的行為,需要對連續(xù)的信號進(jìn)行分割,通常采用固定長度的滑動窗口法進(jìn)行分割。其原理為:設(shè)置一個固定長度的窗口,按窗口的長度提取不同時間段的時序數(shù)據(jù),然后沿著時間軸滑動窗口,重復(fù)提取數(shù)據(jù)。連續(xù)兩次提取數(shù)據(jù)的窗口的重疊部分與窗口長度的比率稱為重疊率。實驗中,滑動窗口的大小設(shè)置為 90,重疊率設(shè)置為 20%。經(jīng)過分割處理后的數(shù)據(jù)形狀為:(54 906, 90, 3) ,其中 54 906 表示數(shù)據(jù)樣本數(shù),90 表示固定窗口長度,3 表示加速度傳感器的3個數(shù)值(x、y 和 z 軸加速度) 。
3.3 性能指標(biāo)
實驗中采用了評估分類算法時常用的性能指標(biāo):準(zhǔn)確率、精準(zhǔn)率、召回率以及 F1-Score。
準(zhǔn)確率(Accuracy) 表示正確分類的樣本數(shù)與總樣本數(shù)的比例,其計算公式如下:
Accuracy = TP + TN/TP + TN + FP + FN (7)
式中:TP 為真正例:樣本為正例被正確預(yù)測為正例;TN 為真反例:預(yù)測為負(fù)樣本,真實也為負(fù)樣本;FP為假正例:樣本反例被錯誤預(yù)測為正例;FN 為假反例:樣本正例被錯誤預(yù)測為反例。
精準(zhǔn)率(Precision) 表示預(yù)測為正例的樣本中真正例的比例,其計算公式如下:
Precision = TP/TP + FP (8)
召回率(Recall) 表示正確識別的正例占所有實際正例的比例,其計算公式如下:
Recall = TP/TP + FN (9)
F1-Score表示精準(zhǔn)率和召回率的調(diào)和平均數(shù),用于衡量模型的平衡性能,其計算公式如下:
F1 = 2 × Precision × Recall/Precision + Recall (10)
3.4 對比實驗
將 CNN-GRU-Attention 算法與 CNN、GRU 以及CNN-GRU 進(jìn)行對比實驗。實驗中,將總數(shù)據(jù)樣本的20% 作為測試集,剩余部分作為訓(xùn)練集。學(xué)習(xí)率設(shè)置為 0.002 5,遍歷次數(shù)(epoch) 設(shè)置為 10,批次大?。╞atch_size) 設(shè)置為 64。
不同算法訓(xùn)練時的損失率和準(zhǔn)確率的變化如圖3 和圖 4 所示。經(jīng)過 10 個 epoch 的訓(xùn)練,幾種算法的準(zhǔn)確率分別為:CNN-GRU-Attention:98.46%;CNNGRU:97.43%;CNN:96.95%;GRU:94.16%。
可以發(fā)現(xiàn),包含 CNN 的算法比單純的 GRU 算法性能更優(yōu)。這可能是因為在數(shù)據(jù)預(yù)處理時損失了一些時序性,使得 GRU 的時序特征提取能力未能得到充分利用,而 CNN 和 GRU 的組合能夠更有效地提取數(shù)據(jù)特征。此外,Attention 機制的加入對改善模型性能起到了顯著作用。
使用 CNN-GRU-Attention 算法對測試集中的數(shù)據(jù)進(jìn)行分析,各種行為分類的性能比較如表 1 所示。算法對絕大多數(shù)行為能夠很好地識別,在精準(zhǔn)率、召回率以及 F1-Score 等性能指標(biāo)上表現(xiàn)出較好的效果。只是對于上樓和下樓行為的識別性能稍低,這可能是因為這兩種行為在傳感器數(shù)據(jù)上的特征較為相似。
4 結(jié)束語
本文對基于傳感器數(shù)據(jù)的人體行為識別算法進(jìn)行了研究,分析了人體行為識別技術(shù)的巨大應(yīng)用價值以及相關(guān)的研究方法。提出了一種結(jié)合 CNN、GRU 和 Attention 的算法,詳細(xì)介紹了算法中的關(guān)鍵技術(shù)以及神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,使用 GRU 替代 LSTM 降低了算法的復(fù)雜度,加入批量標(biāo)準(zhǔn)化層提升了算法的穩(wěn)定性,引入注意力機制進(jìn)一步提升了算法的行為識別性能。
實驗記錄了算法訓(xùn)練過程中的損失率和準(zhǔn)確率變化情況,結(jié)果表明該算法在模型的訓(xùn)練速度和準(zhǔn)確率上具有較好的性能,同時在其他性能指標(biāo)上也表現(xiàn)出優(yōu)異的效果。
下一步工作將從以下兩個方面展開:
1) 改進(jìn)傳感器數(shù)據(jù)的分割方法,減少對數(shù)據(jù)中時序特征的破壞,從而充分發(fā)揮 GRU 的性能。
2) 優(yōu)化神經(jīng)網(wǎng)絡(luò)模型,減少模型中的參數(shù),進(jìn)一步降低算法的復(fù)雜度,使算法更好地適應(yīng)基于傳感器數(shù)據(jù)的人體行為識別場景。
參考文獻(xiàn):
[1] 楊觀賜,李楊,趙樂,等.基于傳感器數(shù)據(jù)的用戶行為識別方法綜述[J].包裝工程,2021,42(18):94-102,133.
[2] ABIDINE M B,F(xiàn)ERGANI B,MENHOUR I.Activity recognitionfrom smartphones using hybrid classifier PCA-SVM-HMM[C]//2019 International Conference on Wireless Networks and Mo?bile Communications (WINCOM). October 29 - November 1,2019,F(xiàn)ez,Morocco.IEEE,2019:1-5.
[3] 郭毅博,孟文化,范一鳴,等.基于可穿戴傳感器數(shù)據(jù)的人體行為識別數(shù)據(jù)特征提取方法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2021,33(8):1246-1253.
[4] 張俊,李昌.基于LSTM多傳感器數(shù)據(jù)融合人體行為識別方法[J].蕪湖職業(yè)技術(shù)學(xué)院學(xué)報,2021,23(2):32-35.
[5] ORDó?EZ F J,ROGGEN D.Deep convolutional and LSTM re?current neural networks for multimodal wearable activity recog?nition[J].Sensors,2016,16(1):115.
[6] CHUNG J,GULCEHRE C,CHO K,et al.Empirical evaluation ofgated recurrent neural networks on sequence modeling[EB/OL].[2024-06-23].arXiv preprint arXiv:1412.3555, 2014.
【通聯(lián)編輯:唐一東】
基金項目:2022 年高校哲學(xué)社會科學(xué)研究一般項目(2022SJYB2365) ;2022 年江蘇省高?!案哔|(zhì)量公共課教學(xué)改革研究”專項課題(2022JDKT080)