天天看點

DRLSE 水準集算法總結

背景:

Level Set方法是美國數學家Osher(加州大學洛杉矶分校)和Sethian(加州大學伯克利分校)合作提出的。後者因為對Level Set的貢獻獲得了去年美國數學會與工業應用數學會聯合頒發的維納獎。遺憾的是這兩位Level Set的開創者現在正為争奪Level Set的名譽而對簿公堂。

Level Set方法是他們在98年文章"Front Propagation with

Curvature Depedent Speed: Algorithms Based on Hamilton-Jacobi

Formulation"中第提出的。這個方法提出以後被成功地應用于流體力學,計算機圖形學,材料科學等領域。應用于圖像處理和計算機視覺始于93年Caselles等人和95年Malladi等人的兩篇著名文章。他們用Level Set來表示Snakes,想法很簡單:一個平面上的曲線可以表示成一個二進制函數z=f(x,y)的零點集合(Zero

Level Set),既這個二進制函數z=f(x,y)所表示的三維曲面與xy平面的交線。更一般地,任何N維曲面都可以表示為一個N+1維曲面與一個N維超平面的交集,或稱為N+1維曲面在一個N維超平面上的投影。相對最早的Snake(用參數化的曲線,是以也叫parametric active

contour),用level

set表示的活動曲線叫着Geometric

Active Contours。

用二維曲面與二維平面的交線表示曲線,這在微積分甚至中學數學裡都是很平凡的。但是,當我們要描述曲線運動的時候,用Level Set表示曲線就有很明顯的優點。比如說,幾條曲線在運動中merge成一條曲線,或一條曲線分裂成幾條曲線,這樣的拓撲變化是不可能表示成一條連續的參數化曲線的運動。原因很簡單,一條連續的參數化曲線是用一個一進制連續函數來卞表示的,它顯然不能表示幾條分開的曲線(這與連續性沖突)。

然而,以上所說的曲線的拓撲變化卻可以簡單地表示成一個連續變化的的曲面與一個固定的平面的交線。這個曲面本身可以不發生拓撲變化,它可以始終是一個連續的二進制函數z=f(x,y)的圖象。這樣,複雜的曲線運動就可以簡單地表示成一個更高一維的函數的演化,這可以用一個發展方程(evolution

equation)來描述,數學裡已經有很多工具可以用了。

再接着說說level set吧。我這次參加CVPR,遇到很多人都說level

set很難。我甚至還聽說有個做snake很有名的教授對level

set很反感。說實話,我在去年開始實作别人的level set方法時,也對level

set越來越讨厭。原因是:現有的level set方法實作跟理論不一緻(這在Gomes和Faugeras的文章裡已經指出),需要攙雜不少remedies,比如最令人讨厭的re-initialization。還有一些步驟,比如velocity

extension,都不是讓人賞心悅目的東西。這些步驟就象長在人身上的贅肉或瘤,也許是良性的,但總是讓人看着極不舒服,甚至怕它惡化。

但是,還是有些人能把這樣複雜而且不是那麼優美的方法實作出來,而且用得不錯,具有其它很多方法不具備的優點,比如讓曲線自然地split和merge。象任何一種理論和方法一樣,盡管有缺點(比如re-initialization),但畢竟大家還是看到了它的巨大潛力。是以這還是成為一個很熱的研究方向。 

圖像分割問題:

偏微分方程圖像分割:

近年來,基于偏微分方程的圖像分割方法稱為研究熱點,其中KASS等在1988年發表的論文,Snakes:Active contour models 在圖像分割領域影響深遠。該模型将圖像分割問題轉化為一個能量泛函極小值問題。通過變分法,将泛函極值問題轉化為對偏微分方程的求解。然後把偏微分方程的極小解作為圖像分割的結果。目前,偏微分方程的分割方法主要有參數活動輪廓模型和幾何活動輪廓模型。

levelset方法:

Level Set方法的基本思想是将平面閉合曲線隐含地表達為二維曲面函數的水準集,即具有相同函數值的點集,通過Level

Set函數曲面的進化隐含地求解曲線的運動.盡管這種轉化使得問題在形式上變得複雜,但在問題的求解上帶來很多優點,其最大的優點在于曲線的拓撲變化能夠得到很自然的處理,而且可以獲得唯一的滿足熵條件的弱解.

結合:

幾何活動輪廓模型與水準集的結合的曲線演化方法。

該方法利用高維函數曲面,來表達低維的演化曲線或曲面,即,将演化的曲面或曲線嵌入到高維函數表示的曲面中。将演化方程轉化為高維水準集函數的偏微分方程。從未避免參數化過程。故,水準及方法将幾何活動輪廓模型的演化轉化為,水準集函數的偏微分方程的表達式的,數值解的過程。

基本理論: just plain easy to understand: there is a

surface, it intersects a plane, that gives us a contour and that‘s it. With

image segmentation, the surface is updated with forces derived from the image.

符号距離函數的重新初始化:

finet=sgn(fine0)(1-|deltafine|);

fine(x,0)=fine0;

目的:數字糾錯

重新初始化:疊代fine符号距離函數

速度函數:水準集方法進行邊界輪廓提取的關鍵是根據實際問題的需要選取合适的速度函數F,F一般為與圖像相關的項(梯度資訊)以及與輪廓曲線的幾何形狀有關的項(曲率)的函數

DRLSE 水準集算法總結

其中,F表示曲線上各點的演化速度,方向沿着曲線的法線方向,通常與圖像梯度和曲線曲率有關。我們想要分析和計算的是在速度F的作用下,曲面随後的演化情況。從式(2)可以看出,隻要速度F變化平滑,則妒(菇,Y,t)始終保持是一個光滑函數,零水準集始終與運動曲面相對應,曲面的拓撲變化可以很容易地描述。對于不同的分割模型,速度F表達式也不相同,進而出現了多種基于水準集的圖像分割方法。另外,可以看出式(2)對任意維數的曲面演化都适用。曲線的幾何特性也可以很容易地從水準集函數妒(髫,,r,t)得出,譬如,曲線C上各點的

DRLSE 水準集算法總結

限差分法,梯度:求導

MS-MUMFORD-SHAH模型:

包括對區域和邊界的描述

H是Hausdorff測度:H0表示點數,H1:表示長度,H2:表示面積

DRLSE 水準集算法總結

其中第一項稱為資料項或忠誠項,保證近似圖像u

保留觀察圖像I

的主要資訊;第二項稱為近似圖像的正則項,保證圖像的光滑性,在觀察圖像有噪聲時,正則項有去除噪聲的作用;C 表示目标輪廓的長度;α 、β

為非負常數,平衡各項在能量中的權重。由于Mumford-Shah

能量泛函難以求解,許多學者給出了近似模型,最簡單的是Chan 和Vese

提出的兩相分片常數能量泛函:

DRLSE 水準集算法總結

不需要重新初始化的