• 沒有找到結果。

PGVF 與 GVF 之比較

第三章 主動輪廓線模型

3.4 蒲松梯度向量流(PGVF)

3.4.2 PGVF 與 GVF 之比較

我們比較 PGVF 與 GVF 兩者在擁有凸型處以及缺口之形狀,輪廓 擷取結果如下;(以圖 3.7 為例)

圖 3.8 凸型缺口原圖

(a)GVF 在凸出部分之流場 (b)PGVF 在凸出部分之流場 圖 3.9 凸型向量流場之比較(a)GVF、(b)PGVF

(a)GVF 在缺口部分之流場 (b)PGVF 在缺口部分之流場 圖 3.10 缺口向量流場之比較(a)GVF、(b)PGVF

由上述兩張圖(圖 3.4,圖 3.5),我們可以比較出 GVF 與 PGVF 計算力場圖結果的差異,兩者在凸出部分流場箭頭集結之處雖大致相 同,但整體流場在彎角部分卻有顯著不同,而在缺口部份,流場圖的 差異更是明顯。抓取結果如下:

GVF 之(a)起始輪廓 (b)迭代過程 (c)最後輪廓

PGVF 之(a)起始輪廓 (b)迭代過程 (c)最後輪廓 圖 3.11 GVF 與 PGVF 之比較

(a)起始輪廓、(b)迭代過程、(c)最後輪廓

由結果可看出,PGVF 在凸起的部份能夠順利的貼近圖形邊緣,且 在缺口的部份,PGVF 的輪廓也較 GVF 來的好,而時間上,PGVF 所 耗的時間 e =2.4240 秒也比 GVF 的 e = 8.3120 秒少的許多。

因此在之後的實驗我們採用較佳的「蒲松梯度向量流之主動式輪 廓線模型」(PGVF) 作為圈選影像物件輪廓的方法。

3.5 內部能量參數之影響

3.5.2 彎曲能量 β 值之影響

物件 影 像 力

β=

0.3

β=

0.1

β=

0.4

β=

0.2

→ β= 0.5

圖 3.13 調整彎曲能量參數之差異 調整加權參數 β α=0

由(圖 3.7)可看出,當彈性能量為零,僅調整彎曲能量時,當 β 值越大,曲線之彈性能量越大,而使得 snake 的邊緣越不易彎曲,使邊 緣弧度越大,當 β 調至 0.5 時,曲線幾乎無法彎曲去貼近矩形的四個 角落,而形成一個圓角矩形。

第四章 三維重建

電腦斷層掃描因為是每 1.0mm〜10mm 間隔攝影一張,如果將這一 連串序列化的影像照片,用上章節的主動式輪廓線模型抓取所需要的 部位,便可以外圍輪廓線的方法重建原物件之三維輪廓,本專題採用 Matlab 為工具,Matlab 是一種用於科學計算的高效能程式語言,在影 像處理及三維模組上有完整的函式庫,幫助我們做三維重建之動作。

4.2 曲面重建(Surface Reconstruct)

此類技術所產生出來的物件表示方法,是將原物體依其輪廓上的

4.2.1 Matlab – Surface 重建方法

Matlab 中提供多種三維繪圖的方法,其中以 Surface 最為基本,它 是將輪廓上之點分別以 X、Y、Z 三軸座標輸入函式後,將各點連接成

4.2.2 內插(interpolation)

(Nearest neighbor interpolation):

最簡單的內插方法,每個內插點

(Linear interpolation):

線 性 內 插 法 是 簡 單 的 內 插 方

立方內插法

(Cubic interpolation):

使用片斷三次方 Hermite 內插多 項式(Piecewise Cubic Hermite

Interpolating Polynomial)P

( )

x 求出適

當的點,並具備下列特徵:

(Cubic spline interpolation):

以 立 方 樣 條 函 數 算 出 適 當 的

-3 -2

Nearest interpolation

-3

Linear interpolation

-3 -2

Cubic interpolation

-3 -2

Spline interpolation

圖 4.8 各種內插法之比較

4.3 體積重建(Volume Reconstruct)

此技術之做法是依照平面切片序列輪廓上之所有點,按順序疊 起,以形成體積資料,必要時可於輪廓點間進行內插(interpolation),以 補齊切面間之不足的空間點。經由 Delaunay 三角化後計算出各四面體 的頂點後重建物件,但因輪廓點數較多,三角化所耗時間,記憶體相 對也大上許多,使得一般個人電腦因記憶體較少,而在處理時間上無 法達到滿意的速度。

Matlab 中同樣也提供了體積重建的函式。

4.3.1 Matlab – tetramesh 重建方法

tetramesh,是以四面體(Tetrahedron)為基準加以繪製三維物件的方 法,需先將空間上所有點的集合做三維的 Delaunay 三角化(Delaunay Triangulation)演算法運算,取得所有四面體組合的頂點之集合,之後便 用 tetramesh 函式繪出結果(圖 4.3)。

2 4 6 8 10

2 4 6 8 10

6 8 10 12 14

圖 4.9 tetramesh 重建

4.3.2 Matlab – isosurface 重建方法

等值面是用於將三度空間資料中具有相同數值的點連接成面;立 體醫療影像中經常運用此一技術來描繪不同的組織,Matlab 中同樣也 提供等值面繪製的方法,利用內插法與 Delaunay 三角化(Delaunay Triangulation)將空間中擁有等值的點繪製出來,如果我們能將所取出來 的輪廓之各點,在空間中給定相同的值,便可以用 isosurface 方法重建 出物件,但因為點數過多,內插運算時計算量過大,使個人電腦無法 負擔。

圖 4.10 等值面重建

4.3.3 Delaunay 三角化

Delaunay Triangulation 為 Voronoi diagram 的正交二元圖(圖 4.11)

定義如下;

l Voronou Diagram

於十九世紀時,由數學家 Dirichlet 先生在 1850 年所率先提出 的一套演算法,利用一個給定範圍的空間劃分為凸多邊型之集合 的方式來求解,若平面上T上有兩點PiPj,假設線段PiPj的中垂 線L把此平面T分割為兩塊區域RiRj,若Ri內只包含最鄰近Pi的 點,且Rj內也只包含最鄰近Pj的點的話,就稱此圖形為 Voronoi Diagram。

l Delaunay Triangulation

由 Voronou Diagram 的概念可衍生出 Delaunay Triangulation 的 定義:若將所有通過 Voronou Diagram 的中垂線段連接起來,所形 成的三角化圖形即是 Delaunay Triangulation,具有以下特色:

In-Circle:

由任一 Delaunay Triangulation 的外心所畫成的圓,其內 除此三角形(四面體)的頂點外,不會再包含其他任何 點(共圓除外)。

Max.-Min. angle:

由給定四點所組成的四邊形,若從中切開時,Delaunay Triangulation 可放大四邊形中較小的內角。

圖 4.11

Voronoi Diagram(紅線)及 Delaunay Triangulation(黑線)

4.4 成像處理(rendering)

物體在重建後,尚需要進行著色(shading)與打光(lighting)等成像 (rendering)處理,以達到物件表面平滑,且近似於原物體之質感,屬於 三維重建的後置處理部份,matlab 支援三種成像者(renderer)分別為:

painters:在簡單或小範圍圖形下,最快的方法。但不支援打光。

Z-buffer:使用 Z-buffer 演算法,只繪製出最前面的物件,在壹班 情形下比 painters 快且精準,且支援打光,但耗費大量 記憶體。

OpenGL:在部分情況下,允許大多數的系統使用顯示卡來增加速 度,一般而言比 painters 或 Z-buffer 快,支援打光以及 透明色。

4.4.1 著色(shading)

matlab 中 shading 包含三種模式(圖 4.12):

Shading flat:這是最基本的方法,將每個網格線所分割的面塗上不 同的顏色。

Shading faceted:是在 flat 方法上在疊加上去黑色的網格線。

Shading interp:此方法使用內插(interpolation)顏色映射(color map) 的索引值的方法讓每個分割面之上的色彩產生漸 層並多樣化。

Shading flat Shading faceted Shading interpolation 圖 4.12 Shading 比較圖

4.4.2 打光(lighting)

Lighting Phong:此方法是比 Gouraud 更費時但也更精密的模式,

它不是頂點的光源強度,而是用內插去計算面上

Lighting none(不打光) Lighting flat

Lighting gouraud Lighting phong 圖 4.13 Lighting 比較圖

4.5 重建實驗

以肺部 CT 影像圖做實驗,其中第一張之輪廓由手動圈選一近似輪 廓後由 PGVF 自動圈選,第二張以後,原始輪廓皆沿用上張所抓取之 結果,重建結果如下:

圖 4.14 肺部 CT 原圖(第一張) 圖 4.15 手動圈選近似輪廓

圖 4.16 由 PGVF 抓取之氣管輪廓 圖 4.17

第二張以第一張之結果為起始圓

圖 4.18 第二張之抓取結果

圖 4.19 上部份氣管重建之結果 圖 4.20 shading interp

圖 4.21 將 colormap 改成 pink

第五章 系統介紹

本系統根據前面章節所描述的理論,實作出一個結合影像處理以 及三維物件重建功能的軟體。主要用於醫療方面,希望能夠加強並 且改善醫生在手動點選輪廓時所必須花費的人力與時間,而即時性的 影像處理功能在按下功能鍵之後,馬上可以從主視窗看出員影像產生 的變化,並能夠點選特定部位單獨重建出該部位之三維物件以供觀察。

以下,本章將特別介紹本系統之介面設計、功能說明、操作方式以及 系統特色。

5.1 介面設計

在介面當中可分為五大主要區塊:

分別為:「檔案列表」、「結果視窗」、「主視窗」、「功能選項」、「參 數設定選單」。(如圖 5.1)

1. 檔案列表

2. 結果視窗

3. 主視窗

4. 功能選項

5. 參數設定選單

5.2 介面功能說明

刪除特定元件: 可以自己選擇刪除某個 connected-component.

保留最大元件: 只保留最大面積的 connected-component。

[ Snake 參數設定 ]

迭代次數: 可輸入特定的迭代次數。

α: 可輸入特定的α參數。

β: 可輸入特定的β參數。

γ: 可輸入特定的γ參數。

採用預設值: 所有的參數皆使用內定預設值

[ 主視窗控制 ]

原 圖: 顯示原圖視窗之切換鈕。

邊緣影像: 顯示邊緣影像視窗之切換鈕。

二值化影像: 顯示二值化影像視窗之切換鈕。

流場圖影像: 顯示流場圖的切換鈕。

清空畫面: 移除所有影像。

清空曲線: 保留影像僅移除曲線。

開 始: 開始進行輪廓擷取的工作。

暫 停: 暫時停止進行中的工作。

5.3 操作說明

1.

將檔案群載入檔案清單 ( 1 ) 點選「開啟目錄」

( 2 ) 選擇「檔案清單」

( 3 ) 按下「確定」

圖 5.2 流程操作(一)

2.將重建部份載入主畫面

( 1 ) 選取準備重建的檔案群 ( 2 ) 按下「載入畫面」

圖 5.3 流程操作(二)

3.設定參數

( 1 ) 門檻值的設定

Ⅰ.任意選擇「二值化調整」或「邊緣線調整」來設定「二 值門檻值參數」或是「邊緣線門檻值參數」。

Ⅱ.兩者皆有提供「手動」或「自動選取」功能依需求做調 整。

( 2 ) 設定連結元件

Ⅰ.設定連結的方式:選擇「四種方向」或「八種方向」。

Ⅱ.可以採用「刪除最大元件」或「保留最大元件」功能來 選擇所欲保留的主體元件。

( 3 ) snake 相關參數設定

Ⅰ.輸入特定的α、β、γ與迭代次數。

Ⅱ.點選「採用預設值」,使用參數的預設值。

( 4 )可以按下主畫面下方的鈕,「二值化影像」、「邊緣影像」、「流 場圖」,來切換主畫面所顯示的影像,一邊觀察並決定是否 進行相關參數的調整,直到各種相關影像符合使用者之理 想為止。

圖 5.4 流程操作(三)

圖 5.5 流程操作(四)

圖 5.6 流程操作(五)

圖 5.7 操作流程(六)

4.設定起始曲線

( 1 ) 增加曲線

( 2 ) 設定曲線輪廓「圓」、「橢圓」、「自訂曲線」。

( 3 ) 可以點選「刪除曲線」來消除多餘的曲線。

圖 5.8 操作流程(七) 5.三維重建

( 1 ) 當設定完參數之後,按下「開始」進行重建工作。

( 2 ) 在主視窗可以看到每張 CT 圖的輪廓迭代過程。

( 3 ) 重建後在左下角的視窗顯示出三維物件模組。

圖 5.9 操作流程(八)

5.4 系統特色

1.自動化影像前處理功能。(亦提供手動更改 threshold 參數等)。 2.可自動/手動選取特定之 connected-component。

3.多樣化起始輪廓選取(圓、橢圓、多邊形)。 4.可調整主動式輪廓線模型之 α、β 參數。

5.自動擷取序列影像之輪廓。

6.同時截取多個部位之輪廓。

7.以全方位觀察重建之物件。

第六章 討論與展望

在本章節,我們將對實作流程與現今醫師在操作上的流程做比 較,並將實作之後的結果差異進行分析與檢討,最後,探討本系統在 未來能夠繼續努力的發展方向。

6.1 重建流程比較

在開發本系統的過程中,曾與中山醫學院附設醫院的醫師討論 過,他們所進行三維重建是相當繁複而且費時的,甚至必須要利用到 影像處理軟體,以下便是醫師所提供的重建流程與本系統設計的操作 流程圖。

6.1.1 目前醫生操作流程

Ⅰ.前處理:採用 photoImpact 軟體 步驟 1.

步驟 2.

選單:[ 格式 ] 選擇「反化」 ( 黑白交換 )

選單:[ 特效 ] 選擇「清晰」

子選單:

[ 選項 ] 調整到「4」

Ⅱ.輪廓擷取與三維重建

手動圈選各張輪廓

儲存所有點之座標

進行三維重建工作

6.1.2 本系統操作流程

根據邊緣線圖形計算出流場圖

設定 snake 相關參數 (α、β、γ)

設定 snake 相關參數 (α、β、γ)

相關文件