基于机器视觉的箱体类金属工件铆接质量检测方法研究

2022-12-26 12:37宋秋凡杜亚江李宗刚
仪表技术与传感器 2022年11期
关键词:铆钉像素点工件

宋秋凡,杜亚江,李宗刚,高 溥

(1.兰州交通大学机电工程学院,甘肃兰州 730070;2.兰州交通大学机器人研究所,甘肃兰州 730070;3.兰州石化职业技术大学,甘肃兰州 730060)

0 引言

箱体类金属工件是主要承载结构件,其结构复杂、紧凑,对制造要求较高。由于铆接工艺适用于薄壁工件及复杂结构工件的紧固连接,在极端环境下具有较高的可靠性,被广泛应用于箱体类金属工件的制造装配中[1]。在实际工况中,一个工件的铆钉数量非常多且尺寸多为mm级,铆接过程中的铆接压力、铆接参数、铆钉材料等缺陷都会削弱铆接强度[2-3]。一旦出现漏铆、铆接质量不合格等问题,直接影响工件的质量和使用寿命,因此箱体类金属工件铆接质量检测尤为重要。传统的铆接质量检测依靠人工,不仅检测效率低,而且存在人为因素导致误检、漏检等情况,传统检测方式很难满足现代化发展需求。相比于人工检测方式,基于机器视觉的非接触式缺陷检测技术具有较高的效率和精度,广泛应用于工业生产缺陷检测中[4-5]。

目前,基于机器视觉的质量缺陷检测技术已经在国内外进行了大量研究。M.Zhao等[6]通过Gabor滤波器提取图像表面的纹理信息,并采用支持向量机(SVM)对特征进行分类,实现了热电制冷元件表面缺陷检测;周佳禾等[7]采用卷积神经网络结合SVM实现了卷绕式锂电池电极褶皱检测;Z.C.Liu等[8]利用灰度变换和图像差分算法实现了PCB图像缺陷的检测。对于铆接质量检测的研究,国荣辉等[9]采用面结构光测量系统,将铆钉轮廓映射到三维点云中并计算铆钉的三维信息,实现了飞机蒙皮铆钉平齐度的检测;柳宁[10]针对货运列车转向架铆接质量检测问题,提出一种利用图像识别与传感器技术的计算机辅助检测系统,通过Histogram特征及BP神经网络图像识别方法对铆接质量进行检测,实现了铆接质量的自动化检测;王海燕[11]对飞机蒙皮铆钉尺寸测量及表面腐蚀缺陷进行了研究,利用随机Hough变换检测铆钉边缘,并采用深度学习对缺陷特征进行分类,这些方法检测类别单一,不适用于多种缺陷类型检测。O.S.Amosov等[12]在铆接质量检测中,应用深度神经网络Yolo模型进行缺陷检测与分类,该方法检测正确率达97%,但只适用于大尺寸铆钉检测,不适用于mm级铆钉铆接质量的检测。

为了提高箱体类金属工件铆接质量的检测精度和效率,并实现缺陷分类,根据工件铆接特点,综合考虑自动化检测问题,本文提出了一种基于机器视觉的铆接质量检测方法,通过改进的Retinex图像增强算法和多阈值缺陷分割算法对原始图像进行处理得到铆钉及镦头等感兴趣区域,然后提取铆钉及镦头的几何形状及Zernike矩特征,最后采用基于极限学习机(extreme learning machine,ELM)的分类算法对缺陷进行分类,实现了工件铆接质量的批量化检测。

1 铆接质量问题描述及检测系统构成

1.1 铆接质量问题描述

某箱体类金属工件采用半空心铆钉进行紧固连接,铆钉均匀分布在工件表面,如图1所示。通过对半空心铆钉铆接质量缺陷进行分析,铆接过程中铆接质量问题主要集中在铆钉形变端,当存在铆接质量不合格或漏铆情况时,铆钉形变端产生较大差异[13]。铆接过程中出现的4种典型缺陷如图2所示,依次为:

(1)铆接过程中对铆接孔中的铆钉未进行铆接造成漏铆;(2)铆接冲头压力较小或冲头与铆钉距离较远,铆钉没有完全形成圆形卷曲状态,造成未完全铆接;(3)铆接压力过大导致铆钉镦头破裂,产生缝隙,造成镦头开裂;(4)铆枪冲头未对准铆钉中心,导致铆钉镦头偏离铆接孔中心,镦头形态呈椭圆形,造成铆接错位。

图1 箱体类金属工件示意图

(a)漏铆

(b)未完全铆接

(c)镦头开裂

(d)铆接错位

1.2 铆接质量检测系统构成

铆接质量检测实际上是对铆钉形变端进行检测,本文采用CCD工业相机检测铆钉及镦头的形状判断工件铆接质量是否合格,并实现缺陷的分类,其检测系统结构如图3所示。控制台将工件输送到图像采集工位,通过相机、镜头和环形光源等设备对工件表面图像进行采集。获取的图像传输到计算机的质量检测模块,并对其进行图像处理、特征提取及缺陷分类,最终输出铆接质量检测结果。由于工件尺寸较大,视野不能完全拍摄整个工件,同时避免因相机视差造成错检,因此通过控制台运动对工件进行分块检测。

图3 铆接质量检测系统

2 图像处理

相机采集的工件图像不能直接进行特征提取,需对其进行一系列处理,消除无用信息,增强特征信息,便于后续的缺陷识别和分类,通过图像增强、目标分割等方法对获取的图像进行处理,得到铆钉及镦头的特征。

2.1 改进的Retinex图像增强

由于铆钉及箱体类金属工件为金属材质,具有高反光性,光源照射时出现表面亮度不均现象,对图像特征识别造成很大影响,为了消除光照对铆接质量缺陷检测的影响,本文提出一种改进的Retinex算法对图像进行增强处理。改进的Retinex算法分为2步:采用高斯滤波Retinex算法[14]得到反射分量图像;采用分段伽马函数增强图像感兴趣区域的对比度。

Retinex原理是根据图像的光照-反射模型,假设摄像机采集的图像都是由光照分量和反射分量构成,其目的是滤除光照分量的影响,尽可能得到图像反射分量信息。采集得到原始图像数学表达式如下:

I(x,y)=R(x,y)×L(x,y)

(1)

式中:I(x,y)为摄像机采集的原始图像;R(x,y)为光照分量图像;L(x,y)为反射分量图像;(x,y)为原始图像中的任意像素点位置。

将式(1)改写成对数形式并整理可得:

logL(x,y)=logI(x,y)-logR(x,y)

(2)

采用高斯滤波方法对原始图像光照分量R(x,y)进行估计后得到反射分量图像,为了增强铆钉与背景间的对比度,对反射分量图像引入伽马变换方法对其进行增强处理。如图4所示,从反射分量图像灰度直方图可以看出背景区域主要集中分布在低灰度区域,铆钉等感兴趣区域集中分布在高灰度区域,且占据较小的面积。

图4 灰度直方图

为了增强感兴趣区域的对比度,同时缩短运算时间,本文构造一种分段伽马函数,当反射分量图像L(x,y)中某像素点灰度值小于阈值T0时,令其变换系数γ1>1,缩小背景等低灰度区域的动态范围;同理,当L(x,y)大于等于阈值T0时,令其变换系数γ2<1,提高铆钉等高灰度区域的对比度,构造的分段伽马函数表达式为

(3)

式中:E(x,y)为伽马变换后的反射分量图像;L(x,y)为伽马变换前的反射分量图像;γ1、γ2为变换系数。

根据工件表面灰度直方图,选取其谷底值作为阈值T0,令T0=100,γ1=2.3,γ2=0.4,改进的Retinex图像增强算法实现过程如图5所示,经过增强处理后的图像在很大程度上能够削弱工件表面及铆钉反光造成光照分布不均的影响,且增强了铆钉与工件表面间的对比度,便于后续的目标分割和特征提取。

(a)原始图像 (b)Retinex处理(c)改进伽马变换图5 改进Retinex图像增强算法实现过程

2.2 基于多阈值的目标分割

铆钉相对于工件尺寸较小,不易识别。针对增强后的图像,采用基于阈值分割的算法对铆钉及镦头等目标区域进行分割,得到其轮廓信息。目前常用的阈值分割算法主要包括Otus法、迭代法和最大熵法等,Otus算法[15]能够自适应地选取目标分割阈值,且运算速度较快,具有较高的实时性,因此本文采用Otus算法对工件图像进行目标分割。

Otus算法的核心思路是将图像分割为前景与背景,假设工件表面图像有L+1个灰度级[0,1,…,L],若像素点的灰度级为i的个数为ki,则总像素点个数为K=k1+k2+…+kL,其灰度级为i的像素点概率密度为pi=ki/K,通过设定阈值T1将前景C1从背景C2中分割出来,则类间方差定义为

σ2=ω1(μ1-μ0)2+ω2(μ2-μ0)2

(4)

在灰度级[0,L]中通过遍历阈值,最终得到使σ2最大的阈值T1,将T1作为目标分割阈值。基于Otus分割后的图像虽能够较好地分割出铆钉区域,但也存在噪声及纹理特征,干扰铆接质量检测效果,针对此问题提出一种基于多阈值的缺陷分割方法。铆钉等感兴趣区域面积比噪声点及纹理特征大得多,因此通过对每个连通域像素点个数Pi进行统计,当Pi

(5)

式中:f(x,y)为阈值分割后图像;Pi为第i个连通域像素点个数;P为阈值,在本实验中漏铆缺陷像素点个数最少为40 000,为了不影响目标特征的提取,本文设定阈值为35 000。

阈值分割后的二值图像能完整显示出铆钉镦头的边缘轮廓,但轮廓内部还存在由金属反光造成的伪边缘,故需进行形态学运算消除轮廓内的反光点及伪边缘,多阈值分割方法与Otus阈值分割方法的实验结果对比如图6所示,多阈值分割方法剔除了噪声及背景纹理,满足本文要求。

(a)Otus方法 (b)本文方法

2.3 铆钉定位与裁剪

经过阈值分割后的工件表面图像包含多个铆钉,不利于单个铆接质量的检测,需在二值图像上对目标区域进行裁剪,使其每个切片只包含一个铆钉。假设图像大小为M像素×M像素,在y轴方向上均分m等份,x轴方向上均分n等份,m为工件表面铆钉行数,n为列数。并对分割后的切片位置信息进行标记,便于快速定位存在铆接质量缺陷的铆钉位置。 最后通过求取每个切片中铆钉及镦头的最小外接矩形,进行特征提取、识别及分类,如图7所示。

图7 铆钉及镦头最小外接矩形示意图

3 缺陷特征提取

3.1 几何形状特征

几何形状特征是图像目标区域最显著的特征,不同的缺陷类型具有不同的几何形状,本文采用周长、面积、圆度率和偏心率等4个特征参量对铆钉及镦头的几何形状进行描述。

周长是描述目标区域边界轮廓的长度,指目标区域边界轮廓所占像素点之和。

面积是描述目标区域的大小,指目标区域边界轮廓内像素点之和。

圆度率E反映铆钉及镦头轮廓的圆形程度,E的值越小,轮廓形状越偏离圆形,其定义为

E=4πS/C2

(6)

式中:S为目标轮廓面积;C为目标轮廓边界周长。

偏心率反映铆钉及镦头轮廓的几何形状,其定义为

W=a/b

(7)

式中:a为目标区域外接矩形的短轴;b为目标区域外接矩形的长轴。

对目标的几何形状特征参量进行归一化处理,其几何形状特征分布如图8所示。

3.2 Zernike矩特征

矩特征是描述区域几何特征信息的有效特征,由于Zernike矩在图像抗噪性和旋转不变性方面具有较大优势[16],而且高阶矩更能突出图像的特征细节,无信息冗余现象。对于二维图像f(x,y)的n阶m次Zernike矩在极坐标下定义为

(8)

式中:n≥0,n≥|m|且n-|m|为偶数;ρ为原点到点(x,y)的矢量距离;θ为ρ与x轴在逆时针方向上的夹角;Vnm(ρ,θ)表示在单位圆上定义的Zernike多项式,*表示复共轭;Rnm(ρ)表示点(x,y)的径向多项式。

由式(8)可知,在二维图像中Zernike矩的值为复数,对Znm求模进而得到|Znm|,本文将图像的1~4阶Zernike矩的模作为其特征向量,分别为|A11|、|A20|、|A22|、|A31|、|A33|、|A40|、|A42|、|A44|,归一化处理后的Zernike矩特征分布如图9所示。将几何形状特征和Zernike矩特征融合为12维特征向量,不同类别的特征具有较大差异,因此能够检测出铆接质量缺陷。

图9 Zernike矩特征分布

4 基于ELM的分类算法设计

ELM是一种基于单隐藏层的前向神经网络构建的机器学习方法[17],不同于传统的BP算法,ELM算法在执行过程中,不需要手动调整大量训练参数,所有参数一次性调整优化,同时ELM在保证学习效率和精度的前提下,拥有较强的泛化能力。ELM由输入层、隐藏层和输出层3层网络构成,其模型结构如图10所示。

图10 极限学习机模型

4.1 ELM分类算法原理

假设给定N个随机选取的不同训练样本(xi,ti),xi=[xi1,xi2,…,xin]T∈Rn为样本的矢量特征,ti=[ti1,ti2,…,tim]T∈Rm为对应样本xi的期望输出。若使单隐藏层神经网络输出的误差达到最小,则存在βi、Wi和bi,得到如下公式:

(9)

式中:L为隐藏层节点数;g(x)为激励函数;βi为第i个隐藏层节点与输出层连接权重;Wi为第i个隐藏层节点与输入层连接权重;bi为第i个隐藏层节点的偏置。

通过矩阵形式将式(9)转化为

Hβ=T

(10)

式中:

在训练过程中,只要把Wi和bi确定,则隐藏层输出矩阵H就可得到唯一解,通过解析式(11)求得隐藏层输出权重:

β=H+T

(11)

式中:H+为H的Moore-Penrose广义逆矩阵;T为期望输出矩阵。

最后得到ELM的数学模型为

ELM(x)=min‖Hβ-T‖,β∈RL×m

(12)

4.2 ELM分类器设计

根据ELM分类器原理和检测系统的需求,本文从分类器的输入、输出、隐藏层输入权重及偏置的设置、激励函数选择等方面对ELM分类器进行设计。12维特征向量作为分类器的输入,5种类型作为分类器的输出结果。在ELM中,样本的分类正确率与激励函数和隐藏层神经元个数相关,通过实验测试本文选取的激励函数为Sigmoid函数、隐藏层神经元个数为30时,其分类效果达到最优。Wi及bi的初始值为在[-1,1]上随机均匀分布。

5 实验与结果分析

5.1 实验环境与数据集

本文采用的实验平台计算机配置为Windows10操作系统,处理器为11th Inter(R) Core(TM) i5-11400@2.60GHz,GPU为NVIDIA GeForce RTX 2070,仿真环境为MATLAB R2019a,实验过程中采用CCD工业相机型号为MER-125-30UM。

实验数据集来源于实验室箱体类金属铆接样件,从4种典型缺陷及合格的样本中各选取100个样本,随机从数据集中选择75%作为训练集,其余的25%作为测试集。

5.2 实验结果与分析

为了验证本文算法的有效性,将实验分为2步,第1步对采集的工件图像进行处理,不同类型的图像处理结果如图11所示,并对处理后的图像提取铆钉及镦头的几何形状及Zernike共12维特征向量;第2步采用ELM分类算法对特征进行分类,得到其缺陷检测精度。

图11 图像处理结果

通过对测试集进行测试,得到ELM分类器的“合格-缺陷”二分类结果及缺陷多分类结果。从表1可以看出,对于“合格-缺陷”二分类结果,其正确率为95.2%,本文方法可以较好地检测出铆接质量存在缺陷的箱体类金属工件。从表2可以看出,对于4种典型缺陷多分类结果,其正确率可达90%以上,图像特征的选择直接影响缺陷检测的正确率,漏铆和镦头开裂缺陷由于特征明显,其检测正确率较高,未完全铆接和铆接错位缺陷由于相机视角原因导致其镦头形态较接近,故其正确率稍低,但整体上满足预期检测需求。

为了验证本文的分类算法,将ELM“合格-缺陷”二分类结果与SVM、BP算法比较,如图12所示。从图12可以看出,本文采用ELM作为铆接质量缺陷检测分类器,其正确率高于SVM和BP算法,并且检测时间明显低于其他2种算法,检测速度和效率均达到最优。

表1 “合格-缺陷”二分类结果

表2 缺陷多分类结果

图12 不同分类算法对比

6 结束语

本文针对箱体类金属工件铆接质量检测问题,根据半空心铆钉在铆接后所形成的铆钉及镦头的形态特点,利用特征融合结合ELM的分类方法对铆接质量检测进行了研究。实验结果表明:本文所提出的方法能够有效检测出箱体类金属工件铆接质量的缺陷,尽管存在一定的误检情况,但整体检测效果较好,“合格-缺陷”二分类及缺陷多分类检测正确率分别为95.2%和92%,与SVM和BP算法相比,该方法具有较高的精度,且满足实时在线检测的需求。在后续工作中需要对此方法做进一步改进,提高其缺陷多分类检测正确率,扩大其应用范围,使该方法也可应用于其他领域的质量缺陷检测。S

猜你喜欢
铆钉像素点工件
黑色铆钉
曲轴线工件划伤问题改进研究
基于局部相似性的特征匹配筛选算法
油密铆钉冷镦过程优化改进
考虑非线性误差的五轴工件安装位置优化
基于5×5邻域像素点相关性的划痕修复算法
三坐标在工件测绘中的应用技巧
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
铆钉切割器的研究与设计