APP下载

一种基于支持向量机的金属表面缺陷检测方法

2021-09-06顾爱华,李玟函,王正乾,殷作好,叶凯宁,陈玉

软件工程 2021年8期
关键词:缺陷检测图像处理

顾爱华,李玟函,王正乾,殷作好,叶凯宁,陈玉

摘  要:针对金属表面缺陷检测中存在的图像失真、构造分类器精确度不高及系统计算量大的问题,现提出一种高质量的基于支持向量机的金属表面缺陷检测方法。采用形态学方法对图像进行预处理,通过融合GLCM与HOG特征提取到的结果建立较为完备的缺陷模型,便于后期构造高精度分类器。最后,利用OTSU算法进行阈值分割,通过计算连通分量个数等方法进行缺陷分析。相较于一般的缺陷检测方法,该检测方法准确率达到96.67%,提高了缺陷检测的效率。

关键词:缺陷检测;图像处理;SVM分类器

中图分类号:TP391     文献标识码:A

A Metal Surface Defect Detection Method based on Support Vector Machine

GU Aihua, LI Wenhan, WANG Zhengqian, YIN Zuohao, YE Kaining, CHEN Yu

(College of Information Engineering, Yancheng Teachers University, Yancheng 224002, China)

guaihua1978@163.com; liwenhan1127@163.com; 2794965946@qq.com;

2693704323@qq.com; 2506331929@qq.com; 7042799@qq.com

Abstract: Aiming at the problems of image distortion in metal surface defect detection, inaccuracy of construction classifier and large amount of system calculation, this paper proposes a high-quality metal surface defect detection method based on support vector machine. Morphological methods are used to preprocess the image, and a relatively complete defect model is established by fusing the results extracted from GLCM (Gray-level Co-occurrence Matrix) and HOG (Histogram of Oriented Gradient) features, which is convenient for constructing a high-precision classifier in the later stage. Finally, OTSU algorithm is used to perform threshold segmentation, and defect analysis is performed by calculating the number of connected components. Compared with general defect detection methods, the proposed detection method improves the efficiency of defect detection and its accuracy rate is as high as 96.67%.

Keywords: defect detection; image processing; SVM (Support Vector Machine) classifier

1   引言(Introduction)

在工業实际生产中,金属板质量检测的精确度和速度至关重要,传统的人工检测方法不仅消耗工厂大量的物力、财力,且检测结果带有强烈的主观性,并不可靠。现有的金属表面缺陷检测系统在图像处理时会使图像扭曲,造成不同程度的失真,对后期图像分割和缺陷识别产生较大影响。为解决上述问题,本文提出了一种基于支持向量机(Support Vector Machine,SVM)的金属表面缺陷检测方法。首先,在缺陷图像预处理时采用形态学的方法去除基线漂移,改善光照不均,通过融合灰度共生矩阵(GLCM)和方向梯度直方图(HOG)两种特征提取的结果,作为支持向量机(SVM)分类器训练模型;利用大津法进行图像分割,再通过腐蚀膨胀的方法去除引入杂点,最终使捕获到的缺陷分析准确率得到提高。

2   SVM模型构建(SVM model construction)

2.1   缺陷图像预处理

图像预处理是所有数字图像处理中的第一个步骤,也是关键的一步。该步骤处理图像的好坏直接影响接下来的图像分割及特征提取的准确率。传统的降噪方法包括中值滤波、高斯滤波等算法,但都无法在特定的需求下达到满意的效果。在特定的缺陷纹理分析中常用的是Gabor滤波器[1],但考虑到光源的照度不均,采集到的缺陷图像会有不同程度的曝光,因此本文利用数学形态学的方法去除图像中的灰度基线来改善图像受光不均的问题,同时滤除金属表面的各种微小噪声点。

数学形态学提供了一种有效的非线性信号处理方法,可以很好地保持信号的几何信息。本文采用直线型结构元素的数学形态学滤波器,直线型结构元素的宽度大于心电特征波形的宽度,使得这些特征波形都被滤除,只剩下基线漂移信号,再用原信号减去获得的基线干扰信号,就可获得滤除了基线漂移干扰后的心电信号。本文取宽度M=120(特征波形最大宽度×采样频率)的处理斑点效果和常用的Gabor滤波处理斑点效果进行对比,如图1至图3所示。采用数学形态学的方法另一方面还可以在保持图像边缘的情况下实现图像的去噪[2],提高后期SVM训练的准确性。

还有一种是在已知缺陷种类的基础上,通过观察法,利用不同缺陷的特性如灰度值、缺陷面积等信息,直接进行简单的缺陷分类。如本文要分辨的缺陷包括轧入氧化皮、斑点与划痕,对这三者进行最简单的直接差异分析就可直接提取缺陷。以缺陷面积为例,轧入氧化皮面积与斑点和划痕面积大小相比,面积最小呈现出来的是一个小斑点,而其他两类缺陷面积都较大。基于这一点可以快速区分轧入氧化皮缺陷,算法设计为:提取二值化图像的缺陷边缘信息,得到边缘长度,找到最长边缘与阈值大小进行比较,若比阈值大则是斑点或划痕,若比阈值小则为轧入氧化皮。

该方法可行性看似较高,但阈值的确定较为困难且具有主观性,对缺陷测试结果的准确性有一定的干扰。因此,本文并不提倡该方法。

2.2   缺陷图像特征提取

特征提取是从图像中获取所需的特定信息。图像的特征包括自身的亮度、边缘、纹理等。提取缺陷特征的方法有两种,一种是利用特定的简单缺陷特征直接对缺陷进行分类;另一种是利用HOG、LBP、Haar等一般特征提取的算法。一般纹理缺陷的特征提取大都采用HOG算法、LBP算法及GLCM算法[3]。HOG特征能够描述图像的边缘梯度信息,对于发生几何和光学变化具有一定程度的不变性[4]。LBP特征和GLCM特征都是常用的缺陷纹理提取算法,但LBP特征是基于结构的方法,而GLCM特征是基于统计数据的方法。若只采用其中任意一种方法进行缺陷特征提取,虽然可以提取到相应的特征信息,但是效果并不是很好,容易漏掉某些信息。本文采取GLCM和HOG特征提取融合的方法,用两种方法进行缺陷特征信息提取,以此来保证缺陷信息的完整性,提高后期SVM模型的分类准确性[5]。

灰度共生矩阵(GLCM)法,就是通过计算灰度图像得到它的共生矩阵,然后通过计算该共生矩阵得到矩阵的部分特征值,代表图像的某些纹理特征。灰度共生矩阵能反映图像灰度关于方向、相邻间隔、变化幅度等综合信息,它是分析图像的局部模式和排列规则的基础。算法实现步骤如下:

(1)灰度级压缩

为减小灰度共生矩阵的计算量,在计算灰度共生矩阵时,首先将图像灰度级压缩为16 个灰度级。进行灰度级压缩时,先将图片进行直方图均衡化处理,增加灰度值的动态范围,从而增加影像的整体对比度。

(2)计算特征值的参数选择(表1)

如表1求出四个方向矩阵的特征值后,可以通过计算四个特征值的平均值作为最终特征值共生矩阵。

(3)纹理特征值的计算与纹理特征影像生成

首先,计算单个窗口的灰度共生矩阵。接着,计算单个窗口的灰度共生矩阵特征值。求出单个窗口的灰度共生矩阵特征值后,再对这些特征值进行均值计算和方差计算。最后,滑动窗口。当一个窗口完成特征值计算后滑动到下一个像素,再一次开始计算该窗口的共生矩阵的特征值。当这一幅图像上的所有像素点都被遍历一遍后,此时的图像就变成了包含缺陷纹理特征信息的特征矩阵。

方向梯度直方图(HOG)特征是利用图像的局部梯度直方图构成缺陷的特征,通常用在计算机视觉和数字图像处理中,其基本步骤如下:

(1)检测图像梯度

图像梯度包括横向梯度和纵向梯度。计算图像所有像素不同方向上的梯度的常用方法为利用[-1,0,1]梯度算子对原图像做卷积运算,得到x方向的梯度分量;然后用[1,0,-1]T梯度算子对原图像做卷积运算,得到y方向的梯度分量;最后再计算像素点的梯度方向[6]。

(1)

(2)

(3)

(2)为每个细胞单元构建梯度方向直方图

首先将图像分成若干个单元格即cell,将cell的梯度方向需求分成若干个方向块即bins;然后对每个单元格内的像素投影到直方图中加权计算,即可得到每个细胞单元的梯度直方图。

(3)把细胞单元组合成块,块内归一化梯度直方图

因为图像的前景、背景在不均匀的光照范围下对比度的数值跨度非常大,所以就需要对梯度强度做归一化处理。归一化处理能够进一步对光照、阴影及边缘进行压缩,把对比度值的范围投影到合适的范围内。

(4)获取HOG特征

最后一步就是将检测窗口中所有重叠的块进行HOG特征的收集,并将它们结合成最终的特征向量供分类使用。

针对金属表面缺陷的结构特征和局部纹理特征,提取其HOG特征和GLCM特征并将二者进行融合。

2.3   构造SVM分类器

本文的样本数量在800 个左右。由于样本数量较少,选用支持向量机(SVM)算法得到的效果比其他分类学习的效果要好得多,故本文选择利用SVM算法进行监督学习,构造分类器[7]。构造SVM分类器就是先给一部分数据打上类别标签,让SVM模型使用这些打了类别标签的数据进行训练,然后给训练好的SVM模型新的无类别标签的数据,SVM模型就可以自动对这些新的数据进行分类。其原理是在多种不同类型的样本之间寻找一个超平面作为样本之间的分割面,从而达到精准分类。

用融合后的特征作为样本训练SVM分类器,用训练后的模型识别测试图像。当图像对比度较低,同时形态学与处理时的结构元素选取相对于缺陷的宽度而言较小,此时不能正确地增强缺陷区域,其分類可能会出现误差。通过计算测试图像的分类结果,本文提出的分类器对于测试图像总体分类准确性达到96.67%以上。采用单一的HOG特征作为训练样本,或使用简单缺陷特征提取作为SVM分类器的训练样本,与经过GLCM和HOG特征提取做出的SVM分类器分类效果对比如表2所示。

由表2可知,单一使用HOG特征作为SVM训练样本准确率偏低,而结合了GLCM特征以后的SVM分类器准确率提高了19.47%,相比于利用简单缺陷特征制作的分类器准确率提高了3.37%。

3   缺陷分析与检测(Defect analysis and detection)

3.1   阈值分割

图像分割是图像处理中不可避免的步骤之一,是进一步进行图像分析的基础。图像分割的目的是对图像进行标记,以分割的每一小块为单元,对同一单元内的像素赋予相同标记,不同单元内的像素标记不同,为后期图像分析提供了方便。

测试图像分割是利用图像预处理后的图像进行分割。在图像预处理中,本文对比了Gabor滤波和数学形态学方法的预处理效果。在阈值分割中,使用形态学预处理的大津法(OTSU)分割结果比基于Gabor滤波预处理的分割结果也要好得多。形态学预处理后得出的分割结果更准确,更加接近原始图像的缺陷区域,如图4和图5所示,原始图像如图1所示。

大津法图像分割是按照图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间类间方差越大,说明分割错分概率越小。为了满足小错分概率要求,在进行大津法分割之前,要先对预处理后的图像利用形态学的方法进行波谷检测,以保证大津法阈值分割的结果更加准确。而对于不同的缺陷类型,其波谷检测方法也不同。

由观察可知,轧入氧化皮缺陷和斑点缺陷所在的位置是图像中较暗的狭小区域,于是可直接利用数学形态法对预处理后的图像进行波谷提取。而划痕缺陷区域较亮,可以看作波峰,因此要先进行图像的灰度反转,将较亮的波峰变成较暗的波谷,然后再进行波谷提取。之后就可利用大津法进行图像分割,将阈值从0开始一直逐次增大到255,按阈值将图像分为背景(0)与前景(1)。对于每个阈值T(0≤T≤255),计算背景和前景像素点的灰度均值u0、u1和各占总像素点的比例w0、w1。计算全部像素点的灰度均值如下:

(4)

计算此时二值图的类间方差为:

(5)

选择使类间方差最大的阈值T(0≤T≤255),此时的阈值即为所求的最佳阈值。轧入氧化皮缺陷的原始图像和分割处理后的结果如图6和图7所示。

大津法分割图像虽然很好地保存了图像的缺陷信息,但会引入一些杂点。因此还需对分割后的图像进行先腐蚀再膨胀的开运算操作,从而去除大津法分割带来的噪声点。轧入氧化皮缺陷分割后含有杂点和去除杂点的效果如图8和图9所示。

3.2   缺陷分析

对于轧入氧化皮缺陷和斑点缺陷,利用图像分割的结果作为存在缺陷的目标区域,构造检测缺陷区域的函数,计算缺陷中心点坐标作为轧入氧化皮缺陷的位置信息,如图10所示;绘制缺陷区域边缘曲线的函数作为斑点缺陷的位置信息,如图11所示。通过计算轧入氧化皮缺陷和斑点缺陷图像分割后的提取连通分量个数,作为对应缺陷的个数信息。

对于划痕缺陷,为避免有的划痕较宽,则先利用细化操作降低检测误差,细化前和经过5 次细化操作的效果如图12和图13所示,再利用霍夫变换确定划痕缺陷的位置信息。

利用霍夫变换直线检测算法提取直线成分[8]。其大体思路如下:

对过点的直线建立坐标系,该直线在坐标系下的表达式为:

(6)

如果检测出参数a、b均相等的直线系,那么则相当于检测出了直线。当出现斜率a无穷大时,可以放在极坐标系中,过点的表达式则变为:

(7)

如果检测出参数均相等的直线系,那么则相当于检测出了直线。极坐标系下适用所有斜率的直线。因为划痕不一定是直线,有可能略带弯曲或者被分为多段短线(图14)。为解决弯曲和多段的问题,以横线为例,先剔除那些过短的线;再计算所有检测直线与y轴的夹角,若夹角大于某个阈值则是横线;计算每根线中点的坐标,将直线按中点y坐标由小到大的顺序排序,将检测到的第一根线作为直线累计初始状态,对所有直线进行遍历。接着判断相邻两直线的y坐标之差是否小于某阈值,若小于,则认为该直线与之前的累计直线属于同一根划痕,并继续进行累加;若y坐标之差大于某阈值,则认为该直线与下一个直线分属于不同的划痕,则计算前面类间直线端点坐标的最大值与最小值作为划痕的端点,求其长度并画图(图15),同时将累计的直线清零,重复上述操作。

4   结论(Conclusion)

本文提出了金属表面缺陷检测算法,本算法在小样本的情况下,通过去除基线漂移改善光照不均,以及融合灰度共生矩阵和方法梯度直方图两种特征,提高了图像特征检测的精确度,从而保证了支持向量机分类器的准确性。在图像预处理阶段,本算法依据现实存在的光照不均情况采用数学形态学的方法,通过去除基线漂移改善由照度不均引起的背景中的亮度变化,同时也可以滤除金属表面的各种微小噪声点。在图像分割时,采用了GLCM和HOG特征提取的方法,将二者融合后的特征信息作为接下来的SVM训练模型,经实验发现二者融合训练出来的分类器比只经过HOG特征训练的分类器精确度提高了19.47%。为了进一步提高缺陷检测的准确性,在图像阈值分割阶段,本算法在OTSU算法分割后的图像上再利用形态学腐蚀膨胀的方法去除噪声点,为接下来的缺陷分析提供良好的分析环境。最终检测到的缺陷位置、大小等信息结果更为准确,误差较小,因此本文提出的算法在工业缺陷分析与检测中具有实际的应用价值。

参考文献(References)

[1] LIU I Y, CHEUNG C F, SENIN N, et al, On-machine surface defect detection using light scattering and deep learning[J]. Journal of the Optical Society of America, 2020, 37(9):53-59.

[2] LIU M, CHI F C, FENG X, et al. Diamond machining of freeform-patterned surfaces on precision rollers[J]. International Journal of Advanced Manufacturing Technology, 2019, 103(3):4423-4431.

[3] COHN R, HOLM E. Unsupervised machine learning via transfer learning and k-means clustering to classify materials image data[J]. Integrating Materials and Manufacturing Innovation, 2021, 10(1):1-14.

[4] 占善华.一种新的特征融合人脸分类方法[J].电子世界,2020(20):100-101,104.

[5] 赵若晴,王慧琴,王可,等.基于HOG和GLCM混合特征的青铜器金文图像识别[J/OL].激光与光电子学进展,2020,57(12):1-13.[2021-05-13]. https://kns.cnki.net/kcms/detail/31.1690.TN.20191106.1202.040.html.

[6] 刘吉伟.面向水下鱼监控的视觉跟踪技术[D].大连:大连工业大学,2019.

[7] 尚晖.基于改进SVM的互联网用户分类[J].计算机系统应用,2021,30(04):266-270.

[8] 馮凯,王琦,于水源.基于合并短线段的直线检测方法[J].软件导刊,2021,20(04):220-225.

作者简介:

顾爱华(1978-),男,博士,高级实验师.研究领域:机器学习,软件工程与复杂网络.

李玟函(1997-),女,本科生.研究领域:数字媒体技术.

王正乾(2001-),男,本科生.研究领域:机器学习,软件工程.

殷作好(2000-),男,本科生.研究领域:机器学习,软件工程.

叶凯宁(2000-),男,本科生.研究领域:机器学习,软件工程.

陈  玉(1977-),男,博士,副教授.研究领域:深度学习,数字图像处理.

猜你喜欢

缺陷检测图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于电涡流原理的无损检测方案设计
超声波与特高频方法下的GIS局部放电检测技术分析
基于极限学习机的玻璃瓶口缺陷检测方法研究
基于图像处理的定位器坡度计算
基于图像处理的印品质量检测系统研究
基于机器视觉的O型圈质量检测智能系统开发