范長軍,高 飛(浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023)
隨著智能移動(dòng)設(shè)備和可穿戴式傳感器的使用越來越普遍,智能手環(huán)、智能胸帶等產(chǎn)品屢見不鮮。通過這些設(shè)備,心電、呼吸、體溫等生理信號(hào)以及加速度、陀螺儀等慣性信號(hào)的獲取都變得十分方便,人們能隨時(shí)隨地獲取自身的各項(xiàng)體感信息。通過感知的各類體感信息來識(shí)別日常運(yùn)動(dòng)及活動(dòng),并長時(shí)間連續(xù)記錄相關(guān)的數(shù)據(jù),可分析出一個(gè)人的活動(dòng)模式和能量消耗,方便進(jìn)行健康監(jiān)護(hù)和醫(yī)療保健[1],大大提高人們的生活質(zhì)量。
加速計(jì)、陀螺儀和磁力計(jì)等慣性傳感器能夠感知運(yùn)動(dòng)的加速度、角速度以及運(yùn)動(dòng)幅度等,并具有體積小、靈敏度高、功耗低的特點(diǎn)[2],成為人體活動(dòng)識(shí)別最常用的傳感器[3]。此外,心率計(jì)、溫度計(jì)等生理傳感器在智能可穿戴產(chǎn)品中也日益普及,心率等生理指標(biāo)與運(yùn)動(dòng)強(qiáng)度、耗氧量呈正比,會(huì)隨著運(yùn)動(dòng)強(qiáng)度而發(fā)生變化,能為人體健康監(jiān)測和活動(dòng)識(shí)別提供不可或缺的體感信息。比如,走路和負(fù)重走兩類活動(dòng)的運(yùn)動(dòng)模式相同,僅通過慣性傳感器無法進(jìn)行區(qū)分,但兩者引起的生理疲勞程度不同,引入心率等生理特征可有效解決此問題。
目前有關(guān)人體活動(dòng)識(shí)別的研究主要通過以下方式實(shí)現(xiàn):①在實(shí)驗(yàn)環(huán)境下,專業(yè)人員按照一定的規(guī)范采集加速度和陀螺儀等慣性數(shù)據(jù)(僅部分工作采用了生理信號(hào),比如文獻(xiàn)[4-6]),并進(jìn)行標(biāo)注;②將采集到的傳感數(shù)據(jù)經(jīng)過預(yù)處理后,通過啟發(fā)式的方法人工提取特征信息[7-8];③將上述特征信息進(jìn)行篩選和降維,并通過機(jī)器學(xué)習(xí)算法進(jìn)行活動(dòng)的分類和識(shí)別[9-11]。此類方法已經(jīng)比較成熟,并在某些類別的活動(dòng)識(shí)別中取得了不錯(cuò)的效果[12-13],但也存在一些問題。
首先,數(shù)據(jù)采集過程比較繁瑣,普適化程度不高[14]。其次,傳統(tǒng)的機(jī)器學(xué)習(xí)算法的分類效果嚴(yán)重依賴于提取特征的全面性和表示能力,而這需要相應(yīng)領(lǐng)域的專家知識(shí)[15-16]。在多模態(tài)傳感器存在的情況下,不同類型的傳感數(shù)據(jù)(比如加速度和心電)的特征工程需要不同領(lǐng)域的專家知識(shí),這極大增加了人體活動(dòng)識(shí)別的難度。尤其是,相比于加速度等慣性信號(hào),心率等生理信號(hào)具有特有的長期時(shí)序依賴[17],現(xiàn)有工作對此考慮不足。最后,為了有效融合多模態(tài)傳感數(shù)據(jù),需要人工設(shè)計(jì)不同的融合算法[17-18],特征工程、信息融合與分類算法是分開進(jìn)行的,沒有實(shí)現(xiàn)端到端的一站直達(dá)式系統(tǒng),這在一定程度上提高了人體活動(dòng)識(shí)別應(yīng)用的門檻。
針對以上問題,本文提出了一種基于多模態(tài)信息融合的可穿戴人體活動(dòng)識(shí)別系統(tǒng)——iWearRT。首先,設(shè)計(jì)了iWearRT的整體系統(tǒng)框架,規(guī)劃了系統(tǒng)模塊的組成、分工、采集軟件以及采集實(shí)驗(yàn),方便了普適環(huán)境下的數(shù)據(jù)采集工作;其次,將可穿戴設(shè)備上的各類傳感器獲取的慣性和生理數(shù)據(jù)進(jìn)行了初步預(yù)處理,設(shè)計(jì)了LSTM-RNN深度神經(jīng)網(wǎng)絡(luò)來自動(dòng)提取傳感數(shù)據(jù)的特征(尤其是長期時(shí)序依賴),并進(jìn)行多模態(tài)傳感器的自動(dòng)融合,如此實(shí)現(xiàn)了從原始數(shù)據(jù)到分類結(jié)果的端到端學(xué)習(xí);最后,對本文提出的方法進(jìn)行了實(shí)驗(yàn)驗(yàn)證與分析。
將可穿戴人體活動(dòng)識(shí)別系統(tǒng)設(shè)計(jì)為三部分:數(shù)據(jù)采集部分、數(shù)據(jù)傳輸部分以及數(shù)據(jù)處理部分。數(shù)據(jù)采集工作主要由穿戴在人身上的各類傳感器完成,它們以一定的頻率收集人的加速度、角速度等慣性信息和心率、呼吸等生理信息。采集的傳感數(shù)據(jù)通過Zigbee或藍(lán)牙等網(wǎng)絡(luò)模塊發(fā)送到隨身攜帶的智能手機(jī)上,可以由智能手機(jī)進(jìn)行數(shù)據(jù)處理和識(shí)別任務(wù);也可以將傳感數(shù)據(jù)在手機(jī)端進(jìn)行基本的降噪、篩選、壓縮等操作,并將它們傳送到遠(yuǎn)端云平臺(tái)。云平臺(tái)具有強(qiáng)大的并行計(jì)算能力,能高效地進(jìn)行大數(shù)據(jù)的分析、處理和可視化操作。系統(tǒng)總體架構(gòu)如圖1所示。
在人體活動(dòng)識(shí)別應(yīng)用中,各類可穿戴傳感器不僅要在各種場景下隨人移動(dòng),而且要全面捕捉人體的生理和運(yùn)動(dòng)狀況,因此,各傳感器佩戴的位置對系統(tǒng)的設(shè)計(jì)也至關(guān)重要。文獻(xiàn)[19]充分考慮了人體適合放置可穿戴計(jì)算機(jī)的部位以及人體對自身的感知范圍(如圖2所示),本系統(tǒng)選用其中的位置d來放置心率等生理信號(hào)傳感器和加速度、陀螺儀等慣性傳感器,并選用位置c和h來放置慣性傳感器,智能手機(jī)可放置在人體的任何位置,一般會(huì)選擇放在位置f的口袋中。
圖1 可穿戴人體活動(dòng)識(shí)別系統(tǒng)架構(gòu)
圖2 適合放置可穿戴計(jì)算機(jī)的部位[19]
為便于收集各類傳感器數(shù)據(jù),在智能手機(jī)上基于Android平臺(tái)開發(fā)了一個(gè)通用的數(shù)據(jù)采集軟件系統(tǒng)——SomaticLog。
SomaticLog可運(yùn)行在Android 2.3.3及以上版本的平臺(tái)上,能夠記錄智能手機(jī)自身內(nèi)置的各類傳感器的感知數(shù)據(jù),比如GPS、加速度、角速度以及光強(qiáng)、大氣壓等,也能通過藍(lán)牙等無線網(wǎng)絡(luò)接收各傳感器節(jié)點(diǎn)發(fā)送來的傳感數(shù)據(jù)。此外,SomaticLog提供了用戶友好的圖形化人機(jī)交互界面,可供用戶自由選擇需要記錄的傳感器類型,方便配置其采樣頻率,并可通過選擇菜單項(xiàng)的方式標(biāo)記當(dāng)前的運(yùn)動(dòng)和活動(dòng)類型,方便進(jìn)行樣本數(shù)據(jù)的標(biāo)注。
數(shù)據(jù)采集軟件系統(tǒng)界面如圖3所示,圖3(a)是系統(tǒng)主界面,由三部分構(gòu)成:第1部分用于標(biāo)記數(shù)據(jù)采集的地點(diǎn)、活動(dòng)(運(yùn)動(dòng))類型、手機(jī)擺放的位置、方向以及屏幕的朝向等,部分下拉菜單可見圖3(b)~圖3(d);第2部分顯示了智能手機(jī)自帶傳感器感知到的部分?jǐn)?shù)據(jù),如加速度、磁場、光強(qiáng)等;第3部分顯示了從生理傳感設(shè)備傳遞來的部分?jǐn)?shù)據(jù),如心率、呼吸率、身體姿態(tài)傾角等。當(dāng)有新的傳感器接入時(shí),可通過添加組件的形式進(jìn)行擴(kuò)展。獲取的數(shù)據(jù)樣本既可以保存在本地閃存卡上,也可通過UDP協(xié)議實(shí)時(shí)地發(fā)送到遠(yuǎn)程云平臺(tái),以便后續(xù)進(jìn)行處理。
圖3 SomaticLog軟件界面
為了驗(yàn)證本文方法的有效性,進(jìn)行了模擬場景實(shí)驗(yàn)。選用的實(shí)驗(yàn)設(shè)備有:一部運(yùn)行Android 2.3.3系統(tǒng)的HTC Sensation G14智能手機(jī),一條BioHarnessTMBT無線傳感胸帶,以及3個(gè)獨(dú)立的無線運(yùn)動(dòng)傳感模塊(Inertial Measurement Unit,IMU)。胸帶位于圖2位置d處,主要用于采集心率;每個(gè)IMU內(nèi)嵌兩個(gè)三軸加速計(jì)、一個(gè)三軸陀螺儀和一個(gè)三軸磁力計(jì),可提供12通道傳感數(shù)據(jù),分別位于c、d、h處,用于捕捉軀干、手腕和腳腕的運(yùn)動(dòng)。
本試驗(yàn)共有23個(gè)測試者,其中包括18個(gè)男性和5個(gè)女性。他們的生理狀況,比如年齡、體重、身高和體質(zhì)指數(shù),如表1所示。各測試者分別通過SomaticLog采集并標(biāo)注了十三類日?;顒?dòng)的傳感數(shù)據(jù),包括躺、坐、站、走、跑、騎自行車、撐桿走(Nordic Walking)、上樓、下樓、跳繩、看電視、開車和電腦前工作。
表1 被試主體的生理狀況
一個(gè)人一類活動(dòng)持續(xù)1 min對應(yīng)的傳感數(shù)據(jù)為一組,一共采集得到1 240組數(shù)據(jù),其中,每類活動(dòng)的數(shù)據(jù)不少于30組。隨機(jī)抽取其中的90%作為訓(xùn)練數(shù)據(jù)來建模,剩下的10%作為測試數(shù)據(jù)來檢驗(yàn)?zāi)P偷姆诸愋Ч?/p>
如果將原始傳感數(shù)據(jù)直接輸入識(shí)別算法,效果往往不夠理想,這是因?yàn)樾盘?hào)的質(zhì)量受很多因素影響,其中最常見的是高頻噪音和信號(hào)丟失。
圖4 濾波前后加速度信號(hào)變化
加速度、角速度等慣性信號(hào)在激勵(lì)、檢測和傳輸過程中,會(huì)受到不同程度的隨機(jī)噪聲的污染。這些噪聲信號(hào)的頻帶寬、信號(hào)強(qiáng),與人的運(yùn)動(dòng)信息混雜在一起,容易將真實(shí)的運(yùn)動(dòng)信號(hào)淹沒。由于人的自然活動(dòng)通常變化較慢,主要為低頻信號(hào),因此可行的方法是使用低通濾波器濾掉高頻噪聲信號(hào)。本文選取了Butterworth低通IIR數(shù)字濾波器對原始加速度、角速度進(jìn)行濾波處理,從圖4可以看出,帶有噪聲的加速度數(shù)據(jù)經(jīng)過低通濾波后,噪聲被有效地消除了,而加速度信號(hào)的特征和細(xì)節(jié)被保留下來。
此外,人呼吸引起的胸部起伏會(huì)對采集的生理信號(hào)造成影響,佩戴生理傳感設(shè)備時(shí),其與皮膚的接觸和摩擦程度也會(huì)影響生理信號(hào)數(shù)據(jù)的測量和記錄,比如,靠電傳導(dǎo)工作的智能胸帶與皮膚接觸不良時(shí),容易發(fā)生信號(hào)漂移與數(shù)據(jù)丟失現(xiàn)象。而且,相對于加速度而言,心率傳感信號(hào)的固有頻率低,采樣頻率不宜過高,導(dǎo)致了在同一時(shí)間窗口內(nèi)心率數(shù)據(jù)少于加速度數(shù)據(jù)。為了補(bǔ)全上述缺失的數(shù)據(jù)而不改變生理特征的內(nèi)在模式,采用線性插值的方法計(jì)算缺失的數(shù)據(jù)。
由于人體活動(dòng)識(shí)別算法的輸入是連續(xù)采集的慣性信號(hào)和生理信號(hào)等數(shù)據(jù),對應(yīng)于一個(gè)很長的序列,不適合直接進(jìn)行特征提取和分類,因此通常在對這些信號(hào)做其他處理之前,會(huì)先對其進(jìn)行加窗操作。所謂加窗就是把較長的信號(hào)分割成許多具有相同長度的重疊的窗口。本系統(tǒng)將滑動(dòng)窗口的長度設(shè)為2.56 s時(shí)長的傳感序列樣本數(shù),其中加速度傳感器的采樣頻率為100 Hz,因此一個(gè)窗口的長度為256,并且設(shè)置相鄰兩個(gè)窗口間相互重疊50%,如圖5所示,陀螺儀、磁場、心率等其他傳感器以此類推。
圖5 加速度信號(hào)加窗
人體活動(dòng)識(shí)別屬于監(jiān)督式分類問題,中心環(huán)節(jié)是分類器的設(shè)計(jì)與實(shí)現(xiàn)。
在現(xiàn)有的人體活動(dòng)識(shí)別研究中,為了有效進(jìn)行活動(dòng)的區(qū)分,需要從原始數(shù)據(jù)中啟發(fā)式地人工提取能夠表示活動(dòng)的時(shí)域、頻域和時(shí)頻域等各類特征。找出能夠充分表示各類活動(dòng)的特征是十分困難的,嚴(yán)重依賴于專家知識(shí),并且不同類別的數(shù)據(jù),需要不同領(lǐng)域的先驗(yàn)知識(shí)(如慣性特征有別于生理特征)。此外,人體活動(dòng)是一個(gè)持續(xù)的過程,除了短時(shí)的內(nèi)在模式,各類傳感數(shù)據(jù)(尤其是心率等生理信號(hào))還存在長期時(shí)序上的依賴關(guān)系。
近年來快速發(fā)展的深度學(xué)習(xí)技術(shù)強(qiáng)調(diào)直接從原始數(shù)據(jù)開始進(jìn)行端到端的學(xué)習(xí),不用像過去一樣要先人工設(shè)計(jì)特征,因此能有效解決特征提取問題。為了達(dá)到信息保持與傳遞的目的,研究者們?yōu)閭鹘y(tǒng)神經(jīng)網(wǎng)絡(luò)添加了循環(huán)遞歸模塊,形成了遞歸神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)。RNN能夠有效利用上一時(shí)刻的輸出結(jié)果,比較適于用來處理時(shí)序數(shù)據(jù)。此外,相對于淺層模型,深層模型可以更好地融合不同類型的輸入數(shù)據(jù),能夠有效進(jìn)行多模態(tài)傳感器的融合[20]。
長短時(shí)記憶網(wǎng)絡(luò)LSTM(Long Short-Term Memory Network)是一種特殊形式的RNN網(wǎng)絡(luò),它的各個(gè)隱藏層由一系列遞歸相連的存儲(chǔ)塊組成,每個(gè)存儲(chǔ)塊包括一個(gè)記憶單元,內(nèi)含輸入、遺忘和輸出3個(gè)門,它們可以對記憶單元進(jìn)行讀、寫和復(fù)位操作,控制信息在不同記憶單元之間傳遞,有效解決了普通RNN的“梯度消失”問題。
一個(gè)LSTM記憶單元的結(jié)構(gòu)如圖6所示,記憶單元的狀態(tài)通過以下公式進(jìn)行更新:
it=σ(Wi·[ht-1,xt]+bi)
(1)
ft=σ(Wf·[ht-1,xt]+bf)
(2)
ot=σ(Wo·[ht-1,xt]+bo)
(3)
ct=ft*ct-1+it*tanh(Wc·[ht-1,xt]+bc)
(4)
ht=ot*tanh(ct)
(5)
式中:it,ft,ot,ct和ht分別代表在t時(shí)刻,輸入門、遺忘門、輸出門、控制單元和記憶單元的輸出。bi,bf,bo,bc分別為對應(yīng)的偏置向量。Wi,Wf,Wo,Wc為權(quán)重矩陣。
圖6 LSTM記憶單元結(jié)構(gòu)圖
圖7 設(shè)計(jì)的LSTM-RNN深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
為了進(jìn)行人體活動(dòng)識(shí)別,設(shè)計(jì)了用于訓(xùn)練傳感數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并采用Google的深度學(xué)習(xí)開源平臺(tái)Tensorflow來實(shí)現(xiàn)。該網(wǎng)絡(luò)結(jié)構(gòu)一共包括三部分,分別是輸入層(Input_Layer)、輸出層(Output_Layer)和用于進(jìn)行LSTM-RNN訓(xùn)練的隱藏層(LSTM_Cells),如圖7所示。
圖7為Tensorflow可視化工具tensorboard繪制的網(wǎng)絡(luò)結(jié)構(gòu)圖的主干部分。從圖7可以看出,本文設(shè)計(jì)隱藏層為兩層LSTM的結(jié)構(gòu),以此來增加網(wǎng)絡(luò)深度,充分挖掘LSTM對人體活動(dòng)的表示能力,以及彌補(bǔ)淺層模型對輸入特征的融合能力的不足。
將Input_Layer輸入層擴(kuò)展開,得到圖8(a)所示的計(jì)算流程。從圖8可知,輸入層的主要工作包括:訓(xùn)練數(shù)據(jù)X經(jīng)過維度轉(zhuǎn)換后,與權(quán)重hidden_weight、偏置hidden_bias進(jìn)行線性加權(quán),并通過Relu激活函數(shù)處理,處理后的結(jié)果作為輸入傳入LSTM_Cells隱層,即:
f(X)=max(0,X·hidden_weight+hidden_bias)
(6)
圖8 輸入輸出層計(jì)算流程
圖9 LSTM-RNN訓(xùn)練流程圖
兩個(gè)隱藏層分別對應(yīng)一個(gè)LSTM單元,一個(gè)LSTM單元的結(jié)構(gòu)如圖6所示。第1層LSTM單元(LSTM_Cell_1)的輸入由兩部分組成,分別為輸入層傳入的數(shù)據(jù)和上一個(gè)時(shí)間點(diǎn)LSTM_Cell_1的狀態(tài)輸出;同理,第2層LSTM單元(LSTM_Cell_2)的輸入也由兩部分組成,除了LSTM_Cell_1的計(jì)算輸出,還包括上一個(gè)時(shí)間點(diǎn)LSTM_Cell_2的狀態(tài)輸出。對應(yīng)的LSTM_Cells整體結(jié)構(gòu)如圖9所示。
LSTM_Cells隱層計(jì)算的結(jié)果與權(quán)重out_weight、偏置out_bias進(jìn)行線性加權(quán)后,結(jié)合訓(xùn)練數(shù)據(jù)的標(biāo)簽y,計(jì)算softmax交叉熵?fù)p失,并得到對應(yīng)的識(shí)別準(zhǔn)確率,如圖8(b)所示,對應(yīng)的損失計(jì)算公示如下:
(7)
式中:H代表LSTM_Cells隱層的計(jì)算結(jié)果,K表示活動(dòng)類別的數(shù)目,圖9中K=6。Li表示樣本屬于第i類活動(dòng)的交叉熵分類損失,它越大,樣本屬于第i類活動(dòng)的概率越小?;诖?反向傳播算法反向逐層進(jìn)行權(quán)值的更新和網(wǎng)絡(luò)模型的訓(xùn)練。
在僅融合加速度和心率的場景下(即表5中的Acc+HR組合),軀干、手腕、腳腕三處各兩個(gè)三軸加速度,共有18個(gè)數(shù)據(jù)通道(用n_channels表示),外加一路心跳數(shù)據(jù),總計(jì)19個(gè)數(shù)據(jù)通道,每通道數(shù)據(jù)的窗口長度(用seq_len表示)為256,因此,在一個(gè)時(shí)間窗口內(nèi)的數(shù)據(jù)(seq_len,n_channels)即為一個(gè)256×19的矩陣。比如,在19個(gè)數(shù)據(jù)通道中,軀干處佩戴的三軸加速度的X軸、Y軸以及心跳3個(gè)通道在一個(gè)時(shí)間窗口內(nèi)的數(shù)據(jù)可分別表示為[body_acc_x_0,body_acc_x_1,…,body_acc_x_255],[body_acc_y_0,body_acc_y_1,…,body_acc_y_255],[heartbeat_0,heartbeat_1,…,heartbeat_255]的列矢量,因此,在一個(gè)時(shí)間窗口內(nèi)19個(gè)數(shù)據(jù)通道提供的訓(xùn)練數(shù)據(jù)堆疊起來可表示為[[body_acc_x_0,body_acc_y_0,…,heartbeat_0],[body_acc_x_1,body_acc_y_1,…,heartbeat_1],……,[body_acc_x_255,body_acc_y_255,…,heartbeat_255]]的256×19矩陣。其中的每一項(xiàng)(比如第k項(xiàng)[body_acc_x_k,body_acc_y_k,…,heartbeat_k])對應(yīng)了19路數(shù)據(jù)的拼接,實(shí)現(xiàn)了原始數(shù)據(jù)層的融合。
在模型訓(xùn)練階段,將上述訓(xùn)練數(shù)據(jù)進(jìn)行批量輸入(用batch_size表示批大小),以實(shí)現(xiàn)訓(xùn)練效率和訓(xùn)練效果的折中,則一次輸入神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)為(batch_size,seq_len,n_channels)維度的三維矩陣。批大小可根據(jù)情況來設(shè)定,本系統(tǒng)一律設(shè)為1 024。為方便后續(xù)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,在LSTM-RNN輸入層需要將其維度轉(zhuǎn)換為(seq_len,batch_size,n_channels)的形式,并逐層向后傳播??傮w訓(xùn)練流程如下:原始數(shù)據(jù)經(jīng)過維度轉(zhuǎn)換傳入輸入層,輸入層對應(yīng)的神經(jīng)元數(shù)目為19;將隨后的兩個(gè)LSTM隱層的神經(jīng)元個(gè)數(shù)設(shè)為57,其中每一個(gè)LSTM單元訓(xùn)練的序列長度為256,如圖9所示。經(jīng)過一定迭代次數(shù)的前向和反向傳播過程,LSTM-RNN網(wǎng)絡(luò)的各項(xiàng)參數(shù)得到逐步調(diào)整和更新,準(zhǔn)確率和損失趨向于收斂,最終得到穩(wěn)定的網(wǎng)絡(luò)模型。
基于LSTM-RNN的人體活動(dòng)識(shí)別模型是在Ubuntu 16.04平臺(tái)上,由TensorFlow框架通過NVIDIA GTX 1060顯卡硬件加速訓(xùn)練得到的。訓(xùn)練過程中的超參數(shù),比如學(xué)習(xí)速率、批大小、損失系數(shù)和訓(xùn)練迭代次數(shù),都由多次賦值測試并進(jìn)行篩選得到,此處分別選用0.002 5,1 024,0.001 5,300。
首先,考慮特征工程對活動(dòng)識(shí)別準(zhǔn)確率的影響,并采用公開的UCI HAR數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),此數(shù)據(jù)集通過固定在腰部的手機(jī)來記錄三軸加速度和三軸陀螺儀數(shù)據(jù),以識(shí)別走路、上樓、下樓、坐、站、躺6種活動(dòng)[21]。針對此數(shù)據(jù)集,采用以下3種方案分別進(jìn)行活動(dòng)識(shí)別。方案1采用決策樹算法直接在Anguita等人[21]提取的561個(gè)特征的基礎(chǔ)上進(jìn)行活動(dòng)識(shí)別,實(shí)驗(yàn)結(jié)果如表2所示。方案2通過一個(gè)通用的時(shí)序特征提取工具tsfresh[22]對原始數(shù)據(jù)每一通道的各窗口分別提取275個(gè)時(shí)域或頻域特征,并輸入決策樹進(jìn)行活動(dòng)識(shí)別,分類效果如表3所示。方案3通過LSTM-RNN直接對原始數(shù)據(jù)進(jìn)行訓(xùn)練,分類混淆矩陣如表4所示。
表2 基于專家知識(shí)提取特征的識(shí)別效果
表3 基于通用時(shí)序特征的識(shí)別效果
表4LSTM-RNN的分類混淆矩陣
從實(shí)驗(yàn)結(jié)果可以看出,特征的提取對于活動(dòng)識(shí)別的準(zhǔn)確率有很大影響。采用專門針對活動(dòng)識(shí)別優(yōu)選的561個(gè)特征,經(jīng)過決策樹算法訓(xùn)練后識(shí)別準(zhǔn)確率高達(dá)94%;而采用tsfresh提取的特征,同樣經(jīng)過決策樹算法訓(xùn)練后,識(shí)別準(zhǔn)確率僅有83%;最后,通過LSTM-RNN直接對原始傳感數(shù)據(jù)進(jìn)行訓(xùn)練,活動(dòng)識(shí)別的準(zhǔn)確率可達(dá)93.28%。方案3識(shí)別的準(zhǔn)確率和方案1相比差別不大,但是無需手工提取特征,避免了特征提取方法不完善導(dǎo)致的低準(zhǔn)確率(如方案2),減少了對專家知識(shí)的依賴。
為了考察多模態(tài)傳感器融合的活動(dòng)識(shí)別效果,并與現(xiàn)有工作(文獻(xiàn)[17])相比較,進(jìn)行如下實(shí)驗(yàn)。將SomaticLog采集的13種活動(dòng)類型重新歸為6類,包括躺、靜止(坐或站)、走路、跑步、騎車和其他(所有剩余的活動(dòng)類別)。并將4種傳感器采集的數(shù)據(jù)(加速度Acc,角速度Gyro,磁場Mag,心率HR)進(jìn)行交叉組合,構(gòu)成了6類不同的組合數(shù)據(jù)集(如表5所示)。針對此6類數(shù)據(jù)集,設(shè)定訓(xùn)練迭代次數(shù)為300,并記錄每次迭代訓(xùn)練后測試數(shù)據(jù)的分類準(zhǔn)確率、訓(xùn)練損失和最終的F1-score。圖10所示為僅由加速度傳感數(shù)據(jù)進(jìn)行訓(xùn)練的過程。從圖10可以看出,隨著迭代次數(shù)的增加,測試集的分類準(zhǔn)確率逐漸升高,訓(xùn)練損失逐漸減少,最終達(dá)到收斂。
圖10 LSTM-RNN訓(xùn)練迭代趨勢
由于訓(xùn)練過程中參數(shù)優(yōu)化的隨機(jī)性,每次模型訓(xùn)練的結(jié)果略有差異。為此,分別對6類數(shù)據(jù)集各訓(xùn)練八次,取準(zhǔn)確率和F1-score的均值和方差,得到表5所示的結(jié)果。MARCEL是文獻(xiàn)[17]提出的分類器級的多模態(tài)數(shù)據(jù)融合人體活動(dòng)識(shí)別方法。從表5可以看出,與之相比,LSTM-RNN能夠自動(dòng)融合不同的多模態(tài)數(shù)據(jù),得到了更好的識(shí)別準(zhǔn)確率,并且融合的傳感器類型越多,準(zhǔn)率越高。
從表5還可以看出,在僅有加速度的數(shù)據(jù)集(Acc)基礎(chǔ)上,加入心率(Acc+HR),識(shí)別準(zhǔn)確率得到了一定程度的提升;在僅有慣性傳感數(shù)據(jù)的數(shù)據(jù)集(Acc+Gyro+Mag)基礎(chǔ)上,加入心率(Acc+Gyro+Mag+HR),識(shí)別準(zhǔn)確率也得到了一定程度的提升,這說明生理信號(hào)能夠?qū)θ梭w活動(dòng)識(shí)別起到積極的輔助作用。
表5 不同模態(tài)數(shù)據(jù)融合的分類結(jié)果與比較(均值±方差)
最后,從所有類別的活動(dòng)中取出其中的6類,分別是躺、坐、站、看電視、開車和電腦前工作,并通過LSTM-RNN算法進(jìn)行如下實(shí)驗(yàn)。首先,僅利用胸部佩戴的四類傳感器(即Acc+Gyro+Mag+HR)采集的數(shù)據(jù)來分類上述6類活動(dòng),然后,用所有傳感器采集的數(shù)據(jù)來分類此6類活動(dòng),并進(jìn)行對比,結(jié)果分別如表6中E1、E2所示。從表中E1可以看到,僅通過軀干處的慣性傳感器和心率,無法準(zhǔn)確的區(qū)分此6類活動(dòng)。直觀上理解,此6類活動(dòng)的運(yùn)動(dòng)強(qiáng)度都不大,而且對應(yīng)的軀干處的運(yùn)動(dòng)模式類似,造成分類效果不佳。當(dāng)采用本文設(shè)計(jì)的傳感器佩戴方式,全面捕捉軀干和四肢運(yùn)動(dòng),融合身體各部位的各類傳感數(shù)據(jù)后,可以更準(zhǔn)確地區(qū)分開此6類活動(dòng)。
表6 LSTM-RNN 10種活動(dòng)分類結(jié)果
本文提出了一種融合慣性信號(hào)和生理信號(hào)等多模態(tài)傳感數(shù)據(jù)的可穿戴人體活動(dòng)識(shí)別系統(tǒng)iWearRT。首先,設(shè)計(jì)了iWearRT的總體系統(tǒng)框架,規(guī)劃了系統(tǒng)模塊的組成、分工,并重點(diǎn)研究探討了可穿戴設(shè)備的傳感器類型、佩戴位置、數(shù)據(jù)采集框架等;接著,將可穿戴設(shè)備上的各類傳感器獲取的慣性和生理等多模態(tài)數(shù)據(jù)進(jìn)行了降噪、加窗等預(yù)處理,并設(shè)計(jì)了LSTM-RNN深度神經(jīng)網(wǎng)絡(luò)進(jìn)行人體活動(dòng)識(shí)別;最后,進(jìn)行了模擬場景實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該方法無需人工提取特征,減少了對專家知識(shí)的依賴,并可自動(dòng)融合異構(gòu)傳感數(shù)據(jù),準(zhǔn)確性高,分類效果好。