引用本文: 戴紅芬, 吳斌, 金偉偉. 基于Unity3D虛擬現實技術的心血管介入仿真模擬系統. 中國胸心血管外科臨床雜志, 2016, 23(11): 1092-1098. doi: 10.7507/1007-4848.201600256 復制
心血管疾病,是指任何影響心血管系統的疾病,主要是心臟病、腦或腎血管疾病以及外周動脈疾病[1]。介入心臟病學是心血管病學的一個分支,是基于導管的心血管疾病治療方法,利用導管可在心臟上實施手術中的各種操作,常用于股動脈穿刺和X射線下的心臟可視化。例如,經皮冠狀動脈腔內血管成形術(PTCA)。據報道發達國家每百萬人口介入治療病例數為1 000~2 000例,我國僅為200多例,特別是ST段抬高型心肌梗死患者,僅有5%接受介入治療(林福盛.心臟支架有沒有因暴利被濫用.石家莊新聞網. 2015)。由于心血管疾病治療需求提升,迫切需要更多專業的介入心臟病學家。而介入治療手術較為復雜,初學者通常需要花費幾年的努力,才能成為一個合格介入心臟病學家。因此,將現有熱門的虛擬現實技術結合介入手術的培訓,對進行介入手術培訓的初學者人群和教學試驗而言意義重大,其能使得培訓研究更加高效、低成本,更貼合實際情況,顯得尤為重要。
1 資料與方法
1.1 臨床資料和虛擬現實技術簡介
經皮冠狀動脈腔內血管成形術PTCA是典型的血管成形術,是解決冠心病患者心臟中冠狀動脈狹窄部位的非手術療法,這些狹窄部位是由于高膽固醇累積造成的動脈粥樣硬化。作為最常見的冠狀動脈血管成形術,PTCA是一種以微創導管為基礎的心臟介入性療法。
用于PTCA過程中的操作儀器由導絲、動脈鞘管、導管、球囊和支架、Y型連接管、四通管等構成。手術過程見圖 1,通過針孔穿透股動脈,伸入導絲到達動脈鞘,再伸入導管,放置球囊擴張支架用以消除血管狹窄或堵塞部位,最后移除支架以外的所有設備。該系統模擬仿真的即為導絲介入操作部分[2-3]。

Unity3D是可以作為創建類似三維游戲,動畫視頻以及結構可見性、具有較強類型交互內容的虛擬現實技術用的設計工具[4]。通過該項技術完成虛擬手術實驗環境的搭建,為介入式心臟病治療的規劃、培訓創造了一種新模式。虛擬手術可以仿真手術過程中如視覺、聲音、觸覺等多感官反饋信息,可用于術前規劃、手術技能訓練以及手術操作指導等方面[5]。Novint Falcon可以充分滿足虛擬現實的人機互動,進行立體空間操作,自由度非常高,并給人以真實的觸覺感受,Oculus Rift頭戴顯示器,具有360°全景模式,讓人身臨其境,可以非常逼真的模擬手術操作的環境[6]。將Unity3D技術結合Novint Falcon、Oculus Rift、空間定位跟蹤器等VR設備,形成一個結構完備的虛擬現實模擬培訓操作平臺,具有較好的應用前景。
1.2 方法
隨著虛擬現實技術在現代醫學中的應用,介入心臟病學虛擬仿真系統可模擬如PTCA心臟介入手術過程,通過監視系統顯示操作場景以及聲音、觸覺等反饋信息。
1.2.1 硬件組成
PTCA仿真系統硬件主要由計算機控制主機、Novint Falcon力反饋控制器、虛擬現實頭戴顯示器Oculus Rift、三維空間跟蹤定位器等組成,系統硬件組成見圖 2。

計算機控制主機:由較強圖形處理能力的Windows操作系統計算機構成,負責承載虛擬現實操作系統,搭建心血管生理模型,以及處理接收的位置、壓力等信息,并輸出控制流。
Novint Falcon力反饋控制器:虛擬現實控制器,可以進行上下左右前后六維度的空間操作,根據操作的力度反饋為不同的壓力,使操作人員身臨其境[7-8],見圖 3。

顯示器Oculus Rift:操作者頭戴的顯示器,支持傳統的視頻格式,甚至是3D視頻格式。通過Oculus Rift,能進行球形、柱形360度全景觀看,給操作者以沉浸式的體驗,見圖 4。

三維空間跟蹤定位器:進行三維空間的跟蹤定位,具有檢測物體在空間六個自由度的能力,采用低頻磁場式傳感器,接收器與發射器均采用正交天線,從反饋的磁場信息可以鎖定接收器的位置和方向,并將數據上傳給主機,與該仿真系統的其他VR設備,如Oculus Rift相結合起來,能夠讓操作者在空間上進行自由位移,見圖 5。

監視屏:普通的顯示屏,接收操作信號,用于教師旁觀指導。
1.2.2 軟件設計
PTCA仿真模型基于Unity3D引擎開發,引擎可以搭建于當前主流的Windows操作系統平臺。手術中的各種模型、操作器具模型,實時操作三維動畫等內容均在此平臺上搭建,將PTCA手術所具有的對象抽象為Unity3D中的場景、物體對象。將各種操作指令以及反饋的效果、操作評價等的流程控制采用C#語言進行編寫腳本,實現對應功能。通過物理引擎來渲染手術操作場景,以達到逼真的效果[9-13]。
虛擬現實PTCA模型實現順序如下:(1)可根據醫學圖像及相關技術制作心臟和血管的幾何模型;(2)通過建立適當的運動數學模型模擬血液流動和心臟跳動;(3)渲染操作場景,如導絲精確測定,擴張球囊,釋放并定位支架;(4)模擬導管及其它儀器;(5)通過Novint Falcon計算并輸出力反饋;(6)手術操作的模擬;(7)評價手術模擬的正確性,給出評判。整個系統結構框圖見圖 6。

1.2.3 心血管三維建模設計
心血管幾何模型是PTCA仿真系統的基礎,采用三維建模軟件3DS max進行構建,建模可以根據現有的生理模型,進行精確建模,見圖 7。主要由心房、心室、冠狀動脈等組成。需要指出,手術工具作為剛體建模較為簡單,但心血管器官生理結構比較復雜,有著軟體屬性,建模有一定難度,需要根據已有的CT圖像、斷層掃描圖像,進行建模,同時在幾何模型的基礎上了解其物理特性,添加約束條件,搭建軟體器官的動力學模型,符合真實對象的質量、形變等物理特點,為后續的碰撞檢測及力作用打下基礎。模型建立后導入Unity3D引擎進行貼圖處理,渲染,生成交互控制。

此外,PTCA中如導絲、導管等手術器械可以建模為簡單的組段。
1.2.4 多維度人機交互實現設計
系統的另一個關鍵問題是虛擬環境中的碰撞檢測,它主要由實際受力反饋器件和虛擬環境的一個交互。具體過程是檢測器械與器械,器械與人體組織之間的接觸情況,從而通過一定的算法進行計算,該類檢測為多點接觸檢測,具有很強的實時特性。其基本特性是由靜態的幾何器械和操作的位移情況,為檢測輸入量。通過Unity3D引擎插件開發PC機客戶端,系統通過Novint Falcon力反饋控制器和三維空間跟蹤器讀取相關信息,完成人手到虛擬手的映射,手勢操作識別,即讀取輸入量,然后進行虛擬手和虛擬模型間的碰撞檢測。
該系統中,碰撞對象主要是手術器件和人體的直接交互作用。本文將器件作為剛體,只考慮其位移特性,忽略形變,和人體碰撞交互采用典型的AABB算法,其基本原理是,在Unity 3D場景中將對象用最小化六面體包圍,采用從上到下的方法建立包圍盒樹,來進行交互測試。其判別方式是將兩個基本的包圍盒進行相交測試,通過樹形節點依次檢測其在三維空間上的投影長度重疊來確定是否產生碰撞,在何處碰撞。下面以兩個基本的包圍舉例進行說明。
設兩個包圍盒分別為a、b,若其相交,則在三維空間坐標系下分量必然會相交,因此將兩盒的坐標投影進行比較計量,就可以判斷:
Int judge(a,b)
{ If(a.xmax < b.xmin||a.xmin > b.xmin)
Return 0;//x坐標軸區間比較,若不相交,則無重復
If(a.ymax < b.ymin||a.ymin > b.ymin)
Return 0;//y坐標軸區間比較,若不相交,則無重復
If(a.zmax < b.zmin||a.zmin > b.zmin)
Return 0;// z坐標軸區間比較,若不相交,則無重復
Return 1;//若三個坐標分量均有重復部分,則兩盒相交}
相交之后,則緊接著進行局部精確計算,判斷其接觸位置,及接觸深度,為力反饋的后續計算提供數據打下基礎。以最簡單的單點接觸舉例,若碰撞檢測得到接觸深度為,則反饋力可以采用胡克定律計算,其公式原理如下:
$ F{\rm{ = }}\left\{ \begin{array}{l} {k_0}\left( {{l_0} - l} \right)\;\;\;\;\;l - {l_0}\\ 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;l - {l_0} \end{array} \right. $ |
式中,K0為彈性系數,l0表示臨界接觸距離;
得到力反饋數據之后,將其輸出到Novint Falcon,給操作者以體驗。由于包圍盒算法相交可以轉化為低維度運算進行處理,結構簡便,該方法所需內存空間較小。如果需要高精度,實時傳輸測量特性高的系統,可以采用改進的算法達到相應的效果。
而對于軟體仿真比較復雜,其在外力接觸下會發生形變,同時在一定的形變范圍內,可以恢復原狀,超過限度,將會造成不可逆破壞。本文將軟體組織器官采用彈性小球模型,將其離散進行有限元分析計算力反映,對每一個小單元應用動力學方程,其接觸情況可以模擬質量、彎折、扭轉等特性,通過彈性鏈接在一起,最后求出其受力情況,位置偏移以及應變等物理量。結合模型的生理特性,通過程序進行判斷,輸出圖像、聲音、壓力等信息,最后由PC機將這些信號輸出給Novint Falcon和Oculus Rift等硬件設備,給操作者感官反饋來實現交互。軟件流程見圖 8。

1.2.5 導絲運動模擬
導絲的組成結構比一般一維彈性物體復雜得多。介入手術中所使用的導絲通常都不是空心的。大部分介入導絲由特殊材料制成的中芯和表面包被的彈簧線圈組成[11]。在手術操作過程中,導絲頂部先穿刺到人體血液循環系統,由于其與血管壁接觸,所以導絲是由彈性好、光滑的材料組成,避免扎破血管壁,引起醫療事故。導絲其他部分則對整個導絲起支撐作用。
有學者將導絲建模成一系列可形變的輕梁,并施以不完整約束,通過增量有限元的方法計算輕梁的形變,從而獲取整個導絲的形變[13]。本文在此基礎上通過動態調整導管和導絲的材料屬性來模擬他們之間的相互作用[13-16]。其碰撞算法可以參考前面軟體模型,通過有限元方法離散建模,通過碰撞檢測得到相應力反饋,進而輸出位置特性及形變特性,見圖 9。

2 結果
2.1 系統軟件界面簡介
該仿真系統進入采用實名認證方式進行,由用戶名、密碼組合登錄,背后數據庫由錄入的在職醫生和具有許可證的操作人員信息組成。
2.2 系統結構簡介
介入心臟病學仿真模擬系統運行在一個設計的軟件程序上,由該軟件統一控制每個子系統模塊的功能,完成介入心臟病手術的培訓和模擬。該軟件是由心臟生理模型子系統、手術器械操作子系統、操作反饋子系統、安全評估子系統以及數據庫管理5大塊組成。心臟生理模型子系統和手術器械操作子系統是本仿真系統的基礎,所有的操作在此2個子系統上搭建;操作反饋子系統則是本系統的核心部分,用來模擬操作的效果,輸出相應的信息供操作者進行輔助判斷;安全評估子系統則是整個系統的評估部分,用來記錄操作者的操作流程,操作效果,操作合理性等內容,指出操作錯誤之處,并給出整體評分供導師參考;數據庫管理則是為本系統的運行及管理提供信息支撐。
2.3 系統功能簡介
根據對介入心臟病模擬培訓的要求,本系統功能包括心血管3D模型的展示功能、風險意識訓練功能、心臟病介入手術模擬功能、手術模擬評價功能。
2.3.1 心血管3D模型展示功能
本文利用現有的3DS -Max 3D建模軟件構建心臟及心血管的虛擬現實模型,并搭建對應的模型數據庫,可以利用該數據庫搭建不同的心臟病虛擬現實模型,以便應用于不同的介入手術需求。
在此功能的基礎上,培訓者可以深入了解心血管的結構模型,使培訓者通過虛擬現實場景對該手術對象有深刻了解,并對各自病變結構有詳細認識,增加實際操作中的掌控能力。
2.3.2 風險意識訓練功能
介入手術是屬于操作風險較高的一種手術,其風險主要表現為:(1)心率失調;(2)刺入局部大出血以及血腫情況;(3)出現動脈瘤;(4)突發性心肌梗死;(5)手術器械及藥劑過敏。通過該培訓系統進行研究,可以使培訓者了解介入手術操作中的安全及風險意識,風險發生的情況,采取恰當的措施。并且通過培訓,操作者可以盡量避免操作過程中發生風險,而且能提高有效處理風險的能力。
2.3.3 心臟病介入手術模擬功能
本系統可以模擬PTCA介入手術、尖瓣球囊擴張術等介入手術,通過加載不同的模擬對象和評價操作系統進行仿真模擬。以PTCA手術為例模擬操作如下:PTCA手術中,導絲介入是定位病變位置的重要步驟,因此在系統中模擬這一步驟很關鍵,用戶操縱Novint Falcon在虛擬人體中進行導絲的移動、刺入操作,利用三維空間定位跟蹤器實時追蹤導絲頭的位置。在虛擬操作中,用戶眼睛盯著監視器,利用跟蹤器上的接收端操控虛擬導絲,當導絲頭部到達動脈分支時,跟蹤器提供的空間數據可幫助判斷導絲頭需要穿刺哪個分支,直到發現血管病變部位或狹窄處。在操作過程中,模型可隨著用戶的視角移動而變化,指導老師在計算機監視屏幕上觀看培訓者操作是否正確。圖 10顯示了導絲的模擬操作界面。

2.3.4 手術模擬評價功能
首先通過對培訓者進行生理檢測,依照相關原理,對培訓者的心理素質,處理風險事故的能力進行評價,以及操作的承受程度。利用Novint Falcon和Oculus Rift傳感器監測培訓者的操作,根據傳感器獲取的數據以及培訓系統反饋的信息,判斷培訓者的操作是否正確,并對其處理能力進行評價。并通過計時以及優化處理操作等評價培訓者操作的優劣情況。本系統還可以通過設置突發風險,來訓練培訓者的決策及應急響應能力。
3 討論
經過系統測試,本系統的力反饋計算響應速度見表 1。采用AABB碰撞算法的響應環節滿足使用要求,一個導絲模型包括超過250個節點,以及一定數量的有限元構成,進行力反饋計算時,所需約40 ms。而在模擬手術導絲操作的時候,導絲模型變化較為明顯的是最前端段,而對遠離前端的以及中后段的導絲形變不太明顯,可以在仿真中省略。因此,本文的力反饋算法可以只考慮最靠近前端的部分,這樣節點可進一步精細化,同時需計算的節點約200個,因此響應時間可達到約30 ms,即刷新頻率接近30幀每秒,滿足相關條件。

本文評估仿真碰撞的有效性,選取導絲上某點進行力學跟蹤檢測。在開始計算時,該點承受的壓力為極大值,但隨著計算迭代繼續進行時,所受壓力逐漸降低,逐漸收斂到一個固定值,見圖 11。這種現象可以通過物理和生理原理來解釋。當導絲最開始和血管接觸時,由于血管產生形變需要一定時間,故此時,導絲和血管壁之間壓力處于最大值;隨后血管壁和導絲會相互“磨合適應”,因此形變會減小,直到二者達到平衡狀態。因此,在碰撞發生時,進行第一碰撞反饋計算后,再經過一定的迭代次數,得到的數據是有效的、滿足物理和生理特征的。

系統仿真參數如下:實時刷新率0.030 s,精度0.07、0.25 mm,最大輸出力30 N,導絲位置0~1.2 m。
該仿真系統的設計及相關精度基本滿足培訓的要,本系統成功展示了模型的建立工作,描述了其系統功能,通過建立三維虛擬現實心血管模型,并通過碰撞算法等理論實現了虛擬現實互動,能有效的幫助廣大培訓者和研究學者更加深入熟悉掌握介入心臟病手術的相關操作技巧和原理。
介入心臟病學中最常見的手術,需要進行大量的、復雜的培訓來培養一個合格的介入心臟病學家, 基于虛擬現實技術的介入心臟病仿真系統可提供電腦環境用來練習操作過程。開發這樣一個系統,涉及到心血管疾病和虛擬現實領域內大量的技術和專業知識,需要不斷進行完善,比如建模的虛擬現實對象彎曲程度、刺入深度等多種參數的交互控制。
心血管疾病,是指任何影響心血管系統的疾病,主要是心臟病、腦或腎血管疾病以及外周動脈疾病[1]。介入心臟病學是心血管病學的一個分支,是基于導管的心血管疾病治療方法,利用導管可在心臟上實施手術中的各種操作,常用于股動脈穿刺和X射線下的心臟可視化。例如,經皮冠狀動脈腔內血管成形術(PTCA)。據報道發達國家每百萬人口介入治療病例數為1 000~2 000例,我國僅為200多例,特別是ST段抬高型心肌梗死患者,僅有5%接受介入治療(林福盛.心臟支架有沒有因暴利被濫用.石家莊新聞網. 2015)。由于心血管疾病治療需求提升,迫切需要更多專業的介入心臟病學家。而介入治療手術較為復雜,初學者通常需要花費幾年的努力,才能成為一個合格介入心臟病學家。因此,將現有熱門的虛擬現實技術結合介入手術的培訓,對進行介入手術培訓的初學者人群和教學試驗而言意義重大,其能使得培訓研究更加高效、低成本,更貼合實際情況,顯得尤為重要。
1 資料與方法
1.1 臨床資料和虛擬現實技術簡介
經皮冠狀動脈腔內血管成形術PTCA是典型的血管成形術,是解決冠心病患者心臟中冠狀動脈狹窄部位的非手術療法,這些狹窄部位是由于高膽固醇累積造成的動脈粥樣硬化。作為最常見的冠狀動脈血管成形術,PTCA是一種以微創導管為基礎的心臟介入性療法。
用于PTCA過程中的操作儀器由導絲、動脈鞘管、導管、球囊和支架、Y型連接管、四通管等構成。手術過程見圖 1,通過針孔穿透股動脈,伸入導絲到達動脈鞘,再伸入導管,放置球囊擴張支架用以消除血管狹窄或堵塞部位,最后移除支架以外的所有設備。該系統模擬仿真的即為導絲介入操作部分[2-3]。

Unity3D是可以作為創建類似三維游戲,動畫視頻以及結構可見性、具有較強類型交互內容的虛擬現實技術用的設計工具[4]。通過該項技術完成虛擬手術實驗環境的搭建,為介入式心臟病治療的規劃、培訓創造了一種新模式。虛擬手術可以仿真手術過程中如視覺、聲音、觸覺等多感官反饋信息,可用于術前規劃、手術技能訓練以及手術操作指導等方面[5]。Novint Falcon可以充分滿足虛擬現實的人機互動,進行立體空間操作,自由度非常高,并給人以真實的觸覺感受,Oculus Rift頭戴顯示器,具有360°全景模式,讓人身臨其境,可以非常逼真的模擬手術操作的環境[6]。將Unity3D技術結合Novint Falcon、Oculus Rift、空間定位跟蹤器等VR設備,形成一個結構完備的虛擬現實模擬培訓操作平臺,具有較好的應用前景。
1.2 方法
隨著虛擬現實技術在現代醫學中的應用,介入心臟病學虛擬仿真系統可模擬如PTCA心臟介入手術過程,通過監視系統顯示操作場景以及聲音、觸覺等反饋信息。
1.2.1 硬件組成
PTCA仿真系統硬件主要由計算機控制主機、Novint Falcon力反饋控制器、虛擬現實頭戴顯示器Oculus Rift、三維空間跟蹤定位器等組成,系統硬件組成見圖 2。

計算機控制主機:由較強圖形處理能力的Windows操作系統計算機構成,負責承載虛擬現實操作系統,搭建心血管生理模型,以及處理接收的位置、壓力等信息,并輸出控制流。
Novint Falcon力反饋控制器:虛擬現實控制器,可以進行上下左右前后六維度的空間操作,根據操作的力度反饋為不同的壓力,使操作人員身臨其境[7-8],見圖 3。

顯示器Oculus Rift:操作者頭戴的顯示器,支持傳統的視頻格式,甚至是3D視頻格式。通過Oculus Rift,能進行球形、柱形360度全景觀看,給操作者以沉浸式的體驗,見圖 4。

三維空間跟蹤定位器:進行三維空間的跟蹤定位,具有檢測物體在空間六個自由度的能力,采用低頻磁場式傳感器,接收器與發射器均采用正交天線,從反饋的磁場信息可以鎖定接收器的位置和方向,并將數據上傳給主機,與該仿真系統的其他VR設備,如Oculus Rift相結合起來,能夠讓操作者在空間上進行自由位移,見圖 5。

監視屏:普通的顯示屏,接收操作信號,用于教師旁觀指導。
1.2.2 軟件設計
PTCA仿真模型基于Unity3D引擎開發,引擎可以搭建于當前主流的Windows操作系統平臺。手術中的各種模型、操作器具模型,實時操作三維動畫等內容均在此平臺上搭建,將PTCA手術所具有的對象抽象為Unity3D中的場景、物體對象。將各種操作指令以及反饋的效果、操作評價等的流程控制采用C#語言進行編寫腳本,實現對應功能。通過物理引擎來渲染手術操作場景,以達到逼真的效果[9-13]。
虛擬現實PTCA模型實現順序如下:(1)可根據醫學圖像及相關技術制作心臟和血管的幾何模型;(2)通過建立適當的運動數學模型模擬血液流動和心臟跳動;(3)渲染操作場景,如導絲精確測定,擴張球囊,釋放并定位支架;(4)模擬導管及其它儀器;(5)通過Novint Falcon計算并輸出力反饋;(6)手術操作的模擬;(7)評價手術模擬的正確性,給出評判。整個系統結構框圖見圖 6。

1.2.3 心血管三維建模設計
心血管幾何模型是PTCA仿真系統的基礎,采用三維建模軟件3DS max進行構建,建模可以根據現有的生理模型,進行精確建模,見圖 7。主要由心房、心室、冠狀動脈等組成。需要指出,手術工具作為剛體建模較為簡單,但心血管器官生理結構比較復雜,有著軟體屬性,建模有一定難度,需要根據已有的CT圖像、斷層掃描圖像,進行建模,同時在幾何模型的基礎上了解其物理特性,添加約束條件,搭建軟體器官的動力學模型,符合真實對象的質量、形變等物理特點,為后續的碰撞檢測及力作用打下基礎。模型建立后導入Unity3D引擎進行貼圖處理,渲染,生成交互控制。

此外,PTCA中如導絲、導管等手術器械可以建模為簡單的組段。
1.2.4 多維度人機交互實現設計
系統的另一個關鍵問題是虛擬環境中的碰撞檢測,它主要由實際受力反饋器件和虛擬環境的一個交互。具體過程是檢測器械與器械,器械與人體組織之間的接觸情況,從而通過一定的算法進行計算,該類檢測為多點接觸檢測,具有很強的實時特性。其基本特性是由靜態的幾何器械和操作的位移情況,為檢測輸入量。通過Unity3D引擎插件開發PC機客戶端,系統通過Novint Falcon力反饋控制器和三維空間跟蹤器讀取相關信息,完成人手到虛擬手的映射,手勢操作識別,即讀取輸入量,然后進行虛擬手和虛擬模型間的碰撞檢測。
該系統中,碰撞對象主要是手術器件和人體的直接交互作用。本文將器件作為剛體,只考慮其位移特性,忽略形變,和人體碰撞交互采用典型的AABB算法,其基本原理是,在Unity 3D場景中將對象用最小化六面體包圍,采用從上到下的方法建立包圍盒樹,來進行交互測試。其判別方式是將兩個基本的包圍盒進行相交測試,通過樹形節點依次檢測其在三維空間上的投影長度重疊來確定是否產生碰撞,在何處碰撞。下面以兩個基本的包圍舉例進行說明。
設兩個包圍盒分別為a、b,若其相交,則在三維空間坐標系下分量必然會相交,因此將兩盒的坐標投影進行比較計量,就可以判斷:
Int judge(a,b)
{ If(a.xmax < b.xmin||a.xmin > b.xmin)
Return 0;//x坐標軸區間比較,若不相交,則無重復
If(a.ymax < b.ymin||a.ymin > b.ymin)
Return 0;//y坐標軸區間比較,若不相交,則無重復
If(a.zmax < b.zmin||a.zmin > b.zmin)
Return 0;// z坐標軸區間比較,若不相交,則無重復
Return 1;//若三個坐標分量均有重復部分,則兩盒相交}
相交之后,則緊接著進行局部精確計算,判斷其接觸位置,及接觸深度,為力反饋的后續計算提供數據打下基礎。以最簡單的單點接觸舉例,若碰撞檢測得到接觸深度為,則反饋力可以采用胡克定律計算,其公式原理如下:
$ F{\rm{ = }}\left\{ \begin{array}{l} {k_0}\left( {{l_0} - l} \right)\;\;\;\;\;l - {l_0}\\ 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;l - {l_0} \end{array} \right. $ |
式中,K0為彈性系數,l0表示臨界接觸距離;
得到力反饋數據之后,將其輸出到Novint Falcon,給操作者以體驗。由于包圍盒算法相交可以轉化為低維度運算進行處理,結構簡便,該方法所需內存空間較小。如果需要高精度,實時傳輸測量特性高的系統,可以采用改進的算法達到相應的效果。
而對于軟體仿真比較復雜,其在外力接觸下會發生形變,同時在一定的形變范圍內,可以恢復原狀,超過限度,將會造成不可逆破壞。本文將軟體組織器官采用彈性小球模型,將其離散進行有限元分析計算力反映,對每一個小單元應用動力學方程,其接觸情況可以模擬質量、彎折、扭轉等特性,通過彈性鏈接在一起,最后求出其受力情況,位置偏移以及應變等物理量。結合模型的生理特性,通過程序進行判斷,輸出圖像、聲音、壓力等信息,最后由PC機將這些信號輸出給Novint Falcon和Oculus Rift等硬件設備,給操作者感官反饋來實現交互。軟件流程見圖 8。

1.2.5 導絲運動模擬
導絲的組成結構比一般一維彈性物體復雜得多。介入手術中所使用的導絲通常都不是空心的。大部分介入導絲由特殊材料制成的中芯和表面包被的彈簧線圈組成[11]。在手術操作過程中,導絲頂部先穿刺到人體血液循環系統,由于其與血管壁接觸,所以導絲是由彈性好、光滑的材料組成,避免扎破血管壁,引起醫療事故。導絲其他部分則對整個導絲起支撐作用。
有學者將導絲建模成一系列可形變的輕梁,并施以不完整約束,通過增量有限元的方法計算輕梁的形變,從而獲取整個導絲的形變[13]。本文在此基礎上通過動態調整導管和導絲的材料屬性來模擬他們之間的相互作用[13-16]。其碰撞算法可以參考前面軟體模型,通過有限元方法離散建模,通過碰撞檢測得到相應力反饋,進而輸出位置特性及形變特性,見圖 9。

2 結果
2.1 系統軟件界面簡介
該仿真系統進入采用實名認證方式進行,由用戶名、密碼組合登錄,背后數據庫由錄入的在職醫生和具有許可證的操作人員信息組成。
2.2 系統結構簡介
介入心臟病學仿真模擬系統運行在一個設計的軟件程序上,由該軟件統一控制每個子系統模塊的功能,完成介入心臟病手術的培訓和模擬。該軟件是由心臟生理模型子系統、手術器械操作子系統、操作反饋子系統、安全評估子系統以及數據庫管理5大塊組成。心臟生理模型子系統和手術器械操作子系統是本仿真系統的基礎,所有的操作在此2個子系統上搭建;操作反饋子系統則是本系統的核心部分,用來模擬操作的效果,輸出相應的信息供操作者進行輔助判斷;安全評估子系統則是整個系統的評估部分,用來記錄操作者的操作流程,操作效果,操作合理性等內容,指出操作錯誤之處,并給出整體評分供導師參考;數據庫管理則是為本系統的運行及管理提供信息支撐。
2.3 系統功能簡介
根據對介入心臟病模擬培訓的要求,本系統功能包括心血管3D模型的展示功能、風險意識訓練功能、心臟病介入手術模擬功能、手術模擬評價功能。
2.3.1 心血管3D模型展示功能
本文利用現有的3DS -Max 3D建模軟件構建心臟及心血管的虛擬現實模型,并搭建對應的模型數據庫,可以利用該數據庫搭建不同的心臟病虛擬現實模型,以便應用于不同的介入手術需求。
在此功能的基礎上,培訓者可以深入了解心血管的結構模型,使培訓者通過虛擬現實場景對該手術對象有深刻了解,并對各自病變結構有詳細認識,增加實際操作中的掌控能力。
2.3.2 風險意識訓練功能
介入手術是屬于操作風險較高的一種手術,其風險主要表現為:(1)心率失調;(2)刺入局部大出血以及血腫情況;(3)出現動脈瘤;(4)突發性心肌梗死;(5)手術器械及藥劑過敏。通過該培訓系統進行研究,可以使培訓者了解介入手術操作中的安全及風險意識,風險發生的情況,采取恰當的措施。并且通過培訓,操作者可以盡量避免操作過程中發生風險,而且能提高有效處理風險的能力。
2.3.3 心臟病介入手術模擬功能
本系統可以模擬PTCA介入手術、尖瓣球囊擴張術等介入手術,通過加載不同的模擬對象和評價操作系統進行仿真模擬。以PTCA手術為例模擬操作如下:PTCA手術中,導絲介入是定位病變位置的重要步驟,因此在系統中模擬這一步驟很關鍵,用戶操縱Novint Falcon在虛擬人體中進行導絲的移動、刺入操作,利用三維空間定位跟蹤器實時追蹤導絲頭的位置。在虛擬操作中,用戶眼睛盯著監視器,利用跟蹤器上的接收端操控虛擬導絲,當導絲頭部到達動脈分支時,跟蹤器提供的空間數據可幫助判斷導絲頭需要穿刺哪個分支,直到發現血管病變部位或狹窄處。在操作過程中,模型可隨著用戶的視角移動而變化,指導老師在計算機監視屏幕上觀看培訓者操作是否正確。圖 10顯示了導絲的模擬操作界面。

2.3.4 手術模擬評價功能
首先通過對培訓者進行生理檢測,依照相關原理,對培訓者的心理素質,處理風險事故的能力進行評價,以及操作的承受程度。利用Novint Falcon和Oculus Rift傳感器監測培訓者的操作,根據傳感器獲取的數據以及培訓系統反饋的信息,判斷培訓者的操作是否正確,并對其處理能力進行評價。并通過計時以及優化處理操作等評價培訓者操作的優劣情況。本系統還可以通過設置突發風險,來訓練培訓者的決策及應急響應能力。
3 討論
經過系統測試,本系統的力反饋計算響應速度見表 1。采用AABB碰撞算法的響應環節滿足使用要求,一個導絲模型包括超過250個節點,以及一定數量的有限元構成,進行力反饋計算時,所需約40 ms。而在模擬手術導絲操作的時候,導絲模型變化較為明顯的是最前端段,而對遠離前端的以及中后段的導絲形變不太明顯,可以在仿真中省略。因此,本文的力反饋算法可以只考慮最靠近前端的部分,這樣節點可進一步精細化,同時需計算的節點約200個,因此響應時間可達到約30 ms,即刷新頻率接近30幀每秒,滿足相關條件。

本文評估仿真碰撞的有效性,選取導絲上某點進行力學跟蹤檢測。在開始計算時,該點承受的壓力為極大值,但隨著計算迭代繼續進行時,所受壓力逐漸降低,逐漸收斂到一個固定值,見圖 11。這種現象可以通過物理和生理原理來解釋。當導絲最開始和血管接觸時,由于血管產生形變需要一定時間,故此時,導絲和血管壁之間壓力處于最大值;隨后血管壁和導絲會相互“磨合適應”,因此形變會減小,直到二者達到平衡狀態。因此,在碰撞發生時,進行第一碰撞反饋計算后,再經過一定的迭代次數,得到的數據是有效的、滿足物理和生理特征的。

系統仿真參數如下:實時刷新率0.030 s,精度0.07、0.25 mm,最大輸出力30 N,導絲位置0~1.2 m。
該仿真系統的設計及相關精度基本滿足培訓的要,本系統成功展示了模型的建立工作,描述了其系統功能,通過建立三維虛擬現實心血管模型,并通過碰撞算法等理論實現了虛擬現實互動,能有效的幫助廣大培訓者和研究學者更加深入熟悉掌握介入心臟病手術的相關操作技巧和原理。
介入心臟病學中最常見的手術,需要進行大量的、復雜的培訓來培養一個合格的介入心臟病學家, 基于虛擬現實技術的介入心臟病仿真系統可提供電腦環境用來練習操作過程。開發這樣一個系統,涉及到心血管疾病和虛擬現實領域內大量的技術和專業知識,需要不斷進行完善,比如建模的虛擬現實對象彎曲程度、刺入深度等多種參數的交互控制。