Dynamic Head Unifying Object Detection Heads with Attentions 论文阅读笔记

Dynamic Head Unifying Object Detection Heads with Attentions论文阅读笔记

  • 这是微软在CVPR2021发表的文章,在coco数据集上取得了目前为止最高的AP。

  • 目标检测网络大致可以分为两个组分——feature extractor和detection head。一个好的detection head期待有三个感知能力:scale-aware、spatial-aware、task-aware。现有的detection head通常只关注提升其中之一,而本方法提出了一个统一(unify)的head同时关注了这三个方面。本方法分别在feature level、spatial、channel 上应用注意力机制,从而提升这三种能力。(之所以说channel上是task-aware,是因为不同的channel负责不同的task,比如有的负责分类有的负责定位)
  • 输入的多个feature pyramid会被resize到中间尺度的大小,这样一来输入的尺度就变为 L × H × W × C L\times H \times W\times C L×H×W×C,然后将 H × W H\times W H×W拉直成 S ,就变成了 L × S × C L\times S\times C L×S×C
  • 自注意力机制可以用下面公式描述 :
    在这里插入图片描述
  • 然而对 L × S × C L\times S\times C L×S×C算注意力,计算复杂度太大了,如果可以对每个维度分别算注意力就好了,也就是下面这个公式:
    在这里插入图片描述
  • 其中,最里面的,也就是首先对scale level进行注意力:
    在这里插入图片描述
  • 然后是spatial aware attention,是通过类似3D deformable convolution实现的,也就是说在feature level 通道上也进行了卷积,卷积核大小即通道数L,又有点类似加权平均。这个公式其实并不复杂,如果还不太懂,也可以看这篇文章:”Deformable DETR: Deformable Transformers for End-to-End Object Detection“
    在这里插入图片描述
  • 最后是task aware attention,是通过下面的形式实现的:
    在这里插入图片描述
  • 将上面三个attention堆到一起就是一个block,将多个block堆到一起,可以提升效果 。将Dyhead可以应用到网络的末尾,比如2阶段检测ROI pooling前后,或者一阶段的最后,也可以直接用来替代最后的全连接分类和回归等。
    在这里插入图片描述
  • 论文可视化了这三个注意力的处理过程特征图的变化情况,可以看到确实是有效果的。 在这里插入图片描述
  • 其实想法倒是没那么花里胡哨,但是结果惊人的好,在用Swin-L作为backbone,并增加额外数据进行训练后,居然达到了惊人的60.6%的AP,要知道mask-RCNN这种元老才到了40%,近几年出来比较有名的,YOLOv4也才56%,居然一下子就突破到60%
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值