王柯赛;张洪
【摘 要】针对目前人工检测厚壁钢管端面缺陷存在的效率低、速度慢,且还会出现错检、漏检等问题,提出一种基于机器视觉的方法,实现对厚壁钢管端面缺陷的检测及分类.首先单独提取钢管倒角区域,利用最小二乘法对内外倒角包含的轮廓圆进行拟合,并根据欧式距离来判断倒角是否出现偏心的情况;其次提取钢管端面区域,并通过Otsu算法分割出缺陷区域,计算各联通域的特征描述并组成新的特征向量,使用支持向量机来判断缺陷类型.研究结果表明:该方法能准确检测出厚壁钢管的倒角是否偏心、端面是否存在各类的缺陷,且准确率达到96.7%,对一钢管端面的判断时间不超过100 ms,相比人工目测速度有明显的提高. 【期刊名称】《机电工程技术》 【年(卷),期】2019(048)002 【总页数】6页(P52-57)
【关键词】厚壁钢管;端面检测;缺陷分类;机器视觉 【作 者】王柯赛;张洪
【作者单位】广东工业大学,广东广州 510006;广东工业大学,广东广州 510006 【正文语种】中 文 【中图分类】TP751 0 引言
厚壁钢管和普通钢管的最大区别在于钢管壁的厚度,通常把钢管外径和壁厚之比小于20的钢管称为厚壁钢管,其主要用作液体气体输送管以及一些建筑结构用管。受加工过程中各种不确定因素的影响,钢管的端面可能会出现划痕、刮伤、凹坑、崩边等缺陷,且钢管端面的内外倒角还可能会出现偏心的情况。上述缺陷一方面影响了产品的外观,另一方面若缺陷过于严重,则会影响钢管后续的装配,从而降低了钢管的使用性能,且还会为工程的正常进行埋下安全隐患。[1]目前,国内钢管生产企业大多数为人工目视完成对钢管的缺陷检测及剔除,但是人工检测的效率低、速度慢,且还会出现误检、漏检的情况。
基于机器视觉的缺陷检测方法凭借其速度快、精度高、稳定性强等特点受到广泛关注[2]。对于钢管端面缺陷检测的方法目前研究报告很少,其类似于各种环形工件表面的缺陷检测,如轴承套端面、瓶口端面、磁环表面等。朱铮涛等[3]通过斑点分析工具及斑点特征参数,完成薄壁钢管端面的凹坑、倒角斜面变弧面等缺陷的检测,但该方法并不适用厚壁钢管,且该研究还需进一步划分端面缺陷的类型,以完成后续自动分拣的目的。而轴承端面、磁环表面的缺陷检测方法对于厚壁钢管端面缺陷检测具有一定的借鉴意义,但由于检测需求不同,在一定程度上并不适用。因此,针对当前端面检测方法的不足,提出一种适用于厚壁钢管端面缺陷检测的方法,以提高对厚壁钢管端面缺陷检测的效率和准确率。 1 图像采集系统设计
厚壁钢管端面缺陷检测图像采集系统主要由相机、镜头、光源、计算机及相应的算法程序等组成。为了获取易于检测的厚壁钢管端面图像,选择蓝色低角度环形LED光源,且工件端面与光源下底面的距离约为10 mm,目的是为了同时得到钢管端面内外倒角区域和端平面区域的图像。缺陷检测采集装置简图如图1所示。这样采集到的灰度图像中,倒角区域的灰度值接近255,即亮区域;端平面区域的灰度值接近0,即暗区域;而端平面中存在的缺陷区域的灰度值则处于倒角区域
和端平面区域的灰度值之间。图2为采集到的正品图像和端面包含缺陷的图像。 图1 缺陷采集装置简图Fig.1 Device of collecting the defects
图2 正品次品对比图Fig.2 Comparison between genuine and inferior products
2 厚壁钢管倒角偏心判断 2.1 图像平滑滤波处理
由于直接采集到的厚壁钢管端面图像会出现散粒噪声,因此使用邻域像素的非线性滤波会有很好的效果。中值滤波是一种典型的非线性滤波技术,其可以去除椒盐噪声的同时又能保留图像的边缘细节[4]。该研究选用5×5的函数窗口对原始图像进行滤波处理。其效果如图3所示。 2.2 倒角区域提取与拟合
图3 中值滤波效果图Fig.3 The effect of median filtering
经过滤波操作后,可以发现图像中倒角区域的灰度值明显要高于其他区域的灰度值,因此可以选用固定阈值的方法将倒角区域的图像提取出来,为了达到阈值选取相对准确的目的,通过计算图像的灰度直方图,观察其灰度分布情况,如图4所示。可以发现,倒角区域的灰度值集中分布在最右侧,即灰度值趋向于255,而端面区域及背景区域的灰度值则相对集中的分布在左侧,灰度值趋向于0~130之间,理论上可以选取灰度值在131~254这一区间的任意值作为阈值,但有时候倒角区域会因为表面光泽度等各种因素的影响而呈现一些小暗点,因此为了确保完整的提取出倒角区域,选择保守一点的固定的阈值α=190。将小于α的像素点灰度值变为0(黑色),将大于等于α的像素点的灰度值变为255(白色)。处理结果如图5所示。
图4 各类工件灰度直方图Fig.4 Histogram of various products
倒角区域由4个圆组成,为了判断倒角是否出现偏心的情况,需先对其进行圆拟
合操作。本研究首先选择由OpenCV库提供的findContours()函数检测4个圆的轮廓,再利用最小二乘法拟合圆[5]。
最小二乘法是一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配。假设需拟合的曲线为:x2+y2+ax+by+c=0,且其半径为R2,圆心坐标 为 (A, B) 图 像 轮 廓 点 集 中 的 点(Xi,Yi)i∈(1,2,3,…,N) 到 圆 心 的 距 离 为 di:,其与半径的平方差作为目标误差函数,求其最小时a,b,c的值。为实现该目的,需对目标函数求偏导,即
根据此方法拟合到的圆如图6所示。
图5 固定阈值分割图α=190Fig.5 Fixed threshold segmentation 图6 最小二乘法拟合圆Fig.6 Least squares fitting circle 2.3 判断倒角是否偏心
根据最小二乘法拟合后的圆的参数即4个圆O1、O2、O3、O4的圆心坐标以及半径R1、R2、R3、R4都已知。要判断倒角是否出现偏心的情况,通过计算相应两圆圆心的欧式距离,再与设定的阈值σ比较,若距离大于σ则判定为偏心。具体参照下公式:
根据合作企业的检测标准,不允许出现倒角圆心偏差超过0.5 mm,对应到像素上约为13个像素,因此选取设定阈值σ=13。 3 厚壁钢管端平面缺陷检测 3.1 端面圆环区域的构造
利用最小二乘法拟合的圆数据,单独的分离出钢管端平面的区域。记前述步骤计算的拟合圆的圆心坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),半径分别为r1、r2、r3、r4,且原始图像为 f(x,y)。则构造的端面区域图像M(x,y)如式(5)所示:
其中,用于构造端面圆环区域的圆心统一采用最大圆的圆心,即(x1,y1),为了消除钢管倒角轮廓边缘对于后续端面缺陷检测带来的干扰,进行了 μ个像素的缩进,文中 μ=10[6]。构造完的图像即为端面圆环的区域,若端面没有缺陷,则呈现为一种趋近黑色的图像,隐约可看到灰度值趋于0的圆环,如图7(a)所示;而若端面存在缺陷,则会有明显的亮的缺陷区域,如图7(b)所示。 图7 端面圆环区域构造图Fig.7 The circle area of the end face
为了快速判断端面区域是否有缺陷,将灰度值大于50的像素点认定为缺陷像素,若缺陷像素的总和大于120,则判定该端面存在缺陷。 3.2 缺陷区域图像分割
端面存在缺陷的图像,若仅仅用固定阈值的方法分割缺陷是有不足的,因为缺陷部分的灰度值本身并不一样,且这样并不能适用于不同的产品。因此为了适应各厚壁钢管端面间的差异,该研究采用Otsu法。
Otsu算法是由日本学者大津于1979年提出的一种灰度自适应的阈值分割算法[7]。其通过计算不同阈值对应的类间方差,而类间方差最大意味着错分概率最小,从而求得分割缺陷的最佳阈值。利用此算法分割后且去除噪声的效果如图8所示。 图8 Otsu分割、去除噪声图Fig.8 Effect of Otsu and removing the noise 3.3 缺陷信息特征量的提取
在分割出独立的缺陷信息后,计算各种缺陷的特征参数,本研究从形状特征、几何特征角度出发计算出缺陷区域的面积、周长、圆形度、长宽比、缺陷区域的占空比[8]以及缺陷区域的6个Hu不变矩特征。 缺陷区域的面积Area可由下式计算:
式中: f(x,y)表示的是缺陷区域(x,y)处的灰度值,因为本算法中应用到的是缺陷的
二值图像,故计算的f(x,y)值全部为1;Rd代表组成缺陷部分所有像素点的集合。 缺陷区域的周长Perimeter计算如式(7):
其中,Rb代表组成缺陷边界的像素点集合。 缺陷区域的占空比Vacancy计算如式(8):
其中,AreaM代表缺陷区域的最小外接矩形的面积。 缺陷区域的圆形度Roundness可由式(9)计算得到:
缺陷区域的长宽比LWRatio如式(10):
其中,LM代表缺陷区域最小外接矩形的长度,而WM代表缺陷区域最小外接矩形的宽度。对于细长类型的缺陷如划痕,其长宽比的值会与其他缺陷具有明显的区别。
矩特征主要表征了图像区域的几何特征,又称为几何矩,Hu矩是Hu在1962年提出的[9],由于其具有旋转、平移、比例不变性的特点,故能很好的适用于不同缺陷分类识别。图像 f(x,y)的 p+q阶矩mpq定义如下:
图像 f(x,y)的 p+q阶中心矩 μpq定义为:
图像 f(x,y)的 p+q阶归一化中心矩λpq可定义为:
该研究选取归一化后的6个中心矩,即M1、M2、M3、M4、M5、M6作为矩特征,其计算公式如下:
通过计算上述特征描述算子,共得到缺陷区域的面积、周长、圆形度、长宽比、缺陷区域的占空比以及6个Hu不变矩的特征参数,并将这11种特征参数从新组成一个11维的特征向量,作为后续识别分类需要的特征向量。部分缺陷样本的特征参数原始值如表1所示。
将表1中的一组数据反应到折线图中,如图9所示。可以发现,除了占空比和M1这两个特征值外,其余的特征值都呈现了一定程度的可区分性。其实针对占空比这一特征值来说,之所以在趋势图9中反应不出可区分性是因为图例中所选的纵坐标的值域范围跨度很大,若单独的分析占空比这一种特征值,可以发现崩边和凹坑的占空比值比较接近,且都大于擦伤和划痕的占空比,划痕的占空比值是最小的。总的来说,这些特征参数值对于每一种缺陷都具有一定的区分性,这也说明特征选择的合理性以及后续的缺陷分类识别过程具有可行性。
表1 部分缺陷样本原始特征值Table 1 The original eigenvalues of partial defect sample类别擦伤1擦伤2崩边1崩边2凹坑1凹坑2划痕1划痕2面积21 946 34 358 6 784 4 885 1 639 831 1 502 879周长1 656.9 2 639.8 501.9 464.4 1 873 108.9 552.3 598.9长宽比0.438 0.456 0.251 0.247 0.876 0.969 0.258 0.137圆度0.098 0.062 0.338 0.284 0.587 0.88 0.061 8 0.030 7占空比0.565 0.413 0.691 0.671 0.718 0.789 0.133 0.184 M1M2M3M4M5M6 0.277 0.384 9 0.354 0.348 0.177 0.159 1.61 3.062 3.48E-02 7.29E-02 9.10E-02 9.30E-02 1.92E-03 1.88E-05 2.08 8.89 8.60E-04 2.36E-02 3.62E-03 2.71E-03 1.67E-05 1.33E-07 4.71 5.3 2.66E-04 4.10E-03 1.66E-03 1.20E-03 2.63E-06 8.85E-12 3.09 4.43 1.28E-07 1.23E-05 4.06E-06 2.26E-06 1.59E-07 7.80E-21 1.15E+01 2.14E+01 1.34E-05-2.40E-04 4.66E-04 1.74E-04 5.71E-08-3.52E-17 3.93 1.28E+01
图9 各类特征参数值趋势图Fig.9 Trend diagram of various eigenvalues 3.4 基于支持向量机的钢管端面缺陷分类识别
支持向量机是在统计学原理基础上发展起来的一种统计学方法,起初是为了解决线性可分的两类问题,依照最大间隔的原则,计算出距离决策边界最近的支持向量,并尽可能的使这个距离达到最大,以此来优化求解出线性决策方程。后通过将低维数据映射到高维空间,解决了低维线性不可分的问题,并引入核函数,大大降低了高维空间直接计算内积的复杂性,因此很好地解决非线性分类的问题。常用的核函数为多项式、高斯核函数(RBF)、和Sigmoid型。研究通过对比线性核函数及高斯核函数(RBF)核函数[10]。并通过5折的交叉验证及网格搜索法[11]来确定高斯核函数中C和gamma的参数。以此来实现4种缺陷的分类识别。 4 实验与分析
实验测试运行环境:工业相机采用巴斯勒acA2500_14gm千兆网相机;镜头采用Computer M2514_MP2工业镜头;15度蓝色环形光源;处理器为Inter CORE i5 7300HQCPU。软件系统在Windows 10系统下设计,利用C++开发环境,图像处理算法都是基于OpenCV库函数来实现,图像的分辨率为1 296×972。 对于厚壁钢管倒角是否偏心的情况检测,由于其不涉及训练及分类识别,仅仅是根据固定的判据来判断,因此检测准确度可达到99%以上。
对于端面缺陷的检测,实验针对4种缺陷类型,每种缺陷选取了60个缺陷区域样本图,并从中随机选取30个来提取归一化后的11维特征向量进行训练,其余30个样本用于测试。故训练集共计120组特征向量,测试集共计120组特征向量。 在选用线性核函数时,利用网格搜索法对惩罚因子参数C作优化选择,在C值取不同的情况下分类准确率如图10所示。根据同样的样本,在选用高斯核函数时,同样利用网格搜索法对参数C和gamma进行调优,其分类准确率如图11所示。 图10 线性核函数对应准确率Fig.10 The accuracy of Linear kernel
图11 RBF核对应准确率Fig.11 The accuracy of RBF kernel
根据图10、11可知,线性核函数下当惩罚因子C=0.1时,分类准确率达到最高,准确率为85.8%;而选用RBF核时,在C=100,gamma=0.1的情况下准确率达到了96.7%,较线性核有很大的提升,且训练耗时并不会比线性核的情况下长很多。因此,笔者选择高斯核函数(RBF)作为最终SVM分类器的核函数。在对4类测试样本共计120组特征向量进行测试后,其分类结果混淆矩阵如表2所示。 表2 通过SVM的测试集分类结果Table 2 The results of classification according to SVM类别擦伤凹坑崩边划痕综合准确率擦伤30崩边 划痕0 1 2凹坑0 29 0 0 0 1 2 9 0 0 0 0 2 8准确率/%100 96.7 96.7 93.3 96.7
从表2中,可以看出利用11维特征向量作为SVM的输入可以实现厚壁钢管端面缺陷的分类,其综合准确率可以达到96.7%。其中,对擦伤缺陷的分类效果最好,对划痕缺陷的分类准确率最低,且划痕容易误分类为擦伤,因为有的划痕并不只是一条痕迹,还可能包含两三条痕迹,而擦伤看起来更像是大面积的划痕,在两者之间过渡区有可能会产生误分类的情况。在实际样品图像的检测中,还应对图像处理相关操作做进一步的研究,以免为了达到同时检测出端面全部缺陷的目的,在运用相关的图像处理方法如形态学操作、滤波操作等时可能会改变缺陷本身的一些特性,甚至会将缺陷遗漏,以致出现漏检的情况。对于端面全部缺陷的检测效果如图12所示。
图12 端面缺陷检测结果图Fig.12 The results of detecting the defects 5 结束语
提出一种基于机器视觉的厚壁钢管端面综合缺陷的检测方法,不仅实现了对厚壁钢管端部倒角是否偏心的判断,还选用基于高斯核函数的SVM分类器,实现了对厚壁钢管端平面区域缺陷的检测、识别和判断,且准确率达到96.7%。对于一副完整的钢管端面图像的判断速度在100 ms以内,完全满足企业自动化质检过程的要
求,不仅为以后的实际在线检测技术打下理论基础,还对相似环形产品的检测提供重要的参考依据。 参考文献:
【相关文献】
[1]王恒迪,李莎,杨建玺,等.轴承端面缺陷的视觉检测方法[J].轴承,2016(3):60-63. [2] YANG C,LIU P,YIN G,et al.Defect detection in magnetic tile images based on stationary wavelet transform[J].Ndt&E International,2016(83):78-87.
[3]朱铮涛,姚钦,张宏.薄壁管端部缺陷视觉检测算法研究[J].机床与液压,2010,38(7):35-38.
[4]冈萨雷斯,等.数字图像处理:英文版[M].北京:电子工业出版社,2010.
[5]霍建亮,曾翎,王德胜,等.基于最小二乘法改进的随机圆检测算法 [J].光电工程,2011,38(5):145-150.
[6]王玉槐,贾虹,陈永清,等.基于机器视觉的磁环端面缺陷检测 [J].图学学报,2010,31(5):63-68.
[7] OTSU N.A Threshold Selection Method from Gray-Level Histograms[J].IEEE Transactions on Systems Man&Cybernetics,1978,9(1):62-66.
[8]沈昱明,杨征兵.机器视觉在铜带表面缺陷检测系统中的应用[J].电子测量技术,2010,33(4):65-67.
[9]HU M K.Visual pattern recognition by moment invariants[J].Information Theory Ire Transactions on,1962,8(2):179-187.
[10]FAN M,WEI L,HE Z,et al.Defect inspection of solder bumps using the scanning acoustic microscopy and fuzzy SVM algorithm [J].Microelectronics Reliability,2016(65):192-197.
[11]邓蕊,马永军,刘尧猛.基于改进交叉验证算法的支持向量机多类识别[J].天津科技大学学报,2007,22(2):58-61.
因篇幅问题不能全部显示,请点此查看更多更全内容