一、本文介绍
作为入门性篇章,这里介绍了SCAM注意力在YOLOv8中的使用。包含SCAM原理分析,SCAM的代码、SCAM的使用方法、以及添加以后的yaml文件及运行记录。
二、SCAM原理分析
SCAM官方论文地址:SCAM文章
SCAM官方代码地址:SCAM代码
SCAM注意力机制(空间上下文感知模块):
空间上下文感知模块(SCAM)在FEM和FFM之后,特征映射已经考虑了局部上下文信息,并且能够很好地表示小对象特征。在此阶段对小目标和背景之间的全局关系进行建模比在主干阶段更有效。利用全局上下文信息来表示像素之间的跨空间关系,可以抑制无用背景,增强目标和背景的区分能力。受GCNet和SCP的启发,SCAM由三个分支组成。第一个部分使用GAP和GMP整合全球信息。第二个分支使用1 × 1卷积生成特征映射的线性变换结果,该特征映射在图4中称为value。第三个分支使用1 × 1卷积来简化查询和键的倍数。这个卷积在图4中称为QK。随后,将第一分支和第三分支分别与第二分支矩阵相乘。得到的两个分支分别表示跨通道和空间的上下文信息。最后,利用广播Hadamard积在这两个分支上得到了SCAM的输出。
相关代码:
SCAM注意力的代码,如下。
class Conv_withoutBN(nn.Module):
# Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation)