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