幾種常見平滑演算法的實現可以參見:
幾種網格平滑演算法的實現 - Jumanco&Hide - 部落格園 (cnblogs.com)
1 Introduction
影像空間中相關的組織和結構,變換成網格模型,通常是為了實現更加高效和清晰的視覺化。在醫學領域,準確性,保形(比如,病例結構),不同表面之間距離的保持都是至關重要的。圖1中,a)上臂肱骨的MRI資料,b)提取出來的表面模型,c)肱骨的照片。
提取出來的網格模型僅僅是真實模型的近似。和真實模型有很大的差別。會有很多虛假的結構(artificial object),比如磨損部件,空洞,樓梯,高臺。人的眼鏡對於這些不連續性非常的敏感,通常這些特徵作為目標識別和分類的重要特徵。對於減少這些虛假結構,通常可以從兩個方面觸發,voxel level或surface mesh level(見圖2)。
在voxel level的操作往往進行亞體素重取樣,使用非binary的分割mask,或在亞體素上進行分割(D. Stalling, M. Z ̈ockler, and H.-C. Hege. Segmentation of 3d medical images with subvoxel accuracy. In Proc. CARS’98, pages 137–142, 1998.)。其他方法對binary segmentation mask進行平滑(A. Neubauer, M.-T. Forster, R. Wegenkittl, et al. Efficient display of background objects for virtual endsocopy using flexible first-hit ray casting. In Proc. VisSym’04, pages 301–310, 2004),或者在mesh提取的時候依據灰度值對邊界進行調整(P.W. Bruin, F. Vos, F.H. Post, et al. Improving triangle mesh quality with surfacenets. In Proc. MICCAI’00, pages 804–813, 2000)。考慮到醫學視覺化的特殊性,對於那種mesh smoothing演算法適合醫學視覺化,以及不同的引數對於結果會有什麼影響。考慮到體積保持和空間擴充套件和關係保持的具體要求,目前尚不可能對醫學表面網格進行詳細的、面向目標的平滑處理。本文比較了Laplace,Laplace+HC,LowPass網格處理演算法。
3 Problem Analysis
為了系統地比較用於醫學視覺化的網格平滑演算法和策略,我們首先分析了偽影的原因,這些偽影使得從醫學體資料中提取的表面平滑成為必要,或者阻礙了這一過程。我們考慮從原始體積資料開始到網格提取步驟(見圖2)的曲面提取過程的每個步驟,以分析可能的問題和偽影源。此外,我們還根據醫學視覺化中不同的表面模型的特性和具體特徵對其進行了分析,並提出了合適的分類方案。從這些發現中,我們得出了醫學視覺化對網格平滑的要求以及評估平滑結果的標準。
3.1 Artifact sources in the surface extraction process
從醫學體資料中提取的曲面是由原始物件、影像採集、分割和網格提取組成的多級生成過程的結果。由於每個步驟都是提取曲面偽影的潛在來源,因此我們分析和討論每個步驟中的所有偽影來源.
3.1.1 Image Acquisition
採集的醫學影像通常的解析度在128x128x64到512x512x400之間,並且z軸的解析度往往比xy軸的低。
影像採集技術的離散解析度導致所謂的部分體積效應。這個描述的是不同組織的不同density values會合並覆蓋到one voxel中,或者僅部分覆蓋,如圖3a。對於精細結構或體積元素內部的銳角,可對與實際存在的物件之一不對應的密度值進行取樣。因此,銳角可能會變得模糊,並且在分割步驟中,這樣的體素可能被指定給錯誤或沒有物件。由於在臨床上,常規醫學成像應用於患者,會產生運動偽影,比如由呼吸引起。此外,由於植入物在CT掃描期間阻擋X射線束或在MRI下引起磁場不均勻性,可能會出現訊號偽影(見圖3(b))。
3.1.2 分割
分割後,每個voxel會被標籤上是某種物件或是背景。分割技術中,更常見的是binary分類。(1=物體,0=背景)。這會引入塊狀偽影。也有基於slice的分割,這樣不同slice之間會存在不連續性。
此外,由於影像採集過程中的偽影,分割也可能失敗。物體邊界模糊(比如,由於partial volume effect和motion artifacts),或者不正確的voxel value(比如,由於噪聲和訊號偽影)會導致更多的voxel被分配為目標物件(over-segmentation),或者更少的voxel(under-segmentation)。這個會引起holes,和frayed object,在關鍵區域會多或少一些結構。見圖4.
3.1.3 網格提取
網格提取演算法通常採用MarchingCube演算法實現。
3.1.4 Summary
影像採集過程中相關的偽影有:
- noise,噪聲;
- partial volume effect,部分體積效應,如,一個體素中只有一部分是目標物件;
- 運動和訊號偽影
分割過程中有:
- block、staircase偽影;
- holes
- frayed parts
- additional、detached parts(有over-或under-segmentation引起)
表面網格提取階段:
- salient/artificial surface edges;
- 大量的三角形;
- small/large triangle size in relation to feature size
- elongate triangles
雖然平滑操作不能夠處理所有的偽影,但也並不會放大這些偽影。
3.2 Object Analysis and Classification
解剖結構的表面通常不會有矩形,銳利的或straight-lined edges。通常組織結構是平滑的,和特定於物件的犁溝、分支、凸起或縮排。這和CAD、CAM應用中用到的特徵保留平滑演算法中的模型是不一樣的。因此,上述的平滑演算法並不適合組織物件。
此外,解剖結構的表面模型不同物件特徵具有很大的差異性。因此,不同形狀的物件,在平滑的時候會有不同的表現,或針對不同的物件有各自的適合的平滑策略。可以根據特定的物件特性對物件進行分類是合理的。因此我們將物件分為了三類,compact,flat,或者elongated(圖5)。此外,我們利用triangle-size-to-feature-size比率對物件進行了區別。此處,如果triangle size比feature-size小很多,我們定義objects為huge,否則定義為small。
3.2.1 Compact objects
compact物件的特徵是體積相對於表面積而言很大。典型的示例有:肝臟,milt,kidneys(腎臟),也有一些小的結構,比如淋巴結,其他腺體。通常,小型緊湊物體(如腫瘤和潛在病理性淋巴結)的確切空間位置、體積和範圍具有醫學相關性。相比之下,對於大型緊湊物體(如器官),可接受與精確體積的微小偏差以及小物體部分的適度收縮。compact物件主要受到塊和樓梯偽影的影響,這些偽影會損壞原始物件,例如,通過非自然的人工邊緣。此外,一個切片中的緊湊物件的大小很可能與其相鄰切片中的大小相差很大。在這些區域,通常會出現帶有大型細長樓梯(所謂高原,plateaus)的樓梯瑕疵。由於網格提取技術,在這些高原上會建立大量共面多邊形,這可能會妨礙平滑過程。一些compact物件會包含獨立物件部分(如,satellites of a tumor or segmentation artifacts,見圖6)。圖6c中曲率變化很大的情況下,少量的平滑,可能導致表面的很大變化。
3.2.2 Flat Objects
若果物件的一個維度上的大小明顯小於其他維度,那麼物件被分類為flat(平坦物件)。典型的例子是頸部肌肉(胸鎖乳突肌),像肩胛骨、胸骨和盆骨。由於部分體積效應、二元分割以及它們在一個方向上的小範圍,相應提取的曲面模型很可能會出現磨損零件、孔洞、附加零件和分離零件。這些問題區域由於曲率增加,鄰接三角形存在很大的差異,會導致這些部位的嚴重形變。和compact物件類似,flat物件也會存在block和staircase偽影。如圖7.此外,彎曲的flat物件會引起更加嚴重的問題,因為這樣的結構在尺寸、形狀和位置上傾向於朝著它們的方向收縮 重心。這可能會導致周圍物件之間的空間距離和關係發生嚴重變化。
3.2.3 Elongated Objects
結構主要朝一個方向伸展,這樣的物件分類為拉長的物件。血管,支氣管樹,手臂腿部的骨頭,肋骨。
這些物件的連通性和連續性是他們的重要功能。由於其不利的三角形大小與特徵大小之比,此類物件中的大多數物件嚴重遭受塊和階梯偽影以及平滑方法的負面影響。例如,樓梯偽影可能導致視覺上的分心和診斷上的誤導性收縮。此外,由於部分體積效應,此類細絲狀物件的部分可能無法在不同的切片中精確表示。因此,在網格提取期間,可以生成更多斷開連線的物件部分。拉長的物件還可以顯示多個分支,這些分支的存在、數量和分支行為非常重要。平滑演算法可以扭曲這些分支以及收縮和摺疊薄物件部分,從而導致進一步扭曲和分離物件部分。
3.3 Mesh smoothing requirements for medical visualizations
通過分析偽影源和醫學表面模型的具體特徵,我們得出了醫學視覺化對網格平滑的要求。
網格平滑的主要目標是為了獲取(A)視覺改善。為了完成這個目的,所有物件的block和臺階偽影(A-1)和plateaus偽影(A-2)需要去除(特別是對於compact物件)。對於flat物件,主要需要補洞(A-3),減少frayed parts(刺出來的部分)(A-4)。對於拉長的物件,需要恢復形狀的連續性,重建連續直徑分佈(A-5),和將分離物件重連(A-6)。需要避免原始物件和平滑後的物件的偏差超過一定的值(B),給定適當的停止標準是必要的。這些可以是,物件特徵保持(B-1),體積保持(B-2),空間延伸和關係的守恆(B-3),同時不能放大偽影(B-4)。
3.4 Smoothing result assessment criteria 平滑結果評估標準
在本節中,我們列出並簡要分析了保證原始曲面模型質量和正確性評估的標準。
評價視覺化提升的合理的標準有:視覺感知,三角形質量,最大麴率,平滑之後的表面積的變化。
評價相對於原始模型的偏移或誤差,可以採用:體積,主軸範圍,距離測量(e.g. Hausdorff distance)。與原始影像的偏差或距離也可以通過對適當的視覺效果進行目視檢查來評估。平滑方法適當性的其他標準是其計算複雜性和執行時間。
4 Comparison and assessment concept
初始提取出來的表面模型作為original,比較和評估都是以該模型作為基準。這一概念適用於醫學視覺化程式,在該程式中,沒有正確的患者個體解剖學的“完美”模型可用。因此,本研究的平滑結果和經驗不僅可用於得出平滑建議,還可直接整合到通用視覺化過程中(例如,作為停止標準)。
在本文研究中,使用MeVisLab實現不同的平滑演算法。使用Amira對結果進行分析。
4.1 Surface Models and Assessment Criteria 表面模型和評估標準
為了比較不同的演算法,我們選了6個典型參考物件(每個類別兩種參考物件)(見Table1)。
為了保持比較簡潔,我們僅使用最大麴率的分佈(兩個主曲率值的最大值)作為平滑度的指標,並作為評估視覺改善的數值標準(↑A) ,以及對稱Hausdorff距離(作為位移度量)和體積(作為收縮度量)來評估誤差(↑B) 相對於原始曲面。因此,在每個演算法的所有參考物件的每個平滑步驟中收集這些標準。計算模型每個頂點的最大麴率,並用整個曲面模型的平均值和標準偏差表示。每個頂點相對於原始曲面的對稱Hausdorff距離的最大值用於表示對原始曲面的最大分佈/誤差。
4.2 Smoothing Algorithms and Parameters
4.2.1 Laplace Mesh Smoothing Algorithm
直接使用拓撲結構中領域的內容進行平滑。拉普拉斯過濾器迭代遍歷所有曲面頂點,並將每個頂點移動到其拓撲鄰居的幾何中心。關於laplace平滑可以參見:pmp_src_algo-surface-smoothing.
其中,p為舊的點,p'為新的點,q為領域的點。vtkSmoothPolyDataFilter of the VTK實現一致。
4.2.2 Laplace+HC Mesh Smoothing Algorithm
該演算法是用來解決laplace平滑過程中引入的搜尋問題(J. Vollmer, R. Mencel, and H. M ̈uller. Improved laplacian smoothing of noisy surface meshes. In Proc. EuroGraphics’99, pages 131–138, 1999)。HC演算法擴充套件的概念是,通過拉普拉斯濾波器移動的頂點在某種程度上被移回其原來的位置。該演算法的大的結果,體積不會引起較大變化。此處,採用的\(\alpha = 0\),表示所以的頂點只會往之前的位置的方向移動,\(\beta = 0.2\),自身位移向量對向後運動的貢獻係數為0.2,鄰域平均位移向量對向後運動的貢獻係數為0.8。
4.2.3 LowPass Mesh Smoothing Algorithm
LowPass表示兩個laplace濾波,有一個正向權重,一個負向權重,G. Taubin. A signal processing approach to fair surface design. In Proc. SIGGRAPH’95, pages 351–358, 1995.。
第一步的時候是常規的laplace濾波過程,使用任意的\(\lambda\)引數,第二步的時候,將\(\lambda\)替換成\(\mu\),這個值會比\(-\lambda\)小一點點,用於將點進行反向移回。為了更好的和前面兩種平滑方法對比,此處將\(\mu\)設定為\(\mu = -1.02\lambda\)。 vtkWindowedSincPolyDataFilter中實現了該演算法。
4.3 Comparison Procedure
因此,我們將討論的平滑方法與一階和二階鄰域、四個不同的迭代步驟(5;10;20;50)和六個不同的加權因子(0.05;0.1;0.3;0.5;0.7;0.9)進行了比較,並將其應用於六個代表性曲面模型。
5 Results
5.1 Smoothing Results of Compact Objects
低通濾波器和加權因子在0.5到0.9之間、迭代次數在20到50次的拉普拉斯+HC被證明同樣合適。
5.2 Smoothing Results of Flat Objects
拉普拉斯濾波器被證明是平滑平面物件最差的濾波器,並且產生了嚴重收縮的曲面模型。同樣,使用低通和拉普拉斯+HC濾波器進行平滑得到了最佳結果。然而,低通濾波器能更好地保持磨損零件和孔的體積和形狀(見表3)。使用介於0.5和0.7之間的權重因子以及20次迭代可以獲得最佳結果。與緊湊物件的結果類似,使用二階鄰域平滑平面物件可以更好地減少嚴重瑕疵,但與此相反,二階鄰域會使磨損的零件和孔變形更多
5.3 Smoothing Results of Elongated Objects
最好的結果出現在LowPass,0.5 weighting factor和10到20的迭代。
6 Smoothing Recommendations
在我們的研究中,低通濾波器被證明是所有參考物件最合適的基本平滑濾波器。為了平滑緊湊的物件,主要是具有二階鄰域的低通濾波器,應使用大約0.7的加權因子和20到50次迭代。類似的平滑策略可應用於沒有或有少量磨損零件和孔的平面物件,而此處應用的迭代次數不應超過20次。相反,具有此類問題區域的平面物件應使用一階鄰域進行平滑。具有許多細絲分支和分離物件部分的細長物件無法使用任何測試過濾器進行適當平滑。對於血管樹的平滑,基於模型的平滑(在某種程度上從[OP05]中介紹的真實解剖中抽象出來)往往是最有希望的程式,至少對於不用於診斷任務的視覺化來說是如此。要平滑相對簡單、稀疏或無分支的細長物件,建議使用加權因子為0.5和10次迭代的低通濾波器。
評估標準被證明是評估視覺改善的潛在停止標準(↑A) 是測定表面積和最大麴率分佈的平均值和標準偏差。評估平滑曲面相對於原始曲面模型的偏差/誤差(↑B) 對稱Hausdorff距離和模型體積是合適的。將體積變化作為停止標準不適用於拉長的物件,因為此時小區域往往會縮小,而其他區域則會增大。因此,整個物件體積不會發生變化,儘管平滑結果與原始結果相差很大。
7 Conclusion and Discussion
基於對偽影的分析,將物件分類為特定組(緊湊、平坦、細長),並比較基本網格平滑演算法的不同引數組合,我們能夠得出醫療視覺化的第一平滑建議。然而,本研究表明,對提取的曲面模型進行平滑,僅在有限的程度上從視覺上改善曲面。磨損零件、孔和分離零件主要通過網格平滑表示不可還原的瑕疵。未來的工作應分析更復雜的網格平滑方法和策略(例如,基於擴散的平滑)。此外,在體素和網格級別實現視覺改善的方法還有待進一步研究。醫學表面模型的自動平滑是另一個重要問題。在這種情況下,自動識別物件型別(例如緊湊、平坦、拉長)和檢測瑕疵應導致自動確定適當的平滑策略和引數。