一种自动提取目标的主动轮廓法

上传人:wm****3 文档编号:47318555 上传时间:2018-07-01 格式:PDF 页数:5 大小:555.10KB
返回 下载 相关 举报
一种自动提取目标的主动轮廓法_第1页
第1页 / 共5页
一种自动提取目标的主动轮廓法_第2页
第2页 / 共5页
一种自动提取目标的主动轮廓法_第3页
第3页 / 共5页
一种自动提取目标的主动轮廓法_第4页
第4页 / 共5页
一种自动提取目标的主动轮廓法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《一种自动提取目标的主动轮廓法》由会员分享,可在线阅读,更多相关《一种自动提取目标的主动轮廓法(5页珍藏版)》请在金锄头文库上搜索。

1、第 31 卷第 5期 光 子 学 报 Vol. 31No. 52002 年 5 月 ACTA PHOTONICA SINICA May 2002 一种自动提取目标的主动轮廓法李熙莹 倪国强( 北京理工大学光电工程系, 北京 100081)摘 要 提出一种新的广泛应用于数字图象分析和计算机视觉的主动轮廓( Snake) 模型, 引 入作用方向可以自适应变化的外加强制力, 使控制点能够不依赖于初始轮廓而快速地收敛到目标的真实轮廓; 初始轮廓自动确定; 控制点的数目可以自适应地改变; 能够在背景比较复杂的图象中实现对目标轮廓的提取 . 用该模型对空中目标的红外图象进行的实验结果表 明其具有很好的鲁棒

2、性和实用性 .关键词 主动轮廓法; Snake; 红外图象; 轮廓提取0 引言主动轮廓模型又称为 Snake 模型, 是由 Kass于 1987 年提出的1, 它融合了分割过程的三个阶段, 使得检测得到的目标边界就是一光滑连接的 曲线 . 其主要思想是定义一个能量函数, 在Snake 由初始位置向真实轮廓逐渐靠近时, 寻找 此能量函数的局部极小值, 即通过对能量函数的动态优化来逼近目标的真实轮廓 . 此能量函数主 要由内部能量函数及外部能量函数组成 . 内部能量函数考虑包络本身的连续性和各点曲率的大小; 外部能量函数则主要涉及到图象的一些具体 情况, 如图象灰度变化的梯度等因素 .Kass的S

3、nake模型中, 用参量表示轮廓线 v( s) = ( x ( s) , y ( s) ) ( s 为轮廓弧长) , 其能量函数定义为E*snake=10Esnake( v( s) ) ds=10 Eint( v( s) ) + Eimage( v( s) ) + Econ( v( s) ) ( 1)式中, Eint表示主动轮廓线的内部能量, 也叫内部力; Eimage表示图象作用力产生的能量, 也叫图象力; Econ表示外部限制作用力产生的能量, 叫 约束力 . 后两项和称为外部能量 Eext= Eimage+Econ. 内部力起到平滑轮廓、 保持轮廓连续性的作用; 图象力表示轮廓点与图象局

4、部特征吻合的情况; 约束力是各种人为定义的约束条件 .Kass 的算法存在要求外力可微、 不稳定、 控 制参量无法确定、 计算量大和时间开销大等缺点.Amini2、 Williams3等人改进了 Kass 的算法, 引 入硬强制力, 且大大提高了运行速度( Amini 的算法运算量为 O( m3n) Williams 的 Greedy 算法运算为O( mn) , m 为迭代的领域大小, n 为Snake 控 制点的数目) . 不过, 它们仍存在一些问题, 如迭代效果依赖于初始轮廓点的选取; 控制点在迭代中向高曲率边缘堆积; 控制点数目固定不变, 不能随目标大小变化调节等 . 有许多研究者针对原

5、始Snake 的缺点进行了模型改进或算法改进, 如对 角点判定的阈值选取方法加以改进、 按照一定的规则调节控制点间距、 采用不同的图象特征能量 模型4, 5等, 不过对于初始轮廓点依然敏感或运算比较复杂。本文以 William 的 Greedy 算法为参考, 提出了一种自动的主动轮廓法( Auto- Snake) , 引入作 用方向可自适应变化的外加强制力, 从而使控制点能快速地收敛到目标的真实轮廓, 不依赖于初始轮廓; 初始轮廓自动确定, 无需人工干预; 控制点的数目可以自适应地改变; 明确了各个参量的 选择 . 该算法不仅继承前人算法的优点, 而且保证算法快速收敛, 适用于多种场合, 在背

6、景比较复杂的图象中也可以实现对目标轮廓的提取 .1 Kass 的主动轮廓法能量模型Kass 和 Snake 模型中, 内部能量可表示为轮廓对弧长的一阶导数项vs( s) 和二阶导数项vss( s)的组合Eint= ( ( ? ( s) ?vs( s) ?2+ ?( s) ?vss( s) ?2) / 2 ( 2)式中, 一阶项系数 ?控制轮廓的连续性约束,若较小, 则内部力对轮廓的连续程度不敏感, 在轮廓线存在缺口时, 将有较大的值; 二阶项系数 ?控制平滑程度约束, 若较小, 则内部力对轮廓的平 滑程度不敏感, 其在轮廓线曲率变大时将有较大值, 在一点为 0 时允许 Snake 变得二阶不连

7、续并演变成一个角点 . 图象力为直线、 边缘和界限能量的线性组合为Eimage= WlineEline+ WedgeEedge+ WtermEterm( 3)式中各项均可以从图象 I( x, y) 算出 . Wline、Wedge和 Wterm为特征系数, Eline是线能量, 等于图象亮度( 灰度) Eline= I ( x , y) ; 通过线性特征系数Wline的正负, 可以使 Snake 靠近亮线或暗线 . Eedge是边缘能量, 也可由一个非常简单的函数表达, 即Eedge= - ? I( x , y) ?2; 边缘特征系数 Wedge控制对轮廓所在区域的强度梯度的约束 . Eter

8、m是用高斯函数平滑过的图象中各级轮廓线的曲率, 由曲率 特征系数Wedge决定其影响 . 式( 1) 的离散形式可以写为E* Snake=?ni= 1 Eint( i) + Eext( i) ( 1)式中 n是 Snake 控 制 点的 数 目 . 用 有 限 差 分?vi- vi- 1?逼近弧长的一阶导数项 vs( s) , 用有限 差分?vi+ 1- 2vi+ vi- 1?逼近弧长的二阶导数项vss( s) , 即可得到 Eint( i) 的离散形式 .2 自动 Snake 算法本文提出的用于红外图象的自动分割的主动轮廓法的能量函数( 离散形式) 为E=?ni= 0 Eint( i) +

9、Eimage( i) + Econt( i) ( 5)式中, n 为控制点数目 .第一项为Snake的内部能量, Eint( i ) = ?( i)Eint 1( i) + ?( i) Eint2( i) . Eint1和 Eint2分别对应于式( 2) 中的一阶项和二阶项, 即一阶连续性强制力和 二阶连续性强制力 . ? ( i) 与 ?( i) 分别为离散的一阶项和二阶项系数 . 在 Kass 的算法中, 使用?vi- vi- 1?2作为 Eint1的离散近似会造成曲线收缩,并使控制点汇聚到轮廓线中曲率高的部分, 所以 这里采用以下离散近似形式Eint1= ?d- ?vi- vi- 1?(

10、 6)式中 d-是各控制点间的平均距离 . 这样, 接近平均距离的那些点将拥有较小能量值, 从而促使轮廓线上的各点趋于均匀分布 . 二阶连续性强制力Eint2仍采用Kass 形式, 即Eint2= ?vi- 1- 2vi+ vi+ 1?2( 7)这里, 为了平衡各项的影响, Eint1( i) 和 Eint2( i) 分别除以其在领域中的最大值归一化到 0, 1 区间. 第二 项Eimage控 制 图象 特征 , Eimage( i ) =?( i) Emag( i) , Emag( i) 为图象梯度幅度能量, ? ( i) 为 梯度幅度系数 . 由于要提取目标轮廓, 于是仅采用梯度幅值作为图

11、象力, 使图象梯度大处( 可能为目标边缘) 能量小 . 图象中每一点的梯度幅值为整数, 取值在 0255之间 . 为了突出梯度幅值的 作用, 采用类似 Eint 1的归一化方法是不行的 . 这里, 对每一个控制点( 该点的梯度幅值为 mag) , 寻找其邻域内的最大和最小梯度幅值 maxmag 和minmag, 用 公 式 ( minmag- mag ) / ( maxmag-minmag) 来归一化图象力 . 此外, 对于领域内梯 度幅值接近的情况, 为避免图象力产生大的差异,规 定 如果 maxmag-minmag mean+ ?1std 时, 控制点在目标内, 并远离目标边缘, 此时,

12、取 ?( i) = 2; 当 avgImean+ ?2std 时, 控制点在目标外, 并远离目标边缘, 此时, 取 ?( i) = - 2; 当 mean+ ?1stdavgI mean+ ?2std 时, 控制点接近目标边缘,取?( i) = 0. ?1 ?2, 一般可根据图象质量取?1=24, ?2= 1.参量? 、 ?、 ?、 ?用于调节式( 5) 中各项的影响.在实验中, ? = 1. 0; ?取 0 或 1( 取决于该点是否为角点) ; ? 1. 0, 使图象梯度项 Eimage在决定轮廓上控制点的运动时比 Eint的影响力大; ? 的值为2、 -2 或 0, 取决于控制点是否远离目

13、标以及在目标内还是在目标外, 从而调节 Econt的作用方向, 并在控制点远离目标边缘时起到很强的影响作用, 使控制点快速移动到边缘附近, 而当控制点在目标边缘附近时不起作用 .在每一次迭代末, 应计算新轮廓中每个控制点的曲率 . 对于曲率最大的点, 在下次迭代中令?( i) = 0. 在第一次迭代中, 令所有点的 ?( i) = 1,以后每次迭代中, 按照式 ?xi/ ?si- ?xi+ 1?si+ 12+ ?yi/ ?si- ?yi+ 1?si+ 12计算各点曲率, 其中,?xi= xi- xi- 1, ?yi= yi- yi- 1. 对于满足下列三个条件的 i 点, 令 ?= 0: 曲率

14、为极大值、 曲率大于某个阈值、 梯度幅度也大于某个阈值 .Auto-Snake 算法的收敛速度很快, 运算量为O( mn) ( m 是邻域大小) . 能量函数在 vi当前位置及其 8 邻域内进行计算, 最小值点就是 vi的新位置 . 在计算 vi时, vi- 1已经移动到了此次迭代的新位置, 但是 vi+ 1还没有移动 . 其算法如下所述:1) 自动获取初始化轮廓, 初始化参量 ? 、 ?、? 、 ?.对图象作简单的阈值分割, 得到目标区的外接矩形, 每隔 4 个象素取一点, 作为初始轮廓 s=( v1, v2, , vn) . 对所有控制点, 设 ? ( i) 、 ?( i) 、 ? ( i

15、)为 1, ?( i) 为 0.2) 计算动态轮廓的中心 c= ( Xc, Yc) : Xc=n- 1?ni= 1xi, Yc= n- 1?ni= 1yi.3) 对所有轮廓控制点进行计算, 并移动它们 到邻域能量最小位置 .for i= 1 to n for j = 1 to m m 表示轮廓点的邻域尺寸( 这里为 33大小, 即 m= 9)Ej= ? ( i) Eint1( j ) + ?( i) Eint 2( j ) + ?( i) Emag( j ) + ?( i) Er( j )Emin= E5 以原控制点位置的能量值为初始最小值if EjEminEmin= Ejjmin= j 移动

16、 vi到 jmin 位置4) 统计动态轮廓中控制点移动的数目, 即能 量最小位置不是原控制点位置的点数 .5) 如果平均距离大于上次迭代的平均距离或过于小, 则调整控制点间距 .6) 计算各控制点曲率, 决定下一次迭代的 ? 值 .7) 若控制点移动的数目 pstmoved 小于阈值、 总能量 E 出现周期性波动或者达到最大迭代次数, 则结束 . 8) 重复( 2) ( 7) .此外, 为了保证 Snake 的控制点能够很好地描述目标的形状, 算法在迭代过程中可以实现对 控制点的动态增加及去除 . 当两点间距大于某阈值时, 在两点间插入一点; 小于某阈值时, 合并这两点 .Auto-Snake 算法的整个迭代过程可以分为 两个阶段: 1) 控制力作用收敛到目标边缘区; 2)图象力作用收敛到目标轮廓 . 对于目标与背景灰度有一定差别的红外图象, 可以按照灰度值顺序 分为目标内部区、 目标边缘区与背景区,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号