基于卷积神经网络的齿轮表面缺陷检测方法
2022-10-30AbdouYahouzaMamanRabiou杨慧斌刘向前
Abdou Yahouza Maman Rabiou,闫 娟,杨慧斌,刘向前
(201620 上海市 上海工程技术大学 机械与汽车工程学院)
0 引言
随着制造业的飞速发展,在高效、高精度的制造条件下对机械零件进行质量检查的需求持续增长。齿轮是机械工业中广泛使用的传动部件,齿轮质量在生产中尤其重要,表面缺陷是直接影响齿轮质量和批量生产的主要因素之一。齿轮表面缺陷的检测主要依靠手动的目视检查方法[1-2],这些方法耗时、效率低下、不准确并且会导致视觉疲劳。人眼的识别能力有限,其结果取决于人的主观检查[3],容易造成误检测,导致工件的质量不能满足齿轮的高质量要求。
深度学习[4-5](DL)是机器学习(ML)的一种形式,它基于具有多个隐藏层的深度神经网络,是最相关的识别技术之一。卷积神经网络(CNN)是深度学习的基本方法,它通过编写大量数据以使用ML 模型提取特征和多个隐藏层来提高准确性。KRIZHEVSKY[6]实施了一个深层CNN,使用ImageNet 识别120 万张图像,并在图像识别竞赛中首次实现了top-1 和top-15 错误率,在该领域引起了关注。当前,基于机器视觉和卷积神经网络(CNN)的检查是全球研究方向上最需要的检查之一,该技术使用Python 编程语言来处理和提取齿轮图像信息[7],并用于训练两个卷积神经网络(AlexNet 和ResNet 模型),具有数据增强和不同参数,以达到最佳精度要求,取代了手动和旧机器视觉检查,并通过齿轮表面质量(有缺陷或无缺陷)实现了自动齿轮分类。桑宏强[8]等使用AlexNet 模型对工件表面进行检测,实验结果无论是检测效率还是检测精度都比较低,有待进一步提高。
本文结合ResNet 模型对AlexNet 模型进行了改进,无论是检测效率还是检测精度都得到提高。
1 材料与方法
1.1 灰度转换
收集的齿轮图像是彩色的,也称RGB,包含3个通道R(红色),G(绿色)和B(蓝色),每个通道的值在0~255 之间。要将RGB 图像转换为灰度图像,需要确定颜色的强度或亮度。快速计算强度I 的方法是对红色、绿色和蓝色分量使用不同的权重,即计算强度值时,每个颜色分量乘以一个权重值,最具代表性的公式为
输入齿轮图像转换为灰色,如图1 所示。
图1 齿轮图像转换为灰色Fig.1 Gear image converted to gray
1.2 数据集
数据集按格式(高度×宽度×通道数)调整大小,对于AlexNet、ResNet 模型,大小变为(227×227×3)和(224×224×3),然后将数据增强应用于调整后的图像。尽管CNN 的功能非常强大,但可能会变得过拟合,并且由于使用的图像数量不够而无法达到目标结果,因此会使用保留标签的变换来人为放大数据集。数据扩充涉及通过操纵原始数据来创建新数据点的过程,此过程无需增加新照片就可以增加DL 中训练图像的数量,操作步骤:(1)在左右方向上的随机反射;(2)应用于输入图像的水平平移宽度,像素比例转换距离[35,-35];(3)垂直平移范围添加到输入图像,平移距离以像素范围内的像素计算[35,-35]。
2 卷积神经网络架构
2.1 CNN 结构
CNN 是深度学习架构之一,在解决图像分类问题中最为常见,是最有效、最强大的深度学习技术。CNN 是传统人工建模网络(ANN)的发展,侧重于在建模空间的各个区域(尤其是图像)具有重复模式的应用程序。其主要特征在于,与使用分层方法的传统前馈神经网络相比,极大减少了所需结构元素的数量(人工神经元数量)。图2 为CNN 主要结构,包含5 层:输入层、具有激活功能的卷积层、池化层、完全连接层、SoftMax 层。
图2 CNN 的主要结构Fig.2 Main structure of CNN
一个在输入图和一组滤波器之间执行2D 滤波的卷积层,每个滤波器通过该滤波器生成一个二维激活图,所有与相同输出图有关的所有滤波器结果都被累加,以形成输出特征图。通常,考虑到ith层的jth节点,可有式(2):
每个卷积层后都有一个池化层,该池化层旨在对输入特征进行下采样而不影响通道数,仅影响尺寸。池化层没有要学习的参数,有式(3):
完全连接的层位于合并层之后,它包含有限数量的神经元,这些神经元接受输入一个向量并返回另一个向量。
2.2 CNN 表面缺陷分类模型
2.2.1 AlexNet
Alex Krizhevsky 是AlexNet 平台的创建者。AlexNet 平台是一种经过最先进预训练的CNN,它已在几个实验中经过众多比较,是一个深CNN,由25 个层组成,包括输入层,5 个卷积层,7 个ReLU 层,2 个跨通道归一化层,1 个SoftMax 层以及最后一个输出层。
改进的模型由3 个池化层和 11 个卷积层组成了分割模块,每一层的分辨率减少到原来的1/2,通过特征归一化和非线性ReLU 层(ReLU 激活函数),有利于提高学习过程的收敛速度。特征归一化将每个通道归一化为具有单位方差的零均值分布。
前5 个卷积层的内核大小为5×5,后面4 个卷积层的内核大小为 7×7,最后2 层的内核大小为 15×15 和1×1。为不同的层分配了不同数量的通道。通过应用 1×1 卷积层减少输出通道的数量,得到最终的二进值图像并且输入图像的分辨率将减少到原来的1/8。这种方法没有使用 Drop-out,因为卷积层中的权值共享提供了足够的正则化。
作为非线性激活函数的整流线性单位(ReLU)当输入值小于零时,将其设置为零。图3 为 ReLU激活函数图像,数学表达式如式(4)。
图3 ReLU 激活函数图像Fig.3 ReLU activation function image
2.2.2 ResNet
ResNet 是一个深层的CNN,具有专门构建的残差结构,可以支持非常深的网络。经典的深度卷积神经网络不能很大,即使复杂度增加准确性也会下降。ResNet 是由Microsoft Research 团队在2015 年开发的,是一种具有跳过连接的新颖残差模块架构,该网络还具有针对隐藏层的大量批处理规范化功能。该技术使团队可以训练具有50,101和152 权重层的非常深的神经网络,同时仍比诸如VGGNet(19 层)的较小网络具有更低的复杂度。在2015 年ILSVRC[9]竞赛中,ResNet 的前5 名错误率达到3.57%,超过了所有以前的ConvNets。表1为用于表面缺陷检测的ResNet 50 模型改进结构。
表1 用于表面缺陷检测的改进ResNet 模型结构Tab.1 Improved ResNet model structure for surface defect detection
3 CNN 训练和实验结果
本文中输入的200 张图像分为训练图像、验证图像和测试图像。首先是图像,然后通过两个CNN 模型之一进行大小调整和训练,以对齿轮的表面缺陷类型进行分类。图4 为通过数据增强进行图像分类的流程图。
图4 使用CNN 进行数据增强的图像分类流程图Fig.4 Flowchart of image classification using CNN for data augmentation
表2 和表3 列出了在不增加数据的情况下2 种模型的验证和测试的准确性。与ResNet 模型相比,AlexNet 模型在较短的经过时间提供了最佳的测试准确性。
表2 带有数据扩充的每个模型的验证和测试准确性Tab.2 Verification and test accuracy for each model with data augmentation
表3 没有数据扩充的每种模型的验证和测试准确性Tab.3 Verification and test accuracy for each model without data augmentation
表2 和表3 的实验表明,使用数据增强功能时,AlexNet 模型的最高精度为97.94%,ResNet 模型的效率为95.83%,不使用数据增强功能时,AlexNet模型的精度为95.82%,而ResNet 为93.73%。
在齿轮制造中,存在齿缺失、齿折和划痕3 种常见的表面缺陷。图5 显示了由CNN 分类的4 个齿轮图像。
图5 齿轮图像分类Fig.5 Gear images classification
4 结论
卷积神经网络被认为是一种特征提取器,它具有强大的特征表达能力和对传统图像特征的鲁棒性能。本文提出了基于卷积神经网络的齿轮表面缺陷检测方法,改进了细分网络模型,通过优化原始分割网络模型的分割模块的内核和卷积层,优化全连接层改进网络模型的分类器模块,以获得更多的齿轮特征。改善了捕获齿轮微小缺陷的能力。2 个CNN 模型AlexNet 和ResNet 使用了一组由健康齿轮类型和不同缺陷齿轮类型组成的图像(牙齿缺失、划痕、断齿)。训练结果表明,AlexNet 模型是ResNet 模型的最简单结构,训练时间为14 min10 s,这确实减少了检测时间,大大提高了检测精度。实验表明,这2 种改进的模型可用于齿轮表面缺陷检测,与仅基于机器视觉的传统手动方法相比,其精度大大提高。