模型结构
尽管在卷积神经网络(CNN)中使用自底向上的局部运算符可以很好地匹配自然图像的某些统计信息,但它也可能阻止此类模型捕获上下文的远程特征交互。Hu等人提出了一种简单,轻量级的方法,以在CNN中更好地利用上下文。通过引入一对运算符来做到这一点:Gather可以有效地在很大的空间范围内聚合特征响应,而Excite可以将合并的信息重新分布到局部特征。GatherExcite构造了一个轻量级函数来收集大范围邻域上的特征响应,并使用所得到的上下文信息来调制邻域元素的原始响应。具体地说,其定义了Gather算子和Excite算子,前者聚集给定空间范围上的神经元响应,后者接受聚集和原始输入,以产生与原始输入维度相同的新张量。GE算符对如图1所示。
实现代码
GatherExcite的实现代码如下所示:
YOLOv5模型改进
本文在YOLOv5目标检测算法的Backbone和Head部分分别加入GatherExcite来增强目标提取能力,以下分别是在Backbone以及Head中改进的模型结构和参数(以YOLOv5s为例)。
在Backbone部分
在Head部分
总结
为了高效利用CNN中的特征上下文,GatherExcite被提出,大量实验证明该方法在多个数据集和模型体系结构中的有效性。此外,GatherExcite可进一步应用于YOLOv7、YOLOv8等模型中,欢迎大家关注本博主的微信公众号 BestSongC,后续更多的资源如模型改进、可视化界面等都会在此发布。另外,本博主最近也在MS COCO数据集上跑了一些YOLOv5的改进模型,实验表明改进后的模型能在MS COCO 2017验证集上分别涨点1-3%,感兴趣的朋友关注后回复YOLOv5改进。