Bootstrap

优化改进YOLOv5算法之Deformable Attention,有效提升检测效果,秒杀SE、CBAM和CA等注意力机制

目录

1 Deformable Attention模块原理

2 YOLOv5中加入Deformable Attention模块

2.1 common.py文件配置

2.2 yolo.py配置

2.3 创建添加优化点模块的yolov5x-C3-DAttention.yaml

2.4 训练 

参考文献



1 Deformable Attention模块原理

思路主要来源于可变形卷积DCN,理解起来很容易,就是保持Q不变,针对每个K/V学习一个位置偏差,取该处的特征值即可。

上面一张图展现了四种网络的特点:

  • ViT中所有Q的感受野是一样的,都针对全局所有位置特征;
  • Swin中则是局部Attention,因此处于不同窗口的两个Q针对的感受野区域是不一样的;
  • DCN则是针对周围九个位置学习偏差,之后采样矫正过的特征位置,可以看到图中红点蓝点数量均为9;
  • 本文提出的DAT则结合了ViT和DCN,所有的Q会共享相同的感受野,但这些感受野会有学出来的位置偏差;为了降低计算复杂度,针对的特征数量也会降采样,
;