YOLO改进系列之注意力机制(GlobalContext模型介绍)

模型结构

通过捕获long-range dependency提取全局信息,对各种视觉任务都是很有帮助的,典型的方法是Non-local Network自注意力机制。对于每个查询位置(query position),Non-local network首先计算该位置和所有位置之间一个两两成对的关系,得到一个attention map。然后对attention map所有位置的权重加权求和得到汇总特征,每一个查询位置都得到一个汇总特征,将汇总特征与原始特征相加得到最终输出。对于某个query position,nNon-local network计算的另一个位置与该位置的关系即一个权重值表示这个位置对query位置的重要程度。但现有研究发现不同的query位置其对应的attention map几乎一样,如下图所示。
在这里插入图片描述

GlobalContext作者观察发现non-local block针对每个query position计算的attention map最终结果是独立于查询位置的,那么就没有必要针对每个查询位置计算了,因此提出计算一个通用的attention map并应用于输入feature map上的所有位置,大大减少了计算量的同时又没有导致性能的降低。此外,结合SE block,设计得到GlobalContext,既轻量又可以有效地建模全局上下文。GC Block结合了Non-local block和SE block的优点,多个任务上均超过了NLNet和SENet。GlobalContext的整体结构并不复杂,如下图所示。
在这里插入图片描述

论文地址:https://arxiv.org/pdf/1904.11492.pdf
代码仓库:https://github.com/xvjiarui/GCNet

实现代码

GlobalContext的实现代码如下所示:
在这里插入图片描述

YOLOv5模型改进

本文在YOLOv5目标检测算法的Backbone和Head部分分别加入GlobalContext来增强目标提取能力,以下分别是在Backbone以及Head中改进的模型结构和参数(以YOLOv5s为例)。
在Backbone部分
在这里插入图片描述
在这里插入图片描述

在Head部分
在这里插入图片描述
在这里插入图片描述

总结

GlobalContext计算一个通用的attention map并应用于输入feature map上的所有位置,大大减少了计算量的同时又没有导致性能的降低,既轻量又可以有效地建模全局上下文。此外,GlobalContext可进一步应用于YOLOv7、YOLOv8等模型中,欢迎大家关注本博主的微信公众号 BestSongC,后续更多的资源如模型改进、可视化界面等都会在此发布。另外,本博主最近也在MS COCO数据集上跑了一些YOLOv5的改进模型,实验表明改进后的模型能在MS COCO 2017验证集上分别涨点1-3%,感兴趣的朋友关注后回复YOLOv5改进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值