呂夢雅,韓育芳,唐 勇
(1.燕山大學信息科學與工程學院,河北秦皇島066004;2.燕山大學河北省計算機虛擬技術與系統集成重點實驗室,河北秦皇島066004)
虛擬手術是虛擬現實技術在醫學領域的重要應用。它可以使醫生沉浸在虛擬的環境中進行手術培訓和手術規劃,與傳統訓練方法相比,不僅可以節約手術訓練的時間和費用,而且降低了實習手術的風險,對促進醫學水平的發展具有重要意義。
早期對虛擬手術系統的研究主要集中在軟組織形變算法的研究上,對縫合算法的研究起步較晚。1998年,法國國家信息與自動化研究所的Delingette[1]提到了虛擬手術中縫合模擬并說明了它的重要性,激發了人們對縫合模擬研究的熱情。2001年,米勒斯維爾大學的Roger等[2]做了一個初步的皮膚縫合模擬,但縫合線僅僅是簡單的從縫合點到針眼的直線繪制,沒有對縫合線與軟組織的交互模擬。2001年,斯坦福大學的Joel等[3]對血管縫合進行模擬,用質點彈簧建模血管,跟蹤頭結點(Follow The Leader,FTL)方法計算縫合線的運動軌跡,但是由于FTL方法是基于幾何的方法,所以無法對縫合線進行受力分析。2002年,英屬哥倫比亞大學的Dinesh[4]用Cosserat Rod理論建立細長柔性體的模型并對縫合線進行了建模,但是幾何線性導致縫合線發生較大的形變時易產生失真現象。2003年,西蒙菲沙大學的Matt等[5]對兩個面片進行縫合,用質點彈簧模型建模面片和縫合線,并提到了縫合過程中出現的摩擦力,但并沒有對摩擦力作出計算。2004年,Moll等[6]根據能量最小原理提出柔性線路徑規劃的算法。通過定義線的旋轉應力的方程來計算線的新位置。2007年,波蘭羅茲大學的Blazej等[7]將質點彈簧方法與基于位置的布料模擬方法相結合來模擬線的運動,體現了線的扭曲,但是因為扭轉和彎曲運動不能耦合,許多扭曲效果不能重復。2008年,西蒙菲沙大學的Shi等[8]用有限元模型對縫合線進行建模,實現了兩塊皮膚的縫合模擬,但是縫合線建模精度高導致計算開銷大。2010年,Payandeh等[9]用質點彈簧建模皮膚并進行了皮膚的縫合模擬,實驗中主要模擬了縫合線對皮膚的撕裂現象,但是在皮膚的同一個地方撕裂,會造成許多小的三角面片,影響皮膚的重新繪制。2012年,Choi等[10]利用物理引擎PhysX模擬了傷口的縫合,運用物理引擎使工作變得簡單,但PhysX是面向游戲產業的商業物理引擎,用它來開發虛擬手術系統具有一定的局限性。
綜上,本文采用質點彈簧方法對皮膚進行建模。基于物理的質點彈簧對交互過程中出現的摩擦力進行計算,基于幾何的FTL方法重建縫合線的構型。設置標記來記錄縫合點信息,以方便計算連續縫合過程中軟組織的形變。
有限元法和質點彈簧法是虛擬手術中常用的兩種基于物理的軟組織建模方法。有限元法將軟組織離散成若干單元,其優勢是模型參數易于調節,且采用描述建模對象結構特性的本構方程越精細和離散單元越多,建模精度就會越高,得出的結果越真實,但會造成求解過程復雜,運算量大,難以達到實時仿真交互的要求。而質點彈簧法對軟組織質點離散化,具有易于實現、實施簡單、計算效率高等優點,因此質點彈簧法更適合對皮膚建模(見圖1)。
由于皮膚的質量分布相對均勻,所以采用質點均勻分布的四邊形作為靜態模型的拓撲結構。

圖1 基于質點彈簧模型建立的皮膚軟組織Fig.1 The skin model based on spring-massmodel
對任何一個質點i,滿足以下動力學方程

式中:mi為質點i的質量;ai為加速度;Fs和Fd為質點i受到的彈簧力和阻尼力,由方程(2)和(3)計算得出;Fext為質點i受外力的合力。

式中:Fij為計算質點i和j間的彈力函數;σ(i)為與質點i鄰接的所有質點的集合;xi和vi是i的坐標和速度;f為引入的內摩擦力系數。

式中:dij為質點i和j的當前距離,rdij為初始距離;uij為i到j的單位矢量;k為彈簧勁度系數;通過調節k和f獲得理想的軟組織形變效果。
通過不斷更新質點的位置,實現軟組織的形變模擬。經過Δt后,即在t+Δt時刻,質點i的速度和位置如下

用鼠標對皮膚模型施加拉力時,對于力的作用點不是皮膚模型質點的情況,我們采用改進的方法尋找受力作用點。本文中模型的基本元素是一個中心質點與和它相連的四個鄰接點,所以,我們先將作用點位置與整個模型的中心質點的位置作對比。假設計算所得距離為l0,依次計算它與中心質點的四個鄰接質點的距離l1,l2,l3,l4,將這四個距離與l0作比較,將其中距離值最小的點作為新的中心質點。重復上述過程,直到找到與之距離最小的模型中的質點,這時,就可以將這個質點作為受力作用點。本文中,因為對每個質點都設了索引值,所以,通過中心質點的索引很容易找到它的四個相鄰的質點。知道質點的索引值便可以確定質點在三維世界中的位置。使用這種方法計算受作用力的質點有效的減少了尋找范圍和比較的次數,提高了形變計算效率。
圖2展示了鼠標拉動模型中的一個質點和多個不同質點發生形變的效果,圖2(c)、(d)是對應的加紋理后側面觀察到的皮膚形變效果。鼠標接觸到物體表面上的質點時,采用改進的方法尋找模型中的受力作用點,對該點賦予沿鼠標方向的拉力,該點將隨著鼠標移動,帶動模型中其它質點運動,引起軟組織形變。

圖2 軟組織模型的形變效果Fig.2 Deformation of the soft tissuemodel
本文的質點彈簧模型建模的縫合線,用一些長為l的線段將模型中的質點連接起來,以表示一條完整的縫合線。僅用依次連接的線段表示縫合線,雖然能夠表示線的特性,卻不能表示線的寬度。為了避免這個問題,本文繪制了與縫合線線段數目相同的圓柱體,將這些圓柱體加在每個縫合線線段的表面上,以顯示出縫合線的立體感。可以通過在程序中改變對應的參數調整縫合線的長度、粗細、顏色等信息,以達到逼真的縫合線建模。為了避免質點彈簧模型發生大形變時難以控制的缺點,使用FTL計算各個縫合線質點的新位置,得到縫合線的新構型,實現縫合線軌跡跟蹤(見圖3)。每次用FTL更新縫合線各質點位置前,比較交互點最大靜摩擦力與當前摩擦力的大小,決定是否發生相對滑動。控制點j受外力作用從Pj.old運動到 Pj.new,則它相鄰質點 j+1的新位置就是沿 Pj+1.old到 Pj.new方向移動一個單位長度。


圖3 縫合線運動效果Fig.3 M ovement of the suture
當縫合線通過軟組織時會在軟組織上形成一個洞,實驗過程中用質點彈簧模型中的網格形成一個洞,會造成縫合線與皮膚的交互模擬過于復雜。我們采用將縫合線上的質點與軟組織上的質點相連,縫合線由于靜摩擦力帶動皮膚模型中的質點一起運動,由胡克定律可知,隨著質點被拉動,它受到來自皮膚模型中相鄰質點的拉力越來越大,導致縫合線與皮膚質點發生相對滑動。為了真實地表現這一過程,我們對交互點的受力情況進行分析。圖4中,實心點為軟組織結點,空心點為縫合線結點,F1,F2為彈簧的拉力,f12,f23為線兩端的張力。
當1,3之間的縫合線處于拉伸狀態時,交互點的靜摩擦力方向,即相對運動方向,與縫合線拉伸的方向相同,則有

圖4 縫合線與軟組織交互Fig.4 interaction between suture and soft tissue

式中:p1,p2為結點1和2的位置。壓力方向與相對運動方向垂直,設為v。壓力等于四個力的合力在v方向上的投影,則有:

于是得最大靜摩擦力為

靜摩擦力的大小為合力在u方向上的投影

完成一次縫合后,下一次縫合由于拉動軟組織產生形變,已縫合質點會因受力不同而分離。為了避免這種情況,使每個已縫合的質點位置在多次縫合過程中保持一致,對每個皮膚質點設標記stitch,若兩個質點發生縫合,stitch記錄對應縫合點的索引,形變計算過程中讓對應的值位置保持一致。圖5展示了多次隨機縫合后軟組織及其相應的網格模型形變效果。實際縫合中,每完成一次縫合,要打結作為結束,再移動縫合線進行下一次縫合。實驗中由于沒有手術器械的運動模擬,所以圖5中縫合線只停留在當前縫合處。

圖5 連續縫合過程中的軟組織形變Fig.5 Soft tissue deformation in a continuous pattern suture
實驗硬件平臺為Intel(R)Pentium(R)D CPU 3.0GHz 1.0GB內存,軟件平臺為OpenGL與VS2005。圖6展示了完成一次縫合過程。
圖7(a)、(b)展示了文獻[7]和本文的縫合效果。文獻[7]中線性有限元建模的縫合線形變大時易失真。
而本文采用FTL算法計算縫合線各質點的位置,使其更接近真實線的形態,符合縫合線的剛體特征。

圖6 一次縫合過程Fig.6 The procedure of a single stitch

圖7 不同方法建模的縫合線效果對比Fig.7 comparison of suture based on differentmethod
本文采用質點彈簧方法對皮膚進行了建模并用改進的方法尋找受力作用點;物理和幾何相結合的方法建模真實感縫合線,對縫合線與軟組織間的力學交互過程進行了研究與實現;引入縫合標記真實地實現了連續縫合過程中軟組織形變。實驗中沒有對手術器械及縫合線打結過程做出模擬,故手術器械的運動及打結模擬將是以后的主要研究內容。
[1]Delingette H.Towards realistic soft tissue modeling in medical simulation[J].Proc.of the IEEE:Special Issue on Surgery Simulation,1998,86(3):512-523.
[2]Roger W Webster,Dean IZimmerman,Betty JMohler,et al.A prototype haptic suturing simulator[C]//Medicine Meets Virtual Reality 2001,Amsterdam:IOSpress,2001:567-569.
[3]Joel Brown,Kevin Montgomery,Jean-Claude Latombe,et al.A microsurgery simulation system[C]//Proceedings of the 4th International Conference on Medical Image Computing and Computer-Assisted Intervention,London:Springer-Verlag,2001:137-144.
[4]Dinesh K Pai.Strands:Interactive simulation of thin solids using cosserat models[J].Computer Graphics Forum,2002,21(3):347-352.
[5]Matt LeDuc,Shahram Payandeh,JDill.Toward modeling of a suturing task[C]//Graphics Interface’03.Natick,Massachusettes:A K Peters,2003:273-279.
[6]Moll M,Kavraki L E.Path planning forminimal energy curves of constant length[C]//in Proc.2004 IEEE Intl.Conf.On robotics and Automation.2004:2826-2861.
[7]Blazej Kubiak,Nico Pietroni,Fabio Ganovelli,et al.A robustmethod for real-time thread simulation[C] // Proc.of the 2007 ACM Symposium on Virtual Reality Software and Technology,New York:ACM Press,2007: 85-88.
[8]Shi Fu-han,Shahram Payandeh.On suturing simulation with haptic feedback[C]//Proceedings of the 6th International Conference on Haptics:Perception,Devices and Scenarios,Berlin:Springer-Verlag,2008:599-608.
[9]Payandeh S,Shi F.Interactive multi-modal suturing[J].Virtual Reality,2010,14(4):241-253.
[10]Choi K,Chan S,Pang W.Virtual suturing simulation based on commodity physics engine formedical learning[J].Journal of Medical Systems,2012,36(3):1781-1793.