APP下载

基于迁移学习的金属表面斑点型缺陷检测

2022-06-02徐桂安王冬梅

上海电机学院学报 2022年2期
关键词:斑点灰度卷积

孙 宁, 徐桂安, 王冬梅, 陈 田

(上海电机学院机械学院,上海 201306)

在齿轮接触疲劳实验中,需要定期检查齿面点蚀状况[1]。若利用传统表面缺陷自动检测算法进行识别[2],得到的金属缺陷图像噪声大,缺陷的特点复杂多变。机器视觉是一种非接触式的检测方式,具有很多常规检测工具难以企及的优势,比如代替人工在危险的场合以及人眼不便识别的场合进行作业。同时,在工厂车间大规模重复性较高的生产活动中使用机器视觉检测,可以大大减少人力,提高生产效率。如今,机器视觉技术已应用于千家万户,在生活中的应用有人脸识别、无人驾驶、智能电器、交通摄像、二维码识别等,在工业中的应用有外形检测、定位、测量等,涉及学科有计算机图形学、人工智能、神经网络等等。在现有的文献中,贾洪雷等[3]通过在玉米收获机上安装图像采集设备,利用机器视觉技术提取玉米植株的数量。杨明等[4]利用机器视觉技术的图像模糊化处理和二值化方法,对船舶焊缝缺陷进行特征分割。刁智华等[5]利用相机标定技术结合图像处理技术,实现了对玉米植株的精准施药,成功搭建了系统,并在实际运作中取得了显著的效果。张新燕等[6]通过神经网络辨识了尾流激励叶片的气动力。吴忍等[7]将传统图形处理与深度学习网络相结合,验证了经过处理后的数据集具有更高的识别精度。严道森等[8]利用直方图均衡化增强注塑件缺陷特征,对比输入3种经典网络,提升了注塑件缺陷识别的准确率。

本文基于上述研究案例,结合实际生产需求,将传统图像处理与卷积神经网络(Convolutional Neural Networks ,CNN)应用于加工零件缺陷的检测。通过工业相机采集图片信息,利用图像处理算法对图像进行灰度化处理,去除可能存在的噪音问题,并增强图像特征,使计算机能更好地点蚀缺陷识别,最后将图像输入CNN 网络中,判断图像是否存在缺陷。

1 图像预处理

1.1 实验数据

输入图像的质量直接决定了CNN 的处理效果,为了保证计算机能够识别出有效的缺陷特征,应对图像进行预处理。基于实际问题,对原始照片进行灰度化、噪音去除以及特征增强处理。本文数据集分为点蚀、划痕和黑斑3 类图像,来源于Github 与东北大学的金属缺陷开源数据集组合,分辨率为800×600。从图像中随机抽取训练集与测试集,利用预处理将图像缩放至200×200。数据集样本数据见表1,样本实例见图1。

表1 数据集样本数据

1.2 灰度化

工业相机得到的图片为彩色图片,一般颜色空间为红绿蓝三通道,在计算机中表现为3个三维数字矩阵,若直接输入CNN 中进行处理,会由于计算量大而导致耗时过长。因此,应预先对图像进行灰度化处理,减少图像的矩阵维数,提升计算速度。图像经灰度化后颜色信息消失,但依然保留了图像的梯度信息,通过边缘检测算法可识别出图像中的梯度信息。

图像灰度化方法有分量法、平均值法、加权平均法和最大值法。由于肉眼对红绿蓝3 种颜色敏感度不同,对绿色最敏感,对蓝色最不敏感。本文采用加权平均法作为图像灰度处理方法,红绿蓝3种颜色分配的权重分别为0.299、0.578、0.114,得出最终灰度图像的灰度值为

式中:x、y分别为对应颜色矩阵的像素坐标;R(x,y)、G(x,y)、B(x,y)为该像素坐标下的红、绿、蓝度值。

1.3 图像降噪

图像在采集过程中会不可避免地遇到噪声问题[9-10],且多数金属表面带有自身纹理特征。这两个问题会对点蚀之类的斑点形缺陷的识别造成极大干扰,因此,数据集在输入CNN 前应进行降噪处理。降噪滤波器大致分为空域滤波器和频域滤波器。空域滤波器是直接对图像上的像素点进行处理,空域滤波可细分为线性滤波和非线性滤波,在原图像素点掩膜范围内进行加权求和的称为线性滤波;非线性滤波较为复杂,掩膜中的值如何运算依算法不同而各不相同。目前比较常见的降噪处理方法有中值滤波、高斯滤波、均值滤波等。这些方法在许多实际应用问题中表现优异,但针对斑点形失效,容易过滤掉失效本身的特征信息。

基于以上考虑,本文采用哈尔小波降噪的方式处理图像,其尺度函数为

需要的图像特征往往处于低频子带,噪声特征处于高频子带,故设定一个合适的阈值即可达到预期的图像效果,而去除噪声的设置类似于低通滤波。处理后的图片与原图对比保留了图像中需要的信息特征,如图2所示。

图2 降噪预处理

1.4 表面缺陷特征的识别

本文采用高斯拉普拉斯(Laplacian of Gaussian,LoG)算子提取金属表面的点蚀特征,LoG 是一种将高斯平滑和拉普拉斯算子结合使用的形态学处理方法。拉普拉斯算子就是一个二阶导数算子,计算两个方向上一阶导数的内积,本质上属于一种高通滤波,设x、y为平面上的笛卡尔坐标,二维的拉普拉斯算子可表示为

2 零件表面缺陷识别模型构建

2.1 CNN网络结构分析

CNN[11-12]的结构与传统神经网络结构不同,增加了卷积的概念。传统神经网络存在着严重的缺陷,输入图像像素点与全连接层中的单元数目很少,在不考虑偏置的情况下计算参数量十分巨大。而在CNN 网络不同的图像区域中,共用同一个卷积核,这种参数共享的方法减少了CNN 中的参数量,故能通过少量参数训练出效果更好的模型,还可有效地防止过拟合的出现。典型的CNN 中包含以下结构:输入层、卷积层、池化层、全连接层。卷积层的输入只是上一层的一小部分,其大小根据卷积核而定,一般情况下大小为3×3,过大会导致过拟合,过小则会导致特征提取不足。根据卷积核个数的不同,卷积过程会加深图像的深度。设输入数字矩阵的坐标为(i,j),卷积核f坐标为(m,n),维度为H×W,zli,j为卷积层输出结果,即f中每一位置的值与x中对应值相乘后再相加,卷积过程可表示为

池化层通常用于简化神经网络计算规模,消除通过卷积提取到的非必要特征,池化操作不会影响数字矩阵的深度,但可大幅度减少最终全连接层的节点个数,从而减少训练时间、提升速度。本文采用最大池化的池化方式,池化核大小为2×2,在相邻的4个值中选出最大值,其公式为

全连接层在传统神经网络中最为常见,经上述多轮卷积与池化处理,全连接层将矩阵数据转换为一维数据,并为每一个神经元添加偏差,通过单一或多个全连接层得出分类结果。

2.2 迁移学习

在实际应用中,通过某些特殊的工业零件获取大量的数据集是十分困难的,没有巨量的数据集支持,实现一个高效的深度学习模型几乎不可能。在这种背景下,使用少量的数据集需要学习尽可能多的特征,迁移学习[13-14]的思想提出就显得尤为重要。

通过迁移学习将已在其他数据集中训练好的模型进行重复利用,网络中的权重与其他参数被大量的数据训练完毕,只需要对该模型进行卷积层的抽取,与当前任务设计的全连接层进行组合,形成全新的网络模型。经该方法处理后,卷积层能对图像特征进行更精确的提取,结果优于传统机器学习框架下进行的分类与预测任务。

本文首先冻结已训练模型中的卷积层,然后用新设计出的全连接层代替旧的全连接层,组合为新网络模型后,使用金属表面缺陷数据集对网络进行训练。

2.3 识别模型构建

本文基于VGG-19 和InceptionV3[15]两种经典网络进行迁移学习,VGG-19网络证明了网络深度的增加最终能够影响网络的效果,得名于模型中共有19 个隐藏层、16 个卷积层和3 个全连接层,模型结构如图3所示。

图3 VGG-19 网络结构

InceptionV3 网络则是在分类任务中常用的网络,具有两个主要特点,采用非对称卷积的思想在减少了计算量的同时,还能处理更多的缺陷特征。此外,使用降维并行结构,增加了网络宽度,提升了网络的精度,最终有效提升分类准确率。

上述两种网络都已在ImageNet中的百万级数据集进行了足够训练,适合作为迁移学习的基础,对网络中的卷积池化层进行保留,重新设计全连接层。新设计的全连接层模块结构如图4所示。

图4 改进后的全连接模块结构

图像的输入在经卷积池化部分处理后,会输出一个向量,由于神经网络规模越大越容易遇到过拟合的情况,为了避免过拟合,经网络前端处理的数据会首先通过随机失活层,失活率设定为0.5,然后通过全连接层1 将数据降维,再进入非线性激活函数层,常用的有sigmoid、Tanh 和ReLU3种函数。本文采用ReLU 函数,ReLU 函数的收敛速度较快,且梯度不会饱和,其表达式为

通过随机失活层进入全连接层2,数据维度不变,采用激活函数进入最后一层全连接层,在该层会将维度降低至1×3。最终数据输入至指数归一化层内,计算每一类型的分类概率,即

式中:Zi为第i个节点的输出值;C为分类数,本文C值为3。

通过指数归一化函数的处理,可将概率结果输出为[0,1]以内的数字,最终输出分类结果。

用新设计出的全连接模块与两种网络的前端模块组合为全新的网络结构,网络经大量数据训练得到的权重参数迁移至新结构中,再用缺陷数据集进行训练,训练结果即为本实验中的理想模型,详细流程如图5所示。

图5 数据集的识别全流程

3 结果与分析

3.1 实验设计

考虑到硬件设备上的限制,以及增强实验效果,实验过程中每批次训练图像设置为32,学习率为0.000 1。实验对比两种网络的迁移学习(VGG-19、InceptionV3)进行数据可视化记录,采用分类结果较好的网络作为合适的网络模型,数据集分类后对斑点形缺陷进行LoG 检测,得出最终结论。

3.2 实验数据分析

本文的图像数据集分为黑斑缺陷、划痕缺陷与点蚀缺陷3类,采用程序将数据集分为训练集和测试集,成功对数据集进行分类后,输入迁移学习网络模型中。经20轮训练后,实验结果如图6所示。

图6 两种网络的训练与测试准确率

由图6(a)可知,VGG-19 网络需经多轮训练,准确率才能取得较为理想的结果,且起步准确率较低;在图6(b)中,InceptionV3网络在迭代收敛过程中有着优异的表现,在初次训练时就取得了0.98 以上的准确率,并且在接下来的训练中逐步收敛,最终达到0.998,测试集更是多次达到100%的准确率,虽呈现一定波动,但总体范围在0.03 之间。表明使用InceptionV3网络处理该问题可以取得更为理想的效果。

分类后采用LoG识别斑点类表面缺陷,斑点缺陷识别如图7所示。其中圈出的部分为斑点缺陷,可以看出该方法对点状缺陷有着良好的辨别能力。

图7 斑点缺陷识别

根据实验结果,将基于迁移学习的InceptionV3网络与LoG斑点检测配合使用,可以有效地提升对点状缺陷的辨别率。

4 结 语

目前金属加工过程中,对表面缺陷的检测大多为人工检测,本文对图像进行降噪预处理,并结合机器视觉与斑点检测方法,具有鲁棒性强且效率高的优点。经实际验证,辨识准确率也较为精准。优选出的网络配合设计的全连接层进行迁移学习,能优化目标检测任务效率,节约了时间成本。在今后的研究过程中,应进一步增加数据集样本的数量与种类,以提高模型在各种环境、材料上的泛化应用能力,以期在工业金属缺陷智能检测上得到广泛应用。

猜你喜欢

斑点灰度卷积
可爱的小斑点
采用改进导重法的拓扑结构灰度单元过滤技术
基于3D-Winograd的快速卷积算法设计及FPGA实现
斑点豹
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
卷积神经网络的分析与设计
从滤波器理解卷积
猪身上起红斑点怎么办?
基于傅里叶域卷积表示的目标跟踪算法