歐陽銀濤,孫彥璽,屈敬朝,李雯雯,王 崇
(鄭州輕工業(yè)大學(xué) 建筑環(huán)境工程學(xué)院,河南 鄭州 450000)
隨著微電子機(jī)械系統(tǒng)(MEMS)、機(jī)器學(xué)習(xí)等技術(shù)的快速發(fā)展,同時(shí)人們對(duì)健康狀況的關(guān)注和對(duì)更高生活品質(zhì)的追求,使得基于慣性傳感器的人體活動(dòng)識(shí)別成為當(dāng)下熱門的研究課題。基于慣性傳感器的人體活動(dòng)識(shí)別技術(shù)在輔助老年人生活、醫(yī)療保健、體育運(yùn)動(dòng)和人機(jī)交互等方面[1]發(fā)揮著重要作用。用于人體活動(dòng)數(shù)據(jù)采集的慣性傳感器主要由加速度計(jì)、陀螺儀和磁力計(jì)等構(gòu)成,能夠準(zhǔn)確采集人體活動(dòng)時(shí)產(chǎn)生的加速度信號(hào)、角速度信號(hào)和磁場[2]。傳感器器件的發(fā)展促使慣性傳感器朝著小體積、低成本、低功耗、高靈敏度的方向不斷進(jìn)步,使其被集成在智能手環(huán)、智能手機(jī)和可穿戴設(shè)備上成為可能,相信在未來,其在人體活動(dòng)識(shí)別領(lǐng)域的應(yīng)用也將越來越廣泛。
人體活動(dòng)識(shí)別中常見的機(jī)器學(xué)習(xí)算法模型有決策樹、樸素貝葉斯、人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、K最近鄰和隱馬爾科夫模型等[3]。文獻(xiàn)[4]提出了一種基于多傳感器的分布式人體定位方法,該多傳感器系統(tǒng)采用決策樹分類器(DT)、均值和方差特征,整體識(shí)別準(zhǔn)確率達(dá)96.4%。文獻(xiàn)[5]提出了一種基于樸素貝葉斯分類器(NB)的早期手勢識(shí)別方法,實(shí)驗(yàn)結(jié)果表明,所提出的新方法優(yōu)于許多專門為早期手勢識(shí)別而設(shè)計(jì)的更復(fù)雜的方法。文獻(xiàn)[6]建立了支持向量機(jī)(SVM)分類模型,用于體操動(dòng)作的識(shí)別,該模型對(duì)6種體操動(dòng)作的平均識(shí)別率超97%。文獻(xiàn)[7]采用K最近鄰分類器(KNN)進(jìn)行人體活動(dòng)識(shí)別,采用粒子群優(yōu)化算法(PSO-KNN)搜索KNN分類器中k參數(shù)的最優(yōu)值。實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的算法提高了對(duì)人體動(dòng)作的識(shí)別精度。本文提出了基于BP神經(jīng)網(wǎng)絡(luò)的人體活動(dòng)識(shí)別方法,并在公開的DaLiAc(Daily Life Activities, DaLiAc)數(shù)據(jù)集上驗(yàn)證了我們所提分類模型用于人體活動(dòng)識(shí)別的有效性。
多層網(wǎng)絡(luò)的學(xué)習(xí)能力較單層感知器增強(qiáng)很多,但要訓(xùn)練多層網(wǎng)絡(luò),則需要更強(qiáng)大的學(xué)習(xí)算法。誤差逆?zhèn)鞑ィ‥rror Back Propagation, BP)算法是迄今為止最成功的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,現(xiàn)實(shí)任務(wù)中使用神經(jīng)網(wǎng)絡(luò)時(shí),大多使用BP算法進(jìn)行訓(xùn)練[8]。BP算法不僅可用于多層前饋神經(jīng)網(wǎng)絡(luò),還可適用于其他類型的神經(jīng)網(wǎng)絡(luò),通常所說的BP網(wǎng)絡(luò)一般是指用BP算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)模型
由圖1可知,輸入層由n個(gè)神經(jīng)元組成,xi(i=1, 2,...,n)表示其輸入;隱層由q個(gè)神經(jīng)元組成,zk(k=1, 2,...,q)表示其輸出;輸出層由m個(gè)神經(jīng)元組成,yj(j=1, 2,...,m)表示其輸出。vki(i=1, 2,...,n;k=1, 2,...,q)表示輸入層到隱層的連接權(quán)值;wjk(k=1, 2,...,q;j=1, 2,...,m)表示隱層到輸出層的連接權(quán)值。
(1)隱層的輸入與輸出分別為:
(2)輸出層的輸入與輸出分別為:
基于傳感器的人體活動(dòng)識(shí)別一般流程包括:數(shù)據(jù)預(yù)處理、窗口分割、特征提取及降維和分類識(shí)別。由于慣性傳感器采集的人體運(yùn)動(dòng)信號(hào)包含豐富的活動(dòng)信息,而僅使用原始運(yùn)動(dòng)信號(hào)進(jìn)行識(shí)別分類的準(zhǔn)確度往往不高,因此常通過特征提取的方式從原始信號(hào)中提取主要特征以構(gòu)成特征向量(特征向量包含了可以區(qū)分不同動(dòng)作或活動(dòng)的重要線索)。但當(dāng)特征向量維數(shù)太高時(shí)將帶來維度災(zāi)難問題,特征降維的操作將為降低特征向量的維度、簡化計(jì)算、縮短分類執(zhí)行時(shí)間帶來益處。
本研究利用公開的DaLiAc數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集[9],該數(shù)據(jù)集的采集過程由放置在人體右臀部、胸部、右手腕和左腳踝上的3個(gè)傳感器節(jié)點(diǎn)完成。每個(gè)傳感器節(jié)點(diǎn)由1個(gè)三軸加速度計(jì)(A1,A2,A3)和1個(gè)三軸陀螺儀(G1,G2,G3)組成。其中,加速度計(jì)的量程為±6g,手腕、胸部、臀部傳感器節(jié)點(diǎn)的陀螺儀量程為±500°/s,腳踝處傳感器節(jié)點(diǎn)的陀螺儀量程為±2 000°/s。實(shí)驗(yàn)采樣率為204.8 Hz,對(duì)19名健康受試者(8位女性和11位男性,年齡(26±8)歲,身高(177±11)cm,體重(75.2±14.2)kg)采集了13種不同的人體活動(dòng)。DaLiAc數(shù)據(jù)集的活動(dòng)名稱及標(biāo)簽見表1所列。
表1 人體活動(dòng)名稱及標(biāo)簽
本研究以時(shí)間長度為2 s的滑動(dòng)窗口進(jìn)行人體活動(dòng)數(shù)據(jù)分割,取相鄰滑動(dòng)窗口間50%的數(shù)據(jù)重疊,以防止窗口邊緣處信息丟失。提取分割后樣本數(shù)據(jù)的方差、平均絕對(duì)值、裕度因子、脈沖因子、均方根、峰值因子等時(shí)域參數(shù)作為分類特征,采用主成分分析法(PCA)降低特征參數(shù)的維度,從而簡化網(wǎng)絡(luò)計(jì)算,縮短訓(xùn)練時(shí)間。采用獨(dú)熱編碼對(duì)13種人體活動(dòng)標(biāo)簽進(jìn)行編碼,隨機(jī)打亂經(jīng)過數(shù)據(jù)處理后的樣本數(shù)據(jù)的順序,以達(dá)到隨機(jī)選擇訓(xùn)練集和測試集的目的。實(shí)驗(yàn)時(shí)選取受試者活動(dòng)數(shù)據(jù)的前80%作為訓(xùn)練樣本集,剩下20%作為測試樣本集,并將所有樣本數(shù)據(jù)歸一化到[0,1]。
本文提出的BP神經(jīng)網(wǎng)絡(luò)模型包括1個(gè)輸入層、2個(gè)隱藏層和1個(gè)輸出層,輸入和輸出節(jié)點(diǎn)的數(shù)量分別為50(主成分降維后的維度)和13(13種不同的人體活動(dòng)),2個(gè)隱藏層的神經(jīng)元個(gè)數(shù)分別為200和100,epochs設(shè)置為50,學(xué)習(xí)率lr設(shè)置為0.001,采用LM(Levenberg-Marquart, LM)反向傳播算法[10]進(jìn)行網(wǎng)絡(luò)訓(xùn)練。實(shí)驗(yàn)時(shí)讀取數(shù)據(jù)集中第一個(gè)志愿者的人體活動(dòng)數(shù)據(jù),BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和預(yù)測分別在訓(xùn)練樣本集和測試樣本集上進(jìn)行。其中,訓(xùn)練集和測試集樣本個(gè)數(shù)分別為935和234,分別占總樣本數(shù)量的80%和20%。該模型在MATLAB上的仿真結(jié)果如圖2、圖3和圖4所示。
圖2 訓(xùn)練樣本預(yù)測值與實(shí)際值的對(duì)比
圖3 測試樣本的預(yù)測值與實(shí)際值的對(duì)比
圖4 BP神經(jīng)網(wǎng)絡(luò)模型測試集的預(yù)測分類混淆矩陣
圖2和圖3分別是建立的BP神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練集和測試集上的預(yù)測標(biāo)簽值和真實(shí)標(biāo)簽值對(duì)比曲線,從圖中可以明顯看出,該模型很好地實(shí)現(xiàn)了對(duì)13種人體活動(dòng)的預(yù)測分類。圖4是BP神經(jīng)網(wǎng)絡(luò)模型在測試集的預(yù)測分類混淆矩陣,其底側(cè)數(shù)字和左側(cè)數(shù)字的1~13分別代表待分類的13種人體活動(dòng)和預(yù)測分類出的13種人體活動(dòng)。最后一行格子(右下角格子除外)上方和下方的百分比分別表示模型對(duì)某一人體活動(dòng)做出正確或錯(cuò)誤分類的準(zhǔn)確率和錯(cuò)誤率。最后一列格子(右下角格子除外)上方和下方的百分比分別表示模型預(yù)測分類為某一人體活動(dòng)的準(zhǔn)確率和錯(cuò)誤率。右下角格子上方的百分比代表模型對(duì)13種人體活動(dòng)做出正確分類的總體準(zhǔn)確率,下方的百分比為總體分類錯(cuò)誤率。從混淆矩陣中可以看出,該方法對(duì)13種人體活動(dòng)的總體識(shí)別率達(dá)到了96.6%,證明了我們所提方法的有效性。
本文建立了BP神經(jīng)網(wǎng)絡(luò)模型用于人體活動(dòng)識(shí)別,實(shí)驗(yàn)中提取了樣本數(shù)據(jù)的方差、平均絕對(duì)值等時(shí)域參數(shù)作為分類特征,并采用PCA實(shí)現(xiàn)特征向量降維。利用DaLiAc公開數(shù)據(jù)集,通過對(duì)比樣本標(biāo)簽的預(yù)測值和實(shí)際值,以及模型在測試集上預(yù)測分類混淆矩陣展現(xiàn)出的高識(shí)別率,表明了該模型用于人體活動(dòng)識(shí)別的高效性。未來的研究中,應(yīng)當(dāng)充分考慮人體活動(dòng)識(shí)別的時(shí)效性,找到識(shí)別速度和識(shí)別準(zhǔn)確率的最佳平衡,更好地實(shí)現(xiàn)實(shí)時(shí)分類監(jiān)測。
物聯(lián)網(wǎng)技術(shù)2021年12期