解读最新目标检测算法论文,改进 YOLOv5 提高螺纹钢表面缺陷检测精度
前言
之前我发表过一篇关于目标改进算法的专栏,但是对于它们应该应用在什么场景,用什么改进方法才能达到效果,需要改进多少才能出一篇什么水平的文章,有很多疑问。为了帮大家解决困惑,本系列文章旨在解读最新的目标检测算法论文,帮大家解答疑惑。我转载了系列文章的创新代码,有需要的朋友可以关注我,私信我。
针对工业场景中钢筋表面缺陷检测准确率低、漏检及误检率高的问题,提出一种改进的YOLOv5钢筋表面缺陷检测算法。改进的YOLOv5算法中融合多重空间金字塔池化模块(M-SPP)对网络进行优化,通过增加网络深度增强特征提取,在一定程度上提高检测准确率;加入改进的空间与坐标注意模块(SCA),进一步区分空间场中不同像素间的权重关系,更加关注感兴趣区域,降低不必要区域的权重,提高模型对小目标缺陷的注意力;采用双采样过渡模块(TB)进行下采样,减少重要特征的丢失,获得更多的特征信息;采用k-means++算法对锚框进行重新聚类,生成的预设锚框更加适应不同尺度的缺陷,提高了算法的检测准确率。在钢筋表面缺陷数据集上的实验结果表明,改进后的YOLOv5算法对于钢筋表面缺陷检测具有良好的检测性能,优于其他对比算法,改进后的YOLOv5算法的AP50达到了97.6%,比YOLOv5算法提高了3.2%,其他指标也有所提高,在保持原有检测速度基本不变的情况下,能够准确检测出钢筋表面缺陷。
2. 网络模型及核心创新
个人解读:这篇中文EI期刊的文章并没有像以前的文章那样直接用别人的模块然后堆叠起来,而是对已有的模块进行了有效的改进和创新。其主要贡献是利用残差堆叠的思想改进了骨干网络中的SPP模块,改进的M-SPP(多空间金字塔池化)具有更加密集的残差结构,通过增加网络深度来增强特征提取,该方法可以在一定程度上提高准确率。(2)改进的CA(coordinatetention)注意力更加关注空间上不同像素之间的权重,对钢筋这种小目标缺陷有明显的改善。(3)PANet中下采样是点采样,会丢失一些重要信息,为了在下采样时获得更多的重要信息,采用了TB(transiton block)过渡模块进行下采样。

1. 骨干网络改善
2.注意力机制的改进
3.TB过渡模块
4.k-means++重新聚类Anchors类
3. 应用数据集
本文利用工业相机搭建的实验平台,对工业中存在的缺陷钢筋进行图像采集。由于缺陷钢筋数量有限,利用工业相机共采集了1047幅图像,包括钢筋表面的锈蚀、划痕、疤痕三类缺陷。通过数据增强方法对图像进行旋转、镜像、翻转、缩放、添加噪声、平滑标签等处理,将数据集扩充到约4500幅图像。部分数据集如下图所示。

四、实验结果(消融实验)
本文以Average Precision、IOU(AP、AP@50、AP@75)除以IOU阈值和Average Precision、Area除以目标像素大小作为评价指标。以YOLOv5为基础网络,在同一数据集上使用不同的改进模块进行实验,最后将所有使用的方法同时添加。实验结果如下表所示。

这说明添加不同的方法对钢筋缺陷检测有一定效果,且同时添加所有方法效果最优;也体现出加强网络特征提取和SCA注意力机制能更好地捕捉全局信息,提高网络的检测精度。
5.实验结论
在YOLOv5网络基础上,采用k-means++算法对初始anchor进行重新聚类,大大减少了网络计算量。在主干网络中加入M-SPP模块,通过多尺度特征堆叠与融合增加深度提高准确率,缓解梯度消失问题。提出空间与坐标注意机制(SCA),集成到主干网络与PANet之间的3个前向通道中,网络更加关注钢筋中细小缺陷的位置,有效解决小目标缺陷的漏检问题。利用TB模块对特征图进行下采样,得到更有效的特征,提高检测准确率。本文方法通过加强特征融合并采用改进的注意机制,能够准确检测工业钢筋表面缺陷,AP@50达到97.6%,相比YOLOv5提升3.2%。
6. 稿件投稿期刊简介

注:原文来自胡鑫, 周云强, 肖健, 杨杰. 基于改进YOLOv5的钢筋表面缺陷检测[J/OL]. 图学学报.
对于解读系列文章,我转载了创新代码,有需要的朋友可以关注并私信我。
转载请注明出处:https://www.twgcw.com/gczx/89398.html
