基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络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)的能力。

B. CLAHE 

由于摄像(image-capturing)设备、光变化、噪声和环境干扰的影响,带钢表面缺陷图像对比度较低。缺陷与背景之间的对比度较低,导致带钢表面成像后的噪声会干扰算法的缺陷检测,容易导致缺失检测(it is easy to cause the missing detection)。Reza提出利用CLAHE技术对照度较差的图像进行实时图像增强(real-time image enhancement),使图像获得了良好的对比度增强效果。因此,在数据增强方面(in terms of data augmentation),本文考虑增强带钢表面缺陷图像的对比度。目前,许多缺陷检测算法还没有使用对比度增强(contrast enhancement)的方法对带钢表面缺陷数据集进行增强。鉴于(given)CLAHE具有良好的对比度增强效果,本文将CLAHE应用于数据增强,以提高检测网络对带钢表面缺陷的捕获能力。

 C. EDE-Block

在这个模块部分,论文先指出了传统卷积存在的问题,即网络的感受野被卷积大小所限制,故有人提出采用可变性卷积替代传统的标准卷积进行偏移学习——

在带钢表面缺陷检测过程中,缺陷的不同类型、尺寸、形状和纹理特征是导致检测难度和网络存在的普遍问题(general issues)。在深度学习模型中,由于卷积结构的固定性(the fixed structure of convolution),在特征提取(feature extraction)过程中,网络的感受野范围(the receptive field range of network)将被限制在卷积的大小上。然而,带钢表面缺陷的图像往往存在不规则特征,传统的卷积方法有限。为了提高卷积神经网络(convolution neural network)对带钢表面缺陷的检测性能(detection performance),必须扩大(expand)检测网络的感受野。大的感受野可以使检测网络更好地学习长程空间关系(long-range spatial relationship),建立隐式空间模型(implicit spatial model),Dai等人提出使用可变形卷积代替标准卷积通过可变形卷积进行偏移学习(offset learning),使检测网络能够动态地(dynamically)捕获完整的纹理缺陷特征

主要(primary)的方法是通过在标准卷积上添加一个学习偏移量(learning offset)来扩展(extend)卷积核的采样范围(sampling range)。可变形卷积采样的偏移例子如图Fig.2所示。由于带钢表面缺陷的形状不同,标准卷积对非刚性带钢(nongrid strip steel)表面缺陷特征取样的影响是平均的。相反(on the contrary),可变形卷积可以在采样过程中(in the sampling process)拟合(fit)带钢缺陷对象的形状,以学习完整的对象特征。

可变形卷积的计算公式可定义为:

其中R定义了接受野的大小(size)和扩张(dilation),它的值为R={(−1,−1), (−1,0),…,(0,1),(1,1)}。 p 0 为中心点位置, p n 为R范围内的9个位置,1 pn为学习偏移量,使得采样点扩散成非网格结构。
Fig. 2. Two different 3 × 3 sampling forms of the convolutional kernel.
(a) Standard convolution. (b) Deformable convolution.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/170473.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于使用宝塔页面Nginx的一些注意事项:Nginx不生效情况,以及解决方案

判断Nginx是否正常运行 使用宝塔页面保存Nginx配置后,有的时候不生效,这就说明Nginx没有正常运行 可以通过以下几种方式排查 通过宝塔 如果能够打开负载状态,说明Nginx运行正常 如果打不开,说明肯定是配置文件或者什么导致ngi…

探索人工智能领域——每日30个名词详解【day4】

目录 前言 正文 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以…

ros2机器人上位机与下位机连接方式(转载)

从硬件连接、通信协议和软件设计开发,上位机如何控制下位机? 由你创科技2023-09-07 10:38广东 随着科技的不断发展,自动化控制系统已经广泛应用于各个行业。在自动化控制系统中,上位机和下位机是两个重要的组成部分。上位机主要…

NX二次开发UF_CAM_ask_opt_template_object 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_opt_template_object Defined in: uf_cam.h int UF_CAM_ask_opt_template_object(UF_CAM_opt_t * opt_object ) overview 概述 This function provides the object which is used to in…

NX二次开发UF_CAM_ask_post_template_name 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_post_template_name Defined in: uf_cam.h int UF_CAM_ask_post_template_name(const char * * post_template_filename ) overview 概述 This function provides the name of the file…

上位机下位机串口通信设计详解(转载)

直观学PLC • 来源:直观学PLC • 2023-02-21 09:55 • 4233次阅读 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们…

人工智能AI 全栈体系(十三)

第二章 计算机是如何学会下棋的 人类棋手在下棋时,会根据自己的经验只考虑在当前棋局下最重要的几个可能的走法,但是计算机没有这种经验。 知识太复杂了,需要考虑很多具体的情况,一旦知识总结的不到位,可能就会出现大…

【寒武纪(14)】硬件系统由标量指令、向量指令、张量指令、访存指令构成

我们在文档《Cambricon-BANG-C-Developer-Guide-EN-v4.5.1》的build-in function 发现,存在三种计算:矩阵乘法、标量类型、向量。 查阅《Cambricon-BANG-C-CProgramming-Guide-CN-v1.5.0.pdf》可知,硬件系统由标量指令、向量指令、张量指令、…

提升工作效率,使用AnyTXT Searcher实现远程办公速查公司电脑文件——“cpolar内网穿透”

文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况,异地办公或者不在公司,想找…

STM32 Flash

FLASH简介 Flash是常用的用于存储数据的半导体器件,它具有容量大,可重复擦写,按“扇区/块”擦除、掉电后数据可继续保存的特性。 常见的FLASH主要有NOR FLASH和NAND FLASH两种类型。NOR和NAND是两种数字门电路,可以简单地认为FL…

计算机毕业设计python企业员工人事管理系统vue

管理员: 1.员工资料管理:查看员工列表,添加职工,修改信息(搜索员工使用模糊查询) 2.部门管理:查看部门列表,修改信息,添加新部门 3.职工考勤管理:添加&#x…

你知道如何实现游戏中的透视效果吗?

引言 游戏中的透视效果可以合理运用CtrlCV实现。 不知道大家有没有这样一段经历:在做Cocos项目时需要一些特定的Shader去做一些特定的效果,例如透视、高光、滤镜等等,想自己写吧,不怎么会啊,网上又找不到&#xff0c…

EtherCAT从站EEPROM分类附加信息详解:RXPDO(输入过程数据对象)

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 分类附加信息——RXPDO(输入过程数据对象) 1.1 分类附加信息规范 在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息、SM配置、FMMU配置在内的诸多信息。每个信息在一段连续的…

会议剪影 | 思腾合力受邀出席第四届长三角文博会并作主题演讲

以“担当新使命:长三角文化产业的力量”为主题的「第四届长三角国际文化产业博览会」于2023年11月16日-19日在国家会展中心(上海)成功举办。思腾合力作为行业领先的人工智能基础架构解决方案商出席本次盛会。 此次展会的面积首次超过10万平米&#xff0c…

BUUCTF [BJDCTF2020]一叶障目 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 得到的 flag 请包上 flag{} 提交。来源:https://github.com/BjdsecCA/BJDCTF2020 密文: 下载附件,解压得到一张.png图片。 解题思路: 1、在010 Editor中打开&#x…

【六祎 - Dubbo】Dubbo 应用 XML配置分析;Dubbo 配置篇;Dubbo参考手册

Dubbo 应用 XML配置分析 演示案例:提供者代码xml配置消费者代码xml配置 参考地址: 手动配置 https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/overview/ 配置说明 xml配置 https://cn.dubbo.apache.org/zh-cn/ov…

Haclon简介及数据类型

Haclon简介 HALCON是由德国MVtec公司开发的机器视觉算法包,它由一千多个各自独立的函数(算子)构成,其中除了包含各类滤波、色彩以及几何、数学转换、形态学计算分析、图像校正,目标分类辨识、形状搜寻等基本的图像处理…

Linux常用命令——builtin命令

在线Linux命令查询工具 builtin 执行shell内部命令 补充说明 builtin命令用于执行指定的shell内部命令,并返回内部命令的返回值。builtin命令在使用时,将不能够再使用Linux中的外部命令。当系统中定义了与shell内部命令相同的函数时,使用…

基于Python实现用于实时监控和分析 MySQL 服务器的性能指标和相关信息工具源码

MySQL命令行监控工具 - mysqlstat 介绍 mysqlstat 是一个命令行工具,用于实时监控和分析 MySQL 服务器的性能指标和相关信息。 它可以帮助 DBA(数据库管理员)和开发人员定位和解决数据库性能问题。 以下是 mysqlstat 工具的主要功能&#…