0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenCV学堂 来源:OpenCV学堂 2023-06-02 14:52 次阅读

视觉注意力机制的各种模块是个好东西,即插即用,可以添加到主流的对象检测、实例分割等模型的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,显示如下:

7797c3b2-fc57-11ed-90ce-dac502259ad0.png

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

77a3b8fc-fc57-11ed-90ce-dac502259ad0.png

77af4dfc-fc57-11ed-90ce-dac502259ad0.png

我只是在SPPF之前的一层添加了注意力模块,只有这个小小的改动!从效果看,基本都可以涨点了…

对比验证结果

100 轮次OID数据集自定义数据,YOLOv5s模型与SE、ECA、CA、CBAM、GAM五种注意力改进模型,mAP指标统计与对比

77bb7582-fc57-11ed-90ce-dac502259ad0.png

YOLOv5注意力机制模型部署

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

77cf9454-fc57-11ed-90ce-dac502259ad0.png
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2484

    浏览量

    46530
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87599
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66766

原文标题:用注意力机制魔改YOLOv5涨点

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于H743板子移植YOLOV5s做缺陷检测可行吗?

    大概的思路是用yolov5s的模型进行剪枝压缩量化处理,然后通过cube-ai进行移植,搭配ov5640的摄像头,想请教下这个方案可以行的通吗?
    发表于 03-20 08:08

    maixcam部署yolov5s 自定义模型

    maixcam部署yolov5s 自定义模型 本博客将向你展示零基础一步步的部署好自己的yolov5s模型(博主展示的是安全帽模型),训练就引用我自己之前写过的,已经训练好的可以跳过该部分,其中有
    发表于 04-23 15:43

    基于SLH89F5162的左额电压信号的注意力比拼

    注意力高则LED越亮。项目难点:脑部电压信号的处理,屏幕显示的设计处理能否吸引人,无线协议的选择和实现,以及亮度可变的LED的实现方案。时间安排:13.10.17-13.11.20 资料收集整理,各
    发表于 10-17 15:46

    基于labview的注意力分配实验设计

    毕设要求做一个注意力分配实验设计。有些结构完全想不明白。具体如何实现如下。一个大概5*5的灯组合,要求随机亮。两个声音大小不同的音频,要求随机响,有大、小两个选项。以上两
    发表于 05-07 20:33

    YOLOv5s算法在RK3399ProD的部署推理流程是怎样的

    YOLOv5s算法在RK3399ProD的部署推理流程是怎样的?基于RK33RK3399Pro怎样使用NPU进行加速推理呢?
    发表于 02-11 08:15

    yolov5预编译后结果异常

    本人将yolov5s的pt模型转为onnx模型(不包含detect层),再将onnx模型转为量化的rknn模型,采用相同的图片进行的输出对比,余弦相似度和输出数值基本无偏差,但是将量化的rknn模型
    发表于 03-16 19:16

    yolov5s TB-3399pro rknn1.7.0 部署测试

    如题,目前已经在TB-3399pro完成了yolov5s.onnx转yolov5s.rknn,并做了8bit量化。但是实际推理的速度有点感人。 单帧640*640的输入,inference就要超100ms。请问这是不是正常速度
    发表于 04-18 11:44

    怎样使用PyTorch Hub去加载YOLOv5模型

    PyTorch Hub 加载预训练的 YOLOv5s 模型,model并传递图像进行推理。'yolov5s'是最轻最快的 YOLOv5 型号。有关所有可用模型的详细信息,请参阅自述文件。详细示例此示例
    发表于 07-22 16:02

    使用Yolov5 - i.MX8MP进行NPU错误检测是什么原因?

    的时机(yolov5s 模型,输入为 448x448 ~ 70ms)。 现在我正在尝试使用 Yolov5(uint8 量化),但我尝试使用不同的预训练模型获得相同的行为,在 CPU 上进行良好检测,在
    发表于 03-31 07:38

    如何YOLOv5测试代码?

    使用文档“使用 YOLOv5 进行对象检测”我试图从文档第 10 页访问以下链接(在 i.MX8MP 上部署 yolov5s 的步骤 - NXP 社区) ...但是这样做时会被拒绝访问。该文档没有说明需要特殊许可才能下载 test.zip 文件。NXP 的人可以提供有关如
    发表于 05-18 06:08

    yolov5-6.1模型转换失败如何解决?

    for Neuron Network is launched. # Target: BM1684 # # Net name: yolov5s # # Copyright
    发表于 09-15 06:23

    在Docker镜像中去将yolov5-6.1版本模型转换生成FP32 BModel时报错如何解决?

    /yolov5s_coco_v6.1_3output.trace.pt\', net_name=\'yolov5s\', opt=2, outdir=\'fp32model/1\', output_names=None, seed=42, shapes=[[1
    发表于 09-18 06:02

    【爱芯派 Pro 开发板试用体验】使用yolov5s模型(官方)

    【爱芯派 Pro 开发板试用体验】+使用yolov5s模型(官方) 配置好基本环境 如果没有连接上网络的,可以看博主写的一篇怎么连接网络 apt update apt install
    发表于 11-13 11:04

    Tengine 支持 NPU 模型部署-YOLOv5s

    今天我们试着基于 AI 边缘计推理框架 Tengine 在 Khadas VIM3 的 AI 加速器上部署 YOLOv5s
    发表于 01-25 18:38 3次下载
    Tengine 支持 NPU 模型部署-<b class='flag-5'>YOLOv5s</b>

    详解五种即插即用的视觉注意力模块

    SE注意力模块的全称是Squeeze-and-Excitation block、其中Squeeze实现全局信息嵌入、Excitation实现自适应权重矫正,合起来就是SE
    的头像 发表于 05-18 10:23 1882次阅读
    详解五种即插即用的<b class='flag-5'>视觉</b><b class='flag-5'>注意力</b><b class='flag-5'>模块</b>