活动轮廓模型之Snake模型简介
- 格式:doc
- 大小:114.50 KB
- 文档页数:8
基于水平集方法的几何活动轮廓模型综述作者:王晓菲来源:《电子技术与软件工程》2015年第17期摘要随着时代发展科技进步,计算机图像分割的技术及方法也越来越受到关注和重视,其应用领域也越来越广泛。
活动轮廓模型是图像分割中获取边缘信息的重要方法,因而成为研究热点和难点。
文中开始部分引入并介绍了活动轮廓模型及其其中一种数值实现方法,之后基于不同的曲线表达对其进行分类,针对类别中的几何活动模型进行详细阐述,阐述中有几何活动轮廓模型经典方法的描述。
最后对模型进行总结和展望。
【关键词】几何活动轮廓模型曲线演化水平集方法活动轮廓是由Kass等人于1987年提出的,其目标是检测并分割出图像中有价值的区域。
基于曲线演化的活动轮廓模型需要人工在目标区域附近绘制一条初始轮廓线,Kass等从原图像中提取出有效信息用以控制和限制轮廓曲线的演化,即通过最小化与之对应的能量泛函,使曲线不断逼近目标对象的边界。
在不断地发展和演变过程中,活动轮廓模型逐渐形成了不同的分类方式,较常见的是根据曲线演化方式的不同,将活动轮廓模型分为基于边界、基于区域和混合型活动轮廓模型。
最常见并且被广泛接受的分类方式是基于曲线表达形式分为参数活动轮廓模型和几何活动轮廓模型。
本文采用的是基于曲线表达形式的分类方式。
首先引入并介绍活动轮廓模型基础,继而针对几何活动轮廓模型的图像分割方法进行综述,介绍其相关经典方法,最后对几何活动轮廓模型的发展前景进行展望。
1 活动轮廓模型及数值实现1.1 活动轮廓模型活动轮廓模型,即Snake模型,将图像分割过程中驱动曲线演化的力区分为内力Eint和外力Eext。
内力保持曲线光滑,外力将模型与图像信息进行结合使曲线向着目标收敛。
令表示图像空间中不断演化的曲线的集合,则该曲线的能量泛函为:(1)上式中,内外驱动力的具体表达式分别为:其中和是两个权重系数,分别用于控制曲线在演化过程中的收缩和形变程度。
表示演化曲线的斜率,即曲线长度的变化速度;表示演化曲线曲率的变化率。
医学图像处理中的边缘检测与分割算法边缘检测与分割是医学图像处理中的重要部分,被广泛应用于疾病诊断、医学影像分析和手术辅助等领域。
边缘检测算法用于提取图像中的边缘信息,而分割算法则可以将图像划分为不同的区域,有助于医生对图像进行进一步分析和诊断。
一、边缘检测算法在医学图像处理中,常用的边缘检测算法包括基于梯度的方法、基于模型的方法和基于机器学习的方法。
1. 基于梯度的方法基于梯度的边缘检测算法通过计算图像中像素点的梯度值来确定边缘位置。
常用的算法包括Sobel算子、Prewitt算子和Canny算子。
Sobel算子是一种常用的离散微分算子,通过在图像中对每个像素点应用Sobel算子矩阵,可以得到图像的x方向和y方向的梯度图像。
通过计算梯度幅值和方向,可以得到边缘的位置和方向。
Prewitt算子与Sobel算子类似,也是一种基于梯度的边缘检测算子。
它通过将图像中的每个像素点与Prewitt算子矩阵进行卷积运算,得到图像的x方向和y方向的梯度图像。
进一步计算梯度幅值和方向,可以确定边缘的位置和方向。
Canny算子是一种经典的边缘检测算法,它采用多步骤的方法来检测边缘。
首先,对图像进行高斯滤波来减少噪声。
然后,计算图像的梯度幅值和方向,进一步剔除非最大值的梯度。
最后,通过设置双阈值来确定真正的边缘。
2. 基于模型的方法基于模型的边缘检测算法借助数学模型来描述边缘的形状和特征。
常用的算法包括基于边缘模型的Snake算法和基于边缘模型的Active Contour算法。
Snake算法(也称为活动轮廓模型)是一种基于曲线的边缘检测算法。
它通过将一条初始曲线沿着图像中的边缘移动,使得曲线更好地贴合真实边缘。
Snake算法考虑了边缘的连续性、平滑性和能量最小化,可以获得较为准确的边缘。
Active Contour算法是Snake算法的进一步发展,引入了图像能量函数。
通过最小化能量函数,可以得到最佳的边缘位置。
Active Contour算法可以自动调整曲线的形状和位置,适应复杂的图像边缘。
Giraldi-蛇模型综述
Snake models
Gilson A. Girald, Antonio A.F. Oliveira
说明:本文是早期关于活动轮廓模型的一个综述。
阐述了人们使用参数模型对传统活动轮廓模型进行改进的各种尝试。
传统模型的一个重大缺陷是对检测对象的拓扑变化无法处理,而隐式模型,即所谓水平集方法,需要将轮廓线嵌入到高维空间中,计算上不如参数模型那么方便。
另一方面,传统活动轮廓模型对轮廓线的初始位置非常敏感,本文介绍了所谓对偶活动轮廓模型(Dual Active Contour Model)来克服对初始位置的敏感性。
此外还介绍了所谓T-活动轮廓模型(T-Snake)来处理检测对象的拓扑变化。
T-Snake模型的离散化算法对后来的梯度向量流算法(即所谓GVF-蛇)和活动轮廓的凸分析算法都可以看到明显的影响。
陈国华
广东药学院计算机系
gdmycgh@。
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模型中,一般只取控制点或连线所在位置的图像局部特征,例如梯度也称图像力。
Snakes: Active Contour Models 译文望大家齐心合力,把它整好2009-06-21 20:10 2004人阅读评论(8) 收藏举报国际计算机视觉学报,321-331(1988)克吕韦尔学术出版集团,波士顿1987,荷兰制作蛇:活动轮廓模型MICHAEL KASS,ANDREW WITKIN,and DEMETRI TERZOPOULOS加利福尼亚州帕洛阿尔托市山景道3340号,斯伦贝谢Palo Alto研究中心,邮编:94304摘要每一个Snake都是能量最小曲线,受外部限制力引导及图像力的影响使它向着线和边缘等特征移动。
Snakes是活动轮廓模型:他们自动跟踪附近边缘,准确地使曲线集中。
尺度空间(scale-space)的连续性用来去扩大对特征周围区域的捕获。
Snakes提供一种许多视觉问题的统一的解决方法,包括检测边,线及主观轮廓;移动跟踪;及立体匹配。
我们成功使用Snakes用于交互解释(interactive interpretation),即用户提出一种限制力引导Snake靠近感兴趣的特征。
1简介在最近的计算机视觉研究中,低层任务如边缘或线的检测,立体匹配及移动跟踪被广泛的认为是独立的自底向上的过程。
Marr和Nishihara[11]强烈的认同这个观点,认为达到2.5维简图,不用高层信息支持,这个计算的开展仅仅使用图像自己。
这种连续的死板的方法传播了低层产生的错误,并且没有改正的机会。
因此提出了对于低层机理可靠性的迫切的要求。
对于低层处理,作为一种不健全但更易实现的目标,我们认为它应该提供几套可选择的方案,这些选择中高层处理也可以被使用,而不是用惟一的结论过早的束缚它们。
在这篇论文中,我们研究其能量最小化,此能量作为一个框架达到这个目标。
我们试着设计能量函数,其能量函数的最小值包含这套高层处理可实现的方案。
在这些可挑选方案中的选择需要各种研究或者高层的推论。
文献综述电子信息工程图像分割方法综述摘要:图像分割是图像理解的基础,图像分割的算法研究越来越受到关注,早期的图像分割算法在之后的研究中得到完善。
活动轮廓模型是图像分割和边界提取的重要工具之一,主要包括了参数形式活动轮廓模型和几何形式活动轮廓模型两大类,本文对这两类模型进行了大概的说明,简单叙述了相对的优点,如几何活动轮廓模型在变形的过程中能处理曲线拓扑变化。
鉴于活动轮廓模型所存在的缺点,提出了水平集算法,使得计算的范围和简易程度有了很大的发展。
最后指出了图像分割的算法还有一些进一步优化的研究发展方向。
关键词:图像分割,参数活动轮廓模型,几何活动轮廓模型,水平集1.引言对图像进行处理,通过图像分割、目标分离、特征提取、参数测量等技术,将原始的图象转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。
其中图像分割已经越来越受到人们的关注,作为一种图像处理与计算机视觉操作的预处理手段,已经应用到了很多的领域,图像分割可以定义为:根据图像特征对图像进行区域划分[1]过程,图像分割的效果好坏会直接影响到后续的处理结果,所以图像分割是一个基本而又关键的技术,为此人们提出了很多有效的、具有鲁棒性的分割算法。
图像分割方法有很多,按知识的特点和层次可分为数据驱动和模型驱动两大类[2],前者有Roberts算子、Sobel算子和Canny算子、阈值分割、分水岭算法和模糊聚类分割算法等;后者是直接建立在先验知识的基础上的,如基于活动轮廓模型的图像分割。
水平集的应用领域是隐含曲线(曲面)的运动[3],现在水平集已经广泛应用于图像恢复、图像增强、图像分割、物体跟踪、形状检测与识别、曲面重建、最小曲面、最优化以及流体力学中的一些方面。
一个好的图像分割算法应具有以下特点:1、有效性,能将图像中感兴趣的区域或目标分割出来的有效规则。
2、整体性。
能得到图像中感兴趣区域或目标的无断点和离散点的封闭边界。
3、精确性,分割所得到的感兴趣区域或目标边界与实际情况贴近。
活动轮廓模型综述An Overview on Active Cont ourModels董吉文3 杨海英DON G J i -w en YAN G Hai -ying摘 要 基于活动轮廓模型的目标分割、物体跟踪方法是近十几年来图像和视频领域研究的热点,它可以将待处理问题的先验知识与各种图像处理算法有效地融合在一起,比以往的计算机视觉理论有更强的实用性。
本文结合图像分割方法从指导思想和所用的数学方法两方面对活动轮廓模型特别是几何活动轮廓模型中基于水平集方法的C -V 方法做了一定综述。
关键词 活动轮廓模型 图像分割 水平集 C -V 方法 Abstract The object seg mentati on and tracking based on active cont our models have been the hots pot in thelast decades,The active cont our models are more p ractically and powerful than other computer theories because they could merge p ri or knowledge and i m age p r ocessing algorith m s .This paper gives the brief overvie w of the p rinci p le,mathe matical model and devel opment of the active cont our models,and intr oduces the typ ical C -V method based on level set of geometric active cont our models .Keywords Active cont our models I m age seg mentati on Level set C -V3济南大学信息科学与工程学院 山东济南 250022 活动轮廓模型[1]是指定义在图像域上的曲线(曲面),在与曲线(曲面)自身相关的内力以及由图像数据定义的外力的共同作用下向物体边缘靠近的模型,外力推动活动轮廓“拉向”物体边缘或者其他感兴趣的图像特征,而内力则保持活动轮廓的光滑和连续性。
图像分割之(五)活动轮廓模型之Snake模型简介
在“图像分割之(一)概述”中咱们简单了解了目前主流的图像分割法。
下面咱们主要学习下基于能量泛函的分割法。
这里学习下Snake模型简单的知识,Level Set(水平集)模型会在后面的博文中说到。
基于能量泛函的分割法:
该类法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(Euler.Lagrange)程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。
主动轮廓线模型是一个自顶向下定位图像特征的机制,用户或其他自动处理过程通过事先在感兴趣目标附近放置一个初始轮
廓线,在部能量(力)和外部能量(外力)的作用下变形外部能量吸引活动轮廓朝物体边缘运动,而部能量保持活动轮廓的光滑性和拓扑性,当能量达到最小时,活动轮廓收敛到所要检测的物体边缘。
一、曲线演化理论
曲线演化理论在水平集中运用到,但我感觉在主动轮廓线模型的分割法中,这个知识是公用的,所以这里我们简单了解下。
曲线可以简单的分为几种:
曲线存在曲率,曲率有正有负,于是在法向曲率力的推动下,曲线的运动向之间有所不同:有些部分朝外扩展,而有些部分则朝运动。
这种情形如下图所示。
图中蓝色箭头处的曲率为负,而绿色箭头处的曲率为正。
简单曲线在曲率力(也就是曲线的二次导数)的驱动下演化所具有的一种非常特殊的数学性质是:一切简单曲线,无论被扭曲得多么重,只要还是一种简单曲线,那么在曲率力的推动下最终将退化成一个圆,然后消逝(可以想象下,圆的所有点的曲率力都向着圆心,所以它将慢慢缩小,以致最后消逝)。
描述曲线几特征的两个重要参数是单位法矢和曲率,单位法矢描述曲线的向,曲率则表述曲线弯曲的程度。
曲线演化理论就是仅利用曲线的单位法矢和曲率等几参数来研究曲线随时间的变形。
曲线的演变过程可以认为是表示曲线在作用力F 的驱动下,朝法线向N 以速度v 演化。
而速度是有正负之分的,所以就有如果速度v 的符号为负,表示活动轮廓演化过程是朝外部向的,如为正,则表示朝部向演化,活动曲线是单向演化的,不可能同时往两个向演化。
所以曲线的演变过程,就是不同力在曲线上的作用过程,力也可以表达为能量。
世界万物都趋向于能量最小而存在。
因为此时它是最平衡的,消耗最小的(不知理解对不?)。
那么在图像分割里面,我们目标是把目标的轮廓找到,那么在目标的轮廓这个地,整个轮廓的
能量是最小的,那么曲线在图像任一个地,都可以因为力朝着这个能量最小的轮廓演变,当演变到目标的轮廓的时候,因为能量最小,力平衡了,速度为0了,也就不动了,这时候目标就被我们分割出来了。
那现在关键就在于:1)这个轮廓我们怎么表示;2)这些力怎么构造,构造哪些力才可以让目标轮廓这个地的能量最小?
这两个问题的描述和解决就衍生出了很多的基于主动轮廓线模型的分割法。
第一个问题的回答,就形成了两大流派:如果这个轮廓是参数表示的,那么就是参数活动轮廓模型(parametric active contour model),典型为snake模型,如果这个轮廓是几表示的,那么就是几活动轮廓模型(geometric active contour model),即水平集法(Level Set),它是把二维的轮廓嵌入到三维的曲面的零水平面来表达的(可以理解为一座山峰的等高线,某个等高线把山峰切了,这个高度山峰的水平形状就出来了,也就是轮廓了),所以低维的演化曲线或曲面,表达为高维函数曲面的零水平集的间接表达形式(这个轮廓的变化,直观上我们就可以调整山峰的形状或者调整登高线的高度来得到)。
那对于第二个问题,是两大流派都遇到的问题,是他们都需要解决的最关键的问题。
哪些力才可以达到分割的目标呢?这将在后面聊到。
二、Snakes模型
自1987年Kass提出Snakes模型以来,各种基于主动轮廓线的图像分割理解和识别法如雨后春笋般蓬勃发展起来。
Snakes模型的基本思想很简单,它以构成一定形状的一些控制点为模板(轮廓线),通过模板自身的弹性形变,与图像局部特征相匹配达到调和,即某种能量函数极小化,完成对图像的分割。
再通过对模板的进一步分析而实现图像的理解和识别。
简单的来讲,SNAKE模型就是一条可变形的参数曲线及相应的能量函数,以最小化能量目标函数为目标,控制参数曲线变形,具有最小能量的闭合曲线就是目标轮廓。
构造Snakes模型的目的是为了调和上层知识和底层图像特征这一对矛盾。
无论是亮度、梯度、角点、纹理还是光流,所有的图像特征都是局部的。
所谓局部性就是指图像上某一点的特征只取决于这一点所在的邻域,而与物体的形状无关。
但是人们对物体的认识主要是来自于其外形轮廓。
如将两者有效地融合在一起正是Snakes模型的长处。
Snakes模型的轮廓线承载了上层知识,而轮廓线与图像的匹配又融合了底层特征。
这两项分别表示为Snakes模型中能量函数的部力和图像力。
模型的形变受到同时作用在模型上的多不同的力所控制,每一种力所产生一部分能量,这部分能量表示为活动轮廓模型的能量函数的一个独立的能量项。
Snake模型首先需要在感兴趣区域的附近给出一条初始曲线,接下来最小化能量泛函,让曲线在图像中发生变形并不断逼近目标轮廓。
Kass等提出的原始Snakes模型由一组控制点:v(s)=[x(s),
y(s)]s∈[0, 1] 组成,这些点首尾以直线相连构成轮廓线。
其中x(s)和y(s)分别表示每个控制点在图像中的坐标位置。
s 是以傅立叶变换形式描述边界的自变量。
在Snakes的控制点上定义能量函数(反映能量与轮廓之间的关系):
其中第1项称为弹性能量是v的一阶导数的模,第2项称为弯曲能量,是v的二阶导数的模,第3项是外部能量(外部力),在基本Snakes模型中一般只取控制点或连线所在位置的图像局部特征例如梯度:
也称图像力。
(当轮廓C靠近目标图像边缘,那么C的灰度的梯度将会增大,那么上式的能量最小,由曲线演变公式知道该点的速度将变为0,也就是停止运动了。
这样,C就停在图像的边缘位置了,也就完成了分割。
那么这个的前提就是目标在图像中的边缘比较明显了,否则很容易就越过边缘了。
)
弹性能量和弯曲能量合称部能量(部力),用于控制轮廓线的弹性形变,起到保持轮廓连续性和平滑性的作用。
而第三项代表外部能量,也被称为图像能量,表示变形曲线与图像局部特征吻合的情况。
部能量仅仅跟snake的形状有关,而跟图像数据无关。
而外部能量仅仅跟图像数据有关。
在某一点的α和β的值决定曲线可以在这一点伸展和弯曲的程度。
最终对图像的分割转化为求解能量函数E
total(v)极小化(最小化轮廓的能量)。
在能量函数极小化过程中,弹性能量迅速把轮廓线压缩成一个光滑的圆,弯曲能量驱使轮廓线成为光滑曲线或直线,而图像力则使轮廓线向图像的高梯度位置靠拢。
基本Snakes模型就是在这3个力的联合作用下工作的。
因为图像上的点都是离散的,所以我们用来优化能量函数的算法都必须在离散域里定义。
所以求解能量函数E total(v)极小化是一个典型的变分问题(微分运算中,自变量一般是坐标等变量,因变量是函数;变分运算中,自变量是函数,因变量是函数的函数,即数学上所谓的泛函。
对泛函求极值的问题,数学上称之为变分法)。
在离散化条件(数字图像)下,由欧拉程可知最终问题的答案等价于求解一组差分程:(欧拉程是泛函极值条件的微分表达式,求解泛函的欧拉程,即可得到使泛函取极值的驻函数,将变分问题转化为微分问题。
)
记外部力F = −∇P,Kass等将上式离散化后,对x(s)和y(s)分别构造两个五对角阵的线性程组,通过迭代计算进行求解。
在实际应用中一般先在物体围手动点出控制点作为Snakes模型的起始位置,然后对能量函数迭代求解。