视觉注意力机制的各种模块是个好东西,即插即用,可以添加到主流的对象检测、实例分割等模型的backbone与neck中,实现轻松涨点,本文使用OID数据集的2000多张数据,基于YOLOv5s基础上实现五种视觉注意力模块的改进,然后训练相同的轮次,横向比较模型的精度。
YOLOv5添加注意模块魔改
视觉注意力机制是一个好东西,即插即用,YOLOv5 7.0版本工程代码简洁明了,代码加入视觉注意力模块支持异常方便,以SE注意力为例,只要三步即可完成: 1. 修改模型结构文件yaml、添加注意力机制SENet模块 2. 修改模型结构实现代码文件common.py,实现SENet模块代码添加 3. 修改模型解析代码文件yolo.py,注册新添加的SENet模块解析支持 这样就完成了YOLOv5+SE注意力模块的支持,别急,我还修改了ECA、CA、GAM、CBAM,显示如下:

然后统统训练100轮次,跟原来的没有添加注意力机制的对比一下,看看效果怎么样?答案揭晓了,


我只是在SPPF之前的一层添加了注意力模块,只有这个小小的改动!从效果看,基本都可以涨点了…
对比验证结果
100 轮次OID数据集自定义数据,YOLOv5s模型与SE、ECA、CA、CBAM、GAM五种注意力改进模型,mAP指标统计与对比

YOLOv5注意力机制模型部署
然后我还基于以前的测试程序上测试一下,导出ONNX格式,然后通过ONNXRUNTIME进行推理,以SE注意力+YOLOv5s为例,感觉一切顺利。PyQT5 + ONNXRUNTIME, 图示如下:

责任编辑:彭菁
-
模块
+关注
关注
7文章
2822浏览量
52795 -
数据
+关注
关注
8文章
7314浏览量
93962 -
代码
+关注
关注
30文章
4941浏览量
73134
原文标题:用注意力机制魔改YOLOv5涨点
文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
基于H743板子移植YOLOV5s做缺陷检测可行吗?
maixcam部署yolov5s 自定义模型
OpenVINO™工具套件插件对YOLOv5s模型和scatterUpate层的支持范围是什么?
基于SLH89F5162的左额电压信号的注意力比拼
基于labview的注意力分配实验设计
YOLOv5s算法在RK3399ProD上的部署推理流程是怎样的
如何YOLOv5测试代码?
【爱芯派 Pro 开发板试用体验】使用yolov5s模型(官方)
DeepMind为视觉问题回答提出了一种新的硬注意力机制
一种通过引入硬注意力机制来引导学习视觉回答任务的研究
Tengine 支持 NPU 模型部署-YOLOv5s
详解五种即插即用的视觉注意力模块
计算机视觉中的注意力机制
基于瑞芯微RK3576的 yolov5训练部署教程

基于YOLOv5s基础上实现五种视觉注意力模块的改进
评论