基于Kinect的自主康復(fù)系統(tǒng)的設(shè)計與實現(xiàn)
摘要:為了使患者能夠在家中自主進行康復(fù)訓(xùn)練并能與醫(yī)院進行信息交互,本文設(shè)計了一套基于Kinect的自主康復(fù)系統(tǒng)。系統(tǒng)使用Kinect開發(fā)完成,患者按康復(fù)計劃規(guī)定的康復(fù)訓(xùn)練動作進行訓(xùn)練,并使用Kinect傳感器獲取人體骨骼關(guān)節(jié)點的空間坐標并捕捉節(jié)點運動軌跡,計算獲取關(guān)節(jié)點的相對角度變化值判定患者動作是否完成并給出文字提示,醫(yī)生可調(diào)用系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)查看患者康復(fù)情況并更新康復(fù)訓(xùn)練內(nèi)容。實驗證明,該系統(tǒng)能準確識別關(guān)節(jié)點的運動,能較為直觀逼真地顯示用戶康復(fù)訓(xùn)練情況,實時性、準確性達到設(shè)計需求,具有較好的應(yīng)用價值。
本文引用地址:http://www.ex-cimer.com/article/277709.htm引言
Kinect體感傳感器是微軟公司于2010年發(fā)布的新興體感交互式傳感器[1],它打破了傳統(tǒng)的人機交互方式,更加生動有效地展示了人機交互的理念和方式,因此在各行各業(yè)迅速得到應(yīng)用推廣。隨著中國社會老齡化程度不斷加深,老年人群比例逐年增大,老年病和慢性病成為社區(qū)醫(yī)療服務(wù)的重點關(guān)注疾病,老年癡呆、腦卒中、高血壓等易發(fā)疾病不僅需要藥物治療,還需持久的康復(fù)訓(xùn)練[2],目前醫(yī)療資源較為緊張,將治療后期用以增加肌體功能的康復(fù)訓(xùn)練轉(zhuǎn)移到社區(qū)或家庭中進行能緩解老年疾病護理和醫(yī)療資源的需求供給矛盾,還能提高康復(fù)訓(xùn)練的信息化,有利于康復(fù)數(shù)據(jù)收集和研究[3] 。本文結(jié)合Kinect和軟件及數(shù)據(jù)庫技術(shù),開發(fā)了一套自主康復(fù)系統(tǒng),患者登錄系統(tǒng)獲取康復(fù)訓(xùn)練計劃,按計劃要求的動作進行康復(fù)訓(xùn)練,系統(tǒng)使用Kinect傳感器獲取人體關(guān)節(jié)點的空間坐標并捕捉節(jié)點運動軌跡,經(jīng)異常值處理后判定患者各節(jié)點康復(fù)訓(xùn)練動作是否達標,并根據(jù)訓(xùn)練效果制定進一步的康復(fù)計劃,醫(yī)生可隨時進入數(shù)據(jù)庫系統(tǒng)查詢患者的康復(fù)狀態(tài)。該系統(tǒng)經(jīng)驗證可準確識別關(guān)節(jié)運動,交互實時性、準確性達到系統(tǒng)設(shè)計要求,為老年疾病康復(fù)訓(xùn)練提供了較好的恢復(fù)平臺,而且所獲得的康復(fù)數(shù)據(jù)也為相關(guān)疾病康復(fù)研究提供了大量的數(shù)據(jù)信息。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)使用Kinect設(shè)備獲取用戶的骨骼空間坐標并進行軌跡生成再現(xiàn),同時計算用戶訓(xùn)練的關(guān)節(jié)點相對角度值與設(shè)置的閾值比較,當相對角度變化值超過閾值后系統(tǒng)將提示用戶完成該訓(xùn)練動作內(nèi)容并給出響應(yīng)。為完成這一系列過程,系統(tǒng)需要四個主要部分:(1)傳感器數(shù)據(jù)采集;(2)數(shù)據(jù)處理運算;(3)數(shù)據(jù)顯示;(4)數(shù)據(jù)存儲。其中傳感器數(shù)據(jù)采集主要由Kinect傳感器完成,數(shù)據(jù)處理運算在Visual C++的后臺中進行運算,數(shù)據(jù)顯示通過生成的系統(tǒng)軟件在前臺顯示并對用戶動作響應(yīng),數(shù)據(jù)存儲功能由MySQL完成,醫(yī)生可隨時調(diào)用數(shù)據(jù)庫數(shù)據(jù)查看患者自主康復(fù)數(shù)據(jù),并根據(jù)用戶自主康復(fù)訓(xùn)練結(jié)果更新訓(xùn)練計劃,在軟件前端顯示并提供用戶使用,從而形成一個良性循環(huán)的閉環(huán)系統(tǒng)。系統(tǒng)功能結(jié)構(gòu)如圖 1所示。
2 系統(tǒng)功能原理
2.1 數(shù)據(jù)采集
Kinect設(shè)備能夠?qū)崟r獲得彩色圖像和深度圖像數(shù)據(jù),而且支持實時的半身和全向骨骼跟蹤模式并能識別一系列的動作[4],這是自主康復(fù)系統(tǒng)應(yīng)用Kinect的關(guān)鍵原因。Kinect由紅外發(fā)射器、RGB彩色攝像頭和紅外線COMS攝像機組成[5]。Kinect能夠提供人體內(nèi)的二十個骨架關(guān)節(jié)點的三維坐標值,如圖2所示。
以這二十個關(guān)節(jié)點為基礎(chǔ),計算任意兩個關(guān)節(jié)點的距離和方位變化可得人體關(guān)節(jié)運動軌跡。Kinect可獲取場景深度信息并進一步計算出人與相機間的空間間隔[6],設(shè)人體到Kinect設(shè)備的距離為d,可由式(1)求得:
(1)
式中dk是對象深度值,由Kinect設(shè)備獲取,k=12.36厘米、H=3.5-10-4rad、L=1.18rad、O=3.7厘米。
2.2 運動軌跡生成
將深度圖像坐標(xk,yk,zk)轉(zhuǎn)化為實際坐標(xr,yr,zr),轉(zhuǎn)化公式為:
(2)
式中F=0.0021,D'=-10,Kinect的分辨率[7]為w×h=680×480。這樣利用(1)式、(2)式可得人體任意兩個關(guān)節(jié)點的空間坐標值M(xr1,yr1,zr1)和N(xr2,yr2,zr2),可得兩關(guān)節(jié)點間的距離為:
(3)
由于Kinect的硬件誤差或抖動[8]等一系列因素導(dǎo)致骨骼關(guān)節(jié)點的相對位置在短時間內(nèi)變化極大、數(shù)據(jù)中存在異常值,針對這一問題,在系統(tǒng)生成骨骼節(jié)點的運動軌跡時需對這類異常值進行篩選和刪除,對運動軌跡進行平滑處理[9]。為達到降噪效果,將活動關(guān)節(jié)當前時刻的坐標值與前N-1個采樣周期的關(guān)節(jié)坐標的平均值當作當前時刻的關(guān)節(jié)位置,并按時序以N為步長對獲取的坐標位置進行遞進前移,該方法可以使系統(tǒng)獲取并用于顯示的人體關(guān)節(jié)活動軌跡更為平滑優(yōu)美,帶給康復(fù)患者較好的視覺感觀,以增強康復(fù)的信心。
2.3 姿勢判斷
獲取骨骼節(jié)點的坐標標據(jù)和運動軌跡是生成人體關(guān)節(jié)運動軌跡的基礎(chǔ),而判斷患者動作是否達到要求是系統(tǒng)指導(dǎo)患者進行康復(fù)訓(xùn)練的關(guān)鍵,在關(guān)節(jié)點運動過程中還需判斷患者是否完成康復(fù)動作并在完成動作后給予響應(yīng)??紤]人體運動時很多骨骼關(guān)節(jié)并非直線運動,而是以某一關(guān)節(jié)為圓心的類似圓弧運動[10],因此可實時獲取各時刻的關(guān)節(jié)點角度,通過活動關(guān)節(jié)點相對于轉(zhuǎn)動圓心關(guān)節(jié)點的角度變化值來計算患者是否完成康復(fù)動作。
c++相關(guān)文章:c++教程
評論