基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络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 StripSteel Surface Defects Based on DeformableConvolution 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(引入)
①由于带钢生产工艺、环境等问题质量导致带钢存在各自缺陷,本文指出缺陷检测技术是保证高质量带钢生产的关键步骤,能够自动化程度和生产效率,降低质检人员劳动强度、成本,提高钢铁企业的市场竞争力,所以具有广泛的应用前景。
②缺陷检测问题,通常采用传统的图像处理与机器学习相结合的方法,主要检测缺陷的边缘形状、纹理信息、灰度变换等特征。例如,对于具有单一背景的缺陷图像,一些边缘检测算子,如Sobel和Canny,可用于定位简单的缺陷。对于具有周期性纹理背景的缺陷,小波变换(wavelet transforms)和周期性的加伯变换(Gabor transforms)可用于将图像从空间域变换到频域进行检测。这种方法还可以表征图像的统计特性,如灰度差和灰度直方图。此外,缺陷可以通过传统的机器学习方法进行分类,如SVM和random 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所示。
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个位置,△ p n 为学习偏移量,使得采样点扩散成非网格结构。
(a) Standard convolution. (b) Deformable convolution.
明天继续读。。。。。
相关文章:
基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络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 Base…...
el-table 对循环产生的空白列赋默认值
1. el-table 空白列赋值 对el-table中未传数据存在空白的列赋默认值0。使用el-table 提供的插槽 slot-scope:{{ row || ‘0’ }} 原数据: <el-table-column label"集镇" :propcity ><template slot-scope"{row}">{{…...
新一代网络监控技术——Telemetry
一、Telemetry的背景 传统的网络设备监控方式有SNMP、CLI、Syslog、NetStream、sFlow,其中SNMP为主流的监控数据方式。而随着网络系统规模的扩大,网络设备数量的增多,网络结构的复杂,相应监控要求也不断提升,如今这些…...
java斗牛,咋金花
无聊时间,打发下游戏 简单说下思路 目录 1.创建牌对象 2.创建52张牌,不包含大小王 3.洗牌 4.发牌 1.创建牌对象 2.创建52张牌,不包含大小王 3.洗牌 4.发牌 /*** 扑克牌*/ public class Poker {/*** 花色*/private String cardSuits…...
深信服技术认证“SCSA-S”划重点:信息收集
为帮助大家更加系统化地学习网络安全知识,以及更高效地通过深信服安全服务认证工程师考核,深信服特别推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 深信服安全服务认证工程师…...
代码逻辑修复与其他爬虫ip库的应用
在一个项目中,由于需要设置 http_proxy 来爬虫IP访问网络,但在使用 requests 库下载文件时遇到了问题。具体表现为在执行 Python 脚本时,程序会阻塞并最终超时,无法正常完成文件下载。 解决方案 针对这个问题,我们可以…...
字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)
DM8:达梦数据库 字符串结尾空格比较相关参数BLANK_PAD_MODE 环境介绍1 BLANK_PAD_MODE01.1 初始化数据库1.2 创建测试表 T0 2 BLANK_PAD_MODE12.1 初始化数据库2.2 创建测试表 T1 3 BLANK_PAD_MODE只对字段varchar类型生效3.1 BLANK_PAD_MODE 对char 类型对比无效3.2 在两个数据…...
微型计算机原理MOOC题
一、8254 1.掉坑了,AL传到端口不意味着一定传到的是低位,要看控制字D5和D4,10是只写高位,所以是0A00.。。 2. 3. 4.待解决:...
TensorFlow实战教程(十八)-Keras搭建卷积神经网络及CNN原理详解
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章详细讲解了Keras实现分类学习,以MNIST数字图片为例进行讲解。本篇文章详细讲解了卷积神经网络CNN原理,并通过Keras编写CNN实现了MNIST分类学习案例。基础性文章,希望对您有所帮助! 一…...
uniapp为什么能支持多端开发?uniapp底层是怎么做的?
文章目录 前言uniapp为什么能支持多端开发?uniapp底层是怎么做条件编译uniapp的语法uniapp如何编译为不同端的代码uniapp的底层是如何做平台特性适配的呢?后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:uniapp &…...
《数据仓库入门实践》
前言: 1、问什么要写这篇博客? 随着自己在数仓岗位工作的年限增加,对数仓的理解和认知也在发生着变化 所有用这篇博客来记录工作中用到的知识点与经验 2、这篇博客主要记录了哪些内容? 在日常工作中,发现刚接触不久数仓…...
什么是arguments对象?
arguments 对象是 JavaScript 中的一个特殊对象,它包含了函数被调用时传入的所有参数。arguments 对象是一个类数组对象,它有一个 length 属性和按数字索引的元素。 每个函数在执行时都会自动创建一个 arguments 对象。我们可以通过arguments去访问参数…...
Java LinkedList链表、HashSet、HashMap
一、Java LinkedList: 链表(LinkedList)是一种常见的基础数据结构,是一种线性表,在每一个节点里存储下一个节点的地址。链表分为单向链表和双向链表。单向链表包含两个值:当前节点的值和指向下一个节点的链…...
Linux中清除cache/buffer方法
1、查看Linux中的cache/buffer情况: free -h 2、仅清除页面缓存PageCache方法: echo 1 > /proc/sys/vm/drop_caches 3、清除目录项和inode节点: echo 2 > /proc/sys/vm/drop_caches 4、清除页面缓存、目录项和inode节点:…...
github批量仓库克隆,git clone某个用户的所有仓库
利用github的api工具, 首先拿到用户名为kevin的所有仓库的url: curl "https://api.github.com/users/kevin/repos?per_page100&&page1" | grep -w clone_url >clone.txt过滤一下: grep -o https://[^"]* clone…...
防爆智能安全帽、防爆手持终端,防爆智能矿灯守护安全,在煤矿安全生产远程可视化监管中的应用
煤矿安全新守护:如何通过防爆智能装备实现远程可视化监管 煤矿是国民经济的重要支柱产业,但长期以来,安全生产事故的频发一直是困扰煤矿行业发展的严峻问题。安全生产事故不仅危及矿工的生命安全,也对企业和地方经济造成了重大的…...
数据结构与算法【B树】的Java实现+图解
目录 B树 特性 实现 节点准备 大体框架 实现分裂 实现新增 实现删除 完整代码 B树 也是一种自平衡的树形数据结构,主要用于管理磁盘上的数据管理(减少磁盘IO次数)。而之前说的AVL树与红黑树适合用于内存数据管理。存储一个100w的数…...
2024中国人民大学计算机考研分析
24计算机考研|上岸指南 中国人民大学 中国人民大学计算机考研招生学院是信息学院。目前均已出拟录取名单。 中国人民大学在1978年创立了经济信息管理系,它是国内最早建立的将数学与信息技术在经济管理领域应用为特色的系科。1986年,在原系计算站的基础…...
无人智能货柜:提升购物体验
无人智能货柜:提升购物体验 随着移动支付的普及,人们日常生活中的主要场景已经渗透了这一支付方式。同时,无人智能货柜作为购物的重要渠道,正在崭露头角。通过人工智能、图像识别和物联网技术的应用,无人智能货柜将使购…...
【OpenCV实现图像:可视化目标检测框】
文章目录 概要画框函数代码实现标签美化角点美化透明效果小结 概要 目标检测框的可视化在计算机视觉和机器学习领域中是一项重要的任务,有助于直观地理解和评估目标检测算法的性能。通过使用Python和相关的图像处理库,可以轻松实现目标检测框的可视化。…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
