一种基于数字图像处理的橡胶圈缺陷检测算法

时间:2011-06-21

  图像的边缘是指图像灰度值的不连续点或变化剧烈的点的集合,图像的边缘提取是模式识别中物体特征抽取的重要环节之一,基于梯度的传统边缘检测方法对图像的边缘检测研究已经取得了一些成果,但目前在实际检测中得到的边缘结果并不令人满意;并且随着计算机速度和存储的飞速发展,图像量化像素点宽度将越来越小,即使在边缘处,相邻像素灰度值的差异将越来越小,从而制约了建立在以梯度为原则的边缘检测算子的发展。橡胶圈边缘检测是要提取缺陷和背景的边界线。工业用橡胶圈在生产过程中不可避免地会出现各种各样的缺陷,例如切割不平、厚度不均、毛边和气泡等。本文以橡胶圈的气泡缺陷为例,提出了一种基于数字图像处理的混合边缘检测算法,并给出了分析过程与实验结果。

  1 算法研究

  目标图像一般都含有噪声,所以在边缘检测前必须进行图像预处理以消除噪声,然后再对其分别用Sobel算子和Canny算子进行边缘检测,把两者结果相加,即得到较好的检测效果。算法框图如图1所示。

  1.1 图像预处理

  橡胶圈图像在拍摄、存储、传送的过程中会受到噪声的污染,从而导致图像出现失真、模糊等退化现象。常用的滤波算法有均值滤波、维纳滤波、自适应中值滤波等。实验证明,自适应中值滤波能有效去除橡胶圈图像噪声,更为重要的是,在去除噪声的同时,自适应中值滤波还能保护图像细节。所以本文采用自适应中值滤波来进行图像预处理。实验效果如图2所示。

  1.2 边缘检测

  1.2.1 Sobel算子边缘检测

  边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显着变化通常反映了属性的重要事件和变化。这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。

  图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的和值来检测边界,通常是将边界定位在梯度的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。

  基于微分方法的边缘检测算子包括Roberts算子、Prewitt算子、Sobel算子、Laplacian算子、LoG算子等,其中前三者是基于一阶导数的边缘检测算子,后两者是基于二阶导数的边缘检测算子。在算法实现过程中,通过模板与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。一阶导数和二阶导数的不同在于,一阶导数认为值对应边缘位置,而二阶导数则以过零点对应边缘位置。

  基于微分方法的边缘检测算子中,Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘,检测水平和垂直边缘效果好于斜向边缘,定位较高,但对噪声敏感。Prewitt算子和Sobel算子是实践中常用的两种算子,两者都是利用像素点上下、左右邻点的灰度加权算法,根据在边缘点处达到极值这一原理来检测边缘。Prewitt算子实现起来更为简单,但在抑制噪声方面不如Sobel算子。Sobel算子能够较为地检测出边缘点,对噪声具有平滑作用,但检测出的边缘较宽。

  Laplacian算子是一种线性二阶微分算子,对噪声非常敏感,一般不直接用于边缘检测。LoG算子是Laplacian算子的改进方式,它选用Gaussian函数对图像进行平滑滤波,然后对平滑后的图像进行Laplacian运算。使用Laplacian算子是为了提供一幅能确定边缘位置的图像。

  Sobel算子是一组方向算子,从不同的方向检测边缘。方向算子是利用一组模板对图像中的同一像素求卷积,选取其中的值作为边缘强度,而将与之对应的方向作为边缘方向。

  其梯度为:

  一幅图像的3×3区域如图3所示,其中z是图像的灰度值,则Sobel算子模板如图4所示,用以实现上述梯度公式。

  Prewitt算子是平均滤波,而Sobel算子是加权平均滤波。在Prewitt算子中像素邻域与当前像素产生的影响是等价的,而Sobel算子中邻域像素与当前像素的距离有不同的权值,一般距离越小,权值越大。Sobel算子的权值2意味着通过增加中心点的重要性来达到一些平滑效果,由于引入了平均因素,因而对图像中的随机噪声有一定的平滑作用。Sobel算子是相隔两行或两列之差分,所以边缘两侧元素得到了增强,边缘显得粗而亮。

  实验证明,当阈值设为0.017时,用Sobel算子对橡胶圈缺陷检测效果。而上述其他算子均不能有效检测出橡胶圈图像的缺陷边缘。

  1.2.2 Canny算子边缘检测

  在图像边缘检测中,抑制噪声和边缘定位是无法同时满足的,边缘检测算法通过平滑滤波去除图像噪声的同时,也增加了边缘定位的不确定性;反之,提高边缘检测算子对边缘的敏感性的同时,也提高了对噪声的敏感性。Canny算子在抗噪声干扰和定位之间寻求折中方案。

  Canny算子边缘检测的基本原理是:采用二维高斯函数的任意方向上的一阶导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部极大值,以确定图像边缘。Canny算子是一种边缘检测算子,其实现检测图像边缘的步骤与方法如下:(1)选择一定的高斯滤波器平滑图像,抑制图像噪声,然后计算滤波后图像梯度的幅值和方向;(2)对梯度幅值应用非极值抑制,寻找图像梯度中的局部极值点,把其他非局部极值点置零以得到细化的边缘,再用双阈值算法检测和连接边缘,实现边缘提取。

  Canny算子边缘检测的三条准则是:

  (1)低误判率,既要尽可能地检查出真实的边缘,同时又要尽量避免检测中出现的虚假边缘;

  (2)高定位,即检测出的边缘位置要尽量接近真正的边缘位置;

  (3)对同一边缘要有低的响应次数,即同一边缘产生多个响应的概率要低。

  实验证明,当阈值设为0.08时,用Canny算子对橡胶圈缺陷检测效果。

  1.2.3 图像相加

  Sobel算子对灰度渐变的图像处理较好,这点在橡胶圈缺陷检测中得到了验证。Sobel算子对垂直和水平方向上的边缘有较好的检测结果,但对其他方向的检测效果一般,且对边缘的定位不是很准确,图像的边界宽度要大于或等于2个像素。

  Canny算子虽然是基于化思想推出的边缘检测算子,但实际效果并不一定。Canny算子也会将一些高频边缘平滑掉,造成边缘丢失。

  橡胶圈缺陷的灰度和橡胶圈的灰度非常接近,对比度较低,边缘两侧的灰度变化不明显。大量实验表明,Sobel算子和Canny算子对橡胶圈的缺陷检测有较好的效果,但又有些瑕疵,如果把二者检测结果相加,可以使两者的优势互补,能大大提高边缘检测的效果,取得令人满意的结果。

  2 实验结果与分析

  图5(a)为Sobel算子的边缘检测结果,图5(b)为Canny算子的边缘检测结果,图6为两者相加的结果。可以看出,由于橡胶圈缺陷部分和背景部分灰度非常相近,尽管分别采用了对灰度渐变处理效果较好的Sobel算子和边缘检测算子--Canny算子,但边缘检测的结果仍不是很理想。而图6所示的混合边缘检测结果要明显优于图5,缺陷边缘被清晰地分割出来,并且没有出现受到噪声干扰的伪边缘。

  本文讨论了橡胶圈缺陷检测算法,分析了几种常用算法的优缺点,提出了一种基于Sobel算子和Canny算子的混合边缘检测算法,并用Matlab软件进行了实验仿真,证明了其检测要高于传统的边缘检测算子。


  
上一篇:一个车用LED尾灯设计的新构想
下一篇:IPTV技术浅析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料