Snake模型理论以及其算法实现思想

合集下载

Snake模型综述

Snake模型综述
在 Snakes 这样一个简单的模型下,蕴含了深刻的计算机 视觉理论的发展成果。以 Marr 为代表的计算机视觉理论, 采用自底而上的处理方法。它将各种检测算子作用于图像得 到初始简图,再通过一定规则对这些特征进行聚集而得到 2.5 维简图,最终求解三维模型;与此相对应的是从心理学发展 起来的基于推理的视觉理解理论,采用从顶而下的处理方 法。进入 20 世纪 80 年代以后,人们逐渐认识到放之四海皆 准的视觉理论遥不可及,而针对具体问题,能够有效融合上 层知识和底层图像特征的方法才是最有效、最切实可行的。 Snakes 模型正是在这样一种背景下提出的。
∇P
对轮廓线都有相同的影响。Snakes 模型的内部力只能把轮廓线压缩
成一个点或者一条直线。Cohen 等引入一个膨胀的外部力,综合在
一起成为
F = k1nϖ(s) − k
∇P ∇P
(5)
这样轮廓线可以像“气球”一样膨胀,具有更强的动态行为能 力。其中 n(s)是轮廓线上控制点 v(s)的单位法向量,k1 是膨胀力的幅 值,取正值或者负值就可以使轮廓线具有膨胀或者收缩的行为能力。 一般选取 k 略大于 k1,使得边界点刚好可以抵消膨胀力。
1 基本 Snakes 模型家族
基于 Snakes 的思想,在不同的应用背景下,衍生出多种 轮廓线模型(表 1)。
表 1 基本 Snakes 模型家族一览
名称
提出者
年代 主要参考文献
Snakes
Kass M, Witkin A, Terzopoulos D
1987
[1]
Snakes (DP)
Amini A A
差分方程
− α ′vϖ′ − (α − β ′′)vϖ′′ + 2β ′vϖ′′′ + βvϖ′′′′ = −∇P(vϖ)

基于snake模型的物体轮廓提取及跟踪技术研究

基于snake模型的物体轮廓提取及跟踪技术研究

基于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, Shape, and Gradient Vector Flow(报告)

Snake, Shape, and Gradient Vector Flow(报告)
。(6)
可以把它部力 阻止拉伸和弯曲,而外部保守力(external potential force) 把snake推向理想的图像边缘。
为了得到公式(6)的解,引入除了s以外,还依赖时间t的函数 ,也就是 ,以让snake动态。下次,函数x的偏导数由公式(6)算得,如下:
Snake粗收敛的原因在图1(c)中说明了,图片上给出的是凹轮廓里面的外部力场。虽然外部力正确指向对象的边缘,但是在凹轮廓的内部,却指向水平的相反方向。因此,活动轮廓向U-型对象的“手指”部分拉开,但是不能向凹里的部分前进。这里没有参数 和 能解决这个问题。
关于传统snake公式重要的另一个问题是捕捉区域的限制,通过图1(c),很容易看出这点。图中,我们能看到外部力的大小在边缘附近很快消失。在方程式(5)中, 增大的时候,区域也增长,但是轮廓的细节越来越模糊和不清楚,最后对于太大的 ,凹部分本身最终被抹去。
3)一般化的平衡力方程式
图1(a)和2(a)上的两种snake解分别满足关于该能量模型的Euler方程式(6)。因此,收敛到对象函数(1)的局部最小会产生很粗的结果。有学者直接用平衡力方程式定义snake,得到了这个问题的解,这里把标准外部力 换成更一般化的外部力 :
。(9)
的选择对snake的实行和行为有很大影响。一般来说,外部力 可以分成两个部分:静态和动态。静态力由图像数据计算,所以在snake过程中保持不变。
1.前言
Snake[1],即活动的轮廓,是在图像领域中定义的曲线,它受到内部力(internal force)和外部力(external force)的影响。内部力是由曲线本身引起的,而外部力是用图像资料进行计算的。内部力和外部力使得snake
适应对象轮廓或者图像的特征。Snake用于很多方面:例如,边缘检测[1]、形态模型化[2],[3]、分割[4],[5]、运动跟踪[4],[6]。

Snake 模型的学习

Snake 模型的学习

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 ̄Net_算法的刺绣针法识别

基于Snake ̄Net_算法的刺绣针法识别

纹理更加清晰ꎬ为下一步的目标提取做好准备ꎮ
线的形式呈现ꎬ比较连续、光滑ꎬ具有良好的匹配效
2. 2 基于改进 Snake 算法的交互式目标分割
果和形状检测能力ꎮ 并且该算法是一种交互式目标
目标分割是将图像中的特征区域从复杂背景中
识别算法ꎬ通过智能人机交互在预选样本时加入经
的图 6( c) 、图 6( f) ꎬ都比处理前的图 6( b) 的边缘和
对图像中的不同针法区域进行目标分割ꎬ获得齐针、
的目标分割ꎮ
抢针和套针的目标样本ꎬ为下一步提取特征信息做
传统的 Snake 算法中ꎬ控制点是人为选择的ꎬ虽
然比较灵活ꎬ但受经验等主观因素的影响较大ꎬ而且
好准备ꎮ
本文研究的刺绣图像ꎬ其形状特征丰富ꎬ单一的
手动选点时ꎬ无法精确选取同一控制点ꎬ导致每次试
图像分割算法像阈值法、边缘检测法等ꎬ难以实现对
影响ꎬ会出现轮廓检测不完整或者过度检测等问题ꎮ
与已知针法模板进行特征匹配ꎬ识别针法类别ꎮ 但
因此本文将其用于初始轮廓的界定ꎬ结合活动轮廓
其研究处理的手绣样本形状相似ꎬ图像清晰度较高ꎬ
样本纹理特征可控ꎬ与网络中形态各异、噪声众多的
刺绣图像相比ꎬ方法适用性不足ꎬ并且该研究更着重
模型 Snake 算法 [12 ̄13] ꎬ互相优化ꎬ以获取更加圆顺、
针法和丝线是刺绣的主要构成因子ꎬ共同塑造
可分为点、线、面 3 类 [17] ꎬ本文结合针法的技术工艺
特点分析ꎬ将刺绣针法定义为点状针法ꎬ线条针法和
块面针法 3 类ꎬ分类图归结如图 1ꎮ
图 1 刺绣针法分类
Fig. 1 Classification of embroidery stitches
点状针法和线状针法主要表现为形成刺绣中的

Snake模型算法的基本思想数学模型及工作原理

Snake模型算法的基本思想数学模型及工作原理

Snake模型算法的基本思想数学模型及工作原理Snake模型是由Kass等人首次提出的算法,广泛地应用于计算机视觉及图像处理中的各个领域,如边缘检测、图像分割、运动跟踪等,特别应用于图像中感兴趣目标轮廓的提取。

Snake模型引入高层知识,在处理局部间断的边缘时,提取效果比传统轮廓提取方法要好。

1 Snake模型的基本思想Snake模型又称为主动轮廓线模型(active eontour model),其基本思想是依据图像信息进行曲线(曲面)演化,使其最终找到目标物体的边界。

这种方法将分割问题转化为最优化问题,利用闭合曲线(或曲面)形变的特定规律,定义度量闭合曲线(曲面)形变的能量函数,通过最小化能量函数使曲线(曲面)逐渐逼近图像中目标物体的边缘。

Snake模型能量函数的设计原则是:有利属性要能导致能量缩小。

有利属性包括曲线(曲面)连续、平滑、与高梯度区域的接近以及其他一些具体的先验知识。

这样,活动轮廓在取值范围内移动时,就能在能量函数的指导下收敛到局部边界,而且能保持曲线(曲面)的连续和平滑。

Snake模型是在曲线(曲面)本身的内力和图像数据的外部约束力作用下的移动的变形轮廓。

作用在Snake模型上的力依据轮廓所在的位置及其形状决定如何在空间局部的变化。

内力和外力的作用是不同的:内力起平滑约束作用,外力则引导Snake模型向图像特征移动。

2 基于Snake模型的轮廓提取方法对于传统的轮廓提取方法,首先要进行基本的边缘检测,然后进行边缘连接、二值化之后,继而进行轮廓跟踪处理。

在边缘检测时,易受局部噪声影响而产生虚假边缘,或者是不连续的间断边缘,无法保证分割或者提取的结果就是连续光滑的闭合轮廓;此外,基于底层信息的轮廓跟踪,一方面对二值化过程的依赖性比较大;另一方面,对于间断的边缘,使用上述简单方法将会跟踪失败。

这些都是传统计算机视觉中分层处理模型所无法解决的问题。

Snake模型为解决轮廓提取任务提供了新的思维方法。

Snake模型的研究进展_陈立潮

名称提出者年代文献基本snakeballooonsnake梯度矢量流几何活动轮廓测地线模型水平集变分水平集kassmwitkinaterzopoulosxuchengyangprincekichenassamyskumaraolverpetalcasellesvkimmelrsapiro111213141988199119971993snake模型改进为了克服经典snake模型的缺点近十多年来snake模型引起了国内外学者的广泛关注并对其进行了大量研究也提出了各种不同的改进方法下面就从几个改进角度对snakeballoonsnakebs1997oshersfedkiw198819961516zhaohongkaichantmerrimanbetal199617181920menetssaintmarcpmedioniaminiaweymouthtjainbsplinesnake动态规划贪婪算法1990199011引入了模型使曲线在一个外力作cohenballoonsnake1992用下像气球一样将轮廓向外膨胀或向内收缩移动
目标轮廓, 通过定义一个能量泛函使其自变量包括曲线, 将分 割过程转变为求解能量泛函最小值的过程, 当能量达到最小时 的曲线位置就是目标轮廓所在 。 Snake 模型已经被应用 到 勾 勒 轮 廓 和 分 割 各 种 图 目前, Kass 等人 像, 同时其活跃性也很适合跟踪变形特征 。 例如, 跟踪人说话时嘴部动作的变动;Cohen 等人 建;Jang
第 31 卷第 7 期 2014 年 7 月
计 算 机 应 用 研 究 Application Research of Computers
Vol. 31 No. 7 Jul. 2014
Snake 模型的研究进展 *
1a 1b 1a, 2 1b 陈立潮 ,牛玉梅 ,潘理虎 ,张秀琴

活动轮廓模型之Snake模型简介

图像分割之(五)活动轮廓模型之Snake模型简介在“图像分割之(一)概述”中咱们简单了解了目前主流的图像分割法。

下面咱们主要学习下基于能量泛函的分割法。

这里学习下Snake模型简单的知识,Level Set(水平集)模型会在后面的博文中说到。

基于能量泛函的分割法:该类法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(Euler.Lagrange)程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。

主动轮廓线模型是一个自顶向下定位图像特征的机制,用户或其他自动处理过程通过事先在感兴趣目标附近放置一个初始轮廓线,在部能量(力)和外部能量(外力)的作用下变形外部能量吸引活动轮廓朝物体边缘运动,而部能量保持活动轮廓的光滑性和拓扑性,当能量达到最小时,活动轮廓收敛到所要检测的物体边缘。

一、曲线演化理论曲线演化理论在水平集中运用到,但我感觉在主动轮廓线模型的分割法中,这个知识是公用的,所以这里我们简单了解下。

曲线可以简单的分为几种:曲线存在曲率,曲率有正有负,于是在法向曲率力的推动下,曲线的运动向之间有所不同:有些部分朝外扩展,而有些部分则朝运动。

这种情形如下图所示。

图中蓝色箭头处的曲率为负,而绿色箭头处的曲率为正。

简单曲线在曲率力(也就是曲线的二次导数)的驱动下演化所具有的一种非常特殊的数学性质是:一切简单曲线,无论被扭曲得多么重,只要还是一种简单曲线,那么在曲率力的推动下最终将退化成一个圆,然后消逝(可以想象下,圆的所有点的曲率力都向着圆心,所以它将慢慢缩小,以致最后消逝)。

描述曲线几特征的两个重要参数是单位法矢和曲率,单位法矢描述曲线的向,曲率则表述曲线弯曲的程度。

曲线演化理论就是仅利用曲线的单位法矢和曲率等几参数来研究曲线随时间的变形。

活动轮廓模型


一.参数活动轮廓模型
Snake模型首先需要在感兴趣区域的附近给出一条初始 曲线,接下来最小化能量泛函,让曲线在图像中发生变形并 不断逼近目标轮廓。Snake模型中的变形曲线可用参量表示:
v( s ) [ x( s ), y ( s)], s [0,1]
其能量泛函表示如下:
Esnake 1 dv d 2v ( s ) ( s) 2 0 2 ds ds
v( s ) v( s) Eext ( x, y ) 0
将变形曲线 v( s) 视为时间t的函数,上式可转变为如下梯度下 降流
v v( s ) v( s) Eext ( x, y ) t
这是一个偏微分方程(PDE),通常可采用有限差分法(finite differential method)进行求解。 参数活动轮廓模型从算法实现上看,可分为4步:即构造能量 函数、推导欧拉方程、离散化和迭代求解。 Snake模型也存在几个问题: (1) 分割结果对初始曲线的位置和形状较为敏感; (2) 难以分割凹陷区域处的目标; (3) 容易收敛到局部极值点; (4) 不能灵活地处理曲线拓扑结构的变化。
通过分离变量法求出方程的全积,即按照对时间项 t 和空间 项(将图像按像素进行网格化)分开处理的方法对此类方程进 行数值求解。 通常情况下,一个典型的水平集方法应包括如下三个部分 1) 一个(超)曲面的隐式数据表达; 2) 控制曲线运动的偏微分方程(组); 3) 相应的数值求解方案。
3.水平集函数的初始化
水平集方法的实质就是求解一个随时间变化的偏微分方 程,而数值计算的一个重要的步骤就是给出演化方程的离散 形式。由于水平集方法在演化过程中始终保持为一个有效函 数, 因此可以使用离散网格的形式来表示水平集函数 ( x, y, t ) 。 则在n时刻网格点 (i,j) 设离散网格的间隔为h, 时间步长为 t , 处的水平集函数 (ih, jh, nt ) (可缩写为 ijn ),则演化方程可离 散化为:

主动轮廓线模型Snake模型


这个力使得轮廓尽量平滑.
外部力
Fext Eimage
外部力作用在使得外部能量减小的方向上
Image
External force
Zoomed in
离散化
轮廓 v(s) 由一系列控制点组成
v0 ,v1 ,.....,vn-1
轮廓通过依次连接更个控制点并分段线性化得到.
平衡力方程独立作用于各个控制点
GVF snake
经过动态参数修正以后
Final shape detected
Medical Imaging
左心房的磁共振图片 即使在原始图像质量很差时,也能很好的提取轮廓
初始轮廓甚至可以与真实轮廓相交 传统的Snake方法是无法实现的
初始轮廓的选取是任意的吗?
GVF snake的问题
参数敏感 计算代价高,速度慢
弹性力
由轮廓的弹性能量产生 特性
Felastic vss
这个力使得轮廓连续.
刚性力
对应着轮廓的刚性能量,也就是曲率 特性
Initial curve (High bending energy)
Final curve deformed by bending force. (low bending energy)
Snake模型的应用
轮廓跟踪
目标识别
使目标提取从一开始就处于受控的状态,并且直接面向 所希望提取的目标。同时还给出了对目标轮廓形状的 约束,从而可以快速准确的对目标进行定位. 三维重建 三维表面用序列图像中的轮廓曲线来表达和重建. 立体匹配 如果两幅图像中的轮廓线(基元) 互相对应, 那么沿着 3D 轮廓的其他几何形状应具有相似性.
2.Snake模型的数学模型
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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);。

相关文档
最新文档