董梁,屈云
1. 華南師范大學(xué) 數(shù)據(jù)科學(xué)與工程學(xué)院,廣東 汕尾 516600;2. 四川大學(xué)華西醫(yī)院 康復(fù)醫(yī)學(xué)科,四川 成都 610041;3. 四川大學(xué) 華西康復(fù)醫(yī)學(xué)院,四川 成都 610041 ;4. 四川省康復(fù)醫(yī)學(xué)重點(diǎn)實(shí)驗(yàn)室,四川 成都 610041
人類個(gè)體的日常運(yùn)動(dòng)能力直接反映了其健康狀態(tài)和生活質(zhì)量,運(yùn)動(dòng)能力的量化表達(dá)既可以作為身體狀態(tài)和疾病嚴(yán)重程度的衡量指標(biāo),也可以作為某些醫(yī)學(xué)介入手段的評(píng)價(jià)標(biāo)準(zhǔn)[1-4]。在康復(fù)醫(yī)學(xué)里,日常運(yùn)動(dòng)能力可以通過(guò)多個(gè)量表進(jìn)行人工評(píng)定,但這些量表里的很多內(nèi)容都是定性分類,不同選項(xiàng)之間差距模糊,被評(píng)估者的現(xiàn)場(chǎng)表現(xiàn)和康復(fù)醫(yī)生的主觀觀感都會(huì)導(dǎo)致分類誤差。如果被評(píng)估者可以通過(guò)設(shè)備進(jìn)行長(zhǎng)時(shí)間運(yùn)動(dòng)捕獲形成統(tǒng)計(jì)數(shù)據(jù),再由康復(fù)醫(yī)生根據(jù)統(tǒng)計(jì)值進(jìn)行評(píng)定,其結(jié)果對(duì)于康復(fù)醫(yī)學(xué)的發(fā)展、介入治療效果的評(píng)估具有重大意義[5-8]。
基于設(shè)備的人體運(yùn)動(dòng)捕獲始于20世紀(jì)70年代。Johansson[9-10]使用光學(xué)攝像設(shè)備和反射標(biāo)記物對(duì)人體運(yùn)動(dòng)進(jìn)行分析。在此之后,基于光學(xué)和非光學(xué)的人體運(yùn)動(dòng)捕獲與分析技術(shù)飛速進(jìn)展。目前,已經(jīng)有大量商業(yè)化用途的運(yùn)動(dòng)捕獲設(shè)備出現(xiàn)[11-14]。其中,由磁力計(jì)與慣性傳感器相結(jié)合的6軸、9軸微機(jī)電系統(tǒng)(Micro-Electro-Mechanical System,MEMS)以其便攜性和價(jià)格優(yōu)勢(shì)在近二十年里得到了廣泛的應(yīng)用[15-18]。
本文所探討的運(yùn)動(dòng)捕獲對(duì)象是位于普通居家環(huán)境的自由行動(dòng)個(gè)體,考慮到居家場(chǎng)景中背景復(fù)雜且不可控,同時(shí)也會(huì)出現(xiàn)照明不足,跟蹤對(duì)象被墻壁、家具遮擋的情況,光學(xué)跟蹤設(shè)備難以發(fā)揮作用。因此在本項(xiàng)目里,我們研發(fā)了一種基于磁力計(jì)和慣性傳感器的MEMS設(shè)備和動(dòng)作捕獲算法來(lái)實(shí)現(xiàn)自由運(yùn)動(dòng)居家康復(fù)患者的運(yùn)動(dòng)捕獲。
本文所述穿戴式傳感設(shè)備的核心組件是四川大學(xué)華西醫(yī)院康復(fù)科和百年旭康醫(yī)療器械有限公司共同研發(fā)的YD122型號(hào)傳感器[19],這是一種MEMS傳感器。每個(gè)傳感器集成有9軸MPU9250芯片,可以測(cè)量3個(gè)軸向的加速度、角速度和磁場(chǎng)強(qiáng)度,傳感器內(nèi)部的STM32微處理器將測(cè)量的加速度、角速度和磁力值濾波后轉(zhuǎn)變?yōu)楸碚鳟?dāng)前姿態(tài)的四元素或歐拉角。此外,YD122主傳感器自帶電池與藍(lán)牙模塊,可單獨(dú)使用,也可與一個(gè)YD122從傳感器級(jí)聯(lián)使用。使用時(shí),單個(gè)主傳感器通過(guò)綁帶固定于受試者胸口處,4套主+從傳感器分別綁定于左右大腿外側(cè)、左右小腿外側(cè)、左右上臂外側(cè)和左右前臂外側(cè),共9個(gè),見(jiàn)圖1。
圖1 穿戴式傳感器的佩戴位置
除傳感器外,設(shè)備還包含一個(gè)通用型移動(dòng)終端,用于獲取9個(gè)傳感器的數(shù)據(jù)并重建運(yùn)動(dòng)狀態(tài)。在本項(xiàng)目的實(shí)際部署中,我們選用華為榮耀9X Pro手機(jī)作為移動(dòng)終端。
人體的姿態(tài)變化可以分解為軀干、頭部、四肢的滾轉(zhuǎn)角、航向角和俯仰角變化。佩戴傳感設(shè)備后,傳感器與人體運(yùn)動(dòng)同步,所量測(cè)到的磁場(chǎng)、加速度、角速度變化可用于重建運(yùn)動(dòng)狀態(tài)。在本實(shí)驗(yàn)里,主要跟蹤受試者軀干、四肢大關(guān)節(jié)兩側(cè)肢體的運(yùn)動(dòng)(通常在關(guān)節(jié)兩側(cè)的肢體會(huì)有明顯的運(yùn)動(dòng)模式差異),而忽略頭部、四肢末端的運(yùn)動(dòng)。此外,軀干部分也假設(shè)為一個(gè)整體,不考慮脊柱的屈伸變化。
在多傳感器數(shù)據(jù)融合的運(yùn)動(dòng)捕獲算法里,傳感器的佩戴位置對(duì)算法設(shè)計(jì)有很大影響。前臂和上臂可以在3個(gè)自由度里自由變化,且速度較快,方向無(wú)法預(yù)測(cè);大腿和小腿的運(yùn)動(dòng)主要是屈伸方向和朝向的變化,向兩側(cè)的偏轉(zhuǎn)(滾轉(zhuǎn))較少出現(xiàn)且幅度較小;軀干部分則是以平動(dòng)為主,大幅度的前傾、后仰、側(cè)向彎曲較少出現(xiàn),且動(dòng)作較慢。這里以放置于大腿部位的傳感器為例介紹本設(shè)備中所實(shí)施的動(dòng)作捕獲算法。
大腿部位的傳感器佩戴于身體側(cè)向平面,見(jiàn)圖2。啟動(dòng)時(shí),測(cè)量x、y、z軸三個(gè)方向的加速度、角速度和磁力,其中z方向?yàn)榇怪奔埫嫦蛲?。髖關(guān)節(jié)所允許的大腿運(yùn)動(dòng)方向包括屈伸方向(俯仰角)和外展/內(nèi)收方向(滾轉(zhuǎn)角)。此外,由于人體朝向可任意變化,大腿的航向角也會(huì)隨時(shí)變化。在這三個(gè)角度里,航向角可以在大腿伸直狀況下由y軸磁力計(jì)直接讀取,無(wú)需濾波計(jì)算。對(duì)于導(dǎo)致滾轉(zhuǎn)角變化的外展/內(nèi)收方向的運(yùn)動(dòng),康復(fù)醫(yī)生提出此類動(dòng)作的幅度較小,且速度很慢,無(wú)需特別跟蹤。在本研究的算法里通過(guò)重力在y軸的分量進(jìn)行三角運(yùn)算得出。大腿最主要的運(yùn)動(dòng)是屈伸,屈伸將導(dǎo)致俯仰角發(fā)生的變化,我們采用卡爾曼濾波對(duì)其進(jìn)行計(jì)算。
圖2 大腿處傳感器的坐標(biāo)軸方向與參數(shù)定義
如圖2所示,大腿的屈伸角θ定義為y軸與重力反方向的夾角,大腿的擺動(dòng)速度(角速度)為v=dθ/dt。圖2中c表示水平方向加速度,a表示豎直方向加速度,θ、v、a、c都作為卡爾曼濾波跟蹤的變量??紤]到大腿的擺動(dòng)速度較慢,傳感器采樣率為25 Hz,在采樣間隔內(nèi),角速度的變化很小(變化值可通過(guò)系統(tǒng)噪聲模擬),因此濾波器使用常角速度模型進(jìn)行推演。狀態(tài)更新方程如式(1)所示。
其中,下標(biāo)表示k時(shí)刻和k-1時(shí)刻,ts為采樣間隔,wθ、wv、wa和wc分別為各個(gè)狀態(tài)變量的系統(tǒng)噪聲。可以假設(shè)它們?yōu)楠?dú)立0均值高斯噪聲,其分布函數(shù)如式(2)所示。
其中,Q計(jì)算方法如式(3)所示。
Qθ、Qv、Qa和Qc是各個(gè)狀態(tài)變量的方差。傳感器的測(cè)量值為x軸方向加速度d和y軸方向加速度b,觀測(cè)值和狀態(tài)變量的關(guān)系(觀測(cè)方程)見(jiàn)式(4)。
其中,wd和wb是觀測(cè)噪聲,r是髖關(guān)節(jié)到傳感器之間的距離。同樣假設(shè)觀測(cè)噪聲是獨(dú)立0均值的高斯噪聲,見(jiàn)式(5)。
局部線性化按式(8)進(jìn)行。
其中,和是dk和bk的估計(jì)值,、、、分別是θk、vk、ak、ck的估計(jì)值。獲取狀態(tài)變量后驗(yàn)預(yù)測(cè)值后,按式(9)更新?tīng)顟B(tài)變量估計(jì)值的協(xié)方差矩陣。
以上步驟是卡爾曼濾波的遞歸推導(dǎo)[20]。在實(shí)際使用時(shí),需預(yù)估狀態(tài)變量、系統(tǒng)噪聲、觀測(cè)噪聲和協(xié)方差矩陣(初始化參數(shù)設(shè)置及遞歸計(jì)算實(shí)例可參閱[21])。以k-1時(shí)刻為例,根據(jù)狀態(tài)方程對(duì)k時(shí)刻的先驗(yàn)預(yù)測(cè)如式(10)所示,等式右側(cè)帶有波浪線的參數(shù)為k-1時(shí)刻的濾波估計(jì)值,下標(biāo)(k|k-1)表示從k-1到k時(shí)刻的單步預(yù)測(cè)。
同時(shí)對(duì)協(xié)方差矩陣進(jìn)行單步預(yù)測(cè),如式(11)所示:
卡爾曼增益由多個(gè)協(xié)方差矩陣和經(jīng)局部線性化處理的觀測(cè)函數(shù)導(dǎo)出,如式(13)所示。
如式(14)所示,k時(shí)刻狀態(tài)變量的估計(jì)值由兩部分估測(cè)值經(jīng)卡爾曼增益加權(quán)后得出。
最后,對(duì)狀態(tài)變量估計(jì)值的協(xié)方差矩陣進(jìn)行更新,為k+1時(shí)刻的濾波做準(zhǔn)備,見(jiàn)式(15)。
以上是對(duì)大腿俯仰角跟蹤的算法,此算法同樣適用于運(yùn)動(dòng)模式類似的小腿。根據(jù)康復(fù)醫(yī)師的建議,軀干部位的俯仰運(yùn)動(dòng)和滾轉(zhuǎn)運(yùn)動(dòng)幅度較小,且變化較慢,系統(tǒng)根據(jù)重力分量在各個(gè)軸上的分量經(jīng)三角運(yùn)算獲得,軀干的方位角也由磁力計(jì)分量的三角運(yùn)算獲取。前臂和上臂的動(dòng)作較為復(fù)雜,設(shè)備中使用了與上面類似的卡爾曼濾波進(jìn)行跟蹤,原理相同,但狀態(tài)更新方程和觀測(cè)方程里的變量和矩陣的維度都大幅增加。跟蹤算法中所采用的卡爾曼濾波是一種無(wú)系統(tǒng)延遲的濾波算法,在k時(shí)刻獲得新的測(cè)量值后即可獲取當(dāng)前狀態(tài)參數(shù)的濾波值,對(duì)于目前運(yùn)算能力較為強(qiáng)大的微處理器,數(shù)據(jù)濾波可在一個(gè)采樣間隔內(nèi)完成。
本設(shè)備的移動(dòng)終端是一個(gè)運(yùn)行運(yùn)動(dòng)重建APP的載體,此APP通過(guò)藍(lán)牙與5個(gè)主傳感器連接并接收數(shù)據(jù)。對(duì)于圖1中胸部位置單獨(dú)工作的主傳感器,在40 ms的采樣間隔內(nèi)完成數(shù)據(jù)采集、濾波和發(fā)送;對(duì)于主從連接的傳感器組合,兩個(gè)傳感器同步采樣運(yùn)動(dòng)數(shù)據(jù),在40 ms內(nèi)進(jìn)行濾波和發(fā)送。APP的數(shù)據(jù)讀取頻率與傳感器采樣率同為25 Hz,每隔40 ms從藍(lán)牙接收緩沖里讀取最新數(shù)據(jù),如未收到某一(組)傳感器的最新數(shù)據(jù),則以40 ms前的數(shù)據(jù)作為當(dāng)前值,在此工作模式下,APP數(shù)據(jù)讀取的最大延遲為80 ms。
隨后APP通過(guò)3D模型實(shí)現(xiàn)動(dòng)作重建與可視化,重建的過(guò)程就是把傳感器輸出的滾轉(zhuǎn)角、航向角和俯仰角與其所對(duì)應(yīng)的模型肢體綁定并驅(qū)動(dòng)模型同步運(yùn)動(dòng)。在任意時(shí)刻,使用者可左右滑動(dòng)模型轉(zhuǎn)換至不同的視角,如圖3所示。使用這種方法,患者的動(dòng)作細(xì)節(jié)還原度很高,方便觀察運(yùn)動(dòng)過(guò)程中關(guān)節(jié)在各個(gè)方向的活動(dòng)度,判斷是否出現(xiàn)異常運(yùn)動(dòng)模式。
圖3 左右滑動(dòng)3D模型后呈現(xiàn)不同視角的身體姿態(tài)
除以3D模型進(jìn)行可視化顯示外,運(yùn)動(dòng)重建APP還將同一關(guān)節(jié)兩側(cè)的傳感器輸出角度融合,計(jì)算出各個(gè)關(guān)節(jié)的實(shí)時(shí)活動(dòng)度,以及一段時(shí)間的平均活動(dòng)度、最大活動(dòng)度等,供康復(fù)醫(yī)生進(jìn)行運(yùn)動(dòng)功能評(píng)估。
本研究設(shè)備交付華西醫(yī)院康復(fù)科進(jìn)行學(xué)科研究??紤]到該設(shè)備是一種監(jiān)控設(shè)備,而非治療或診斷設(shè)備,設(shè)備也不會(huì)對(duì)患者施加輔助運(yùn)動(dòng)效果,病例的選擇主要根據(jù)以下兩點(diǎn):① 患者需具備較好的運(yùn)動(dòng)能力,且在監(jiān)控過(guò)程中進(jìn)行較大幅度的運(yùn)動(dòng);② 患者具備較好的依從性和認(rèn)知能力,可以長(zhǎng)時(shí)間佩戴設(shè)備完成監(jiān)控。病種、藥物治療等因素不作為病例選擇的依據(jù)。根據(jù)以上考慮,本研究選取了3名認(rèn)知能力正常的居家康復(fù)患者進(jìn)行初步實(shí)驗(yàn),3名患者在離院時(shí)上、下肢Brunnstrom分期都在4期以上,具備相似的轉(zhuǎn)移和日常生活能力,且能按照要求完成設(shè)備的穿戴和使用。本系統(tǒng)在患者家中部署完畢后,每位患者在上午、下午分別佩戴傳感器進(jìn)行2 h的運(yùn)動(dòng)捕獲。實(shí)驗(yàn)期間,患者根據(jù)醫(yī)生要求進(jìn)行總計(jì)1 h的康復(fù)訓(xùn)練,其中包含20 min的跑步機(jī)步行訓(xùn)練,其他時(shí)間均可在室內(nèi)自由活動(dòng),實(shí)驗(yàn)為期4周。
為確保實(shí)驗(yàn)的可重復(fù)性,我們選取了相似度高的步行訓(xùn)練進(jìn)行測(cè)試,患者在步行時(shí),跑步機(jī)速度設(shè)置在3 km/h。除佩戴傳感器進(jìn)行監(jiān)控外,也采用以往研究[10]所述的光學(xué)跟蹤方法作為參照,以25 Hz的幀率同步錄制步行視頻,對(duì)所得的視頻逐幀測(cè)量大腿中線與垂直方向的夾角(如圖2中θ所示),形成如圖4虛線所示的俯仰角曲線。同時(shí),按卡爾曼濾波算法得到步行過(guò)程中大腿的俯仰角曲線以實(shí)線繪制于圖4。
圖4 行走過(guò)程中大腿俯仰角曲線
圖4中兩條曲線顯示了相同的變化趨勢(shì),兩種方法所監(jiān)測(cè)到的大腿俯仰角最大值平均偏差為0.063弧度(≈3.6 °)、最小值平均偏差為0.067弧度(≈3.8 °),兩條曲線的角度平均差異為0.072弧度(≈4.1 °)。除以上片段外,在對(duì)3名患者為期4周的步行測(cè)試結(jié)果進(jìn)行統(tǒng)計(jì)后,光學(xué)和卡爾曼濾波兩種算法得到的大腿俯仰角平均差異分別為3.7 °、4.3 °和 4.0 °,平均為 4.0 °。
圖4中TD表示光學(xué)方法和卡爾曼濾波算法在跟蹤肢體到達(dá)某一角度峰值(大腿俯仰角最大處)的時(shí)間差,因?yàn)楣鈱W(xué)方法是實(shí)時(shí)的逐幀測(cè)量,最大延遲僅為40 ms(25 Hz幀率),因此TD可以表征設(shè)備的延遲。本研究中,設(shè)備在數(shù)據(jù)傳輸上的最大延遲為80 ms,而圖4所示TD為320 ms,延遲的增大與濾波算法有關(guān)。文中所述卡爾曼濾波采用了常角速度模型,當(dāng)出現(xiàn)角速度突變時(shí),如此例中大腿的擺速突然增加或降低,角速度值和相應(yīng)協(xié)方差矩陣都需經(jīng)過(guò)幾個(gè)迭代才能匹配當(dāng)前運(yùn)動(dòng),在濾波結(jié)果上表示為滯后一段時(shí)間,這也是導(dǎo)致上面光學(xué)和卡爾曼濾波兩種算法對(duì)同一時(shí)刻角度值的測(cè)量和計(jì)算的差異。在對(duì)3名患者的步行測(cè)試結(jié)果進(jìn)行統(tǒng)計(jì)后,系統(tǒng)的最大延遲為480 ms,平均為297 ms。
康復(fù)醫(yī)生對(duì)設(shè)備的使用評(píng)價(jià)也作為實(shí)驗(yàn)的一部分,由康復(fù)醫(yī)生面對(duì)患者使用此設(shè)備觀察實(shí)際動(dòng)作和移動(dòng)終端所顯示的模型動(dòng)作,評(píng)價(jià)結(jié)論為:① 模型動(dòng)作相對(duì)于患者實(shí)際動(dòng)作的還原度很高,動(dòng)作準(zhǔn)確且連續(xù),可以取代人工監(jiān)控,且不使用攝像頭,不侵犯患者的隱私;② 運(yùn)動(dòng)重建APP所顯示的關(guān)節(jié)活動(dòng)度與手工測(cè)量值在5°以內(nèi),達(dá)到康復(fù)醫(yī)學(xué)對(duì)運(yùn)動(dòng)功能評(píng)定和訓(xùn)練指導(dǎo)的需求;③ 系統(tǒng)延時(shí)在0.5 s以內(nèi),具備良好的實(shí)時(shí)性,突發(fā)事件可迅速響應(yīng),確保了患者院外康復(fù)的安全性。
在本文所提出的運(yùn)動(dòng)捕獲設(shè)備中,本研究采用了定制的穿戴式傳感器和通用型移動(dòng)終端作為硬件,在此基礎(chǔ)上開(kāi)發(fā)了運(yùn)動(dòng)捕獲算法和運(yùn)動(dòng)重建算法。在初期的試驗(yàn)性應(yīng)用里證明了這一設(shè)備可以提供穩(wěn)定準(zhǔn)確的實(shí)時(shí)運(yùn)動(dòng)捕獲結(jié)果,提供有助于康復(fù)醫(yī)生進(jìn)行功能評(píng)定的統(tǒng)計(jì)數(shù)據(jù),是“物聯(lián)網(wǎng)+康復(fù)醫(yī)療”領(lǐng)域一次有意義的嘗試。后期的工作將著重圍繞兩點(diǎn)展開(kāi):① 設(shè)備的網(wǎng)絡(luò)化,目前移動(dòng)終端只能在藍(lán)牙通訊范圍內(nèi)對(duì)目標(biāo)進(jìn)行跟蹤,下一步將開(kāi)發(fā)一套支持多終端的通訊協(xié)議,實(shí)現(xiàn)跟蹤對(duì)象在跨越不同終端覆蓋范圍時(shí)自動(dòng)切換;② 重點(diǎn)是遠(yuǎn)程化,本團(tuán)隊(duì)將設(shè)計(jì)基于云服務(wù)的運(yùn)動(dòng)數(shù)據(jù)存儲(chǔ)中心,開(kāi)發(fā)遠(yuǎn)程客戶端APP,使得康復(fù)醫(yī)生可在遠(yuǎn)程隨時(shí)查看康復(fù)患者的居家運(yùn)動(dòng)狀態(tài)。