图像挖掘中Canny和Sobel边缘检测算法的性能分析
摘要: 边缘检测是指对图像中尖锐不连续点进行识别和定位的过程。因此,边缘检测是图像分析中的一个重要步骤,是解决许多复杂问题的关键。边缘检测是大多数图像处理应用中的一个基本工具,用于从帧中获取信息,作为特征提取和目标分割的先导步骤。边缘检测技术已经广泛应用于物体识别、目标跟踪、分割、数据压缩提取以及图像重建等匹配领域。边缘检测方法利用图像灰度的变化将原始图像转换为边缘图像。本文采用两种边缘检测算法即Canny边缘检测算法和Sobel边缘检测算法对用于人脸检测的人脸图像进行边缘提取。通过对性能因素即精度和速度的分析,找出哪种算法效果更好。实验结果表明,Canny边缘检测算法优于Sobel边缘检测算法。
关键词: 图像挖掘,人脸检测,边缘检测,Canny,Sobel
绪论
人脸识别被定义为从数字图像中自动识别和验证人脸的过程。人脸识别就是其中的一个重要应用,其中边缘检测起着关键作用。面向安全应用的计算机人脸识别系统是一个被广泛研究的课题,因为人脸特征为用户提供了唯一的生物特征识别身份。人脸识别系统是基于目标识别和跟踪技术的。目标识别的重要步骤之一是成功地进行边缘识别和提取。
边缘检测是一种重要的图像处理技术,具有广泛的应用前景。在过去的几十年中,边缘检测算法已经被开发出来,但是没有一种算法可以适用于所有类型的应用。边缘检测技术的一个主要应用是在图像分割和目标检测的过程中。边缘映射有助于将人脸表示为单个单元。边缘检测系统有广泛的应用,如图1所示。
常见边缘有如下几种:
- 凸屋顶边缘(Convex roof edge)
- 凹屋顶边缘(Concave roof edge)
- 凹斜边(Concave ramp edge)
- 梯形边(Step edge)
- 条形边(Bar edge)
边缘检测一般包括滤波、增强和检测三个步骤。
- 滤波(Filtering): 一些主要的经典边缘检测器对于高质量的图像能够很好地工作,但是对于噪声图像往往不够好,因为它们不能区分不同意义的边缘。噪声是原始图像上不可预知的污染。噪声有多种类型,但研究最广泛的有白噪声(white noise)和椒盐噪声(salt and pepper)两种。对于椒盐噪声,图像中的像素在颜色或强度上与周围的像素非常不同;最明显的特征是噪声像素的值与周围像素的颜色没有关系。一般来说,这种类型的噪声只会影响少量的图像像素。经过分析,图像包含了黑点和白点,因此有了椒盐噪声这个词。
- 增强(Enhancement): 数字图像增强技术涉及到提高数字图像的质量。增强技术的主要目标是生成一幅比原始图像更好、更合适的图像。线性滤波器已经被用来解决许多图像增强的问题,但并不是所有的图像锐化问题都能通过使用线性滤波器得到满意的解决。
- 检测(Detection): 图像中的许多点都有一个非零的梯度值,但并不认为所有这些点都是特定应用的边缘。应该使用一些方法来确定这些点是否是边缘点。
文献综述
Zolqernine Othman 等在文献[1]中讨论了Canny算法能够产生与光滑连续像素和细边缘同样好的边缘。与canny边缘检测方法相比,Sobel边缘检测方法不能产生光滑细小的边缘。但是和其他方法一样,Sobel和Canny方法对噪声像素也非常敏感。有时候所有的噪声图像都无法完全滤除。未去除的噪声像素会影响边缘检测结果。分析结果表明,在Sobel和Canny边缘检测算法之间,Canny边缘检测算法比Sobel边缘检测算法的检测效果要好。
M Sudarshan 等在文献[5]中提出了一种适合于人脸识别任务的优化边缘检测算法。该方法的主要思想是对有意义的边缘进行增强,然后应用逐次细化算法。与其他基于梯度的方法相比,该方法的两个优点是能够更精确地发现缺失和断裂的边缘,并且能够抑制不太重要的边缘。未来可能的工作是改进细化算法,使其能够更有效地抑制后处理阶段的噪声。
文献[9]中,Soumya Dutta 等人在不同的图像上测试了所提出的方法。结果稳定,效果较好。通过对不同类型的实际图像进行一致的可接受输出,证明了该方案的健壮性。因此,所提出的方法可能对任何计算机视觉任务都很方便,其中提取边缘映射(edge map)是需要提取大量图像的特征提取或任何其他工作。下一步将比较这些算法和提出的算法,并根据计算时间、执行复杂度和系统输出的准确性等参数分析其性能。
研究方法
边缘检测过滤掉无效数据、噪声和频率,同时保留图像的重要结构特征。边缘映射是表示人脸图像及其特征的常用方法之一。本文通过对边缘检测算法的比较,找出Sobel边缘检测算法和Canny边缘检测算法的优缺点。方法如下:
- 数据集——可供收集的面部图像
- 边缘检测
- Canny
- Sobel
- 边缘检测算法中的最佳技术
- Canny
Canny边缘检测
Canny算子是最常用的图像处理工具之一,它能以非常有力的方式检测边缘。Canny算子边缘检测被广泛认为是行业标准的边缘检测方法。Canny将边缘检测问题看作是一个信号处理最佳化问题,因此建立了一个优化的目标函数。这个问题是一个相当困难的指数函数,但是Canny找到了许多方法来近似和优化边缘搜索问题。Canny算子的步骤如下:
- 用二维高斯平滑图像。在大量的情况下,二维高斯函数的计算代价是昂贵的,所以它是由两个一维高斯函数估计的,一个沿x方向,另一个沿y方向。
- 取图像的梯度。其显示了强度的变化,表明了边缘的出现。可以得到两个结果,x方向的梯度和y方向的梯度。
- 非极大抑制(non-maximal suppression)。边缘在梯度最大的点上。因此,在一个极大值处的所有点都不应该被抑制。为了方便这一点,对于每个像素计算梯度的大小和方向。之后,每个像素检查梯度的大小是否大于一个像素的距离,无论是正方向或负方向垂直于梯度。如果该像素不大于两者,则抑制该像素。
- 边缘阈值。Canny算子使用的阈值方法被称为滞后(hysteresis)。它既利用了高阈值又利用了低阈值。如果像素的值高于高阈值,则将其设置为边缘像素。如果一个像素的值高于低阈值并且是边缘像素的邻居,那么它也被设置为边缘像素。如果像素的值高于低阈值,但不是边缘像素的邻居,则不将其设置为边缘像素。如果一个像素的值低于低阈值,则永远不会将其设置为边缘像素。
Canny算子的一般算法分为5个步骤:
- 平滑:为消除噪音而模糊(blurring)图像;
- 查找梯度:图像的边缘应该标记在梯度大的地方;
- 非极大值抑制:只有局部最大值应标记为边缘;
- 双阈值分割:通过阈值分割来确定潜在的边缘;
- 边缘跟踪:最后的边缘是通过抑制所有(没有连接到一个非常确定(强)的边缘的)边缘来确定。
Sobel边缘检测
Sobel方法被用来进行边缘检测。Sobel边缘检测器使用两个3x3大小的掩模(mask),一个估计x方向的梯度,另一个估计y方向的梯度。掩膜滑过图像,一次处理一块正方形区域像素。该算法首先计算图像各点的灰度梯度,然后给出由亮到暗逐点增加图像灰度的方向。边缘区域表现出强烈的反差,颜色较深或较亮。
Sobel算法使用一种叫做卷积的数学过程,通常分析空间上数字的导数或二阶导数。我们实现了Sobel方法的边缘检测,这是基于一个3乘3阵列,移动到主图像。
Sobel卷积核的设计,以响应的边缘垂直和水平为目的。这些掩膜都与图像进行卷积。计算水平和垂直梯度(Gx和Gy),然后合并以找出每个点上梯度的绝对幅值和梯度的方向。这些数字用来计算边缘的幅值:
$$|G| = \sqrt{Gx^2 + Gy^2}$$
实验结果
精确度测量
下表显示了各种边缘检测算法的精确度。混淆矩阵是一种特定的表布局,它允许算法性能的可视化。矩阵的每一列代表预测类中的实例,而每一行代表实际类中的实例。一个混淆表可以用两行两列来报告假阳性、假阴性、真阳性和真阴性的数量。
算法 | 混淆矩阵 | |
---|---|---|
精确度(%) | 矩阵 | |
Sobel | 75% | 4 0 2 2 |
Canny | 87.5% | 6 1 0 1 |
从表1中对边缘检测算法的精度度量的分析来看,与Sobel边缘检测算法相比,Canny边缘检测算法的性能更好。
算法 | 用时(秒) |
---|---|
Sobel | 34.9 |
Canny | 34.7 |
从表2中对边缘检测算法的精度度量的分析来看,与Sobel边缘检测算法相比,Canny边缘检测算法检测时间更短。
结论
由于边缘检测是目标识别的早期步骤,所以了解边缘检测技术之间的差异是很重要的。通过图像的边缘来表示图像的优点是减少了需要存储的数据量,同时保留了大部分图像信息。传输图像或多媒体中的边缘像素会导致大量压缩,并且存在基于边缘图重建整个图像的非常可靠的算法。本文通过一组图像对各种边缘检测技术的相对性能进行了研究。已经观察到,与Sobel边缘检测算法相比,Canny边缘检测算法在边缘检测和执行时间方面产生了更高的精度。
参考文献
[1] Zolqemine Othman, habibollah haron, mohammed rafiq, abdul kadir, “Comparison of canny and Sobel edge detection in mri images”.
[2] Mike heath, y sudeep sarkar, thomaz sanocki.z and kevin bowyery “Comparison of edge detectors a methodology and initial”, Study computervision and image understanding vol. 69, no. 1, january, pp. 38–54, 1998.
[3] Mohsen sharifi, mahmoud fathy, maryam tayefeh mahmoudi “A classified and comparative study of edge detection algorithms” Proceedings ofthe international conference on information technology: coding and computing ieee (itccí02) 0-7695-1506-1/02.
[4]Mitra basu, senior member, ieee “Gaussian-based edge-detection methods—A survey”, ieee transactions on systems, man, and cybernetics—partc: applications and reviews, vol. 32, no. 3, august 2002.
[5] M sudarshan*, p ganga mohan and suryakanth v gangashetty “Optimized edge detection algorithm for face recognition”.
[6] G.t. Shrivakshan dr.c. Chandrasekar “A comparison of various edge detection techniques used in image processing”, ijcsi international journal ofcomputer science issues, vol. 9, issue 5, no 1, september 2012 Issn (online): 1694-0814.
[7] Pinaki pratim acharjya, ritaban das & dibyendu ghoshal “Study and comparison of different edge detectors for image segmentation”, GlobalJournal of Computer Science and TechnologyGraphics & VisionVolume 12 Issue 13 Version 1.0 Year 2012
[8] Peter Wilkins, Paul Ferguson, Alan F. Smeaton and Cathal Gurrin, “Text Based Approaches for ContentBase Image Retrieval on Large ImageCollections”, Department of Strategic Technology Korea Telecom research Center, Department of Computer Science Korea University, Seoul 137-792, Korea, 1995.
[9] Soumya Dutta Bidyut B. Chaudhuri International Conference on Advances in Recent Technologies in Communication and Computing 978-0-7695-3845-7/09 $25.00 IEEE 2009.
[10] Gonzalez G. Hemantha Kumar Tian Jipeng “Different Edge Detection Algorithms Comparison and Analysis on Handwritten Chinese CharacterRecognition”, International Journal of Computer Applications (0975 – 8887) Volume 47– No.17, June 2012.
[11] Dr. S.K. Mahendran “A Comparative Study on Edge Detection Algorithms for Computer Aided Fracture Detection Systems”, InternationalJournal of Engineering and Innovative Technology (IJEIT) Volume 2, Issue 5, November 2012.
[12] Rajwinder Kaur, Monika Verma, Kalpna, Harish Kundra “Classification Of Various Edge Detectors”.
[13] S.Lakshmi, Dr.V.Sankaranarayanan “A study of Edge Detection Techniques for Segmentation” Computing Approaches IJCA Special Issue on”Computer Aided Soft Computing Techniques for Imaging and Biomedical Applications” CASCT, 2010.
[14] Vineet Saini, Rajnish Garg “ A Comparative Analysis on Edge Detection Techniques Used in Image Processing”, Journal of Electronics andCommunication Engineering (IOSRJECE) PP 56-59,2012.
原文信息 Vijayarani, S., and M. Vinupriya. “Performance analysis of canny and sobel edge detection algorithms in image mining.” International Journal of Innovative Research in Computer and Communication Engineering 1.8 (2013): 1760-1767.