陳馨瑤, 張?zhí)鞓s, 朱雪芬, 莫路鋒,
(1.浙江農(nóng)林大學(xué) 信息工程學(xué)院,浙江 臨安 311300; 2.浙江農(nóng)林大學(xué)信息與教育技術(shù)中心,浙江 臨安 311300)
基于可穿戴設(shè)備的人體行為識(shí)別技術(shù)在諸多領(lǐng)域發(fā)揮著巨大的作用,如在運(yùn)動(dòng)計(jì)數(shù)方面,識(shí)別人體行為動(dòng)作并記錄運(yùn)動(dòng)軌跡[1];在老人監(jiān)護(hù)方面,當(dāng)監(jiān)護(hù)對(duì)象跌倒時(shí)能夠及時(shí)識(shí)別出摔跤行為[2,3]。主要利用加速度傳感器、慣導(dǎo)、氣壓傳感器等進(jìn)行人體行為動(dòng)作的相關(guān)數(shù)據(jù)采集[4,5]。
目前在基于傳感器的行為識(shí)別領(lǐng)域已做了大量的研究,如李鋒等人用了隱馬爾科夫模型對(duì)加速度數(shù)據(jù)進(jìn)行分類實(shí)現(xiàn)了人體行為識(shí)別,結(jié)果表明基于馬爾科夫模型分類器的行為識(shí)別率最高[6]。錢麗萍等人提出一種新型的分類方法,通過將加速度數(shù)據(jù)映射到三維空間中,通過提取物質(zhì)特征并利用投票方法實(shí)現(xiàn)分類,實(shí)驗(yàn)結(jié)果表明該方法的識(shí)別率達(dá)到了94 %[7]。蘇本躍等人提出一種基于末位匹配的傳感器數(shù)據(jù)截取方法,通過分割訓(xùn)練數(shù)據(jù)樣本,然后利用整體梯度向量的2范數(shù)累加作為匹配度量準(zhǔn)則,最后根據(jù)投票策略得到行為識(shí)別結(jié)果[8]。Banos O等人針對(duì)數(shù)據(jù)截取窗口大小對(duì)識(shí)別率影響問題,通過研究不同滑動(dòng)窗口大小對(duì)行為識(shí)別率的影響,確定最佳窗口值,從而提高了行為識(shí)別率[9]。目前在行為識(shí)別領(lǐng)域還存在某些難點(diǎn),如特征提取不全面、分類算法未考慮行為動(dòng)作在時(shí)間序列上的前后關(guān)聯(lián)性等,這導(dǎo)致很難達(dá)到較高的識(shí)別率。
本文研究一種深度學(xué)習(xí)的融合模型,首先將時(shí)間序列的加速度數(shù)據(jù)轉(zhuǎn)換為二維張量形式,然后利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[10,11]模型進(jìn)行特征提取,最后將特征值輸入到長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[12,13]模型中進(jìn)行行為分類。由于CNN在特征提取方面的優(yōu)勢(shì)和LSTM模型在處理時(shí)間序列相關(guān)性較強(qiáng)方面的優(yōu)勢(shì),使得融合后的模型能夠集兩種模型的特點(diǎn),從而達(dá)到較好的分類效果。
基于加速度傳感器對(duì)走路、慢跑、上樓梯、下樓梯、坐著和站立六種行為動(dòng)作進(jìn)行識(shí)別,為驗(yàn)證算法的有效性,采用WISDM數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析,該數(shù)據(jù)集中六種行為動(dòng)作數(shù)據(jù)量分別占了38.6 %,31.2 %,11.2 %,9.1 %,5.5 %,4.4 %。
該數(shù)據(jù)集提供的加速度計(jì)三軸數(shù)據(jù)在時(shí)間上連續(xù),但在提取加速度數(shù)據(jù)的波形特征時(shí)會(huì)導(dǎo)致特征失真,從而影響行為識(shí)別率。由于深度學(xué)習(xí)中CNN模型能夠非常有效的提取張量特征,結(jié)合CNN的特點(diǎn)將時(shí)間序列上的加速度數(shù)據(jù)轉(zhuǎn)換為二維張量。數(shù)據(jù)轉(zhuǎn)換過程如圖1所示,其轉(zhuǎn)換函數(shù)如式(1)所示。將時(shí)間序列上一維的加速度數(shù)據(jù)波形轉(zhuǎn)換為二維張量的形式,后期利用卷積神經(jīng)網(wǎng)絡(luò)CNN來提取張量特征。
圖1 張量轉(zhuǎn)換過程
(1)
式中ax,i,ay,i,az,i分別為加速度傳感器采集一次得到的x,y,z軸的加速度分量,1≤i≤m,m為加速度傳感器采集的次數(shù),f為映射函數(shù),將數(shù)據(jù)映射到張量長(zhǎng)、寬值,Xi為張量橫坐標(biāo),Yi為張量縱坐標(biāo),datai表示在坐標(biāo)(Xi,Yi)處的值。將走路、慢跑、上樓梯、下樓梯、坐著和站立六種行為動(dòng)作的加速度數(shù)據(jù)轉(zhuǎn)換為張量后,以圖片呈現(xiàn)的結(jié)果如圖2所示。
圖2 六種行為動(dòng)作張量圖
從圖2中可以看出同一種行為動(dòng)作的張量圖案基本相同,這也就說明同一種行為加速度數(shù)據(jù)點(diǎn)之間是存在較強(qiáng)關(guān)聯(lián)的,這些關(guān)聯(lián)性決定了加速度數(shù)據(jù)轉(zhuǎn)換為張量后,構(gòu)成形狀相似的圖案;而不同行為動(dòng)作的張量圖案差別較大,這就為行為分類提供了依據(jù)。
將時(shí)間序列數(shù)據(jù)轉(zhuǎn)換為張量格式后,實(shí)際上是將時(shí)間序列數(shù)據(jù)轉(zhuǎn)換為空間數(shù)據(jù),能夠增強(qiáng)數(shù)據(jù)點(diǎn)之間的空間關(guān)系,有利于提取更豐富的加速度數(shù)據(jù)特征值。張量?jī)?nèi)沒有被賦值的位置默認(rèn)數(shù)值為0。
CNN最常見是用在圖像識(shí)別領(lǐng)域,且隨著卷積的層數(shù)增加,能夠提取的特征更具有代表性。CNN中較淺的卷積層一般提取的張量的邊緣特征,越深的卷積層提取的特征越抽象,如圖3所示。圖中加速度數(shù)據(jù)張量經(jīng)過若干卷積操作后,得到特征1,2,3,…,n。
圖3 特征提取圖
構(gòu)建的CNN結(jié)構(gòu)如圖4所示,包括4層卷積層和4層池化層,各層之間通過交替方式連接,最后連接一層全連接層。該網(wǎng)絡(luò)輸入和輸出層都為16通道。
圖4 CNN結(jié)構(gòu)
然而文中并非直接利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行行為識(shí)別,而是將其作用在加速度張量特征提取步驟,因?yàn)樵撃P蛢H能根據(jù)特征值進(jìn)行分類,而并不能考慮行為動(dòng)作在時(shí)間上的前后關(guān)聯(lián)性。當(dāng)CNN進(jìn)行特征提取時(shí),需要利用訓(xùn)練數(shù)據(jù)進(jìn)行大量的訓(xùn)練,才能得到有效的卷積核,因此在將CNN模型與其它模型進(jìn)行融合前,需要得到成熟的卷積核,融合模型才能夠進(jìn)行特征提取,卷積核提取方法有:1)首先根據(jù)第一章的方法將加速度數(shù)據(jù)轉(zhuǎn)換為張量數(shù)據(jù);2)然后利用加速度張量訓(xùn)練集訓(xùn)練CNN(見圖4),當(dāng)CNN的識(shí)別率達(dá)到一定值且穩(wěn)定后,結(jié)束訓(xùn)練。此時(shí)CNN的卷積層得到了成熟的卷積核,并保存該卷積核;3)將保存的卷積核賦值給融合模型,使得融合模型具有特征提取的能力。
人體行為活動(dòng)在時(shí)間序列上具有較強(qiáng)的關(guān)聯(lián)性,如現(xiàn)在正在走路,那么當(dāng)前行為動(dòng)作的前幾個(gè)動(dòng)作和后幾個(gè)動(dòng)作具有非常高的概率也是走路行為。因此在進(jìn)行行為識(shí)別時(shí),不僅僅應(yīng)該根據(jù)加速度數(shù)據(jù)的特征值進(jìn)行行為分類,更重要的是結(jié)合前后行為動(dòng)作進(jìn)行預(yù)測(cè)推斷。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是一種比較優(yōu)秀的記憶類型網(wǎng)絡(luò),該網(wǎng)絡(luò)能夠保留短期的記憶,該模型的輸出結(jié)果依賴于當(dāng)前特征值的輸入和上一時(shí)刻的狀態(tài),如一系列的行為動(dòng)作表示為A={a1,a2,…,at,…,aT},at表示第t個(gè)時(shí)刻的行為動(dòng)作,T表示行為動(dòng)作的數(shù)量。則RNN隱藏層的輸出ht為
ht=σh(wxhat+whhht-1+bh)
(2)
式中wxh為輸入層和隱含層1之間的權(quán)重張量,whh為兩個(gè)相鄰隱含層之間的權(quán)重張量,ht-1為RNN上一時(shí)刻的狀態(tài),bh為偏置,σ為模型的激活函數(shù)。RNN的輸入層輸出結(jié)果為
yt=σy(whoht+bo)
(3)
式中σy為輸出層激活函數(shù),who為隱含層4和輸出層之間的權(quán)重張量,ht為隱含層輸出狀態(tài),bo為相關(guān)偏置。
雖然RNN能夠考慮前后動(dòng)作的關(guān)聯(lián)性,但記憶不長(zhǎng)久,且隨著循環(huán)網(wǎng)絡(luò)的增加,存在梯度消失問題,因此在實(shí)際過程中效果并不理想。LSTM模型是對(duì)RNN的改進(jìn),該模型通過改變RNN模型的單元結(jié)構(gòu),能夠?qū)崿F(xiàn)長(zhǎng)期記憶功能。該神經(jīng)元結(jié)構(gòu)主要在神經(jīng)元內(nèi)加入了輸入門it、遺忘門ft以及輸出門ot,信息流的輸入和輸出通過輸入門和輸出門控制,遺忘門用于控制前一時(shí)刻的狀態(tài),該神經(jīng)元通過三種門之間協(xié)作實(shí)現(xiàn)了長(zhǎng)期記憶,LSTM結(jié)構(gòu)中的參數(shù)為
(4)
式中ct為t時(shí)刻的細(xì)胞狀態(tài),ht為隱含層的輸出,bf,bi,bo,bc為偏置。wxf,whf,wcf,wxi,whi,wci,wxo,who,wco,wxc,whc為權(quán)重值。
LSTM模型能夠存在長(zhǎng)期的記憶功能,因此能夠記錄一系列行為動(dòng)作的前后關(guān)聯(lián)性,且該模型同時(shí)能夠根據(jù)特征值進(jìn)行行為識(shí)別,理論上具有更好的行為識(shí)別率。
本文結(jié)合兩種模型各自的優(yōu)勢(shì),從而使得融合后的模型更好,且更適宜與人體行為識(shí)別研究,CNN融合雙向LSTM(BLSTM)后的模型為CNN-BLSTM,如圖5所示。
圖5 CNN-BLSTM模型結(jié)構(gòu)
在模型輸入層輸入行為動(dòng)作的張量數(shù)據(jù)(a1,a2,…,aT),然后利用CNN模型的卷積層和池化層進(jìn)行特征的提取,接著輸入到BLSTM模型中,最后通過輸出層輸出識(shí)別結(jié)果。
雙向的LSTM在實(shí)際上是由兩個(gè)單向的LSTM模型逆向組合而成,因此其隱含層輸出ht可用公(5)表示,該模型的預(yù)測(cè)結(jié)果輸出為
(5)
yt=σ(ht)
(6)
式中yt為模型預(yù)測(cè)結(jié)果,σ為SoftMax函數(shù)。
實(shí)驗(yàn)利用Tensorflow深度學(xué)習(xí)平臺(tái)構(gòu)建CNN-BLSTM融合模型,利用WISDM數(shù)據(jù)集構(gòu)建訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集,分別包含60 000條加速度數(shù)據(jù)和40 000條加速度數(shù)據(jù)。實(shí)驗(yàn)針對(duì)走路、慢跑、上樓梯、下樓梯、坐著和站立六種行為動(dòng)作展開。公共數(shù)據(jù)集WISDM采樣頻率為20 Hz,經(jīng)過分析,完成走路、慢跑、上樓梯、下樓梯需要采集的加速度數(shù)據(jù)次數(shù)分別為17.3,15.1,21.2,16.5次。而由于站立和坐著行為沒有明顯的行為周期,因此用變量n表示。如果使用小于21.2個(gè)數(shù)據(jù)的滑動(dòng)窗口截取數(shù)據(jù)流,則上樓梯行為的數(shù)據(jù)截取不完全,會(huì)影響上樓梯行為動(dòng)作的識(shí)別。因此必須保證滑動(dòng)窗口截取的數(shù)據(jù)長(zhǎng)度大于21.2,后續(xù)實(shí)驗(yàn)中將滑動(dòng)窗口大小設(shè)置為23,并將滑動(dòng)窗口截取的23個(gè)數(shù)據(jù)轉(zhuǎn)換為20×20的張量。
實(shí)驗(yàn)驗(yàn)證不同深度的卷積層提取的特征輸入到BLSTM模型中對(duì)六種行為動(dòng)作的平均識(shí)別率。卷積層使用3×3的卷積核,卷積核在卷積過程中移動(dòng)的步長(zhǎng)為1,實(shí)驗(yàn)中對(duì)比了傳統(tǒng)特征值的提取,包括均值、離散系數(shù)、加速度傳感器三軸相關(guān)性、方差、能量和熵,以及使用原始數(shù)據(jù)進(jìn)行預(yù)測(cè)的實(shí)驗(yàn)結(jié)果。通過對(duì)WISDM公共數(shù)據(jù)集中的六種行為動(dòng)作進(jìn)行1 000次獨(dú)立重復(fù)測(cè)試,得到算法對(duì)六種行為動(dòng)作的平均識(shí)別率。
實(shí)驗(yàn)結(jié)果表明使用第一層卷積層Conv1提取的特征進(jìn)行行為識(shí)別的識(shí)別率僅為54.76 %,使用第二層卷積層Conv2提取的特征進(jìn)行行為識(shí)別的識(shí)別率為73.13 %,使用第三層卷積層Conv3的特征進(jìn)行行為識(shí)別的識(shí)別率為96.95 %,而使用第四層卷積層Conv4的特征進(jìn)行行為識(shí)別的識(shí)別率反而下降到了91.48 %。隨著卷積層數(shù)的加深,提取的特征由原來的張量邊緣信息變?yōu)楦橄?、語義更高的數(shù)據(jù)點(diǎn)之間關(guān)系的特征,提取的特征值逐漸排除了干擾因素,使得特征值更具有代表性,但到第四層卷積層后,特征提取過度導(dǎo)致某些重要的特征被排除,因此識(shí)別率范圍會(huì)降低。提取原始的特征值輸入到BLSTM模型中的識(shí)別率僅為78.16 %,而直接將原始加速度數(shù)據(jù)輸入到模型中,識(shí)別率僅為71.72 %,因?yàn)闊o論是傳統(tǒng)特征值提取還是原始數(shù)據(jù),輸入到識(shí)別模型中的數(shù)據(jù)都存在大量的噪聲,導(dǎo)致識(shí)別結(jié)果不準(zhǔn)確。
分析提出的融合模型(CNN-BLSTM)對(duì)六種行為動(dòng)作的識(shí)別情況,實(shí)驗(yàn)結(jié)果如圖6所示,縱坐標(biāo)表示實(shí)際的行為動(dòng)作,橫坐標(biāo)表示識(shí)別的行為動(dòng)作。
圖6 CNN-BLSTM識(shí)別率
實(shí)驗(yàn)結(jié)果表明提出的識(shí)別算法對(duì)走路、慢跑、上樓梯、下樓梯、坐著和站立六種行為動(dòng)作的識(shí)別率分別為96.8 %,97.3 %,96.4 %,95.1 %,98.3 %,97.8 %,因此對(duì)坐著行為的識(shí)別率是最高的,對(duì)下樓梯行為的識(shí)別率最低。根據(jù)實(shí)驗(yàn)結(jié)果表明走路行為最容易被識(shí)別為上樓梯行為,慢跑行為最容易被識(shí)別為下樓梯行為,上樓梯行為最容易被識(shí)別為走路行為,下樓梯行為最容易被識(shí)別為上樓梯行為,坐著和站立兩種行為容易識(shí)別錯(cuò)誤,但識(shí)別錯(cuò)誤的概率非常低,且總體上對(duì)六種行為動(dòng)作的平均識(shí)別率達(dá)到了96.95 %,因此本文提出的行為識(shí)別方法具有較高的識(shí)別率。
基于加速度傳感器的人體行為識(shí)別傳統(tǒng)的方式是提取數(shù)據(jù)的時(shí)域和頻域特征值,包括均值、方差、加速度傳感器x,y,z三軸相關(guān)性、熵和能量等,然后將提取的特征舒服到分類器中進(jìn)行行為分類,常用的分類器包括SVM、J48決策樹、BP神經(jīng)網(wǎng)絡(luò)、CNN等。本次實(shí)驗(yàn)將提出的CNN-BLSTM融合模型與傳統(tǒng)的分類方法(CNN,SVM和J48)進(jìn)行對(duì)比,其中SVM和J48輸入的特征值是傳統(tǒng)的時(shí)域和頻域特征值,而CNN和CNN-BLSTM模型輸入的是基于本文方法的加速度張量數(shù)據(jù),實(shí)驗(yàn)結(jié)果如圖7所示,橫坐標(biāo)表示六種行為動(dòng)作,縱坐標(biāo)表示識(shí)別率。
圖7 行為識(shí)別率對(duì)比
從圖7結(jié)果表明提出的CNN-BLSTM模型對(duì)六種行為動(dòng)作的識(shí)別率都比較高且比較均衡,其次是CNN模型,因?yàn)镃NN-BLSTM從當(dāng)前行為動(dòng)作前后關(guān)聯(lián)性和特征分類兩個(gè)方面對(duì)行為識(shí)別進(jìn)行預(yù)測(cè),因此實(shí)際識(shí)別效果較好,而CNN模型僅依靠特征進(jìn)行分類。J48分類器對(duì)六種行為動(dòng)作的分類結(jié)果不太理想,其對(duì)慢跑、坐著和站立三種行為的識(shí)別率比較高,而對(duì)另外三種行為動(dòng)作的識(shí)別效果較差。SVM分類算法對(duì)走路、站立和坐著三種行為的識(shí)別率較高,而對(duì)其他另外三種方法的識(shí)別效果較差。
針對(duì)目前行為識(shí)別方法為在特征提取方面的不足以及并未考慮行為動(dòng)作前后關(guān)聯(lián)性對(duì)識(shí)別的影響,提出一種將CNN和BLSTM融合的復(fù)合型模型,該模型能夠結(jié)合兩種模型的優(yōu)勢(shì),在特征提取和識(shí)別關(guān)聯(lián)性方面都具有較好的性能,使行為識(shí)別不再單純依賴數(shù)據(jù)特征。實(shí)驗(yàn)結(jié)果表明:該方法能夠有效地提高行為識(shí)別率,且對(duì)多種行為動(dòng)作的識(shí)別都比較均衡。