SKNet:Selective Kernel Networks

在 SENet 的基础上,基于分组卷积改进其对通道加权的过程,可以实现对不同分辨率的特征的通道加权,相比较 SENet,效果更好

什么是SKNet?

  • SKNet-20230408141133
  • 在 SENet 的基础上,基于分组卷积改进其对通道加权的过程,可以实现对不同分辨率的特征进行加权,相比较 SENet,效果更好

SKNet的网络结构?

  • SKNet-20230408141133-1
  • M 代表的是分支数,G 为 group 数量,将 SK Block 模块引入 ResNet 完成模型搭建

SKNet的SK Block?

  • SKNet-20230408141134
  • Split: 输入(c,h,w)特征图,然后使用2个不同分组卷积,得到矩阵U^U~\hat{\mathbf{U}} 、 \tilde{\mathbf{U}}
  • Fuse: 对矩阵 U^U~\hat{\mathbf{U}} 、 \tilde{\mathbf{U}} 进行融合,然后通过 SENet SEBlock 求取通道加权矩阵
  • Select:通过 softmax 函数获得每个通道的加权值,然后分别应用到两组特征,并相加输出最后特征
  • 关键参数:1)分支数 (M),特征组输 SKBlock 后被分为多少个分支;2)group 数量 (G),每个分支采用多少组分组卷积;缩减比例 ®,生成通道权值过程中,需要将通道上缩减再复原,过程类 SEBlock

SKNet与SENet的异同?

  • 两者都使SEBlock 模块对通道进行加权
  • SENet只对一个尺度感受野的通道进行加权,而SKNet对多个尺度的感受野进行加权
  • SENet使sigmoid 生成加权向量,而SKNet使softmax 生成加权向量