专栏名称: 新机器视觉
最前沿的机器视觉与计算机视觉技术
目录
相关文章推荐
新浪科技  ·  【#OpenAI创始人称愿在AI领域与中国合 ... ·  昨天  
青塔  ·  一省发文:谋划建设大科学装置 ·  昨天  
51好读  ›  专栏  ›  新机器视觉

使用AC-YOLOv5进行自动化织物缺陷检测

新机器视觉  · 公众号  ·  · 2024-09-26 21:05

正文

导读

我们提出了一种基于ACYOLOv5的新型纺织缺陷检测方法。 将空洞空间金字塔池化(ASPP)模块引入YOLOv5主干网络中, 提出了squeeze-and-excitation(CSE)通道注意力模块,并将其引入到YOLOv5主干网络中。



摘要

面对复杂纺织纹理背景下检测问题以及不同尺寸和类型的缺陷,常用的目标检测网络在处理目标尺寸方面存在局限性,并且其稳定性和抗干扰能力相对较弱。因此,当目标类型更加多样时,可能会发生误检或漏检的情况。为了满足纺织缺陷检测的严格要求,我们提出了一种基于ACYOLOv5的新型纺织缺陷检测方法。该方法充分考虑了纺织品特有的光学特性、纹理分布、成像特性和检测需求。首先,我们将空洞空间金字塔池化(ASPP)模块引入YOLOv5主干网络中,并使用不同膨胀率的卷积核对特征图进行池化,从而从具有不同感受野的特征图中获得多尺度特征信息,这提高了不同尺寸缺陷的检测效果,而无需改变输入图像的分辨率。其次,提出了squeeze-and-excitation(CSE)通道注意力模块,并将其引入到YOLOv5主干网络中。通过自学习获取每个特征通道的权重,进一步提高缺陷检测能力和抗干扰能力。最后,利用工业现场环形针织机上建立的检测系统收集了大量织物图像,并使用自建的织物缺陷数据集进行了大量实验。实验结果表明,AC-YOLOv5在织物缺陷数据集上的整体检测准确率可达99.1%,满足了工业应用的需求。

1 介绍

在纺织品生产过程中,由于纺织机械的局限性、人为错误和材料质量等因素,会导致织物出现诸如断纱、错纹、孔洞和拉丝等缺陷。如果这些缺陷不能及时检测并纠正,将会导致生产效率降低和产品质量下降,进而造成大量浪费。因此,进行纺织缺陷检测可以提高生产效率和产品质量,降低生产成本,并促进纺织业的发展。

在传统的纺织行业中,缺陷检测一直依赖于人工目视检查。然而,人工检测容易受到主观判断的影响,并且在大规模生产中耗时且成本高昂。传统视觉方法在处理非结构化和高度变化的缺陷时也存在局限性,面对大量生产数据处理时缺乏灵活性和适应性。

随着机器视觉和深度学习技术的发展,自动化检测技术在工业中的应用变得可行。然而,自动检测技术的主要挑战在于解决高误报率和漏检率的问题,以提高纺织缺陷检测的准确性和稳定性。

目前,深度学习和机器视觉已应用于各个领域。基于机器视觉的缺陷检测方法主要包括统计分析、频域分析、模型分析和机器学习。深度学习具有强大的特征表达能力、泛化能力和跨场景应用能力。随着深度学习技术的发展,基于深度学习的缺陷检测方法已在各种工业场景中得到广泛应用,特别是在太阳能、液晶面板、铁路运输、金属材料等领域。

对于织物缺陷检测的要求相对较高,大部分缺陷倾向于断经、断纬、经缩、纬缩、破洞、松经、松纬等问题,尺寸通常在100微米以下。此外,还需要标记缺陷的确切位置,以优化生产工艺和设备参数。深度学习分类网络[10]只能获得目标的粗略定位,其定位精度与滑动窗口大小及网络分类性能有关,速度也较慢。目标检测网络最接近缺陷检测任务,能够同时获得目标的精确位置和分类信息。目标检测网络一般分为单阶段和双阶段。双阶段网络首先基于发现的目标物体位置获得边界框,以确保足够的准确性和召回率,然后通过分类边界框找到更精确的位置。双阶段算法虽然精度高但速度较慢,包括R-CNN、SPP-Net、Fast R-CNN和Faster R-CNN。而单阶段网络则直接生成目标的类别概率和位置坐标值,通过一次检测即可获得最终检测结果。单阶段网络的速度(如SSD、YOLOv3、YOLOv4、YOLOv5、YOLOv6、YOLOv7系列)通常比双阶段网络快,但精度略有损失。

YOLOv5是一种单阶段目标检测网络,具有出色的性能,实现了端到端训练而无需中间过程的干扰,并且检测速度快,可以满足实时织物检测的要求。然而,织物纹理背景复杂,缺陷的尺寸和类型各异。一些细微缺陷的特点与背景信息非常相似,难以用肉眼区分。直接将YOLOv5应用于织物缺陷检测面临较大挑战。考虑到织物的光学特性、纹理分布、缺陷成像特性和检测要求,本文提出了一种基于空洞空间金字塔池化(ASPP)和改进的通道注意机制的YOLOv5缺陷检测网络。开发了一个自动织物缺陷检测系统,并实现了其工业应用。本文其余部分组织如下:第2节介绍相关工作;第3节介绍织物缺陷检测系统;第4节详细介绍AC-YOLOv5的网络结构和损失函数;第5节展示我们的方法实验验证;第6节总结了我们的工作,并讨论了AC-YOLOv5的优点和缺点以及相关的未来研究方向。

本研究的主要贡献如下:

  1. 将ASPP模块引入YOLOv5骨干网络。该模块通过不同膨胀率构造不同感受野的卷积核来获取多尺度物体信息。在对图像进行特征提取时,具有较大的感受野,同时特征图的分辨率不会显著降低,大大提升了YOLOv5网络的织物缺陷检测能力。
  2. 提出了一种CSE注意力机制,其中在SE网络中添加了一个卷积通道,并将两个输出的和作为CSE模块的结果。将CSE模块引入YOLOv5骨干网络可以增强大尺寸缺陷的检测能力。
  3. 结合CSE和ASPP模块,我们提出了改进的YOLOv5缺陷检测网络。平均检测准确率达到99.1%,实现了织物缺陷的自动、准确和鲁棒检测。

2 相关工作

2.1 基于机器视觉的织物缺陷检测

Liu和zheng提出了一种基于人类视觉注意力机制的无监督织物缺陷检测方法。该方法使用与图像信息和纹理相关的二维熵来建模人类视觉注意力机制,然后利用四元矩阵重建图像。最后,使用超复数傅立叶变换方法将四元矩阵转换到频域。实验表明,该方法在准确性和适应性方面表现出色,但由于矩阵运算的时间成本仍需优化。此外,该方法无法用于具有周期性图案的织物缺陷检测。Jia提出了一种基于晶格分割和模板统计(LSTS)的新织物缺陷自动检测方法。该方法尝试通过对图像进行非重叠晶格分割来推断纹理基元的放置规则。然后将这些晶格作为纹理基元,用数百个基元而不是数百万像素来表示给定图像。然而,晶格分割的时间需求因不同的图案而异。为了提高准确性,额外的模板数据比较也可能减慢运行速度。Song提出了一种改进的基于织物区域成员资格(TPA)的织物缺陷检测方法,并通过分析织物表面缺陷的区域特征确定了缺陷区域的重要性。这种方法需要大量的特征提取和分析工作,这既困难又容易受到光照条件和所用相机等环境因素的影响。

2.2 基于深度学习的织物缺陷检测

Jin等提出了一种高效的卷积神经网络Mobile-Unet,以实现端到端的缺陷分割。这种方法引入了深度可分离卷积,大大减少了网络和模型的复杂度成本。然而,作为一种有监督的学习方法,它仍然需要大量的人力来进行缺陷标注。Wu提出了一种基于Faster R-CNN的宽而轻的网络结构来检测常见的织物缺陷,并通过设计扩展卷积模块提高了特征提取网络的特征提取能力。处理大规模、高分辨率图像时,检测可能会相对较慢。扩张卷积模块的设计需要大量的实验和精细调整,增加了算法设计的时间和能源成本。Li提出了三种方法——多尺度训练、维度聚类和软非极大值抑制而不是传统的非极大值抑制——以提高R-CNN的缺陷检测能力。该方法放大或缩小了详细信息,忽视了不同尺度下缺陷区域的不同特征,可能导致次优的检测结果。YOLO算法家族在目标检测方面已被证明是高效且准确的,但仍存在改进空间。近年来,基于YOLOv3和YOLOv4[27,28]算法的改进不断被提出。在多个数据集上训练可以提高准确性和检测速度。

2.3 基于机器视觉和深度学习的织物缺陷检测

Chen提出了一种基于遗传算法(GA)和反向传播的两阶段训练新方法。该方法利用Gabor滤波器在频率分析中的优势,并将其核心嵌入到Faster R-CNN卷积神经网络模型中。然而,遗传算法与反向传播算法的结合需要大量的计算资源和时间,可能导致算法处理缓慢。为了结合单阶段和双阶段网络的特点,Xie和Wu提出了一种基于改进RefineDet的稳健织物缺陷检测方法。使用RefineDet作为基础模型,该方法继承了双阶段检测器和单阶段检测器的优势,可以高效快速地检测缺陷物体。然而,该方法的稳健性需要在大量的实例数据集上进行验证。如果数据集未涵盖所有类型的缺陷,则可能导致算法性能不稳定。

3 织物缺陷检测系统

本论文设计并开发的织物缺陷视觉检测装置如图1所示。它主要包括图像获取系统和图像处理系统。图像获取系统由一个2K区域阵列相机和多个光源组成。该系统能够高质量地对圆针织机生产的织物成像,并捕捉诸如断经、断纬、经收缩、纬收缩、破洞、经松、纬松等缺陷。图像处理系统则由一台工业计算机和检测系统软件组成,以实现准确且有效的织物缺陷识别与分类。

由于织物缺陷种类繁多,直接使用深度学习网络来检测它们不仅会增加网络结构的复杂性,还会降低缺陷检测的准确性和效率。因此,本文将织物缺陷分为三类:孔洞、长条状(L_line)缺陷和短条状(S_line)缺陷,如图2所示。图中的不同缺陷用红色框标出。根据织物缺陷的成像特性、纹理分布及检测要求,织物缺陷检测的难点在于:

(1) 在采集织物图像时,由于缺陷的三维结构信息丢失,不同类型的缺陷在外形上变得非常相似。

(2) 织物缺陷检测的要求很高。检测网络必须能够处理高分辨率图像并提取特征信息。

(3) 织物缺陷复杂多样。尽管不同类型缺陷的原因不同,但外观可能并无差异,而且同一类别中的缺陷尺寸也可能不同。

(4) 织物的纹理和颜色日益多样化,复杂的背景将给检测带来显著挑战。

4 基于AC-YOLOV5的织物缺陷检测方法

Yolov5由骨干网络、颈部网络和检测头组成。骨干网络实现特征提取,颈部网络实现特征融合,而检测头输出预测结果。Yolov5使用CSPDarknet53作为骨干网络,并结合特征金字塔网络(FPN)和像素聚合网络(PAN)作为颈部网络,用于融合从骨干网络中提取的特征。同时,YOLOv5采用马赛克数据增强方法,通过翻转、随机裁剪、亮度变化等手段拼接四张图像,以丰富图像信息并增强网络的鲁棒性。YOLOv5在精度上与YOLOv4相当,但在速度和部署便捷性方面显著优于YOLOv4,目前是应用最广泛的单阶段目标检测网络之一。

YOLOv5使用3×3大小的卷积核。虽然可以通过多次下采样提取深层特征信息,但这会降低特征图的分辨率,并导致部分浅层信息丢失。因此,在检测小目标时存在困难,不利于定位。本文提出了一种改进的YOLOv5缺陷检测网络,结合了多种空间金字塔池化和通道注意力机制。网络结构如图3所示。

骨干网络由Focus、CBS、C3、SPP和ASPP模块组成。Focus模块用于将高分辨率图像信息从空间维度转换到通道维度。CBS模块包括卷积操作、批量归一化和SILU激活函数,是骨干网络的基本模块。C3模块包含一个瓶颈模块、三个外部CBS模块和一个concat模块。在图中,C3-N中的N代表堆叠的瓶颈模块数量。瓶颈模块的设计灵感来源于残差网络,旨在平滑正向和反向梯度流。三个外部CBS模块和concat模块的组合设计源自CSPNet。输入特征图通过两条路径处理,一条路径涉及1×1卷积后跟一个瓶颈模块,另一条路径则通过CBS模块,且卷积通道数减半。瓶颈模块的输出与之concat后,通过CBS模块调整至C3模块的输出通道数。SPP模块可以提高网络的平移不变性,将不同尺寸的输出图像转化为固定维度。ASPP用于获取特征图的多尺度信息,增强骨干网络的信息提取能力。

颈部网络通过四个concat模块融合四层特征图,以充分提取上下文信息,这减少了特征图信息的损失并提高了网络的识别准确性。不同深度的网络可用于识别不同尺寸的对象。为了适应目标检测过程中目标尺寸的变化,有必要融合骨干网络中不同深度的特征信息。YOLOv5使用的是FPN + PAN网络。FPN和PAN模块均基于金字塔池化操作,但方向不同。FPN通过自上而下的采样操作有助于大目标的检测。PAN通过自下而上的特征信息传递提高了小目标的检测率。这两种结构的结合增强了网络的特征融合能力。

另外,为了进一步增强Yolov5的特征提取能力,提出了CSE模块,组合了通道注意力机制和卷积模块,并用在主干网络中,极大的增强了特征提取能力。

4.1 ASPP 模块

ASPP模块最先用在DeepLabv2中,用来提升语义分割网络的能力,该方法也能用于提升检测网络。ASPP使用了不同的扩张率的卷积来得到不同感受野的特征,不需要更大的卷积核以及增加图像的分辨率。其公式如下:

如图4,ASPP使用了3x3的卷积,通过不同的扩张率,提取不同尺度的特征。得到4个不同感受野的特征图。

4.2 CBE模块

注意力机制可以很快的定位目标信息。引入注意力机制并使得网络可以重点关注到缺陷的区域可以很大程度上提升网络的能力。SE网络可以实现通道注意力,关注更重要的通道特征,忽略不重要的。SE网络如图5:

SE网络的计算方法如下:

SE(Squeeze-and-Excitation)包含三个部分:挤压、激励和缩放。具体结构如图6所示。首先,使用全局平均池化将尺寸为W × H × C的特征图压缩到尺寸为1 × 1 × C(C是通道数)。此操作生成向量z,如公式(3)所示,将每个通道的空间特征转换为具有全局感受野的全局特征。然后,将z向量送入两个全连接层和ReLU激活函数中,学习通道间的相关性。第一个全连接层通过减少通道数量来减少参数,第二个全连接层恢复通道维度,并使用sigmoid函数对通道权重进行归一化,如公式(4)所示。最后,所获得的权重被缩放到每个通道的特征上,如公式(5)所示。这一过程通过调整权重来优化输入特征映射,从而提高网络对织物缺陷的敏感度。

SE模块提高了网络对通道特性的敏感度,并且结构轻量化,对网络计算负担小。然而,SE块也存在局限性。在挤压模块中,全局平均池化过于简单,无法捕捉复杂的全局信息。在激励模块中,全连接层增加了模型的复杂性。基于此,本文提出了一种结合SE注意力机制和卷积模块的CSE模块。通过添加通道加权结果和3 × 3卷积结果,CSE模块可以显著提升网络对细长缺陷的检测能力。CSE模块的结构如图7所示。

4.3 损失函数

损失函数包含3个部分:包围框回归损失,置信度预测损失,类别预测损失。如下:

其中包围框回归损失使用CIOU:

分类损失函数和置信度损失函数均采用二元交叉熵损失函数,如公式(10)所示:

5 实验与分析

5.1. 布料缺陷数据集

本文使用的自建布料缺陷数据集来源于生产线。这些数据是由工业面阵列相机拍摄的,在经过裁剪处理后,图像分辨率为400 × 400。图像总数为2764张。熟练的技术人员对这些图像进行了分类和标注。考虑到不同类型的缺陷检测难度,由于孔洞形状规则,图像数量相对较少。对于L_Line和S_Line类型缺陷,分别收集了更多的图像:1644张和877张,具体如表1所示。

所提出的AC-YOLOv5算法的数据集包括训练集、验证集和测试集。每种类型的缺陷图像和标签大致按照70%、10%和20%的比例进行划分。具体结果如表2所示。

5.2. 软件和硬件环境设置

本实验所使用的硬件环境和软件版本如表3所示,超参数的设置如表4所示。







请到「今天看啥」查看全文