郭 琦,鄭津津
(中國科學(xué)技術(shù)大學(xué)精密機械與精密儀器系,安徽 合肥 230027)
虛擬手術(shù)是一門綜合性學(xué)科,利用醫(yī)學(xué)影像的數(shù)據(jù)和虛擬現(xiàn)實技術(shù),通過計算機和力學(xué)反饋設(shè)備構(gòu)建一個虛擬的環(huán)境,可以為外科醫(yī)生提供虛擬的訓(xùn)練、學(xué)習(xí)環(huán)境,還可以應(yīng)用于手術(shù)前的規(guī)劃和演練,以提高手術(shù)的成功率[1]。虛擬手術(shù)涉及到醫(yī)學(xué)、計算機圖形學(xué)和材料科學(xué)等領(lǐng)域,需要用到幾何建模、物理建模、碰撞檢測、變形計算和觸覺反饋等技術(shù)[2]。目前,國外的許多大學(xué)、研究機構(gòu)和商業(yè)公司都對醫(yī)學(xué)的虛擬手術(shù)進行了研究和實踐,尤其是在手術(shù)的仿真訓(xùn)練領(lǐng)域[3]。在國內(nèi)也有很多機構(gòu)進行相關(guān)研究工作,主要研究方向集中在醫(yī)學(xué)影像的三維重建、手術(shù)過程中的碰撞檢測和模擬軟組織的變形計算等方面[4-5]。為此,設(shè)計并實現(xiàn)了一種支持觸覺反饋的虛擬手術(shù)系統(tǒng),可以實時觀察虛擬手術(shù)的過程,并感受到手術(shù)過程中的觸覺。
虛擬手術(shù)仿真系統(tǒng)結(jié)構(gòu)如圖1所示,其中力學(xué)反饋設(shè)備是整個系統(tǒng)中價格最昂貴,也是最重要的組成部分。操作者可以通過控制力學(xué)反饋設(shè)備的手柄,由力學(xué)反饋設(shè)備中的傳感器跟蹤手柄的位置、運動和轉(zhuǎn)動,從而控制虛擬手術(shù)中的刀具;同時力學(xué)反饋設(shè)備還能將虛擬手術(shù)中生成的觸覺信息通過手柄反饋給操作者;這樣,操作者就可以實時感受手術(shù)過程中的觸覺反饋。顯示設(shè)備可以將整個手術(shù)過程中的虛擬場景實時地顯示在操作者的面前,這樣,就能產(chǎn)生相對逼真的虛擬手術(shù)環(huán)境。
圖1 仿真系統(tǒng)結(jié)構(gòu)
系統(tǒng)使用的硬件是PHANTOM Premium 1.5/6DOF力反饋器,仿真系統(tǒng)所用的計算機配置為Intel(R)Pentium(R)43.00GHz處理器、512MB內(nèi)存和NVIDIA GeForce 7600GS圖形顯卡等。
系統(tǒng)所用到的力學(xué)反饋設(shè)備如圖2所示。操作者通過力反饋器的手柄控制虛擬刀具與虛擬肝臟的交互作用。力學(xué)反饋器的手柄有6個自由度,包括沿X,Y,Z方向的移動自由度和3個轉(zhuǎn)動自由度;因此可以模擬出刀具任意的空間運動姿態(tài)。它的平移分辨率是0.03mm,旋轉(zhuǎn)、搖擺分辨率是0.0023°。同時,它可以產(chǎn)生多種反饋力效果,比如直接作用力、脈沖和顫動等,可以使操作者實時地感受到虛擬手術(shù)過程中的作用力。
圖2 力學(xué)反饋設(shè)備
虛擬手術(shù)系統(tǒng)軟件以MFC類庫、OpenGL圖形庫、力學(xué)反饋設(shè)備的驅(qū)動程序以及力學(xué)反饋設(shè)備所提供的應(yīng)用程序編程接口,包括Haptic Device API(HDAPI)和 Haptic Library API(HLAPI)為基礎(chǔ),開發(fā)環(huán)境是Visual Studio,軟件運行的平臺是Windows XP。虛擬手術(shù)軟件的體系結(jié)構(gòu)如圖3所示。
圖3 軟件體系
力學(xué)反饋設(shè)備提供的API可以提供低層的接口函數(shù),這樣,編寫程序時就可以把主要工作放在觸覺場景的產(chǎn)生、控制場景中的力學(xué)屬性、對場景中模型的控制以及觸覺反饋的效果等方面。
構(gòu)建虛擬手術(shù)所需的柔性物體模型,需要考慮幾何建模和物理建模。力變形模型建模的基本思路是通過幾何插值法,改變模型表面點的位置坐標從而改變物體的形狀;并通過前后坐標之間的差值,即變形量來計算接觸力[6]。
有限元模型以連續(xù)介質(zhì)力學(xué)和彈性力學(xué)為基礎(chǔ),將模型連續(xù)地離散為若干個單元,單元之間通過邊界上的節(jié)點相互聯(lián)結(jié)。用每個單元的近似函數(shù)分片地表示未知變量場,再通過變分原理或加權(quán)余量法,建立代數(shù)方程組或常微分方程組,以求解基本未知量。計算位移變量時,有限元每個單元的任意一處位移都可以通過位移函數(shù),也就是該單元節(jié)點位移值來確定[7]。由于單元節(jié)點和單元邊界的共用性,位移在各單元之間是連續(xù)的。這樣,就能得到系統(tǒng)動力學(xué)平衡方程:
M,D和K分別為模型的質(zhì)量、阻尼和剛度,F(xiàn)為外力的合成向量,X為節(jié)點位移。由邊界條件可以求出各個單元節(jié)點的位移,再通過位移函數(shù)就能得到任意點的位移量。
有限元模型仿真精度較高,但計算量也比較大,也就耗時較長,因此在實際應(yīng)用時需要簡化。為此,Seiferta提出了快速有限元算法[8],Bro-Nielsen提出了濃縮技術(shù)的思想。濃縮技術(shù)也是基于線性假設(shè),希望能快速求解有限元方程。由于在虛擬現(xiàn)實技術(shù)中,人們更關(guān)心表面的形變而不是內(nèi)部的形變,所以就把方程系數(shù)矩陣中的和內(nèi)部節(jié)點形變相關(guān)的系數(shù)去除掉,從而降低了計算量[9]。Berkley借鑒了濃縮法的思想,加上一定的約束邊界條件,開發(fā)了一套手部虛擬縫合手術(shù)仿真系統(tǒng)[10]。
應(yīng)用最普遍的幾何建模方法是使用三角形面片構(gòu)造三維模型,優(yōu)點是在模型發(fā)生變形時,任意三點能確定一個平面,而不需要考慮模型如何變形,這是其他多邊形面片無法做到的[11]。
虛擬手術(shù)仿真系統(tǒng)在初始化中,除了要構(gòu)建MFC的程序框架之后,還要與力反饋設(shè)備建立通信連接并渲染出OpenGL視口。在此之后,操作者才能順利加載模型文件,包括虛擬手術(shù)所需的醫(yī)學(xué)模型和工具模型。程序支持OBJ和3DS模型,所有模型都可以由3DS MAX一類的三維造型軟件中導(dǎo)出,這樣,操作者就能非常方便地獲取和修改模型。程序流程如圖4所示。
圖4 系統(tǒng)流程
虛擬手術(shù)仿真系統(tǒng)中,單擊“加載模型”按鈕,從彈出的選擇文件對話框中選擇要加載的醫(yī)用模型文件。模型顯示在窗口界面后,操作者按住鼠標左鍵實現(xiàn)模型的旋轉(zhuǎn),按住鼠標的右鍵實現(xiàn)模型的平移拖動,用鼠標中間滾輪實現(xiàn)模型的縮放,這樣就能選擇實驗所需合適的視角。同時,系統(tǒng)還提供了多種模型的顯示方式,可以顯示點、線、面和線面,方便操作者觀察模型。單擊“模型屬性”按鈕,在彈出的模型屬性對話框中設(shè)置模型的物理屬性,如剛度系數(shù)、阻尼系數(shù)等。單擊“加載工具”按鈕,從彈出的加載工具對話框中,選擇所需的工具。這樣,就完成了所有的準備工作。
分析了一個基于VC++,OpenGL,HDAPI和HLAPI構(gòu)建的虛擬手術(shù)仿真系統(tǒng),通過PHANTOM Premium力反饋設(shè)備,能夠較好地模擬醫(yī)學(xué)手術(shù)的過程。在交互過程中,操作者能夠通過力反饋設(shè)備的手柄,實時地感受到手術(shù)中的觸覺。
系統(tǒng)還有局限性,今后要進一步完善的工作包括:優(yōu)化程序的算法,以提高計算速度;進一步研究人體軟組織的變形機理,考慮到軟組織的不均勻性、非線性和粘彈性等材料性質(zhì),以實現(xiàn)更加逼真的仿真效果。
[1]程立英.虛擬手術(shù)若干關(guān)鍵技術(shù)研究[D].沈陽:東北大學(xué),2006.
[2]薛 清.虛擬手術(shù)中的軟組織建模與應(yīng)用[D].上海:上海交通大學(xué),2006.
[3]王艷飛.虛擬手術(shù)系統(tǒng)的研究及其仿真平臺開發(fā)[D].沈陽:東北大學(xué),2006.
[4]張小瑞,宋愛國,孫 偉,等.支持力/觸覺反饋的虛擬肝臟手術(shù)仿真系統(tǒng)[J].東南大學(xué)學(xué)報(自然科學(xué)版),2009,39(3):490-494.
[5]張小瑞,孫 偉,宋愛國,等.用于實時人機交互的增強力觸覺模型[J].高技術(shù)通訊,2012,22(3):299-304.
[6]Salisbury,K,Barbagli F,Conti F.Haptic rendering:introductory concepts[J].IEEE Computer Graphics and Applications,2004,24(2):24-32.
[7]黃紹輝,王博亮.使用有限元模型仿真可變形物體的研究進展[J].系統(tǒng)仿真學(xué)報,2007,19(22):5315-5324.
[8]Seiferta S,Burgerta O,Wachter I,et al.Deformable modelling of the cervical spine for neurosurgical navigation[J].International Congress Series,2004,1268:455-460.
[9]Bro-Nielsen M.Finite element modeling in surgical simulation[J].Proceedings of the IEEE,1998,86(3):490-503.
[10]Berkley J,Turkiyyah G,Berg D,et al.Real-time finite element modeling for surgery simulation:an application to virtual suturing[J].IEEE Transactions on Visualization and Computer Graphics,2004,10(3):314-325.
[11]蔡 偉,況迎輝.觸覺可視化技術(shù)中柔性物體變形模型研究[J].計算機技術(shù)與發(fā)展,2010,20(3):20-23.