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