王磊,張耀楠,,何穎,唐亮,趙金龍
1.東北大學 中荷生物醫(yī)學與信息工程學院,遼寧 沈陽 110169;2.西安思源學院 電子信息工程學院,陜西 西安 710038
頸靜脈穿刺在臨床應用廣泛,如急救時的加壓輸液、輸血或采血標本等。由于穿刺部位血管分布密集,并靠近其他重要人體器官,對手術(shù)人員的技能有著很高的要求[1-2]。傳統(tǒng)的訓練方法是利用動物活體進行,不但訓練資源短缺,而且不能夠重復進行試驗。虛擬現(xiàn)實手術(shù)輔助系統(tǒng)通過采集并處理各類醫(yī)學圖像信息,結(jié)合虛擬現(xiàn)實技術(shù)在計算機中創(chuàng)建一個虛擬的手術(shù)仿真環(huán)境。醫(yī)生借助該系統(tǒng)中的三維立體場景進行手術(shù)路徑規(guī)劃、訓練,以及在實際手術(shù)過程中引導手術(shù)的進行。運用虛擬現(xiàn)實手術(shù)輔助系統(tǒng)能夠使操作人員沉浸于虛擬的手術(shù)場景中,通過視覺、聽覺和觸覺認知并學習各種手術(shù)動作,熟悉并掌握如何處理臨床的各類突發(fā)狀況。虛擬現(xiàn)實手術(shù)輔助系統(tǒng)不僅能夠解決傳統(tǒng)手術(shù)訓練的資源有限、訓練成本高、手術(shù)規(guī)劃困難等問題,還可以避免用動物活體實驗所引起的道德問題,同時極大地提高外科手術(shù)的學習效率,使用戶更好地在培訓期間掌握更高水準的手術(shù)技能,最大程度上避免了手術(shù)可能引起的并發(fā)癥[3-14]。
近年來,國內(nèi)也逐步開展了虛擬手術(shù)系統(tǒng)的研究,取得了不少進展,但對虛擬手術(shù)中的基本模塊如碰撞檢測,軟組織形變,模型的有限元剖分算法等領域的研究仍和國外有一定的差距。重慶大學和第三軍醫(yī)大學聯(lián)合開發(fā)的肝臟外科手術(shù)計劃系統(tǒng)具有較強的交互功能,運行速度快,可用于術(shù)前制定手術(shù)方案,有利于降低手術(shù)風險,保證手術(shù)的安全性,并在臨床上得到了初步的應用[15]。
東南大學主要致力于研究觸覺再現(xiàn),吳涓等[16]提出了一種用于柔性體的受力形變及實施觸覺響應的同心圓分割算法,該算法基于質(zhì)點—彈簧/阻尼器模型。離散的質(zhì)點由沿著法線方向和徑向分布的彈簧相連接,彈簧內(nèi)部受到的合力等于物體表面的接觸力,該算法具有速度快,實時性強等優(yōu)點。香港理工大學虛擬現(xiàn)實研究中心對軟組織的蠕變、形變間的非線性特性及遲滯與載荷進行了理論分析,開發(fā)出基于質(zhì)點彈簧模型的“力傳播”算法,并開發(fā)出一種低成本白內(nèi)障晶體狀超聲乳化手術(shù)訓練系統(tǒng)[17]。
虛擬手術(shù)系統(tǒng)是復雜的系統(tǒng),從頭開始用底層軟件構(gòu)建虛擬手術(shù)系統(tǒng)需要較長的時間和強大的團隊。而在一個合適的虛擬現(xiàn)實平臺基礎上構(gòu)建虛擬手術(shù)系統(tǒng)會大大加快實現(xiàn)時間、減少錯誤、減少費用、有助于相關理論的研究。在前期工作中,我們對可能的虛擬現(xiàn)實平臺進行調(diào)研,并且選擇用OpenGL、Unity3D、Spring System、GiPSi System和SOFA(Simulation Open Framework Architecture)平臺進行了體驗,最后選擇了SOFA作為我們的平臺。本文在虛擬平臺中采用有限元建模的方法構(gòu)建人體頭頸部和手術(shù)器械的體模型,為了得到兩個三維物體的體模型,在創(chuàng)建物體三維面模型的基礎上,采用SOFA對手術(shù)場景實現(xiàn)繪制,利用AABB算法構(gòu)建場景中的碰撞檢測,最后利用隱式歐拉法和共軛梯度算法對碰撞后皮膚的變形進行有限元求解,以證明利用SOFA構(gòu)建頸靜脈穿刺虛擬手術(shù)系統(tǒng)的可行性。
SOFA是一個基于物理仿真的開源框架,可應用于各類仿真應用,但其主要針對醫(yī)學實時仿真。其理念最早是由美國波士頓的醫(yī)療和創(chuàng)新技術(shù)綜合中心在2000年提出,其主要研發(fā)團隊有法國國家信息與自動化研究所、蘇黎世聯(lián)邦理工學院和澳大利亞聯(lián)邦科學與工業(yè)研究組織等,它具有以下幾個優(yōu)點:
(1)多模型表示方法。對于手術(shù)仿真中的同一個三維模型,可以在場景中具有多種表達方式,如表面可視化模型,行為模型,碰撞模型等。SOFA通過映射機制將同一個物體的多種表達方式連接起來形成一個完整的物理模型。在不必考慮其他模型受到影響的前提下,我們可以對同一物體的不同模型進行獨立設計,這種多模型的映射機制使得模型的建立和仿真場景的實現(xiàn)變得更加高效靈活。
(2)高度模塊化。因為每個物體具有的組件在場景中是相互獨立的,所以這個設計是高度模塊化的。在場景中,一個物理模型可以簡單地通過改變一個組件被另一個取代。以同樣的方式,一個顯式的歐拉方程也可以通過修改場景文件中的XML一行被換成一個隱式的集成方案。這樣高度模塊化的框架由下面訪問者機制實現(xiàn)。
(3)場景圖層次結(jié)構(gòu)。在SOFA里,模擬的過程被描述成一種具有內(nèi)在的廣義層次結(jié)構(gòu)的場景。這個場景是由節(jié)點組成,這些節(jié)點被組織成一個樹或一個有向無循環(huán)圖。模擬場景中的不同對象用彼此互相獨立的節(jié)點進行組織,可以在一個物體的子節(jié)點中構(gòu)建出該物體的不同表達方式。場景從一個被叫做根節(jié)點的父結(jié)點開始,其它節(jié)點都從這個主節(jié)點繼承,其他這些節(jié)點被稱作子節(jié)點。在不同的仿真步驟(初始化、系統(tǒng)組裝、解決可視化),信息需要從所有圖節(jié)點中恢復過來?;谠L問者的一個隱式的機制使數(shù)據(jù)實現(xiàn)恢復。你可以在Sofa Simulation包中找到抽象訪問者類(Visitor)。訪問者自頂向下和自底向上遍歷場景,并在每個遍歷到的圖節(jié)點調(diào)用相應的虛函數(shù)。因此,通過調(diào)用相關的虛函數(shù)(如動畫仿真、積累力量),Visitors用于觸發(fā)行動。模擬的物體上的算法操作是通過得到Visitor類并且重載它的虛函數(shù)top Down( )和bottom Up( )被執(zhí)行的。
SOFA具有良好的軟件操作界面,能夠提供大多數(shù)的三維圖形格式文件的導入,并且在框架內(nèi)部集成了大量的求解器和有限元分析方法,能夠快速地與力反饋設備實現(xiàn)連接,使開發(fā)者只需要關心手術(shù)場景中軟組織的形變計算,不需要從基礎的三維模型導入著手。在框架內(nèi)部提供了彈簧—質(zhì)點和有限元的行為模型,可以通過設置參數(shù),實現(xiàn)三角形,四面體和六面體形式的彈簧—質(zhì)點模型,有利于快速構(gòu)建出軟組織變形仿真場景。
常見的三維表面網(wǎng)格模型(面模型)的建模軟件有ZBrush、MAYA、3D Max、Blender、Silo等,其中Blender不僅具有開源跨平臺的優(yōu)點,而且能夠提供從建模、材質(zhì)、動畫、渲染、到音頻與視頻剪輯處理等一系列專業(yè)的三維建模和動畫短片制作解決方案。本文采用Blender 2.7.4.0對人體頭部和穿刺針進行幾何模型的構(gòu)建。
本文在SOFA中已有的人體頭部模型的基礎上,在Blender中對其網(wǎng)格結(jié)構(gòu)進行調(diào)整,刪除多余的頂點和重復的面,并對其網(wǎng)格進行三角面片化,得到人體頭部的表面模型在3d max中打開的模型效果,見圖1。
圖1 人體頭部的幾何模型
在通過圖形界面的三維建模軟件構(gòu)建出人體頭部和手術(shù)器械的三維體模型的基礎上,需要將面模型的網(wǎng)格分割成具有內(nèi)部結(jié)構(gòu)信息的體模型,常見的體模型的基本構(gòu)成單元包括四面體,六面體,由于SOFA內(nèi)部采用四面體網(wǎng)格作為物體的行為模型,所以本文將利用四面體剖分算法,對人體頭部和穿刺針的三維面模型網(wǎng)格進行四面體剖分。推動波前法(Advancing Frontal Technique,AFT)能夠很好地滿足SOFA對四面體網(wǎng)格剖分的需求。生成的手術(shù)器械的四面體網(wǎng)格模型,見圖2。
圖2 穿刺針的四面體網(wǎng)格模型
SOFA可以通過3種方法實現(xiàn)手術(shù)場景的構(gòu)建:C++、XML、圖形化用戶界面Modeler。本文采用第二種方法對手術(shù)場景進行構(gòu)建,XML是一種可擴展的標記性語言(Extensible Markup Language),可用于數(shù)據(jù)的跨平臺交互。XML構(gòu)造虛擬場景的部分代碼,見圖3。
圖3 構(gòu)造場景的部分XML文件示意圖
按照慣例,場景文件擴展名“.scn”。一個場景文件都包含一個各節(jié)點,封裝了整個場景圖,在根節(jié)點內(nèi)部定義了一些方正的總體屬性(如重力,背景顏色,燈光效果等)。節(jié)點能夠用XML形成嵌套式的屬性節(jié)都,根節(jié)點內(nèi)部的每一個節(jié)點都可以在場景中被分成不同的部分。在沒有添加SOFA內(nèi)部的組件時,節(jié)點本身是無用的。所謂的葉節(jié)點,意味著他們不可再分,葉子節(jié)點必須包含在根節(jié)點或其他場景中的節(jié)點之內(nèi)。XML屬性被稱為數(shù)據(jù),一個節(jié)點可以激活或不激活通過設置布爾數(shù)據(jù)字段激活“true”或“false”的方式允許使用者訪問和更改組件的不同屬性,構(gòu)建仿真場景和實現(xiàn)各個模型的不同組件是非常復雜的,SOFA通過引入場景圖層次結(jié)構(gòu)和訪問者機制使得遍歷場景圖變得十分簡單,其高度模塊化的特性也利于用戶隨時改變仿真的整體結(jié)構(gòu)。SOFA具有的映射機制能夠在同一物體的多模型之間建立連接關系,使被仿真的物體建立完整的物理屬性,如可視化模型實現(xiàn)三維物體的繪制并實時更新物體的位置和形變等信息,行為模型完成軟組織的有限元網(wǎng)格上的受力情況分析,碰撞模型則實時監(jiān)測物體之間的相對位置關系。
SOFA對常見的三維數(shù)據(jù)格式如VTK,STL,MSH和OBJ等提供了多種加載器,要使用這些特定的加載器,必須在XML場景文件手動連接數(shù)據(jù)依賴關系。本文首先利用記事本編輯scn文件實現(xiàn)場景的層次節(jié)點結(jié)構(gòu),仿真場景有根節(jié)點(Root)、人體頭部節(jié)點(Head)和穿刺針節(jié)點(Needle)組成,其中頭部節(jié)點和穿刺針節(jié)點均是根節(jié)點的子節(jié)點。在根節(jié)點中定義場景的重力場,燈光的位置,背景顏色和碰撞檢測的閾值與方式等基本仿真模塊。人體頭部和手術(shù)器械節(jié)點均由可視化模型,行為模型(有限元模型)和碰撞模型組成,其中可視化模型中定義了人體頭部和穿刺針的幾何數(shù)據(jù)拓撲關系,并通過兩者的質(zhì)心分別映射到各自的行為模型。利用SOFA中的三維模型加載器MeshObjLoader將2.1節(jié)中利用Blender構(gòu)建的穿刺針和人體頭部的OBJ文件導入仿真場景中,并利用MeshGmshLoader完成兩個體模型msh文件的導入。
在SOFA框架中實現(xiàn)了人體頭部的行為模型,生成的四面體有限元分析網(wǎng)格,見圖4。在這里實現(xiàn)了對虛擬手術(shù)系統(tǒng)物理模塊的建立。
圖4 一個頭部的行為模型
SOFA中的碰撞模型用于實現(xiàn)虛擬手術(shù)系統(tǒng)中碰撞檢測模塊,在SOFA框架中實現(xiàn)了人體頭部和虛擬手術(shù)穿刺針之間的點線碰撞模型,并在虛擬手術(shù)器械做定向移動的過程中構(gòu)建出軸向?qū)哟伟鼑鷺洌ˋABB tree),完成了對虛擬手術(shù)系統(tǒng)碰撞模塊的建立,見圖5。
圖5 一個頭部的碰撞模型
由于穿刺針的質(zhì)量相對于人體頭部較小,在穿刺過程中人體頭部的整體位移可以忽略不計,所以將其四面體網(wǎng)格的外圍頂點和頸部以上部分的自由度設置為零。場景中的穿刺針能夠沿著z軸方向勻速刺入人體頸部。至此,完成了頸靜脈穿刺仿真場景的建立。下面將討論對變形的求解過程。通過對場景中可視化模型、行為模型和碰撞檢測模型的定義,我們構(gòu)建出頸靜脈穿刺仿真手術(shù)的場景圖,見圖6。
圖6 頸部穿刺虛擬手術(shù)仿真場景定義
整體的仿真界面,見圖7。
圖7 基于SOFA的頸部穿刺虛擬手術(shù)界面
通過對場景中人體頭部的行為模型設置約束點,使人體頭部頸部以上的網(wǎng)格頂點在受針穿刺力的作用時,不產(chǎn)生位置上的改變,而未經(jīng)過約束處理的頸部皮膚,在針尖刺入皮膚的過程中,會隨著刺入深度的增加而產(chǎn)生明顯的形變。虛擬手術(shù)場景中的人體頭部與穿刺針的相關參數(shù),見表1。
表1 仿真模型參數(shù)
SOFA提供了多種用于仿真求解的運算器,本文使用行為模型中定義的隱式歐拉求解器和共軛梯度求解器實現(xiàn)軟組織的有限元變形。虛擬場景中穿刺針以恒定速度v=2 mm/s沿z軸運動,頸部皮膚變形,見圖8。
圖8 穿刺變形前(a)穿刺變形后(b)
在SOFA中通過對虛擬手術(shù)場景中的相關物理變量賦予真實人體皮膚參數(shù)后,可以得到頸部皮膚變形效果。通過調(diào)整各個參數(shù)的值,設計不同的實驗來獲得穿刺過程中的仿真數(shù)據(jù),能夠在虛擬場景中觀察到不同參數(shù)設置對皮膚變形效果的影響。
(1)不同軟組織楊氏模量對實驗的影響。根據(jù)楊氏模量所具有的物理意義可知,其取值的大小決定著軟組織的變形能力的強弱。通過設置不同的楊氏模量可以觀察到軟組織在穿刺針行進相同位移時,產(chǎn)生不同幅度的形變量,見圖9。這里我們選取具有典型意義的4個楊氏模量的值,體現(xiàn)出皮膚在受到穿刺力時,形變量的大小隨著楊氏模量取值的增加而呈現(xiàn)出減小的趨勢。
圖9 皮膚形變量在受到穿刺力時隨著楊氏模量取值增加而呈現(xiàn)出減小的趨勢
皮膚的楊氏模量決定了它在受到相同大小的作用力時,所產(chǎn)生形變量的大小,圖9中選取了不同的皮膚楊氏模量,穿刺針選用的是剛性穿刺針,在穿刺時保持泊松比、行進時間和剛度系數(shù)等其他物理量的大小相同,系統(tǒng)中能夠?qū)崿F(xiàn)不同的形變量大小的顯示與更新,可以完成不同楊氏模量對形變量的影響,將現(xiàn)實中的人體皮膚的楊氏模量賦予虛擬人體頭部,使實際手術(shù)場景中的物理變量和現(xiàn)實保持一致,有利于讓用戶體驗到真實的手術(shù)場景。
(2)泊松比對實驗的影響。泊松比是研究物體在受力方向上產(chǎn)生變形的同時,與載荷垂直的方向上的形變情況的物理量。當穿刺針沿著z軸方向運動時,受到沿著z軸的反向切割力的作用,在垂直于z軸的方向x和y方向上會產(chǎn)生形變,由于穿刺部位在頸部且關于z軸在x軸方向上對稱,受到來自于x軸正負兩個方向上的力相差不大,所以穿刺針在x軸方向上的形變量較小,可忽略不計,由于在y軸方向上,穿刺部位以上的四面體單元明顯多于穿刺點以下的四面體數(shù)量,在重力以及切割力的共同作用下會產(chǎn)生較為明顯的形變。如果選取的泊松比不夠恰當?shù)脑?,會使穿刺針在與軟組織發(fā)生碰撞以后,形成病態(tài)的穿刺效果,見圖10。
本文初步實現(xiàn)的頸部穿刺虛擬手術(shù)系統(tǒng)是現(xiàn)代醫(yī)學與虛擬現(xiàn)實技術(shù)相結(jié)合產(chǎn)生的重要研究領域,本文使用多模型物理實時仿真的開源框架SOFA,構(gòu)建了用于頸靜脈穿刺手術(shù)的虛擬現(xiàn)實手術(shù)輔助系統(tǒng)。本文充分了解SOFA框架的內(nèi)部機制,利用三維可視化建模軟件構(gòu)建人體頭部和手術(shù)器械的幾何面模型,使用推動波前法在中實現(xiàn)了人體頭部和穿刺針的幾何面模型的四面體網(wǎng)格剖分,并實現(xiàn)了XML語言對虛擬場景的構(gòu)建,本文實現(xiàn)的基于有限元物理模型的皮膚變形效果可以推廣到各類柔性物體受力變形的仿真中。 在SOFA虛擬手術(shù)場景中,添加力的約束并對模型的各個模塊設置相應的參數(shù),并利用真實人體皮膚參數(shù)實現(xiàn)了逼真的有限元變形效果。
圖10 不同穿刺針泊松比對頸部形變的影響
本文所涉及的課題仍可以進一步加以完善,主要體現(xiàn)在以下幾點:
(1)醫(yī)學模型的構(gòu)建。本文中的模型可進一步優(yōu)化或通過醫(yī)學影像數(shù)據(jù)重建具有頸部內(nèi)部結(jié)構(gòu)的三維面模型,提高視覺上的展示效果。
(2)仿真參數(shù)的選取。雖然離體的肝臟組織和頸部皮膚都屬于人體的軟組織,但是兩者的物理屬性在一定程度上存在著差異性。為了使本文中創(chuàng)建的虛擬手術(shù)場景更加適用于真實頸部穿刺手術(shù),在進一步的研究中可以由具有豐富經(jīng)驗的醫(yī)生對頸部的皮膚物理參數(shù)加以標定,并對手術(shù)穿刺位置的選取和穿刺過程中的行進方向做出科學的統(tǒng)一規(guī)劃,為虛擬手術(shù)輔助系統(tǒng)制定更加符合真實手術(shù)場景的學習方案。從而,能夠為操作者提供一個具有高精度、高準確度的學習平臺。
[1]Kawai N,Minamiguchi H,Sato M,et al.Evaluation of vascular puncture needles with specific modifications for enhanced ultrasound visibility: In vitro study[J].World J Radiol,2012,4(6):273-277.
[2]Inoue T,Okumura F,Mizushima T,et al.Assessment of factors affecting the usefulness and diagnostic yield of core biopsy needles with a side hole in endoscopic ultrasound-guided fineneedle aspiration[J].Gut Liv,2016,10(1):51-57.
[3]Shenai MB,Tubbs RS,Guthrie BL,et al.Virtual interactive presence for real-time, long-distance surgical collaboration during complex microsurgical procedures[J].J Neurosurg,2014,121:277-284.
[4]Piromchai P,Avery A,Laopaiboon M,et al.Virtual reality training for improving the skills needed for performing surgery of the ear, nose or throat[J].Cochrane Database Syst Rev,2015,(9):CD010198.
[5]Generoso JR Jr,Latoures RE,Acar Y,et al.Simulation training in early emergency response (STEER)[J].J Contin Educ Nurs,2016,47(6):255-263.
[6]Moglia A,Ferrari V,Morelli L,et al.A systematic review of virtual reality simulators for robot-assisted surgery[J].Eur Urol,2016,69:1065-1080.
[7]Badash I,Burtt K,Solorzano CA,et al.Innovations in surgery simulation: a review of past, current and future techniques[J].Ann Transl Med,2016,4(23):453.
[8]Endo K,Sata N,Ishiguro Y,et al.A patient-specific surgical simulator using preoperative imaging data: an interactive simulator using a three-dimensional tactile mouse[J].J Comput Surg,2014,1:1-8.
[9]Alaker M,Wynn GR,Arulampalam T.Virtual reality training in laparoscopic surgery: A systematic review & meta-analysis[J].Int J Surg,2016,29:85-94.
[10]Chen GC,Lin CH,Li CM,et al.Virtual-reality simulator system for double interventional cardiac catheterization using fractional-order vascular access tracker and haptic force producer[J].Sci World J,2015.
[11]Liu M,Curet M.A review of training research and virtual reality simulators for the da Vinci surgical system[J].Teach Learn Med,2015,27:12-26.
[12]Fortmeier D,Mastmeyer A,Schr?der J,et al.A Virtual reality system for PTCD simulation using direct visuo-haptic rendering of partially segmented image data[J].IEEE J Bio Heal Infor,2016,20(1):355-366.
[13]Valentine R,Padhye V,Wormald PJ.Simulation training for vascular emergencies in endoscopic sinus and skull base surgery[J].Otolaryngol Clin North Am,2016,49:877-887.
[14]Zevin B,Aggarwal R,Grantcharov TP.Surgical simulation in 2013: why is it still not the standard in surgical training[J].J Am Coll Surg,2014,218:294-301.
[15]陳剛,王翊,張桂華,等.肝臟外科手術(shù)虛擬系統(tǒng)的建立與初步應[J].中華肝膽外科雜志,2010,16(8):612-615.
[16]吳涓,宋愛國,李建清.用于虛擬力覺再現(xiàn)的彈簧—質(zhì)點力/變形模型研究[J].系統(tǒng)仿真學報,2006,18(11):3152-3156.
[17]Choi KS.Toward realistic virtual surgical simulation: using heuristically parameterized anisotropic mass-spring model to simulate tissue mechanical responses[A].International Conference on Education Technology and Computer[C].2010:446-450.