yolov3注意力机制,yolov5改进点

  yolov3注意力机制,yolov5改进点

  注意机制最早应用于自然语言处理领域。关注是让模型意识到数据的哪一部分最重要,赋予它更多的权重,在一些特征上得到更多的关注,模型才能表现的更好。本文主要介绍YOLOv5改进教程中增加的关注机制的相关信息,有需要的朋友可以参考一下。

  本文主要讲解如何在yolov5中加入注意机制。

  这里提供SE频道关注的提升方法,其他添加关注的方法类似。

  先找到SE注意机制的pytorch代码。

  等级SELayer(nn。模块):

  def __init__(self,c1,r=16):

  超级(SELayer,self)。__init__()

  self.avgpool=nn。AdaptiveAvgPool2d(1)

  self.l1=nn。线性(c1,c1 //r,bias=False)

  self.relu=nn。ReLU(原地=真)

  self.l2=nn。线性(c1 //r,c1,bias=False)

  self.sig=nn。乙状结肠()

  定义向前(自身,x):

  b,c,_,_=x.size()

  y=self.avgpool(x)。视图(b,c)

  y=self.l1(y)

  y=self.relu(y)

  y=self.l2(y)

  y=自我符号(y)

  y=y.view(b,c,1,1)

  返回x * y.expand_as(x)

  将SE注意机制程序直接复制到models文件夹下的common.py文件中。

  然后找到yolo.py,并在这个文件中找到下面一行

  然后将SE添加到该注册表中,

  C3Ghost之后直接加SELayer。

  然后我们需要修改yaml文件。对于SE这种即插即用的注意机制来说,输入输出通道数是一样的,所以不会影响其他模块的运行。

  注意机制也可以插在其他地方,只要通道数匹配得当。

  然后头部部分要做相应的修改,因为我们多加了一层,所以需要稍微改变头部部分,保持头部和最后一个输出层不变。同样的,注意力机制也可以放在头部,和加在主干的方法一样。

  这是原来的头部,需要修改如下

  因为我们在第八层之后插入了se关注机制,原来的14层变成了15层。同样,最终输出也需要增加一层。

  加入这些注意机制是yolov5最基本的改进,但说实话,注意机制可以加在很多地方,不一定有效,所以要看大家讨论在哪里插入效果最好。注意机制有很多种,se注意机制应该是最基本的渠道注意。

  总结

  关于YOLOv5提升教程的注意机制这篇文章到此为止。关于YOLOv5的注意力机制的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: