水平集(Level Set)的基本方法
水平集(Level Set)的基本方法
水平集(Level Set)的基本方法-曲線演化的直觀解釋
- 映射C(p), p\in [a,b] : R→R^2定義了一個平面的曲線,p是參數,對屬于區間[a,b]內的每一個p_0,我們得到曲線上的一點:C(p_0)=[x(p_0),y(p_0))
- 正則曲線:如果
例:單位圓
- 曲線的切線
- 弧長參數
- 如果曲線的參數滿足
p表示曲線上以某一點為標準的弧長.
- 弧長.
.
- 對弧長參數
.
- 曲率
.
- 假設T表示切線,N表示法線,則
?.
- Frenet公式
水平集(Level Set)的基本方法-數學基礎-曲線的微分幾何
- 曲率的其他定義
- 假設θ為切線T與x軸之間的夾角,則
.
- 隱式曲線的曲率
水平集(Level Set)的基本方法-數學直觀
- 隱式曲線的法向量?.
.
- 因為切向量T和法向量N互相垂直,所以平面上任何曲線都可以用曲線上任何一點的T和N的線性組合來表示
.
水平集(Level Set)的基本方法-曲線演化的直觀解釋
- 如果只考慮幾何形狀的變化,那其變化只跟法線方向的變化有關系,則有
.
- 例:沿著曲率變化最大方向的曲線變形
.
最后變化為曲率都為常數的曲線停止,即圓.水平集(Level Set)的基本方法-曲面演化的直觀解釋
- 平均曲率和高斯曲率
- 每個正則曲面都有兩個主曲率
- 兩個主曲率的平均值就是平均曲率
- 兩個主曲率的積是高斯曲率
水平集(Level Set)的基本方法-數學基礎-隱函數
- 隱函數(implicit function):自變量和因變量之間的法則是由一個方程式所確定.
.
- 例子
.
水平集(Level Set)的基本方法-數學基礎-距離場函數
- 距離函數定.
.
- 距離函數的性質
.
科學計算可視化作為計算機應用學科中的一個分支,已廣泛應用于醫療衛生、地質勘探、氣象分析等與人類生活息息相關的重要領域,其主要目標就是把實際采樣或模擬仿真得到的三維體數據通過體繪制技術,轉化為人眼視覺容易感知的二維圖像。我們在本次報告中,主要介紹水平集在地質數據可視化中的應用,圖中出示了地質數據的示意圖:?
從圖中可以看出,由于受到噪音的干擾,地質數據可視化是一個煩瑣而具有挑戰性的課題,主要存在如下兩方面的挑戰: Challenges of Seismic Visualization (1)An important component of oil and gas exploration (2)Difficult to segment the 3D bounding surface of many complex geologic features 為了更好的刻畫地質數據中的斷層、河道以及相干體信息,我們采用了水平集的方法進行分割處理,如圖所示:
Level Set Method Implicit function { (x1,…,xn) | f(x1,…,xn) = c } where c is a constant. It is the set where the function takes on a given constant value. Implicit surface The point set represented by implicit function
The level set equation 如公式所示:
Dynamic implicit surfaces (in motion) Produce physically realizable surface models Modeling, simulation, and segmentation Implicit handling of complex topologies deformed by operations without destroying the representation
地質數據的繪制總體流程如圖所示:
====== 第二節 Level Set 方法概念 ======
Level Set -水平集
Level set 的數學定義:
- 假設隱函數φ(x,t)表示一個高維空間的方程其在低維空間上的接觸面為φ(x,t)=0,
- 其中
- 則level set表示為方程Γ(t)有如下性質,
- 其中接觸面表示為:
- φ(x,t)<0 for x∈Ω
- φ(x,t)>0 for x? ̄Ω
- φ(x,t)=0 for x∈?Ω=Γ(t)
Level set 的運動表示
- 假設則有
Level Set方法的幾何意義
- 1)給定一個高維空間在低維空間(n維)定義上的接觸面,分析和計算其邊界在速度v下的運動軌跡
- 2)速度v是與位置,時間和接觸面的幾何形狀有關的(如平均曲率,法向),還有外部的物理作用力。
- (UCLA的Osher和Sethian首先提出了這個方法)
小結
- Level set 方法實際上就是求解一個隨時間變化的偏微分方程
- 其中Vn表示可以是任何關于時間,位置,幾何等量的函數。
- 有時提到Level set 方法是指其數值解方法
- 應用Level set方法需要解決兩個問題:
- a 如何列出有意義的方程求解實際問題
- b 如何能快速、穩定地求出方程的數值解
速度F成份
- 1.與曲率相關的所謂擴散項起到保持曲線的光滑性的作用
- 2.對流項為曲線演化提供動力支持
- 3.速度衰減因子使速度在邊緣輪廓處停止
- Level set 的主要優點就是其考慮了物體幾何的一些更本質的特征(如曲率,梯度等),
- 所以得到的結果能夠比已有的一些其他方法要好。
Level Set的數值解法
- 應用Level Set的數值解法需要解決的兩個問題
- 1. 列出對求解實際問題具有意義的方程;
- 2. 快速、高效,穩定的求解方程;
- 幾種數值解法
- 1. Upwind差分法
- 基本思想:
- 算法精度:
- 穩定條件:
- 優缺點:算法簡單,精度偏低,計算速度較慢
- 2. Hamilton-Jacobi ENO
- 基本思想 :
- 用盡量光滑的多項式插值ψ,然后求解ψ(x),使用HJ ENO方法
- 可以更精確地估計ψ(x)相關值?以及?
- 3. Hamilton-Jacobi WENO
- 當采用三階的HJ ENO方法,在計算時,該算法需要知道,共有
- 三種方法用于估計,如果定義如下式子:
- ?,則HJ-ENO算法的三種估計如右式:?
- HJ-ENO算法的主要目的就是從上述三個估計中選擇一個最光滑的多項式逼近。由于HJ-ENO算法僅具有三階精度,因此為了提高該算法的精度,
- 通過將三種進行加權,從而得到HJ-WENO算法,該算法的加權形式如下:
- ,
- 可以證明,該算法對光滑區域能夠達到5階的精度。
- 4. TVD Runge-Kutta方法
- 上述三種算法中,HJ-ENO與HJWENO能夠分別提供3階,5階精度,而Upwind算法僅能達到1階的精度。相較于前三種算法,TVD Runge-Kutta算法能夠提供更好的精度。
- 在TVD RK算法中,一階TVD RK就是向前Euler算法(即Upwind算法);
- 二階TVD RK與二階RK算法相似;
- 而三階TVD RK算法,其形式如右式:
- 數值方法小結
- Level Set的一般表現形式:,
- 其中,?稱為對流項,??稱為曲率。
- 一般而言,求解該方程可以分三步走:
- 1. 用ENO,WENO或upwind方法求解對流項;
- 2. 用中心差分的方法估算曲率;
- 3. 用TVD RK方法求解。
- 如下所示:
第三節 水平集(Level Set)的建模方法與應用舉例
背景: 借鑒一些流體中的重要思想,1988年,Osher和Sethian首次提出了水平集算法, 這是一種有效解決曲線演化問題的數值方法,并且計算穩定,適宜任意維數空間。 隨后,Osher等人對水平集算法做出擴展和總結,Giga也做了相關的理論擴展。 90年代以來,許多學者紛紛加入Level Set方法的研究隊伍,使得Level Set方 法被廣泛應用于計算機圖形學、計算物理、圖像處理、計算機視覺、化學、控制理論等眾多領域。 下面是一些在圖形學方面的應用。
1 圖像輪廓提取
1.1 邊界檢測和輪廓線提取* 隱式動態輪廓模型。* 用隱式模型可以跟蹤拓撲變化的輪廓。* 隱式輪廓線的微分方程表達為。
- 注意輪廓不但被梯度驅動,而且被曲率驅動。
- 實驗結果如下
1.2 不用邊界表達的動態輪廓線算法其導數為:
邊界長度可以表示為:
無邊界表達的優化方程為:
實驗結果如下:
2 圖像分割
2.1 What is image segmentation?* Definition:Separate the original image into regions that are meaningful for a specific task. ( shape recovery)?
2.2 Image Segmentation2.3 基于Fast Marching技術的圖像分割* 算法框架
2.4 Mumford-Shah 圖像分割* Mumford-Shah模型
實驗結果如下:
3 圖像修復
3.1 圖像填補(inpainting)假設原始圖像為圖像填補算法將恢復一序列圖像?使得:?即表達式為:?其中是由一些規則定義的。
3.2 演化規則的定義* 假設圖像是光滑的* 演化應該保持邊界3.3 演化的數學表達式3.4 實驗結果如下:
4 運動分析
- 地測線動態區域
- 定義和假設
(a)只有兩個區域需要區分:前景和背景.
(b)I為輸入圖像由組成.
?是對圖像的一個分割.
(d)是兩個區域的公共邊界.
* 邊界表示
- 邊界和區域表示的Level set 形式
- 實驗結果如下:
-
總結
以上是生活随笔為你收集整理的水平集(Level Set)的基本方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中动态网络配置
- 下一篇: 网络请求urllib库使用总结