基于机器视觉的汽车零件涂装缺陷检测方法
2021-09-17周鼎贺宋志峰林富生余联庆史正倩程泽
周鼎贺,宋志峰,林富生,余联庆,史正倩,程泽
(武汉纺织大学机械工程与自动化学院,湖北省数字化纺织装备重点实验室,三维纺织湖北省工程研究中心,湖北 武汉 430200)
随着汽车行业不断发展,汽车零件涂装工艺及质量受到越来越多的关注。工艺水平以及现场生产环境的不确定性等因素会造成涂层表面产生不同程度的缺陷,尤其是在涂装零件表面的孔洞边缘处,经常会由于表面形状发生变化或孔洞周围存在油污,造成如图1所示的破损、漏膜等情况,对零件的使用寿命造成影响。针对这一情况,人们对孔洞边缘的缺陷检测进行了一些探索。王爱芳等[1]基于自适应生长区算法对图像进行分割,判断孔洞边缘是否存在缺陷,提取准确率为75.16%,但该算法速度较慢。王雪梅[2]利用神经网络对孔洞周围的涂装缺陷进行分类检测,对缺陷进行了合理分类,但提取准确率并未提高。骆亚微[3]通过图像分割,改善了分水岭算法和Canny算子不连续的情况,进一步提高了识别准确率,但花费时间较长,不利于工业上的快速检测。
图1 涂装缺陷Figure 1 Coating defects
本文在现有工作基础上提出了一种新的检测方法,在保证检测精度的前提下,进一步减少检测所需时间,提高检测效率。首先采取不同的光照方式与光源进行实验,得到合适的图像采集方案;然后通过对比不同的孔洞定位拟合方法对孔洞进行快速定位及拟合缩短检测时间;再使用快速傅里叶变换,在频域内构建高通滤波器进行滤波与卷积,利用傅里叶逆变换转回空间域从而消除噪声,保留缺陷特征;最后使用阈值分割与特征提取,提取出缺陷区域。
1 检测平台的搭建
基于机器视觉的涂装缺陷检测主要包括涂装图像的采集和处理两部分。
1.1 涂装图像的采集
图像采集系统一般由工业CCD相机、图像采集卡、照射光源、输入输出设备等组成[4],采用侧向照明,其总体结构如图2所示。
图2 涂层缺陷检测系统Figure 2 System for detecting defects of coatings
1.2 光源实验
在工业图像采集的过程中常用的光源类型有钨丝灯、卤素灯、荧光灯、镁氖灯和LED光源灯[5],其中LED光源具有较快的响应速度和较高的可靠性,因此以其作为试验光源。
为了更好地捕捉黑色涂装零件表面的缺陷,增强对比度,选取冷白色温6 500 ~ 7 500 K的LED白色光源,并且通过使用光源控制器来寻找合适的光源亮度。通过不同的光源配合侧向的打光方式可满足尽量减少表面反光的要求。针对同一涂装零件表面成像效果的分析见表1。
表1 不同形状的LED光源的成像效果Table 1 Imaging effects of different types of LED light sources
为了进一步观察不同光源对图像采集时的影响,截取40组圆环周围100像素 × 100像素的样本计算光照有效性。其过程如下:
(1) 按式(1)计算该区域内3个颜色分量的平均值Igray(i,j)。
式中(i,j)为某点像素的坐标,R(i,j)、G(i,j)和B(i,j)分别为红色分量、绿色分量和蓝色分量。通过Halcon软件内的get_gray_val算子获得目标区域的灰度值,并通过decompose算子实现R、G、B三通道分离,从而得出目标区域内的各颜色分量数值。
(2) 按式(2)计算光照有效性η。
式中σ iσ j为像素点个数。如图3所示,4种光源下的光照有效率均大于0.2。环形光源的光照有效率分布在0.55附近,不同区域的波动幅度较大,对于图像特征的采集可能会出现缺漏。条形光源在主要照射区域的光照有效率较高,在0.6附近,但对于附近区域的采集性较差,只有0.25。平面光源的光照有效性较高,在0.65附近,且对图像区域的采集比较平均。同轴光源虽然对各个区域的采集性较好,但有效率只有0.2,整体偏低。为了获得更好的图像采集效果,选取平面光源作为主光源进行图像采集。
1.3 圆环的拟合及定位
为了检测零件表面各圆孔周围是否存在缺陷,首先要对零件表面的圆孔进行识别定位,在识别到圆孔之后,再对周围区域进行缺陷检测,进一步缩小检测区域以缩短检测时间。其次,经过边缘提取和双阈值轮廓寻找,可以初步寻找到零件表面圆孔的大致轮廓与离散的空间点;最后为了更好地寻找圆轮廓,利用迭代加权最小二乘法将空间上离散的点与残缺的圆轮廓进行拟合。
1.3.1 亚像素边缘提取
对图像进行边缘提取,从而得到物体表面各个位置的轮廓,为后续对圆环的定位以及圆环周围缺陷的检测奠定基础。基于Sobel算子与Canny算子的边缘提取能够较为准确地提取出图像待检边缘及骨架,其具体过程如下:
设其一阶水平、竖直的2 × 2卷积模板为Tx、Ty为:
利用矩阵对图像像素点进行卷积:x
Γ、yΓ为该像素点水平与竖直方向的梯度,其幅值Γ(x,y)与方向α分别为:
Sobel算子对计算出的水平梯度与竖直梯度进行加权叠加,计算出整体方向的梯度;而Canny算子在计算规定方向的梯度基础之上,对其他的梯度方向进行非最大抑制,保证了单一边缘响应的良好性,可以更好地提取图像边缘细节。
经过亚像素边缘Sobel算子与Canny算子提取后,图像边缘如图4所示,可见Canny算子对此涂装零件的边缘提取有较好的适应性,因此最终选择了Canny算子进行边缘提取。
图4 Canny算子(a)和Sobel算子(b)边缘提取Figure 4 Edges extracted by Canny arithmetic (a) and Sobel arithmetic (b)
1.3.2 迭代拟合
由于圆环轮廓附近无关影响点较多,在进行拟合时影响较大,对每个像素点引入权重函数ϖ()δ,弱化远距离点对圆环轮廓拟合的影响。而权重函数ϖ()δ的计算需要在得到拟合图形的方程上进行,因此需要利用多次迭代拟合后进行距离的计算来定义权重函数,这些权重用于后续的迭代过程。
首先利用最小二乘方程m(f)对二维平面的离散点集Δ(x,y)进行n阶拟合。其结果如图5所示,由图可知拟合的阶数越大,处于拟合曲线上的离散点越多,但曲线越曲折,不利于后续圆的拟合,因此在保证一定数量的离散点处在拟合曲线之上后,应尽量降低拟合的阶数,经实验选取n= 3。
图5 n阶拟合曲线Figure 5 n-order fitting curves
1.3.3 加权拟合
利用Huber权重函数ϖ1()δ和Tukey权重函数ϖ2()δ对空间离散点集ϒ(x,y)进行圆的拟合实验,其结果如图6所示。该拟合的有效性见图7。
图6 Huber函数(a)和Tukey函数(b)拟合试验Figure 6 Fitting experiments of Huber function (a) and Tukey function (b)
图7 Huber函数与Tukey函数拟合的有效性Figure 7 Fitting effectiveness of Huber function and Tukey function
由于拟合圆轮廓的大部分轮廓已经得到,因此采用Huber权重函数对该圆环提取模型的适应性较好,提取结果如图8所示。
图8 Huber函数拟合圆Figure 8 Circle fitted based on Huber function
1.3.4 分割感兴趣区域(ROI,region of interest)
为了进一步减少无关区域对缺陷检测的影响,以已定位拟合的圆环为内圆向外扩大,形成如图9所示的同心圆环ROI区域,从而减少检测区域,缩短检测时间。
图9 ROI区域分割Figure 9 Segmentation of ROI region
1.4 图像预处理
由于实际生产环境的复杂性,即使设计应用了相应的光学系统来减少孔洞周围的反光,但噪声的出现仍不可避免[6],在保留特征而不损失细节信息的前提下,在频域内使用非线性滤波器对原始图像进行光照平衡处理,进一步减小反光对缺陷检测的影响。
1.4.1 使用非线性带阻滤波器去噪
首先通过傅里叶变换将数字图像信号转入频域:
其中f(x,y)为图像矩阵,x、y为图像的行列坐标,F(u,v)为f(x,y)的频谱。
同一光照下,图像信号s(x,y)由入射光k(x,y)和反射光l(x,y)两部分组成[7],通过傅里叶变换将图像信号传入频域:
图像经过傅里叶变换后,频域特性也是由入射光k(x,y)和反射光l(x,y)决定,其中l(x,y)主要体现缺陷的具体位置[8]。
其次,在频域内构建滤波器并进行卷积积分:
G(u,v)为经过傅里叶变换后频域中的卷积函数,其中传递函数如式(11)所示。
其中E0为终止频率,当u0=v0=0时E0=E。通过改变传递函数使高频通过、低频消除,在不损坏图像缺陷边缘的前提下去除影响噪声:
其中lh扩大高频部分所乘系数,ll为降低低频部分所乘系数,λ为锐化系数。由于最终的滤波器要使得高频通过、低频阻隔,因此需要lh>1、ll<1才能达到减弱孔洞周围亮度的目的。利用MATLAB对不同终止频率下的非线性带阻滤波器进行构建,如图10所示。
图10 不同终止频率下的带阻滤波器Figure 10 Band stop filters at different cut-off frequencies
最后将处理后的频域信号反傅里叶变换转回时域:
经过不同终止频率滤波器处理后的涂装零件表面如图11所示。对比4种终止频率滤波器对图像处理的结果可以发现E0= 10时最大程度地保留了缺陷细节,并减少了光照影响,因此最终选取E0= 10。
图11 不同终止频率下的滤波处理孔洞表面图像Figure 11 Images of hole surface filtered under different cut-off frequencies
1.5 图像分割
1.5.1 阈值分割
对预处理之后的图像进行阈值分割可以有效地将缺陷区域与背景分割开[9]。首先利用Halcon软件自带的Image助手观察图12所示的灰度分度直方图,发现存在分离明显的波峰图,因此采用binary_threshold算子,由Halcon计算出合适的阈值进行阈值分割;然后对阈值分割后的图像进行如图13所示的形态学处理;最后进行边缘提取,拟合相邻XLD曲线,便于后续特征提取。
图12 灰度直方图Figure 12 Gray histogram
图13 阈值分割与形态学处理Figure 13 Threshold segmentation and morphological processing
1.5.2 缺陷提取
由于缺陷出现的区域以及缺陷的长、宽、灰度等特征均具有随机性,因此选取面积作为缺陷特征提取的要素,使用select算子对area参数为50 ~ 9 999内的缺陷特征进行提取,提取结果如图14所示。
图14 不同零件的缺陷提取Figure 14 Defect extraction of different parts
2 结果与讨论
2.1 检测精度分析
为了进一步对该算法的检测精度、稳定性与可靠性进行验证,利用相机对零件进行随机抽样采集,按照上述方法对采集到的图片进行实验验证。实验样本为100组,从1到100进行编号。为了检验算法的正确性,1−10号全部为不合格产品,11−20号全部为合格产品,21−100号中包括合格产品与不合格产品各40件。1−10号以及11−20号样品的检测结果均正确,21−100号试验样品的检测结果与检测用时见表2。
表2 随机样本的检测结果Table 2 Detection result of random samples
2.2 可靠性与稳定性分析
在实际生产环境中,灯光等因素可能会对检测过程产生影响。为了检测该算法的稳定性与可靠性,在略微不同的环境下对1−10号试验样品和11−20号实验样品进行50次重复性实验。从表3和表4可见,该算法对不同环境的适应性较好,不合格产品的检测成功率平均达到99.4%,合格产品的检测成功率平均达到99.6%。检测用时如图15所示,单幅图像的缺陷检测平均用时为320 ms,单个零件检测平均用时为3.6 s,检测效率与传统人工检测相比提高了40%,满足工业生产需求。
图15 检测用时统计Figure 15 Statistics of testing time
表3 不合格产品的检测稳定性Table 3 Stability of test results for unqualified product
表4 合格产品的检测稳定性Table 4 Stability of test results for qualified products
3 结论
传统人工检测汽车涂装零件缺陷存在效率和检测精度较低、人工成本较高等问题。为了检测汽车零件表面孔洞边缘的涂装缺陷,改进了基于机器视觉的涂装缺陷检测方法,并对实际生产中的涂装零件缺陷进行了检测与分析。
使用平面光源、CCD(电荷耦合器件)相机、数据采集卡和上位机搭建起图像采集系统,实现了涂装零件图片的采集。采用Blob(连通域)分析、阈值分割等方法,实现了对涂装缺陷的检测。另外,搭建了一种非线性滤波器来减小光照对图像处理的影响。利用Huber迭代加权的圆拟合方式实现了基于Canny算子的空间圆环的拟合定位,拟合有效性达到80%。
经验证,设计的算法具有较高的检测准确率,单幅图像的缺陷检测用时较短,满足工业生产的需求。