袁 緒 阮士峰 孟瑤瑤 吳明齡
(安陽工學院飛行學院,河南 安陽 455000)
傳統(tǒng)的康復訓練由患者與康復醫(yī)生一對一進行,不僅會耗費大量時間,還因枯燥乏味,使患者容易對康復訓練失去興趣,導致患者難以實現康復。傳統(tǒng)的康復訓練還會給患者家庭帶來比較大的經濟負擔,此外,醫(yī)療康復資源也相對匱乏[1]。針對這些問題,相關人員研發(fā)出多種康復動作評估系統(tǒng)。楊文璐等[2]通過Kinect2.0 體感設備來采集患者的康復動作序列信息,并提取相關特征值,再與標準動作進行對比,能準確計算出患者在康復訓練中的動作準確度,但測量結果因遮擋而存在誤差,且因康復訓練過程比較枯燥,導致患者興趣不高,患者很難堅持下去。韓志峰等[3]利用Kinect骨骼跟蹤技術,結合Unity3D 技術,成功研發(fā)出一款3D 康復游戲系統(tǒng)。該系統(tǒng)是利用Kinect 來設計患者康復動作的引導軌跡,使患者在玩游戲的同時,進行康復訓練。但該系統(tǒng)的康復訓練項目較為單一,且在評估方面還存在不足。為滿足患者需求,本研究設計出一款易于讓患者接受,且易于上手的康復游戲。采用Kinect 和Unity3D 技術,改變以往游戲的單一性,體現人機互動的多元化,能有效避免因遮擋問題而導致的誤差,增加了趣味性,讓患者更容易堅持康復訓練。
為完成患者康復這一目標,從而制定出針對患者康復訓練的評估方案,通過該方案來制定患者所需的康復動作。在設計康復動作時,參照康復醫(yī)學的評測標準,見表1[4]。根據表1 中的評定范圍來確定患者在玩游戲時所做動作的判定標準。
表1 關節(jié)活動度的評定
人體姿態(tài)檢測的本質是檢測人體骨骼關鍵節(jié)點的具體位置,即通過骨骼關鍵節(jié)點的具體位置來展示人體姿態(tài)[5-6]。人體骨骼關鍵節(jié)點因數據集的不同而有不同的定義,本研究使用24 個骨骼關鍵節(jié)點,如圖1所示。
圖1 人體骨骼節(jié)點
以骨骼關節(jié)點的角度為一個具體的評估指標,對關節(jié)點角度進行計算,使用Kinect-V2 算法[7-9]將深度圖像上的像素點轉化為三維空間中的點,見式(1)。
式中:(X,Y,Z)為空間坐標;(dx,dy)為深度圖像上的坐標;d為對應的深度值;Kfx、Kfy、Kcx、Kcy分別為相機內參矩陣中的參數。
經過計算,得到骨骼節(jié)點的位置信息,將骨骼位置信息轉化為關節(jié)坐標系中的坐標值,見式(2)。
式中:(xj0,yj0,zj0)為關節(jié)坐標系中的原點坐標;Xj、Yj、Zj為骨骼節(jié)點在三維坐標中的坐標值。最終得到的(xj,yj,zj)即為關節(jié)的三維坐標點。
在得到關節(jié)坐標系中的坐標值后,還要將其轉化為Kinect坐標系中的坐標值,見式(3)。
式中:(Xk,Yk,Zk)為Kinect坐標系中的坐標值;(xj,yj,zj)為關節(jié)的三維坐標點;Rij為旋轉矩陣;tx、ty、tz為平移向量。上述參數可通過Kinect-V2 相機標定獲得。
將Kinect 坐標系中的坐標值轉化為彩色圖像中的坐標值,見式(4)。
式中:(Xk,Yk,Zk)為Kinect 坐標系中的坐標值;(u,v) 為彩色圖像上的像素坐標點;Kfx、Kfy、Kcx、Kcy分別為相機內參矩陣中的參數。
接下來計算關節(jié)角度,以人體右肘關節(jié)角度為例,見式(5)。
式中:velbow為右手肘向量;vs?oulder為右肩膀向量;vwrist為右手腕向量。
這樣就能得到所需的關節(jié)角度,并判斷所作康復動作是否標準。通過對比標準動作來給出一個反饋評估,結果如圖2所示。
圖2 骨骼節(jié)點評價反饋
由于使用單個Kinect 來識別復雜動作時會出現關節(jié)點遮蔽現象,要對所做的動作進行實時檢測,并反饋消息。對個人來說,該系統(tǒng)更加繁瑣,不利于推廣??祻陀柧氈械膭幼餍枰颊叻磸瓦M行,且每個人有不同的標準,無法總結出一個很好的評估標準體系。所以,設計出基于Kinect 和Unity3D的體感游戲來解決復雜動作關節(jié)點遮蔽問題,并在游戲中使患者能進行大量的反復訓練,使用體感游戲得分來對康復動作進行評估。
體感游戲康復訓練流程如圖3所示。
圖3 體感康復訓練流程
玩家站在系統(tǒng)攝像頭前方,通過手勢來操控游戲。玩家左手向右揮手表示屏幕上的項目向右滑動,玩家右手向左揮手表示屏幕上的項目向左滑動,玩家握拳表示選擇,玩家左手臂向上伸直表示向左變道,玩家右手臂向上伸直表示向右變道,玩家雙臂向上伸直表示向上跳躍?;颊咴谕嬗螒蜻^程中,根據系統(tǒng)設置的游戲人物,患者需要做出相應動作,從而完成游戲任務。若正確,則加一分,若錯誤,則記錄錯誤一次。錯誤累計五次,則闖關失敗。正確分值達到60,則闖關成功。體感訓練系統(tǒng)界面如圖4所示。
圖4 體感訓練系統(tǒng)界面
該游戲可分為點評模塊、闖關模塊。點評模塊可分為得分模塊、誤差模塊、解析模塊,闖關模塊可分為初級模塊、中級模塊、高級模塊。得分模塊對患者做出的動作與標準數據庫中的動作進行對比,從而給出患者所做動作的得分。誤差模塊會在患者做完動作,系統(tǒng)給出患者所做動作的得分后,與標準數據庫中的動作進行對比,給出誤差分析情況。解析模塊是在患者做完動作后,將患者所做動作與標準數據庫動作進行對比,對患者所做動作進行解析。
玩家在通過闖關游戲后,選擇游戲難度系數進行闖關,不同難度闖關成功后,患者恢復程度不同。闖關成功表示患者達到有效的康復訓練,闖關難度系數越高,表示患者恢復得越好。
初級模塊中的康復訓練動作只對患者上肢體進行鍛煉,康復動作如下。①站立時,雙臂向前伸直,與地面平行。②站立時,雙臂伸直與地面平行,小臂與大臂夾角為90°。③站立時,雙手十指交叉,舉過頭頂,雙臂伸直,手心朝上。④站立時,雙臂向前伸直,與身體夾角為60°。⑤站立時,雙臂向后伸直,與身體夾角為60°。⑥站立時,雙臂向上伸直,與地面夾角為60°。⑦站立時,雙臂向前伸直,與地面平行。⑧站立時,左臂向前伸直,右臂向后伸直,二者與地面夾角均為60°。⑨站立時,左臂伸直與地面平行,右臂自然下垂。⑩站立時,左臂伸直與地面平行,小臂與大臂夾角為90°,右臂自然下垂。?站立時,左臂向前伸直,與身體夾角為60°,右臂自然下垂。?站立時,左臂向后伸直,與身體夾角為60°,右臂自然下垂。?站立時,左臂向上伸直,與地面夾角為60°,右臂自然下垂。?站立時,左臂向前伸直,與地面平行,右臂自然下垂。?站立時,右臂向前伸直,左臂向后伸直,二者與地面夾角均為60°。?站立時,右臂伸直與地面平行,左臂自然下垂。?站立時,右臂伸直與地面平行,小臂與大臂夾角為90°,左臂自然下垂。?站立時,右臂向前伸直,與身體夾角為60°,左臂自然下垂。?站立時,右臂向后伸直,與身體夾角為60°,左臂自然下垂。?站立時,右臂向上伸直與地面夾角為60°,左臂自然下垂。站立時,右臂向前伸直,與地面平行,左臂自然下垂。
中級模塊中的康復訓練動作只對患者下肢進行康復鍛煉,復動作如下。①站立時,抬起左腿伸直,與地面的夾角為60°。②站立時,抬起右腿伸直,與地面夾角為60°。③站立時,抬起左腿向左伸直,與地面夾角為60°。④站立時,抬起右腿向右伸直,與地面夾角為60°。⑤站立時,抬起左腿,大腿與地面平行,小腿自然下垂。⑥站立時,抬起右腿,大腿與地面平行,小腿自然下垂。⑦雙腿分開,與肩同寬或大于肩寬,臀部慢慢往下坐,大腿與地面的夾角為60°。
高級模塊的康復訓練動作涉及患者的上肢體和下肢體,對患者全身進行康復訓練。康復動作是對初級模塊和中級模塊中的動作的隨機結合,組合方法見式(6)。
式中:n為不同元素的個數;m(m≤n)為選取的元素個數。根據排列組合可得出,一共有=147個動作。
根據醫(yī)院康復中心提供的信息,選取20 人分別進行訓練。將釋放氣泡自由度由1 調整為10,分別對檢測區(qū)的上半區(qū)和全區(qū)進行檢測。試驗采用分組測試,將20 個測試者分為2 組,每組10 人,分別為標準組和測試組。標準組的測試人員為健康的成年人,按照設置不同的氣泡來產生位置和運動自由度,分別訓練10 次,經運動系統(tǒng)測試得到完成度評分。對測試組的10 個試驗者,采用同樣的設置參數訓練10 次。經動作識別算法計算得到運動能力數值后,通過數據擬合評估得到標準組和測試組的動作完成度。測試數據見表2、表3,表中的數據為每個動作自由度下的得分,沒有實際單位,數值越高代表靈活度越高。
表2 在不同測試個體上不同自由度下的得分值
表3 在不同測試個體上不同自由度下的得分值
經過長期訓練后得到的自由度評測分數見表4。4動作完成度曲線如圖5所示。
表4 訓練完成后測試結果
圖5 4動作完成度曲線
試驗結果表明,受試者的運動速率平穩(wěn),能在規(guī)定時間內達到預定的擊打數。通過試驗驗證了基于Kinect 和Unity3D 構建的康復動作識別與評估系統(tǒng)能幫助患者實現康復訓練的目的。該系統(tǒng)通過對患者動作與標準動作庫中的動作進行對比,得出對與錯。由于該系統(tǒng)不受光照、患者穿戴和患病位置的影響,更易幫助患者進行康復訓練,簡單且易于上手。對患者來說,其價格還比較便宜,能減輕患者的經濟負擔。該系統(tǒng)設計的動作種類相對來說較多,動作難度一級比一級難,所以,患者在進行康復訓練過程中,不會因為就只有幾種動作而感到枯燥,增加了趣味性及挑戰(zhàn)性。