楊 藝,許 源,張俊杰,劉 燕
基于 Kinect與虛擬現(xiàn)實的社區(qū)家庭康復(fù)系統(tǒng)的研制
楊 藝,許 源,張俊杰,劉 燕
盡管大部分康復(fù)訓(xùn)練需要在醫(yī)院進(jìn)行,但是將訓(xùn)練適量“搬運(yùn)”到患者家中并把結(jié)果定期反饋回醫(yī)院以制定下一步治療計劃,不僅能減輕康復(fù)醫(yī)師的工作,也可為患者提供更輕松自在的訓(xùn)練環(huán)境和完善的后期治療。在 Visual Studio 2010(VS2010)開發(fā)環(huán)境下,嘗試?yán)?Kinect傳感器捕捉患者運(yùn)動,獲取原始深度數(shù)據(jù)流并從中采集患者全身 20 個關(guān)節(jié)點的信息,在此基礎(chǔ)上構(gòu)建一個動態(tài)實時的康復(fù)訓(xùn)練軟件系統(tǒng)。該軟件系統(tǒng)可存儲歷史訓(xùn)練細(xì)節(jié),并依據(jù)標(biāo)準(zhǔn)動作模板生成的評分函數(shù)得到訓(xùn)練效果分?jǐn)?shù),在預(yù)設(shè)時間到達(dá)后展示給患者與治療師同時輸出訓(xùn)練記錄,方便后期實現(xiàn)部分網(wǎng)絡(luò)交流功能。目前本系統(tǒng)主要收錄的動作有五個分別為:擊掌、舉手上伸、下垂合手、右腿劃圈、左腿劃圈。
虛擬現(xiàn)實;家庭康復(fù);Kinect傳感器;動態(tài)實時火柴人;自動評分
隨著老年人群的增長,慢性病和老年病成為了社區(qū)醫(yī)療服務(wù)的重要關(guān)注點。通常高血壓、腦卒中、老年癡呆等是老年人群易發(fā)的疾病。患者在經(jīng)過醫(yī)院的治療后期望通過一些社區(qū)和家庭式的康復(fù)訓(xùn)練來增加他們的肌體功能康復(fù)效果,進(jìn)而提高他們的生活質(zhì)量。目前,雖然國內(nèi)外的科技人員已經(jīng)研究和開發(fā)了一些康復(fù)訓(xùn)練系統(tǒng),但大部分都需要在專門的實驗室環(huán)境內(nèi)進(jìn)行康復(fù)訓(xùn)練。因此,有必要開發(fā)一類輕便小型的智能康復(fù)訓(xùn)練系統(tǒng)來輔助這類人群在社區(qū)和家庭進(jìn)行康復(fù)訓(xùn)練。為了實現(xiàn)這一目標(biāo),首先要尋求捕捉目標(biāo)動態(tài)姿勢的輕巧傳感器。作為一種全新的交互傳感方式,Kinect正逐漸滲透到人們生活的各個領(lǐng)域[1]。在我國目前關(guān)于Kinect的應(yīng)用多在教育與娛樂方面,將它運(yùn)用于康復(fù)領(lǐng)域是一種新的探索嘗試。
基于 Kinect 傳感器開發(fā)的社區(qū)家庭式康復(fù)系統(tǒng)將使我們可以借助虛擬現(xiàn)實技術(shù)通過一臺 Kinect 傳感器和電腦,在一定范圍的空間內(nèi)實施趣味性的康復(fù)訓(xùn)練。再結(jié)合遠(yuǎn)程網(wǎng)絡(luò)技術(shù),將使受訓(xùn)者可以通過網(wǎng)絡(luò)咨詢治療師,而治療師通過網(wǎng)絡(luò)返回的訓(xùn)練效果給出意見與符合患者訓(xùn)練進(jìn)度的后續(xù)治療方案。這使治療師從繁重的工作中解脫出來,有利于增加患者數(shù)量和方便醫(yī)師在機(jī)械因素以外提供人情關(guān)懷,并逐漸形成具有較強(qiáng)醫(yī)學(xué)性與醫(yī)院緊密聯(lián)系的網(wǎng)絡(luò)社區(qū),從而定期得到技術(shù)與健康指導(dǎo)并完善患者的后期康復(fù)療程。
“讓有限數(shù)量的治療師面對更多數(shù)量的患者”是我國康復(fù)治療領(lǐng)域亟待解決的問題。將 Kinect 與計算機(jī)技術(shù)結(jié)合運(yùn)用于康復(fù)領(lǐng)域所研制的社區(qū)家庭康復(fù)系統(tǒng),可以有效從“質(zhì)”(康復(fù)效果)和“量”(患者數(shù)量)上提高我國的康復(fù)水平,具有非常廣闊的前景。
1.1 系統(tǒng)平臺的構(gòu)成
家庭式康復(fù)系統(tǒng)的硬件部分由 Kinect 傳感器和計算機(jī)構(gòu)成。物理上則有5大模塊,如下所列:
1)傳感器數(shù)據(jù)采集處理模塊:數(shù)據(jù)采集、數(shù)據(jù)轉(zhuǎn)換;
2)后臺實時數(shù)據(jù)處理模塊:數(shù)據(jù)處理、數(shù)據(jù)存儲、數(shù)據(jù)輸出;
3)虛擬老師標(biāo)準(zhǔn)動作模型庫:患者訓(xùn)練模式及動作選擇功能和動作指導(dǎo)功能服務(wù);
4)患者動態(tài)形象虛擬化模塊:患者虛擬化服務(wù)與實現(xiàn);
5)網(wǎng)絡(luò)交流模塊:患者數(shù)據(jù)上傳、醫(yī)師數(shù)據(jù)下載;
系統(tǒng)主要結(jié)構(gòu)示意如下圖1所示:
圖1 家庭式康復(fù)系統(tǒng)主要結(jié)構(gòu)示意圖
1.2 家庭康復(fù)系統(tǒng)平臺邏輯構(gòu)成
系統(tǒng)邏輯上分為3個應(yīng)用部分,名稱及功能分別為:
1)患者訓(xùn)練客戶端:提供康復(fù)訓(xùn)練服務(wù)及數(shù)據(jù)維護(hù);
2)患者網(wǎng)絡(luò)服務(wù)客戶端:數(shù)據(jù)上傳與醫(yī)師建議下載;
3)醫(yī)師網(wǎng)絡(luò)服務(wù)客戶端:數(shù)據(jù)查看及個人建議上傳;
此三部分基本實現(xiàn)系統(tǒng)的單機(jī)與網(wǎng)絡(luò)功能。
1.3 基礎(chǔ)技術(shù)開發(fā)平臺
整個系統(tǒng)的開發(fā)環(huán)境采用的是 Visual Studio 2010,使用了 Kinect for Windows SDK v1.6 進(jìn)行傳感器操作?;颊哂?xùn)練客戶端采用 Windows窗體應(yīng)用程序與 WPF 應(yīng)用程序搭建;網(wǎng)絡(luò)服務(wù)客戶端均采用 ASP.NET WEB 應(yīng)用程序構(gòu)建。
1.4 網(wǎng)絡(luò)設(shè)計
系統(tǒng)網(wǎng)絡(luò)模塊目前分兩部分:患者與醫(yī)師登陸客戶端,利用 VS2010 的 ASP.NET 構(gòu)建。主要功能為:使醫(yī)師可以按編號查閱患者訓(xùn)練信息并提交評價與建議,患者可瀏覽醫(yī)師反饋信息與瀏覽相關(guān)網(wǎng)站。
系統(tǒng)的工作流程為:①用戶界面初始化;②用戶動態(tài)訓(xùn)練實時數(shù)據(jù)采集;③患者形象動態(tài)虛擬化;④用戶訓(xùn)練評分;⑤評價和患者動作細(xì)節(jié)記顯示;⑥網(wǎng)絡(luò)模塊數(shù)據(jù)上傳。
2.1 Kinect傳感器數(shù)據(jù)采集處理模塊
Kinect作為史上銷售最快的電子消費產(chǎn)品【3】,是微軟公司推出的一款高性能的體感器。它由紅外投影機(jī)、彩色攝像頭、紅外深度投影頭和 PrimeSense 的 PS1080 SoC 芯片組成,空間判斷精確度為 4mm。 Kinect傳感器將數(shù)據(jù)采集和處理結(jié)合一體,可提供三大類原始數(shù)據(jù)信息:深度數(shù)據(jù)流、彩色視頻流和原始音頻流,如圖2所示:
圖2 Kinect傳感器數(shù)據(jù)流應(yīng)用示意
其獨特骨骼追蹤技術(shù)將用戶全身虛擬化為 20個關(guān)節(jié)點【4】。利用微軟公司提供的 Kinect SDK 的 APIs 來實現(xiàn)對Kinect傳感器的控制操作。
Kinect傳感器使用的整個過程包括:初始化并啟動傳感器,數(shù)據(jù)流操作,釋放資源并關(guān)閉。在 WindowLoaded()函數(shù)中實現(xiàn)傳感器的初始化,邏輯判斷無誤后啟動傳感器。
由于 Kinect 同時追蹤 6 人而只有一位患者,所以系統(tǒng)將骨骼追蹤限定為只有第一個被追蹤的人, 使患者訓(xùn)練時可獲他人幫助。關(guān)鍵語句如下:
Skeleton currentskeleton = (from s in skeletons where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault();
系統(tǒng)利用 SensorSkeletonFrameReady()函數(shù)對骨骼數(shù)據(jù)進(jìn)行處理,數(shù)據(jù)處理與繪圖的過程如圖3所示:
圖3 SensorSkeletonFrameReady()函數(shù)流程
①獲取數(shù)據(jù)流,重新分配存放緩沖區(qū);②獲得數(shù)據(jù)流中每一幀的新數(shù)據(jù),并釋放緩沖區(qū);③判斷骨骼追蹤狀態(tài)之后選擇相應(yīng)的執(zhí)行方式。
2.2 后臺實時數(shù)據(jù)處理模塊
數(shù)據(jù)采集并初步處理后,系統(tǒng)對用戶的運(yùn)動數(shù)據(jù)進(jìn)行實時評分,為實現(xiàn)自動評分,每個動作對應(yīng)的算法均對每幀數(shù)據(jù)進(jìn)行操作?;镜脑硎怯嬎愠鱿鄳?yīng)關(guān)節(jié)連線的夾角,再根據(jù)關(guān)節(jié)點的具體位置進(jìn)行相關(guān)動作得分的評判。其中提取患者關(guān)節(jié)點數(shù)據(jù)程序語句如下:
wex=skeleton.Joints[JointType.WristRight].Position.X-ske leton.Joints[JointType.ElbowRight].Position.X;
2.3 虛擬老師標(biāo)準(zhǔn)動作模型庫
目前系統(tǒng)共收錄了五個動作別針對手臂與腿部,用戶可選擇的訓(xùn)練模式有兩個,分別為:標(biāo)準(zhǔn)模式(有4個動作,不能增減和改變順序);高級模式(在五個動作內(nèi)自主選擇,數(shù)目和順序自定)。根據(jù)用戶的選擇指導(dǎo)部分將相應(yīng)的虛擬老師動作按照相應(yīng)順序逐個顯示,每個動作指導(dǎo)與評分均歷時 30秒并且都具有相應(yīng)評價與特定細(xì)節(jié)識別函數(shù),訓(xùn)練完畢總評算法給出綜合評價并生成患者訓(xùn)練信息 txt文檔。
2.4 患者動態(tài)形象虛擬化模塊
系統(tǒng)設(shè)置 Kinect采集數(shù)據(jù)幀率為每秒 30 幀,并顯示虛擬化患者——動態(tài)實時火柴人,保證用戶可在虛擬訓(xùn)練環(huán)境中對比自己與虛擬老師的差異進(jìn)行適當(dāng)調(diào)整。火柴人由 20個關(guān)節(jié)點組成如見圖4所示:
圖4 Kinect 虛擬人體的 20 個關(guān)節(jié)點
實現(xiàn)人物虛擬化鏡像。構(gòu)造 DrawBone()函數(shù),對應(yīng)連接20個關(guān)節(jié)點,完成火柴人的繪制。代碼如下:
drawingContext.DrawLine(drawPen,
this.SkeletonPointToScreen(joint0.Position),this.SkeletonPoint ToScreen(joint1.Position));
2.5 網(wǎng)絡(luò)交流模塊
此部分主要針對訓(xùn)練結(jié)束后產(chǎn)生的 txt文檔進(jìn)行操作,利用 ASP.NET WEB 應(yīng)用程序初步實現(xiàn)患者與醫(yī)師使用客戶端登陸后在網(wǎng)絡(luò)頁面查看或者輸入提交相應(yīng)信息?;颊叩顷戫撁嫒缦聢D5所示:
圖5 患者登陸頁面
為了測試系統(tǒng)的穩(wěn)定性,編程并選取粗大動作—肘關(guān)節(jié)屈曲 80°—90°進(jìn)行了測試。
由于傳感器芯片 PrimeSense 的深度測量技術(shù)---Light Coding 利用激光散斑原理(激光在散射體表面的漫反射時在散射表面或附近光場中可觀察到一種無規(guī)分布的亮暗光點),因此被檢測者須與環(huán)境背景有明顯的區(qū)分度。同時Kinect 的探測范圍是 0.8~3.5m,所以實驗采用白色墻壁背景,測試者身著非純白色日常服飾站立在探測區(qū)內(nèi)動作。
實驗環(huán)境如圖6所示:
圖6 實驗室傳感器位置示意
實驗記錄如表1所列:
表1 實驗數(shù)據(jù)記錄
3 51.12 85.61 很不錯哦,不過動作有些太大了4 79.65 100 太棒了!您的動作完全符合要求5 87.32 100 太棒了!您的動作完全符合要求6 92.45 100 太棒了!您的動作完全符合要求7 98.66 88.80 需要繼續(xù)努力,請把手臂再抬高一些吧8 105.43 84.76 需要繼續(xù)努力,請把手臂再抬高一些吧9 170.65 75 離要求還有些距離,請再努力一些吧!10 136.73 75 離要求還有些距離,請再努力一些吧!
標(biāo)準(zhǔn)動作引導(dǎo)下的受訓(xùn)者動作實時復(fù)現(xiàn)如圖7所示:
圖7 標(biāo)準(zhǔn)動作引導(dǎo)下的受訓(xùn)者動作實時復(fù)現(xiàn)
左圖為虛擬老師肘關(guān)節(jié)屈曲動作引導(dǎo),右圖為患者的火柴人
經(jīng)多次測試驗證系統(tǒng)的穩(wěn)定性與可靠性,患者火柴人的同步性較高,即使快速動作也無明顯延遲和停滯。
隨著我國人口老齡化趨勢加重,目前專業(yè)康復(fù)醫(yī)護(hù)人員與患者數(shù)量不相匹配的狀況較為嚴(yán)重【5】,利用虛擬現(xiàn)實技術(shù)與康復(fù)治療結(jié)合能有效減輕康復(fù)醫(yī)護(hù)人員工作壓力,增加可治療患者數(shù)量,提升康復(fù)效果,最終達(dá)到雙贏的局面。盡管目前國內(nèi)關(guān)于康復(fù)訓(xùn)練的系統(tǒng)及儀器為數(shù)眾多,不過在可普及到社區(qū)和家庭的經(jīng)濟(jì)實用的康復(fù)訓(xùn)練設(shè)施部分仍然有所欠缺?;?Kinect 傳感構(gòu)建的家庭式康復(fù)訓(xùn)練將會成為更多患者家庭康復(fù)的首選,相關(guān)的系統(tǒng)也將會逐漸被廣大患者接受。
[1]徐獻(xiàn)金,腦卒中執(zhí)行功能障礙康復(fù)技術(shù)的研究進(jìn)展,[J]中國康復(fù)理論與實踐,2013,1(19)
[2]周柳,王英華,劉強(qiáng),孫弘進(jìn).虛擬現(xiàn)實技術(shù)在運(yùn)動康復(fù)中的應(yīng)用[J].中國組織工程研究與臨床康復(fù),2007,1 1(5):957-960.
[3]余濤.Kinect 應(yīng)用開發(fā)實戰(zhàn):用最自然的方式與機(jī)器對話,[M]機(jī)械工業(yè)出版社,2012,11
[4]MSDN:Microsoft.Kinect. http://msdn.microsoft.com/e n-us/library/microsoft.kinect.aspx,2013 年 3 月 28 日
[5]王瑞利,劉更謙,于慶增. 虛擬現(xiàn)實在踝關(guān)節(jié)康復(fù)系統(tǒng)中的應(yīng)用[J];醫(yī)療保健器具,2006 年 11 期:24-26
Study of a Community Hosehold Rehabilitation System Based on Kinect and Virtual Reality
Yang Yi1, Xu Yuan2, Zhang Junjie3, Liu Yan1
1(Department of Biomedical Engineering in Zhong Shan School of Medicine , SYSU , Guangzhou 510080,China)
Although rehabilitation training needs to be taken in hospital, moving considerable amount of training to patients’ home and sending feedbacks to hospital regularly has lots of benefits. As it can reduce the workload of rehabilitation therapists, supply patients with a more comfortable environment and better late treatment. This thesis is aimed at discussing about the feasibility of community household rehabilitation system and introducing the preliminary implementation and improvement. The system uses Kinect sensor to track the motion of patients, get original depth data stream and collect the information of the 20 joints of the patient. It creates a dynamic real-time changing stickman and practicing environment on the platform of Visual Studio 2010 with the data basis before. At the meantime, the computer uses the algorithm to compare the collected data with the model, store the history of the details of the practice and show the results to therapists and patients when the designed time is reached. And it also can output the training records for later network social communication. There are five main actions and they are: clapping hands, raising hands and holding ,dropping hands, right leg cycling ,left leg cycling.
Virtual Reality; Household; Rehabilitation Training; Kinect Sensor; Dynamic Real-time Changing Stickman Auto Rating
TP311
A
1007-757X(2014)02-0032-03
2014.02.21)
楊 藝,女,廣東,中山醫(yī)學(xué)院生物醫(yī)學(xué)工程系,生物醫(yī)學(xué)工程專業(yè)碩士,廣州,510080許 源,男,廣東,中山醫(yī)學(xué)院生物醫(yī)學(xué)工程系,生物醫(yī)學(xué)工程專業(yè)碩士,廣州,510080張俊杰,男,廣東,中山醫(yī)學(xué)院生物醫(yī)學(xué)工程系,生物醫(yī)學(xué)工程專業(yè)碩士,廣州,510080劉 燕,中山醫(yī)學(xué)院生物醫(yī)學(xué)工程系,副教授,項目指導(dǎo)老師,碩士,醫(yī)學(xué)信息學(xué),廣州 ,510080,