APP下载

基于深度学习的汽车轮毂表面缺陷检测算法研究

2019-11-27赵海文赵亚川齐兴悦

组合机床与自动化加工技术 2019年11期
关键词:轮毂算子灰度

赵海文,赵亚川 ,齐兴悦,李 锋

(河北工业大学 a.机械工程学院;b.河北省机器人感知与人机融合重点实验室, 天津 300132)

0 引言

目前对汽车轮毂表面缺陷检测的研究不是很多,检测方式为人工检测,然而这种枯燥的工作以及恶劣的环境会对工作人员的检测质量和效率造成一定程度的影响。汽车轮毂的表面缺陷主要分为划痕和擦伤,集中在轮毂轮辐的外表面,属于金属表面缺陷。传统的缺陷检测算法有图像差分法[1]、图像匹配法[2]和Blob分析法[3]等,而这些算法大多不能对缺陷进行分类,且抵抗外界干扰的能力差,识别率低。卷积神经网络(convolution neural network ,CNN)是一种具有卷积运算的前馈神经网络,是深度学习算法的一种[4],到目前为止卷积神经网络已经成功应用于手写数字识别[5]、车牌字符识别[6]、人脸识别[7]、行为检测[8]以及缺陷检测[9]中。本文提出一种基于图像处理与卷积神经网络相结合的轮毂表面缺陷检测算法。由于汽车轮毂结构复杂,本文算法基于把视觉系统安装于机械手的末端,通过机械手末端的移动完成整个轮毂表面的图像采集。该算法首先将采集的原始图片经过图片分割得到若干张分割图片,然后对分割之后图片进行图像增强处理,增加图像对比度和缺陷特征,然后将图像处理之后的图片输入已经训练好的卷积神经网络,以此实现汽车轮毂的表面缺陷检测。

1 图像处理

图像处理在数字图像中占了很重要的地位,图像质量的好坏,直接影响着缺陷检测的结果。本文图像处理的过程包括图像分割、图像灰度化以及图像锐化。

1.1 图像分割

图像分割是指将图像分割成若干个、具有不同性质的区域图片的过程。本文缺陷分类算法基于卷积神经网络,轮毂表面的缺陷相对于采集的图片太小,若以采集的原始图片作为训练样本,会增加卷积神经网络的学习难度,难以实现缺陷的分类检测。故本文将采集的原始图片分割为16张,原始图片的像素为3840×2748,分割之后图片的像素为960×687,采集的原始图片和分割之后的图片如图1所示。

(a) 原始图片 (b) 分割图片 图1 图像分割对比图

1.2 图像灰度化

工业相机采集的照片是RGB图像,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值,灰度范围为0~255。由此可见,图像的大小缩小了三分之一,提高了训练和测试的速度。

常用的灰度化方法有分量法、最大值法、平均值法和加权平均值法。加权平均值法是对彩色图像中的3个分量按照不同的比例求和得到灰度值,只要选择合适的权值,就可保留图像中的特征信息[10],故选用加权平均值法。计算公式为:

gray=w1R+w2G+w3B

(1)

式中,w1,w2和w3为权值,且w1+w2+w3=1。

图像灰度化的结果如图2所示。

(a) 分割图片 (b) 灰度图片 图2 灰度对比图

1.3 图像锐化

图像锐化是增强图像边缘的一种图像增强方法。本文针对的是汽车轮毂的划痕、擦伤等缺陷,图像锐化是为了突出图像的边缘、纹理等特征,提高图像的对比度,提高轮毂表面缺陷检测的准确率。

图像锐化就是指用不同的图像增强算子与原图像进行卷积运算,来达到图像增强的效果,常用到的锐化方法为梯度锐化和拉普拉斯锐化等,常用到的算子有Sobel算子、Roberts算子、和Laplacian算子,3种算子的图像锐化对比图如图3所示。

(a) 灰度图片 (b) Sobel算子图像锐化图片

(c) Robert算子图像锐化图片 (d) Laplacian算子图像锐化图片 图3 图像锐化对比图

从图3可以看出,3种算子锐化后的图片特征更加明显,laplacian算子相对于robert算子和sobel算子来说,图像特征更加清晰,效果最好,故本文选择laplacian算子对图像进行锐化处理。

2 卷积神经网络结构

CNN是一种深度前馈神经网络,通过权值共享和局部感知等方式降低了网络的复杂性[11]。CNN的网络结构主要包括卷积层、池化层和全连接层。本文采用7层卷积神经网络结构,包括3层卷积层(C)、3层池化层(S)和1层全连接层(F)。

2.1 卷积层

卷积层是CNN的关键,图像的一个像素为一个神经元,每个神经元的输入与前一层局部连接,通过卷积运算提取图像的局部特征。卷积层特征图的大小根据式(1)计算得出。

(2)

式中,So和Si为输出图像与输入图像的尺寸,pad为边缘扩展像素的个数,K为卷集核的尺寸,sd为卷积滑动步长。

将卷积运算的结果加上一个偏置输入到激活函数中,通过激活函数得到卷积层的特征图。卷积层的计算公式为:

(3)

式中,W代表卷集核,f代表激活函数,bi代表偏置。

2.2 池化层

池化层又叫下采样层,根据图像局部相关性原理,对图像进行子采样可以减少计算量,同时保证图像的旋转不变性。采样的目的主要是混淆特征的具体位置,某个特征找出来之后,它的具体位置已经不重要,只需要这个特征和它的相对位置,这种混淆具体位置的策略能对变形和扭曲的图片进行识别。

卷积层和池化层交替出现,随着层数的增加,特征图的个数增多,尺寸减小,对特征的表达能力增强。

2.3 全连接层

全连接层的每一个结点都与上一层的所有结点相连,用于综合从前面提取的特征。全连接网络输出神经元为需要分类的类别数量。

3 CNN训练及参数调试

本文在轮毂加工厂采集了350张样本图片,通过图像分割制作了正常图片500张,划痕缺陷图片和擦伤缺陷图片各200张。考虑到样本图片的数量直接影响着缺陷识别的精度,本文通过图像对称变换、图像添加噪声、缺陷特征位置变换等方法将正常图片样本扩充到1250张,其中1100张作为训练集图片,150张作为测试集图片。划痕缺陷图片和擦伤缺陷图片扩充到各550张,其中训练集图片各500张,测试集图片各50张。三种样本的图片如图4所示。

(a) 划痕样本图片

(b) 擦伤样本图片

(c) 正常样本图片 图4 样本图片

本文的硬件平台基于Win10操作系统,安装内存为8.0GB,处理器为Intel(R)Core(TM) i5-8400,显卡为GTX 1050。训练和实验平台都是基于Matlab,使用的是Deep Learn Toolbox-master,它是一个深度学习包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN等。

卷积神经网络的参数调试是一个难点,参数调试的好坏直接影响了收敛的精度以及最终模型的准确率,网络训练所耗费的时间等等。卷积神经网络的参数主要包括学习率、Batch和迭代次数等。

学习率控制着基于损失梯度调整神经网络权值的速度,直接影响我模型能够以多快的速度收敛到最小值,设得太大的话算法可能永远都不会收敛,设得太小会使算法优化得太慢,而且可能还会掉入局部最优。迭代次数是指训练过程遍历数据集的次数,过多会发生过拟合,过少又会导致分类精度过低,选择合适的迭代次数直接影响着分类的精度。Batch是指每次输入CNN模型中图片的数量,过大的值也会发生过拟合。

Batch是机器学习中一个重要的参数,在一定范围内,Batch越大其确定的下降方向越准,引起的训练震荡越小。Batch过大会使最终的收敛精度陷入不同的局部值,通过前期卷积神经网络的训练,最终选取Batch的大小为50,学习率为0.2。模型的准确率随着迭代次数的增加而增加,当迭代次数选5000时,模型的准确率不再发生变化,故本文选择的最终迭代次数为5000次。将测试集图片输入训练好的神经网络,测试结果如表1所示。

表1 本文算法检测结果

从测试结果可以看出,训练过后卷积神经网络具有很高准确率。

4 实验

由于汽车轮毂表面结构比较复杂,本文轮毂的外表面由6个轮辐组成,每个轮辐表面由正面和左右两个侧面组成,故每个轮幅的检测需要采集正面和左右两个侧面3张图片,本文通过将视觉系统安装在机械手的末端完成图像的采集工作。本文实验选用的是UR3协作机器人,UR3是一种具有6自由度的小型协作机器人,可以满足本文轮毂检测的位姿要求。相机和镜头分别选用的是大恒图像水星POE相机MER-1070-10GC-P和Computar公司的M0824-MPW2镜头,将相机与PC机相连并安装于UR3的末端。本文轮毂表面反光现象严重,而同轴光源主要用于检测反光程度很厉害的金属物体,故照明方式选用的是同轴照明,并将同轴光源安装于镜头的下方,轮毂图像采集系统图如图5所示。

图5 轮毂图像采集系统图

本文用示教的方式确定了每个图像采集的位置点,当机械手运动到图像采集点时,使用PC机完成图像的采集。本文总共采集了54张图片,通过图像分割得到正常图片751张,划痕缺陷图片67张,擦伤缺陷图片46张,经过图像处理后输入已经训练好的卷积神经网络,检测结果如表2所示。

表2 检测结果

实验结果表明,本文算法对3种类型图片的平均准确率为93.5%。从检测结果可以看出,划痕缺陷的检测准确率比擦伤缺陷的检测准确率低,其原因可能是擦伤缺陷相对于划痕缺陷的特征更加明显,更容易被检出。通过对比与卷积神经网络的测试结果可以发现,3种类型的图片检测准确率均有所下降,造成准确率下降的原因可能是训练集和测试集的的图片与实验中同轴光源下采集的图片略有不同。为提高算法检测的准确率,可以采取的措施有:

(1)卷积神经网络的样本图片模拟实验的环境进行采集。

(2)增加划痕图片在训练集图片中的占比,提高划痕缺陷的检测准确率。

5 结论

目前轮毂的表面缺陷由人工检测,卷积神经网络具有耗时短、鲁棒性高的优点,在很多领域得到了应用,但在工业领域的应用很少,本文在CNN的基础上提出一种图像处理与CNN相结合的轮毂表面缺陷算法。实验结果表明该算法具有较高的准确率。但仍存在缺陷漏检的情况,下一步将增加学习样本的数量,并提高样本图片的质量,优化卷积神经网络结构,调整网络参数,提高分类器的准确率。

猜你喜欢

轮毂算子灰度
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
采用改进导重法的拓扑结构灰度单元过滤技术
斜对角算子矩阵的Weyl谱
电驱动轮轮毂设计及有限元分析
汽车轻量化铝合金轮毂设计*
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Domestication or Foreignization:A Cultural Choice
Arduino小车巡线程序的灰度阈值优化方案
QK空间上的叠加算子
基于ANSYS的轮毂支架结构设计