魯竹君等
摘要:基于Kinect的3D醫(yī)學(xué)影像輔助診療系統(tǒng)在VTK(Visualization Toolkit)的基礎(chǔ)上對(duì)二維DICOM序列醫(yī)學(xué)影像進(jìn)行了三維重建。利用Kinect設(shè)備作為3D影像控制器,擺脫了傳統(tǒng)交互設(shè)備(鼠標(biāo)、鍵盤) 操控3D影像的局限性、帶菌性,醫(yī)生可以在真實(shí)的3D空間進(jìn)行無(wú)菌操作。利用Kinect對(duì)用戶手掌進(jìn)行跟蹤,記錄并分析不同動(dòng)作的數(shù)據(jù)變化特征,重復(fù)記錄并分析多人數(shù)據(jù),驗(yàn)證特征的準(zhǔn)確性。對(duì)伸展或并攏雙手動(dòng)作用最小二乘法進(jìn)行線性擬合,即通過(guò)數(shù)據(jù)模型匹配來(lái)識(shí)別用戶行為。在識(shí)別出正確的指令后,對(duì)響應(yīng)程度值進(jìn)行轉(zhuǎn)換,最終確定3D醫(yī)學(xué)影像變化,進(jìn)而實(shí)現(xiàn)在無(wú)接觸性操作情況下,用戶能在真實(shí)3D空間對(duì)三維重建后的醫(yī)學(xué)影像進(jìn)行無(wú)菌控制。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的方案能準(zhǔn)確識(shí)別用戶行為,且圖像變換效果符合大多數(shù)用戶的自然習(xí)慣。
關(guān)鍵詞:Kinect; DICOM; 三維重建; 行為識(shí)別
DOIDOI:10.11907/rjdk.143764
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):16727800(2015)001014303
0 引言
本文對(duì)基于Kinect的3D醫(yī)學(xué)影像輔助診療系統(tǒng)進(jìn)行了研究。本研究主要是基于Kinect設(shè)備,利用VTK三維圖像處理類庫(kù),結(jié)合醫(yī)學(xué)圖像三維重建算法,對(duì)二維DICOM序列醫(yī)學(xué)影像進(jìn)行三維重建,實(shí)現(xiàn)無(wú)菌隔空操控3D醫(yī)學(xué)影像輔助診療系統(tǒng)。本文提出了系統(tǒng)整體實(shí)現(xiàn)路線,并設(shè)計(jì)了系統(tǒng)涉及的主要算法。
1 研究背景及應(yīng)用場(chǎng)合
目前,醫(yī)學(xué)影像存檔與通信系統(tǒng)(Picture Archiving and Communication Systems,PACS)已經(jīng)在醫(yī)院中普遍使用,為實(shí)現(xiàn)海量醫(yī)學(xué)影像數(shù)據(jù)的存儲(chǔ)、管理、計(jì)算作出了巨大貢獻(xiàn)。然而,醫(yī)生在PACS上查看的醫(yī)學(xué)影像均為二維影像,欲得到病變部位的三維信息,需瀏覽一個(gè)序列的二維醫(yī)學(xué)影像來(lái)進(jìn)行推斷[1,2],這種做法不能保證信息的準(zhǔn)確性及完整性。而手術(shù)對(duì)無(wú)菌有嚴(yán)格要求,醫(yī)生在手術(shù)期間不可能操作PACS,如若有此需求,只能求助他人。
隨著計(jì)算機(jī)技術(shù)的發(fā)展和醫(yī)學(xué)影像的進(jìn)步,3D醫(yī)學(xué)影像應(yīng)用越來(lái)越廣泛,其在醫(yī)療領(lǐng)域中的地位越來(lái)越重要。醫(yī)學(xué)3D重建技術(shù)是計(jì)算機(jī)可視化領(lǐng)域的一部分,3D醫(yī)學(xué)影像能夠有效地提高醫(yī)生的診斷效率和診斷水平,提高醫(yī)療服務(wù)水平 [3]。
基于Kinect實(shí)現(xiàn)人機(jī)交互的3D醫(yī)學(xué)影像診療輔助系統(tǒng),遵循DICOM標(biāo)準(zhǔn),通過(guò)Internet與醫(yī)院的PACS系統(tǒng)通訊[4,5],對(duì)二維DICOM(digital image and communication on medicine)序列醫(yī)學(xué)影像進(jìn)行三維重建,研究出只需顯示器及Kinect便可通過(guò)手勢(shì)及語(yǔ)音操作的3D醫(yī)學(xué)影像醫(yī)療輔助系統(tǒng)。該系統(tǒng)可用于手術(shù)室、醫(yī)生診室以及各影像科、醫(yī)學(xué)課堂等。在手術(shù)室應(yīng)用不僅能提高手術(shù)成功率與手術(shù)實(shí)施率,還可以方便醫(yī)生對(duì)實(shí)習(xí)生進(jìn)行教學(xué);在醫(yī)生診室,可以通過(guò)三維醫(yī)學(xué)影像反饋病變部位三維信息,提高診斷準(zhǔn)確率;在醫(yī)學(xué)課堂上,絢麗的3D動(dòng)畫、人機(jī)交互效果可以大大提高學(xué)生的學(xué)習(xí)興趣,使教學(xué)更形象化。
2 關(guān)鍵問(wèn)題分析
針對(duì)醫(yī)生不能快速準(zhǔn)確地從二維DICOM序列醫(yī)學(xué)影像中獲得病變區(qū)的大小、位置、形狀等三維信息問(wèn)題,可以通過(guò)特定的重建算法,將二維DICOM序列醫(yī)學(xué)圖像重建為三維虛擬實(shí)體。結(jié)合Kinect for Windows技術(shù),為進(jìn)一步診斷病情、虛擬手術(shù)等提供豐富直觀的信息與交互手段[6]。
3D醫(yī)學(xué)影像輔助診療系統(tǒng)通過(guò)VTK讀取DICOM標(biāo)準(zhǔn)醫(yī)學(xué)影像序列[7],并用相關(guān)三維重建算法對(duì)其進(jìn)行三維重建,三維重建采用體繪制法[8-10]。對(duì)于重建出來(lái)的3D模型,醫(yī)生不再采用傳統(tǒng)的鼠標(biāo)或鍵盤操控,而是使用更為舒適且無(wú)菌的隔空操控。為使操控方式符合多數(shù)人的習(xí)慣,對(duì)各操控動(dòng)作所產(chǎn)生的空間坐標(biāo)信息進(jìn)行追蹤,如縮放、三維旋轉(zhuǎn)等,然后分析數(shù)據(jù)變化特征,根據(jù)對(duì)應(yīng)特征識(shí)別出對(duì)應(yīng)行為。為使對(duì)應(yīng)行為響應(yīng)更為舒適,對(duì)3D模型變化的程度進(jìn)行重復(fù)對(duì)比,得出使用者感到舒適的值。
3 系統(tǒng)交互相關(guān)算法設(shè)計(jì)
3.1 雙手運(yùn)動(dòng)數(shù)據(jù)采集及分析
編寫Kinect Depth Stream數(shù)據(jù)采集程序,以時(shí)間為橫軸,分別以Hand Right、Hand Left關(guān)節(jié)點(diǎn)X、Y、Z分量為縱軸繪制圖像。實(shí)驗(yàn)者做伸展和并攏雙手動(dòng)作時(shí),3個(gè)方向數(shù)據(jù)變化情況如圖1所示。
初步推斷,實(shí)驗(yàn)者在進(jìn)行伸展或并攏雙手動(dòng)作時(shí),X方向的數(shù)據(jù)呈線性變化,變化系數(shù)與運(yùn)動(dòng)速度相關(guān)。采用最小二乘法對(duì)X方向的數(shù)據(jù)進(jìn)行線性擬合。
利用Visual Studio 2013編寫Kinect Skeleton Stream基本程序,在程序內(nèi)用最小二乘法對(duì)Hand Left、Hand Right關(guān)節(jié)點(diǎn)X分量數(shù)據(jù)進(jìn)行線性擬合并計(jì)算出擬合優(yōu)度。結(jié)合Kinect Studio V1.8.0工具采集伸展雙手及并攏雙手的樣本數(shù)據(jù),分析所得數(shù)據(jù)。雙手做自然伸展或并攏動(dòng)作時(shí),X坐標(biāo)值用線性方程進(jìn)行擬合,平均有88%的擬合優(yōu)度,誤差量?jī)H12%。由此得出大多數(shù)人在自然伸展或并攏雙手時(shí),手部空間數(shù)據(jù)在Kinect空間坐標(biāo)系X方向上是呈線性變化的,變化系數(shù)與運(yùn)動(dòng)速度相關(guān)。
圖1 伸展和并攏雙手動(dòng)作深度數(shù)據(jù)在X、Y、Z分量隨時(shí)間變化顯示
3.2 動(dòng)作識(shí)別與3D醫(yī)學(xué)影像控制
為使用戶更自然地控制3D醫(yī)學(xué)圖像模型,允許用戶任意活動(dòng)雙手,將握拳的手作為操控點(diǎn),以確保高效響應(yīng)。系統(tǒng)對(duì)動(dòng)作的識(shí)別流程如圖2所示,其中左X極、左X始、右X極及 右X始均是Kinect視野內(nèi)的原始空間坐標(biāo)X值,并未轉(zhuǎn)換至圖像坐標(biāo)系。左X極、右X極是雙手空間坐標(biāo)X值變化的極值,至于偏移量0.50是反復(fù)測(cè)試得出的交互效果較好的值。
系統(tǒng)識(shí)別出正確的指令后,再次設(shè)計(jì)移動(dòng)、縮放、三維旋轉(zhuǎn)操作響應(yīng)程度的轉(zhuǎn)換算法,把真實(shí)3D空間的數(shù)據(jù)變化轉(zhuǎn)換至虛擬3D空間。
4 行為識(shí)別實(shí)驗(yàn)結(jié)果
為了測(cè)試系統(tǒng)運(yùn)用Kinect控制3D模型的子功能,編寫動(dòng)作識(shí)別及響應(yīng)效果測(cè)試程序。由實(shí)驗(yàn)者在Kinect面前分別做移動(dòng)、三維旋轉(zhuǎn)、縮放動(dòng)作,分別由4名實(shí)驗(yàn)者進(jìn)行多次測(cè)試,記錄結(jié)果,實(shí)驗(yàn)數(shù)據(jù)如表1所示。
根據(jù)處于握拳狀態(tài)并在運(yùn)動(dòng)的手的數(shù)量進(jìn)行移動(dòng)動(dòng)作識(shí)別,握拳動(dòng)作的識(shí)別調(diào)用Kinect for Windows SDK中封裝在Microsoft.Kinect.Toolkit.Interaction.dll的相關(guān)API實(shí)現(xiàn)。此動(dòng)作識(shí)別已經(jīng)由Microsoft測(cè)試通過(guò)并正式發(fā)布。本文再次進(jìn)行了微量測(cè)試,成功率100%。表1重點(diǎn)描述了系統(tǒng)自主設(shè)計(jì)算法的測(cè)試結(jié)果。
從表1中可以看出,經(jīng)過(guò)多人測(cè)試,系統(tǒng)的動(dòng)作識(shí)別準(zhǔn)確率高,通過(guò)追蹤雙手的空間信息所轉(zhuǎn)換出來(lái)的響應(yīng)程度基本符合常理,變化也較為流暢,實(shí)驗(yàn)者有較好的交互體驗(yàn)。由于實(shí)驗(yàn)者數(shù)量限制,本測(cè)試并不能代表所有人的習(xí)慣,但能滿足大多數(shù)人的習(xí)慣。
5 結(jié)語(yǔ)
基于Kinect的3D醫(yī)學(xué)影像輔助診療系統(tǒng)主要由Visual Studio 2013集成開發(fā),通過(guò)WPF編碼。系統(tǒng)將二維DICOM序列醫(yī)學(xué)影像進(jìn)行三維重建,為醫(yī)生提供患者病變信息,整合了第三代自然人機(jī)交互技術(shù),滿足了醫(yī)院的無(wú)菌化要求。系統(tǒng)采用行為識(shí)別來(lái)判斷用戶的操作意向,是人工智能在醫(yī)院的應(yīng)用之一。對(duì)二維DICOM序列醫(yī)學(xué)影像進(jìn)行三維重建是難點(diǎn)之一,本文在VTK三維圖像處理類庫(kù)的基礎(chǔ)上,采用體繪制法將醫(yī)學(xué)圖像三維重建。在生成醫(yī)學(xué)3D模型后,為使醫(yī)生能隔空對(duì)3D模型進(jìn)行操作,系統(tǒng)通過(guò)對(duì)手部運(yùn)動(dòng)的數(shù)據(jù)變化特征進(jìn)行模型匹配來(lái)識(shí)別動(dòng)作??s放指令是伸展或并攏雙手動(dòng)作,該動(dòng)作的部分?jǐn)?shù)據(jù)特征是線性變化的。通過(guò)最小二乘法進(jìn)行曲線擬合,并設(shè)計(jì)實(shí)驗(yàn)驗(yàn)證特征的準(zhǔn)確性。經(jīng)過(guò)測(cè)試,系統(tǒng)能有效識(shí)別出對(duì)應(yīng)的縮放、三維旋轉(zhuǎn)、移動(dòng)操作指令,同時(shí),系統(tǒng)有較好的體驗(yàn)。
由于動(dòng)作識(shí)別算法較為簡(jiǎn)單,本文系統(tǒng)的識(shí)別能力還有不足,這是下一步的研究方向。擬采用神經(jīng)網(wǎng)絡(luò)算法來(lái)實(shí)現(xiàn)動(dòng)作識(shí)別,通過(guò)多組訓(xùn)練,最終生成合適的神經(jīng)網(wǎng)絡(luò)。另外,還可以考慮為系統(tǒng)加入隔空提取相關(guān)檔案、3D打印等功能。