Snake模型理论以及其算法实现思想
- 格式:doc
- 大小:171.50 KB
- 文档页数:6
基于SNAKE摸型的物体轮嫡提取和跟踪技术研究收敛精度,以及GHOUGH变换自动选取初始轮廓的效果,本文通过本节建立的各模块分别对各种图像进行实验验证。
机器的配置为C41.7G、512M内存,图像的分辨率是250x250左右的24位真彩色图像。
本文选取了几组实验结果,分析两种算法实现的模型的特性,实验中动态规划实现的模型,产生的金字塔层数为2,金字塔内高斯产生核为3×3,采用的是手工定位初始轮廓,minimize搜索的领域为5×5,线性搜索策略的步长为5,自动添加新的控制点的象素距离阈值为5。
幽4—10:贪婪算法实现的模Ⅱ4所选取的初始轮廓例1图4一11:动态规划实现的模型所选取的初始轮廓例1例4—12:贪婪算法实现的模刑最终幽4—13:动态规划实现的模型最终的收敛结果例j的收敛结果例1图4一lO到图4一13是第一组实例。
图4一10和图4一ll是两种算法实现的模型选耿的初始轮廓,图4一12与图4—13是两种算法实现的模型最终的收敛结果,其中从图4—10选取的初始轮廓到图4一12完成收敛,共耗时15ms;而从图4—11选取的初始轮廓到图4一13完成收敛,共耗时1547ms。
鉴j—SNAKE模型的物体轮脚提取和跟踪技术研究卧4—14贪婪算法实现的模型所选取的初始轮廓例2幽4—15动态规划实现的模型所选取的初始轮廓例2圈4一16贪婪算法实现的模型最终图4—17动态规划实现的模型最终的收敛结果例2的收敛结果例2图4一14到图4一17是第二组实例。
图4—14和图4—16是两种算法实现的模型选取的初始轮廓,图4一15与图4一17是两种算法实现的模型最终的收敛结果,其中从图4—14选取的初始轮廓到图4—16完成收敛,共耗时16ms;而从图4一15选取的初始轮廓到图4一17完成牧敛,共耗时2906ms。
图4—18贪婪算法实现的模型所选取的初始轮廓例3图4一19动态规划实现的模型所选取的初始轮廓例3幽4--20贪婪算法实现的模型最终圈4--21动态规划实现的模型最终的收敛结果例3的收敛结果例3图4—18到图4--21是第三组实例。
Snake 模型的学习一、Snake 模型的理论概念介绍1.基本思想:它以构成一定形状的一些控制点为模板(轮廓线),通过模板自身的弹性形变,与图像局部特征相匹配达到调和,即某种能量函数极小化,完成图像的分割。
再通过对模板的进一步分析而实现图像的理解和识别。
蛇模型是在曲线本身的内力和图像数据的外部约束力的作用下的移动变形轮廓线。
作用在蛇模型上的力依据轮廓的形状和位置决定在局部空间的移动。
内力起到平滑约束作用,外力引导曲线向图像轮廓所在位置移动。
2.构造Snake模型的目的:调和上层知识和底层图像特征这一对矛盾,Snake模型的轮廓线承载了上层知识(人们对物体的认识主要来源于外形轮廓),而轮廓线与图像的匹配又融合了底层特征。
这两项分别表示Snake模型中能量函数的内部力和图像力。
3.Snake模型的初始轮廓的选择:由于snake模型对初始位置比较敏感,因此要求初始轮廓尽可能的靠近真实轮廓,而当图像比较模糊或者目标比较复杂或者其他物体靠近时,其初始轮廓更不易确定。
现在的初始轮廓选择的方法:a.人工勾勒图像的边缘b.序列图像差分边界c. 基于序列图像的前一帧图像边界进行预测d.基于传统图像分割结果进行边界选取。
二、基本的Snake模型Kass 等提出的原始Snake模型由一组控制点组成v ( s ) = [x ( s ), y ( s ) ] s ∈[0,1] (1)这些点以首尾以直线相连构成轮廓线,x(s)、y(s) 分别表示每个控制点在图像中的坐标位置,s(s是归一化的曲线长度)是以傅里叶变换形式描述边界的自变量,在Snake控制点上定义能量函数第一项称为弹性能量,是v的一阶导数的模,第二项称为弯曲能量,是v的二阶导数的模,第三项为外部能量(外部力),αβ分别是控制Snake模型的弹性和刚性。
Snake模型对轮廓的灵活性依赖于这两个系数。
在基本Snake模型中,一般只取控制点或连线所在位置的图像局部特征,例如梯度也称图像力。
Snake模型算法的基本思想数学模型及工作原理Snake模型是由Kass等人首次提出的算法,广泛地应用于计算机视觉及图像处理中的各个领域,如边缘检测、图像分割、运动跟踪等,特别应用于图像中感兴趣目标轮廓的提取。
Snake模型引入高层知识,在处理局部间断的边缘时,提取效果比传统轮廓提取方法要好。
1 Snake模型的基本思想Snake模型又称为主动轮廓线模型(active eontour model),其基本思想是依据图像信息进行曲线(曲面)演化,使其最终找到目标物体的边界。
这种方法将分割问题转化为最优化问题,利用闭合曲线(或曲面)形变的特定规律,定义度量闭合曲线(曲面)形变的能量函数,通过最小化能量函数使曲线(曲面)逐渐逼近图像中目标物体的边缘。
Snake模型能量函数的设计原则是:有利属性要能导致能量缩小。
有利属性包括曲线(曲面)连续、平滑、与高梯度区域的接近以及其他一些具体的先验知识。
这样,活动轮廓在取值范围内移动时,就能在能量函数的指导下收敛到局部边界,而且能保持曲线(曲面)的连续和平滑。
Snake模型是在曲线(曲面)本身的内力和图像数据的外部约束力作用下的移动的变形轮廓。
作用在Snake模型上的力依据轮廓所在的位置及其形状决定如何在空间局部的变化。
内力和外力的作用是不同的:内力起平滑约束作用,外力则引导Snake模型向图像特征移动。
2 基于Snake模型的轮廓提取方法对于传统的轮廓提取方法,首先要进行基本的边缘检测,然后进行边缘连接、二值化之后,继而进行轮廓跟踪处理。
在边缘检测时,易受局部噪声影响而产生虚假边缘,或者是不连续的间断边缘,无法保证分割或者提取的结果就是连续光滑的闭合轮廓;此外,基于底层信息的轮廓跟踪,一方面对二值化过程的依赖性比较大;另一方面,对于间断的边缘,使用上述简单方法将会跟踪失败。
这些都是传统计算机视觉中分层处理模型所无法解决的问题。
Snake模型为解决轮廓提取任务提供了新的思维方法。
图像分割之(五)活动轮廓模型之Snake模型简介在“图像分割之(一)概述”中咱们简单了解了目前主流的图像分割法。
下面咱们主要学习下基于能量泛函的分割法。
这里学习下Snake模型简单的知识,Level Set(水平集)模型会在后面的博文中说到。
基于能量泛函的分割法:该类法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(Euler.Lagrange)程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。
主动轮廓线模型是一个自顶向下定位图像特征的机制,用户或其他自动处理过程通过事先在感兴趣目标附近放置一个初始轮廓线,在部能量(力)和外部能量(外力)的作用下变形外部能量吸引活动轮廓朝物体边缘运动,而部能量保持活动轮廓的光滑性和拓扑性,当能量达到最小时,活动轮廓收敛到所要检测的物体边缘。
一、曲线演化理论曲线演化理论在水平集中运用到,但我感觉在主动轮廓线模型的分割法中,这个知识是公用的,所以这里我们简单了解下。
曲线可以简单的分为几种:曲线存在曲率,曲率有正有负,于是在法向曲率力的推动下,曲线的运动向之间有所不同:有些部分朝外扩展,而有些部分则朝运动。
这种情形如下图所示。
图中蓝色箭头处的曲率为负,而绿色箭头处的曲率为正。
简单曲线在曲率力(也就是曲线的二次导数)的驱动下演化所具有的一种非常特殊的数学性质是:一切简单曲线,无论被扭曲得多么重,只要还是一种简单曲线,那么在曲率力的推动下最终将退化成一个圆,然后消逝(可以想象下,圆的所有点的曲率力都向着圆心,所以它将慢慢缩小,以致最后消逝)。
描述曲线几特征的两个重要参数是单位法矢和曲率,单位法矢描述曲线的向,曲率则表述曲线弯曲的程度。
曲线演化理论就是仅利用曲线的单位法矢和曲率等几参数来研究曲线随时间的变形。
Snake模型是一种可变形模型,可变形模型提供了一种高效的图像分析方法。
结合了几何学,物理学,以及近似理论。
它通过从样本图像中获得图像的先验知识,比如,大小,形状
等,对待处理图像进行目标的分割与检测。
可变模型分为参数可变形模型和几何可变形模型,参数可变模型以显式的参数描述物体轮廓曲线或曲面,此类可变形模型允许模型进行随时的人机交互,并且表述紧凑,利于算法的实时性的实现。
而几何可变形模型则是基于曲线演化理论以及水平集方法实现的,曲线的参数仅在在模型变形之后用于显示。
Snake就是一种参数可变形模型,也称为参数活动轮
廓模型(Active Contour Models).
Snake模型在ROI(感兴趣区域)中定义了带有能量参量的样条曲线或曲面,在外部能量参量和内部能量参量的共同作用下,初始曲线或曲面会发生形变,逐渐逼近目标轮廓,在能
量最小的时候得到目标轮廓曲线或曲面。
二维情况下,带有能量参量的样条曲线可表示为:C(r)= (x(r),y(r)) r ∈[0,1];
曲线的能量定义如下:
其中,曲线C的一阶导数项控制着曲线的伸缩,称为弹性能量项;曲线C的二阶导
数项控制着曲线的弯曲,称为刚性能量项。
而一阶导数项和二阶导数项共同组成了曲线的内部能量,α(r)和β(r)决定弹性能量和刚
性能量的大小。
曲线的外部能量则是由
图像能量和约束能量构成。
一般图像能量是从图像数据中获得的,比如灰度,灰度梯度等。
如图像I(x,y)的图像能量可有如下描述公式:
其中G(σ)是标准差为σ的的二维高斯函数,k(r)是权重系数。
σ决定了图像的平滑效果,σ越大,目标的轮廓线会越模糊,轮廓的范围越大,这样会更方便的检测到轮廓。
而约束能量则是在和用户交互的时候确定的,使模型根据特征能更有效的检测到目标的轮廓。
由变分原理及欧拉公式可得,使能量E(snake)最小化的曲线应满足下面的式子:
我们可以将Snake模型和物理中的力学模型结合,将上式看成是平衡力等式,
Fint + Fext = 0
其中,内力
Fint = α(r)C'(r)- β(r)C''(r)
外力Fext = -▽Eext
为求出能量最小方程的解,可加入时间参量t,使模型动态化,即C(r),变成C(r,t),
即需求解偏微分方程:
当C(r,t)收敛到轮廓线时,就不再变化,此时其关于时间t的导数为0,即可变为上述方程。
Snake模型的力学解释
若从力学的角度对Snake模型进行解释,会更加方便。
根据牛二定律
曲线C的动态变化需满足方程
其中,Fd是阻尼力,定义为
γ为阻尼系数。
在图像分割中带有质量的项通常置为0,防置曲线在变形中越过轮廓边界。
此时,方程变为
上式便是曲线C随时间进行趋向轮廓的形变力学方程,并在内力和外力相等时停止形变,达
到稳定状态。
令
则上式和式子
等价!
对Snake模型的改进,主要是针对对外力模型的改进上,如GVF Snake模型。
在求解时,利用FDM(有限差分法)求方程的近似解,将上述欧拉方程离散化,可得
其中,
矩阵表示:
由之前的推导,上述方程等价于加入时间参量的偏微分方程
最终可得到轮廓点的迭代方程:
利用有限差分法迭代收敛的示意图:
Snake模型算法实现步骤:
图像读取----->图像预处理--------->初始轮廓确定(人机交互)---->定义迭代次数---------->开始迭代-------->直至结果满意(人机交互)
外力取
参数:σ,α,β,γ(可取参数:2,5,,0,1);。