當前位置:學問君>學習教育>畢業論文>

基於Kinect的自主康復系統的設計與實現

學問君 人氣:9.66K

摘要:爲了使患者能夠在家中自主進行康復訓練並能與醫院進行資訊交互,本文設計了一套基於Kinect的自主康復系統。系統使用Kinect開發完成,患者按康復計劃規定的康復訓練動作進行訓練,並使用Kinect傳感器獲取人體骨骼關節點的空間座標並捕捉節點運動軌跡,計算獲取關節點的相對角度變化值判定患者動作是否完成並給出文字提示,醫生可調用系統數據庫數據檢視患者康復情況並更新康復訓練內容。實驗證明,該系統能準確識別關節點的運動,能較爲直觀逼真地顯示用戶康復訓練情況,實時性、準確性達到設計需求,具有較好的應用價值。本文網絡版地址:http://

基於Kinect的自主康復系統的設計與實現

關鍵詞:自主康復系統;Kinect;骨骼關節點;運動軌跡;資訊交互

引言

Kinect體感傳感器是微軟公司於2010年發佈的新興體感交互式傳感器,它打破了傳統的人機交互方式,更加生動有效地展示了人機交互的理念和方式,因此在各行各業迅速得到應用推廣。隨着中國社會老齡化程度不斷加深,老年人羣比例逐年增大,老年病和慢性病成爲社區醫療服務的重點關注疾病,老年癡呆、腦卒中、高血壓等易發疾病不僅需要藥物治療,還需持久的康復訓練,目前醫療資源較爲緊張,將治療後期用以增加肌體功能的康復訓練轉移到社區或家庭中進行能緩解老年疾病護理和醫療資源的需求供給矛盾,還能提高康復訓練的資訊化,有利於康復數據收集和研究。本文結合Kin ect和軟件及數據庫技術,開發了一套自主康復系統,患者登入系統獲取康復訓練計劃,按計劃要求的動作進行康復訓練,系統使用Kinect傳感器獲取人體關節點的空間座標並捕捉節點運動軌跡,經異常值處理後判定患者各節點康復訓練動作是否達標,並根據訓練效果制定進一步的康復計劃,醫生可隨時進入數據庫系統查詢患者的康復狀態。該系統經驗證可準確識別關節運動,交互實時性、準確性達到系統設計要求,爲老年疾病康復訓練提供了較好的恢復平臺,而且所獲得的康復數據也爲相關疾病康復研究提供了大量的數據資訊。

一、系統結構

系統使用Kine ct設備獲取用戶的骨骼空間座標並進行軌跡生成再現,同時計算用戶訓練的關節點相對角度值與設定的閾值比較,當相對角度變化值超過閾值後系統將提示用戶完成該訓練動作內容並給出響應。爲完成這一系列過程,系統需要四個主要部分:(1)傳感器數據採集;(2)數據處理運算;(3)數據顯示;(4)數據存儲。其中傳感器數據採集主要由Kinect傳感器完成,數據處理運算在Visual C++的後臺中進行運算,數據顯示透過生成的系統軟件在前臺顯示並對用戶動作響應,數據存儲功能由MySQL完成,醫生可隨時調用數據庫數據檢視患者自主康復數據,並根據用戶自主康復訓練結果更新訓練計劃,在軟件前端顯示並提供用戶使用,從而形成一個良性循環的閉環系統。系統功能結構如圖1所示。

二、系統功能原理

2.1數據採集

Kinect設備能夠實時獲得彩色圖像和深度圖像數據,而且支援實時的半身和全向骨骼跟蹤模式並能識別一系列的'動作,這是自主康復系統應用Kine ct的關鍵原因。Kinect由紅外發射器、RGB彩色攝像頭和紅外線COMS攝像機組成。Kinect能夠提供人體內的二十個骨架關節點的三維座標值,如圖2所示。

以這二十個關節點爲基礎,計算任意兩個關節點的距離和方位變化可得人體關節運動軌跡。Kinect可獲取場景深度資訊並進一步計算出入與相機間的空間間隔,設人體到Kin ect設備的距離爲d,可由式(1)求得:

d=K・tan(H・dk+L)-0

(1)

式中dk是對象深度值,由Kinect設備獲取,k=12.36釐米、H=3.5-10-4rad、L=1.18rad、0=3.7釐米。

2.2運動軌跡生成

將深度圖像座標(Xk,yk,Zk)轉化爲實際座標(Xr,Yr,Zr),轉化公式爲:

式中F=O.0021,D'=-10, Kinect的分辨率爲w×h=680×480。這樣利用(1)式、(2)式可得人體任意兩個關節點的空間座標值M (Xr1,Yr1,Zr1)和N(Xr2,Yr2,Zr2),可得兩關節點間的距離爲:

由於Kinect的硬件誤差或抖動等一系列因素導致骨骼關節點的相對位置在短時間內變化極大、數據中存在異常值,針對這一問題,在系統生成骨骼節點的運動軌跡時需對這類異常值進行篩選和刪除,對運動軌跡進行平滑處理。爲達到降噪效果,將活動關節當前時刻的座標值與前N-l個採樣週期的關節座標的平均值當作當前時刻的關節位置,並按時序以N爲步長對獲取的座標位置進行遞進前移,該方法可以使系統獲取並用於顯示的人體關節活動軌跡更爲平滑優美,帶給康復患者較好的視覺感觀,以增強康復的信心。

2.3姿勢判斷

獲取骨骼節點的座標標據和運動軌跡是生成人體關節運動軌跡的基礎,而判斷患者動作是否達到要求是系統指導患者進行康復訓練的關鍵,在關節點運動過程中還需判斷患者是否完成康復動作並在完成動作後給予響應。考慮人體運動時很多骨骼關節並非直線運動,而是以某一關節爲圓心的類似圓弧運動,因此可實時獲取各時刻的關節點角度,透過活動關節點相對於轉動圓心關節點的角度變化值來計算患者是否完成康復動作。

在系統中利用餘弦定理計算如圖3所示的相關聯的3個關節點連線的角度值,計算方法爲:

透過(4)式,系統在Kinect檢測到骷髏關節點的運動時可獲取相關聯的節點間在任意時刻的相對角度,繼而求得在某時段內活動關節點相對於轉動圓心關節點的角度變化值,並設該活動關節點對應角度閾值爲θt,,並設BOOL型變量K,K透過(5)式確定:

在每一採樣週期,系統計算此時刻與前時刻的角度差,得至K的結果並判斷,當K爲假時繼續採樣追蹤活動關節點位置,當K爲真時給出對應語音和文字提示並結束追蹤關節運動。

三、測試結果

對系統進行性能測試驗證,爲減少系統負擔提高運算效率,對系統進行優化設計,當追蹤某一關節活動時,系統只計算該關節與系統預先設定的關聯關節活動軌跡,對其他關節點的動作不進行跟蹤和建立軌跡。而且由於系統傳感器使用了激光散斑原理,即激光在散射體表面發生漫反射的時候在附近光場中可看到無規則分佈的亮暗光點,這就要求系統使用過程中使用者和背景環境有較爲明顯的區分度,而且Kinect傳感器的有效探測區間是[0.8米,3.5米],因此在測試時測試者身着深色服裝、背靠白色牆壁、距Kinect傳感器2.5米進行測試。圖4系統介面所示爲系統介面,用戶登入系統後將進入到此介面,左側爲提示框和操作區,其中上方顯示了當前動作的動作概念、鍛鍊部位和小貼示,下方爲系統控制區,可進行重做、下一動作、尋求幫助、系統風格等操作,其中顯示風格爲系統右側規定動作和展示使用者動作展示的顯示風格,目前已完成鋼鐵機甲、與子偕老、夕陽紅等三種風格:右側爲動作展示區和進行提示區,分別展示系統規定動作和使用者動作,並在下方提示用戶完成進度。

爲了測試系統的實時性和準確性,分別選取舉手上伸、握拳擡小臂、擊掌、小腿劃圈、頭部轉圈等五個動作,前四個動作左右肢各進行50次,頭部轉圈動作進行100次,透過讀取系統時戳以獲取系統反應時間,並根據系統顯示結果判斷系統識別動作是否正確,測試結果如表1所示。

從表1數據可以看出,系統對舉手上伸、握拳擡小臂、擊掌等三個動作的識別率達到100%,而小腿劃圈、頭部轉圈兩個動作有不識別情況,不識別主要發生在測試者劃圈速度較快的情況下,系統使用三關聯點測角的方法發生誤判,但考慮到康復患者普遍動作較慢,不識別的情況在系統實際使用中發生的可能性較小,系統的平均反應時間隨着動作複雜度提升也會小幅增長,但都小於0.2秒的設計要求,因此本系統的準確性和實時性滿足實際使用需求。

四、結束語

本文的系統使用Kinect開發完成,可實現對患者康復動作的引導教學和完成情況判定,並將最終的康復情況存人數據庫中,醫生可根據數據庫中數據判斷患者自主康復效果並更新訓練計劃提供給患者,在良好的人機交互的基礎上實現了醫生和患者遠程良性互動,對患者自主進行康復具有積極促進作用,系統測試結果表明系統的實時性和準確性達到設計要求,因此係統具有一定的應用價值。但是系統也存在一定的不足,對用戶的使用環境有一定的要求,同時軟件使用方面還有較大的優化空間,而且對於老人來說系統操作還不夠簡潔,這些都將是下一步工作中重點進行改進的地方。