何 堅(jiān) 郭澤龍 劉樂園 蘇予涵
①(北京工業(yè)大學(xué)信息學(xué)部 北京 100124)
②(北京市物聯(lián)網(wǎng)軟件與系統(tǒng)工程技術(shù)研究中心 北京 100124)
人體活動(dòng)識(shí)別(Human Activity Recognition,HAR)[1]廣泛應(yīng)用于人機(jī)交互[2]、醫(yī)療診斷[3]、智能家居控制[4]、異常行為檢查等領(lǐng)域[5],是普適計(jì)算和人機(jī)交互的重要研究領(lǐng)域。HAR主要依據(jù)由傳感器采集的活動(dòng)特征數(shù)據(jù)來實(shí)現(xiàn)活動(dòng)識(shí)別。依據(jù)傳感器的不同,HAR技術(shù)可以分為基于環(huán)境感知的HAR、基于視覺的HAR和基于可穿戴計(jì)算的HAR。其中,基于環(huán)境感知的HAR由嵌入人們工作生活環(huán)境的傳感器(如壓力傳感器、被動(dòng)式紅外傳感器等)采集人體活動(dòng)數(shù)據(jù),實(shí)現(xiàn)人體活動(dòng)的分類識(shí)別;由于其采用的傳感器需要部署在具體環(huán)境中,因此其通常僅適用于特定場(chǎng)景?;谝曈X的HAR由部署于人們工作生活環(huán)境中的攝像機(jī)獲得人體活動(dòng)的視覺數(shù)據(jù),并應(yīng)用計(jì)算機(jī)視覺技術(shù)對(duì)人體活動(dòng)進(jìn)行分類識(shí)別[6]。基于視覺的HAR具有不影響用戶日?;顒?dòng)、使用方便等優(yōu)點(diǎn),但其存在易受光線變化和遮擋干擾,并會(huì)涉及用戶隱私等缺點(diǎn)[7]?;诳纱┐饔?jì)算的HAR,將加速度計(jì)、陀螺儀等慣性傳感器集成于可穿戴手表、背心等設(shè)備中,通過采集人體活動(dòng)力學(xué)數(shù)據(jù)實(shí)現(xiàn)人體活動(dòng)的分類識(shí)別[8]??纱┐鱄AR具有成本低、易于使用且不影響用戶日?;顒?dòng)等優(yōu)點(diǎn),成為HAR研究熱點(diǎn)之一。
可穿戴HAR任務(wù)可分為人體活動(dòng)數(shù)據(jù)感知、特征數(shù)據(jù)提取和活動(dòng)分類識(shí)別3個(gè)階段。隨著微電子機(jī)械系統(tǒng)技術(shù)(Micro Electro Mechanical Systems,MEMS)的發(fā)展,3軸加速度計(jì)、陀螺儀、磁力計(jì)等慣性傳感元器件精度越來越高、體積越來越小,研究人員開發(fā)了多種集成了慣性傳感器的可穿戴設(shè)備來采集人體活動(dòng)的3軸加速度、角速度等動(dòng)力學(xué)數(shù)據(jù),依據(jù)不同日?;顒?dòng)(如行走、上樓、下樓等)中3軸加速度、角速度數(shù)值及變化趨勢(shì)的差異,提煉不同的人工特征(例如,瞬時(shí)加速度/角速度,合加速度/角速度,加速度/角速度的方差/均方差等),并在此基礎(chǔ)上研究不同的人體活動(dòng)分類識(shí)別算法。
早期可穿戴人體活動(dòng)識(shí)別方法,以人體活動(dòng)的人工特征數(shù)據(jù)為基礎(chǔ),分別從閾值、時(shí)域、頻域方面進(jìn)行特征提取和活動(dòng)分類[9,10]。例如,Ravi等人[11]采用快速傅里葉變換(Fast Fourier Transform, FFT)提取人體活動(dòng)的頻域特征并進(jìn)行活動(dòng)分類識(shí)別。隨著研究的深入,研究人員紛紛將傳統(tǒng)的機(jī)器學(xué)習(xí)方法引入到可穿戴HAR中。例如,何堅(jiān)等人[12]構(gòu)造了可穿戴活動(dòng)感知背心,引入K鄰近 (K-Nearest Neighbor, KNN)并結(jié)合卡爾曼濾波設(shè)計(jì)了可穿戴跌倒檢測(cè)系統(tǒng),跌倒檢測(cè)的準(zhǔn)確率達(dá)到98.9%。Tran等人[13]在對(duì)原始活動(dòng)數(shù)據(jù)FFT變換后,在智能手機(jī)上采用支持向量機(jī)(Support Vector Machines,SVM)實(shí)現(xiàn)人體活動(dòng)的快速準(zhǔn)確識(shí)別。近年來隨著深度學(xué)習(xí)在圖像處理、語音識(shí)別等領(lǐng)域取得成功,研究人員紛紛將深度學(xué)習(xí)技術(shù)引入到HAR中。Hanai等人[14]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)引入到HAR中,實(shí)驗(yàn)表明由于CNN包含更多隱藏層,并通過逐層卷積和池化計(jì)算提取不同尺度的人體活動(dòng)特征,因此獲得了較高的人體活動(dòng)識(shí)別準(zhǔn)確率。針對(duì)人體活動(dòng)的時(shí)序特征,文獻(xiàn)[15]結(jié)合CNN和長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short Term Memory, LSTM)構(gòu)造深度神經(jīng)網(wǎng)絡(luò)提取人體活動(dòng)的時(shí)空上下文特征,并通過實(shí)驗(yàn)證明該方法相比單純CNN網(wǎng)絡(luò)具有更高的活動(dòng)識(shí)別準(zhǔn)確率。
概括起來,由于缺少統(tǒng)一的協(xié)議和規(guī)范,不同可穿戴HAR系統(tǒng)采用活動(dòng)傳感器的類別、數(shù)量,以及傳感器部署的位置不盡相同。例如,文獻(xiàn)[16]將集成3軸加速度、陀螺儀的感知模塊部署于可穿戴背心的胸背部;文獻(xiàn)[17]將慣性傳感器部署于人體腰部;文獻(xiàn)[18]將慣性傳感器集成于項(xiàng)鏈的吊墜上;文獻(xiàn)[19]將慣性傳感器部署于人體腰部和左右大腿部。由于可穿戴HAR傳感器的類型、部署位置不盡相同,已有HAR采用的活動(dòng)分類識(shí)別算法難以推廣應(yīng)用。此外,盡管深度學(xué)習(xí)算法取得了較高人體活動(dòng)識(shí)別準(zhǔn)確率,但其需要較高的運(yùn)算和存儲(chǔ)資源,需要GPU等專用處理器支持才能滿足實(shí)時(shí)人體活動(dòng)識(shí)別需要。
針對(duì)上述問題,本文借鑒人體骨架模型思想,建立通用人體活動(dòng)力學(xué)模型;其次,建立3軸加速度、角速度與RGB像素之間的映射關(guān)系,通過引入滑動(dòng)窗口技術(shù)構(gòu)造基于人體活動(dòng)力學(xué)模型的像素圖像;最后,構(gòu)造面向人體活動(dòng)識(shí)別的卷積網(wǎng)絡(luò)(Convolutional Neural Network is designed for Human Activity Recognition, HAR-CNN)提取人體活動(dòng)的時(shí)空上下文信息,并采用公開的Opportunity數(shù)據(jù)進(jìn)行算法驗(yàn)證測(cè)試。實(shí)驗(yàn)結(jié)果表明HAR-CNN具有較高人體活動(dòng)識(shí)別率,并具有良好的運(yùn)行效率。
人體活動(dòng)過程中,頭、手、足、四肢、腰和胸部會(huì)呈現(xiàn)出不同的運(yùn)動(dòng)特征。對(duì)此,本文參考微軟人體骨架模型[20],并采用笛卡爾坐標(biāo)系建立通用人體活動(dòng)力學(xué)模型(如圖1所示),圖1(a)—圖1(c)為根據(jù)人體運(yùn)動(dòng)特征提取出的骨架關(guān)節(jié)點(diǎn),圖1(d)為關(guān)節(jié)點(diǎn)上傳感器的加速度與角速度的方向示意圖。
人體形態(tài)主要由四肢、軀干、手、足和頭部通過關(guān)節(jié)鉸鏈?zhǔn)竭B接構(gòu)成。其中,在人體活動(dòng)中肢體運(yùn)動(dòng)主要體現(xiàn)在胸部(如挺胸)、腰部(如彎腰),因此胸部和腰部通常會(huì)作為人體活動(dòng)力學(xué)數(shù)據(jù)的檢測(cè)點(diǎn)。依據(jù)文獻(xiàn)[21]的人體骨架模型,人體活動(dòng)建模需要部署的動(dòng)力學(xué)傳感器節(jié)點(diǎn)集S={S1, S2, ···,S13, Hl, Hr, Fl, Fr}。如圖1(c)所示,S1為頭部感知節(jié)點(diǎn);S2, S3, S4, S9, S10, S11為左右臂感知節(jié)點(diǎn);Hl, Hr為左右手感知節(jié)點(diǎn);S7, S8為胸部、腰部腳感知節(jié)點(diǎn); S5, S6, S12, S13為左右腿感知節(jié)點(diǎn);Fl,F(xiàn)r為左、右腳的感知節(jié)點(diǎn)。
為了規(guī)范表示人體活動(dòng)力學(xué)特征,本文采用笛卡爾坐標(biāo)系建立統(tǒng)一的人體活動(dòng)力學(xué)模型。在圖1(d)中,ax,ay和az分別代表人體活動(dòng)中3軸加速度計(jì)分別沿著坐標(biāo)系中x軸、y軸和z軸采集得到的加速度分量數(shù)據(jù);ωx,ωy和ωz分別代表人體活動(dòng)時(shí)陀螺儀分別沿x軸、y軸和z軸感知到的人體傾轉(zhuǎn)角加速度分量數(shù)據(jù)。設(shè)A表示人體活動(dòng),F(xiàn)ext為特征提取函數(shù),F(xiàn)cls為人體活動(dòng)分類函數(shù)。則
Hl, Hr和Fl, Fr構(gòu)成與Si相同。由于不同廠家傳感器的量程和測(cè)量精度不盡相同,為了避免這些因素對(duì)活動(dòng)識(shí)別算法的影響,可以采用式(3)對(duì)采樣數(shù)據(jù)進(jìn)行歸一化處理,使得加速度、角速度的取值在[0,1]。式(3)中,x代表傳感器采集的原始數(shù)據(jù),xmin代表傳感器量程的最小值,range代表加速度計(jì)或陀螺儀的量程范圍,xscale代表歸一化之后的數(shù)據(jù)。
已有可穿戴活動(dòng)感知技術(shù)中,研究人員選取了圖1所示的人體活動(dòng)力學(xué)模型中感知節(jié)點(diǎn)集的子集作為人體活動(dòng)力學(xué)數(shù)據(jù)的采樣點(diǎn),設(shè)計(jì)了動(dòng)力學(xué)數(shù)據(jù)的信號(hào)向量模、方差、均方差、熵等人工特征方法來提取人體活動(dòng)特征,并研究了不同分類算法以實(shí)現(xiàn)人體活動(dòng)的分類識(shí)別。
深度學(xué)習(xí)可在無需事先知道檢測(cè)目標(biāo)所具有的人工特征情景下,通過監(jiān)督學(xué)習(xí)來提取目標(biāo)特征并分類,其在圖像識(shí)別、自然語言處理等方面取得了巨大成功。對(duì)此,本節(jié)引入滑動(dòng)窗口技術(shù)構(gòu)造人體活動(dòng)的RGB位圖,進(jìn)而構(gòu)造基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法提取人體活動(dòng)特征,并進(jìn)行活動(dòng)分類。
由于人體活動(dòng)具有連續(xù)性和長(zhǎng)期性等特征,運(yùn)動(dòng)力學(xué)傳感器實(shí)時(shí)采集的人體活動(dòng)數(shù)據(jù)形成連續(xù)流數(shù)據(jù)。而傳統(tǒng)針對(duì)固定靜態(tài)數(shù)據(jù)的算法無法直接應(yīng)用于流數(shù)據(jù)場(chǎng)景。對(duì)此,本文通過滑動(dòng)窗口技術(shù)緩存人體活動(dòng)數(shù)據(jù),并為每一個(gè)感知數(shù)據(jù)設(shè)置對(duì)應(yīng)時(shí)間戳。這樣,隨著新數(shù)據(jù)的不斷產(chǎn)生,系統(tǒng)依據(jù)時(shí)間戳按照先進(jìn)先出的原則,不斷更新窗口內(nèi)的老數(shù)據(jù)。
對(duì)人體活動(dòng)模型中的3軸活動(dòng)力學(xué)數(shù)據(jù)與圖像的RGB通道數(shù)據(jù)建立映射關(guān)系(例如:x軸分量值對(duì)應(yīng)紅色通道子像素值,y軸分量值對(duì)應(yīng)綠色通道子像素值,z軸分量值對(duì)應(yīng)藍(lán)色通道子像素值),則可以將人體活動(dòng)的3軸加速度、角速度數(shù)據(jù)分別轉(zhuǎn)化為對(duì)應(yīng)的RGB像素(如圖2所示)。從圖2可知,將人體活動(dòng)力學(xué)數(shù)據(jù)轉(zhuǎn)換為RGB像素圖,不僅保存了同一時(shí)刻中人體活動(dòng)3軸加速度、角速度之間的關(guān)聯(lián)關(guān)系,同時(shí)也保存了滑動(dòng)窗口中不同時(shí)刻3軸加速度、角速度之間的依賴關(guān)系,這為設(shè)計(jì)基于卷積網(wǎng)絡(luò)的深度學(xué)習(xí)算法提供了基礎(chǔ)。
圖2 人體活動(dòng)力學(xué)數(shù)據(jù)轉(zhuǎn)位圖示意
由于加速度計(jì)和陀螺儀傳感器的量程與精度不盡相同,為此本文采用式(4)對(duì)加速度計(jì)和陀螺儀傳感器感知的數(shù)據(jù)進(jìn)行規(guī)范化處理,通過四舍五入將結(jié)果轉(zhuǎn)化為整型數(shù)據(jù)。其中,RGB圖像中子通道通常為1 Byte,即取值為0~255的整型數(shù)據(jù)。
通過式(4)將3軸加速度計(jì)和陀螺儀采集的x,y和z軸數(shù)據(jù)均規(guī)范到0~255范圍內(nèi)。這樣就可將每次3軸加速度計(jì)和陀螺儀采集到的數(shù)據(jù)轉(zhuǎn)換成一個(gè)像素點(diǎn)。
通過對(duì)LeNet-5[22]、AlexNet[23]、VGGNet[24]等經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行歸納總結(jié),本文提出了面向人體活動(dòng)識(shí)別的卷積網(wǎng)絡(luò)架構(gòu),即HAR-CNN。HAR-CNN由輸入層、卷積層、池化層、全連接層、softmax層構(gòu)成,如圖3所示。其中,第1層為輸入層,輸入A×A×3,其中A為RGB位圖長(zhǎng)/寬度。
圖3 HAR-CNN架構(gòu)
中間層為m×n個(gè)卷積單元。每個(gè)卷積單元Um,n(m, n = 1, 2, 3,···)包含1或多個(gè)卷積層,0或1個(gè)池化層。每一列卷積單元串聯(lián)成一個(gè)卷積通道,多個(gè)卷積通道可以并聯(lián)成多通道的卷積網(wǎng)絡(luò)。
每個(gè)卷積單元Um,n中的Cm,n,i(i = 1, 2, 3,···)為卷積層。在每個(gè)卷積單元中有i個(gè)卷積層,每個(gè)卷積單元中的所有卷積層采用相同大小的卷積核 (Kl,Sl, Cl, Ol),其中Kl為卷積核大小,Sl為卷積核的步長(zhǎng),Cl為特征圖輸入通道數(shù),Ol為特征圖輸出通道數(shù)。每個(gè)卷積單元中的所有卷積層采用相同的Padding(方式為VALID或SAME),不同的Padding方式將導(dǎo)致卷積層輸出的特征圖大小不同。
Sm,n為卷積單元中的池化層。每個(gè)卷積單元最后的卷積層后可以添加0或1個(gè)池化層。池化通常取整個(gè)池化區(qū)域的最大值或平均值。
Fk(k=1, 2, ···, K) 是全連接層。在卷積單元后添加全連接層將卷積單元輸出的特征結(jié)合起來,全連接層可以為1或多層。
HAR-CNN的最后一層為softmax層。通過softmax層輸出預(yù)測(cè)結(jié)果,將概率最大的類別作為預(yù)測(cè)結(jié)果輸出。
本文采用公開的Opportunity[25]人體活動(dòng)數(shù)據(jù)集,參考其對(duì)應(yīng)的實(shí)驗(yàn)環(huán)境和傳感器部署情況(如圖4所示)設(shè)計(jì)構(gòu)造了HAR-CNN實(shí)例,并進(jìn)行相應(yīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試。
圖4 Opportunity 數(shù)據(jù)集傳感器分布圖
為了開展人體活動(dòng)識(shí)別技術(shù)研究,歐盟在第7框架項(xiàng)目中搭建了包含躺椅、餐桌、冰箱、櫥柜等設(shè)施的日常生活仿真環(huán)境,按照?qǐng)D4設(shè)計(jì)了包含7個(gè)慣性傳感器和12個(gè)3軸加速計(jì)的可穿戴設(shè)備以采集人體活動(dòng)數(shù)據(jù)。4位被試按照設(shè)定的場(chǎng)景描述各自獨(dú)立完成5組日常活動(dòng)和1組訓(xùn)練活動(dòng)。其中,日?;顒?dòng)由被試從躺椅上起身、活動(dòng)準(zhǔn)備、室外散步、準(zhǔn)備咖啡、喝咖啡、準(zhǔn)備三明治、吃三明治、清理餐桌、躺躺椅上休息9個(gè)順序活動(dòng)構(gòu)成。在1組訓(xùn)練活動(dòng)中被試重復(fù)20次如下9組活動(dòng):打開/關(guān)閉冰箱、打開/關(guān)閉洗碗機(jī)、打開/關(guān)閉不同高度的3個(gè)抽屜、開/關(guān)門1、開/關(guān)門2、打開/關(guān)閉燈、清理餐桌、站立喝飲料、坐著喝飲料。
從時(shí)序上可將Opportunity活動(dòng)數(shù)據(jù)分為周期性重復(fù)活動(dòng)(如坐、站、躺、走等)、非重復(fù)性周期活動(dòng)(打開/關(guān)閉門、打開/關(guān)閉冰箱、打開/關(guān)閉洗碗機(jī)、移動(dòng)杯子、清理餐桌等)。表1所示為Opportunity數(shù)據(jù)集中周期性、非周期性活動(dòng)數(shù)據(jù)集描述。其中,數(shù)據(jù)的采樣頻率為30 Hz。由于原始Opportunity數(shù)據(jù)集存在部分?jǐn)?shù)據(jù)缺失,對(duì)此本文采用線性插值進(jìn)行數(shù)據(jù)補(bǔ)齊。
表1 Opportunity數(shù)據(jù)集描述
本文按照式(3)對(duì)Opportunity數(shù)據(jù)進(jìn)行歸一化處理,并采用3.1節(jié)的滑動(dòng)窗口方法生成Opportunity數(shù)據(jù)對(duì)應(yīng)的RGB位圖。本文將4位被試活動(dòng)數(shù)據(jù)的80%作為訓(xùn)練樣本,其余20%作為測(cè)試樣本。
HAR-CNN網(wǎng)絡(luò)架構(gòu)如圖5所示。其中,對(duì)于周期性活動(dòng),HAR-CNN的輸入為26像素×48像素的3 通道RGB位圖。由于Opportunity數(shù)據(jù)集中針對(duì)非周期性活動(dòng)還包含了環(huán)境傳感器(如門、抽屜開關(guān)電磁閥等)采集的數(shù)據(jù),因此對(duì)于非周期性活動(dòng)的HAR-CNN輸入數(shù)據(jù)擴(kuò)充為57像素×48像素的3通道RGB位圖。HAR-CNN共有 6 個(gè)網(wǎng)絡(luò)層(不包含輸入層)。圖5中,網(wǎng)絡(luò)的卷積層標(biāo)注為 C,池化層標(biāo)注為Sx,全連接層標(biāo)注為 Fx。x為網(wǎng)絡(luò)的層號(hào)。
圖5 HAR-CNN網(wǎng)絡(luò)架構(gòu)
C1為第1層卷積層。在卷積的過程中如果卷積核步長(zhǎng)不能被輸入圖片尺寸整除,會(huì)發(fā)生丟棄數(shù)據(jù)的情況。為了防止輸入的數(shù)據(jù)丟失,本文首先對(duì)數(shù)據(jù)的邊緣進(jìn)行擴(kuò)充,在輸入圖片的四周補(bǔ)0,將圖像擴(kuò)充為28×50×3尺寸來進(jìn)行卷積。卷積層1有32個(gè)卷積核,卷積核大小為2×2×3,卷積的步長(zhǎng)為1,每個(gè)卷積核同時(shí)在圖像的3個(gè)通道中卷積,輸出1維的卷積圖像。每個(gè)卷積核有2×2×3以及1個(gè)偏置共13個(gè)連接參數(shù),該層共416個(gè)參數(shù),最后輸出32張26×48的特征圖。
S2為第1層池化層。第1層池化層的輸入為第1層卷積層后輸出的26×48×32的特征圖,在池化操作前對(duì)輸入特征圖進(jìn)行邊緣擴(kuò)充。池化的窗口為2×2,步長(zhǎng)為2,每次僅提取窗口中的最大值作為輸出,該層最后輸出32張13×24的特征圖。
C3為第2層卷積層。第2層卷積層的輸入為第1層池化層輸出的特征圖,在卷積前對(duì)輸入特征圖進(jìn)行邊緣補(bǔ)充操作。卷積層2的卷積核數(shù)量為64,大小為2×2×3,卷積步長(zhǎng)為1。該層最后輸出64張13×24的特征圖。
S4為第2層池化層。第2層池化層的輸入為第2層卷積層后輸出的特征圖。第2層池化層的窗口大小為2×2,步長(zhǎng)為2,選擇窗口中最大的數(shù)據(jù)進(jìn)行保留,該層最后輸出7×12×64特征圖。
F5為網(wǎng)絡(luò)的全連接層。全連接層內(nèi)有512個(gè)神經(jīng)元,將池化層2的結(jié)果展平作為全連接層的輸入,為了防止網(wǎng)絡(luò)過擬合,添加了dropout層,隨機(jī)地丟掉神經(jīng)元,dropout的參數(shù)設(shè)置為0.8。
Outputs為網(wǎng)絡(luò)最后的輸出層,輸出將全連接層的輸出與5個(gè)周期性活動(dòng)標(biāo)簽類進(jìn)行全連接操作,通過softmax函數(shù)計(jì)算出每個(gè)活動(dòng)類別的概率,其中概率最大的為預(yù)測(cè)的活動(dòng)標(biāo)簽。
本文選擇了一臺(tái)搭載Ubuntu操作系統(tǒng)的服務(wù)器(Xeon E5-2620 v4 CPU, 128 GB內(nèi)存, TESLA M40圖形加速卡),采用Tensorflow和Python設(shè)計(jì)實(shí)現(xiàn)HAR-CNN實(shí)例。使用Opportunity公開數(shù)據(jù)對(duì)HAR-CNN進(jìn)行模型訓(xùn)練和測(cè)試。其中,網(wǎng)絡(luò)訓(xùn)練的學(xué)習(xí)率0.0001,batch size設(shè)置為750,訓(xùn)練迭代1000次后識(shí)別準(zhǔn)確率不再提高,課題組停止模型訓(xùn)練。此外,課題組使用了Adam方法對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化。
本文采用同時(shí)兼顧精確率和召回率的F1值(如式(5)所示)作為模型的評(píng)估指標(biāo)。
為了驗(yàn)證本文提出的網(wǎng)絡(luò)模型的有效性,本文選取了MS-2DCNN[7]和DeepConvLSTM[15]以及DRNN[26]3種有監(jiān)督機(jī)器學(xué)習(xí)算法以及Weka中的Bayes Network, Random Forest, Na?ve Bayes,Random Tree 4種分類算法進(jìn)行活動(dòng)識(shí)別性能對(duì)比。其中,MS-2DCNN將不同軸向的傳感器數(shù)據(jù)分別輸入神經(jīng)網(wǎng)絡(luò),然后對(duì)卷積得到的不同軸向的特征進(jìn)行拼接分類,該網(wǎng)絡(luò)共有11層,包括輸入輸出層、4層卷積層、1層池化層、1層數(shù)據(jù)轉(zhuǎn)化層、2層全連接層以及1層連接分類器;DeepConvLSTM采用卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)分別提取人體活動(dòng)的時(shí)空特征并分類。DeepConvLSTM除輸入層外,包括4個(gè)卷積層、2個(gè)LSTM層及一個(gè)softmax輸出層。每個(gè)卷積層的卷積核長(zhǎng)度為5×1,卷積核個(gè)數(shù)為64個(gè),每個(gè)LSTM層包括128個(gè)LSTM單元。DRNN網(wǎng)絡(luò)為一個(gè)包含3層隱藏層的循環(huán)神經(jīng)網(wǎng)絡(luò)。
Opportunity數(shù)據(jù)集中周期性重復(fù)活動(dòng)稱為運(yùn)動(dòng)模式(Modes of Locomotion, ML),非重復(fù)性離散活動(dòng)稱為姿態(tài)模式(Gesture, GR),表2所示為兩種對(duì)比算法以及Weka中的4種分類算法與本文算法的F1值對(duì)比。其中,Gesture(NULL)和ML(Null)分別表示包含NULL的姿態(tài)和運(yùn)動(dòng)模式,NULL類為間隔時(shí)間不含任何特征活動(dòng)。
通過表2可以看出,Weka上4種算法的人體活動(dòng)識(shí)別F1值普遍低于HAR-CNN, DRNN, MS-2DCNN和DeepConvLSTM算法,這可能是其提取的人體活動(dòng)特征少于MS-2DCNN, DRNN, HARCNN和DeepConvLSTM方法的原因。DeepConvLSTM算法在每一類活動(dòng)分類上都取得了較高的F1值,其在周期性重復(fù)活動(dòng)ML高于本文的HARCNN算法;但由于其采用卷積神經(jīng)網(wǎng)絡(luò)和LSTM相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)參數(shù)較多,導(dǎo)致其訓(xùn)練和識(shí)別的時(shí)間相比HAR-CNN和MS-2DCNN較長(zhǎng)。DRNN網(wǎng)絡(luò)每一項(xiàng)都取得了較高的得分但是其使用的循環(huán)神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)易遇到梯度爆炸與消失等問題,并且算法的運(yùn)行時(shí)間較長(zhǎng)。MS-2DCNN算法在每一項(xiàng)分類中的F1值均與本文算法相近,但是其網(wǎng)絡(luò)層數(shù)較多導(dǎo)致運(yùn)行時(shí)間較長(zhǎng)。本文HARCNN網(wǎng)絡(luò)在離散類活動(dòng)Gesture(NULL)和Gesture以及周期類活動(dòng)ML(NULL)中取得了最高F1值,說明其對(duì)周期性、離散性活動(dòng)均有較好的識(shí)別效果,同時(shí)運(yùn)行時(shí)間也小于DeepConvLSTM,MS-2DCNN和DRNN算法。
表2 不同算法F1值對(duì)比
本文還對(duì)數(shù)據(jù)分割使用的滑動(dòng)窗口長(zhǎng)度和步長(zhǎng)進(jìn)行了實(shí)驗(yàn)分析(如圖6所示),圖6(a)、圖6(b) 為隨著窗口長(zhǎng)度增加兩種活動(dòng)識(shí)別的F1值變化,圖6(c)、圖6(d)為隨著滑動(dòng)步長(zhǎng)變化兩種活動(dòng)識(shí)別的F1值變化。從圖6(a)、圖6(b) 可以看出ML和Gesture活動(dòng)識(shí)別結(jié)果隨著窗口從40 ms增加到1500 ms時(shí),人體活動(dòng)識(shí)別F1值總體上逐步提高(去除局部波動(dòng))。其中,針對(duì)周期性重復(fù)活動(dòng)在窗口寬度為1600 ms時(shí),F(xiàn)1值達(dá)到峰值,然后隨著窗口增大F1值逐漸減小;離散活動(dòng)在窗口寬度為1300 ms時(shí),F(xiàn)1值達(dá)到峰值,然后隨著窗口增大F1值逐漸減小。這說明不是滑動(dòng)窗口越長(zhǎng),人體活動(dòng)識(shí)別F1越好,而是滑動(dòng)窗口大小有一個(gè)峰值,在該狀態(tài)下人體活動(dòng)識(shí)別準(zhǔn)確率最高。這是因?yàn)楫?dāng)窗口過小時(shí),活動(dòng)特征無法被完全提取會(huì)導(dǎo)致F1值較低。而當(dāng)窗口太大時(shí)窗口中可能包含兩類以上的活動(dòng),導(dǎo)致網(wǎng)絡(luò)無法學(xué)習(xí)有效特征導(dǎo)致F1值下降。
本文通過實(shí)驗(yàn)分析每類活動(dòng)的持續(xù)時(shí)間最終選定1.6 s作為滑動(dòng)窗口大小。確定滑動(dòng)窗口大小后,本文繼續(xù)實(shí)驗(yàn)分析每次滑動(dòng)窗口移動(dòng)步長(zhǎng)對(duì)活動(dòng)識(shí)別F1值的影響。窗口滑動(dòng)步長(zhǎng)通常小于窗口長(zhǎng)度,這使得相鄰兩個(gè)窗口間有部分重疊活動(dòng)數(shù)據(jù)。從圖6(c)、圖6(d)可以看出ML和Gesture活動(dòng)識(shí)別結(jié)果隨著窗口滑動(dòng)步長(zhǎng)從40 ms增加到800 ms時(shí),人體活動(dòng)識(shí)別F1值總體上逐步提高,并在步長(zhǎng)為800 ms時(shí)F1值達(dá)到峰值,然后隨著步長(zhǎng)增大F1值逐漸減小。本文通過實(shí)驗(yàn)得到的最優(yōu)滑動(dòng)步長(zhǎng)為滑動(dòng)窗口大小的一半時(shí),人體活動(dòng)識(shí)別準(zhǔn)確率最高。
圖6 不同滑動(dòng)窗口長(zhǎng)度和步長(zhǎng)的F1值
如表3和表4列出了包含NULL類時(shí)本文算法和DRNN算法針對(duì)ML和Gesture兩類活動(dòng)的識(shí)別準(zhǔn)確率、召回率的比較。表3、表4中本文算法的平均準(zhǔn)確率都達(dá)到了90%優(yōu)于DRNN算法,證明本文的算法有良好的識(shí)別效果。在ML標(biāo)簽活動(dòng)識(shí)別中,兩種算法的站立活動(dòng)識(shí)別準(zhǔn)確率都較高,而走路識(shí)別準(zhǔn)確率卻最低。分析Opportunity數(shù)據(jù)集發(fā)現(xiàn)站立數(shù)據(jù)占數(shù)據(jù)集的40%,而走路數(shù)據(jù)僅占23%。站立的訓(xùn)練數(shù)據(jù)較多使得站立活動(dòng)的識(shí)別準(zhǔn)確率較高。本文算法在GR標(biāo)簽活動(dòng)識(shí)別中,因數(shù)據(jù)集中NULL類占比高達(dá)58%,故大多數(shù)的錯(cuò)誤識(shí)別均是將活動(dòng)類別識(shí)別為NULL類。
表3 ML活動(dòng)識(shí)別的準(zhǔn)確率和召回率(%)
表4 GR活動(dòng)識(shí)別的準(zhǔn)確率和召回率(%)
本文建立基于人體骨架的通用人體活動(dòng)力學(xué)模型,并構(gòu)造了面向人體活動(dòng)識(shí)別的HAR-CNN網(wǎng)絡(luò)。通過對(duì)比另外3種深度學(xué)習(xí)算法與4種傳統(tǒng)機(jī)器學(xué)習(xí)算法在Opportunity數(shù)據(jù)集的活動(dòng)識(shí)別結(jié)果,證明了本文設(shè)計(jì)的HAR-CNN算法有較高的準(zhǔn)確率和運(yùn)算效率,是一種有效的活動(dòng)識(shí)別算法。未來課題組將繼續(xù)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),包括網(wǎng)絡(luò)的卷積核大小、連接方法等。此外,會(huì)進(jìn)一步探索解決人體活動(dòng)數(shù)據(jù)不平衡性(諸如NULL過多等問題)導(dǎo)致識(shí)別準(zhǔn)確率降低等問題。