徐衛(wèi)偉,程 鵬,李艷君
北京體育大學(xué),北京 100084
隨著人口老齡化水平的加劇,高血壓、腦卒中、老年癡呆等心血管疾病發(fā)病率逐年升高,統(tǒng)計結(jié)果表明,70%~85%的腦卒中患者會伴隨產(chǎn)生一定程度的運動障礙,嚴(yán)重影響患者的生活質(zhì)量[1,2]。大量研究結(jié)果表明,大量重復(fù)性和高密度性的康復(fù)訓(xùn)練可以使得患者的身體功能得到最大限度的恢復(fù),改善患者的生活質(zhì)量,提高其生活、工作和學(xué)習(xí)能力[3]。傳統(tǒng)的康復(fù)訓(xùn)練方法主要采用輔助按摩的方式進行,要求在專業(yè)地點進行,訓(xùn)練治療過程單調(diào)乏味,而且存在訓(xùn)練效果和訓(xùn)練強度無法準(zhǔn)確評價的缺點。為了克服傳統(tǒng)康復(fù)訓(xùn)練方法的缺點,將Kinect和虛擬現(xiàn)實結(jié)合起來,開發(fā)出一種基于Kinect和虛擬現(xiàn)實的康復(fù)訓(xùn)練系統(tǒng),實現(xiàn)患者在家或者社區(qū)里就能進行康復(fù)訓(xùn)練,同時提高訓(xùn)練效果并對訓(xùn)練效果進行評估,為患者的下一步康復(fù)治療提供決策依據(jù)。
圖1 基于Kinect和虛擬現(xiàn)實的康復(fù)訓(xùn)練系統(tǒng)Fig.1 Rehabilitation training system based on Kinect and virtual reality
基于Kinect和虛擬現(xiàn)實的康復(fù)訓(xùn)練系統(tǒng)組成模塊如圖1所示,主要包括如下模塊[4]:
(1)傳感器數(shù)據(jù)采集模塊:負責(zé)數(shù)據(jù)采集和數(shù)據(jù)轉(zhuǎn)換功能;
(2)后臺實時數(shù)據(jù)處理模塊:負責(zé)數(shù)據(jù)處理、數(shù)據(jù)存儲和數(shù)據(jù)輸出等功能;
(3)虛擬老師標(biāo)準(zhǔn)動作模型庫模塊:負責(zé)指導(dǎo)患者訓(xùn)練動作的示范、選擇和訓(xùn)練模式的選擇等功能;
(4)患者動態(tài)形象虛擬化模塊:負責(zé)患者訓(xùn)練動作的虛擬化等功能;
(5)網(wǎng)絡(luò)交流模塊:負責(zé)患者訓(xùn)練數(shù)據(jù)對的加載和上傳、醫(yī)生下載訓(xùn)練數(shù)據(jù)。
該系統(tǒng)主要功能結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)功能圖Fig.2 Function of the system structure
該系統(tǒng)軟件基于Visual Studio 2015環(huán)境開發(fā)[5],傳感器[6]采用Kinect for Windows SDK V1.6,患者訓(xùn)練端采用Windows窗體應(yīng)用程序,網(wǎng)絡(luò)服務(wù)端和客戶端采用ASP.NET Web應(yīng)用程序[7]。圖3所示表示不同訓(xùn)練場景圖。
圖3 訓(xùn)練場景圖Fig.3 Training scene
康復(fù)訓(xùn)練系統(tǒng)的網(wǎng)絡(luò)交流模塊主要分為患者登錄客戶端和醫(yī)生登錄客戶端,基于VS2015的ASP.NET實現(xiàn)設(shè)計。主要功能包括患者可以瀏覽醫(yī)生的反饋信息和相關(guān)網(wǎng)站,醫(yī)生根據(jù)患者編號提交訓(xùn)練信息、評價和建議。
Kinect傳感器通過黑白光譜的方式來感知環(huán)境,通過生成深度圖像流[8],實現(xiàn)周圍環(huán)境的3D模型復(fù)現(xiàn)。通過Kinect傳感器可以得到20點二維人體骨架投影如圖4所示。通過骨架投影信息可以提取人體運動特征和姿態(tài)特征。
圖4 二維人體骨架投影圖Fig.42D projection of the human body skeletons
通過Kinect傳感器采集患者訓(xùn)練數(shù)據(jù)并進行預(yù)處理,之后系統(tǒng)將對患者的運動數(shù)據(jù)進行實時自動評分,通過計算相應(yīng)關(guān)節(jié)連線的夾角,提取關(guān)鍵動作并進行評分。
該系統(tǒng)用戶訓(xùn)練模式包括標(biāo)準(zhǔn)模式和高級模式,其中標(biāo)準(zhǔn)模式包含4個動作,動作順序和數(shù)量不能刪減;高級模式包括5個動作,動作順序和數(shù)量可以自定義設(shè)置。用戶訓(xùn)練時,可以根據(jù)虛擬老師動作進行訓(xùn)練,系統(tǒng)將用戶的動作和虛擬老師動作進行對比并評分,訓(xùn)練結(jié)束后,給出綜合評價,并為患者下一步康復(fù)訓(xùn)練提供相應(yīng)的建議和意見。
康復(fù)訓(xùn)練系統(tǒng)通過Kinect傳感器每秒采集30幀數(shù)據(jù),并將患者進行虛擬化映射——動態(tài)實時火柴人[9,10],其映射結(jié)果如圖5所示,系統(tǒng)根據(jù)用戶和虛擬老師之間的差異進行動態(tài)調(diào)整。
圖5 Kinect人體虛擬化節(jié)點Fig.5 Kinect human virtualization nodes
網(wǎng)絡(luò)交流模塊基于VS2015的ASP.NET實現(xiàn)設(shè)計。主要功能包括患者可以瀏覽醫(yī)生的反饋信息和相關(guān)網(wǎng)站,醫(yī)生根據(jù)患者編號提交訓(xùn)練信息、評價和建議,患者登錄客戶端如圖6所示
圖6 患者登錄客戶端界面Fig.6 Interface of patient login
該訓(xùn)練軟件系統(tǒng)主要采用模塊設(shè)計[11],主機程序包括主程序、Kinect初始化、圖像識別、串口通信等,基于VS2015和Kinect for Windows SDK V1.6,系統(tǒng)程序流程如圖7所示。
圖7 系統(tǒng)程序流程圖Fig.7 Flow chart of the system programs
Kinect將采集到的患者訓(xùn)練圖像信息(動作特征和姿態(tài)特征)傳送給上位機[12],上位機經(jīng)過圖像處理和虛擬化映射后識別出人體動作并輸出結(jié)果。
虛擬老師和患者訓(xùn)練實時對比圖,其中,圖8左圖表示虛擬老師肘關(guān)節(jié)屈曲動作引導(dǎo),圖8右圖為患者的虛擬化火柴人。大量實驗結(jié)果表明,該康復(fù)訓(xùn)練系統(tǒng)可以使得患者的身體功能得到最大限度的恢復(fù),改善患者的生活質(zhì)量,提高其生活、工作和學(xué)習(xí)能力
圖8 虛擬老師和患者訓(xùn)練實時對比圖Fig.8 Real-time comparison of virtual teacher and patient training
為了克服傳統(tǒng)康復(fù)訓(xùn)練方法的缺點,將Kinect和虛擬現(xiàn)實結(jié)合起來,開發(fā)出一種基于Kinect和虛擬現(xiàn)實的康復(fù)訓(xùn)練系統(tǒng),實現(xiàn)患者在家或者社區(qū)里就能進行康復(fù)訓(xùn)練,同時提高訓(xùn)練效果并對訓(xùn)練效果進行評估,為患者的下一步康復(fù)治療提供決策依據(jù)。