ETD-NET笔记
Stru99le Lv2

ETD-NET

ETDNet: Efficient Transformer-Based Detection Network for Surface Defect Detection

IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 72, 2023

image

设计

三种新颖的设计

  1. 引入改进的(M-LVT)提供了比基于cnn的模型更强的全局表示能力,同时保持了轻量级的设计。
  2. 设计了一个信道调制特征金字塔网络(CM-FPN),该网络具有FPN结构和全局上下文块(GC-Block)。
  3. 提出了一个面向任务的解耦(TOD)头。它使用解耦策略来减少分类任务和回归任务之间的冲突,以及一个面向任务的策略来学习面向相应任务的特征。在TOD头部,提出了局部特征表示(LFR)模块,为分类任务有效地提取对象感知的局部特征。为此专门设计了一个全局特征表示(GFR)模块

相关工作

通用目标检测

  • RCNN

    参数和计算量多,不切实际,在现实环境中受限

  • One-Stage 目标检测

    • FCOS

      无锚点探测器,它去除广泛使用的锚点,直接从点回归。

缺陷检测

与传统方法相比,基于dl的缺陷检测具有更好的泛化性能和更快的检测速度。

  • FPNs + DCNs 引入Faster RCNN中用于检测小而复杂的钢缺陷
  • 利用信道关注和自适应空间特征融合提高了retanet的检测性能
  • 采用了跳跃层连接模块(SCM)和金字塔特征融合模块(PFM)来融合多尺度特征
  • 利用信道关注和双向特征融合对FCOS网络进行了改进
  • 在yolov5中加入了transformer
  • 在编码器-解码器网络(EDNet)中引入了交叉注意转换器(CAT)用于表面缺陷检测

注意力机制

  • SENet

    SENet提出了一种通道注意机制,在图像分类任务中取得了良好的性能. SENet首先通过全局平均池化(GAP)将每个通道转换为一个值,然后使用两个完全连接的层来获得通道间的关系

  • 空间减少注意力(SRA)

方法

  1. VIT

    ViT块由两部分组成:自关注和前馈网络(FFN)。FFN是ViT块中的另一个模块,可以进一步捕获潜在的特征模式

    • 缺点:当ViT直接应用于需要高分辨率输入的缺陷检测场景时,其自关注模块的计算负担是压倒性的,无法承受的。

总体架构

  • backbone

    • M-LVT

      轻量级VIT模型;LVT它采用标准的四阶段分层设计;两个模块:包括CSA模块(卷积自注意力模块)和RASA模块(多尺度空洞卷积模块),CSA模块嵌入在第一阶段,RASA嵌入在其余阶段。CSA模块在大小为3 × 3的核内的卷积中引入自我注意力,增强卷积层的特征提取能力。STEM+CSA代表了两个模块的组合:STEM模块和CSA(卷积自注意力)模块。STEM模块用于在浅层对特征图进行下采样并捕获更多语义信息。RASA模块通过递归自关注(递归深度为2)来捕获多尺度全局特征,通过将STEM模块与CSA模块结合,ETDNet在特征提取的初始阶段能够更有效地处理输入数据,提高模型整体的检测性能。

      缺陷:当LVT应用于缺陷检测任务时1.在LVT中堆叠过多的层会导致检测器的效率降低。2.LVT的主干(stride=4的卷积层)可能会丢失一些语义细节,3.由于缺陷检测和定位需要比图像分类任务更大的接受域,RASA中的扩张率不足以用于缺陷检测任务

      改进:

      • 将四个阶段的层数重新排列为[1,1,2,2],而不是原始LVT中的[2,2,2]
      • 设计新的阀杆,利用一个卷积层(3 × 3, stride=2)对feature map进行下采样,将通道维数从3扩展到32。使用两个并行分支(包括卷积分支和平均池化分支)进一步对特征映射进行下采样。将两个分支的输出连接并馈送到1 × 1卷积层中以进一步细化。由于其在浅层的线索保留能力,所提出的词干可以捕获更多的语义信息。
      • 原始的RASA使用三种扩张速率(1,3,5)的扩张卷积。引入了一个额外的扩张速率7来形成一个更大的接受野。
  • Neck

    • CM-FPN

      信道FPN ,GC-Block+FPN

      GC-Block首先设计了一个独立于查询的简化非局部网络,计算一个特征点的自关注来表示整个特征图的关注。然后,GCNet采用挤压和激励(SE)块通过两个FC层对信道关系进行建模。

  • Head

    训练的卷积层是内容不可知的,捕获的局部特征适用于分类任务,而不适用于回归任务。原因是分类任务只需要响应对象的特定特征。相比之下,回归任务需要考虑全局特征来定位各种形状和规模缺陷的边界。

    • TOD头

      LFR模块和GFR模块来解决两个任务。LFR通过卷积和通道关注模块学习对象感知的局部特征以响应特定对象。GFR采用内容自适应变压器模块来提高GFR,从而更好地定位缺陷。

      • LFR模块

        提出了一个由标准卷积层和高效压缩激励(ESE)块组成的LFR模块。ESE块首先通过GAP将每个通道转换为一个值。然后,它采用FC层,然后Swish激活来获得信道缩放因子。最后,它重新缩放输入特征映射的每个通道,以建模通道关系。ESE通过重新校准每个通道的权重,从通道维度增强对象的特定特征。

      • GFR模块

        由三个部分组成:信道自注意(CA)、深度卷积(DW)和FFN。与训练后权重固定的标准卷积层不同,卷积层是内容自适应的,即在推理过程中,值矩阵的权重与输入X相关。为了提供GFR模块的感应偏置,利用CA和FFN之间的深度卷积(DW)来补偿模块的空间性和局部性。使用快捷连接和元素加法,此外,还提出了一种解耦的群GFR (G-GFR)模块,其中GFR中FFN的FC层通过群卷积实现,群数为2。G-GFR可以增强TOD头部的全局表示能力,并通过群卷积将特征解耦成两个部分。

    损失函数

该模型将计算三类损失,包括分类损失(Lcls)、对象损失(Lobj)和回归损失(Lreg),总训练损失是它们的加权和。

  • 对象性损失:

​ $$ L_{\mathrm{obj}}=-[y\cdot\log x+(1-y)\cdot\log(1-x)] $$

​ 其中x为客观得分,y等于0或1,表示预测是缺陷或背景

  • 分类损失:

    ​ $$L_{\mathrm{cls}}=-\sum_{i=1}^c[y_i\cdot\log x_i+(1-y_i)\cdot\log(1-x_i)]$$

    ​ C表示缺陷类别的数量,x是预测的类置信度。y为软标签,其中目标类的标签为预测框与指定的地面真值框之间的IOU(交集)分数,其他类的标签为0。

  • 回归损失

    ​ $$L_{\mathrm{reg}}=1-\mathrm{IOU}_{\mathrm{pre}}^{gt}.$$

    ​ 回归损失是预测边界盒(pre)与地面真值盒(gt)之间的IOU损失

  • 总损失函数

    ​ $$L_{\mathrm{total}}=\frac{1}{N_{\mathrm{pos}}}\left(\sum_{i=1}^{N_{\mathrm{pos}}}L_{\mathrm{cls}}+\lambda\sum_{i=1}^{N_{\mathrm{pos}}}L_{\mathrm{reg}}+\sum_{i=1}^{N}L_{\mathrm{obj}}\right)$$

    $N_{pos}$为SimOTA标签分配策略获得的阳性样本个数,N表示输入图像的总样本(预测)(特征映射的每个点将预测一个框),本文中的λ(根据经验设置为5)是回归损失的平衡权值

    实验

  • 数据集

    NEU-DET数据集共包含1800张图像,每张图像的大小为200 × 200像素

    SEDD包含7563张图像,分辨率为1920 × 1080。它收集了污水管道三种典型表面缺陷的图像:裂纹、根部和沉积物。

    AT-FDD数据集包括20种缺陷,如缺陷、磨损痕迹、结、翘曲、孔洞等。每张图像的大小为4096 × 1696,选取5913张图像进行评价

    NEU-DET用于评估ETDNet的检测能力(第IV-B节)和提议模块的有效性(第IV-C节)。SEDD和AT-FDD用于评估ETDNet的泛化能力(章节IV-E)。

  • 评价指标

    采用了平均精度(mAP)、模型大小(Params)、浮点运算(GFLOPs)和每秒帧数(FPS)作为评价指标。

    选择AdamW作为优化器,权重衰减为0.05。初始学习率为((1.6e−3)/48)×批大小,批大小为24。我们使用余弦学习率计划,前20次热身,总训练时间为110次。为了避免过拟合,提高检测的鲁棒性,我们采用了四种数据增强方法,包括颜色抖动、随机水平翻转、MixUp和Mosaic。由于MixUp和Mosaic将破坏数据分布,在最后30个epoch关闭它们。最后的结果是五次实验的平均值,以4:1的比例进行评估