?

基于改進機器學習的人體行為識別方法研究

2023-11-23 00:56陶加貴胡勝男戴建卓張思聰
電氣傳動 2023年11期
關鍵詞:特征選擇識別率頻域

陶加貴,胡勝男,戴建卓,張思聰

(1.國網江蘇省電力有限公司電力科學研究院,江蘇 南京 211103;2.國網電力科學研究院武漢南瑞有限責任公司,湖北 武漢 430074)

人體行為識別(human activity recognition,HAR)是智能化研究中的一個重要方向,具有廣泛的應用前景,在智能家居、智慧醫療、老人病人監護等方面發揮著極其重要的作用[1]。由于認知缺陷和身體受損,依賴人群和老年人在日常生活活動中極易發生意外,應用人體行為識別系統,對突發情況進行及時檢測并自動發送警報[2-3],可以在很大程度上解決依賴人群和老年人的活動監護問題。

基于傳感器的人體行為識別已成為近年來人工智能領域的研究熱點[4],通過機器學習等方法將傳感器收集的傳感數據有效地映射到人類的行為活動中。傳統的機器學習實現行為識別遵循自上而下的方法,包括數據收集、信號預處理和分割、手工構建特征和選擇及分類[5]。然而,在不同的領域中評判人工提取特征的有效性是非常困難的,并且還需要進行耗時的特征選擇和一定的降維方法以減少計算復雜度[6-8]。同時特征選擇的不恰當使用易導致模型缺乏概括性或建模復雜活動細節的能力,這會影響識別精度。

在人類活動識別框架的所有不同階段中,特征提取是最重要的階段[9],關于如何通過提取專家驅動的特征來改進人類活動識別系統,已經做了大量的工作。HASSAN MM等人[10]依據統計特性從原始數據中提取高效特征,然后采用核主成分分析(kernel principal component analysis,KPCA)進行降維,最后使用深度信任網絡進行訓練,獲得了較高的識別效率;MA Congcong 等人[11]采用自適應的滑動窗口對時序動作數據進行分段并提取相關特征,將特征規范化后進行特征選擇,利用多元高斯分布實現了不同坐姿狀態的識別;張俐等人[12]依據經驗提取行為特征后,基于互信息理論設計了一種前向搜索的非線性特征選擇算法,尋找與多分類標簽相關的最優子集,并降低計算復雜度;王瑞杰等人[13]在特征選擇的過程引入冗余性分析,將冗余特征剔除,以提高分類準確率和降低計算復雜度。伴隨著傳感器技術的高速發展,行為識別領域可獲取的傳感器數據越來越多[14],面對多維度、大體量的行為信號數據,依賴專家經驗和信號處理技術的傳統行為識別方法已經無法滿足更高精度的行為分析需求,因此,迫切需要研究一種新的方法以減少復雜的預處理和特征選擇的干預。

而近年來,多層次結構和再學習訓練的特點使得深度學習具有更大的優勢,可以彌補傳統行為識別方法的人工提取特征的不足并避免特征選擇的干預[15]。結合深度置信網絡(deep belief network,DBN)在提取特征和處理高維、非線性數據等方面的優勢,文中提出一種基于深度置信網絡-支持向量機(deep belief network-support vector machine,DBN-SVM)的行為識別模型,以行為數據預處理獲取的時頻域信號作為DBN-SVM 的模型輸入,以供DBN 實現高層次的特征提取、獲取更具辨別力的行為特征向量;之后輸入SVM 進行行為分類識別,通過對DBN-SVM 模型的網絡層數等參數設置進行實驗分析,確定了模型參數;最后以不同數據集和分類器進行行為識別分類,驗證了提出方法的有效性。

1 原始數據預處理

1.1 濾波降噪

從傳感器中采集的原始行為數據不可避免地帶有大量的噪聲信息。這是因為在采集數據時,用戶身上發生的抖動、與衣服之間的摩擦以及其他因素,這些因素會使得原始數據中含有大量的噪聲,影響人體行為識別效果[16]。文中選擇中值濾波器和低通巴特沃斯濾波器過濾掉原始數據中的噪聲。圖1 為濾波之前的行為數據信號,圖2 為濾波之后的行為數據信號。從圖中可以看出,使用濾波器過濾后的傳感器數據會更加地平滑,更容易識別波形的周期性。

圖1 濾波之前的行為信號波形Fig.1 Behavior signal waveform before filtering

圖2 濾波之后的行為信號波形Fig.2 Behavior signal waveform after filtering

1.2 時頻域變換

行為數據信號在采集的過程中會受到重力的作用,使得加速度計采集的各個軸的加速度除了包含運動產生的線性加速度之外,還包含了重力加速度分量,需要利用濾波器分離信號。

低通濾波器是一種允許低于截止頻率的數據通過的濾波器,可以篩選出頻率高于截止頻率的數據[17]。由于高頻數據變化快,低頻數據變化慢,可知重力加速度是一種低頻數據,運動加速度是一種高頻數據。因此可以使用低通濾波器將加速度計傳感器的加速度分離成重力加速度和線性加速度[10]。在此基礎上,通過歐幾里得范數的計算和快速傅里葉變換獲取時頻域信號。時域信號包括:身體加速度、重力加速度等;頻域信號包括身體線性加速度、身體角速度等。具體信號如表1所示。

表1 時域頻域信號Tab.1 Time domain-frequency domain signals

表1 中,前置字母t,f 分別表示時域、頻域信號,BodyAcc 表示身體加速度,GravityAcc 表示重力加速度,BodyAccJerk 表示身體加加速度,Body-AngularSpeed 表示身體角速度,BodyAngularAcc表示身體角加速度,BodyAccMag表示身體加速度大小,GravityAccMag 表示重力加速度大小,Body-AngularSpeedMag 表示身體角加速度大小,Body-AccJerkMag 表示身體加加速度大小,BodyAngularAccMag表示角加速度大小。

1.3 窗口分割

從傳感器中采集的數據一般比較長,而且每次采集的數據長度不一定相同。如果不將其切分成較短的數據段就提取特征,這樣提取的特征通常不能很好地表示出數據的真實特性,對整個人體行為識別產生影響,導致識別不準確。因此,在對采集的數據進行去除噪聲之后,還需要使用滑動窗口對信號進行采樣,以方便后面進行特征提取和分類識別。

滑動窗口分割技術是指使用一個固定長度的窗口沿著時間序列向前移動,每移動一次就提取其窗口內的數據作為一個數據段,每個窗口之間存在一定的重疊率(使窗口中可以包含更多信息),窗口滑動至時序數據尾部,可得到一組連續的樣本集用于活動分類[18]。圖3 為包含3 個活動數據的滑動窗口分割技術時間序列示意圖。

圖3 滑動窗口分割技術時間序列示意圖Fig.3 Schematic of sliding window segmentation technique time series

圖3 中,A1,A2,A3表示3 個持續時間不同的動作,W1,W2,W3,W4表示相同大小的滑動窗口。本文依據經驗將滑動窗口大小設置為2.56 s,并以50%的重疊率進行數據分段。2.56 s 的窗口大小可以滿足絕大多數動作所需的時間,同時50%的重疊率可以保證當前動作信息的完整度。

2 基于DBN-SVM的行為識別模型

2.1 DBN模型

DBN 由若干層受限玻爾茲曼機器(restricted Boltzmann machine,RBM)堆疊組成,是一種廣泛應用的深度學習模型,主要包括預訓練和反向調參兩部分[19]。DBN 可以將原始數據中的深層特征以非線性變換的形式自動提取,首先以無監督的方式逐層訓練DBN 模型提取高層特征,然后采取反向微調算法實現模型的有監督訓練,最后采用訓練好的模型對行為測試集進行分類,并記錄每個隱含層的輸出向量。相比于傳統的顯層分類器如多層前饋神經網絡(back propagation,BP)、人工神經網絡(artificial neural network,ANN)等神經網絡,DBN 可以更好地避免過擬合。DBN 的結構如圖4所示。

圖4 DBN結構圖Fig.4 Structure diagram of DBN

DBN 由多個RBM 堆疊而成,RBM 的結構如圖5所示??梢晢卧獀和隱藏單元h被連接成DBN 的基礎單元。連接可見單位和隱藏單位之間神經元的權重是相互獨立的,沒有可見或隱藏的連接,但是相鄰層之間是互相聯通的。

圖5 RBM的結構Fig.5 Structure of RBM

如圖5所示,RBM 單元中包含了m個可見單元和n個隱藏單元,a,b分別為單元偏置,w為相鄰層之間的連接權重。

聯合結構網絡的層間單元節點具有的能量如下式:

式中:wij為第i個節點vi與第j個節點hj之間的權重值。

RBM 中可見層與隱含層之間的聯合概率分布可由網絡的節點能量表示,即

則可見層與隱藏層的邊緣概率分布為

其中

式中:f(x)為激活函數。

RBM 通過對比散度算法更新概率分布和能量值以獲取DBN 的網絡參數θ={w,a,b},分別表示為

式中:k為迭代次數;η為學習率。

利用DBN提取行為高層特征的過程如圖6所示。它通過一個非監督貪婪逐層方法預訓練獲得權重,將可視層輸入的行為樣本映射到高層。

圖6 DBN提取特征過程Fig.6 Feature extraction process of DBN

經過DBN 網絡映射后提取的高層特征y表示如下:

式中:v為可視層輸入特征;θDBN為模型的網絡參數。

2.2 模型構建

深層信念網絡在底層有定向連接,在頂層有無定向連接,這有助于模擬向量空間和隱藏層之間觀察到的分布以學習對變換、噪聲和位移不變的穩健特征。但DBN 的輸出不穩定,具有一定的隨機性[20]。

因此,為了減少DBN 模型輸出的隨機性,文中利用DBN 模型輸出高維度特征矩陣,通過在DBN 的輸出層接入多個SVM 分類器進行行為識別,可以有效提升模型的泛化能力和可靠性?;贒BN-SVM的人體行為識別流程如圖7所示。

圖7 基于DBN-SVM行為識別流程Fig.7 Behavior recognition process based on DBN-SVM

利用DBN-SVM 模型提取行為的高層特征主要包括以下4個步驟:

1)利用智能手機傳感器獲得人體不同的行為信號;

2)對原始行為信號進行降噪處理并分段,標準化后將行為數據集劃分為訓練集和測試集;

3)建立DBN-SVM 模型并根據行為樣本維數確定模型輸入層節點,使用訓練數據集對DBN 模型進行逐層訓練,對模型權重進行權重和閾值的反向微調,最后提取出行為的高層特征;

4)將提取的高層行為特征輸入到SVM 分類器,獲得行為識別準確率。

利用DBN-SVM 模型提取高層特征的過程如下:①采集多種行為信號;②對行為信號進行預處理去除噪聲并分段;③劃分行為數據集為訓練集和測試集;④初始化DBN 相關參數;⑤訓練集訓練DBN;⑥測試集輸入已訓練的DBN 模型,隱含層輸出向量,獲取行為特征向量集。

3 實驗分析

3.1 實驗環境配置

實驗以PyCharm Edition 2019為開發環境,操作環境為內存4 GB 的Windows 10 系統,CPU 配置為Intel?Core?i5-2400 CPU@3.10 GHz。

3.2 實驗數據集

本文采用公開的基于智能手機的人體行為識別數據集——UCI 數據集[18]進行實驗。UCI 數據集共10 929 條數據,由30 名年齡為19~48 歲的志愿者采集,通過將智能手機放置于志愿者的腰部獲取加速度計和陀螺儀相關數據,采集頻率為50 Hz,共采集6 種活動,包括:步行、步行-上樓、步行-下樓、坐立、站立、躺著。數據集按照70%和30%的比例隨機被分為7 767 個訓練集和3 162 個測試集。訓練集和測試集中的每條原始行為數據通過濾波器降噪并將原始行為信號分離為17 個時頻域信號,之后以2.56 s 的固定滑動窗口將數據分割為連續的小片段構成數據集,直接輸入到DBN-SVM 模型中提取行為高層特征實現活動識別。

3.3 評價指標

實驗中采用以準確率、精確率、召回率和f1分數作為模型的評價指標。由于不同行為的樣本數量分布不均,綜合四個指標測評模型的效率,可以實現模型對負樣本的高區分能力、對正確樣本的識別能力和穩健性[21]。

準確率(acc)可以最直觀地展示分類結果,表示預測樣本為正確分類的結果占總樣本數量的比例。但是當每個樣本占總樣本的比例非常不平衡時,占比高的類別對最終的準確率影響很大,這是單獨使用準確率無法避免的缺陷,計算公式如下式:

式中:ncorrect為正確分類的樣本個數;ntotal為總樣本個數;TP為實際為正被預測為正的樣本數量;FN為實際為正但被預測為負的樣本的數量;FP為實際為負但被預測為正的樣本數量;TN為實際為負被預測為負的樣本的數量。

精確率(pre)指模型預測為正的樣本在實際中也正的樣本占被預測為正的樣本的比例。精確率可以實現分類器不將負樣本錯誤標記為正樣本,計算方法如下式所示:

召回率(recall)指實際為正的樣本中被預測為正的樣本所占實際為正的樣本的比例,召回率可以表示分類器找到所有正樣本的能力,計算方法如下式所示:

f1分數(f1-score)為精確率和召回率的調和平均值,計算方法如下式所示:

3.4 模型參數設置

DBN 的網絡層數、神經單元個數、學習率、迭代次數等參數設置對最后的識別精度都會產生影響。本實驗將研究不同的參數設置對行為識別的影響。RBM 學習速率為0.1,迭代次數設置為60次。首先研究不同網絡層數的影響,將每層網絡的隱藏層與輸出層單元個數設置為100,提取高層特征后使用SVM 進行行為識別。圖8 為1~10 層網絡進行行為識別的準確率,從圖中可以看出,當網絡層數為4時,行為識別取得了較高的準確率。因此,DBN-SVM 的模型參數設置如下:輸入層節點個數100,隱藏層1 節點個數60,隱藏層2 節點個數20,輸出層節點數6,網絡層數4,學習率0.1,迭代次數60。

圖8 不同網絡層數的行為識別準確率Fig.8 Behavior recognition accuracy of different network layers

3.5 實驗分析

分析提出的DBN-SVM 模型對6 種行為動作的識別情況,實驗結果如圖9所示。

圖9 DBN-SVM模型行為識別率Fig.9 Behavior recognition rate of DBN-SVM model

實驗結果表明,提出的識別算法對步行、步行-上樓、步行-下樓、坐立、站立、躺著6種動作的識別率分別為96.33%,93.12%,92.67%,97.43%,95.19%,96.40%,對坐立的識別率最高,對步行-下樓的識別率最低,對6 種活動的平均識別率達到了95.19%。

傳統的基于加速度和角速度的行為識別方式是提取行為信號的時域和頻域信號,之后在滑動窗口內提取統計特征,包括均值、最大值、最小值、軸相關性等,然后將獲取的特征矢量集輸入分類器中進行分類識別,常用的分類器包括SVM,BP 神經網絡及ANN 等。本次實驗將提出的DBN-SVM 模型與傳統的分類方法(DBN,ANN,SVM和BP)進行對比,其中ANN,SVM和BP輸入的特征矢量是與DBN-SVM 模型相同,是經過簡單預處理之后的時頻域信號。4種方法對各活動的識別率如圖10所示。

圖10 各模型對各活動的行為識別率Fig.10 The behavior recognition rate of each model for each activity

由實驗結果可以發現,各模型對6 種活動的識別存在以下特點:由于不同活動之間存在相似性,步行與步行-上樓、步行-下樓容易發生誤判,站立、坐立和躺著3種行為容易識別錯誤,但本文提出的方法活動誤判的概率非常低,且該模型對6 種行為動作的平均識別率達到了95.19%,高于DBN(2.45%),ANN(13.02%),SVM(23.79%),BP(14.71%),因此得出本文提出的行為識別方法具有較高的識別率。

將各模型應用于WIDSM[22]行為數據集中,行為識別的結果如表2所示。

表2 各模型在WIDSM數據集行為識別結果Tab.2 Behavior recognition results of each model in WIDSM data set

表2 中,準確率、精確率、召回率、f1分數4 個常用指標的實驗結果表明,文中提出的DBNSVM 對6 種行為的識別率較高且較均衡,其次是DBN 模型,因為DBN-SVM 提取了行為的高層特征,特征間關聯性強且極具辨別力,因此分類識別效果更好。DBN-SVM 模型相較于DBN,SVM,ANN,BP,平均識別率分別提高了4.84%,15.92%,12.13%,14.92%。

4 結論

文中在分析深度置信網絡的原理和傳統機器學習方法的缺陷的基礎上,結合集成學習提出了一種基于DBN-SVM 模型的行為識別方法。該方法通過DBN 提取行為數據時頻域信號的高層特征,在實驗中不斷調整設置模型參數,之后應用于SVM 并取得了較好的行為識別結果。相比于以手工制作方法提取特征有傳統方法,DBNSVM 模型不需要在滑動窗口內依據專家經驗提取統計特征,利用DBN 模型直接獲取高層特征,無需進行特征選擇,減少了行為識別過程中的計算量。將該方法應用于現有的UCI 數據集中,取得了較好的識別效果。同時,與現有的行為識別方法相比,本方法仍具有較好的識別性能。實驗結果表明,本方法可以實現較高準確率的人體行為識別,具有一定的研究意義。

在人體日?;顒又?,由于加速度、角速度等十分相似,某些活動極易被分到與其相似的活動中,使得行為識別的精確率無法達到最優,未來將著力研究相似活動混淆分類的問題,以提升活動識別精度。

猜你喜歡
特征選擇識別率頻域
大型起重船在規則波中的頻域響應分析
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
頻域稀疏毫米波人體安檢成像處理和快速成像稀疏陣列設計
提升高速公路MTC二次抓拍車牌識別率方案研究
Kmeans 應用與特征選擇
高速公路機電日常維護中車牌識別率分析系統的應用
基于改進Radon-Wigner變換的目標和拖曳式誘餌頻域分離
聯合互信息水下目標特征選擇算法
基于頻域伸縮的改進DFT算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合