宿通通,孫華志,馬春梅,姜麗芬
(天津師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,天津300387)
人體行為識(shí)別是指通過各種傳感器感知人體行為數(shù)據(jù),并利用計(jì)算機(jī)自動(dòng)檢測(cè)技術(shù)分析和理解人體各類運(yùn)動(dòng)和行為的過程,其在很多領(lǐng)域有著廣泛的應(yīng)用前景[1].如:在安全監(jiān)控領(lǐng)域,智能視頻監(jiān)控對(duì)異常行為的檢測(cè)可及時(shí)發(fā)現(xiàn)不正當(dāng)行為[2];在智能家居領(lǐng)域,通過處理和分析內(nèi)置傳感器獲取的數(shù)據(jù),能夠檢測(cè)跌倒事件[3].
隨著普適計(jì)算的發(fā)展,各式各樣的傳感器植入了智能手機(jī),如加速度計(jì)、陀螺儀、磁力計(jì)、氣壓計(jì)等,因此智能手機(jī)成為新的傳感設(shè)備,具備感知和計(jì)算能力,且智能手機(jī)對(duì)人群具有天然的覆蓋性,使其能夠成為用于活動(dòng)識(shí)別的有力平臺(tái).智能手機(jī)可以通過內(nèi)置傳感器感知用戶情景的上下文,識(shí)別用戶活動(dòng)類型,從而為用戶提供合適的服務(wù),也便于設(shè)計(jì)更多實(shí)用的現(xiàn)實(shí)增強(qiáng)應(yīng)用.然而,智能手機(jī)內(nèi)置的傳感器類型不完全相同,其采集的數(shù)據(jù)具有不同的粒度和質(zhì)量,從而,同一時(shí)刻來自多傳感器的數(shù)據(jù)構(gòu)成了異構(gòu)數(shù)據(jù)集;此外,傳感器采集的數(shù)據(jù)具有時(shí)間維度特性.因此,不同類型傳感器采集的人體行為數(shù)據(jù)具有異構(gòu)時(shí)間序列特性.
活動(dòng)的識(shí)別精度直接影響現(xiàn)實(shí)增強(qiáng)應(yīng)用的可使用性.早期一些學(xué)者提出使用傳感器數(shù)據(jù)融合方法進(jìn)行活動(dòng)識(shí)別[5-8],而這種方法需要調(diào)整感知設(shè)備坐標(biāo)使數(shù)據(jù)能夠反映物體運(yùn)動(dòng)特性.此外,多維數(shù)據(jù)一般需要分階段處理,不能直接表達(dá)異構(gòu)數(shù)據(jù)且不能體現(xiàn)數(shù)據(jù)時(shí)間序列特點(diǎn).隨著深度學(xué)習(xí)在圖像和語音識(shí)別中表現(xiàn)出的優(yōu)越性能[9-10],基于深度學(xué)習(xí)的序列數(shù)據(jù)處理用于活動(dòng)識(shí)別的方法被相繼提出[11-13].文獻(xiàn)[14]采用深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)算法進(jìn)行特征學(xué)習(xí),結(jié)合決策樹算法實(shí)現(xiàn)人體行為的分類識(shí)別.文獻(xiàn)[15]利用多個(gè)傳感器的組合表示群體環(huán)境中的不變特征,提出一種新的具有時(shí)間標(biāo)簽的異構(gòu)數(shù)據(jù)表示學(xué)習(xí)方法,并通過深度學(xué)習(xí)提取典型特征.文獻(xiàn)[16]設(shè)計(jì)了時(shí)空域深度卷積神經(jīng)網(wǎng)絡(luò),此網(wǎng)絡(luò)可以同時(shí)學(xué)習(xí)運(yùn)動(dòng)信息和靜態(tài)圖像內(nèi)容信息.但是,智能手機(jī)內(nèi)置的多種傳感器,使用于活動(dòng)識(shí)別采集的數(shù)據(jù)具有異構(gòu)特性,且活動(dòng)識(shí)別是一個(gè)典型的時(shí)間序列分類問題,感知的數(shù)據(jù)具有連續(xù)時(shí)間序列的活動(dòng)特征.對(duì)于長(zhǎng)時(shí)時(shí)序信息,需要處理單元具有記憶能力,在處理的過程中保存內(nèi)部狀態(tài)信息,并利用這些信息來計(jì)算當(dāng)前狀態(tài).現(xiàn)有工作忽視了活動(dòng)的連續(xù)性.針對(duì)上述方法的不足,本文選擇用于語音處理的4種不同類型的循環(huán)神經(jīng)網(wǎng)絡(luò)模型(RNN、GRU、LSTM、BLSTM),將其應(yīng)用于異構(gòu)時(shí)間序列數(shù)據(jù)[17]處理.針對(duì)4種模型,分別構(gòu)建自動(dòng)特征提取方法,在公開數(shù)據(jù)集上進(jìn)行了活動(dòng)識(shí)別測(cè)試實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行了對(duì)比分析.實(shí)驗(yàn)結(jié)果表明,利用BLSTM處理時(shí)序數(shù)據(jù)可以有效地用于活動(dòng)識(shí)別.
通過智能設(shè)備采集的傳感器數(shù)據(jù)是時(shí)間標(biāo)記的.在時(shí)刻t0,采樣窗口長(zhǎng)度為τ的數(shù)據(jù)序列為{xi,y(i),i=1,2,…,N}(t0+τ(i-1)),其中:xi為采樣的數(shù)據(jù),是同一時(shí)刻來自不同傳感器的數(shù)據(jù)組合,其維度為傳感器類型數(shù);y(i)為xi相對(duì)應(yīng)的類別標(biāo)簽.對(duì)于有m個(gè)特征傳感器的系統(tǒng),在n個(gè)時(shí)間點(diǎn)下,采樣數(shù)據(jù)可以表示為X=[xi]m×n.對(duì)于人體活動(dòng)識(shí)別,xi可以由序列標(biāo)簽ti時(shí)間標(biāo)記.
針對(duì)人體活動(dòng)時(shí)間序列數(shù)據(jù)的特點(diǎn),本文提出的人體行為識(shí)別系統(tǒng)架構(gòu)如圖1所示.
采集日常生活中最常見的6種行為(步行、上樓、下樓、坐、站、躺)的傳感器數(shù)據(jù),應(yīng)用不同類型的循環(huán)神經(jīng)網(wǎng)絡(luò)模型對(duì)其進(jìn)行識(shí)別.首先將智能設(shè)備中傳感器獲取的原始數(shù)據(jù)輸入到各個(gè)模型,利用模型的隱藏層對(duì)時(shí)序數(shù)據(jù)進(jìn)行特征提取,不同模型的隱藏層處理單元是不同的,最后用Softmax函數(shù)對(duì)人體行為進(jìn)行識(shí)別.數(shù)據(jù)集分成2個(gè)子集,一個(gè)用于構(gòu)建分類器,該數(shù)據(jù)集稱為訓(xùn)練集,另一個(gè)用于評(píng)估分類器,該數(shù)據(jù)集稱為測(cè)試集.首先利用訓(xùn)練集建立模型,然后在測(cè)試集上進(jìn)行驗(yàn)證,評(píng)估模型對(duì)未知樣本進(jìn)行預(yù)測(cè)的泛化能力,得出各個(gè)模型的行為分類結(jié)果.
圖1 人體行為識(shí)別系統(tǒng)架構(gòu)Fig.1 Architecture of human behavior recognition system
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型層與層之間是全連接的,每層之間的節(jié)點(diǎn)是無連接的,而RNN[18]隱藏層之間的節(jié)點(diǎn)是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時(shí)刻隱藏層的輸出.具體的表現(xiàn)形式為網(wǎng)絡(luò)會(huì)對(duì)前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計(jì)算中.
LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),它使用門控機(jī)制以更好地構(gòu)建數(shù)據(jù)中的長(zhǎng)期依賴關(guān)系,該模型的一個(gè)細(xì)胞中被放置了3扇門[19],分別稱為輸入門、遺忘門和輸出門.
GRU是LSTM的簡(jiǎn)化版本,保留了LSTM模型的長(zhǎng)期記憶能力,GRU的主要變動(dòng)是將LSTM細(xì)胞的輸入門、遺忘門、輸出門替換為更新門和重置門,并將細(xì)胞狀態(tài)和輸出2個(gè)向量合二為一[20].
BLSTM[21]是LSTM的增強(qiáng)版本,用于訓(xùn)練序列數(shù)據(jù)的前向?qū)雍秃笙驅(qū)臃謩e對(duì)應(yīng)2個(gè)LSTM,而且這2個(gè)LSTM都連接著一個(gè)輸出層,此結(jié)構(gòu)為輸出層輸入序列的每一個(gè)點(diǎn)提供完整的上下文信息.在實(shí)際應(yīng)用中,BLSTM與LSTM模型具有很強(qiáng)的可比性.
循環(huán)神經(jīng)網(wǎng)絡(luò)模型特征的創(chuàng)建過程見圖2.
對(duì)于帶標(biāo)簽的數(shù)據(jù)集,其中的每個(gè)示例都是不同數(shù)量幀的序列,并且所有幀具有相同固定數(shù)量的特征.用x表示數(shù)據(jù)集中的一個(gè)序列,l表示序列x中的幀數(shù),k表示數(shù)據(jù)集示例中每個(gè)幀的特征數(shù)量,所以x的大小是k×l.模型將窗口逐幀地輸送到隱藏層來提取特征,然后使用隱藏層的輸出來計(jì)算提取的特征窗口,最后,對(duì)提取的特征進(jìn)行取平均計(jì)算.
圖2 隱藏層從時(shí)間窗口中提取特征的過程Fig.2 Features extraction process from time window for hidden layer
人體行為識(shí)別結(jié)果的優(yōu)劣與采用的數(shù)據(jù)集緊密相關(guān),本文使用UCI HAR[22]數(shù)據(jù)集.實(shí)驗(yàn)數(shù)據(jù)由30名年齡在19~48歲的用戶在腰上佩戴智能手機(jī)進(jìn)行采集.采集的行為信息分為6種,包括3種靜態(tài)動(dòng)作(站、坐、躺)和3種動(dòng)態(tài)動(dòng)作(走路、上樓、下樓).在采集數(shù)據(jù)的過程中,每個(gè)用戶針對(duì)每種行為采集2次運(yùn)動(dòng)過程中的加速度信息,第1次手機(jī)放在左側(cè)的皮帶上,第2次對(duì)手機(jī)位置不做要求.使用嵌入式加速度計(jì)和陀螺儀,以50 Hz的恒定速率捕獲3軸線性加速度和3軸角速度,滑動(dòng)窗口大小設(shè)置為128.實(shí)驗(yàn)共計(jì)10 929個(gè)樣本,經(jīng)過預(yù)處理后,輸入數(shù)據(jù)的維度為9,時(shí)間步長(zhǎng)為128.
采用深度學(xué)習(xí)框架TensorFlow,集成開發(fā)環(huán)境為Pycharm.本文將實(shí)驗(yàn)收集的活動(dòng)數(shù)據(jù)樣本分為2部分,其中訓(xùn)練樣本占70%,測(cè)試樣本占30%.首先,將訓(xùn)練數(shù)據(jù)輸入到模型中進(jìn)行計(jì)算,將得到的結(jié)果與樣本標(biāo)簽對(duì)比來調(diào)整模型的參數(shù).其次,利用訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行參數(shù)訓(xùn)練,并以最終確定的參數(shù)構(gòu)建模型進(jìn)行特征提取.最后,利用Softmax函數(shù)進(jìn)行行為分類,得到行為標(biāo)簽.在深度學(xué)習(xí)系統(tǒng)中,調(diào)整模型參數(shù)是一個(gè)手動(dòng)過程,為了實(shí)現(xiàn)最優(yōu)模型,本文調(diào)整了相應(yīng)的模型參數(shù)(包括隱藏層的神經(jīng)元個(gè)數(shù)、隱藏層的個(gè)數(shù)等),并探索了這些參數(shù)的多種不同的配置.
(1)隱藏層個(gè)數(shù)的確定
理論上講,增加隱藏層個(gè)數(shù)可以降低網(wǎng)絡(luò)誤差,獲得更全面的信息,提高精度.在使用不同模型進(jìn)行活動(dòng)識(shí)別的過程中,需要對(duì)隱藏層的個(gè)數(shù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,本文取10次實(shí)驗(yàn)的平均準(zhǔn)確率,結(jié)果見表1.由表1可見,模型的分類準(zhǔn)確率隨著隱藏層個(gè)數(shù)的增加而變化,呈現(xiàn)出先升后降的趨勢(shì).這是由于提高模型隱藏層個(gè)數(shù)會(huì)產(chǎn)生以下影響:訓(xùn)練更多的隱藏層需要更高的培訓(xùn)成本;較高級(jí)別的模型由較低級(jí)別的隱藏層收縮數(shù)據(jù).因此,為了保證模型的質(zhì)量,需要大量原始數(shù)據(jù)來訓(xùn)練一個(gè)高層模型.根據(jù)實(shí)驗(yàn)結(jié)果,為使模型具有較高的準(zhǔn)確率,且能保持良好的性能,確定對(duì)RNN算法使用3級(jí)隱藏層,對(duì)GRU和LSTM算法使用2級(jí)隱藏層,而對(duì)BLSTM算法使用1級(jí)隱藏層.
表1 模型不同隱藏層個(gè)數(shù)的準(zhǔn)確率結(jié)果對(duì)比Tab.1 Comparison of accuracies of different hidden layers of models
(2)隱藏層神經(jīng)元個(gè)數(shù)的確定
隱藏層的節(jié)點(diǎn)數(shù)是深層神經(jīng)網(wǎng)絡(luò)提取數(shù)據(jù)特征能力大小的重要參數(shù).隱藏層節(jié)點(diǎn)數(shù)增多,可使網(wǎng)絡(luò)的系統(tǒng)誤差減小,提高活動(dòng)識(shí)別的準(zhǔn)確性;隱藏層節(jié)點(diǎn)數(shù)太少,網(wǎng)絡(luò)可能根本不能訓(xùn)練或網(wǎng)絡(luò)性能很差.考察了每個(gè)模型不同隱藏層節(jié)點(diǎn)數(shù)的網(wǎng)絡(luò)損失,結(jié)果見圖3.由圖3可見,隨著隱藏層節(jié)點(diǎn)數(shù)H的增加,網(wǎng)絡(luò)損失逐漸減小,但在H=32之后,模型GRU和RNN的損失開始增加,這是由于隱藏層節(jié)點(diǎn)數(shù)過多使網(wǎng)絡(luò)訓(xùn)練時(shí)間延長(zhǎng),給模型訓(xùn)練帶來額外的成本.綜合各個(gè)模型的情況,選擇隱藏層節(jié)點(diǎn)數(shù)為32.
(3)模型學(xué)習(xí)率的確定
學(xué)習(xí)率決定控制參數(shù)更新的幅度.幅度過大可能導(dǎo)致參數(shù)在最優(yōu)值的兩側(cè)來回取值,幅度過小雖然能保證收斂性,但會(huì)大大降低優(yōu)化速度.在上面參數(shù)確定的情況下,圖4給出了相同參數(shù)下不同的學(xué)習(xí)率各個(gè)模型的網(wǎng)絡(luò)損失.由圖4可見,隨著學(xué)習(xí)率的增加,各個(gè)模型的損失逐漸趨向穩(wěn)定.綜合各個(gè)模型的情況,選定學(xué)習(xí)率η=0.002 5訓(xùn)練模型.
圖3 不同隱藏層節(jié)點(diǎn)數(shù)的網(wǎng)絡(luò)損失對(duì)比Fig.3 Comparisons of loss of different hidden layer cells
圖4 不同學(xué)習(xí)率的網(wǎng)絡(luò)損失對(duì)比Fig.4 Comparisons of loss of different learning rates
本文中模型的性能用準(zhǔn)確率(Accuracy)和F1-measure指標(biāo)來衡量.F1-measure考慮了精確度(Precision)和召回能力(Recall),是Precision和Recall的加權(quán)調(diào)和平均.各模型的輸入是128個(gè)長(zhǎng)度為9的向量,各模型的學(xué)習(xí)率均設(shè)置為0.002 5,優(yōu)化器均為Adam[23],損失函數(shù)均采用交叉熵?fù)p失函數(shù),最終取10次實(shí)驗(yàn)的平均準(zhǔn)確率和F1值,結(jié)果見表2.
表2 不同模型的性能Tab.2 Performance of different models
使用反向傳播算法對(duì)模型進(jìn)行訓(xùn)練,全部時(shí)間幀的輸出用于預(yù)測(cè)結(jié)果,利用交叉熵代價(jià)函數(shù)將實(shí)驗(yàn)結(jié)果和原始數(shù)據(jù)進(jìn)行成本計(jì)算,同時(shí)使用η為0.002 5的Adam優(yōu)化器進(jìn)行優(yōu)化,得到4種模型在訓(xùn)練集和測(cè)試集上的準(zhǔn)確率,分別見圖5和圖6.
圖5 各模型訓(xùn)練過程中的識(shí)別準(zhǔn)確率Fig.5 Recognition accuracy for each model during training process
圖6 各模型測(cè)試過程中的識(shí)別準(zhǔn)確率Fig.6 Recognition accuracy for each model during testing process
由圖5和圖6可見,隨著迭代次數(shù)的增加,各模型的準(zhǔn)確率均呈現(xiàn)出上升的趨勢(shì),BLSTM模型在訓(xùn)練集的準(zhǔn)確率上升速度不但最快,而且迭代20次以后準(zhǔn)確率波動(dòng)較小.LSTM模型在測(cè)試集的準(zhǔn)確率提升速度比BLSTM要快,但隨著迭代次數(shù)的增加,準(zhǔn)確率比BLSTM低,迭代40次以后,這2種模型的準(zhǔn)確率均波動(dòng)較小.GRU模型在迭代過程中準(zhǔn)確率提升速度較慢,在訓(xùn)練過程中其準(zhǔn)確率最終和BLSTM保持平衡,但在測(cè)試集中準(zhǔn)確率低于BLSTM模型.RNN模型無論是在測(cè)試過程還是在訓(xùn)練過程中準(zhǔn)確率波動(dòng)均較大,且準(zhǔn)確率最差.
為了進(jìn)一步驗(yàn)證BLSTM模型的有效性,本文將其與現(xiàn)有的活動(dòng)識(shí)別模型(傳統(tǒng)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)CNN)的準(zhǔn)確率進(jìn)行了對(duì)比分析,各種模型準(zhǔn)確率見表3.由表3可知,BLSTM模型的準(zhǔn)確率遠(yuǎn)高于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),且比之前常用的CNN模型提高了3.7%.因此,BLSTM模型更適合進(jìn)行異構(gòu)時(shí)間序列數(shù)據(jù)的處理,能更好地捕捉連續(xù)數(shù)據(jù)的特征.
表3 3種模型在測(cè)試集上的識(shí)別準(zhǔn)確率Tab.3 Accuracies on test set of 3 models
綜上,BLSTM模型對(duì)序列數(shù)據(jù)的識(shí)別準(zhǔn)確率和F1值分別可以達(dá)到95.7%和94.9%,這對(duì)于人體行為識(shí)別是足夠的,因此是一種有效的行為識(shí)別方法.
本文針對(duì)6種日常行為,以智能手機(jī)傳感器采集的三軸信號(hào)為原始信號(hào),將用于語音處理的4種不同的循環(huán)神經(jīng)網(wǎng)絡(luò)模型用于異構(gòu)時(shí)間序列數(shù)據(jù)的處理,用模型的記憶功能對(duì)時(shí)間標(biāo)記的傳感數(shù)據(jù)提取典型特征,這樣可以更好地捕捉連續(xù)數(shù)據(jù)的特性,充分利用時(shí)間標(biāo)簽處理信息.使用真實(shí)的公開數(shù)據(jù)集UCI HAR對(duì)4種模型進(jìn)行了實(shí)現(xiàn),并將實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比分析,結(jié)果表明,BLSTM模型在公開數(shù)據(jù)集的識(shí)別準(zhǔn)確率最高,為95.7%,可以實(shí)現(xiàn)高度準(zhǔn)確的活動(dòng)分類,是一種有效的人體行為識(shí)別方法,且該模型對(duì)類似問題具有普適性.將BLSTM與常用的CNN模型進(jìn)行對(duì)比,結(jié)果顯示BLSTM的性能優(yōu)于CNN.本文方法不需要將原始數(shù)據(jù)轉(zhuǎn)換為圖片,而是直接將手機(jī)加速度計(jì)、陀螺儀等傳感器采集的原始數(shù)據(jù)輸入模型進(jìn)行特征提取,解決了以往在對(duì)視頻圖像數(shù)據(jù)進(jìn)行特征提取的過程中帶來的精度損失問題,且本文方法對(duì)手機(jī)放置方向沒有要求.在未來的工作中,可以使用更多的傳感器,提高數(shù)據(jù)維度,從而進(jìn)一步提升識(shí)別準(zhǔn)確率.