基于改进YOLOv5的织物缺陷检测算法研究
摘要——本文旨在解决纺织品生产过程中缺陷检测速度慢、精度欠佳以及易受不利环境条件影响等问题。通过对纺织品缺陷点的深入研究我们开发了一种基于改进的YOLOv5架构的创新型缺陷检测算法。该方法采用数据增强技术包括噪声注入和亮度降低以增强算法在复杂检测场景下的鲁棒性。此外引入了ShuffleNetV2轻量级网络该网络采用深度可分离卷积和其他轻量级技术优化了算法在资源受限设备上的运行性能。同时引入SimAM注意力机制使模型能够在不引入额外参数或增加计算复杂度的情况下提取关键图像信息。实验结果验证了模型的有效性在纺织品缺陷数据集上实现了93.9%的检测精度比原始YOLOv5模型提高了1.5%。关键词——织物缺陷检测ShuffleNetV2SimAMYOLOv5一、引言中国纺织业的崛起经历了从数量积累到质量卓越的关键性转变。到2022年底中国的纺织机械产量将占全球纺纱锭数的50%以上织造设备数量将占全球的45%以上[1]这凸显了纺织业对国民经济的深远影响。在纺织品生产的各个环节由于人为失误和机器故障都容易出现纱线不匀、棉杂质、污渍、断纱、破洞、滑移和混色等缺陷。不合格纺织品流入市场对整个行业的可持续发展构成重大威胁。因此纺织品缺陷检测已成为推动技术进步和增强中国蓬勃发展的纺织行业市场竞争力的关键所在。在纺织品缺陷检测的早期阶段普遍采用人工目视检查——这种方法效率低下、人工成本高昂且容易出错和疏忽。随着国内外深度学习技术的飞速发展纺织品缺陷检测技术得到了显著提升。专家学者们深入研究了各种研究途径以应对这些挑战。在基于深度学习的方法领域涌现出两大类基于区域的两阶段检测网络和基于回归的单阶段检测。本文深入探讨了纺织品缺陷检测的历史发展追溯了从劳动密集型的人工检测到深度学习革命带来的突破性解决方案的演变历程。代表性的算法模型包括SSD、Faster-RCNN、YOLO等。与两阶段网络相比单阶段网络展现出更高的检测速度能够同时满足实时监控和更高的检测精度因此受到目标检测领域研究人员的青睐。Jing Junfeng等人[2]应用卷积神经网络检测织物缺陷在单色织物上表现出色并能精确定位缺陷区域。然而传统卷积神经网络固有的计算复杂性限制了其在检测复杂织物图像方面的有效性。此外N. Sajitha [3] 将增强型龙卷风优化算法与深度学习相结合用于织物缺陷检测。该方法在复杂织物上展现出良好的效果并能准确分类缺陷但计算复杂度高且对训练数据的质量和数量要求严格。本文旨在解决纺织品缺陷检测过程中实时检测效率低、易受噪声和天气条件影响的问题。本文提出了一种基于 YOLOv5 的改进算法并结合深度学习技术。通过镜像翻转、噪声注入和亮度调整等技术构建了一个专门用于纺织品缺陷检测的数据集。与 SSD、YOLOv7 和 YOLOv8 模型的对比评估表明在本文提出的数据集上SSD 和 YOLOv7 算法的准确率低于 YOLOv5。此外YOLOv8 更为复杂的架构导致模型体积更大因此 YOLOv5 7.0 版本是进一步改进的首选。此外引入适用于计算能力有限设备的轻量级网络 ShuffleNetV2并结合 SimAM 注意力机制旨在平衡检测速度和准确性。改进后的算法有效应对了复杂和弱光环境下纺织品缺陷检测的挑战。二、数据来源及预处理本研究使用的数据集源自浙江纺织厂的真实场景包含2000多张灰度图案织物图像。图1展示了该数据集中的一张织物图像示例其中包含各种缺陷类型例如纱线不规则、棉絮杂质、污渍、断纱和破洞。每张数据样本图像的尺寸均为512×512像素格式为.JPG。图 1. 织物数据集中的缺陷织物图像鉴于深度学习网络训练过程中兼容的数据集格式多种多样本实验的图像标注工作分别针对YOLO数据集格式和PASCAL VOC数据集格式的原始图像进行标注以确保其对各种深度学习算法的广泛适用性。标注工作使用LabelImg图像标注工具完成随后将数据集按7:1:2的比例划分为训练集、验证集和测试集。为了模拟织物缺陷检测的挑战性环境例如昏暗的照明和低性能设备场景我们应用了数据增强技术。训练集扩充至5921张图像并与原始的验证集和测试集合并最终得到包含6555张图像的完整数据集。图2直观地展示了增强后的织物图像体现了在复杂环境下检测纺织品缺陷的难度。图2. 预处理后的织物图像三、实验环境和参数配置A. 实验环境配置本模型的开发主要使用 Python 3.8并采用开源深度学习框架 PyTorch 作为神经网络框架。实验配置方面操作系统为 Ubuntu 22.04.3并使用 CUDA 12.2 加速训练过程。硬件测试环境包括一颗主频为 2.30GHz 的 Intel(R) Core(TM) i5-8300H CPU 和一块 40GB 显存的 NVIDIA A100 GPU。B. 实验参数配置本研究采用 YOLOv5 7.0 版本作为基础模型。训练过程包括将输入图像配置为 640×640 像素。模型训练的优化函数选择为随机梯度下降 (SGD)。训练历时 300 个周期初始学习率为 0.01。学习率衰减采用余弦退火策略学习率动量设置为 0.937。训练批次大小设定为 16。IV. 算法改进A. YOLOv5 算法YOLOv5 模型包含五个变体分别是 YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l 和 YOLOv5x它们的区别在于网络深度和宽度的变化。本文重点研究 YOLOv5s 变体。图 3 给出了该架构的详细示意图。图 3. YOLOv5s 的架构B. 改进的YOLOv5算法1) 基于ShuffleNetV2的轻量级特征提取网络YOLOv5中的主要特征提取网络主要基于C3网络构建以实现高效的特征提取。尽管C3具有出色的检测性能但其复杂的结构和大量的参数使得在计算能力受限的边缘设备上部署该模型面临挑战。为了解决这个问题近期的研究工作涌现出各种轻量级网络专门用于移动和嵌入式设备的部署。值得注意的是ShuffleNetV2[4]在高效特征提取方面表现出色显著降低了模型参数和计算复杂度。基于这些优势本研究选择ShuffleNetV2作为增强型YOLOv5模型的特征提取网络。ShuffleNetV2在ShuffleNetV1[5]的基础上构建融合了深度可分离卷积和通道混洗的原理并引入了通道分割的概念。 ShuffleNetV2 的架构由两个主要单元组成基本单元 (a) 和下采样单元 (b)其详细结构如图 4 所示。图 4. ShuffleNet V2 的基本单元如图 4(a) 所示特征图进入基本单元后首先进行通道分割随机且等分地分为左右两个分支。在右分支中首先通过 1×1 常规卷积调整通道数以便后续进行 3×3 深度可分离卷积从而增强特征图的处理能力。与常规卷积相比采用深度可分离卷积显著减少了模型参数和计算量从而加快了网络的训练和推理速度。随后输出特征图的通道数再次通过 1×1 常规卷积进行调整。经过三次连续卷积后右分支特征图的通道数保持不变从而减少了内存访问。最后将右分支生成的特征图与左分支直接向下传播的特征图进行拼接。通过通道混洗操作实现了通道间的交互和信息融合从而提升了网络的整体表达能力。如图 4(b) 所示进入下采样单元后特征图的主要任务是下采样。此操作将特征图的维度减半同时增大感受野。其总体目标是减轻计算负担并减少参数数量。此外通道数的翻倍显著增强了网络的特征提取和表达能力。总之下采样单元在网络中扮演着至关重要的角色它通过有效地下采样和增强特征提取能力来优化模型性能。2) 基于SimAM注意力机制的主干网络 为了有效消除与目标相似的背景干扰研究表明在主干网络中引入注意力机制是一种有效的方法。为了在不增加参数数量的情况下提升模型性能本研究采用了SimAM一种三维无参数注意力机制[6]。该机制借鉴了神经科学中的空间抑制现象[7]并通过能量函数来衡量神经元的重要性。如图5所示的SimAM注意力机制结构图输入图像R包含C个通道的输入特征X∈R其尺寸为H×W其中W和H分别表示特征图的宽度和高度。这种配置产生了MH×W个神经元理论上每个通道都对应M个能量函数。SimAM机制通过一个受神经过程中观察到的空间抑制现象启发的能量函数来量化神经元的重要性。图5. SimAM注意力机制的结构图同一通道内的神经元具有相同的分布。为避免计算冗余可以先计算单个通道内所有神经元的平均值。每个位置的最小能量的最终公式由公式1给出这里变量 t 代表目标神经元λ 代表超参数。如前所述能量值越低意味着神经元 t 与其相邻神经元之间的差异越大表明其重要性越高。最后根据注意力机制的定义应用特征增强过程得到公式 (2) 所示的 SimAM 公式在本研究中SimAM机制被策略性地置于骨干特征提取网络的最深层从而确保不会给模型参数增加额外负担。通过评估空间位置特征和通道信息SimAM选择性地强化关键神经元。这种精心设计的整合提高了网络的特征提取能力同时加快了训练速度。3) 整体改进的网络架构本研究对YOLOv5s算法进行了三项关键改进i. 集成ShuffleNetV2轻量级特征提取网络。ii. 在骨干网络的最后一层加入SimAM注意力机制模块。iii. 改进后的网络架构记为YOLOv5-SS如图6所示。图 6. 改进的 YOLOv5s 结构五、结果分析A. 消融实验为了验证本文提出的增强算法在模型检测性能、模型大小和检测精度方面的有效性我们进行了一系列实验。这些实验在实验环境和训练参数均保持一致的条件下进行。我们系统地引入了多种增强策略逐步进行修改以确定每种方法对最终模型的影响。在指定的测试集上进行的测试结果汇总于表1。消融实验结果表明使用 ShuffleNetV2 时模型参数数量减少了 45.8%GFLOPS 降至 8.1G实现了特征提取网络的轻量化但牺牲了一定的准确率mAP_0.5 下降了 0.2%。通过在主干网络的最后一层添加 SimAM 注意力机制模块模型的 mAP_0.5 提升至 92.5%GFLOPS 略微增加了 1.2%。最终结合两种改进方法在轻量化的基础上将 SimAM 注意力机制模块融入特征提取网络的最后一层YOLOv5-SS 相比原始 YOLOv5s 实现了 42.4% 的 GFLOPS 降低同时 mAP_0.5 提升了 1.5%。B. 对比实验为了全面评估增强模型的性能本研究开展了对比实验将所提出的算法 YOLO-SS 与其他几种著名的目标检测算法进行了对比这些算法包括 SSD、YOLOv7、YOLOv7-tiny 和 YOLOv8。这些对比实验的结果总结在表 2 中。对比实验结果表明改进后的算法带来了显著的性能提升。与原始模型相比改进后的 YOLOv5 和 YOLOv7 模型的参数规模分别显著降低了 27.2% 和 86.2%。同时mAP_0.5 也分别提高了 1.5% 和 2.0%表明检测精度得到了提升。与 YOLOv7-tiny 模型相比mAP_0.5 的提升幅度高达 6.4%。图 6 展示了各算法模型的 mAP_0.5 曲线图 7 则直观地展示了算法在验证集中选取的三幅图像上的检测结果。这些可视化结果共同表明所提出的算法 YOLO-SS 在测试场景中达到了最高的检测精度。图 7. 各算法模型的 mAP50/% 曲线图 8. 模型检测性能比较六、结论实验结果表明与其他主流目标检测算法相比YOLOv5-SS算法在纺织品缺陷检测中实现了极高的检测精度且模型尺寸非常小。该算法部署成本低、检测效率高因此适用于移动设备和边缘设备。它被证明是一种高效且优越的解决方案尤其适用于纺织行业的实际应用。