⑴ 醫學圖像分割及應用
截至目前,我們已經學習了很多關於圖像分割的相關演算法,就此,對圖像的分割演算法做以下總結:
基於能量的分割 方法,有一些顯著的缺點,如:
水平集演算法的提出可以有效解決上述缺點,所謂水平,即指同一高度的一些像素點,將水平集的演算法引入到圖像分析的領域,水平集算此氏法提出了一個更高的維度來表達這些曲線。
水平集演算法對圖像的活動輪廓分割有一些新的術語表達:
contour front
contour energy forces
image energy speed function
為了避免3D 輪廓計算的復雜性,提出一個 零水平集(zero level set)的概念,並且提出了一個動態的坐標平面 表達front的演化,如下圖所示,我們總能帶鏈總結出當前 時刻的水平面,根據曲面的函數表達,總能總能計算出下一時刻的輪廓演化。與圖像能量表達的輪廓不同,水平集演算法多了一個平面的維度對輪廓施加影響。
水平集演算法通過零水平集的設置和初始輪廓的約束求解偏微分方程的方式實現。
如下圖所示,形象地表示了一個水平集演算法的原理示意圖,在front裡面的點小於0,而front外面的點大於0,零水平面所對應的點設為0
不需要移動輪廓,僅僅通過改變圖片中的一些值就可以很容易地實現圖像地分割。
水平集演算法的運算流程如下:
水平集演算法的一個重要概念是速度函數(speed function),而對速度函數
有以下三個概念:
front通過迭代實現繁衍,而迭代的過程必有一個停止條件,此條件是由森行散圖像本身的性質決定的,gradient函數來表示這一停止條件,如 ,有以下三種常用的函數:
而
水平集演算法的擴展可以從兩個方向進行:
為了改進水平,提出了一個快速行進演算法(Fast Marching)
Fast Marching 演算法使得front朝著一個方向前進,要麼擴展,要麼收縮,避免了分割輪廓的抖動,提高了演算法的運行速度,同時,為了避免輪廓的碰撞,每個網路與輪廓點只交叉一次。
在實際的演算法應用中,通常將Fast Marching演算法和 水平集演算法結合來完成圖像的分割,用Fast Marching 演算法高效的實現輪廓線的行進,完成一個粗分割,當演算法趨向於收斂時,用水平集演算法完成更為精準的分割。
如下圖所示,任意一個時刻點輪廓線網格點交叉的坐標 ,並且在任意高度處,表面會給出在 時刻所到達點的集合。