【目标检测论文解读复现NO.25】基于改进Yolov5的地铁隧道附属设施与衬砌表观病害检测方法

news/2024/11/27 19:28:27/

前言

此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人已进行创新点代码复现,有需要的朋友可关注私信我。

一、摘要

针对目前应用到织物疵点检测的网络模型中存在的两阶段算法检测速度慢、一阶段算法检测精度低的问题,提出了一种改进YOLOv5的织物疵点检测算法。首先,针对织物疵点大小不一,对K-Mean算法的聚类距离标准进行修改,重新计算先验框大小;其次对网络Neck层标准卷积(SC)进行改进,将深度分离卷积(DSC)与标准卷积结合,减少网络层参数量,同时保持网络的特征提取能力;在特征融合阶段引入坐标注意力机制(CA),使网络能够捕捉各通道之间联系的同时保留目标的精确定位信息,加强网络的特征提取和定位能力;最后使用加权双向特征金字塔网络(BiFPN)中的方法,对特征金字塔模块进行修改,实现简单快速的多尺度特征融合。在数据集上进行训练,结果表明,改进的YOLOv5模型的m AP值可达到97.4%,相比于原网络精度提高了2.8个百分点,满足了织物疵点检测的要求。

二、网络模型及核心创新点

个人解读:这篇1月份发表的文章的创新点虽然不是很新,其中的GSConv比较少见,其他几个改进方法都比较常见了,但是其检测应用场景比较少见,可能也是能被核心期刊录用的重要原因之一,另外文章中的图表很多,实验工作量也较多。相关创新点改进方法及代码也已经在之前的博文中进行介绍,可进行手动链接查看。需要将几种合为一起的方法可私信我获取。

  1. K-Mean算法的聚类距离标准进行修改 [YOLOv7/YOLOv5系列算法改进NO.9]锚框K-Means算法改进K-Means++_yolov5聚类优化
  2. 深度分离卷积(DSC)与标准卷积结合GSConv【YOLOv7/YOLOv5系列算法改进NO.48】构建新的轻量网络—Slim-neck by GSConv(2022CVPR)
  3. 坐标注意力机制[YOLOv7/YOLOv5系列算法改进NO.3]添加CoordAtt注意力机制
  4. 加权双向特征金字塔网络 [YOLOv7/YOLOv5系列算法改进NO.5]改进特征融合网络PANET为BIFPN(更新添加小目标检测层yaml)

 三、应用数据集

本文研究的织物疵点图像来自于阿里天池纺织品缺陷检测数据集和实验室内拍摄的疵点图像,图像尺寸不一,后经过处理后将数据集中的所有图像调整为640像素×640像素,然后对图像进行随机旋转变化、亮度调节、色彩变换及自适应对比增强等预处理。

 四、实验效果(消融实验)

最终网络改进效果如表4的改进6所示,实验结果表明,网络中加入各种改进后,各项指标都有所提升,最终改进的网络精度提升2.4%,召回率提高2.5%,m AP提升了2.8%,达到了97.4%的效果。图11为改进6与原网络的损失函数收敛曲线和精度收敛曲线的对比情况,可以看出相比于原网络而言,经过200轮的训练,改进后的网络loss函数收敛速度更快,并且最终loss值更低。说明改进后的网络性能更优秀。其中损失函数使用CIOU进行计算,CIOU考虑了重叠面积、中心距离、纵横比,在DIOU的基础上增加了检测框尺度的loss,增加了长和宽的loss,使得预测框更加符合真实框。

五、实验结论

本文针对织物疵点复杂多样,传统检测方法检测速度慢精度低等问题,提出一种改进YOLOv5s的织物疵点检测算法。该方法基于YOLOv5s-6.1网络构架,其网络相比主流网络更为轻量化,检测速度较快,本文将CA注意力机制与网络的部分Neck层结合,同时使用BiFPN的方法对网络的特征增强部分重新设计,然后再使用GSConv对网络的特征提取部分进一步去除冗余特征,保证了网络的
精度与速度。实验表明,本文提出的疵点检测方法能够准确快速的检测出常见的织物疵点图像,在NVIDIA RTX 3090上测试,平均单张疵点图像检测速度可达12.0ms,mAP达到了97.4%,综合性能明显高于常见目标检测网络。

六、投稿期刊介绍

 注:论文原文出自马阿辉,祝双武,李丑旦,马晓彤,王世豪.改进YOLOv5的织物疵点检测
算法[J/OL].计算机工程与应用. 
https://kns.cnki.net/kcms/detail//11.2127.TP.20230116.1652.010.html 

解读的系列文章,本人已进行创新点代码复现,有需要的朋友可关注私信我。 


http://www.ppmy.cn/news/19041.html

相关文章

【 uniapp - 黑马优购 | 登录与支付(2)】如何实现三秒后跳转和微信支付

个人名片: 🐼作者简介:一名大二在校生,讨厌编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:见文末 🕊️系列专栏:🖼…

Python基础学习 -- 文件操作

一、open函数1、打开要操作的文件2、第一个参数:要打开文件的路径3、第二个参数:打开文件的方式r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式…

2.4总线操作和定时

文章目录一、引子二、介绍1.总线周期2.总线定时规范三、同步定时方式1.过程2.特点3.优缺点①优点②缺点四、异步定时方式1.介绍2.三种方式(1)不互锁方式(2)半互锁方式(3)全互锁方式3.优缺点①优点②缺点五、…

WebRTC系列-Qos系列之接收NACK

文章目录 1. 主要调用流程1.1 RTCP和RTP包区分1.2 查找丢失包2. RTX在文章 WebRTC系列-Qos系列之RTP/RTCP源码分析-RTP/RTCP包解析-3的2.3.3章节介绍了NACK包在WebRTC中解析方式及RFC规定协议的定义。 这篇文章开始,详细分析其接受RTCP包到解析nack的处理流程; 1. 主要调用流…

一、pyhon准备工作篇(黑马程序猿-python学习记录)

黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ 目录 1. python官网 2. 检查是否安装完毕 3. pycharm官网 5. phcharm更换主题 6. 新建第一个python文件 7. pycharm字体大小设置 ​​​​​​​8. 设置快捷键 设置字体大小 ​​​​​​…

【数据结构之二叉树系列】二叉树的基本知识

目录前言一、树1、树的相关概念(1)结点(2)结点的度(3)叶结点(4)分支结点(5)父亲结点(6)子节点(7)树的度&#…

【c语言】数据结构-顺序表

主页:114514的代码大冒险 qq:2188956112(欢迎小伙伴呀hi✿(。◕ᴗ◕。)✿ ) Gitee:庄嘉豪 (zhuang-jiahaoxxx) - Gitee.com 文章目录 目录 文章目录 前言 一、顺序表是什么? 二、项目功能的逐一实现(基本&a…

【求职】济南地区-运维工程师

自我介绍 学历 全日制统招专升本,专科18年毕业,本科20年毕业。 专业 专科计算机网络,本科计算机应用与科学 职业 山东人,在北京一家创业公司从事运维工程师岗位。目前薪资16*16。 个人经历 2015-2018 初识网络 专科学校期…