当前位置 : 安防网>安防技术>图形图像>阅读正文

基于梯度矢量流的快速收敛骨架算法

作者: 时间:2008-02-24

    Snake模型 ,是定义在图像区域内的一组曲线,该曲线在内力和外力的共同作用下朝着物体的边界或者其他我们感兴趣的图像特征运动。内力体现曲线本身应具有的特性,如光滑性,长度尽量短等;外力根据我们感兴趣的图像特征计算得到,如边缘。Snake模型被广泛应用于边缘检测 、形状建
模 ’ 、图像分割 ’ 和运动跟踪 ’刮等诸多领域。现有文献中有两类动态轮廓模型:参数化动态轮廓模型 和几何动态轮廓模型 ’ 。本文中我们基于参数化动态轮廓在图像区域内合成曲线,并使得曲线朝着我们感兴趣的边缘运动。原始的参数化动态轮廓算法主要存在两个问题:1)初始轮廓必须靠近真实边界,否则Snake不能收敛到真实的边缘。解决该问题的各种方法的本质是增加外力的捕获区域范围,例如压力法 、多尺度 ]、距离势能外力[tH、GVF[1 ]等。2)动态轮廓很难逼近凹腔边界” “J。现有的压力法 J、控制点 13]、区域自适应¨ 、方向吸引¨ 、无散矢场¨ 等方法都不能完全解决此问题。所有这些方法中,GVF方法是解决以上两个问题的最好的方法。但是,该方法是一种基于灰度或者二值图像边缘图的梯度矢量的扩散过程,该过程速度较慢;而且,GVF方法存在的最大缺点是对于深的凹腔,GVF即使扩散迭代的步数很多,也很难逼近深凹腔的边界。本文提出了一种基于GVF的改进的Snake模型。该方法根据GVF图上凹腔内受力方向提取,然后在该点集的每一点强加一项新的外力,以达到迅速收敛的目的。我们以文献[12]中64×64 的u形图像为例,当轮廓初始化在凹腔内部时,GVF方法不能收敛,而我们的方法无论曲线初始化包围凹腔还是在凹腔内部,都能迅速收敛。
1 背景介绍
1.1 参数snake模型
传统snake模型是曲线 x(s)= ( x(s),Y(s)),s∈ [0,
1]在图像空间域运动来最小化能量函数:

E(x(s))=【÷( (s)I+JB (s)I)+ ( (s))ds(1)

其中 ,JB是控制蛇曲线弹性和弯曲性的权重参数,(s), (s)表示曲线关于s的一阶导数和二阶导数。外力能量函数 由图像计算得到,且在我们感兴趣的图像特征如边界值比较小。给定一幅关于位置变量( ,Y)连续的灰度图像,( ,Y),以二值图像(背景为1边缘为0)为例,为了吸引曲线朝着阶跃边缘运动,我们定义外部能量⋯ 为:
fE = ( ,Y) ⋯
L =G ( ,Y) ,( ,Y)
其中G ( ,Y)是标准偏差为 的二维高斯函数,V是梯度算子。从(2)式容易看出: 增大,动态轮动廓外力捕获范围增大,但同时边界也变模糊。最小化能量函数(1)必须满足以下的欧拉方程:似 一 一7 E =0 (3) 为了求解方程(3),我们把snake曲线 看作s和时间t的函数 (s,t), 关于t的偏导数等于方程(3)的左边:
( ,t)= 一 一V E州 (4)
当方程解 (s,t)稳定, (s,t)为零,我们就得到了(3)的解,离散化求解欧拉方程稳定数值解并写成矩阵形式⋯ :
c+l=(A + ) ( 一 ( ,Y ))
Yc+l=(A + ) ( -f,(x ,Y ))
其中y为时间步长,x,Y是snake曲线坐标点( ,Y.),
1,⋯ ,n的n维列向量。 =OE IOx, =OE /Oy,
A =
c b
b c
Ⅱ b
b Ⅱ
c b 0
b c b
Ⅱ b c
Ⅱ=/3,b=一(4卢+ ),c=§ +2a。
1.2 传统snake模型性能分析
    我们以图1 L1 为例来深入分析传统外力、传统距离势能外力及GVF snake模型的形变过程。我们把图1中的凹腔分为内凹腔和外凹腔,内凹腔是指封闭轮廓内部的部分,外凹腔指封闭轮廓凹进部分。由图2(a)可知,传统外力场的捕获范围很小,因而要求初始轮廓很接近真实物体边缘。在文献[11]中研究者提出了一种距离势能外力(如图2(b))模型,该外力由图像上每点到该图像边缘图,(由图像计算得到,且边缘附近幅值较大其他值较小)的最小距离图求负梯度得到,可显著增加捕获范围。由图2知,在外凹腔,传统外力和传统距离势能外力都是水平指向相反的方向,snake曲线在方向相背的力作用下被拉向凹腔的两边而不能向下运动到凹腔内。
(a)传统外力局部放大
    在文献[12]中研究者提出一种GVF外力在很大程度上解决了以上的两个问题,GVF外力是由边缘图的负梯度矢量通过扩散得到。定义GVF为 ( ,Y)= (“( ,Y),W( ,Y)),通过最小化如下能量函数得到:E=f f (“:+“;+ :+ ;)+I vfl 1 —vfl dx dy(5)其中是规整化因子,用最速下降法我们优化式(5)得以下一般性扩散方程:
f ( ,Y,t)= V “( ,Y,t)一(“( ,Y,t)一
j ( ,),) ) ( ,),) + ( ,),) (6)
I W ( ,Y,£)= V W( ,Y,£)一(w(x,Y,t)一
【 ( ,Y) )( ( ,Y) + ( ,),) )
    这里,我们通过最简单的拉普拉斯热扩散方程来解释扩散过程式(6)在图像上是如何作用的。假设“是二值函数,拉普拉斯方程为:
等=c△u (7)其中c>0,/x为拉普拉斯算子。该方程如果不加边界条件解不唯一。
    从文献[17]知:若函数“满足方程(7)且对任意的t,有初始条件u(x,Y,t)=‰( ,Y)及边界条件lim u(x,Y,Ja+0一)=0,方程(7)的解可写为如下形式:“( ,Y,t)=‰( ,Y) ( ,Y) (8)其中 表示卷积,G ( ,),)=(4c~rt)_。exp(一 )。可以得知扩散过程是一个迭代卷积过程。迭代方程(8)
将边缘的梯度扩散到图像内部的一致性区域,并且,扩散过程内在的竞争将产生垂直指向腔内的力的分量。举例来说,在图3(a)外凹腔,。点力的幅值主要由弧cef上的点加权得到,而方向主要由弧 上的力的方向决定,因而。点力的方向斜向下指向U形凹腔,从而不同于传统距离势能外力在。点力的幅值方向只依赖于离其最近的边缘点c。然而,若点离弧越远,在该点力的方向受到向下的方向的影响越小,从而几乎保持原来的水平方向,了snake曲线上的点运动到该点时,由于力的方向不是垂直向下,snake收敛速度较慢。在内凹腔,弧,g批m可以看作是深的U形凹腔,点^的力的方向受到弧 上的点力的方向影响很小,因此,当初始化snake曲线在内凹腔点^附近,GVF方法将无法收敛到凹腔边界。归一化GVF~F力 迭代次~=125(a)GVF~F力局部放大 (b)GVF snake形变图3 GVF外力作用下形变过程及结果.

2 骨架snake
    我们提出了一种新的快速收敛骨架snake算法,解决了GVF snake模型收敛速度慢和深的凹腔不能收敛的问题。
2.1 骨架的提取
    我们的snake曲线是参数化的动态轮廓曲线,该算法基于修改了的GVF外力。我们根据(6)式进行初步扩散得到GVF外力图厶后, 上内外凹腔外力的方向特点,即在内外凹腔骨架和边缘附近外力方向变化比较剧烈,来提取物体的骨架,具体方法如下。
首先对于位置点( ,y)定义一个3×3窗El为一个集合:
S( ,y): {( 一1,y一1),( 一1,y),( 一1, +1),
( , 一1),( , ),( , +1),( +1, 一1),
( +1,y),( +1, +1)}
并计算得到GVF外力图/ 的局部力方向变化最大角图:
c ,y =
。: .,
m

a x
. , arccos— ;
其中0 ( ,y) 叮T,<>表示内积。在本文中,我们称 ( ,y)为局部力方向变化最大角图。其次,我们去除
( ,y)中边缘附近的点,可通过如下方式得到:
S。={( ,y)l ( ,y)≥c}l{( ,y)』 ,y) T}
c为方向变化阈值, 为边缘幅值阈值。图4(b)是取c=,T:0时得到的。
2.2 修改了的GVF外力图
    从图4(a)我们可以看出,在位置集合S。附近,尽管外力能正确指向物体的边界,但是在外凹腔,外力 ( ,y)指向方向相背且水平方向的分力较大从而动态轮廓收敛速度较慢,在内凹腔,外力 ( ,y)方向相反,snake曲线不能沿着曲线方向收敛到真实的边界,因而我们修改位置集合S。附近
点的外力 ( ,y)如下:
丘 ( )=y(一f y,f ),对所有的( ,y)= 和 S。。
其中y为正常数,即在位置S。的点直接受到方向沿着曲线的外力作用。我们称此修改了的外力为骨架外力,如图4(b)所示,在骨架外力作用下的snake模型为骨架snake。
2.3 骨架snake模型
    为了得到相应的动态轮廓方程,我们用修改了的骨架外力丘 ( ,y)代替方程(4)中的外力:(S,t)= ”(S,t)+ ””(S,t)+丘d(S) (9)方程(9)的离散化迭代求解类似于前面传统snake模型的求解。
3 骨架snake模型分析与实验
    下面分析骨架snake的收敛性,并通过实验与GVF snake模型进行比较,说明骨架snake模型在收敛性及收敛速度方面优于GVF snake模型。
3.1 骨架snake收敛性分析
    骨架snake在初始化方面非常灵活,可以包含凹腔或者在凹腔内的任何位置,但其收敛性受到集合S。大小的影响,而位置集合S。的大小受到多种因素的影响。首先,阈值c的选择直接影响到集合中元素的多少,对于基于GVF的snake模型,由于GVF外力通过扩散过程已经初步改变了方向,c值可选择小一点。其次, ( ,y)对S。也有巨大的影响。而 ( ,y)受到窗口S( , )选择的影响,若窗口太小,位置集合5d元素太少,曲线上受到骨架外力的点数太少而不能把曲线拉向腔内。因此,窗口大小的选择影响着算法的收敛性。一般来讲,窗口的大致大小可等于中轴线到边缘的最小欧氏距离。
3.2 骨架snake实验及与GVF性能比较
    下面通过对比骨架snake及GVF snake模型的计算效率及初始位置,来证明本文所提出的骨架snake模型初始化方面的灵活性及收敛速度的高效性。我们的实验图像是图1所示的U形图像(64×64 ),为了比较方便取 =0.05,口=0,用Matlab编码实现。从图4(C)~(f)可以看出,对于U形图像,初始轮廓无论包围凹腔还是在凹腔内,我们的骨架snake模型都能够迅速收敛到凹腔边界,而GVF(图3(b))只有在初始化曲线包围凹腔时才能收敛。计算消耗时间如下:当初始轮廓包围凹腔时,GVF为4.9690秒,骨架snake为3.657 0秒;当初始在凹腔内部时,骨架snake为4.813 0秒,说明骨架snake模型比GVF snake模型的收敛性好。
10 20 30 40 50 60
(a)梯度矢量场
形变过程,迭代次数35
l0 20 30 40 50 60
(C)初始曲线包围凹腔的形变
形变过程,迭代次数150
10 20 30 40 50 60
(d)初始曲线包围凹腔的形变结果
形变结果
10 20 30 40 50 60 10 20 30 40 50 60
(e)初始曲线在凹腔的形变 (f)初始曲线在凹腔的形变结果
图4 骨架snake形变过程及结果
4 总结和结论
    本文中,我们为动态轮廓曲线引入了一种新的外力,即骨架外力。该外力是在GVF外力图上,在局部外力变化方向超过某一给定阈值的点,我们沿着该点运动趋势的方向加上的一项外力。从理论分析及试验结果可以看出,在骨架外力作用下的骨架snake对于U形物体轮廓来说,可以逼近深的凹腔,即初始化位置更灵活(包围凹腔或者在凹腔内),并且收敛速度更快。今后可以更进一步的研究骨架snake的本质及应用。本文选用了其中每个单词样本个数大于等于10的所有样本,取其1/5作识别,其余训练使用。首先是状态数单一,选S=5;然后将状态数变为S=3,5,8;最后引入Sobel梯度特征。由实验结果可见,识别率逐步明显提高。
5 结论
    本文提出的识别系统最主要的优点是将Sobel梯度特征引入脱机手写英文单词识别。另外,改进了参考线的提取方法,比通常的方法准确很多;滑动窗口宽度不固定,是动态变化的,能够很好适应图像宽度的不同。采用嵌入式训练方法,将字母模型合成单词级模型,具有简单灵活、节省空间、对字典的依赖性小等优点。尽管如此,我们依然有很多工作需要继续,比如扩大字典单词量、增加书写者等等。另外,实验中发现,字母“Y”,⋯t’等上下部的严重超出自身所在位置,⋯i’,“j”的点也会出现类似情况这样对模糊分割方式就是一个极大的影响,同时也反映了这种方法的一个不足之处,尤其是本文采用的样本,状况更为明显。为此,我们会针对这种情况,增加字母的常用组合模型 ,如“ing”,“th”等,而不局限于字母模型.

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册