当前位置: 首页 > article >正文

基于变形卷积和注意机制的带钢表面缺陷快速检测网络DCAM-Net(论文阅读笔记)

原论文链接->DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Based on Deformable Convolution and Attention Mechanism | IEEE Journals & Magazine | IEEE Xplore

DCAM-Net: A Rapid Detection Network for Strip
Steel Surface Defects Based on Deformable
Convolution and Attention Mechanism(论文标题)

 

Abstract(摘要)

 

带钢(the strip steel)表面缺陷检测是带钢生产中的关键环节,是提高带钢生产质量的重要保证。然而,由于带钢表面缺陷图像的对比度差(poor contrast),缺陷类型(defect types)、尺度(scales)、纹理结构的多样性(texture structures)以及缺陷分布的不规则性(irregular distribution),使得现有方法难以实现带钢表面缺陷的快速、准确检测。本文提出了一种带钢快速检测网,基于可变形卷积和注意机制(deformable convolution and attention mechanism),即DCAM-Net

首先,我们引入限制对比度自适应直方图均衡化 (传送门->CLAHE)作为数据增强方法(a data augmentation method),以提高缺陷图像的对比度,并突出(highlight)带钢表面图像上的缺陷特征。

其次,我们提出了一种新的(a novel)增强型变形特征提取模块(enhanced deformation-feature extraction block)(EDE-block),去解决复杂多样的以及不规则分布的带钢缺陷。通过融合变形卷积,扩展了缺陷特征提取网络的接收域,以捕获完整和全面的缺陷纹理特征。

最后,我们引入坐标注意力模块(coordination attention)(CA),以取代骨干网络(backbone)的空间金字塔池(SPP)结构,进一步分解池操作,有效地提高了网络的缺陷定位能力。在NEU-DET数据集上的实验结果表明所提出的算法的平均精度(the mean Average Precision)(mAP@loU=0.5)为82.6%,比基线网络提高了7.3%的检测速度,达到100.2帧(fps),有效提高了带钢表面缺陷的检测效率

 

Index Terms — Attention mechanism, coordinate attention, deformable convolution, object detection, surface defect detection, YOLOX.
索引词——注意力机制,坐标注意力,可变性卷积,目标检测,表面缺陷检测,YOLOX网络

 

 I. INTRODUCTION(引入)

 

①由于带钢生产工艺、环境等问题质量导致带钢存在各自缺陷,本文指出缺陷检测技术是保证高质量带钢生产的关键步骤,能够自动化程度和生产效率,降低质检人员劳动强度、成本,提高钢铁企业的市场竞争力,所以具有广泛的应用前景。

 

②缺陷检测问题,通常采用传统的图像处理与机器学习相结合的方法,主要检测缺陷的边缘形状、纹理信息、灰度变换等特征。例如,对于具有单一背景的缺陷图像,一些边缘检测算子,如SobelCanny,可用于定位简单的缺陷。对于具有周期性纹理背景的缺陷小波变换(wavelet transforms)和周期性的加伯变换(Gabor transforms)可用于将图像从空间域变换到频域进行检测。这种方法还可以表征图像的统计特性,如灰度差和灰度直方图。此外,缺陷可以通过传统的机器学习方法进行分类,如SVMrandom forest。传统的方法通常需要通过手工设计(manual design)来描述缺陷特征。而且,基于人的主观性(subjectivity),手工设计的特征很难分辨出工业表面缺陷。而面对未知且多样的缺陷类型,这些检测方法的泛化能力往往较差(poor generalization ability)。因此,当面对更复杂和不规则的缺陷时,传统的方法难以在实际的工业应用场景中应用。

 

③接着论文介绍了目标检测的部分发展历程——

Girshick开发R-CNN,此后目标检测像滚雪球一样迅速发展(object detection has snowballed)-->提出SPPnet->提出fast R-CNN,结合R-CNN和SPPnet的优点提高检测效率-->提出faster R-CNN,即使用RPN代替fast R-CNN来生成区域建议,显著提高检测速率-->YOLOv1将目标检测问题统一为回归问题-->Redmon and Farhadi提出YOLO9000,提高YOLOv1的召回和定位能力-->两人又提出YOLOv3,利用ResNet残差思想进一步提高检测速度和准确性-->Bochkovskiy等人提出YOLOv4,在neck部分的特征金字塔网络(FPN)中添加了路径聚合网络(PAN),有效提高训练速率-->YOLOv5被提出,该模型对输入图像大小进行校正,并利用k-均值对锚框(anchor)进行聚类,在计算过程中自适应计算锚框,同时在FPN中应用跨阶段部分(CSP)模块,在保证检测精度的同时显著提高检测速度,相对降低模型参数-->基于YOLOv3的YOLOX被提出,YOLOX首先用CSPDarknet53取代了主干网络(backbone),以进一步增强特征提取。其次,将传统的头改进为解耦的头(decoupled head),提高了检测网络的收敛速度和表达能力。最后,采用anchor-free代替anchor-based生成锚框,大大减少了许多锚框造成的计算和耗时问题,提高了检测网络的泛化能力和检测速度(不需要预定义锚框,因此能够更加自适应地检测不同尺寸、不同比例的目标)。

 

④论文继续介绍历程——

2020年,一种多层次特征网络(a multilevel feature network)被提出,其思想是将多层次特征结合成一个特征,以此来获得带钢表面缺陷位置的更多细节。

2021年,Kou等人将YOLOv3算法应用于带钢表面缺陷图像的数据集NEU-DET,平均精度(mAP)效应达到72.2%,说明YOLOv3在带钢表面缺陷检测中的适用性。Cheng和Yu提出了结合注意机制和自适应空间特征融合模块RetinaNet,有效地提高了对带钢表面缺陷的检测效果。Xing和Jia设计了一种新的损失函数XIOU,以更好地检测带钢表面缺陷。Gao等人提出了一个模块特征收集(a module for feature collection)和压缩网络(compression network)用来合并多尺度特征信息(multiscale feature information),并提供了一种新的高斯加权池方法取代ROI池,在NEU-DET数据集中达到了80.0%的mAP效应以及实现了64.0帧的检测速度,满足工业实时检测(industrial real-time detection)的应用要求。

2022年,Wang等人设计了一种噪声正则化(regularization)策略,可以更好地提高训练模型的鲁棒性,因为带钢表面不良图像的噪声会导致模型崩溃(model collapse)。Li等人提出了一种改进的YOLOv5网络模型,用于检测带钢表面的微小缺陷(minor defects)。在模型中嵌入了注意模块CBAM,并优化(be optimized)了检测网络结构和损失函数。在自构建的工业缺陷数据集(self-constructed industrial defect dataset)的mAP值达到91.0%。

 

⑤论文开始指出问题——

从以上综述中可以看出,近年来对带钢表面缺陷检测算法的研究,已经不同程度地提高了深度学习模型的检测精度(detection accuracy)和检测速度(detection speed),取得了良好的检测效果。然而,在带钢表面缺陷检测中,不同缺陷表面的缺陷类型、尺寸、形状和纹理特征的复杂性(complexity)仍然是一个常见的问题,使得缺陷难以准确检测,不规则的缺陷分布(irregular defect distribution)增加了检测的难度。此外,由于摄影设备和照明(illumination)的影响,带钢表面部分缺陷的图像存在对比度较低(low contrast)的问题。缺陷与背景对比度低,导致带钢表面成像后噪声较大,严重干扰(interferes)算法的缺陷检测,容易导致检测遗漏(missed detection)。

 

⑥因此,为了提高目标检测算法在钢板表面缺陷检测中的准确性和适用性,本文借鉴文献的方法,以YOLOX为目标检测模型的基础,构建了基于可变形卷积注意力机制(deformable convolution and attention mechanism)的快速检测带钢表面缺陷DCAM-Net网络,如图Fig. 1所示。

cfee4feb07f642d9aa789a3f221960a6.png

Fig. 1. Overall architecture of the DCAM-Net.

 


 

II. DCAM-NET
A. Baseline Networks
 
论文指出深度学习的锚框的生成模式尤为重要,评价YOLO系列的检测头采用的聚类生成锚框的模式会带来两个问题——
①聚类方法会导致模型在不同数据集上的 泛化能力较差,训练后生成的锚框大多不能使用,导致大量的计算冗余,从而提高了计算成本和检测速度。
②在带钢的表面缺陷图像数据中,由于缺陷之间的显著差异,聚类得到的锚框的大小容易不稳定,会在一定程度上影响检测网络模型的检测效果。
 
对比YOLO系列网络——
①YOLOX检测头部分用无锚定(anchor-free)技术取代了基于锚定的技术。采用匈牙利算法作为参考,并设计了简化最优传输分配(SimOTA)匹配算法,以减少模型训练过程中的许多冗余锚框。
②YOLOX不需要手动调整锚框的大小,从而提高了模型对不同图像的泛化能力。YOLOX对YOLOv3上的一系列改进有效地提高了检测效果和速度,特别对不同图像上的 泛化性(generalization ability to different images)。
 
因此,论文综合考虑了基于无锚框的YOLOX的优势,决定将其作为基线网络(baseline)。
 
论文又指出YOLOX也存在不足——
①由于残余结构的设计问题,YOLOX的骨干网络难以更好地改进带钢表面缺陷特征的提取。
②由于 动态样本匹配(dynamic sample matching)的问题,YOLOX在检测不规则缺陷对象方面的性能较差。与YOLO系列中传统的anchor-based的方法相比,YOLOX对复杂纹理的缺陷对象的检测性能较差,精度较低。
因此,YOLOX仍有一定的改进空间。
 
论文顺势引出自己的改进——
为了提高YOLOX算法在带钢表面缺陷检测中的性能,我们设计了一种基于可变形卷积和注意力机制(deformable convolution and attention mechanism)的带钢表面缺陷检测网络,如图Fig. 1所示。
首先,我们引入 限制对比度自适应直方图均衡化(the contrast limited adaptive histogram equalization)(CLAHE)作为一种 数据增强方法来提高缺陷图像的对比度,并突出带钢表面图像上的缺陷特征。
其次,针对复杂、不规则的带钢缺陷设计了 增强变形特征提取块(enhanced deformation-feature extraction block)(EDE-block)。通过融合(by fusing)可变形卷积(deformable convolution),扩展缺陷特征提取网络的 感受野(receptive field),以捕获完整而全面(complete and comprehensive)的缺陷纹理特征(defect texture features)。
最后,引入坐标(coordinate)注意力模块(CA)来替代backbone部分的SPP结构,有效增强了网络定位缺陷(locate the defect feature)的能力。

太长了今天先读这么多吧。。。/(ㄒoㄒ)/~~-------------------------2023/11/20 

 

 


http://www.kler.cn/news/135493.html

相关文章:

  • 开源与闭源软件的辩论:对大模型技术发展的影响
  • 基于非洲秃鹫算法优化概率神经网络PNN的分类预测 - 附代码
  • 常见的面试算法题:阶乘、回文、斐波那契数列
  • 【数据结构】树与二叉树(廿一):树和森林的遍历——先根遍历(递归算法PreOrder、非递归算法NPO)
  • Redis内存满了会宕机吗
  • 【Python百宝箱】掌握Python Web开发三剑客:Flask、Django、FastAPI一网打尽
  • 【Django-DRF用法】多年积累md笔记,第(4)篇:Django-DRF反序列化详解
  • Ubuntu 18.04/20.04 LTS 操作系统设置静态DNS
  • Hive常见的面试题(十二道)
  • 【JS】Chapter13-构造函数数据常用函数
  • 【python基础】类详解:如何编写类、__init__()、修改实例属性、类存储到模块并导入、py标准库、编写类的约定
  • STM32硬件调试器不一定准确,proteus不一定准确
  • Motion Plan之搜素算法笔记
  • Ubuntu(Linux)的基本操作
  • 什么是Mock?为什么要使用Mock呢?
  • 深度学习乳腺癌分类 计算机竞赛
  • 《微信小程序开发从入门到实战》学习二十二
  • Vue3新增加的css语法糖
  • 牛掰的dd命令,cpi0配合find备份(不会主动备份),od查看
  • 测试Bard和ChatGPT关于双休的法规和推理
  • 【Java 进阶篇】Ajax 实现——JQuery 实现方式 `ajax()`
  • java学习part06数组
  • UDP网络套接字编程
  • 【开源】基于Vue.js的高校宿舍调配管理系统
  • MATLAB读取每行文本并提取字符串后的数字
  • Vim 从何而来?
  • Go并发编程学习-class1
  • 使用 VPN ,一定要知道的几个真相!
  • 5分钟带你了解什么是敏捷测试?难点显而易见!
  • qt使用AES加密、解密字符串