王曉玲,趙岳生,羅宇彤
(廣西科技大學(xué) 自動(dòng)化學(xué)院,廣西 柳州 545616)
人體活動(dòng)識(shí)別一直是一項(xiàng)充滿實(shí)用價(jià)值的研究,尤其是在康復(fù)訓(xùn)練、施工安全、娛樂(lè)和戶外行動(dòng)等方面有著廣泛的應(yīng)用。人體活動(dòng)識(shí)別按照采集數(shù)據(jù)所使用硬件的不同大體上可以分為兩種,即基于視覺(jué)和基于慣性等傳感器的人體活動(dòng)識(shí)別[1]。其中,使用慣性傳感器的人體活動(dòng)識(shí)別系統(tǒng)主要是指使用三軸加速度計(jì)收集人體的活動(dòng)數(shù)據(jù)。
目前,在使用慣性傳感器的人體活動(dòng)識(shí)別領(lǐng)域,主要是使用機(jī)器學(xué)習(xí)算法進(jìn)行活動(dòng)識(shí)別,常用的算法包括決策樹[2]、隨機(jī)森林[3]、支持向量機(jī)[4]以及深度學(xué)習(xí)[5]等。
在基于慣性傳感器的人體活動(dòng)識(shí)別領(lǐng)域已經(jīng)有相當(dāng)一部分學(xué)者進(jìn)行了研究。段小虎等人[6]使用支持向量機(jī)(SVM)對(duì)WISDM 數(shù)據(jù)集進(jìn)行人體活動(dòng)識(shí)別,提取了9 個(gè)特征,使用支持向量機(jī)在測(cè)試集上達(dá)到了91.1%的識(shí)別率。張烈平等人[7]采用BP 神經(jīng)網(wǎng)絡(luò)作為人體活動(dòng)識(shí)別的分類算法,提取了原始數(shù)據(jù)的12 個(gè)特征表征人體活動(dòng),對(duì)走、坐和躺等五種典型人體活動(dòng)進(jìn)行分類。實(shí)驗(yàn)結(jié)果表明,該方法的識(shí)別率達(dá)到了100%。也有學(xué)者認(rèn)為,大量特征的計(jì)算將會(huì)降低識(shí)別系統(tǒng)的效率,于是范書瑞等人[8]提出了一種特征篩選和層次分類法相結(jié)合的提取特征子集的方法,使用了Fisher score、Relief-F 和Chi square 三種特征選擇方法進(jìn)行特征篩選。隨著深度學(xué)習(xí)的不斷發(fā)展,近年來(lái),有些學(xué)者開(kāi)始采用深度學(xué)習(xí)算法進(jìn)行人體活動(dòng)識(shí)別,李新科等人[9]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的人體活動(dòng)識(shí)別模型,該模型在WISDM數(shù)據(jù)集上的識(shí)別率達(dá)到了92.73%。陳馨瑤等人[10]提出了一種融合多種模型的人體行為識(shí)別方法,該方法結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)兩種算法,在WISDM 數(shù)據(jù)集上的平均識(shí)別率達(dá)到了96.95%。
本文針對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)算法類別識(shí)別率較低的問(wèn)題,提出了一種基于機(jī)器學(xué)習(xí)的人體活動(dòng)識(shí)別方法。該方法首先將多分類任務(wù)通過(guò)多級(jí)結(jié)構(gòu)轉(zhuǎn)換為一系列二分類任務(wù);其次分析人體活動(dòng)的特性,計(jì)算出60 個(gè)時(shí)域特征,使用遞歸特征消除法進(jìn)行每一級(jí)的特征篩選,并使用篩選特征訓(xùn)練出每一級(jí)的最優(yōu)模型;最后將得到的模型按照多級(jí)結(jié)構(gòu)組成人體活動(dòng)識(shí)別系統(tǒng),對(duì)人體活動(dòng)進(jìn)行識(shí)別。
與傳統(tǒng)機(jī)器學(xué)習(xí)算法相比,深度學(xué)習(xí)算法有著明顯優(yōu)勢(shì)和深遠(yuǎn)潛力。針對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)算法需要特征工程的問(wèn)題,本文同時(shí)提出了一種用于人體活動(dòng)識(shí)別的卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過(guò)訓(xùn)練和測(cè)試,最后將得到的優(yōu)化模型組成人體活動(dòng)識(shí)別系統(tǒng),對(duì)人體活動(dòng)進(jìn)行識(shí)別。
為了能夠驗(yàn)證本文所提的人體識(shí)別系統(tǒng)的魯棒性和準(zhǔn)確性,同時(shí)便于和其他學(xué)者所提出的識(shí)別方法進(jìn)行比較,本文使用兩個(gè)收集人體不同位置慣性數(shù)據(jù)的公 開(kāi)數(shù)據(jù)集UCI 數(shù)據(jù)集[11]和WISDM 數(shù)據(jù)集[12]。
UCI 數(shù)據(jù)集包含30 位年齡在19 ~48 歲的志愿者進(jìn)行站立、坐、躺、走、上樓梯和下樓梯共六種日常生活中常見(jiàn)活動(dòng)所產(chǎn)生的慣性測(cè)量數(shù)據(jù)。志愿者們使用固定在腰部的智能手機(jī)(三星Galaxy S Ⅱ)內(nèi)置的三軸加速度計(jì)和三軸陀螺儀收集慣性數(shù)據(jù),傳感器采樣頻率為50 Hz,采集智能手機(jī)的三軸加速度信號(hào)和三軸角速度信號(hào)。
WISDM 數(shù)據(jù)集包含29 位實(shí)驗(yàn)者的走、慢跑、上樓梯、下樓梯、坐和站六種日常生活的三軸加速度數(shù)據(jù)。收集數(shù)據(jù)時(shí),測(cè)試者將智能手機(jī)裝在前褲腿口袋中,傳感器采樣頻率為20 Hz,采集智能手機(jī)的三軸加速度信號(hào)。
本文所使用的傳統(tǒng)機(jī)器學(xué)習(xí)算法需要人工提取特征,提取的特征包括最大值、最小值、標(biāo)準(zhǔn)差、平均值、峰度、偏度、波形因子、峰值因子、方差、第10 百分位數(shù)、第25 百分位數(shù)、第50 百分位數(shù)、第75 百分位數(shù)、第90 百分位數(shù)和過(guò)零率,共計(jì)15 個(gè)特征[1,13-15]。分別使用三軸加速度計(jì)的X軸、Y軸、Z軸和合加速度數(shù)據(jù)計(jì)算上述15個(gè)特征,共計(jì)得到60個(gè)特征。
合加速度由以下公式得到:
式中:X(t)、Y(t)、Z(t)是時(shí)刻t的三軸加速度計(jì)X軸、Y軸、Z軸輸出數(shù)據(jù);A(t)為該時(shí)刻三軸加速度計(jì)測(cè)量得到的合加速度。
人體活動(dòng)識(shí)別的對(duì)象一般包括步行、跑步、坐、站、躺和上、下樓梯等典型的日常人體活動(dòng),因此本質(zhì)上是一種多分類任務(wù)。然而,對(duì)于運(yùn)動(dòng)軌跡或運(yùn)動(dòng)量相似的兩種活動(dòng),僅僅依靠數(shù)據(jù)之間的幅值差異已經(jīng)難以描述不同活動(dòng)之間的差異。如圖1 所示,圖中上樓梯和下樓梯之間以及坐和站之間合加速度的幅值和周期差異很小,因此手工提取的特征也難以完整表征相似活動(dòng)之間的差異。當(dāng)進(jìn)行多種活動(dòng)分類時(shí),相似活動(dòng)分類結(jié)果的準(zhǔn)確與否將會(huì)直接影響算法的性能指標(biāo)。為解決該問(wèn)題,本文使用了多級(jí)結(jié)構(gòu),將一個(gè)多分類任務(wù)分解為一系列二分類任務(wù)的級(jí)聯(lián),以期望得到更好的分類效果。
圖1 相似動(dòng)作合加速度對(duì)比
根據(jù)UCI 和WISDM 數(shù)據(jù)集所包含日?;顒?dòng)的不同情況,分別創(chuàng)建了兩種多級(jí)結(jié)構(gòu),分別如圖2 和圖3 所示。
圖3 基于WISDM 數(shù)據(jù)集的多級(jí)結(jié)構(gòu)
由于傳統(tǒng)機(jī)器學(xué)習(xí)算法需要對(duì)數(shù)據(jù)進(jìn)行特征提取,而特征的選擇多種多樣,沒(méi)有明確的最優(yōu)標(biāo)準(zhǔn),因此有必要使用能夠自動(dòng)提取特征的一種深度學(xué)習(xí)算法—卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行人體活動(dòng)識(shí)別。基于此想法,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的人體活動(dòng)識(shí)別系統(tǒng)。
在使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)間序列分類時(shí),如何將加速度傳感器獲取的時(shí)間序列數(shù)據(jù)進(jìn)行轉(zhuǎn)換是關(guān)鍵。本文提出了一種數(shù)據(jù)轉(zhuǎn)換方式,將獲取的X軸、Y軸、Z軸數(shù)據(jù)以及計(jì)算得出的合加速度進(jìn)行排列,將一維時(shí)間序列轉(zhuǎn)換為二維張量,且轉(zhuǎn)換后的數(shù)據(jù)包含軸間關(guān)系,最后將轉(zhuǎn)換后的二維張量作為卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試數(shù)據(jù)。本文提出了一種僅僅使用兩層卷積的卷積神經(jīng)網(wǎng)絡(luò)模型,用于人體活動(dòng)識(shí)別,算法模型結(jié)構(gòu)如圖4 所示。
圖4 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
實(shí)驗(yàn)采用Python 的sklearn 及Keras 庫(kù)編程構(gòu)建人體活動(dòng)識(shí)別系統(tǒng),利用UCI 和WISDM 數(shù)據(jù)集分別構(gòu)建訓(xùn)練集和測(cè)試集,兩個(gè)數(shù)據(jù)集均按照原數(shù)據(jù)集70%和30%的比例進(jìn)行訓(xùn)練集和測(cè)試集的劃分。采用隨機(jī)劃分的方式,以保證各類活動(dòng)在訓(xùn)練集和測(cè)試集中的比例不變,避免出現(xiàn)某類活動(dòng)的大部分樣本均位于訓(xùn)練集或者測(cè)試集的情況,保證最終識(shí)別結(jié)果的合理性。
在使用慣性數(shù)據(jù)進(jìn)行人體活動(dòng)識(shí)別時(shí),識(shí)別周期的劃分對(duì)識(shí)別結(jié)果有著重大影響。當(dāng)前在基于慣性傳感器的人體活動(dòng)識(shí)別領(lǐng)域存在兩種識(shí)別周期,分別是長(zhǎng)周期和短周期[14,17-18],其中長(zhǎng)周期普遍超過(guò)10 s,而短周期普遍在1 ~3 s。在實(shí)際生活中,長(zhǎng)周期極容易出現(xiàn)一個(gè)周期內(nèi)包含多種活動(dòng)的情況發(fā)生,因此本文所使用的識(shí)別周期為2.56 s和3 s,其中,UCI 數(shù)據(jù)集使用2.56 s 識(shí)別周期,WISDM 數(shù)據(jù)集使用3 s 識(shí)別周期。
在一些文獻(xiàn)研究中,對(duì)于人體活動(dòng)識(shí)別系統(tǒng)的分類性能評(píng)價(jià)指標(biāo)比較單一,例如只使用平均識(shí)別率來(lái)衡量系統(tǒng)的性能。對(duì)于均衡數(shù)據(jù)集而言,平均識(shí)別率能夠在一定程度上表征識(shí)別系統(tǒng)的性能,但在人體活動(dòng)識(shí)別領(lǐng)域,許多公用數(shù)據(jù)集的樣本數(shù)量并不均衡,例如本文所采用的兩個(gè)公開(kāi)數(shù)據(jù)集。當(dāng)數(shù)據(jù)樣本不均衡時(shí),只采用平均識(shí)別率作為評(píng)價(jià)指標(biāo)進(jìn)行評(píng)估難以保證評(píng)估結(jié)果的準(zhǔn)確性。比如,上、下樓特征比較相似,因此其分類難度比較高。當(dāng)上、下樓梯的樣本數(shù)量在整個(gè)數(shù)據(jù)集的樣本總數(shù)中占比較小時(shí),采用平均識(shí)別率對(duì)系統(tǒng)評(píng)估就會(huì)產(chǎn)生平均識(shí)別率較高而上、下樓梯識(shí)別率較低的情況。為準(zhǔn)確評(píng)估本文所構(gòu)建的人體活動(dòng)識(shí)別系統(tǒng),本文采用平均識(shí)別率和每種活動(dòng)的準(zhǔn)確率、召回率、F1 分?jǐn)?shù)作為評(píng)價(jià)指標(biāo),以評(píng)估本文所構(gòu)建的人體活動(dòng)識(shí)別系統(tǒng)是否能夠在保證較高平均識(shí)別率的同時(shí),也能對(duì)各種活動(dòng)進(jìn)行準(zhǔn)確識(shí)別。以下是平均識(shí)別率、準(zhǔn)確率、召回率和F1 分?jǐn)?shù)的定義。
平均識(shí)別率:預(yù)測(cè)準(zhǔn)確的樣本數(shù)除以所有樣本數(shù)。
準(zhǔn)確率:表征被預(yù)測(cè)為正例的樣本中有多少是真正的正例。
召回率:表征正例樣本中有多少被預(yù)測(cè)為正例。
F1-分?jǐn)?shù):準(zhǔn)確率和召回率的調(diào)和平均數(shù)。
式中:TP 表示正例被預(yù)測(cè)為正例的樣本數(shù)量;TN 表示負(fù)例被預(yù)測(cè)為負(fù)例的樣本數(shù)量;FP 表示負(fù)例被預(yù)測(cè)為正例的樣本數(shù)量;FN 表示正例被預(yù)測(cè)為負(fù)例的樣本數(shù)量。
由于本文采用了多級(jí)結(jié)構(gòu)進(jìn)行人體活動(dòng)識(shí)別,而多級(jí)結(jié)構(gòu)需要根據(jù)層級(jí)的不同訓(xùn)練一系列模型,不同層級(jí)所適用的特征組合不同,因此需要根據(jù)不同的層級(jí)進(jìn)行特征篩選。本文采用遞歸特征消除法篩選出指定數(shù)量的特征組合。
使用決策樹、隨機(jī)森林和支持向量機(jī)對(duì)多級(jí)結(jié)構(gòu)的每一層級(jí)進(jìn)行訓(xùn)練,將各層最優(yōu)模型組合得到最終的人體活動(dòng)識(shí)別系統(tǒng)。使用最優(yōu)模型組合的多級(jí)模型在測(cè)試集上的評(píng)價(jià)指標(biāo)見(jiàn)表1 和表2 所列。
表1 多級(jí)模型使用UCI 數(shù)據(jù)集的評(píng)價(jià)指標(biāo)
本文使用考慮軸間關(guān)系的數(shù)據(jù)轉(zhuǎn)換方法,將一維時(shí)間序列數(shù)據(jù)轉(zhuǎn)換為二維張量的形式,供卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試。
本文提出了一種僅采用兩層卷積和兩層池化的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行人體活動(dòng)識(shí)別。該網(wǎng)絡(luò)第一個(gè)卷積層采用的卷積核數(shù)量為64,第二個(gè)卷積層的卷積核數(shù)量為128,兩者所采用的卷積核尺寸均為1*15。采用學(xué)習(xí)率下降和早停機(jī)制,所使用的優(yōu)化器為Adam。使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)測(cè)試集的評(píng)價(jià)指標(biāo)見(jiàn)表3 和表4 所列。
表3 卷積神經(jīng)網(wǎng)絡(luò)使用UCI 數(shù)據(jù)集的評(píng)價(jià)指標(biāo)
表4 卷積神經(jīng)網(wǎng)絡(luò)使用WISDM 數(shù)據(jù)集的評(píng)價(jià)指標(biāo)
在基于慣性數(shù)據(jù)的人體活動(dòng)識(shí)別領(lǐng)域,使用傳統(tǒng)機(jī)器學(xué)習(xí)算法的人體活動(dòng)識(shí)別系統(tǒng)通常需要對(duì)數(shù)據(jù)進(jìn)行特征提取,計(jì)算其時(shí)域或頻域特征,然后使用分類算法對(duì)提取的特征進(jìn)行分類從而得到識(shí)別結(jié)果。常用的分類算法包括決策樹、隨機(jī)森林和支持向量機(jī)等傳統(tǒng)機(jī)器學(xué)習(xí)算法。
對(duì)比實(shí)驗(yàn)將對(duì)本文提出的多級(jí)模型和卷積神經(jīng)網(wǎng)絡(luò),與傳統(tǒng)的決策樹和隨機(jī)森林等人體活動(dòng)識(shí)別算法進(jìn)行對(duì)比。為了保證結(jié)果可靠和合理,在對(duì)比實(shí)驗(yàn)中,各傳統(tǒng)算法所采用的數(shù)據(jù)集、特征工程和參數(shù)尋優(yōu)方法與本文基于多級(jí)結(jié)構(gòu)的人體活動(dòng)識(shí)別系統(tǒng)完全一致。
見(jiàn)表5,本文提出的基于多級(jí)結(jié)構(gòu)和卷積神經(jīng)網(wǎng)絡(luò)的人體活動(dòng)識(shí)別方法在兩個(gè)數(shù)據(jù)集上均能夠達(dá)到較高的識(shí)別率,其中多級(jí)結(jié)構(gòu)達(dá)到了表中的最高識(shí)別率。此外,本文提出的卷積神經(jīng)網(wǎng)絡(luò)也能夠獲得較高識(shí)別率。
表5 各算法平均識(shí)別率對(duì)比
通過(guò)平均識(shí)別率的對(duì)比發(fā)現(xiàn),對(duì)于傳統(tǒng)機(jī)器學(xué)習(xí)算法而言,使用多級(jí)結(jié)構(gòu)能夠獲取更高的評(píng)價(jià)指標(biāo),尤其是在傳統(tǒng)原始算法評(píng)價(jià)指標(biāo)較低的情況下,例如基于WISDM 數(shù)據(jù)集的決策樹和多級(jí)決策樹,采用多級(jí)結(jié)構(gòu)的決策樹相比于原始決策樹在上樓梯這一活動(dòng)中,其識(shí)別率提升了33.13%。對(duì)于卷積神經(jīng)網(wǎng)絡(luò)算法而言,其評(píng)價(jià)指標(biāo)相對(duì)于多級(jí)最優(yōu)而言較低,相對(duì)于傳統(tǒng)機(jī)器學(xué)習(xí)算法而言較高,且各類別識(shí)別率較為均衡。
本文使用傳統(tǒng)機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法設(shè)計(jì)了基于4 種算法的7 個(gè)實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估和對(duì)比。實(shí)驗(yàn)結(jié)果表明,本文基于多級(jí)結(jié)構(gòu)的傳統(tǒng)機(jī)器學(xué)習(xí)機(jī)器算法、卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法分別構(gòu)建的人體活動(dòng)識(shí)別系統(tǒng)在UCI 和WISDM 兩個(gè)公共數(shù)據(jù)集上,相對(duì)于傳統(tǒng)機(jī)器學(xué)習(xí)算法而言,能夠有效提升人體活動(dòng)識(shí)別率,滿足了實(shí)際應(yīng)用的需求。