图像分割法-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)来画图进而把图像框起来。


 

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值