YOLO算法改进Backbone系列之MogaNet:

卷积神经网络(ConvNets)一直是计算机视觉的首选方法。受灵长类视觉系统的启发,卷积层可以对具有区域密集连接和平移等方差约束的观测图像的邻域相关性进行编码。通过交错分层,ConvNets获得了被动增加的感受野,并善于识别潜在的语义模式。但ConvNets提取的表示已被证明对区域纹理有很强的偏差,导致视觉目标的全局上下文信息的显著丢失。相比之下,通过放松局部感应偏差,ViT及其变种模型在广泛的视觉基准上迅速超越了ConvNets。ViT的能力主要来源于自注意力机制,无论拓扑距离如何,它都有助于长距离互动。然而自注意力机制中的二次复杂性限制了ViT的计算效率及其在细粒度下游任务中的应用潜力。然而,现有方法仍然存在一个表示瓶颈:自注意力机制或大内核的实现阻碍了区分性上下文信息和全局交互的建模,导致DNN和人类视觉系统之间的认知差距。与特征整合理论一样,人脑不仅提取局部特征,而且同时聚合这些特征以进行全局感知,这比DNN更紧凑和高效。为了应对这一挑战,作者从特征交互复杂性的角度研究了DNN的表示能力。为此,作者设计了一个具有相应基本操作的宏ConvNet框架,并进一步开发了一个名为多阶门控聚合网络(MogaNet)的新型ConvNets家族,用于加速具有多重交互复杂性的上下文信息。在MogaNet中,根据人类视觉引入了一个多阶特征聚合模块。作者的设计将局部感知和上下文聚合封装到一个统一的空间聚合块中,在该块中,复合多阶关联通过并行的选通机制被有效地聚合和上下文。从通道方面来看,由于现有方法易于实现高通道信息冗余,因此定制了一个简单而有效的通道聚合块,该块对输入特征执行自适应通道重分配,并以较低的计算成本显著优于主流对应方(例如SE模块)。

MogaNet的整体框架如下图所示,架构和一般的 Transformer 网络非常类似,核心包括两个模块:spatial aggregation(取代注意力)和 channel aggregation(取代FFN)。
在这里插入图片描述
在这里插入图片描述

spatial aggregation 如下图所示,蓝色部分叫做 feature decomposition,用于 exclude trivial interactions。下面是 Moga模块,也就是多次 DWConv,作者认为是多阶门控。
在这里插入图片描述

channel aggregation 如下图所示。当前的主流方法FFN中仅包括两个FC层。因此作者进行了如下改进,这个操作类似于是一个空间位置的注意力。
在这里插入图片描述

MogaNet模型的其他变体如下所示:
在这里插入图片描述

在YOLOv5项目中添加模型作为Backbone使用的教程:
(1)将YOLOv5项目的models/yolo.py修改parse_model函数以及BaseModel的_forward_once函数
在这里插入图片描述
在这里插入图片描述

(2)在models/backbone(新建)文件下新建moganet.py,添加如下的代码:
在这里插入图片描述

(3)在models/yolo.py导入模型并在parse_model函数中修改如下(先导入文件):
在这里插入图片描述

(4)在model下面新建配置文件:yolov5_moganet.yaml
在这里插入图片描述

(5)运行验证:在models/yolo.py文件指定–cfg参数为新建的yolov5_moganet.yaml
在这里插入图片描述

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值