💡💡💡本文内容:针对基基于YOLOv9的NEU-DET缺陷检测算法进行性能提升,加入各个创新点做验证性试验。
💡💡💡 具有切片操作的SimAM注意力,魔改SimAM
💡💡💡 原始mAP50为 0.733提升至0.745
论文: 2402.13616.pdf (arxiv.org)
代码:GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information摘要: 如今的深度学习方法重点关注如何设计最合适的目标函数,从而使得模型的预测结果能够最接近真实情况。同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。然而,现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。因此,YOLOv9 深入研究了数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆函数。作者提出了可编程梯度信息(programmable gradient information,PGI)的概念,来应对深度网络实现多个目标所需要的各种变化。PGI 可以为目标任务计算目标函数提供完整的输入信息,从而获得可靠的梯度信息来更新网络权值。此外,研究者基于梯度路径规划设计了一种新的轻量级网络架构,即通用高效层聚合网络(Generalized Efficient Layer Aggregation Network,GELAN)。该架构证实了 PGI 可以在轻量级模型上取得优异的结果。研究者在基于 MS COCO 数据集的目标检测任务上验证所提出的 GELAN 和 PGI。结果表明,与其他 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。对于 PGI 而言,它的适用性很强,可用于从轻型到大型的各种模型。我们可以用它来获取完整的信息,从而使从头开始训练的模型能够比使用大型数据集预训练的 SOTA 模型获得更好的结果。对比结果如图1所示。
YOLOv9框架图
NEU-DET钢材表面缺陷共有六大类,一共1800张,
类别分别为:'crazing','inclusion','patches','pitted_surface','rolled-in_scale','scratches'
数据集如何划分详见另一篇博客:
YOLOv9如何训练自己的数据集(NEU-DET为案列)_yolov9训练自己的数据集-CSDN博客
yolov9-t summary: 658 layers, 2618900 parameters, 0 gradients, 10.7 GFLOPs
Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 8/8 00:14
all 486 1069 0.67 0.679 0.733 0.418
crazing 486 149 0.517 0.221 0.37 0.134
inclusion 486 222 0.739 0.73 0.778 0.433
patches 486 243 0.782 0.897 0.935 0.605
pitted_surface 486 130 0.762 0.769 0.822 0.533
rolled-in_scale 486 171 0.598 0.579 0.624 0.296
scratches 486 154 0.621 0.877 0.87 0.509
F1_curve.png:F1分数与置信度(x轴)之间的关系。F1分数是分类的一个衡量标准,是精确率和召回率的调和平均函数,介于0,1之间。越大越好。
TP:真实为真,预测为真;
FN:真实为真,预测为假;
FP:真实为假,预测为真;
TN:真实为假,预测为假;
精确率(precision)=TP/(TP+FP)
召回率(Recall)=TP/(TP+FN)
F1=2*(精确率*召回率)/(精确率+召回率)
PR_curve.png :PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系。
预测结果:
原文链接:
https://blog.csdn.net/m0_63774211/category_12603790.html?spm=1001.2014.3001.5482
💡💡💡本文创新:魔改SimAM注意力,引入切片操作,增强小目标特征提取能力
💡💡💡问题点:SimAM计算整张特征图的像素差平均值时加权可能会忽略小目标的重要性,同时与整体平均值相比可能和背景信息相似,导致加权增强较弱,进而使得SimAM对小目标的增强能力较差。
💡💡💡本文解决对策:引入了切片操作,当特征图被切成不同的块后,大目标由于其纹理特征明显会影响所在块的平均值,导致其获得的额外加权减少,而合并特征图后,大目标依然可以保持高可识别度甚至获得进一步增强;而小目标的特征与局部平均值差距更大,从而获得更多加权,小目标特征得到增强,即sws模块保证了大、小目标都获得了公正的关注和增强。
💡💡💡如何创新到YOLOv9
1)高效和卷积结合,代替原始网络的卷积操作;
改进结果如下:
原始mAP50为 0.733提升至0.745
yolov9-t-Conv_SWS summary: 666 layers, 2618948 parameters, 0 gradients, 10.7 GFLOPs
Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 8/8 00:15
all 486 1069 0.669 0.689 0.745 0.433
crazing 486 149 0.495 0.237 0.369 0.143
inclusion 486 222 0.742 0.703 0.807 0.465
patches 486 243 0.786 0.914 0.932 0.617
pitted_surface 486 130 0.784 0.808 0.854 0.542
rolled-in_scale 486 171 0.592 0.579 0.645 0.323
scratches 486 154 0.616 0.896 0.863 0.506
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。