本站小編為你精心準備了柏林噪聲的心臟紋理圖細化探析參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:心臟仿真在虛擬手術中發揮著關鍵作用。以柏林噪聲為基礎,開發出一類可用于細化心臟紋理圖的新手段。首先預處理心臟切片數據集,之后通過樣條擬合實現虛擬心臟模型的構建。期間由Perlin改進算法自動細化樣本心臟紋理圖,使后者紋理更具真實性,進而在已完成構建的心臟體上應用。結果表明,此途徑構建的心臟體可對心臟客觀結構進行較好模擬,在合成效率與質量方面,細化得到的心臟軟組織紋理均表現突出,可在某種程度上推進后續虛擬心臟手術個性化研究的順利進行。
關鍵詞:虛擬手術;Perlin算法;心臟;個性化
引言
構建復雜的表面,經常需要在紋理中加入一些可控的隨機變化。比如不同的木板紋路,大理石紋路以及水面等等。這就需要引入可控的隨機特征———噪聲。總的來說,圖形學中的噪聲表示為連續的變化函數,而且沒有明顯的重復特征。大多數的噪聲函數都在R2上的整數格子的建立,比如對于(1.2,1.3,2.4)(1.2,1.3,2.4)點,則對由(1,1,2)(1,1,2)和(2,2,3)(2,2,3)構成立方體的八個整數頂點進行操作。然后得到各個頂點的數據后進行插值操作,計算特定點的噪聲值。噪聲的隨機產生需要隨機數,而且必須滿足相同的輸入產生相同的輸出。如果要高效地產生和坐標相關聯的隨機值,通用的偽隨機數產生器并不適用,常用的方法是使用哈希函數常表查找參數。Perlin噪聲函數是最常用的噪聲函數,稱為Perlin噪聲。Perlin噪聲在全部(x,y,z)(x,y,z)整形頂點處的參數值都為0,變化源自各頂點間的梯度向量,然后再進行平滑插值。
1柏林噪聲函數
1)一般情況下,可將噪聲函數理解為種子隨機發生器。一個噪聲函數需將一個整數當做參數,進而基于此參數返回一個隨機數。若兩次傳回的參數相等,此函數即可產生兩次一樣的數。圖1所示為一噪聲函數案例。橫坐標上個點均代表一個隨機數,范圍為0至1。圖2所示紅點代表函數所定義的各隨機值。在此類狀況下,振幅為此函數最大值同最小值之差。波長為兩隨機值間的水平距離。頻率則等于1/波長[1]。若使用若干平滑函數,則會具備不同的頻率與振幅,可疊加這些平滑函數,由此所創建得躁聲函數即為柏林噪聲函數。將下述2維噪聲函數進行疊加,可得到如3圖所示的柏林噪聲函數。疊加上述函數后所得的噪聲樣式:2)在疊加噪聲函數過程中,每次疊加會應用到相應的振幅與頻率。通常需要掌握這些振幅與品頻率信息。如以上所提及的一維案例,在每個連續疊加時所應用到的頻率與振幅分別為2倍、1/2倍。此案例非常常見,從而易忽略其它頻率與振幅的應用。嚴謹起見,應借助每步應用其它頻率與振幅的操作來完成特征各異的柏林噪聲函數的創建。例如,在對平滑滾動的丘陵進行創建時,可應用低頻率與高振幅這一特征表現的柏林噪聲函數,此外,低振幅與高頻率可完成平地的創建;低頻率與低振幅可完成顛簸度很高的平面的創建。3)通過持續度(Persistence)一詞的應用能夠簡化上述過程,更易于理解,且可不再重復提及頻率與振幅[2]。持續度指的是每個頻率下的振幅。持續度與其客觀內涵存在一定的歧異。此概念的提出者為Mandelbrot,該提出者同時在分形現象的發現中發揮作用。其界定噪聲具備數量客觀的高頻率所呈現的持續度會較低。“持續度”的提出者還包括Matt[3],然而其定義此概念的方式有所不同。對于上述兩種定義方式,筆者更傾向于后一種,即:frequency=2iamplitude=persistencei在上式中,i代表被疊加的第i個噪聲函數。通過以下圖表能夠獲知柏林函數在輸出上Persist-ence狀況。圖4表對疊加的各個構成單元加以呈現,還呈現出持續度效果以及柏林函數最終結果[4]。
2插值
1)在完成目標噪聲函數創建后,需對此噪聲函數的返回值進行平滑處理。再次,可選擇的方式眾多,然而在效果上存在區別,有些具備良好效果。典型插值函數涉及3個輸入:a、b以及x。應于a與b間實施插值,x的取值區間為0至1。X取值決定了插值函數具體返回至何值。若x為0,其返回a,若為1,則返回b。若x取值大于0且小于1,其會返回a至b間的某值。應用線性插值[5]途徑能夠確保插值函數于插值點上的輸出結果無誤,然而無法確保插值點上插值函數所對應的導數。就所生成曲線的平滑程度而言,相比線性插值,余弦插值更佳。但后者存在速度稍慢這一不足。除了可保證函數輸出外,Hermit插值[6]途徑還可確保插值點上插值函數的導數等于0,如此可滿足平滑性要求。若再將插值點位置插值函數的二階導數取值設定成0,那么能夠實現平滑度的進一步提升。5次插值函數如下:s(x)=6x5-15x4+10x3圖5所示各小塊均為不同的采樣率應用下雜點紋理隨機采樣結果。所展示的細節隨著采樣率的下降而變少,反之所獲細節愈多。左上角小塊應用的最低采樣率,所得細節最少。右下角小塊則應用了最高采樣率,所得細節最多。通過這6張小圖用來合成最終柏林噪聲。當進行合成時,在合成比重上,各張小圖有所區別,細節愈少,所占用的合成比重愈大,反之則愈小。以上圖為例,左上角小圖的采樣紋理關系到最終柏林噪聲的基本樣式,其余5張小圖的全部紋理逐一疊加構成了細節構建,然而比重逐漸下降。所合成的柏林噪聲[7]最終顯示為圖7:2)樣圖細化紋理所指為物體表面的一種視覺體現,其可體現物體表面光澤、質地與顏色等信息,由此來同其它物體加以區分。在計算機中可視為一類二維平面,憑借一定映射途徑映射至三維物體表面上。針對樣本,此次研究選用紋理合成途徑[8]。首先應保證所選擇的數據源具備非均勻各向異性、高精度,故而,將數據源確定為心臟切片圖,詳見圖8。經過柏林噪聲處理后的紋理細化圖9:3)心臟體的構建為了確保所構建的心臟模型滿足精度要求,第一步通過Maya軟件完成心臟體原型的構建;第二步,在軟件內完成以obj為后綴的模型文件的導出操作,此模型結構呈網格狀(詳見圖1)。由于僅通過表面網格構造不能充分展示心臟內部,故而,應借助模型轉換工具(3DObjectConveter)[9]把完成構建的心臟模型生成為以ply為后綴的文件,然后借助四面體網格生成庫轉換心臟網格為三角體網格,如此可利于紋理貼圖。保存三角體網格模型為ele文件、node文件。其中,前者內含此模型各頂點所鏈接的索引信息;后者內含所有頂點的位置信息。此次研究所構建的心臟三角網格體模型所含三角網格與頂點分別為17718個、10007個,如圖10。
3實驗結果分析
在臺式計算機上借助軟件VisualStudio2012、Matlab2014完成此次研究,計算機配置均支持上述軟件的應用。圖10為研究所繪制出的心臟效果圖。此次心臟紋理合成研究所應用的方法用時較少,耗費的內存有限,且具備較高合成效率,可用在虛擬手術顯示方面。
4結語
此次研究所應用的Perlin算法在原有算法上有所改進,可自動細化樣本心臟紋理,提升心臟個性化仿真的精準度。
參考文獻:
[1]陳國棟,蘇志鵬,王娜.基于渦絲模型的煙霧仿真研究[J].貴州大學學報,2018,35(1):57-62.
[2]潘翔,陳國棟.基于復用計算的三維肝臟內部可視化方法研究[J].電視技術,2014,38(11)53-56.
[4]肖春霞,黃志勇,聶勇偉,等.結合圖像細節特征的全局優化紋理合成[J].計算機學報,2009,32(06):1196-1205.
[5]陳云飛.基于樣圖的紋理合成技術研究[J]《計算機工程與應用》2004,40(9):42-45.
作者:陳國棟 蘇志鵬 李劍斌 單位:福州大學物理與信息工程學院