b站B导的yoloV7版本添加注意力机制

这篇具有很好参考价值的文章主要介绍了b站B导的yoloV7版本添加注意力机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

视频参考:

【Pytorch 图像处理中注意力机制的代码详解与应用(Bubbliiiing 深度学习 教程)】

yolov7博客参考:

睿智的目标检测61——Pytorch搭建YoloV7目标检测平台

注意力机制介绍:

神经网络学习小记录64——Pytorch 图像处理中注意力机制的解析与代码详解

步骤:

①获取注意力机制的代码

https://github.com/bubbliiiing/yolov4-tiny-pytorch/blob/master/nets/attention.py

②看b导的yolov7博客介绍以及视频

看完视频可以知道,添加注意力机制最好选在加强特征提取网络。注意力机制是一个即插即用的模块,理论上可以放在任何一个特征层后面,可以放在主干网络,也可以放在加强特征提取网络。由于放置在主干会导致网络的预训练权重无法使用,所以将注意力机制应用加强特征提取网络上。

③yolov7添加注意力的地方:

b站B导的yoloV7版本添加注意力机制

一共五个地方,如图所示,三个feat和两个上采样的地方。

④添加注意力机制的代码,放在net文件夹下

b站B导的yoloV7版本添加注意力机制

⑤在nets/yolo.py增加代码

添加模块

from .attention import se_block,cbam_block,eca_block

attention_blocks = [se_block,cbam_block,eca_block]
b站B导的yoloV7版本添加注意力机制

找到yolo_body(快捷键ctrl+f搜索yolo_body)

在参数列表添加attention参数,attention = 0:表示原版,attention=1表示senet,attention=2表示cbam,attention=3表示ecanet,这个序号与我们在文件头部定义的

attention_blocks = [se_block,cbam_block,eca_block]有关。

b站B导的yoloV7版本添加注意力机制

在该__init__函数的末尾加上:

 self.attention = attention
        if attention >= 1 and attention <= 3:
            self.feat1_attention = attention_blocks[attention - 1](512)#括号表示通道数
            self.feat2_attention = attention_blocks[attention - 1](1024)
            self.feat3_attention = attention_blocks[attention - 1](1024)
            self.upsample_attention5 = attention_blocks[attention - 1](256)
            self.upsample_attention4 = attention_blocks[attention - 1](128)
b站B导的yoloV7版本添加注意力机制

在forward函数增加如下代码:

if self.attention >= 1 and self.attention <= 3:
    feat1 = self.feat1_attention(feat1)
    feat2 = self.feat2_attention(feat2)
    feat3 = self.feat3_attention(feat3)
b站B导的yoloV7版本添加注意力机制
if self.attention >= 1 and self.attention <= 3:
    P5_upsample = self.upsample_attention5(P5_upsample)
if self.attention >= 1 and self.attention <= 3:
    P4_upsample = self.upsample_attention4(P4_upsample)
b站B导的yoloV7版本添加注意力机制

接下来只需要修改nets/yolo.py中yolo_body初始化参数列表的attention的值即可切换不同的注意力机制

b站B导的yoloV7版本添加注意力机制

完成。文章来源地址https://www.toymoban.com/news/detail-420676.html

到了这里,关于b站B导的yoloV7版本添加注意力机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • yolov5、YOLOv7、YOLOv8改进:注意力机制CA

    目录 1.背景介绍 论文题目:《Coordinate Attention for Efficient Mobile NetWork Design》论文地址:  https://arxiv.org/pdf/2103.02907.pdf 2.原理介绍 3.YOLOv5改进: 3.1common中加入下面代码 3.2在yolo.py中注册 3.3添加配置文件 4.yolov7改进 4.1 在common中加入以下代码 4.2在yolo.py中注册 4.3添加配置文件 本

    2024年02月13日
    浏览(41)
  • [YOLOv7/YOLOv5系列算法改进NO.33]引入GAMAttention注意力机制

     前 言: 作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv7的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或

    2024年02月06日
    浏览(31)
  • 涨点技巧:注意力机制---Yolov5/Yolov7引入BoTNet Transformer、MHSA

    目录 1. BoTNet(Bottleneck Transformer Network) 2.Yolov5/Yolov7加入BoTNet、MHSA 2.1 BoTNet、MHSA加入common.py中  2.3 BoTNet、MHSA加入yolo.py中 2.4修改 yolov5s_botnet.yaml 2.5 修改 yolov5s_mhsa.yaml UC伯克利,谷歌研究院(Ashish Vaswani, 大名鼎鼎的Transformer一作) 论文:https://arxiv.org/abs/2101.11605 Github:https:

    2023年04月23日
    浏览(30)
  • YOLOv7改进注意力机制系列:最新结合即插即用CA(Coordinate attention) 注意力机制(适用于YOLOv5),CVPR 2021 顶会助力分类检测涨点!

    💡统一使用 YOLOv5、YOLOv7 代码框架, 结合不同模块来构建不同的YOLO目标检测模型。 论文所提的 Coordinate注意力 很简单,可以灵活地插入到经典的移动网络中,而且几乎没有计算开销。大量实验表明,Coordinate注意力不仅有益于ImageNet分类,而且更有趣的是,它在下游任务(如

    2024年02月05日
    浏览(33)
  • 改进YOLOv5:添加EMA注意力机制

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 本文主要介绍一种在YOLOv5-7.0中添加EMA注意力机制的方法。EMA注意力机制原论文地址,有关EMA注意力机制的解读可参考文章。 在yolov5的models文件中新建一个名为EMA.py文件,将下述代码复制到EMA.py文件中并

    2024年02月09日
    浏览(26)
  • Yolov5 中添加注意力机制 CBAM

    CBAM(Convolutional Block Attention Module)是一种注意力机制,它通过关注输入数据中的重要特征来增强卷积神经网络(CNN)的性能。CBAM的原理可以分为两个部分:空间注意力模块和通道注意力模块。 空间注意力模块:该模块关注输入特征图的每个空间位置的重要性。它首先对特征

    2024年02月10日
    浏览(30)
  • YOLOv8改进算法之添加CA注意力机制

    CA(Coordinate Attention)注意力机制是一种用于加强深度学习模型对输入数据的空间结构理解的注意力机制。CA 注意力机制的核心思想是引入坐标信息,以便模型可以更好地理解不同位置之间的关系。如下图: 1. 输入特征 : CA 注意力机制的输入通常是一个特征图,它通常是卷积

    2024年02月08日
    浏览(31)
  • YOLOv5改进系列(1)——添加SE注意力机制

    从这篇开始我们进入YOLOv5改进系列。那就先从最简单的添加注意力机制开始吧!( ̄︶ ̄)↗ 【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 目录

    2024年02月03日
    浏览(46)
  • (超详细)4-YOLOV5改进-添加ShuffleAttention注意力机制

    1、在yolov5/models下面新建一个ShuffleAttention.py文件,在里面放入下面的代码 代码如下: 2、找到yolo.py文件,进行更改内容 在28行加一个 from models.ShuffleAttention import ShuffleAttention , 保存即可 3、找到自己想要更改的yaml文件,我选择的yolov5s.yaml文件(你可以根据自己需求进行选择),

    2024年01月23日
    浏览(31)
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制

    1、在yolov5/models下面新建一个SimAM.py文件,在里面放入下面的代码 代码如下: 2、找到yolo.py文件,进行更改内容 在26行加一个 from models SimAM import SimAM , 保存即可 3、找到自己想要更改的yaml文件,我选择的yolov5s.yaml文件(你可以根据自己需求进行选择),将刚刚写好的模块SimAM加

    2024年01月17日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包