在注塑齿轮生产过程中,由于温度、注塑时间等因素影响,齿轮可能出现表面黑点、轮齿变形、轮齿缺失等缺陷。由于齿轮缺陷检测过程往往十分复杂,检测设备也较为昂贵,因此在实际生产中迫切需要对齿轮进行快速检测和分析。传统齿轮制造过程中的检测方式以人工检测为主,但是人工检测不可避免地会出现错检、漏检等问题。机器视觉检测是一种非接触式无损检测,在高速、精细和重复的制造过程中更加可靠,与传统的检测方法相比,具有不可替代的优越性。
陈硕等提出利用广泛的 Canny 算子提取出待检齿轮的轮廓,通过计算机求解出轮廓之间的距离,但该方法可能在提取轮廓时出现误差且识别速度较低。郭冕等提出以模态分解模型将齿轮信号分解,并通过 BP 神经网络,实现微型塑料齿轮缺陷检测,但该方法在齿轮信号除噪声方面检测识别精度低、鲁棒性差。杨亚等采用 SURF 算法对于齿轮的特征进行匹配,获取缺陷信息后采用 OSTU 算法对缺陷进行分割处理并分类,但是该方法不能很好的分类缺陷。JEON-GHYEON 等采用声波频率分析法,采用 CNN 模型进行分析缺陷,数据分析需要大量时间,导致检测效率降低。仇娇慧等提出一种改进的 YOLOv5 网络模型,但该模型中的主干网络 C3 结构以及添加的注意力机制结构导致参数量上升、识别速度降低。
基于上述问题,本文提出一种改进的 YOLOv5s (即 VSD-YOLOv5s) 网络模型。该网络模型使用轻量化 ShuffleNetv2 主干网络,引入 SE 注意力机制及 DI-OU-NMS 方法,提升注塑齿轮缺陷检测的识别精度与识别速度。
一、YOLOv5s 网络模型结构
YOLOv5 包含 4 个版本的目标检测网络模型,即 YOLOv5s、YOLOv5m、YOLOv51 和 YOLOv5x,模型的规模和训练参数的数量在 4 个版本中依次增加,其中,YOLOv5s 网络模型最快。考虑到缺陷检测需要严格的实时性,本文以最简单、最快的网络模型 YOLOv5s 作为基准,来完成表面缺陷的在线检测。YOLOv5s 的结构由 4 部分组成,输入端、Backbone 网络、Neck 网络、Prediction 输出端,如图 1 所示。输入端采用自适应图像填充、自适应锚框计算和 Mosaic 数据增强,以提升检测的准确性; 在 Backbone 网络中,使用了 Focus 模块、C3 主干网络模块和卷积模块。Focus 模块主要用于切片操作,通过增加特征图的维度来缩小特征图的尺寸,同时保留图像特征信息。C3 主干网络模块中的残差结构有效防止梯度消失,使得特征更加细致; Neck 网络中主要包含 C3 网络模块、上采样和下采样过程,降低计算量,同时提高特征融合能力和信息保留度。Prediction 输出端中使用 NMS 后处理方法筛选多个目标锚框,抑制无效信息,以提高识别准确性。
二、改进的 YOLOv5s 网络模型
为了满足注塑齿轮表面缺陷在线检测的速度和识别精度要求,本文提出了一种 VSD-YOLOv5s 网络模型,对 YOLOv5s 的结构进行了修改,能够检测不规则和细小的齿轮缺陷。
将主干网络 C3 替换为 ShuffleNetV2
YOLOv5s 中主干网络 C3,如图 2 所示,旨在更好地提取图像的深层特征。C3 主要由 Bottleneck、Conv2d、BN + SiLU 激活函数组成,输入通道分为两个分支,通过两个分支的卷积运算,将特征映射中的通道数减半。然后特征映射通过第二分支中的 Conv2d 层、BN 层和瓶颈层,并利用 Concat 层对两个分支进行深度融合。最后,通过连续穿过 Conv2d 层和 BN 层生成模块的输出特征映射,特征映射的大小与主干网络 C3 的输入大小相同。
YOLOv5s 主干特征提取网络采用 C3 网络结构,带来较大的参数量,识别速度较慢,应用受限。因此本文将主干特征提取网络替换为更轻量的 ShuffleNetV2 网络结构,以实现网络模型的轻量化,提升识别速度和识别精度。
如图 3 所示,本文使用先进的 ShuffleNetv2 单元,其中 Channel Split 操作将通道数平均分成两部分,代替了原有的分组卷积结构。每个分支中的卷积层输入、输出通道数均相同,其中一个分支不进行任何操作以减少基本单元数。针对 ShuffleNetv2 中单元块的下采样,不再采用 Channel Split,通过在每个分支中添加stride = 2 代替原有的 Channel Split 模块以提高模型容量及检测效率。最后使用 Concat、Channle Shuffle 代替原有的 Add、Re-LU 模块以增加模型通道之间的信息交流。综合上述改动,特征图空间大小将减半,且使模型具有较高的模型容量和检测效率,减小了模型的计算复杂度,降低了模型的内存占用率,极大地提高了模型的计算效率。
引入 SE 注意力机制模块
注意力机制是指重点关注检测部分而忽略无关要素,SE 注意力机制模块,如图 4 所示。首先,对特征映射进行压缩操作以获得通道的全局特征; 然后,对全局特征进行激励操作,以学习通道之间的关系,并获取不同通道的权重; 最后,对原始特征映射进行乘法操作,得到最终的特征。这个机制有助于模型更加注重信息量最大的通道特征,同时抑制那些不重要的通道特征。
本文通过引入 SE 注意力机制模块,以建立卷积特征通道之间的相互依赖性来提高网络的表示能力。首先,输入特征图 X,让其经过 Ftr操作生成特征图 U; 然后,进行 Squeeze 操作、Excitation 操作,Scale 操作。Squeeze 操作是一种压缩操作,它将输入图像 的高度 H 和宽度 W 都压缩为 1,但通道数不变的矩阵。通常使用全局平均“池化”操作来实现,以确保最终特征包含输入图像的所有信息。Excitation 操作对通过 Squeeze 操作生成的 1 × 1 × C 特征图进行维度降低和恢复操作,使用全连接层获取不同通道的权重,自动关注具有最高权重的通道。Scale 操作是一种简单的加权运算操作,它将 Excitation 操作生成的特征图与输入特征图通过 Sigmoid 激活函数进行 Channel 运算,得到输出值。
将 NMS 改进为 DIOU-NMS
在 YOLOv5s 原有的 NMS 中,使用 IOU 度量来抑制冗余检测框,IOU 的全称为交并比,即表示为预测边框 A(Prediction box) 和真实边框 B(Ground truth box) 的交集和并集的比值。IOU 的计算公式为:
但 IOU 度量法并未将两个框之间的中心点距离考虑在抑制标准之内,此时模型检测到的遗漏框和错误框的数量将会增加。考虑到以上情况,为提高模型检测的准确性,本文使用 DIOU-NMS 方法,其计算函数方程可以定义为:
式中: Si 表示第 i 个检测框对应的置信度得分,RDIOU ( M,bi ) 表示基于 DIOU 的检测框交叉比,M 表示置信度得分最高的检测框,bi 表示剩余检测框集合中的第 i 个检测框,Nt 表示设定的阈值。本文 DIOU 损失函数的惩罚项可以定义为:
如图 5 所示,c 是覆盖两个锚框的最小封闭框的对角线长度,d = ρ 2 ( b,bgt ) 是两个锚框的中心点的距离。其中 b 和 bgt分别表示和的中心点,ρ 为欧氏距离,c 为覆盖两个框的最小包围框的对角线长度。DIOU 损失函数可以定义为:
以此来看,DIOU 损失函数不是按外接矩形和并集面积的差值,而是同时最小化外接矩形的面积和两框中心点的距离,这会使得网络更倾向于移动边界框的位置来减少损失函数。因此,考虑到影响边界框检测的 3 个几何因素,即重叠区域、中心点距离和纵横比,并在此基础上将 DIOU-NMS 方法添加到本文的模型中,从而加快了模型的收敛速度,提高了模型的性能。
三、结果与分析
实验环境: 在该实验中使用的计算机中央处理单元(CPU 型号) 是 Intel(R) Core(TM) i7-12700F CPU@ 2.10 GHz,并且运行存储器是 16 GB。图形处理器 (GPU 型号) 为 NVIDIA GeForce RTX 1080 独立显卡,显存为 8 GB。采用 64 位 Windows 10 操作系统作为软件环境,PyCharm 作为开发平台,PyTorch 作为深度学习框架,Python 作为编程语言,CUDA 11.3 版本并行计算框架作为开发平台,如图 7 所示。
实验数据集共包含 2000 张分辨率为 640 × 640 的图片,按照 8∶ 2 的比例划分为数据集和验证集。在训练过程中,设置每批次训练 16 张图片,初始学习率为 0.003,IOU 阈值为 0.5,针对所有参照模型均按照这些参数训练 300 个 Epoch。
数据集预处理: 采用自制的齿轮缺陷数据集,其中主要包括轮齿变形、轮齿缺失、表面黑点3 种情况,如图 8 所示。运用 VSD-YOLOv5s 模型进行缺陷检测,采用 Mosaic 增强方法和自适应锚框方法对于数据集进行前期处理。
本文 VSD-YOLOv5s 模型的模型评估指标主要包括准确率(P) 、召回率(R) ,平均识别精度(MAP) 、识别速度(FPS) 。
式中: TP 表示正确识别齿轮缺陷,FP 表示对齿轮缺陷识别的错误分类,FN 表示不明齿轮缺陷,C 表示齿轮缺陷对象类别的数量,k 表示 IOU 阈值,N 表示阈值的 IOU 数量,P(k) 表示识别精度,R(k) 表示召回率。
如图 9 所示,为了对 VSD-YOLOv5s 模型的检测性能进行全面评估,本文采用 YOLOv5s 和 VSD-YOLOv5s 作为纵向比较模型、采用经典的目标检测模型 Fast- RCNN 作为横向比较模型,设置相同的实验参数,上述模型的检测效果表 1 所示。
由表1 的实验结果可知,VSD-YOLOv5s 的 MAP 达到 94.1%,准确率达到 95.1%,相较于另外 3 种模型有所提升,对各类表面缺陷具有良好的检测效果,识别速度相较于 YOLOv5s,FPS 提高5 fps。因此,与 YOLOv5s,Fast-RC-NN 两种模型相比,VSD-YOLOv5s 模型具有优越的检测性能,取得了最佳的检测效果,能够满足在线缺陷检测系统的较高识别精度需求。
本文将3 种模型在测试过程中产生的准确率以及召回率记录并绘制 P-R 曲线图,如图 10 所示,通过 P-R 曲线我们可以看到 VSD-YOLOv5s 模型的性能优于 Fast-RCNN 和 YOLOv5s。
为了验证不同改进方法对 YOLOv5s 模型性能的影响,本文对多种改进方法进行了比较与讨论,如表 2 所示。“√”表明网络模型中加入此模块,而“× ”表明网络模型中没有加入此模块。原 YOLOv5s 模型的大小是 14.58 MB,FPS 为 70 fps。使用 ShuffleNetV2 模块的轻量级 ShuffleNetV2-YOLOv5s 模型的大小减少到 7. 95 MB,FPS 提升到74 fps。结果表明,当在模型中加入 ShuffleNetV2 时,可达到模型轻量化的效果并提升识别速度; 单独使用 SE 模块时,YOLOv5s 模型的 MAP 从 91.2% 增加到 92.1% 。ShuffleNetV2-YOLOv5s 模型的 MAP 从 91.80% 增加到93.8% 。当SE 注意力机制、DIOU-NMS 以及 ShuffleNetV2 同时应用时,相比于原模型,VSD-YOLOv5s 模型的识别准确率提升了 0. 9% ,识别精度提升了 1.7% ,识别速度提升了 5 fps, 模型的性能得到了全面改善,达到最优。
四、结论
针对注塑齿轮缺陷检测存在的问题,提出一种 VSD-YOLOv5s 的齿轮缺陷检测轻量化网络模型结构,在改进后的模型架构中,使用了轻量级的 ShuffleNetV2 模块,为了准确识别注塑齿轮缺陷的不同种类,在模型中引入 SE 注意力机制,将 NMS 改进为 DIOU-NMS 方法加速模型的收敛,在不同测试集进行测试验证 VSD-YOLOv5s 网络模型的可行性,实验结果表明,模型满足在线检测系统对高实时性、低漏检率和低误检率的要求,结构更简化,复杂度更低,检测识别精度更高。未来在模型的实际应用中,将建立缺陷样本库,并及时收集和完善样本库,提升检测效果。
参考文献略.