吳德道,趙永虹,張思維,劉小平
(1.南昌大學信息工程學院,江西 南昌 330031;2.景德鎮陶瓷大學,江西 景德鎮 333000;3.四川開放大學工程技術學院,四川 成都 610073;4.南昌大學前湖學院,江西 南昌 330031;5.卡爾頓大學系統與計算機工程系,渥太華 加拿大 K1S 5B6)
實現逼真是計算機圖形學的一個焦點,尤其在渲染虛擬手術的情況下。渲染虛擬手術時最重要的一個方面是手術表面的外觀。長期以來,這一直是一個具有挑戰性的主題,而高真實感的表面呈現直到最近幾年才具備高性能實時應用程序的可行性。由于這種開發相對較新,所以在實時設計實現中,表面的真實呈現尚不普遍。在本文中,我們將著眼于如何利用這些技術來更真實地再現手術切口。許多外科手術模擬器和現代電子游戲都以某種方式描述切口的切割過程,盡管它們處理切口的方式非常不同。手術模擬器試圖盡可能近地模擬手術工具與表皮組織的幾何形狀之間的相互作用。表面的視覺質量往往被犧牲,而不是改善模擬。另一方面,電子游戲通常側重于傳達一種被藝術化的視覺。因此,表皮切口往往是藝術再現,而不是物理模擬。用這種方法制造切口需要大量的藝術方面的投入,這既費時又費力。
我們歸納了目前的幾種合成皮膚切口的方法。第一,在最基本的方法中,藝術家創建了許多具有不同程度傷害的皮膚紋理,這些紋理在角色受到傷害時在運行時交換出去。第二,較復雜的模型根據運行時確定的標準,將預生成的損傷(紋理和可能的網格修改)應用于角色模型的部分。第三,更精細的傷害模型基于運行時收集的精確傷害信息對角色進行局部修改,在運行時動態生成適當的紋理和網格修改。大多數外科手術和電子游戲模擬器中使用第一種或第二種模型來可視化角色受傷,其中藝術影響是決定切口外觀的主要因素。只有在第三種模型中,損傷是在運行時合成的,因此依賴于藝術的成份較少,而可以用于更廣泛的應用程序。在電子游戲和外科手術模擬器中,關于皮膚損傷的學術研究很少,而公開發布的交互式軟件中復雜的破壞模型的技術細節更少,這使得對這個主題的研究既困難又有研究價值。
綜合考慮,在三維重建數字化模型基礎上提出了一種實時模擬和可視化切口的方法。該方法直接與三維三角網格交互,并在程序運行時生成新的幾何結構與簡單而有效的紋理合成器結合使用,可以在程序運行中產生高真實感的手術切口。本文其余章節組織如下。第二章回顧了之前的相關研究,并對我們的解決方案進行了概述。第三章給出了我們解決方案中使用的渲染方法以及手術切口的渲染,第四章通過實驗進一步證實我們的渲染方法行之有效,最后,第五章總結了本文的研究成果,并對將來的研究提出了建議。
外科手術切口創面常常被錯誤地與裂口交替使用,但由于創面內沒有薄的組織橋,切口邊緣幾乎沒有或沒有磨損,因此具有明顯的區別[1-2]。切口的另一個視覺特征是其周圍的表皮組織會變紅。這種紅色的醫學術語是紅斑,由小靜脈和毛細血管破裂或血液細胞流入開始愈合過程引起[3]。紅斑通常是彌漫性的,沒有固定模式[2]。
在計算機圖形學和游戲技術領域,對手術切口可視化或切口模型的研究非常少。Grimes和Vlachos[4-5]提供了兩個相關的資料,可以讓我們深入了解實際的切口模型。這兩幅作品描述了一種技術,使用動態可替換的剔除體來表示開放切口的程度,從這里可以看到肉和骨頭的內部模型。投射的紋理是用來可視化血飛濺和切口周圍的邊緣開口。雖然這種技術能夠創造出自然的切口,切斷一部分網格,但由于需要皮膚表面后面的內部網格,其適用性是有限的。此外,它只允許使用橢球體或圓盤進行切割,因此不適合小的手術切割。Lee等人提出了一種面部創傷綜合系統[6-7]。首先描述了將纏繞紋理投射到三維模型中的實際意義并介紹了生成面部深度圖和測量輸入切口圖像的空間變化深度圖的技術,然后,當將一個切口圖像應用到選定區域時,這兩個紋理映射用于修改面部網格的局部幾何形狀(深度)。他們的技術允許用戶交互選擇切口圖像的位置,然后實時應用到目標網格。然而,他們使用預先生成的切口紋理,并沒有采取任何行動來改善切口與原始表皮顏色的混合,使切口看起來人工合成明顯。
本文通過用于表面可視化[8]的切口紋理在運行時生成以提高實時性能,并提出一種擴展的次表面散射方法結合基于物理的渲染方法,以便切口周圍區域局部顏色變化更加具有逼真度。該方法完成切割到切口真實感呈現約在150毫秒以內,可以增加在實時應用中虛擬手術切口的高真實感。
虛擬手術切口高真實感渲染主要是切口自身與切口周圍皮膚表面的渲染以及這二者之間顏色過渡的處理,結合基于物理的渲染、兩層切口貼片以及提出的基于次表面散射的局部變色方法完成虛擬外科手術切口高真實感呈現。
基于物理的渲染(PBR),是一組陰影模型,通過精確建模光和材料的相互作用來實現更高層次的真實感和渲染質量。用于著色的主要輻射量是輻射度(符號L)。雖然輻射度是一個光譜量,但為了渲染的目的,它通常存儲為RGB三元組。設某一點(Lo)的輸出輻射度是該點(Li)的輸入輻射度的函數。最常用的模型是反射方程:
(1)
出射光是由一個出射方向ωo給出。對于局部光照陰影來說,ωo通常是視覺向量v,一個單位向量指向從陰影位置到相機。入射光ωi是光矢量l,指向光源的陰影位置。積分域是由半球表面法矢量n定義的。由(1)式可知,出射輻射度與入射光線與表面法線入射角加權后的半球各方向入射輻射度之和成正比(余弦因子)。入射光線也是加權的雙向反射分布函數f(ωo,ωi)(雙向)。該函數以輸入入射光和出射光為輸入,輸出一個權值表示入射光線對最終出射光線的貢獻大小。不同PBR模型的區別在于所選擇和構造的雙向反射分布函數(BRDF)。
BRDF可解釋為指定給定入射光方向的散射光和反射光的分布,并由四個角度參數化。為了在物理上合理,BRDF必須遵守可逆原則,如公式(2):
f(ωo,ωi)=f(ωi,ωo)
(2)
而且能量必須守恒:
(3)
對所有可能的輸入ωi方向,BRDF的積分乘以余弦系數在所有可能的輸出方向ωo不得超過1。式(3)意味著發出光線的數量不能超過入射光線的數量。
Cook-Torrance BRDF是基于微表面理論[9]。在該理論中,表面被視為一組微小的光學平面——微表面,每個微表面都有其表面法向量m。此外,在對一個表面點進行著色時,給出了入射光向量l和出射光方向v。需要計算的是來自l方向的光在v方向上的反射率。只有表面法向量m等于l和v之間的半向量h的微表面才能產生反射,如圖1所示[10]。

圖1 微面反射示意(只有m=h的微面才能對反射有貢獻)
從微表面入射的光和從微表面出射的光都可能被表面附近的形變所阻擋。這些現象分別稱為陰影和遮擋。陰影和遮擋的微表面對反射沒有貢獻。所有有助于反射的微表面都稱為活動微表面。Cook-Torrance BRDF基于這些假設,其形式如公式(4):
(4)
上式中,F(l,h)為菲涅爾反射率項,G(l,v,h)是陰影和遮擋項,D(h)為正態分布項,4(n·v)(n·l)為歸一化因子。
在實時渲染中,常用的漫反射BRDF是Lambert的BRDF,如公式(5):
(5)
BRDF實際上是常數,這意味著它模擬了均勻擴散,入射光同樣有可能散射到所有可能的方向。Cdiff是散射出表面光的比例系數。這個參數通常被稱為反照率,它與通常認為的材料顏色密切相關。公式(1)中使用的BRDF由鏡面BRDFs和漫反射BRDFs組成,但它們必須以不破壞能量守恒的方式混合在一起。這可以通過多種方式實現,常見的是在BRDFs之間進行線性插值,其系數與給定陰影點處的物體反射率成正比。滿足這個特性的一個因素是擴散菲涅爾項如公式(6),其中余弦項用v·n取代:
Fdiff(F0,v,n)=F0+(1-F0)(1-(v·n)5)
(6)
最終,本文采用的完整的BRDF如公式(7):
f(v,l)=fLambert(v,l)(1-Fdiff)+
fCook-Torrance(v,l)Fdiff
(7)
在計算機圖形學和游戲技術中,沒有更嚴格的數學或物理模型的情況下,通常將自然現象的外觀建立在參考圖像的基礎上[11]。在我們的手術切口渲染中,包括切口周圍的切溝和網格表面。后一過程包括若干階段,首先著色器產生一個不同大小和外觀的紋理,使切口可視化。然后使用紋理渲染技術將該紋理映射到網格上,通過著色器將切口貼片渲染到對應的網格面上。
在提出的兩層手術切割傷口貼片生成中,我們將較暗和流血的內層與較淺的有色的外層分開。圖2說明了兩層切口貼片的組成。 為了方便觀察,把第一幅圖局部放大成第二幅圖,從中可以看出,內層與外層顯示出大量的鋸齒,我們采取局部次表面散射來模糊處理結果如4.2節圖4(b)。在內層和外層之間以及外層周圍引入了淡入淡出技術,以此改善混合后的整體效果。

除去中心暗紅色的切割溝槽,切口表面從內到外分別是深紅的內層,淺紅的外層,兩層組合,兩層與內層漸變,兩層與內、外層漸變。
接著我們定義了內層和外層的顏色。對于內層,文中使用統一的顏色來表示沾滿血的組織。而對于外層,在較深和較淺的皮膚組織顏色之間進行插值。插值因子是通過分形布朗運動[12]來確定的,該技術通過重疊具有不同形狀的噪聲函數來增加噪聲的細節,從而使噪聲具有分形性并通過使用此技術來減少切口紋理的人造外觀。

算法1是生成切口貼片的像素著色器偽碼,主要對兩層貼片界限定義,其中在第7行,在輸入紋理坐標的x和y位置設置了一個隨機偏移量(在0到100之間)。這樣可以使兩個不同外層具有不同的外形。算法2是進行實際紋理渲染的像素著色器偽碼,這個著色器對網格上給定位置的切口紋理進行采樣,并返回相應紋理的顏色值。當對整個三角形執行時,該三角形的每個像素將采用切口修補的紋素的顏色值,并與原始顏色混合。
手術切割傷口可視化的最后階段是切口周圍皮膚的變色。這模擬了由于受傷組織周圍毛細血管擴張而引起的皮膚發紅(紅斑)。通過改進Jimenez等人的次表面散射技術[13-14]來解釋這種類型的皮膚變色。變色顏色可以用切口周圍未受傷皮膚顏色的百分比來表示。這大約是85%到95%的紅色通道,60%到75%的綠色通道,60%到85%的藍色通道。通過修改模糊核在次表面散射著色器的中心權值,我們可以調整表皮的整體顏色。由于中心樣本對最終膚色的權重最大,我們可以保持其他樣本不變以表現模糊效果。對于每一個切口,我們渲染到目標網格的變色紋理貼圖的alpha值為零,因此不會干擾原始的次表面散射過程。

實驗環境配置為CPU為Intel core i5 5200,內存4 GB,顯卡為AMD Radeon R5 M320的便攜計算機上進行了渲染實驗;使用3ds Max 2014版本作為渲染工具,Shader語言為CG。實驗用例為實際的肝臟經三維掃描重建后得到的數字化模型。
第一組實驗對象是圖3(a)在經圖像重建后得到的肝臟三維幾何模型,如圖3(b)所示,實驗中手術切口在圖3(c)和3(d)中分別渲染在3D網格和面片上。在圖3(d)中,切口分內外兩層并分別淡化界限,以此使切口顏色過渡自然,通過噪聲函數的分形性來減少切口紋理的人造外觀痕跡。

(a) 原始肝臟圖片
與真實肝臟軟組織的切口對比如圖4所示,其中左圖是固定切割裝置旁邊是切割產生切口的肝臟軟組織[15],右圖是經數字重建肝臟切口的渲染。通過對比,我們可以注意到切口幾何外形基本相似,所不同的是切口周圍血液顏色的渲染,左圖偏向切口外形實驗,右圖兼顧切口外形和周圍表皮顏色的渲染。

圖4 與真實肝臟切口的對比,其中左圖為真實肝臟切口右圖為重建仿真切口
為了模糊處理手術切口邊界使其具有高真實感,我們采用改進的次表面散射方法使得切口周圍局部變色如圖5所示,其中圖(b)是經模糊處理并局部放大與圖(a)未經模糊處理比較更顯得切口周圍的過渡自然。

(a) 圖3(d)切口局部放大未模糊處理 (b) 圖4右圖經模糊處理并切口局部放大

表2 依次增加的渲染過程及增加手術切口所對應的幀速率對比
第三組實驗如表1展示出在經數字化仿真模擬肝臟模型面片數為3968的情況下,利用本文渲染方法達到的幀速率以及增加手術切口后的渲染幀速率對比。通常12 fame/s的幀速率為人眼所達到實時交互的最低的幀速率,當采用次表面散射方法渲染模型以及切口時,其渲染的幀速率依然分別可以在90和85 fame/s左右,分別為人眼實時最低速率的7.5和7倍。所以本文實驗方法保證了實時渲染的需要。
本文在三維重建數字化模型基礎上提出了一種實時模擬和可視化肝臟虛擬手術切口的方法。該方法直接與三維三角網格交互,并在程序運行時生成新的幾何結構與簡單而有效的紋理合成器結合使用,可以在程序運行中產生高真實感的手術切口。通過使用像素著色器和運行時信息動態生成和渲染切口紋理的方法對切口自身和切口周圍的表面進行可視化處理。通過描述一個避免預生成內容的解決方案,以減少對藝術輸入的依賴。另外,我們擴展了最先進的次表面散射方法,允許使用紋理映射產生局部顏色變化。與Jimenez等提出的原始可分屏空間次表面散射著色器相比,改進的次表面散射著色器僅慢十分之一。將來工作重點可以集中于研究表皮組織的不同層的生理特性,以及如何將其轉化為逼真的物理模擬,以密切模擬真實(創傷)表皮的行為。