图像分割法-snake
1987年由 Kass 等人提出的主動輪廓模型即蛇模型(snake 模型)
M. Kass, A.P. Witkin, D. Terzopoulos. Snakes: Active Contour Models.International Journal of Computer Vision.1987, 1(4): 321~331.
該方程:基于能量泛函法。
曲線幾何特征:方向-單位法向量;彎曲程度-曲率;曲率:單位弧段上切線轉過的角度。角度逼上弧度去極限值。
曲線演化:曲線都存在曲率,也就存在著法向曲率力(曲率的二階導數),會在法向曲率力下退化為圓,圓的法向曲率力指向圓心,因此最終狀態是曲線消散。
在曲率演化的時候正負之分:向內為負,向外為正。
Snakes模型構建:C(s)=[X(s),Y(s)],具體的定義為一組點[X,Y],自變量為s---傅里葉變形體。
Snakes能量泛函為:
第一項為輪廓C的彈性能量,第二項為輪廓C的彎曲能量=====這兩項統稱為內能。前者使輪廓不易被拉伸,后者使其不易彎曲 。兩者的目的是使輪廓C的一階導數和二階導數曲線積分最小。這兩項在一些論文中作為正則項出現,最終使輪廓為光滑連續曲線。僅和Snakes輪廓有關,和圖像無關。其中系數α和β與輪廓伸展和彎曲程度有關。
第三項為外部能量。它的目的是使曲線收斂于目標邊緣。F(C(s))為關于待分割圖像u0梯度遞減的函數:
通過求解能量E最小,進而實現區域劃分。其中第一項彈性能量---輪廓壓縮成圓;第二項彎曲能量---輪廓成光滑曲線;第三項圖像力---輪廓向圖像高梯度靠攏。
Snakes模型通過曲線輪廓和圖像匹配的結合得到較好的結果。
當然這樣說大家理解起來比較模棱兩可,咱們上升到程序層面:
我們要想理解一個程序或者一個方程時,我們就需要先要了解它的輸入和輸出是什么
程序輸入為:我們自己畫的一個框的每一個坐標點;圖像沿橫軸的梯度和沿縱軸的梯度(梯度在圖像中多用差分來表示,例如:橫向的梯度為第二列矩陣與第一列與第三列的差值除以2,以此類推。);原始圖像。我們的輸入也就是這些。
變化坐標為x2=alpha*(|x1-x2|+|x3-x2|)/2+gamma*該點沿x方向的差分,同理y也是這樣的。(這塊要是前一個點和后一個點到中間點距離相等,那么就變到了中間點)
最后x,y的每點坐標就是這樣變化的,一個不太像snakes的方法,可是基本原理是相近的。
程序輸出為:新的坐標(x,y)來畫圖進而把圖像框起來。
?
總結
以上是生活随笔為你收集整理的图像分割法-snake的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Logistic模型预测人口增长
- 下一篇: 网上书店管理系统 课程设计