張 宇,郭 達(dá),高志勇,周大海
(1.北京郵電大學(xué)電子工程學(xué)院,北京 100876;2.愛動(dòng)超越人工智能科技(北京)有限責(zé)任公司,北京 100007)
人體行為識(shí)別是當(dāng)今諸多研究課題中極具前景的一個(gè)領(lǐng)域。目前在該領(lǐng)域主要有兩個(gè)研究方向,即基于視頻數(shù)據(jù)的人體行為識(shí)別和基于傳感器數(shù)據(jù)的人體行為識(shí)別[1]。前者使用攝像機(jī)來監(jiān)視人體行為,已有眾多研究將重點(diǎn)放在前者[2-3],但在復(fù)雜場(chǎng)景下,識(shí)別效果不盡人意。最近十年,隨著傳感器技術(shù)的進(jìn)步,借助手機(jī)內(nèi)置加速度計(jì)[4]、腕帶式加速度計(jì)[5]、腰跨式加速度計(jì)[6]等傳感器采集的時(shí)間序列數(shù)據(jù)進(jìn)行人體行為識(shí)別已經(jīng)成為國內(nèi)外的熱門研究方向。
很多已有研究往往利用多個(gè)傳感器以期獲得較好的識(shí)別效果,例如REZAIE H利用四個(gè)加速度計(jì)組成體域網(wǎng)將人體行為識(shí)別用于健康監(jiān)測(cè)[7];MANNINI A通過在受試者手腕和腳踝上佩戴多個(gè)加速度計(jì)進(jìn)行多項(xiàng)日常行為的識(shí)別[8]。但是受限于設(shè)備功耗、硬件成本、對(duì)個(gè)體行動(dòng)的干擾性等,在一個(gè)個(gè)體上部署多個(gè)傳感器具有一定的難度,因此一些文獻(xiàn)提出了利用單個(gè)加速度計(jì)來進(jìn)行人體行為識(shí)別[6,9]。
雖然基于加速度時(shí)間序列的人體行為識(shí)別研究已取得一些成果,但如何進(jìn)行預(yù)處理并提取有效特征,如何設(shè)計(jì)有效的分類算法以實(shí)現(xiàn)對(duì)不同行為的準(zhǔn)確識(shí)別,仍需要開展進(jìn)一步的研究工作。本文將利用內(nèi)置于腕帶式智能手表中的單個(gè)三軸加速度計(jì),通過數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、特征提取以及設(shè)計(jì)一種改進(jìn)的子窗口集成學(xué)習(xí)算法,實(shí)現(xiàn)有效的人體行為識(shí)別。
首先,對(duì)課題采用的數(shù)據(jù)集進(jìn)行介紹;其次,由于原始時(shí)間序列往往包含噪聲,實(shí)現(xiàn)一個(gè)三階巴特沃斯低通濾波器,完成去噪工作;最后,給出待提取特征并實(shí)現(xiàn)一個(gè)針對(duì)時(shí)間序列分段的特征提取算法。
本文的Sanitation數(shù)據(jù)集自行采集自開放環(huán)境,利用內(nèi)置于腕帶式智能手表中的單個(gè)三軸加速度計(jì),采集環(huán)衛(wèi)工人的7類日常工作行為數(shù)據(jù),即:走(walk)、跑(run)、大掃帚掃地(bweep)、小掃帚掃地(sweep)、清潔(clean)、倒垃圾(dump)以及日常活動(dòng)(daily)。采樣頻率為25Hz。
將智能手表表盤正面水平朝上,沿表盤水平向右為X軸,沿表盤水平向上為Y軸,垂直表盤向上為Z軸。整個(gè)數(shù)據(jù)集包含樣本266 555條,每條樣本包含X、Y、Z三軸加速度數(shù)值。各類行為樣本比例如圖1(a)所示。圖1(b)通過部分樣本波形圖直觀展示了該數(shù)據(jù)集的數(shù)據(jù)特征,其中橫軸代表樣本點(diǎn)的相對(duì)時(shí)間順序,縱軸代表三軸加速度計(jì)三個(gè)軸的讀數(shù),其中每1 000 代表一個(gè)重力加速度g,也即9.81 m/s2。
圖1 Sanitation數(shù)據(jù)集
加速度計(jì)存在數(shù)據(jù)漂移問題,其在靜置狀態(tài)下,所采集時(shí)間序列有輕微的擺動(dòng)。通常這是受限于加速度計(jì)本身的制造工藝,導(dǎo)致其所測(cè)量的重力加速度并不豎直于地面而造成的讀數(shù)漂移。對(duì)于讀數(shù)漂移的校準(zhǔn),處理方法為去除時(shí)間序列波動(dòng)的中心點(diǎn),也就是去除靜置狀態(tài)下時(shí)間序列擺動(dòng)的均值。假設(shè)某個(gè)軸測(cè)量的加速度分量為am,該軸的時(shí)間序列波動(dòng)中心點(diǎn)為Δ,則實(shí)際該軸的加速度分量at計(jì)算如下:
at=am-Δ
(1)
另外,采集的原始加速度時(shí)間序列往往包含一些環(huán)境噪聲。KARANTONIS D M利用n階滑動(dòng)平均濾波器濾除了加速度信號(hào)中的隨機(jī)噪聲[10];DONG L采用卡爾曼濾波器對(duì)熱機(jī)械噪聲和電噪聲進(jìn)行了濾除[11]。
加速度時(shí)間序列是數(shù)字信號(hào),且其主要噪聲為高頻噪聲,可采用無線脈沖響應(yīng)(Infinite Impulse Response,IIR)濾波器設(shè)計(jì)一個(gè)三階巴特沃斯低通濾波器,完成去噪工作。另外鑒于人體行為的頻率較低,則設(shè)定濾波器的截止頻率為15Hz。該三階巴特沃斯低通濾波器能有效消除時(shí)間序列毛刺噪聲,同時(shí)能保持處理后的時(shí)間序列趨勢(shì)和原始時(shí)間序列高度吻合。
原始的加速度時(shí)間序列特征不明顯,另外有些分類器對(duì)輸入數(shù)據(jù)的格式有一定要求,原始數(shù)據(jù)并不能作為這些分類器的輸入。所以需要對(duì)加速度時(shí)間序列進(jìn)行特征提取以及有關(guān)標(biāo)準(zhǔn)化的處理工作。PREECE S J比較了14種提取加速度時(shí)間序列特征的方法,包括基于小波變換等在內(nèi)的時(shí)域和頻域信號(hào)特征[12]。
時(shí)間序列的特征值包括三個(gè)方面,即時(shí)域特征、頻域特征以及時(shí)頻域特征。對(duì)于人體行為識(shí)別而言,時(shí)域特征是時(shí)間序列最主要的特征,而頻域特征及時(shí)頻域特征對(duì)最終的識(shí)別效果影響較小且會(huì)導(dǎo)致特征過多影響訓(xùn)練和識(shí)別速度,因此本文只進(jìn)行時(shí)域特征的提取。
某個(gè)軸的時(shí)間序列s可表示為:
s=(s1,s2,…,sT),T∈Ζ+
(2)
表1是待提取的時(shí)域特征,除最后一個(gè)相關(guān)系數(shù)特征是對(duì)三軸加速度分量每?jī)奢S計(jì)算進(jìn)行提取外,其余特征均為對(duì)三個(gè)軸分別進(jìn)行提取,特征共計(jì)57個(gè)。
為配合后文所提出的一種改進(jìn)的子窗口集成學(xué)習(xí)算法,并不對(duì)時(shí)間序列整體利用滑動(dòng)窗口進(jìn)行特征提取,而是將某一窗口所選中的時(shí)間序列分段作為輸入值,對(duì)該時(shí)間序列分段進(jìn)行特征提取。算法偽代碼如表2所示。由于計(jì)算方法不同,所得到的時(shí)間序列的多個(gè)特征值的數(shù)量級(jí)往往并不相同,例如均值和能量的數(shù)量級(jí)很有可能相差甚遠(yuǎn)。這樣,對(duì)于某些分類算法,例如常用的K近鄰算法(K-Nearest Neighbor,KNN),數(shù)量級(jí)越大的特征值對(duì)最終分類結(jié)果的影響就越大。而實(shí)際上,假設(shè)時(shí)間序列的各個(gè)特征對(duì)最終分類結(jié)果的影響應(yīng)該是平等的,所以必須對(duì)每一個(gè)特征的特征向量進(jìn)行標(biāo)準(zhǔn)化處理,使得處理后各個(gè)特征的特征向量之間的數(shù)量級(jí)保持在相同量級(jí)上。表2偽代碼中的第6行即為對(duì)特征的特征向量進(jìn)行標(biāo)準(zhǔn)化處理。
表1 待提取特征描述
表2 特征提取算法偽代碼
經(jīng)過特征提取之后,可以將僅包含三軸加速度分量和對(duì)應(yīng)標(biāo)簽的時(shí)間序列分段,轉(zhuǎn)換成包含57條特征值以及對(duì)應(yīng)標(biāo)簽的特征數(shù)據(jù)。
首先提出一種改進(jìn)的子窗口集成學(xué)習(xí)算法,再與其他傳統(tǒng)機(jī)器學(xué)習(xí)算法進(jìn)行實(shí)驗(yàn)對(duì)比。
集成學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種,通過訓(xùn)練多個(gè)模型來解決問題。與從訓(xùn)練數(shù)據(jù)中得到一個(gè)模型的一般機(jī)器學(xué)習(xí)方法相比,集成學(xué)習(xí)方法則是通過構(gòu)造一組模型并加以組合使用[13]。多數(shù)研究通過對(duì)時(shí)間序列利用固定尺寸的滑動(dòng)窗口進(jìn)行特征提取,再利用某種分類算法訓(xùn)練得到模型并進(jìn)行預(yù)測(cè)。但是,不同的數(shù)據(jù)集可能具有不同的最適滑動(dòng)窗口尺寸。若固定窗口尺寸,則算法的普適性將大大降低,因此文獻(xiàn)[14]提出一種基于可變子窗口的集成學(xué)習(xí)算法以克服此問題。本文對(duì)該算法進(jìn)行了改進(jìn),將訓(xùn)練基模型所用的算法從支持向量機(jī)(Support Vector Machine,SVM)更改為性能更優(yōu)越的XGBoost算法,稱為改進(jìn)的子窗口集成學(xué)習(xí)算法(Improved Subwindow Ensemble Model,ISWEM)。
該算法分為訓(xùn)練和預(yù)測(cè)兩部分,首先介紹訓(xùn)練部分,其偽代碼如表3所示。
可以看出,該算法的訓(xùn)練部分通過設(shè)定不同尺寸的子窗口,對(duì)帶有標(biāo)簽以及三軸加速度分量的時(shí)間序列生成多個(gè)對(duì)應(yīng)的特征集,再利用基算法對(duì)各個(gè)特征集進(jìn)行訓(xùn)練得到多個(gè)對(duì)應(yīng)子模型。
接下來給出該算法的預(yù)測(cè)部分,其偽代碼如表4所示。
表3 ISWEM算法訓(xùn)練部分偽代碼
表4 ISWEM算法預(yù)測(cè)部分偽代碼
在對(duì)時(shí)間序列分段進(jìn)行預(yù)測(cè)時(shí),首先利用不同尺寸的子窗口對(duì)該分段進(jìn)行特征提取,形成多個(gè)對(duì)應(yīng)的特征集,再針對(duì)不同特征集利用對(duì)應(yīng)子窗口尺寸下的子模型進(jìn)行預(yù)測(cè),得到預(yù)測(cè)集,最后對(duì)預(yù)測(cè)集通過某種方法(如多數(shù)投票方法)進(jìn)行處理得到該時(shí)間序列分段的預(yù)測(cè)標(biāo)簽。
為了驗(yàn)證所提出的改進(jìn)的子窗口集成學(xué)習(xí)算法的優(yōu)越性,將和未改進(jìn)的原算法以及四個(gè)傳統(tǒng)機(jī)器學(xué)習(xí)算法進(jìn)行對(duì)比,這四個(gè)傳統(tǒng)機(jī)器學(xué)習(xí)算法分別是KNN、決策樹(Desicision Tree,DT)、樸素貝葉斯(Naive Bayes)以及SVM。由于人體行為識(shí)別問題可以視作一種分類問題,因此采用在分類問題中常用的F1-score作為評(píng)價(jià)指標(biāo)。
實(shí)驗(yàn)結(jié)果如表5所示。
表5 各個(gè)算法在Sanitation數(shù)據(jù)集上的F1-score
不難發(fā)現(xiàn),無論是對(duì)單個(gè)行為識(shí)別的F1-score還是對(duì)整體識(shí)別的平均F1-score,本文所提出的ISWEM算法均取得了優(yōu)于作為對(duì)比的其他算法的表現(xiàn)。
針對(duì)利用單個(gè)三軸加速度計(jì)進(jìn)行人體行為識(shí)別的場(chǎng)景,提出了數(shù)據(jù)預(yù)處理及特征提取方法,并進(jìn)一步提出一種改進(jìn)的基于子窗口集成學(xué)習(xí)算法,該算法通過集成各個(gè)尺寸窗口下得到的各個(gè)基模型,一方面克服了固定尺寸窗口帶來的普適性低的問題,另一方面,集成多個(gè)基模型使得識(shí)別指標(biāo)F1-score得以有效提升。通過和未改進(jìn)的算法以及其他四種傳統(tǒng)機(jī)器學(xué)習(xí)算法進(jìn)行實(shí)驗(yàn)對(duì)比,驗(yàn)證了所提出算法的優(yōu)越性。