潘婉蘇,李曉風,許金林,李皙茹,程龍樂
(1.中國科學院 合肥物質研究院,安徽 合肥 230026;2.中國科學技術大學,安徽 合肥 230031)
人體運動姿態(tài)的準確解算是人體運動行為辨識與理解的基礎,其在人機交互、康復醫(yī)學及體感游戲等研究領域扮演著十分重要的角色。而人體運動非常復雜,受到很多內(nèi)在因素或者外在環(huán)境的影響,如生理、人體結構、環(huán)境等。目前研究人體姿態(tài)識別的方法主要基于兩種識別[1]:基于圖像分析的人體姿態(tài)識別[2]和基于運動傳感器的人體姿態(tài)識別[3]?;趫D像分析的識別方法能清晰看見人體運動姿態(tài),準確性高,但對設備要求較高,應用場景特殊且不便攜帶[4-6]。但基于運動信號并加以識別具有更好的實時性、適用性。隨著MEMS技術和無線傳感器網(wǎng)絡技術的快速發(fā)展,運動傳感器逐漸微型化、智能化,由加速度傳感器、陀螺儀和磁阻傳感器組成的慣性測量模塊被廣泛應用于姿態(tài)識別[7-9]。Li等在靜態(tài)環(huán)境下利用體域網(wǎng)系統(tǒng)采集多組加速度信號,提出了1種基于DS證據(jù)理論的數(shù)據(jù)融合算法[10],對人體常見的4種基本姿勢進行識別(坐姿、站姿、平躺、蹲坐),但無法動態(tài)跟蹤人體姿態(tài)。
針對上述問題,文中提出了一種基于MEMS慣性傳感器的行為活動方式反演系統(tǒng),由MEMS慣性傳感器感測人體行為數(shù)據(jù),通過無線通信模塊,將采集的信息交由終端進行運算處理,使用量化的姿態(tài)數(shù)據(jù)作為輸入數(shù)據(jù),重建身體的運動狀態(tài)模型,反演出人體行為狀態(tài)并即時反饋給用戶。系統(tǒng)跟蹤記錄人體一天或長時期的活動狀,用以評估用戶的能量消耗和能量代謝當量,在人體運動能耗的檢測領域有廣泛的應用前景。
利用MEMS傳感器感測人體運動信號,把采集到的數(shù)據(jù)隨機分為訓練樣本和測試樣本,對其進行加窗、平滑、濾波等歸一化處理。由于采集的原始數(shù)據(jù)信息比較多(包括加速度、角速度、磁場、氣壓、角度等),計算也會變得越來越復雜,空間維數(shù)也會越來越高,影響了識別效果。因此,利用主成分分析法[11](principal components analysis,PCA)對數(shù)據(jù)進行降維處理,再把運動信號數(shù)據(jù)依次送入姿態(tài)解算模塊、特征提取模塊和選擇模塊,具體的工作流程如圖1所示。
圖1 系統(tǒng)測量流程
其中系統(tǒng)姿態(tài)解算模塊利用四元數(shù)法來表示旋轉角度和方向,求解姿態(tài)角,并通過四元數(shù)微分方程更新四元數(shù)的方式來更新姿態(tài)角。解算出的數(shù)據(jù)經(jīng)過特征提取模塊,提取后的特征向量送入選擇模塊,選擇后的特征向量可作為表征相關運動特點的訓練樣本。系統(tǒng)通過分類模型對樣本數(shù)據(jù)進行訓練,最后獲得可用于行為分類的參考模型。再以訓練完成的參考模型為基礎,采用KNN分類算法將未知樣本與參考模型進行逐一匹配計算,匹配程度最高的模型類別即被認為是該未知樣本的所屬類別,也就是識別結果。系統(tǒng)跟蹤記錄人體一天或是長時期的運動信號,最終反演出人體行為軌跡。
人體運動狀態(tài)反演系統(tǒng)分為數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、顯控模塊和無線通信模塊。系統(tǒng)通過MEMS慣性傳感器MPU9250感測出身體運動信號,該信號經(jīng)濾波調(diào)理電路后進入微處理器STM32,通過自帶的A/D轉換器,將模擬信號轉換成數(shù)字信號,微處理器負責將采集到的信息進行數(shù)據(jù)分析處理,通過藍牙通信模塊把數(shù)據(jù)上傳到云平臺中進行存儲,另一方面微處理器給顯控模塊發(fā)送控制指令執(zhí)行相應操作。系統(tǒng)總體結構框圖如圖2所示。
圖2 系統(tǒng)總體架構
文中采用的核心處理器是基于高性能ARM Cortex-M4 32位RISC內(nèi)核的超低功耗微控制器(MCU)STM32L4xx器件,工作頻率高達80 MHz。Cortex-M4內(nèi)核具有單精度浮點單元(FPU),支持所有ARM單精度數(shù)據(jù)處理指令和數(shù)據(jù)類型。它還實現(xiàn)了全套DSP指令和存儲器保護單元(MPU),加強了應用安全。
文中選擇用于感測人體行為信號的模塊是MEMS慣性傳感器MPU9250,該模塊集成三軸加速度傳感器,三軸陀螺儀和三軸地磁計,解決了三軸加速度傳感器中存在的Z軸漂移問題,性能穩(wěn)定可靠。同時內(nèi)部集成高精度的卡爾曼濾波姿態(tài)融合算法[12],并將經(jīng)緯度、高度、航向、速度等信息數(shù)據(jù)傳輸?shù)浇K端。
系統(tǒng)分為兩部分,一部分是底層信息采集,另一部分是信息處理中心。底層信息采集是基于MEMS慣性傳感器進行人體運動信號的采集,采集的原始信號波形如圖3所示。
(a)加速度曲線
(b)角速度曲線
(c)角度曲線
傳感器通過I2C通信,把采集到的數(shù)據(jù)發(fā)送到信息處理中心。信息處理中心基于STM32微處理器接收數(shù)據(jù)并匹配使其重新組合成準確的信息,通過基于四元數(shù)的互補濾波算法進行數(shù)據(jù)姿態(tài)解算,求出一個包含載體全部姿態(tài)信息的3*3矩陣,通過計算姿態(tài)矩陣可以得出所需要的全部的姿態(tài)信息,如俯仰角θ(pitch)、航向角φ(yaw)和橫滾角γ(roll),根據(jù)氣壓信息求出海拔高度,耦合得到目標人體的運動信息。對運動信息進行長時間的跟蹤測量,分析云端數(shù)據(jù)服務器存儲的數(shù)據(jù),反演人體一天甚至更長時間的行為活動方式。
系統(tǒng)選擇四元數(shù)法進行姿態(tài)解算分析[13]。四元數(shù)可以描述一個坐標系或一個矢量相對某一個坐標系的旋轉,其標量部分表示了轉角的一半余弦值,而其矢量部分則表示瞬時轉軸的方向、瞬時轉動軸與參考坐標系軸間的方向余弦值[14]。因此,一個四元數(shù)既表示了轉軸的方向,又表示了轉角的大小。利用四元數(shù)姿態(tài)矩陣微分方程式求解4個一階微分方程式組,這種方法比方向余弦姿態(tài)矩陣微分方程式計算量明顯減少,同時能滿足工程實踐中對實時性的要求,彌補通常描述剛體角運動的3個歐拉角參數(shù)在設計控制系統(tǒng)時的不足。所以利用四元數(shù)法將加速度傳感器、地磁計和陀螺儀的數(shù)據(jù)進行融合,解算出θ、γ和φ[15-16]。
具體解算步驟如下:
(1)確定初始四元數(shù)(q0,q1,q2,q3),采用二階龍格庫塔法對四元數(shù)標量部分與矢量部分進行實時計算;
(2)確定姿態(tài)矩陣,由四元數(shù)轉換成姿態(tài)矩陣中的幾個元素,如式1:
QT=
(1)
(3)計算人體姿態(tài)角,用這幾個元素轉換為歐拉角,最終求出姿態(tài)角,計算公式為:
(2)
系統(tǒng)采用最簡單有效的KNN分類算法[17-19],利用測量不同特征值之間的距離方法進行分類。KNN分類算法依賴距離判別計算一個點A與其他所有點之間的距離,取出與該點最近的K個點,然后統(tǒng)計這K個點中所屬分類比例最大的,則點A屬于該分類。該系統(tǒng)先進行受試者訓練樣本數(shù)據(jù)的采集,根據(jù)所屬類別判斷訓練樣本數(shù)據(jù)的類別。再將試驗樣本中的待分類樣本與訓練數(shù)據(jù)進行比較,先計算待分類樣本與已知類別的訓練樣本之間的距離,找到距離與待分類樣本數(shù)據(jù)最近的K個鄰居,即選取與當前待分類樣本數(shù)據(jù)距離最小的K個點,統(tǒng)計前K個鄰居中4種類別(坐、躺臥、行走和跑步)的樣本出現(xiàn)的頻率,然后返回最近的K個鄰居的多數(shù)類別作為當前類別的預測分類。
為驗證系統(tǒng)測試的準確性,選取64名實驗者,男性志愿者32名,女性志愿者32名,年齡分布在21~60歲之間。志愿者按年齡段分為四組,分別為20~30歲,30~40歲,40~50歲和50歲以上,其中每組16名志愿者,男性志愿者和女性志愿者各8人。以上志愿者通過問卷的形式確認他們無慢性疾病及心血管疾病。讓實驗者佩戴檢測裝置,讓他們分別完成4種動作:坐、躺臥、行走,跑步。每種行為的持續(xù)時長全部大于4分鐘,數(shù)據(jù)采集完成后,首先提取信號特征,并對這些數(shù)據(jù)信息進行分類,作為訓練樣本集。再記錄志愿者1天,15天,30天的活動情況進行后續(xù)的統(tǒng)計分析。從實驗樣本集中提取一名實驗者(男,26歲)的運動信息進行分析,如表1所示。發(fā)現(xiàn)隨著時間的增加,樣本數(shù)據(jù)量有所增加,測量值與實際值較為接近。
表1 識別結果分析
采用適當?shù)膯柧矸椒ǎ涗?4名志愿者30天的實際運動狀況。把實驗者日常運動狀況和該運動反演系統(tǒng)測試結果進行對比,以評估系統(tǒng)準確性。由表2可知,隨著時間的增加,系統(tǒng)測量相對準確度有所提高,其中靜坐的準確性達到了96.7%,長時間的躺臥的準確性達到了99.97%。而且通過該表發(fā)現(xiàn),男女之間的運動識別準確度差別不是很明顯,說明系統(tǒng)對性別沒有十分嚴格的要求,同一種運動情況,每個年齡段的準確度存在一定的差別,但誤差小于1%,關于這個原因,還有待進一步研究。故該系統(tǒng)的總體精度較高,具有很大的可實施性,評估結果可以代表該實驗者的運動習慣,并且可以根據(jù)對受試者的運動習慣分析反演出人體行為方式。
表2 識別結果準確性對比 %
文中設計了基于MEMS慣性傳感器便攜式人體運動反演系統(tǒng),集成了高性能ARM4和低功耗的STM32L4xx器件,并結合MEMS慣性傳感器芯片MPU9250,具有測量準確、功耗低的特點。對系統(tǒng)所用的硬件系統(tǒng)和人體運動識別檢測算法進行了系統(tǒng)分析和驗證,并在實驗中對比了男女性別、年齡因素對系統(tǒng)的差異。該系統(tǒng)為人體運動識別提供了技術基礎,實現(xiàn)了對人體行為方式的反演和評估,使用戶通過可穿戴式智能設備更加全面、及時、專業(yè)地感知自身運動狀況成為可能。最后,系統(tǒng)將進一步改進算法,構建運動方式與能量代謝當量的關系模型,實現(xiàn)對用戶動態(tài)能量消耗的檢測。