虛擬實境 論文研讀 Part 1

contents

  1. 1. 單詞概要
  2. 2. 本文
    1. 2.1. CT
      1. 2.1.1. 補充 CT 重建
        1. 2.1.1.1. 迭代法
        2. 2.1.1.2. 反投影法
        3. 2.1.1.3. 濾波反投影法
  3. 3. 接續
    1. 3.1. 邊緣擷取
    2. 3.2. QEM

期末上繳報告啊,不知道要寫多少才對得起自己。理解正確性不敢保證,相當可怕。

單詞概要

  • Computed Tomography - 電腦斷層掃描 (X 光),簡稱 CT
  • Shepp-Logan filter - 影像去噪中,一種運算操作
  • Delaunay - 計算幾何中 Delaunay Triangulation
  • ODT - optimal Delaunay Triangulation
  • Tetrahedron - 四面體
  • Isosufrface - 等價曲面
  • Truncate - 切去頭端
  • Hausdorff distance - 空間中,集合之間的距離描述 wiki
  • Marching cubes - 用於 CT 模型,重建時的建構 3D 時,根據取樣點得到的最小構造單位。
  • QEM - Quadric Error Mactrics

本文

The Sinogram Polygonizer for Reconstructing 3D Shapes 這篇論文主要拿 Grid-base 掃描重建方法以及根據取樣點重建 3D 模型的算法探討。

首先從離散取樣中重建,最基礎的做法是根據 z-index 作切割,得到 xy 平面,在其上作 Grid-base 網格狀的取樣,得到座標 (x, y, z) 是否在該物體內部。

當取樣數量越多時,密集程度越高,能造就的邊緣就越明顯。藉由 Grid-base 取樣的缺點在於邊緣的凸顯仍然不夠明確於三角化,取樣點的數量必須非常多,才能表示非平行三軸的邊緣。

從 CT 圖中,掃描資料為數張正弦圖 (sinogram),將一個物體放置於轉盤上,轉動轉盤將 X 光照射上去,根據物體的阻射程度得到正弦圖,相當於是光線投影到平面的強度 (CT value)。當一個物體只由一種材質構成時,其阻礙程度與阻礙光線的長度成線性關係,如此一來 CT value 就能有效地反應在物體表面的距離。

這裡補充一點,通常物體不會只由一個材質構成,因此在某些重建工作時會特別弱,如人體掃描重建,則會在眼睛材質上難以得到好的效果。阻礙能力會擴散到其他的正弦圖上,在複合材料的重建工作則會相對地困難。

CT 圖存在些許的干擾,受到鄰近材質的阻射影響。看到網路上文章寫到,即便現代的降噪算法相當厲害,對於醫院普遍使用的成像仍然使用幾十年前的算法,其最重要的原因是擔憂降噪算法捨棄掉的部分到底是不是正確的,去掉資訊若是重要的反而會造成判斷失誤,因此學術界使用 CT 圖的降噪算法仍然不普及於醫學界。

CT

目前 Shepp-Logan filter 相當好用,在 CT 去噪效果受到肯定!公式如下:

$$f(p) = \frac{1}{2} \int_{0}^{2 \pi} \alpha(R_\theta p)^{2} S_{\theta}(P(R_{\theta} p)) d \theta \\ S_{\theta}(q) \leftarrow \int_{-\infty }^{\infty} {\beta(\tilde{q}(x)) S_{\theta}(\tilde{q} (x)) h(x - (q)_{x})} dx \\ h(t) = 2 / (\pi^{2} \delta^{2} - 4 t^{2}) \\$$

$S_{\theta}(q)$ 表示在轉盤角度為 $\theta$ 時成像於 q 點的數值,$\beta(q) = cos(\angle qso)$,點 q 連線到光源 s、再連線到圓盤圓心點 o。並且 $\tilde{q}$ 限定為與點 q 具有相同的 y 值,就是說對水平方向上鄰近點數值去噪。$\delta$ 為取樣的像素大小於成像畫面。

從數學公式中看出,受到鄰近點 $\tilde{q}$ 影響與光源的偏角差異、與點 q 的距離呈現的關係。

補充 CT 重建

CT 重建方法 中,存在三種常見的方式

  • 迭代法
  • 反投影法 backprojection
  • 濾波反投影法 filtered backprojection

在掃瞄資料中,根據不同角度進行掃描投影,會得到數張 2D 影像,對於實際物體離散取樣,把每一個樣本都當作一個變數 $x_{i} $,根據模擬的方式,可以得到好幾條方程式,解出方程式後,就能知道每個位置上是否有實體 (在物體內部)。但是這樣的效能並不好,會有成千上萬的變數和方程式,甚至有可能發生多組解。

迭代法

迭代法提供一個逼近方法,類似模擬退火法的那種梯度迭代,每一次迭代逐漸將變數數值增加,增加後與實際投影比較,不斷地逼近投影實際值,捨棄掉不合法的數值,每迭代一次讓解更加地接近,當誤差小於某個定值後即可停止。這種作法通常會很慢,但迭代過程中可以加入很多彈性的參數變化,彈性較高。

反投影法

反投影法則是將投影值結果反投影回去,投影的 2D 影像上的某一個點的數值,會反投影到射線上的每一個點,多次反投影後。若該位置存在於物體中,則貢獻於投影像的次數會很多,因此反投影的累加的值也會比較高。接著給定閥值、誤差修正來判斷,效果會更為顯著。反投影法概念上非常簡單,但在邊緣的結果會很模糊。

濾波反投影法

濾波反投影法這部分不是很理解,看起來是先利用 卷積 (Convolution) 操作,再利用傅立葉卷積的反變換,變換過程中需要一個濾波器協助,反變換回來後,再進行反投影法。在傅立葉反變換中需要濾波器,因此選擇濾波器變得相當重要,本篇論文選的是 Shepp-Logan filter 來完成。濾波反投影法的優點是在於輪廓清楚,但會發生 吉布斯現象 (Gibbs phenomenon),逼近原圖時,不連續的函數截面附近會發生震盪。

接續

在濾波後,反投影後得到 CT value $f(p)$。當然 $f(p)$ 是一個連續函數的積分,事實上處理時離散的 (因為機器再怎麼精密,齒輪轉角也不會是連續,就看齒數多寡來決定)。

論文中用了 迭代法 濾波反投影法 重建比較,可以得到非常相似的結果。來確認使用的儀器是相當可靠的精準度。

接下來要進行建模,簡單會具有以下幾個步驟。

  1. 可以決定要用幾個四面體構成。
  2. 三角網格藉由二值化 (CT value 來判定是在物體中還是外部) 抓取,並且加入四面體中。
  3. 三角網格到等值曲面的 QEM (Quadric Error Mactrics) 要最小化。
  4. 三角網格上的點座標,移動距離購小的時候,算法停止迭代。否則返回第二步,繼續鬆弛新的節點。

第一步進行四面體構成時,通常會採用 Delaunay Tetrahedralization (相對於 2D 平面的 Delaunay Trianglution,Delaunay Trianglution 是由 2D Voronoi Diagram,那麼 Delaunay Tetrahedralization 就是由 3D Voronoi Diagram 搭建完成),事實上還有數種建模的方法 (如 Marching cubes 之類的),稍後有機會會提及到。但不管一開始選定的四面體採用哪種策略,經由往後的迭代,將會修整到差不多 QEM。

邊緣擷取

對於每一個四面體,找到四面體的重心 $g_{i}$ 並且計算 CT value $f(g_{i})$

對於相鄰的四面體,計算 $Tiso= (f(gi)+f(gj))/2$ 接下來要找等值曲面 $Tiso$,找到一個點 p 位於等值曲面上,並且 p 在 gi, gj 的連線上。對於 p 所在的等值曲面上計算法向量 $n_{k}$,等下要用來計算 QEM 用的。

QEM

下篇待續