位置:51电子网 » 技术资料 » 仪器仪表

SUSAN边缘检测算法性能分析与比较

发布时间:2008/6/2 0:00:00 访问次数:694

1 引 言

边缘是图像最基本的特征,是图像分割的第一步。经典的边缘检测方法如:roberts,sobel,prewitt,kirsch,laplace等方法,基本都是对原始图像中象素的小邻域构造边缘检测算子,进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阀值提取边界。由于这些算法涉及梯度的运算,因此均存在对噪声敏感、计算量大等缺点。在实践中,发现susan算法只基于对周边象素的灰度比较,完全不涉及梯度的运算,因此其抗噪声能力很强,运算量也比较小。并将susan算法用于多类图像的边缘检测中,实验证明该算法非常适合含噪图像的边缘检测。 2 susan边缘检测简介

2.1 susan特征检测原理

如图1所示,用一个圆形模板在图像上移动,若模板内象素的灰度与模板中心象素(称为:核nucleus)灰度的差值小于一定阀值,则认为该点与核具有相同(或相近)的灰度,由满足这样条件的象素组成的区域称为usan(univalue segment assimilating nucleus)。

当圆形模板完全处在图像或背景中时,usan区域面积最大(如图1中的a和b);当模板移向图像边缘时,usan区域逐渐变小(如图1中c);当模板中心处于边缘时,usan区域很小(如图1中的d);当模板中心处于角点时,usan区域最小(如图1中的e)。可以看出,在边缘处象素的usan值都小于或等于其最大值的一半。因此,计算图像中每一个象素的usan值,通过设定一个usan阀值,查找小于阀值的象素点,即可确定为边缘点[1]。

2.2 susan边缘检测算法

(1)算法描述

对整幅图像中的所有象素,用圆形模板进行扫描,比较模板内每一象素与中心象素的灰度值,通过与给定的阀值比较,来判别该象素是否属于usan区域,如下式:

式(1)中c(r,r0)为模板内属于usan区域的象素的判别函数;i(r0)是模板中心象素(核)的灰度值;i(r)为模板内其他任意象素的灰度值;t是灰度差门限。

图像中每一点的usan区域大小可用下式表示:

式(2)中d(r0)为以r0为中心的圆形模板区域。得到每个象素的usan值n(r0)以后,再与预先设定得门限g进行比较,当n(r0)<g时,所检测到象素位置r0可以认为是一个边缘点。

(2)模板的选取

由于图像的数字化,实际上无法实现真正的圆形模板,所以都是采用近似圆代替。但是模板较小时,如果门限选取不恰当,可能会发生边缘点漏检的情况。模板也不宜取得太大,否则会增大运算量大,通常可取5×5或37象素模板[1]。本文实验中均采用的是5×5的模板。

(3)门限t,g的确定

门限g决定了边缘点的usan区域的最大值,即只要图像中的象素的usan值小于g,该点就被判定为边缘点。g过大时,边缘点附近的象素可能作为边缘被提取出
为模板的最大usan值),可以较好地提取出初始边缘点。如果要达到单象素的精度,还需进一步剔除多余象素。

门限t表示所能检测边缘点的最小对比度,也是能忽略的噪声的最大容限。t越小,可从对比度越低的图像中提取特征。因此对于不同对比度和噪声情况的图像,应取不同的t值[2]。

3 实 验

在主频2.3 ghz,内存256 mb的pc机上,分别对susan算法(t=10,g=18)和传统的robert算子、gauss-laplace算子、prewitt算子,采用visal c++编程,对图2中的3幅灰度测试图像进行边缘检测。图2中(a)是原始测试图像,(b)是加入高斯噪声(μ=0,σ=0.005)的测试图像,(c)是加入椒盐噪声(ρ=o.005)的测试图像。图3~图5分别是对图2中(a)~(c)三幅图像的边缘检测结果。

4性能比较与分析

由实验结果可以看出,susan算法具有以下优良性能:

4.1边缘检测效果好

无论对直线,还是曲线边缘,susan算法基本上可以检测出所有的边缘,检测结果较好。虽然实验中没有达到一个象素的精度,但这主要是因为对边缘的两侧都应用了susan算法,对具体的实际应用,可以对背景不再应用susan算法,这样不但可以达到细化边缘的目的,而且运算量也大大减少。


1 引 言

边缘是图像最基本的特征,是图像分割的第一步。经典的边缘检测方法如:roberts,sobel,prewitt,kirsch,laplace等方法,基本都是对原始图像中象素的小邻域构造边缘检测算子,进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阀值提取边界。由于这些算法涉及梯度的运算,因此均存在对噪声敏感、计算量大等缺点。在实践中,发现susan算法只基于对周边象素的灰度比较,完全不涉及梯度的运算,因此其抗噪声能力很强,运算量也比较小。并将susan算法用于多类图像的边缘检测中,实验证明该算法非常适合含噪图像的边缘检测。 2 susan边缘检测简介

2.1 susan特征检测原理

如图1所示,用一个圆形模板在图像上移动,若模板内象素的灰度与模板中心象素(称为:核nucleus)灰度的差值小于一定阀值,则认为该点与核具有相同(或相近)的灰度,由满足这样条件的象素组成的区域称为usan(univalue segment assimilating nucleus)。

当圆形模板完全处在图像或背景中时,usan区域面积最大(如图1中的a和b);当模板移向图像边缘时,usan区域逐渐变小(如图1中c);当模板中心处于边缘时,usan区域很小(如图1中的d);当模板中心处于角点时,usan区域最小(如图1中的e)。可以看出,在边缘处象素的usan值都小于或等于其最大值的一半。因此,计算图像中每一个象素的usan值,通过设定一个usan阀值,查找小于阀值的象素点,即可确定为边缘点[1]。

2.2 susan边缘检测算法

(1)算法描述

对整幅图像中的所有象素,用圆形模板进行扫描,比较模板内每一象素与中心象素的灰度值,通过与给定的阀值比较,来判别该象素是否属于usan区域,如下式:

式(1)中c(r,r0)为模板内属于usan区域的象素的判别函数;i(r0)是模板中心象素(核)的灰度值;i(r)为模板内其他任意象素的灰度值;t是灰度差门限。

图像中每一点的usan区域大小可用下式表示:

式(2)中d(r0)为以r0为中心的圆形模板区域。得到每个象素的usan值n(r0)以后,再与预先设定得门限g进行比较,当n(r0)<g时,所检测到象素位置r0可以认为是一个边缘点。

(2)模板的选取

由于图像的数字化,实际上无法实现真正的圆形模板,所以都是采用近似圆代替。但是模板较小时,如果门限选取不恰当,可能会发生边缘点漏检的情况。模板也不宜取得太大,否则会增大运算量大,通常可取5×5或37象素模板[1]。本文实验中均采用的是5×5的模板。

(3)门限t,g的确定

门限g决定了边缘点的usan区域的最大值,即只要图像中的象素的usan值小于g,该点就被判定为边缘点。g过大时,边缘点附近的象素可能作为边缘被提取出
为模板的最大usan值),可以较好地提取出初始边缘点。如果要达到单象素的精度,还需进一步剔除多余象素。

门限t表示所能检测边缘点的最小对比度,也是能忽略的噪声的最大容限。t越小,可从对比度越低的图像中提取特征。因此对于不同对比度和噪声情况的图像,应取不同的t值[2]。

3 实 验

在主频2.3 ghz,内存256 mb的pc机上,分别对susan算法(t=10,g=18)和传统的robert算子、gauss-laplace算子、prewitt算子,采用visal c++编程,对图2中的3幅灰度测试图像进行边缘检测。图2中(a)是原始测试图像,(b)是加入高斯噪声(μ=0,σ=0.005)的测试图像,(c)是加入椒盐噪声(ρ=o.005)的测试图像。图3~图5分别是对图2中(a)~(c)三幅图像的边缘检测结果。

4性能比较与分析

由实验结果可以看出,susan算法具有以下优良性能:

4.1边缘检测效果好

无论对直线,还是曲线边缘,susan算法基本上可以检测出所有的边缘,检测结果较好。虽然实验中没有达到一个象素的精度,但这主要是因为对边缘的两侧都应用了susan算法,对具体的实际应用,可以对背景不再应用susan算法,这样不但可以达到细化边缘的目的,而且运算量也大大减少。


-->
相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!