杨涛,孙国霞,段修满
山东大学信息科学与工程学院,济南 250100
基于S变换的图像边缘检测算法研究
杨涛,孙国霞,段修满
山东大学信息科学与工程学院,济南 250100
边缘检测通常是机器视觉系统处理图像的第一个阶段,是机器视觉领域内经典的研究课题之一。边缘检测可以显著减少图像的数据量,同时保留图像中的结构信息,从而大幅减轻系统的计算负担,其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解。图像的大部分信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,即图像中灰度变化比较剧烈的地方。因此,把边缘定义为图像中灰度发生急剧变化的区域边界。根据灰度变化的剧烈程度,通常将边缘划分为阶跃状和屋顶状两种类型[1]。边缘检测的实质是采用某种算法来提取出图像中的不同对象和背景间的交界线。由于图像灰度的变化情况可以用图像灰度分布的梯度来反映,可以利用局部图像微分技术获得边缘检测算子。
Marr和Hildreth[2]最先提出了空间一致假设和多尺度边缘分析方法。通过观察他们发现,在图像中,灰度的显著变化往往发生在不同的尺度上,于是总结出一个思路:检测这些变化的最优算法应该也需要使用不同尺度的滤波器来实现。文献[2]将高斯算子引入了边缘检测中,通过不同标准差的高斯算子对图像进行处理,处理后数据的二阶导数的过零点就是图像中的边缘,即文献[2]是通过对高斯函数进行拉普拉斯算子处理(LOG)来实现的。在此算法中,多尺度的思想是通过高斯算子不同的标准差来体现的。该算法是一个方向独立算法,它在图像的拐角、曲边和灰度沿着边缘以非线性方式变化的地方失效[3],因此,该算法不能提供图像边缘的真实位置。Marr-Hildreth算子正式将高斯算子引入到边缘检测中,高斯算子被认为是类似于人眼的生物反应机理。在低阶图像处理领域中,该算法被认为是一个拐点,从此,多尺度/多分辨率概念被引入到图像处理中并产生了重要的作用。
Canny[4]提出了新的边缘检测算法,该算法成为边缘检测的一个经典算法。他提出了边缘检测的三个标准:准确检测、准确定位和单值响应。通过对三个标准函数的最优化求解,Canny证明,高斯算子的一阶导数最接近与最优解,从而得到了边缘检测的最优算子。由于该算法随着边缘剖面的变化而变化,所以Canny算子并不是唯一的。对于阶跃类型的边缘,Canny算子和LOG算子是类似的,因为该算子输出结果的一阶导数的最大值就是LOG算子输出结果的过零点。Canny算子自适应地使用两个阈值来确定边缘点。这两个阈值是相关的,先用高阈值确定处边缘区段,然后在该边缘区段上使用低阈值确定最终的边缘点。Canny算子的问题在于,该算法对噪声敏感,很容易检测出虚假边缘点。
文献[5]使用多尺度高斯滤波实现了边缘检测。该算法的第一步基于Canny算子。首先,将图像与高斯算子进行卷积,计算卷积后数据的梯度幅值和角度。然后,对卷积后的数据进行非极值滤波,得到稀疏的梯度幅值。最后,对稀疏后的梯度幅值进行阈值滤波并得到最终的边缘。Bergholm[6]提出了边缘聚焦的算法,该算法使用高斯滤波,通过整合从大到小尺度的边缘信息来确定最终的边缘。Marr-Hildreth和Canny算子都可以作为边缘聚焦算法的一个处理步骤。首先,使用大尺度高斯滤波器对图像进行滤波处理,然后,使用自适应阈值对滤波后的图像进行边缘检测(该步骤中可以使用Marr-Hildreth或者Canny算子)。假设在相邻的尺度下检测到的边缘很少移动超过两个像素,则通过跟踪随着尺度的减小边缘位置的变化可以最终确定边缘的准确位置。所以,在该算法中,大尺度下得到的边缘位置用来预测下一个更小尺度下边缘的位置。该算法的思想是为了消除高斯滤波所带来的边缘模糊效应,通过滤波器尺度从大到小的变化来聚焦得到边缘的最终位置。该算法的最大问题在于无法给出高斯滤波器的最大和最小尺度。
Khallil和Aggoun[6]提出了一个自适应边缘检测算法。该算法首先用一个窄二维高斯滤波器对图像进行平滑处理,由于采用的是窄高斯滤波器,所以使得边缘的移动最小化,使最终检测的边缘保持位置的准确性,同时提高了分辨率,然后将处理后的数据分为许多不重叠的小块,统计每一小块的数据直方图来进一步抑制噪声并得到局部阈值,通过该阈值最终检测处图像的边缘。
随着小波理论的提出的完善,出现了具有不同特点、不同性能的小波基,为信号分析提供了有力的时频分析工具。小波变换可以有效地检测处信号中的奇异点,因此可以用来进行图像的边缘检测。文献[7-8]都采用小波变换来实现边缘检测并都取得了不错的效果,但基于小波变换的边缘检测算法无法确定选择何种小波基,选择哪些尺度的系数才能取得最好的边缘检测效果。
Stockwell于1996年提出了S变换,S变换是短时傅里叶变换和小波变换的延伸和推广。相比于短时傅里叶变换,S变换的时频分辨率可以同时达到最佳;相比于小波变换,S变换谱同傅里叶变换谱保持着直接联系[9]。S变换是一种新的时频分析工具,具有很好的检测信号奇异性和非正则性的能力,而且该变换具有明确的物理意义,其变换系数具有频率不变性。本文将S变换应用到边缘检测中,通过对S变换后的中频系数进行乘积,然后找出乘积后的系数中的极大值,最后对这些极大值进行阈值滤波,即得到图像的边缘。
2.1 S变换简介
S变换是Stockwell于1996年在傅里叶变换和小波变换基础上提出的[10]。对于连续时间信号h(t),广义S变换的定义如下[10]:
由于S变换是局部频谱信息的表达方式,很容易由S变换的结果得到连续信号的傅里叶变换H(f),公式如下:
同样,S变换也可以由H(f)得到:
由于S变换和傅里叶变换之间的紧密联系,很容易得到S变换的反变换:
和小波变换一样,S变换也是一种多分辨率分析工具。S变换中的多尺度性表现为,随着频率的由低到高变换,积分窗口(其实是一个高斯窗口)由宽变窄,从而实现了多尺度分析,但S变换中类似小波基的函数部分不需要满足容许性条件。
离散S变换的反变换公式定义如下:
2.2 相邻频率S变换系数相乘
S变换可以有效地检测出信号中的奇异点,对理想阶跃信号进行S变换,取其低、中、高3个频率的系数进行观察,结果图1(a)~(d)所示。
图1 信号S变换示意图
但实际应用中,由于噪声的影响,直接使用S变换会发现很多的奇异点。为了有效地抑制噪声,从S变换中取中频段的相邻两个频率系数取绝对值后进行相乘,这样可以有效地抑制噪声。
设信号S变换后的中频为f,则相邻系数乘积公式为:
其中,S(f)为信号S变换中频率为f的系数,针对一维信号的实验结果如图1(e)~(f)所示。实验结果可以证实,将中频段S变换的相邻频率系数取绝对值进行乘积,可以有效地抑制噪声,从而为后面的处理提供便利。
图像数据是二维的,因此,对图像的每一行和每一列都进行S变换,然后将其S变换数据中频相邻频率数据进行乘积运算。
2.3 S变换系数极大值滤波与阈值滤波
对于理想信号,其奇异点对应S变换系数的极大值点,但由于噪声的影响,S变换系数中有很多数值较小的局部极大值点,需要进行阈值滤波来消除噪声的影响。本文采用一个基于统计的阈值计算方法对相乘后的S变换数据进行滤波。
首先对乘积系数进行非极大值滤波,找到所有的极大值,这些极大值一部分来自边缘,一部分来自噪声。
对于这些极大值,需要找到阈值对噪声进行抑制,本文采用类间方差之和最小来计算阈值。设阈值为t,则t的计算该公式如下:
在上面的表达式中,m(t)为小于阈值t的极大值Ni的个数,n(t)为大于或者等于阈值t的极大值Nj的个数,Mn为噪声Ni的均值,Me为Nj的均值。
使函数f(t)最小的t即为阈值。
为了验证算法的有效性,对大量的图片进行了实验。在实验中,图像添加了椒盐噪声以检测算法对噪声的抑制性,同时,为了对比该算法的性能,采用Canny算法、LOG算法和Sobel算法对图像进行处理,与本文算法检测的结果进行比较。
本文选用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)来比较加入随机噪声后各类方法提取的边缘信息的峰值信噪比。本文对峰值信噪比的计算公式定义如下:
其中,G为未加噪声提取的图片的边缘,G0为添加噪声后提取的噪声边缘,m×n为图片的大小。
用不同的算法分别提取未加入随机噪声和加入随机噪声后提取的图像边缘,然后按式(9)计算未加噪声和加入噪声两种情形下检测到的边缘图像的差别,对图2中的图像(a)做3次对比实验,分别计算其峰值信噪比,结果如表1所示。
表1 对图2(a)采用不同算法进行边缘检测信噪比对比(在相同参数下进行3次测试所得数据)dB
本文算法主要采用Matlab中常用的示例图片进行实验,实验结果证实了该算法的可行性和有效性;与传统算法的对比实验证实该算法具有很好的噪声抑制性能。添加噪声后检测到的边缘,如图2所示。
由于本文算法使用S变换的中频数据,对粗轮廓图片的边缘检测具有很好的效果,但对于细节信息丰富的图片效果还有待进一步的提高,这是下一步工作需要解决的问题。
图2(a)、(b)、(c)为添加噪声的实验图片。(a1)~(a4)是对图(a)采用不同算法得到的边缘;(b1)~(b4)是对图(b)采用不同算法得到的边缘;图(c1)~(c3)是对图(c)采用不同算法得到的边缘。
图2 实验结果
针对边缘检测中存在的噪声敏感性问题,提出了基于S变换的改进型边缘检测算法。本文算法通过时频分析工具S变换,将S变换后的中频相邻频率数据相乘,继而对乘积系数进行非极大值滤波,依据类间方差之和最小计算阈值,并将两个正交方向得到的边缘进行合并得到了图像的最终边缘,实现边缘的检测。实验证明,乘积运算对噪声进行了抑制,阈值计算方法将噪声和边缘产生的极大值进行分割,从而找到合理的阈值进行阈值滤波。最后,将两个正交方向得到的边缘进行合并,得到了图像的最终边缘。
本文算法能够有效地检测出图像中的边缘并确定边缘的准确位置,同时,具有良好的噪声抑制能力。但是,本文算法对细节信息丰富的图片的处理效果还有待进一步提高,这将是今后的研究内容。
[1]徐建华.图像处理与分析[M].北京:科学出版社,1992.
[2]Marr D,Hildreth E.Theory of edge detection[C]//Proceedings of the Royal Society of London:Serues B Biological Sciences,1980:187-217.
[3]Berzins V.Accuracy of laplacian edge-detectors[J].Comput Vis Graph Image Process,1984,27:195-210.
[4]Canny J.A computational approach to edge detection[J].IEEE Trans on Pattern Anal Machine Intell,1986,PAMI-8:679-698.
[5]Schunck B G.Edge detection with Gaussian filters at multiple scales[C]//Proc IEEE Comp Soc Work on Comp Vis,1987:208-210.
[6]Khallil M,Aggoun A.Edge detection using adaptive local histogram analysis[C]//Proc IEEE ICASSP 2006,2006:757-760.
[7]Mallat S,Hwang W L.Singularity detection and processing with wavelets[J].IEEE Trans on Information Theory,1992,32(2):617-643.
[8]Tang Y Y,Yang L,Liu J.Characterization of Dirac-structure edges with wavelet transform[J].IEEE Trans on Sys Man Cybernetics:Part B Cybernetics,2000,30:93-109.
[9]钟敏,陈文静,蒋模华.S变换轮廓术中消除条纹非线性影响的方法[J].光学学报,2011,31(11):1-10.
[10]Stockwell R G,Mansinha L,Lowe R P.Localization of the complex spectrum:the S transform[J].IEEE Trans on Signal Processing,1996,44(4):998-1001.
[11]Stockwell R.Why use the S-transform?[J].American Mathematical Society,2007,52:279-309.
YANG Tao,SUN Guoxia,DUAN Xiuman
School of Information Science and Engineering,Shandong University,Ji’nan 250100,China
To reduce the effect of the noise on edge detection,an improved algorithm of edge detection is proposed based on S-Transform.The S-Transform(ST)is a time-frequency analysis tools and has ability to detect the singularities and irregular structures in signals which often carry the most important information in signals.In images,the singularities of the intensity indicate the edge.Multiplying the S-Transform coefficients in the adjacent frequencies can depress the noise and enhance the edges effectively,and then a method is proposed to calculate the proper threshold to find the real edge in the coefficients.Finally,a scheme is designed to synthesis the two edge maps obtained in two orthometric directions.A set of the experiments demonstrate the effective of the approach.
image processing;edge detection;S-Transform(ST)
针对边缘检测中存在的噪声敏感性问题,提出了一种基于S变换的改进型边缘检测算法。S变换是一种时频分析工具,它能够很好地检测信号的奇异性和非正则性,而在图像中,图像灰度的奇异性代表着图像的边缘。通过将S变换后相邻频率的系数进行乘积可以有效地抑制噪声,增强边缘,采用一个阈值计算方法对相乘后的S变换系数进行阈值滤波,整合来自两个正交方向的边缘得到最终的图像边缘。实验结果证实了该算法的有效性。
图像处理;边缘检测;S变换
A
TP391
10.3778/j.issn.1002-8331.1201-0036
YANG Tao,SUN Guoxia,DUAN Xiuman.Research of image edge detection based on S-Transform.Computer Engineering and Applications,2013,49(19):158-161.
山东省中青年科学家奖励基金(No.BS2010DX019);国家自然科学基金(No.61001180)。
杨涛,男,硕士研究生,主要研究领域为图像处理与分析;孙国霞,通讯作者,女,博士,副教授;段修满,男,硕士研究生。E-mail:yangtao0424@163.com
2012-01-06
2012-03-03
1002-8331(2013)19-0158-04
CNKI出版日期:2012-06-01http://www.cnki.net/kcms/detail/11.2127.TP.20120601.1458.051.html