YOLO算法改进Backbone系列之:FocalNet

摘要:本文提出焦调制网络(FocalNets),其中自注意(SA)完全被焦调制模块取代,用于建模视觉中的令牌交互。焦点调制包括三个组成部分:(1)焦点上下文化,使用深度卷积层堆栈实现,从短范围到长范围对视觉上下文进行编码;(2)门控聚合,选择性地将上下文收集到每个查询令牌的调制器中;(3)元素智能仿射变换,将调制器注入查询中。大量的实验表明,FocalNets具有非凡的可解释性,并且在图像分类、目标检测和分割任务上,以相似的计算成本优于SoTA 的自注意力同类(例如Swin和Focal Transformers)。具体来说,小尺寸和基本尺寸的FocalNets在ImageNet-1K上可以达到82.3%和83.9%的top-1精度。在224224分辨率的ImageNet-22K上进行预训练后,以224224和384*384分辨率进行微调时,top-1准确率分别达到86.5%和87.3%。对于Mask R-CNN的目标检测,使用1倍调度训练的FocalNet基比Swin基高出2.1点,并且已经超过使用3倍调度训练的Swin (49.0 vs 48.5)。对于使用UPerNet进行语义分割[90],FocalNet基础在单尺度上的性能比Swin高出2.4,在多尺度上(50.5 v.s 49.7)优于Swin。使用大型FocalNet和Mask2former,我们实现了ADE20K语义分割的58.5 mIoU和COCO全光分割的57.9 PQ。使用巨大的FocalNet和DINO,我们分别在COCO minival和test-dev上实现了64.3和64.4 mAP,在更大的基于注意力的模型(如Swinv2-G和BEIT-3)上建立了新的SoTA。

本文介绍了使用Focal Modulation替代自注意力(self-attention)的FocalNet(Focal Modulation Network)网络,新模块具有更好的token交互效果。给定查询令牌和目标令牌,SA首先执行查询键交互以计算注意分数,然后执行查询值聚合以从其他令牌中捕获上下文。相比之下,Focal Modulation首先将不同粒度级别的空间上下文编码为调制器,然后以查询相关的方式自适应地注入查询令牌。显然,SA需要大量的交互和聚合操作,而Focal Modulation颠倒了它们的顺序,使它们都变得轻量级。
在这里插入图片描述

自注意力中,key和query是密集的矩阵相乘,Attention也是和value的密集矩阵乘积。而FocalNet中分别采用Depth-Wise Conv和Point-Wise Conv,计算更轻量化
在这里插入图片描述

FocalNet模型的变体配置信息如下表:
在这里插入图片描述

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

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

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

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

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

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值