魏旋旋
(上海工程技術(shù)大學 機械與汽車工程學院,上海 201620)
人體運動信息廣泛應(yīng)用于運動康復(fù)、人機交互、醫(yī)療健康及人體姿態(tài)評估等領(lǐng)域。通過檢測和識別人體特定動作可以為運動員的訓練管理、醫(yī)院患者的康復(fù)提供數(shù)據(jù)支持,同時在虛擬現(xiàn)實、人機交互上也具有廣闊的應(yīng)用前景。
慣性傳感器(Inertial Measurement Unit)具有體積小、重量輕、成本低、精度高的特點。通過將加速度計、陀螺儀、磁力計等微型傳感器內(nèi)置于可穿戴設(shè)備,獲取人體不同部位的加速度、角速度等信息。利用支持向量機、神經(jīng)網(wǎng)絡(luò)和深度學習等熱門算法可以對人體運動信息進行識別。Yang 等人在人體的15 個部位佩戴慣性傳感器對人體動作進行數(shù)據(jù)采集,并建立基于慣性傳感器的數(shù)據(jù)庫。吳軍等人利用智能手機自帶的加速度傳感器采集人體運動三軸加速度信息,并利用深度卷積神經(jīng)網(wǎng)絡(luò)對走、坐、躺、跑、站五類動作進行識別,準確率可達91.2%。佟麗娜等人利用長短期記憶網(wǎng)絡(luò),實現(xiàn)了特征自動提取,并對多類運動模式進行時序建模。實驗證明此方法對慢跑、步行等識別準確率為97.5%,但自動提取的特征過多導(dǎo)致計算過于復(fù)雜。Hashim 等人提出了一種降維技術(shù),成功將UCI HAR 數(shù)據(jù)集的561 個特征減少到66 個,提高計算速度的同時將活動識別精度保持在98.72%,但該方法網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)較為復(fù)雜,難以布置在小型移動設(shè)備上。
慣性傳感器采集的數(shù)據(jù)量龐大且具有一定噪聲,高通濾波器可以分離信號中的噪聲,在特征提取的同時可以減少數(shù)據(jù)量。因此,本文提出利用切比雪夫二型高通濾波器消除由于身體相對于垂直引力場位置的變化所導(dǎo)致的“緩慢”變化,并提取功率譜密度曲線的峰值及坐標作為特征的數(shù)據(jù)處理算法。該算法大大減少了神經(jīng)網(wǎng)絡(luò)的訓練時間,可以實時快速進行人體運動信息的處理和識別。
HAR 數(shù)據(jù)集是由19~48 歲年齡段內(nèi)與30名志愿者,每人在腰部佩戴智能手機(三星Galaxy S II)進行6 項活動(行走、上樓、下樓、坐下、站立、躺下)的加速度和減速度采集所獲得。該數(shù)據(jù)采用50 Hz的恒定速度捕獲了3 軸線加速度和角速度,并手動標記數(shù)據(jù)。獲得的數(shù)據(jù)集被隨機分成2 組,其中70%的志愿者被選中生成培訓數(shù)據(jù),30%的測試數(shù)據(jù)被選中。傳感器的佩戴位置如圖1 所示。
圖1 傳感器配置位置圖Fig.1 Sensor configuration location
本文采用Matlab2020a 對HAR 數(shù)據(jù)進行處理。首先將行走、上樓、站立、躺下4 種活動的加速度直方圖進行可視化,如圖2 所示。從圖2 中可以發(fā)現(xiàn)行走的平均加速度在10 m/s,而躺下的平均加速度在1 m/s,所以根據(jù)加速度的平均值可以很好地區(qū)分行走和躺下;行走和站立的均方根或標準偏差差距較大可以作為區(qū)分特征。而行走和上樓的加速度的平均值、均方根和標準偏差都相差不大,需要用其他方法進行區(qū)分。
圖2 加速度直方圖Fig.2 Acceleration histogram
慣性傳感器信號的變化主要由如下因素來確定:
(1)身體動力學導(dǎo)致的隨時間的“快速”變化。
(2)身體相對于垂直引力場位置的變化導(dǎo)致的隨時間的“緩慢”變化。
本文以研究身體動力學為主,所以利用切比雪夫二型高通濾波器將第二種原因引起的信號波動淡化。濾波后的信號與原始信號的對比如圖3 所示。
圖3 原始信號與濾波后的信號Fig.3 Original signal and filtered signal
將單個活動的加速度信號和時間信息提取出來并進行繪圖??梢杂^察到一定的周期性變化,如圖4 所示。研究中可通過頻域分析中的功率譜密度來尋找到數(shù)據(jù)特征。
圖4 單個活動加速度與時間關(guān)系圖Fig.4 Relationship between acceleration and time of single activity
在估計加速度功率譜密度時,加速度a()是有限持續(xù)時間內(nèi)的加速度,對此進行傅里葉變換:
同時,滿足巴塞伐(Parseval)公式:
式(2)中,等式左端表示加速度在時間域內(nèi)的總能量,等式右端積分中的被積函數(shù)則稱為能譜密度,該值表示了單位頻率所含有的能量,能譜密度是一個非負實數(shù)。
由式(3)可知功率譜密度為:
行走和主樓的加速度功率譜密度對比曲線如圖5 所示。由圖5 可以發(fā)現(xiàn)不同活動加速度的功率譜密度曲線的峰值以及峰值所對應(yīng)的坐標是不同的。最終通過時域和頻域分析以及各種直方圖的分析,提取了60 個特征。特征總結(jié)詳見表1。
圖5 行走和上樓的加速度功率譜密度對比圖Fig.5 Comparison of acceleration power spectral density between walking and walking upstairs
表1 特征總結(jié)表Tab.1 Summary of characteristics
本文利用上文數(shù)據(jù)處理算法提取數(shù)據(jù)特征,并結(jié)合已有的RNN 與LSTM 結(jié)合的方式搭建遞歸神經(jīng)網(wǎng)絡(luò)對行走、上樓、下樓、坐下、站立、躺下六項活動進行識別。網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計如圖6 所示。本文在嘗試了各種不同優(yōu)化器后,最終采用Adam 優(yōu)化算法對參數(shù)進行優(yōu)化。預(yù)處理好的60 個特征經(jīng)過9 個遞歸LSTM 層、1 個全連接層和輸出層后,給出識別結(jié)果。這種方法的預(yù)測精度達到了92.1%。
圖6 遞歸神經(jīng)網(wǎng)絡(luò)模型Fig.6 Recurrent neural network model
為了證明本文提出的人體動作識別算法的運行性能,設(shè)計了不同算法下的準確率和運行時間對比試驗。實驗所需硬件系統(tǒng)為聯(lián)想Y9000K 2019SE筆記本電腦;軟件為Matlab2020a。利用本文提出的數(shù)據(jù)處理算法,處理HAR 公開數(shù)據(jù)集,在利用Matlab 神經(jīng)網(wǎng)絡(luò)工具包進行人體動作識別。最終得到HAR 數(shù)據(jù)集的訓練集、驗證集、測試集以及總的分類結(jié)果混淆矩陣,如圖7 所示。
圖7 混淆矩陣Fig.7 Confusion matrix
神經(jīng)網(wǎng)絡(luò)的接收機工作特性曲線,簡稱曲線,如圖8 所示。
圖8 ROC 曲線Fig.8 ROC curve
為了進一步驗證本文提出的人體動作識別算法的優(yōu)越性,本文利用其他算法模型在相同實驗條件下對HAR 公開數(shù)據(jù)集進行處理,并識別6 種人體姿態(tài)。試驗結(jié)果與本文提出人體動作識別算法進行對比,見表2。
表2 本文算法與其他算法模型的識別準確率和訓練時間對比Tab.2 Comparison of recognition accuracy and training time between this algorithm and other algorithm models
由表2 可以看出,相同實驗條件下本文提出算法在識別率上與其他算法相差不多,但在算法運行時間上得到了很大的提高,有利于對數(shù)據(jù)的實時訓練識別。
本文提出了一種基于慣性傳感器識別人體姿態(tài)的算法,解決了人體運動信息量大和識別時間長的問題。設(shè)計了不同算法在識別精度和訓練時間上的對比試驗,結(jié)果表明本文算法在訓練時間上遠快于其他算法。本研究成果有利于對人體的運動狀態(tài)進行實時采集和分析,為研究人類行為打下基礎(chǔ)。利用本文提出的算法還可以對腦卒中病人進行步態(tài)的分析和識別,同時也可以對老人跌倒行為進行識別。該算法在醫(yī)療康復(fù)上具有良好的發(fā)展空間。