胡銘軒, 喬 鈞, 張執南
(1. 上海交通大學 機械與動力工程學院, 上海 200240;2. 上海市長寧區精神衛生中心 康復科, 上海 200335)
康復運動訓練可以幫助由于中樞神經損傷病癥引起運動障礙的患者進行神經功能重組,恢復精細動作能力[1-2].當前對于康復訓練的指導,往往通過臨床醫師的直接觀察與輔助來進行.然而我國目前供應康復患者的醫療資源不足[3],智能醫療器械普及度不高,且由于90%以上的康復訓練由患者居家完成[4],許多患者缺乏專業客觀的康復訓練評估與反饋,這直接影響訓練效果和持久性.直觀而及時地評估反饋能夠提高患者的訓練積極性,也能提高訓練效果[5].因此,研究智能評估康復患者訓練動作的方法具有重要的臨床應用價值.
針對康復訓練的動作評估,傳統方式多采用康復運動量表,例如運動功能性篩查[6]和Fugl-Meyer評估[7].這類量表將特定的動作幅度劃分為多個等級,由臨床醫師觀察病人表現并根據量表打分,最后計算多個動作指標得分,得到康復病人運動能力的評估結果.隨著傳感器與體感設備投入應用,以距離度量的方式衡量動作表現水平的研究逐漸增加[8].湯翾等[9]利用Kinect相機對人體關鍵點信息和環境的深度信息進行跟蹤分析,依次使用歐氏距離和模板匹配定位方法來判斷人體動作是否標準;楊文璐等[10]采用動態時間規整(Dynamic Time Warp~ing, DTW)算法來計算Kinect相機所獲得的患者下肢體動作序列信息與動作庫中標準動作序列特征之間的相關度,加入時間參量后綜合得出患者動作評估結果;吳齊云等[11]在使用Kinect相機的基礎上,改進DTW算法,提高運算速率,進行兩組動作序列的角度值匹配,再通過K-means聚類方法對距離進行評估并得到結果.
除了使用距離度量方式進行動作評估,使用概率模型進行動作評估也成為研究熱點.Houmanfar等[12]利用佩戴在人體上的慣性測量傳感器數據,提出基于運動特征和基于隱馬爾科夫模型兩種動作評估方法,分別實現對單項訓練科目的動作評估和多項訓練科目的總體動作評估.Su等[13]利用Kinect相機,采用DTW算法和模糊邏輯完成對康復患者居家訓練的動作評估.Capecci等[14]則提出用隱半馬爾科夫模型對RGBD相機的動作數據進行處理,并通過臨床評估和DTW算法來驗證方法的可靠性.Liao等[15]首次提出采用深度學習框架來進行動作評估,先采用高斯混合模型(Gaussian Mixture Model, GMM)對動作數據進行降維和建模,根據概率模型的似然數據輸出動作的評估分數作為標簽,然后訓練深度學習網絡來評估康復訓練動作.
在以上研究中,傳統人為動作評估方法具有較強的主觀性并且需要大量的康復醫師資源,難以滿足大量的康復訓練需求.利用動作相似性度量方法(如歐氏距離)來進行動作評估的方式采用與傳統方式類似的觀察視角,度量重要運動關節的運動數據變化,獲得區分顯著的動作評估結果.但是這種方法往往要求動作序列具有邊界固定性[10],即只能評估已分割完成的單個動作序列樣本,難以評估連續動作重復樣本.有研究[16-17]采用動作識別的方式檢測康復訓練動作,但通常需要引入深度學習等方式增加運算量,缺乏實用性;基于概率模型的評估方式近年來有較多研究,在對動作的評估中也有研究利用概率模型完成對連續重復動作序列的自動分割.但基于概率模型的動作評估結果對于健康樣本和患者樣本的區分效果有限,無法顯著區分健康人與康復患者的動作評估得分[18].
由此,提出一種對連續康復訓練動作分割與評估的方法.首先,對健康人動作進行概率模型建模和標準動作模板制作;然后,對于康復患者的連續重復運動數據樣本,使用概率模型進行動作分割,將單個運動分割片段分別進行概率模型評估和距離評估;最后,融合兩種方法的評估結果并進行多特征融合動作評估,得到連續康復訓練動作樣本的評估得分.該方法運用醫療領域的先驗知識,利用概率模型對建模后的動作進行分割與評估,結合距離度量手段來提高動作評估模型對正負樣本的區分度,具有良好的實際應用價值.
連續康復訓練動作分割與評估框架如圖1所示.主要步驟為:先根據健康人運動數據建立動作模型,再根據動作模型對康復患者運動進行分割與評估.

圖1 連續康復訓練動作分割與評估框架Fig.1 Framework of continuous rehabilitation exercises segmentation and evaluation
人體運動數據通常是由多個人體關鍵點坐標組成的高維運動向量,用來表征運動時每個人體關鍵點的位置信息,進一步計算能夠得到運動時每一個關節角度的變化信息.為了使常用于描述低維數據的GMM能夠表達人體運動信息,需要對人體運動數據進行特征提取來降低維度.
首先對運動數據進行預處理,利用運動采集儀器得到的動作數據為關節角度值,若以角度為單位,數據區間為[0°, 180°].不同關節角數據變化差異較大,不進行縮放會對后續建模處理帶來計算開銷過大、特征混雜的問題,影響算法收斂速度.因此,需要對運動數據進行歸一化處理.數據預處理具體實施步驟為:先得到整體運動數據的均值、最大值與最小值,將所有數據減去均值使得數據均勻分布在0兩側,以最大值與最小值的差值作為縮放比例,再將所有數據乘以縮放比例即可得到在區間 [-1, 1]的所有數據.
對于預處理后的運動數據,采用主成分分析法對高維人體運動數據進行降維處理,利用正交變換對一系列可能相關的變量觀測值進行線性變換,從而投影為一系列線性不相關變量的值,保留數據中對方差貢獻最大的特征作為動作分析的主要特征.最后,取用具有最大方差的特征數據作為人體運動特征進行后續分析,其方差大小占所有方差總和的97.8%.
GMM是一種常用的聚類算法,能夠用多個正態分布的概率密度函數的線性組合來描述任意維度變量的分布,因此有研究[15]將該模型用于人體動作建模.
將觀測數據表示為x,模型參數表示為θ,則GMM的概率分布模型如下:
(1)

(2)
式中:D為數據維數;μk為樣本均值,維數為2;Σk為樣本的協方差矩陣,維數為2×2.
對于數據樣本序列x=(x1,x2, …,xj),j=1, 2, …,N,由GMM計算似然對數概率值的計算方法如下:
(3)
基于式(3)計算,可以得到每個運動特征點上在GMM中的對數似然概率值,通過求取均值即可得到單次動作序列的平均似然概率值,基于概率模型的動作評估根據此值來生成相應的動作分數.
對于GMM的參數計算,可以使用期望極大(Expectation Maximization, EM)算法來進行迭代求解[19].EM算法的計算主要為兩步,分別為E步與M步.
對于觀測變量數據xj,反映其來自第k個分模型的隱變量記為γjk,k=1, 2, …,K.只有當第j個觀測來自第k個分模型時,γjk值為1,其他情況下γjk的值為0.完全數據(xj,γj1,γj2, …,γjK|θ)的似然函數如下:
(4)
E步構造包含模型參數的Q函數,模型參數為θ=(α,μ,Σ),如下:
Q(θ,θ(i))=E(lnP(x,γ|θ)|x,θ(i))=
(5)

(6)
j=1, 2, …,N;k=1, 2, …,K
M步求使Q(θ,θ(i))極大化的θ,確定第i+1次迭代的參數的估計值θ(i+1),如下:
(7)
初始化θ(0)=(α(0),μ(0),Σ(0)).

(8)
k=1, 2, …,K
重復E步與M步,直到算法收斂,得到GMM的參數.
康復訓練中的動作需要康復患者多次重復以達到鍛煉相應肢體的目的,在運動數據上表現為一連串連續重復動作序列.如果要評估患者的動作,就需要對連續動作進行分割,得到單次動作的運動數據,再進行動作建模以及后續的動作評估.進行連續重復動作序列的分割時,首先需要在已分割的健康人運動數據樣本上基于概率模型進行動作建模,以概率模型的特性建立分割方法,然后應用到健康人與康復患者的運動數據當中.
利用二維GMM對歸一化處理、特征提取后的動作數據進行建模,可以獲得如圖2所示的各高斯模型分布.圖中:Tf為時間幀;Wf為角度特征值;橢圓形區域為各高斯模型的主要分布,數字代表各模型編號.由于經過EM算法的迭代,原本有序的編號重新排列.其中高斯模型數量根據各高斯模型能否均勻完整覆蓋所有特征數據進行設定,同時也需要根據后續動作分割效果進行調整,在本文中,高斯模型數量設定為5,在該數量下各高斯模型能較好地描述所有特征數據的分布且能獲得較好的動作分割效果.

圖2 運動特征點在高斯混合模型上的分布Fig.2 Distribution of motion feature points on a Gaussian mixture model
文獻[18]利用自左向右的隱馬爾科夫模型完成對連續重復動作的動作分割,其隱馬爾科夫模型中由狀態序列到觀測序列的觀測概率矩陣為二維GMM,每一個高斯模型視為隱馬爾科夫模型的一個狀態.由此,將動作模型劃分為多個狀態進行動作分割,各狀態對應的就是GMM中的各高斯模型.一次完整的動作周期數據是按序遍歷各高斯模型后得到的,故可以通過檢測運動數據中所遍歷的高斯模型順序來判斷當前運動數據的時間切片是否符合概率模型分布,若符合則保留分布相符合的部分作為一次動作的區間,即完成一次動作分割,省去額外的概率計算步驟.
為降低運算量與避免使用滑動窗口,采用基于特征的匹配隊列方法[18]進行動作分割.對于連續重復運動,其單次動作周期常出現在導數為0處,表明人體在此刻到達動作的末端,即將開始下一段動作.因此可以選取運動曲線中的極值點作為待分割區域的起點與終點.為避免匹配隊列中各匹配點過于集中以及數據噪聲的影響,需要優化匹配隊列.將幅值較小的極值點進行過濾,同時對兩個0交叉點中存在多個極值點的情況進行取均值處理,保證在相鄰0交叉點之間只有一個極值點.若直接使用所有的極值點輸入特征匹配隊列,則會出現錯誤分割動作區間的情況.如圖3所示,左側曲線上的空心圓代表特征匹配隊列中的預備分割點,背景中矩形框代表動作分割的各個區間,矩形框左下角的編號代表重復動作編號,匹配隊列中的每一分段都將由GMM計算狀態序列.由圖3可知,未進行優化的特征匹配隊列會產生異常分割點和較近距離內多個分割點.對異常分割點所形成的動作區間進行動作分割判斷時,會由于部分數據分布特征相似而產生動作分割錯誤的情況,同時也會產生單次動作區間截斷的問題,而較近距離內的多個分割點則會導致冗余運算與錯誤分割.因此,優化特征匹配隊列能夠避免異常分割點和重復分割點的出現,提高動作分割的正確率.對連續重復動作的最終分割結果如圖4所示.

圖3 特征匹配隊列優化對動作分割的影響Fig.3 Impact of feature matching queue optimization on motion segmentation

圖4 連續重復動作序列的動作分割Fig.4 Motion segmentation for continuous repetitive motion sequences
動作評估的相關算法主要分為距離度量和概率模型評估.距離度量是通過測量并計算特定動作運動指標來評估動作的標準程度,例如深蹲動作中的膝關節角度;概率模型評估則是先提取全身運動特征,對降維后的運動數據用概率模型描述,計算每個運動特征點的概率,以此評判動作的好壞.
以上兩種方法對于連續重復動作序列的動作評估均有不足,距離度量需要所對比的動作序列具有相同的起點與終點,概率模型評估則容易得出正負樣本評估分數相近的結果.但由于概率模型可以對連續重復動作序列進行動作分割,所以本文在動作分割的基礎上融合概率模型動作評估與動作相似性距離度量,建立多特征融合動作評估方法,既彌補概率模型動作評估區分度不高的缺陷,又滿足動作相似性度量對單次動作分割的需求.
在所有健康樣本中,可以根據醫學方面的先驗知識手工制作或者挑選顯著運動特征.例如,在深蹲動作中,可以直接挑選膝關節與髖關節的角度變化信息作為顯著運動特征,因為這兩個關節是參與運動的主要關節,直接關系到運動質量與準確度;也可以根據相關醫學量表,制作運動特征,例如骨盆前傾、高低肩、脊柱傾斜等.
采用運動關節的角度變化作為顯著運動特征時,對所有健康樣本中該關節的運動數據求取均值,得到標準運動角度變化曲線;制作多個標準曲線,得到標準動作模板.選取深蹲動作中兩個具有顯著正負樣本區別的角度特征,進行數據縮放后制作標準動作模板,則同一動作下不同樣本與標準動作模板的比較如圖5所示.

圖5 健康樣本、患者樣本與動作模板的兩個顯著特征比較Fig.5 Comparison of two significant features between healthy samples, patient samples and motion templates
可以利用度量時間序列相似性的DTW算法來計算同一動作下不同樣本與標準動作模板的相似性,Hoda等[20]已通過臨床實驗驗證了該算法在康復評估中的有效性.DTW算法[11]是一種用來衡量兩個時間序列數據相似度的方法,可用于模板匹配,例如孤立詞語音識別、手勢識別等.對于兩個形貌相似的時間序列數據,它們在時間軸上可能未對齊,因此需要在計算兩者相似度時,將其中一個或者兩個序列的時間軸進行延伸和縮短,來達到映射對齊的要求,如果兩個序列的點相互正確對應,則兩者之間的歐氏距離就會達到最小.
DTW算法的核心為動態規劃,令動作模板的時間序列數據為
A=(a1,a2, …,ay),y=1, 2, …,U1
測試動作的時間序列數據為
B=(b1,b2, …,bz),z=1, 2, …,U2
U1與U2分別為模板動作和測試動作的時間序列長度.令D(y,z)為點ay與bz之間的DTW距離,DTW算法的狀態轉移方程如下:
D(y,z)=d(ay,bz)+min{D(y-1,z),
D(y,z-1),D(y-1,z-1)}
(9)
式中:d(ay,bz)為點ay與bz之間的歐氏距離.根據動態規劃的思路,從D(1, 1)開始,通過迭代中每一步選擇局部最優值,計算到D(U1,U2)時便能得到全局最優解,只要在獲得最優解后逆向遍歷就能找出其所對應的DTW路徑,如圖6所示.圖中:W為時間序列數據的值.

圖6 DTW算法 Fig.6 DTW algorithm
由于模板是通過健康樣本生成的,所以計算健康樣本與模板動作的DTW距離時,得到的結果基本都會維持在一個較低且集中的距離范圍內;而患者樣本在顯著運動特征方面數據差異較大,與模板動作相似度低,兩者之間的DTW距離較遠,且DTW距離分布也較為離散.
多特征融合動作評估先使用數據降維方法處理運動數據,再利用GMM對降維后的運動數據進行動作建模.由于所建立的概率模型對動作只有整體性描述,缺少類似康復量表等具體運動指標的局部性描述,所以重新從原始運動數據中提取顯著運動特征,建立動作模板并進行動作評估,將概率模型與顯著運動特征的評估結果融合,給出最終的動作評估分數.多特征融合動作評估的計算方法如下:
Gf=βGg+(1-β)Gd
(10)
式中:Gf、Gg、Gd分別為多特征融合評估、GMM似然評估以及顯著運動特征DTW距離評估的分數,且均通過放縮手段統一到相同數據區間;β為評估分數的融合系數,取值為0.5,可根據具體健康人與康復患者動作分數分布特點進行調整.
多特征融合動作評估方法流程圖如圖7所示.

圖7 多特征融合動作評估方法流程圖Fig.7 Flow chart of multi-feature fusion motion evaluation method
為驗證多特征融合的康復訓練動作評估方法的有效性,采用UI-PRMD數據集[21],該數據集包含來自10個實驗對象的人體運動數據,其中有10個動作類別(深蹲、跨欄步、內聯弓步等),每個動作類別由實驗對象產生正確樣本和不正確樣本,不正確樣本用來模擬康復患者的動作,表現出一些動作的運動障礙.采用Vicon光學追蹤系統和Kinect傳感器采集數據,其中每種方式采集的數據包含人體關鍵點的角度數據和位置數據.除以上特點外,數據集預先完成所有動作的時間序列數據分割,每個實驗對象的每個動作都有單次重復動作的運動數據,方便研究者進行人體動作研究.
以深蹲動作為研究對象,對健康樣本分割數據集進行GMM建模后,對數據集中未進行動作分割的連續重復動作序列進行動作分割,部分健康樣本與患者樣本的動作分割結果如所圖8所示.圖中:Wr為實際關節角度值;不同底色的矩形區域為分割得到的單次重復動作區間.

圖8 深蹲動作樣本進行分割的部分結果Fig.8 Partial results of segmentation of deep squat movement sample
所有健康樣本與患者樣本的動作分割結果中正確與錯誤數量如表1所示.統計結果表明,基于GMM模型的動作分割在數據集上表現出色,對健康樣本的識別率達到97%,對患者樣本的識別率達到94%.由分析分割結果可以看出,該分割方法對動作序列中連續有規律的動作分割較準確,對首尾兩端的動作以及運動間隔時間較長的動作分割存在一定困難.

表1 連續重復動作序列分割結果
為表征多種評估方法的評估效果,采用文獻[15]中的數據縮放方式和分離度(Separation Degree,SD)評價指標,計算健康人群與康復患者之間動作評估結果的區分度.
該數據縮放方式將數據縮放到區間[1,20],該取值范圍為經驗取值[15],對于健康樣本h=(h1,h2, …,hl)與患者樣本p=(p1,p2, …,pl),l=1, 2, …,L,具體數據放縮的計算公式為
(11)


(12)
在相同深蹲動作數據[21]上將多特征融合評估方法與各評估方法進行對比,得到如表2所示的對比結果.首先用各方法對所有實驗對象的數據建立一個泛化的評估模型,利用該模型得出每個動作樣本的評估得分,在不同實驗對象之間比較評估得分的分離度.其次,由于數據集是通過健康人模擬康復患者表現來得到患者數據樣本,故可以通過對同一個實驗對象單獨建立特化的評估模型,來提高各方法在所有降維數據上的分離度.由表2的對比結果可以看出,本文多特征融合評估方法在泛化動作模型和特化動作模型兩方面均優于現有評估方法結果,其中泛化動作模型方面提高較大,相較原先較好的GMM似然評估方法提高19%.

表2 不同評估方法對于同一動作樣本的分離度對比
根據文獻[15]中所使用的換算公式,將人體運動數據從GMM似然估計得分、顯著運動特征估計得分以及多特征融合評估得分轉化為[0,1]之間的分數值,對于健康樣本h=(h1,h2, …,hl)與患者樣本p=(p1,p2, …,pl),l=1, 2, …,L,換算公式為
(13)
式中:μ為健康樣本均值;δ為健康樣本方差;α1與α2為兩個經驗參數,分別取3.2和10,可根據具體數據特點調整.
根據式(13)計算結果進行運動評估分數繪圖,得到如圖9所示的數據分布箱圖與各評估方法分數圖.圖中:G為動作評分;R為重復動作編號,表示同一動作的重復執行次數.在各評估方法運動得分的子圖中,可以看出在GMM似然評估中,患者樣本與健康樣本評分分布距離不大,但一些病患樣本表現出與健康樣本相同的分數;在顯著運動特征評估中,患者樣本評分主要分布區間與健康樣本評分距離較大,但同時也出現患者樣本評分數據離散程度過大、部分患者樣本評分結果高于健康樣本的異常數據結果;在多特征融合評估中,健康樣本評分基本保持較為集中且得分較高的分布,病患樣本評分離散分布,得分基本低于健康樣本,與健康樣本較少或幾乎不重疊.圖9表明GMM似然評估下健康樣本與患者樣本分布距離較近,顯著特征DTW距離評估下則有較大的正負樣本分布距離,但同時存在患者樣本異常評分的問題.多特征融合評估方法結合前兩種評估方法,增大了正負樣本的分布距離,減少了異常動作評分的出現.

圖9 不同評估方法對同一動作的評估打分結果Fig.9 Evaluation scoring results of the same motion by different evaluation methods
以圖9中箱圖各數據的上下四分位點作為評估分數的主要分布區間,如表3所示,在健康樣本運動評估分數分布相近的情況下,多特征融合評估患者樣本的主要分布區間為[0.817, 0.892],均值為0.851,均優于GMM似然評估方法的分布區間與均值.

表3 不同評估方法對于同一動作的不同實驗對象評估分數主要分布區間和均值
由此得出,多特征融合評估在增大健康樣本與患者樣本運動質量分數分布距離的同時,也優化了健康樣本和患者樣本各自動作評分的分布特點,減少了顯著運動特征評估患者樣本分布中的患者樣本異常評分數量.
采用UI-PRMD數據集中Vicon光學追蹤系統采集的人體深蹲動作數據,對一組連續運動進行動作分割后,分別進行GMM似然評估、顯著運動特征的DTW距離評估以及多特征融合動作評估.
動作樣本分割效果如圖10所示,圖中灰色實線為樣本的運動數據,不同顏色的矩形區域為分割出來的單次運動區間,矩形框左下角的數字為單次運動區間的序號,可以看出健康樣本和患者樣本都有較為清晰完整的動作分割結果,原數據中的噪聲與誤差對于特征提取后的動作分割影響有限.

圖10 深蹲動作連續重復序列的分割結果Fig.10 Segmentation results for sequential repetition sequences of deep squat movements
采用3種評估方法對分割完成的數據進行動作評分,得到如圖11所示的評分圖.可以看出,在GMM似然評估與顯著特征DTW距離評估中都存在個別患者樣本動作分數高于健康樣本的不合理情況,例如圖11(a)中重復動作編號為1、8的動作和圖11(b)中重復動作編號為6的動作.圖10的原始動作數據顯示,患者樣本編號為1、8的動作明顯差于健康樣本,樣本編號為6的患者其動作與健康樣本相似,在數據細節上差別較小.在多特征融合動作評估結果中,該不合理的數據分布情況得到有效改善,健康樣本的得分基本高于患者樣本,編號為6的動作由于健康樣本與患者樣本的實際運動數據相似而評估分數相近,表明多特征融合動作評估方法能夠減少單一評估方法導致的異常評估分數,使得健康樣本動作分數基本高于患者樣本,讓兩者的得分呈現較為合理的分布.

圖11 3種連續重復動作評估結果比較Fig.11 Results of three continuous repetitive motion evaluation methods
提出基于GMM的動作分割方法,在單次動作過程中建立多個狀態以及運動數據在狀態之間的變化對連續重復的動作序列進行分割,分割結果顯示該方法在健康樣本中正確率為97%,在康復患者樣本中正確率為94%,正確率均較高.針對動作分割所得到的單次動作數據,提出結合顯著運動特征DTW距離評估與GMM似然評估的多特征融合動作評估方法,從康復訓練動作的整體動作與局部關節信息兩方面進行動作評估.將本文方法在數據集UI-PRMD上進行實驗,與其他動作評估方法進行對比分析,得到以下結論:
(1) 在動作分割的基礎上進行動作評估, 能夠滿足動作相似性距離度量方法對邊界固定性的需求, 無需測試對象刻意進行單次動作或人工手動分割運動數據, 有效實現對連續重復動作序列的動作評估, 使之具備在居家治療等場景下應用的潛力.
(2) 通過融合顯著特征DTW距離評估和概率模型似然評估結果, 有效提高單一概率模型動作評估對健康樣本與患者樣本的區分程度.對于不同實驗對象, 正負樣本的分離度為0.425, 較GMM似然評估方法提升19%;對于同一實驗對象的不同表現, 正負樣本的分離度為0.609, 同樣優于GMM似然評估方法的結果.
(3) 多特征融合動作評估方法使得健康樣本動作分數主要分布在0.930~0.944的得分區間, 均值為0.937;患者樣本動作分數主要分布在0.817~0.892的得分區間, 均值為0.851.統計特征均優于GMM似然評估方法, 表明多特征融合動作評估方法在動作運動質量打分方面具有更好的表現.