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