CARL-YOLOF: 一种用于数字印花织物缺陷检测的高效模型

  1. 摘要

深度学习模型已成功应用于织物缺陷检测领域。然而,由于数字印花织物缺陷检测领域缺乏可用的数据集,相关研究仍不充分。此外,现有的深度学习模型无法很好地解决两个棘手的挑战。一方面,实际生产要求模型在保证实时检测的同时,尽可能提高其检测精度。另一方面,分类和定位的目标是相互关联的,因此,对于一个优秀的物体检测模型,应建立分类和定位之间的联系。为了解决这些问题,本文将分类感知回归损失(CARL)嵌入到YOLOF中,以关联分类和定位任务,由此将该模型命名为CARL-YOLOF。所提出模型的性能通过自建的数字印花织物缺陷检测数据集(DPFD-DET)进行了训练和评估。实验结果表明,CARL-YOLOF在COCO评估指标上达到了0.54的AP值,相比YOLOF提升了0.04。此外,CARL-YOLOF保持了YOLOF的速度优势,达到了42 FPS。因此,所提出的模型适用于实时数字印花织物缺陷检测。

关键词:数字印花,织物缺陷检测,YOLOF,CARL,深度学习

2. 介绍

印染工业是纺织工业的重要组成部分,而纺织品印花是提升纺织品附加价值的关键工序。数字印花技术作为一种新型印花技术,与传统的印花技术(如辊筒印花、丝网印花、转移印花等)相比,能为纺织品提供更逼真、更鲜艳、更自然的印花效果,并进一步提升了纺织品的附加价值。同时,印花过程中的一系列复杂因素可能对纺织品质量产生不利影响,例如坏布上浆染色不均、喷墨印花系统不稳定、蒸化机滴水等,这些都会导致印花缺陷,如PASS道、PASS道痕、漏墨、空白、重影、毛绒、漏水、浆斑等。图1展示了数字印花织物缺陷的样本。

图1. 数字印刷缺陷数据库中的部分示例图像:(a) 单条扫描痕迹,(b) 多条扫描痕迹,(c) 漏墨,(d) 空白,(e) 重影,(f) 绒毛,(g) 漏水,以及 (h) 纸浆块。

因此,数字印花织物缺陷检测已成为印染质量监控中有效且不可或缺的一环。

近年来,将深度学习的理论知识有效应用于织物缺陷检测领域仍是一个热门话题。Peng等人提出了一种先验锚点卷积神经网络(PRANNet)用于织物缺陷检测,以提高织物缺陷的检测和定位精度。Zhu等人提出了一种改进的DenseNet模型,以更好地适应资源受限的边缘计算场景。Li和Li基于Cascade R-CNN提出了三种技巧,以进一步提高织物缺陷检测的精度。然而,由于可用数据集的限制,以往织物缺陷的研究对象主要集中在白坯布、纯色布和单纹理色布上,而对数字印花织物的研究则非常有限。

数字印花织物缺陷检测性能的提升与检测器的发展密切相关。正负锚点的定义和损失函数是检测器的两个核心组成部分,它们理论知识的不断丰富对检测器的发展具有重要意义。

在正负锚点定义方面,我们简要回顾以下几种代表性方法,如Max-IoU、ATSS、Uniform-match。首先,Max-IoU采用锚点框与真实框之间的IoU(交并比)作为衡量正负锚点的标准,该方法已灵活应用于SSD、BAGS和PISA中。随后,ATSS使用动态IoU阈值,以便更有效地为每个目标匹配数量稳定的正锚点。与上述方法不同,Uniform-match基于真实框与锚点框之间的中心点距离,为每个真实框匹配固定数量的正锚点所对应的预测框,这提高了模型在稀疏锚点空间中检测每个目标的能力。

就目标检测的损失函数而言,它具体分为分类损失函数和边界框回归损失函数,二者协同完成检测任务。对于分类损失函数,通常要求通过难样本挖掘或软采样来提高模型检测正样本的能力。对于边界框回归损失函数,通常考虑如何使边界框更好地回归,这体现在回归损失函数的发展轨迹中。然而,上述两个任务并未建立直接联系,因此,分类感知回归思想的产生引起了研究人员的广泛关注。

本文受YOLOF和CARL的启发,提出了CARL-YOLOF来解决上述问题。我们研究的主要贡献可归纳为三个方面:

a. 与YOLOF相比,所提出的CARL-YOLOF实现了更高的检测精度。

b. 我们建立了一个数字印花缺陷数据集DPFD-DET,为数字印花领域提供了研究样本。

c. 与其他先进检测器相比,我们的模型更适用于实时数字印花织物缺陷检测。

3. YOLOF基线

作为当前先进检测器的代表,YOLOF与其他检测器相比,在速度和精度之间实现了有效平衡,其成功源于基于大量消融实验对特征金字塔网络(FPN)的客观分析。因此,可以得出一个结论:FPN能够有效提高检测器的精度,这主要依赖于分治策略,而非多级特征融合。此外,FPN的引入会严重阻碍检测器的检测速度,因为其复杂的路径连接方式加剧了前向推理过程中的内存访问频率,更不用说其他更复杂的路径连接方式了。为了解决这些问题,YOLOF提出了结构简单的空洞编码器,弥合了空洞编码器与FPN之间的精度差距,其结构如图2所示。

图2. 扩张编码器示意图。

首先,应用1×1卷积以4倍的比例进行通道降维。然后,使用带空洞的3×3卷积来扩大感受野。此外,采用1×1卷积来恢复通道数。最后,在输入和输出之间使用捷径连接,以探索模型对大尺度物体的感知能力,同时保留对原始输入中小尺寸物体的感知能力。

4. CARL-YOLOF

检测器的功能可以概括为实现两个特定任务,即分类和回归。然而,仅出色地完成其中任何一个任务并不能直接反映检测器的精度,这一事实如图3所示。

图3. 缺陷检测结果通过两张图像进行展示。对于图像(a),黑色框标示了实际的油墨渗漏缺陷,红色框对应图像的检测结果;其中置信度分别为0.98、0.97和0.96的预测框被判定为真阳性(True Positive),其余预测框被判定为假阳性(False Positive)。对于图像(b),黑色框标示了实际的纸浆缺陷,红色框对应图像的检测结果;其中置信度为0.99的预测框被判定为真阳性,其余预测框被判定为假阳性。

假阳性(False Positive)被非极大值抑制(NMS)保留,这显著影响了检测器的性能。可以看出,假阳性的置信度满足正分数阈值的要求,但它们的边界框明显不满足正IoU阈值的要求,因此我们尝试构建一个将边界框回归和分类相关联的损失函数,以进一步提高检测器的精度。

受YOLOF和CARL的启发,我们提出了CARL-YOLOF,其训练流程如下所示:

如图4所示,CARL-YOLOF的训练流程是基于YOLOF和CARL模块设计的。对于YOLOF,它由三个组件构成:(1)主干网络(Backbone),本文选择ResNet50进行定量研究;(2)颈部网络(Neck),由四个连续的空洞编码器组成;(3)YOLOF头部(Head),根据类别数、锚点生成器标准和来自颈部网络的输入通道数进行制定。CARL模块建立了分类和回归之间的联系。具体来说,回归分支受到分类损失的监督,具有更高预测概率的正锚点会在回归时获得较大的梯度,这迫使模型在训练过程中更加关注它们。受YOLOF和CARL的启发,所提出的CARL-YOLOF保持了YOLOF精简的网络结构,并且嵌入的CARL模块加强了模型对重要样本的关注。因此,与YOLOF相比,CARL-YOLOF在不影响推理速度的前提下实现了更高的检测精度。

5 CARL模块

CARL模块如图4所示,

图4. CARL-YOLOF 训练流程示意图。该训练流程可分为两部分:(1) YOLOF;(2) CARL 模块。CARL 模块包含两个过程:红色箭头表示构建损失函数(如 Focal loss、CIoU loss 和 CARL),另一部分则表示利用 Uniform-Match 策略定义正负锚框。

它包含两个过程。首先,我们根据锚点框和真实框之间的关系定义正负锚点。然后,我们建立损失函数来训练模型。

对于前者,采用Uniform-Match策略来定义正负锚点。具体来说,它基于真实框与锚点框之间的中心点距离,为每个真实框匹配固定数量的正锚点所对应的预测框,这确保了在稀疏锚点空间中存在大量的正样本。

对于后者,将Focal Loss应用于分类任务,以提高模型检测难样本的能力。在边界框回归损失方面,我们引入CIoU Loss和CARL来构建分类与回归之间的联系,以提高检测器的性能。我们提出的回归损失函数可以表示如下:

其中,程度因子 𝑘 表示回归对重要正锚点的关注程度,𝑝𝑖 表示正锚点的预测概率,𝑏 是 𝑝𝑖

影响回归任务的尺度因子,且 0≤𝑏≤1。然后,我们使用指数函数将 𝑝𝑖 转换为 𝑢𝑖,并根据所有样本的平均值对其进行重新缩放得到 𝑐𝑖。𝑑𝑖 表示输出的回归偏移量,𝑑˙𝑖 表示期望的回归偏移量。𝐿𝐶𝑙𝑜𝑈 是常用的CIoU损失。显然,𝑝𝑖 和 𝑐𝑖 之间呈正相关。对于正锚点,较高的 𝑝𝑖 意味着回归损失的额外增加,这迫使模型在训练阶段更加关注它们。同样,具有较高 𝑝𝑖 的正锚点更为重要,因为它们是推理阶段在NMS期间首先被保留的。CARL模块迫使所提出的模型更加关注重要样本而非不重要样本,与YOLOF相比,这进一步提高了检测精度。

6 实验与结果

6.1 数字印花数据集

在本文中,我们建立了一个用于数字印花缺陷检测的综合数据集DPFD-DET。为了建我们的数据集,我们首先收集了包含八种缺陷类型(PASS道、PASS道痕、漏墨、空白、重影、毛绒、漏水、浆斑)的数字印花缺陷图像。接下来,由于高分辨率的数字印花织物缺陷图像增加了模型的训练难度,我们将缺陷区域随机裁剪为较低的分辨率,包括 256×256、384×384、416×416、512×512,裁剪操作如图5所示。

图5. 采集到的数码印花织物缺陷图像示例。具体而言,数码印花织物缺陷图像(a)−(d)分别截取自原始图像中的四个不同表面区域1、2、3和4。

然后,我们使用LabelImg软件将收集到的数据集标注为八个类别。最后,将数据集按8:1:1的比例划分为训练集、验证集和测试集。每个类别的详细统计数据如表1所示。

6.2 实现细节和评估指标

所有主干网络的初始化权重均从COCO2017数据集上训练好的模型迁移而来。所有其他权重均通过"Xavier"范式初始化。在微调过程中,我们将最大轮数设为30,并使用SGD作为优化器。对于SGD优化器,基础学习率设为0.001,权重衰减设为0.0001,动量常数设为0.9,批大小设为4。所有模型训练均在配备Intel E5-2680v3处理器(2.5 GHz)、128GB内存和1张NVIDIA GeForce 2080 Ti的深度学习工作站上完成。

在我们的实验中,使用FPS和COCO评估指标(𝐴𝑃,𝐴𝑃50,𝐴𝑃75,𝐴𝑃𝑆,𝐴𝑃𝑀,𝐴𝑃𝐿)来评估模型性能。(1)FPS:检测速度;(2)COCO指标:检测精度;评估指标FPS的定义如下:

其中 𝑁𝑓𝑟𝑎𝑚𝑒𝑠 表示总图像帧数,𝑇𝑡𝑜𝑡𝑎𝑙 表示总花费时间。为了计算FPS(包括推理阶段和后处理阶段),批大小设为1,输入图像尺寸固定为 416×416。

6.3 整体实验

我们使用ResNet50作为主干网络,并采用相同的配置来验证我们的实验结果。CARL-YOLOF与其他先进模型在DPFD-DET测试集上的性能对比如表2所示。

与YOLOF相比,在相同推理速度下,CARL-YOLOF在 𝐴𝑃,𝐴𝑃75,𝐴𝑃𝑆,𝐴𝑃𝐿 指标上分别实现了0.04、0.03、0.03、0.04的不同程度提升。与其他模型相比,我们的模型在综合 𝐴𝑃 指标上表现最佳。此外,我们的模型在𝐴𝑃75 和 𝐴𝑃𝐿 指标上处于领先地位,表明它能满足更严格的边界框回归标准,并且具有出色的检测大尺度缺陷的能力。然而,与Faster-RCNN相比,我们的模型在 𝐴𝑃50,𝐴𝑃𝑆,𝐴𝑃𝑀 指标上表现较低,这源于其更简化的网络结构降低了表达能力。

前两列分别显示了模型的框架和主干网络。最后六列分别显示了模型在六个指标(𝐴𝑃,𝐴𝑃50,𝐴𝑃75,𝐴𝑃𝑆,𝐴𝑃𝑀,𝐴𝑃𝐿)上的精度,FPS是在我们的工作站上评估的。所有指标均在固定图像尺寸 416×416 下测量。超参数消融实验。为了验证CARL模块的超参数(k, b)对检测精度的影响,程度因子 𝑘 采用了三个备选常数值(0.5, 1, 2),𝑏 设置为常数(0-1,间隔为0.2)。通过表3,可以总结出一个结论:目标检测任务是分类任务和边界框回归任务的统一。具体来说,

当 𝑏 恒定时,超参数 𝑘 通常主导分类概率对边界框回归的影响;当 𝑘 恒定时,尺度超参数 𝑏 可以反映分类概率对边界框回归影响的比例,因此检测器的精度会随着常数 𝑏 的良好选择而提高。大量消融实验已验证,CARL中超参数设置为 (𝑘=2,𝑏=0.8) 时,我们的模型能达到最佳检测精度。与YOLOF((𝑘=1,𝑏=1))相比,𝐴𝑃 指标提升了0.04。图6展示了CARL-YOLOF模型在DPFD-DET测试集上的检测示例。

图6. 使用CARL-YOLOF模型在DPFD-DET测试集上的检测示例。图中展示了置信度高于0.5的检测结果。

7 结论

在本文中,我们提出了用于数字印花织物缺陷检测的CARL-YOLOF模型。该模型在一定程度上有效平衡了检测精度和速度,为解决数字印花织物缺陷难以检测的问题提供了理论参考价值。

分类感知回归策略可以有效地加强YOLOF模型中分类任务和回归任务之间的联系。实验结果表明,采用ResNet50主干网络的CARL-YOLOF在我们自建的DPFD-DET数据集上的 𝐴𝑃,𝐴𝑃75,𝐴𝑃𝑆,𝐴𝑃𝐿 指标上实现了不同程度的提升。此外,CARL-YOLOF保持了YOLOF的速度优势,达到了42 FPS。因此,所提出的模型适用于实时数字印花织物缺陷检测。

相关推荐
前网易架构师-高司机4 小时前
带标注的21种中药材识别数据集,识别率73.8%数据集,2237张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·中药·药材·中草药
吃鱼不卡次1 天前
YOLO26目标检测网络结构
yolo·目标检测·yolo26
向哆哆1 天前
高质量人体检测与行人识别数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测·分类
阿拉斯攀登1 天前
售货柜实战:IPC 拉流 → 抽帧 → YOLO 识别完整流水线
yolo·ffmpeg·音视频·webrtc·视频编解码
懂AI的老郑1 天前
面对小众场景的目标检测联合智能体零样本检测可行性分析
人工智能·yolo·架构
断眉的派大星2 天前
YOLO实例分割详细解析
人工智能·yolo·计算机视觉
2601_951659992 天前
4.19华为OD机试真题 新系统 - WIFI设备网络规划 (JavaPyCC++JsGo)
深度学习·yolo·计算机视觉·yolo11·yolo26
2601_951659992 天前
4.19华为OD机试真题 新系统 - 8位LED控制器 (JavaPyCC++JsGo)
深度学习·yolo·计算机视觉·yolo11·yolo26
前网易架构师-高司机2 天前
带标注的打电话识别数据集,识别率98.9%,9723张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·手机·数据集·打电话