鄭傳欽

摘要
為幫助頸部受傷患者在社區家庭環境中有效地進行頸部康復訓練,本文設計并實現了一種基于Kinect的頸部康復訓練系統系統通過Kinect體感設備捕獲到人體的頭部、頸部、肩部等骨骼關節點的位置信息,跟蹤人體的動作,將動作與標準康復動作進行匹配,進而判斷動作是否正確和達標同時,系統可以調整訓練難度,以適應不同使用者的需求.系統能夠有效地幫助患者進行頸部康復訓練,具有較好的應用價值。通過人機交互實現對患者康復過程的指導。
【關鍵詞】Kinect 體感 康復 頸部
1 引言
在眾多領域中,體感技術應用到醫療康復上的研究尤為熱門,其中大部分的應用都使用微軟的Kinect作為系統的輸入設備。并且在2015年,美國食品藥品監督管理局FDA(Foodand Drug Administration)批準了使用Kinect幫助患者進行物理治療。Kinect在醫療康復領域的應用主要分為兩類,一類是對于認知障礙的康復,另一類是對運動障礙的康復。
本文基于Kinect與Unity3D開發了一套頸部康復訓練系統,系統的界面使用Unity3D進行繪制,系統的功能使用Kinect體感設備以及Kinect for Windows SDK進行開發。該系統能夠幫助患者進行頸部的康復訓練,同時具有調節訓練難度以及記錄訓練進度的功能。并且通過Unity3D的繪制,該系統具有友好的交互界面,給用戶帶來良好的視覺體驗。
2 Kinect原理簡介
2.1 Kinect的硬件組成
從硬件層面看,Kinect主要由三個攝像頭和四個麥克風以及其他一些框架和外殼組成。其主要的傳感工作都由攝像頭和麥克風完成。其中,三個攝像頭分別為彩色攝像頭、紅外投影機和深度攝像頭。彩色攝像頭的作用就是獲取彩色圖像,再將彩色圖像傳輸給計算機,在顯示器中顯式出來,給使用者最直觀的視覺反饋。紅外投影機的作用是主動投射近紅外光譜,光譜照射到距攝像平面不同距離的物體會產生不同的散斑,這些散班可以被深度攝像頭捕獲,從而可以根據散斑特征的不同判斷出物體距離攝像平面的距離。四個麥克風組成四元線性麥克風陣列,通過麥克風陣列可以捕獲到環境中的聲音,同時具有過濾背景噪聲的功能,以及協助攝像頭確定人體所在的位置。
2.2 Kinect的深度圖成像原理
深度數據和骨骼數據是Kinect的精髓所在,深度數據的獲取主要是靠紅外投影機和深度攝像頭完成。首先由紅外投影機向前方投射近紅外光譜,近紅外光譜照射到物體上會形成具有一定特性的散斑。之后由深度攝像頭捕獲所形成的散斑,根據散斑的特性判斷物體距攝像平面的距離,將該距離保存到一個矩陣中,這樣就生成了深度圖。將生成的深度圖傳輸到計算機,再由計算機進行后續的處理。
2.3 Kinect的骨骼圖像成像原理
在獲取到深度圖之后,就要從深度圖中提取人體的骨骼信息。Kinect采用機器學習的方法從深度圖中提取出人體的框架并且識別出人體的各個部位。之后再提取20個關節點,形成一幅骨骼圖像。為了減少環境噪聲對骨骼圖像的干擾,Kinect中還采用了低通濾波技術對骨骼信息進行濾波,以提高識別的準確度。
3 本文所設計系統的框架
本文使用Kinect V1和unity3D進行結合,設計了一套頸部康復訓練系統,為患者提供有效地康復訓練。本系統由界面設計和功能設計兩部分組成,下面分別對這兩個部分進行詳述。
3.1 界面設計框架
本系統的界面部分由Unity3D進行繪制,Unity3D是一款3D游戲開發軟件,能夠高效地創建3D場景,建立實時三維動畫等內容。本系統的界面部分主要分為歡迎界面、主界面、設置界面和訓練界面四部分。
3.2 功能設計框架
本系統使用C#作為主要編程語言,使用Kinect for Windows SDK和Kinect withMicrosoft-SDK unity package開發工具輔助完成功能的實現,具有執行效率高、兼容性強、安全機制完善等優點。
3.2.1 初始化設備模塊
該模塊的主要功能是初始化Kinect設備,使其做好工作前的準備。這一部分主要分為五步,首先要獲取設備對象,接著對所獲取的對象和參數以及工作模式進行參數設置,之后啟動彩色數據流、深度數據流和音頻數據流,最后進行事件的注冊。經過這五步之后就完成了對設備的初始化,設備就開始獲取數據和處理數據。
3.2.2 鼠標控制模塊
該模塊的主要功能是獲取右手的位置,從而間接的控制屏幕中的鼠標移動,同時可以通過握拳動作控制鼠標的單擊操作。首先要從獲取到的深度圖中提取出右手關節點的坐標,接著跟蹤右手關節點的移動和動作,獲取到移動的路線,之后使用低通濾波器對移動的路線進行濾波,去除路線中的噪聲和誤判,最后將得到的移動路線映射到屏幕中的鼠標上,使鼠標進行相應的移動和操作。
3.2.3 界面響應模塊
該模塊的主要功能是響應鼠標的點擊事件,從而實現相應的功能以及在不同的界面間切換。當鼠標點擊界面上的某個按鈕時,就會觸發該按鈕所對應的點擊事件,系統就會執行該事件中的程序,實現相應的功能。
3.2.4 頸部訓練模塊
該模塊是整個系統最核心的模塊,該模塊的主要功能是提示使用者進行訓練的動作,并判斷使用者的動作是否達標,同時在頁面中顯示使用者身體區域的彩色圖像。首先通過聲音和圖片信息提示使用者應該做什么動作,之后根據獲取到的深度圖提取人體的頭部、頸部和肩部的關節點坐標,接著由這些關節點坐標計算出頭部和頸部所在直線與左右肩部所在直線之間的夾角,再根據計算的角度和頸部的運動軌跡判斷使用者的動作是否正確以及是否達標。如果達標則通過聲音和圖片提示達標,如果不達標則一直重復這個過程直到動作達標。當一個動作達標之后會開始下一個動作的提示。
4 實驗和分析
為了驗證本文所設計的頸部康復訓練系統是否對于不同的使用者均能夠正常工作,本實驗選取了10位測試人員(5位男性,5位女性)對本系統進行了測試,分別讓每測試人員進行系統的操作和訓練。實驗結果表明,所有測試人員均能夠被系統所識別,并能夠操作系統和進行訓練。
5 結語
本文設計了一套基于Kinect的頸部康復訓練系統,該系統的硬件部分由Kinect v2體感設備和計算機組成,軟件的界面部分由Unity 3D進行繪制。該系統能夠滿足患者進行頸部康復訓練的需求,并且可以根據康復的進度進行訓練難度的設置。由于本系統的軟件部分采用模塊化的設計思想,因此在未來的研發過程中,還可以針對肢體訓練的模塊進行開發,并加入到系統中。
參考文獻
[1]Zhang Zhengyou.Microsoft KinectSensor and Its Effect[M].[S.1.]:IEEEComputer Society Press,2012.
[2]Etienne E Y.Wavi Xtion[M].[S.1.]:TurbsPublishing,2012.
[3]丁晨,王君澤,瞿暢等.Kinect體感交互技術及其在醫療康復領域的應用[J].中國康復理論與實踐,2013(02):136-138.
[4]韓崢,劉華平,黃文炳等.基于Kinect的機械臂目標抓取[J].智能系統學報,2013(02):149-155.
[5]劉鑫,許華榮,胡占義.基于GPU和Kinect的快速物體重建[J].自動化學報,2012,38(08):1288-1297.