基于live_ware交互式的图像分割研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ComputerKnowledgeAndTechnology电脑知识与技术2008年第3卷第9期(总第27期)
基于live-ware交互式的图像分割研究
李作主
(中南民族大学计算与实验中心,湖北武汉430074)
摘要:图像分割是指将图像中具有特殊涵义的不同区域区分开来,这些区域是互相不交叉的,每一个区域都满足特定区域的一致性。

Live-Ware作为一种分割算法,其特点主要体现在其交互性上。

本文使用Live-Ware交互式分割算法对图像进行了分割研究。

关键词:Live-Ware交互式;图像分割
中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)27-2062-04
TheStudyofImageSegmentationBasedonLive-wareInteractive
LIZuo-zhu
(CentralSouthUniversityofNationalities,Wuhan430074,China)
Abstract:imagesegmentation.isthattheimagehasaspecialmeaningindifferentareasofseparate,Theseregionsarenotoverlappingeachother,Eachregionistomeetspecificregionalcoherence.Live-Wareasasegmentationalgorithm,whichischaracterizedprimarilyreflectedinitsinteractive.Inthispaper,theuseofinteractivelive-waresegmentationoftheimagesonasplit.
Keywords:interactivelive-Ware,imagessegmentation
1引言
图像分割是指把感兴趣的目标从背景中分离出来,是图像处理到图像分析过程中至关重要的一步。

长期以来,图像分割一直受到人们的高度重视,至今已提出很多类型的分割算法。

就图像分割的方式而言,现有算法可大致分为3种类型:自动分割,手工分割,交互式分割。

由于自动分割和手工分割存在一定的局限性,因此交互式分割被广泛使用。

常用的交互式分割技术有Live2Wire[1,2],Snakes[3]和Live2Lane[4]等。

其中Live-Wire算法可以将人工干预减少到最小程度,被广泛应用于医学图像处理中。

在Live-Ware方法中,用户首先使用光标在边缘上指定一个点。

随后当光标在图片上移动时,系统会计算出当前点到初始点的全局最优路径,并将其实时的显示在屏幕上。

当光标移向边界时,该最优路径会吸附在边界上。

若此曲线段能够合理的描绘边界的状态,则用户就将当前光标位置选为新的起始点。

以这种方式,用户就可以通过选择一系列曲线段的形式将二维边界完全选择出来。

不难看出,Live-Ware的核心思想是求取最短路径。

它将整个图像看作一个有向图,根据图像中的梯度等信息,为图中每一有向边赋予一权值,使得目标边界上的权值最小,从而就将寻找边界问题转化为从选择点到图像上其他各点的最短路径问题。

下面我们将从图中权值的确定和最短路径的求解两个方面,详细论述Live-Ware算法。

2Live-Wire算法详述
1)权值的确定:
①图像所对应的图的确定:我们将图像中的每个像素点看作一个正方形的小格,
使用以下规则将图像于一个有向图对应起来。

a)每两个相邻像素的邻边称为边元素(bel),即有向图中的边,如图1所示。

b)相应的边的顶点即为有向图中的顶点。

②特征值:根据图的梯度等信息,我们为每个bel定义了一系列的特征值:
a)边界梯度正方向的强度值(f1)
f1=max{grad(p),grad(q)}
b)边界梯度负方向的强度值(f2)
f2=min{grad(p),grad(q)}
c)梯度量(f3,f4,f5,f6)
像素点的位置如图2所示。

d)方向敏感的梯度量(f7):在f3,f4,f5,f6基础上考虑方向因素。

对于水平bel,我们定义梯度从上向下为正方向;
收稿日期:2008-07-20
作者简介:李作主(1971-),男(苗族),湖北来凤人,硕士,讲师,主要研究方向:数据库。

图1边元素(bel)示意图
图2像素点的位置图
ISSN1009-3044
ComputerKnowledgeAndTechnology电脑知识与技术
Vol.3,No.9,September2008,pp.2062-2065
E-mail:eduf@cccc.net.cn
http://www.dnzs.net.cn
Tel:+86-551-56909635690964
对于垂直bel,我们定义梯度从左到右为正方向。

③权值:为了确定每个bel在有向图中的权值,我们需要对各特征值进行相应的转换,在这里,
我们使用反高斯变换。

mean为目标边界的fi特征值均值;σ2为目标边界的fi特征值方差。

这两个值均是通过下面将要介绍的训练过程获得的。

我们之所以选择反高斯变换,主要是基于以下几点原因:
a)该变换将特征值控制到[0,1)之间,相当于对特征值进行了归一化,使不同bel的特征值之间更具有可比性;
b)对于当前bel,其特征值与目标bel越接近,其权值就越小,与我们后面要进行的最短路径求解对权值的需求相符;
c)由于方差的存在,使系统有了一定的容错能力,这是必要的。

首先,我们训练的bel不一定都在目标边界上;其次,目标边界上bel的特征值也不是全都一样的,也存在着一些差异。

一般的,一个特征值不能有效的反映整个边界的信息,
因此我们定义了联合权值以综合各边界的信息。

wi为特征值fi所对应的权重,我们可以根据边界的特点选择特征值的集合及各特征值的权重。

④训练:由用户手动选择图像中的若干bel,根据该bel的集合获取计算权值时所需要的各参数,在此假设所选择的bel均为目标bel。

对于我们所使用的反高斯变换,有两个待求参数,一是均值,一是方差,利用所选择的bel分别计算各特征值所对应的均值和方差。

至此,图像所对应的图中各bel的权值就确定了。

⑤补充——
—关于特征值的选取:
f1,f2的作用是限定边界左右两侧的灰度范围,而梯度量f3,f4,f5,f6的作用是限定边界上的梯度范围,当f1,f2与梯度量一起使用的时候,就能比较准确的使所找到的边界两侧的灰度与目标边界基本一致。

此外,为了使所找到的边界更加准确,Live-Wire还引入了方向敏感梯度的概念,也就是说对每个边为其定一个方向,其指向依此边两侧梯度的方向确定,这就是f7。

不难看出,在引入f7之前,图像所对应的图是无向图,而在引入f7之后,便成了有向图,这一点我们在实际操作时也会体会到,即在我们选择路径时要按一定的方向(与我们选择的正方向有关,若按论文前面的约定,则对于梯度方向由内部指向外部的边界,应顺时针转,否则应逆时针转)。

图3按约定方向选边时的效果图4按反方向选择边界的效果图3显示了按约定方向选边时的效果,图4显示了试图按反方向选择边界的效果,结果不言而喻。

一般情况下,选择f1,f2,f7的组合对大多数图片都是适用的,效果比较好,当然使用者还可以根据图像的特点选择特征值的组合,甚至自己定义特征值。

下面仅对只选择f7的情况和同时选择f1,f2,f7
的情况作一下比较。

图5同时选择f1,f2,f7三个特征值的情况图6仅选择f7的情况图5显示了同时选择f1,f2,f7三个特征值的情况,图6显示了仅选择f7的情况,不难看出在没有f1,f2的情况下所找到的边界并没有很好的吸附在目标边界上,而是被其他的边界所影响了。

2)最短路径的求解:
利用Dijkstra最短路径算法即可求取当前点到图上其他各点的最短路径,由于此有向图的特殊性,即每个节点只可能与上下左右四个与其相邻的节点有bel,所以整个求解最短路径的过程与图的区域增长过程相类似。

另外由于对于一个边界,它一般只会分布在图像的某一局部,我们只要搜索图像中在其附近的点就可以,而没必要使图像中的所有点都参与计算。

基于这种思想,Live-Wire算法中提出了一种优化方法,即设定一阈值(理想值是图中边界的最大路径长度),当从起始点到某结束点的路径大于该值时,则不考虑此路径。

如此便可只考虑最短路径小于此阈值的点的集合,从而达到提高边界搜索速度的目的。

具体的算法伪代码如下。

Live-Wire算法:
输入:联合权值函数;一个初始节点vs;一个终止节点ve;累积权值的阈值Tcc。

李作主:基于live-ware交互式的图像分割研究
ComputerKnowledgeAndTechnology电脑知识与技术2008年第3卷第9期(总第27期)
输出:从vs到ve的最短路径,以一个bel集合的形式给出。

辅助数据结构:一个累计权值数组cc,用来记录到目前为止vs到图像上各点的最优路径的长度;
一个方向数组dir,对每个节点,记录最优路径方向上与其直接相邻的节点;一个队列节点Q;
一个几点列表L,用来记录已经找到最短路径的节点。

Begin
①将cc(vs)置为0,对于图中的其它节点v,cc(v)置为∞;
②将vs放入Q;
③whileQ不空
do
a)在Q中挑选一节点v,使其累计权值cc(v)是Q中所保存的各节点中最小的,将其从Q中移除,并加入L列表。

b)foreach与v直接相邻的四个节点中不属于L的节点v'
do
i)计算cctemp=cc(v)+c(b'),其中b'是从v'指向v的bel,c(b')是该bel的联合权值;
ii)ifcctemp<cc(v')andcctemp<Tccthen
a)将cc(v')置为cctemp并将dir(v0)置为从v’指向v;
b)若v'不在Q中,则将其插入队列Q;
endif;
endforeach;
endwhile;
④从ve开始利用dir中的方向信息递归的回溯到vs,保存此过程中的bel,并将其返回;
End
3)用户接口方面的相关改进:
在论文的开始,我们已经给出了Live-Wire使用的大概流程,现再明确如下:
①用户首先使用光标在目标边缘或与目标边缘相近的区域上选取若干点进行训练;
②训练结束后,用户使用光标在目标边缘上指定一个起始点;
③随后当光标在图片上移动时,系统计算出当前点到起始点的全局最优路径,并将其实时的显示在屏幕上,当光标移向边界时,该最优路径会吸附在边界上;
④此曲线段能够合理的描绘边界的状态,则用户就将当前光标位置选为新的起始点;
⑤重复3、4,直至用户通过选择一系列曲线段的形式将二维边界完全选择出来,其间若目标边界上的bel特征值变化比较大,可以将目标边界分段,针对每一段进行训练和选择边界;
⑥回到步骤1或退出程序。

为了给用户以更好的体验,又考虑到目标边界一般是闭合的曲线,我们将使用流程改进如下:
①用户在目标边界上选择离散几点(称为锚点),将目标物体大概的圈定在这几点之内;
②点击计算按钮,以用户所选择的锚点进行训练并依锚点选择的次序计算各相邻锚点(最后一个锚点的下一个是第一个锚点)之间的最短路径,并显示在屏幕上。

③进入调整状态,用户可以拖动屏幕上的路径或锚点,将其拖动到合理的位置(边界上),此时系统会更新局部边界。

当拖动非锚点时相当于添加新的锚点。

另外,在调整若干次后,用户也可再次单击计算按钮,以当前图像中的锚点进行训练,并更新图中的边界。

④当边界用户比较满意时,即可单击确定按钮将其保存到位图上。

⑤回到步骤1或退出程序。

在此方法中,由于每次都针对所有的锚点进行训练,取消了对目标边界的分段训练过程,因此,当目标边界不同段上bel的差异比较大时,依该方法选出的边界就会与目标边界有一定的偏差。

此时也可以用分段的思想,分别对相邻的若干锚点进行训练和边界搜索。

图7使用原始方法选择出的边界图8使用改进的方法得到的初始边界图9经过几次拖拉调整得到的最终边界图7为使用原始方法选择出的边界,图8为使用改进的方法在只选择目标边缘四个顶点时得到的初始边界,图9为用户在经过几次拖拉调整后得到的最终边界,不难看出,使用改进的方法只要选择很少的几个点就可以将目标边界初步的选择出来,从而在保证边界识别质量的情况下简化了用户的操作。

4实现难点举例
1)有向图的存储结构:
由于此问题的特殊性,图像所对应的有向图有如下特点:每个节点都有且仅有四个有向边与其相连(边界上的边除外),因此该图是节点数与边数的比例约为1∶2的稀疏图。

若使用传统的邻接矩阵进行存储,势必引起造成大量存储空间的浪费。

因此我们采用
如下的存储方式,即建一个宽度和高度与图像的宽度和高度分别相同的二维矩阵,对该矩阵中的每一个元素使用如下结构

其中Right存储该节点对应像素点右侧bel的权值;Down存储该节点对应像素点下侧bel的权值。

这样,我们就将图像所对应的有向图建立起来了,而且由于该矩阵中的节点与图像中的像素点是一一对应的,也为我们后面求解最短路径、显示路径等其他操作提供了便利。

2)锚点选择方向的确定:
从第一部分的叙述中我们知道,在使用我们改进的方法时,如果直接按锚点的选择顺序依次计算各相邻锚点之间的最短路径而不加其它辅助操作,由于路径的有向性,可能会导致边界搜索算法的失效,因此当用户选择完锚点要进行计算时,我们要判断一下用户选择锚点的次序是否合理,如果不合理就将锚点队列逆序,以保证最终输出边界的正确性。

在这里判断次序是否合理的方法是关键,我们使用如下算法:
设有锚点序列,v(0),v(1),v(2),v(3),…,v(n-1)
①positive=negative=0;
②foreachv(i)
1)取v(i)v((i+1)%n
!!!")中x方向分量与y方向分量中模较大的一个,记为max(x#,y#);
2)ifmax(x#,y#)的方向与像素点v(i)右侧bel或左侧bel的方向一致positive++;
elsenegative++;
endif
endforeach
③ifpositive>=negative
返回“合理”;
else返回“不合理”;
endif
不难看出这是一种统计的方法,当锚点的数目较多时(一般为四个以上),可以比较准确的锚点次序合理与否,进而在不合理的时候调整锚点次序(锚点序列逆序)。

5结论
从上面的分析我们不难发现,Live-Wire巧妙的将图像分割与图论中的最短路径求解问题联系起来,在充分利用图像信息的同时,注重与用户的互动,使其对各种不同种类图像的适应性大大增强,从而成为一种快捷有效的图像分割算法。

我们在对算法思想深入分析和理解的前提下,对其用户操作方式进行了优化,在一定程度上提高了程序的易用性。

此外本文列举了程序实现过程中的若干难点,并分别给出了相应的解决方案。

参考文献:
[1]王阳萍,党建武,李强,等.基于改进搜索策略的Live-Wire医学图像分割算法[J].计算机工程与应用,2007,(29):24-26.
[2]WeillP,VitaleM.FromPlacetoSpace:MigratingtoAtomice-BusinessModels[M].HarvardBusinessSchoolPress,2001.
[3]KimYC."Partnering"ProcessInnterorganizationalRelations:RolesofCommunicationTechnologyintheProcessofBuildingOrganiza-tionalPartnerships[EB/OL].Availableat:http://www.msu.edu/user/kimyong/interorg.htm,2000.
[4]MasudaY,YamadaT,UenoY,etal.TowardstheCrossOrganizationalWorkProcessCoordinationandEnactment[EB/OL].Availableat:http://aifbhermes.aifb.unikarlsruhe.de/AAAI2000/CameraReady/YMasuda00.pdf,2000.
李作主:基于live-ware交互式的图像分割研究。

相关文档
最新文档