Dynamic Head: 物体检测器Head的统一注意力框架

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”


导读

来自微软,在一个框架中集成了尺度注意力,空间注意力和通道注意力。

公众号后台回复 “d-head”,获取文章链接。

摘要:这篇文章提出了Dynamic Head的框架,将物体检测头和注意力机制整合到了一起。使用这种框架,可以在不同尺度的特征层之间做注意力,可以在空间范围内做空间注意力,可以在输出通道之间做任务的注意力。在不增加计算的情况下,该方法显著提升了目标检测头的表达能力。

1. 介绍

好的物体检测head的特点:1、要和尺度相关,2、要和空间相关,3、要任务相关。这篇文章中提出了一个统一的框架,把这三点统一到了一起。我们把backbone的输出看成是3位的张量,level x shape x channel,我们发现可以统一到注意力的问题上。方案就是构建一个全方位的注意力机制,但是代价太大。

但是,我们可以在每个单独的维度上分别去做注意力,level-wise,spatial-wise和channel-wise。尺度的注意力只在level维度上做,空间注意力只在shape维度上做,任务注意力只在channel维度上做。

这样,我们可以为检测head构建一个统一的注意力机制,可以为head提供更好的表达能力。在各种物体检测的模型上都可以有1.2%~3.2%的提升。

2. 方法

2.1 动机

从特征金字塔中,我们可以得到L个不同level的特征图,我们通过上采样和下采样,可以将这些不同level的特征图缩放到中间的尺度上,然后拼接在一起。然后可以得到一个4维的张量,维度为LxHxWxC,其中,L表示L个不同的level,H,W表示特征图的宽和高,C表示通道数量。我们进一步定义S=HxW,然后将这个张量reshape成LxSxC的3维张量。在这种表达方式下,可以进一步研究各个维度的作用。

2.2 Dynamic Head

基于上面的张量 ,自注意力可以表示为:

这里 是注意力函数,最简单的就是全连接层,但是这样代价太大。于是,我们在3个维度上分别做注意力:

尺度注意力

这里 是一个线性函数,用1x1的卷积来近似,。

空间注意力

由于在S维度上,维数很高,我们将这个模块分解为两个步骤,先用可变卷积学习稀疏的空间注意力,然后在同样的位置上,对不同level的特征进行集成。

任务注意力

动态的对通道进行开关,来适应不同的任务。

其中Fc是第c个通道的特征切片, α α β β θ 是超参数,用来学习激活的阈值。 θ 和(3)类似,先在LxS维度上做全局的池化,然后用2个全连接和1个归一化层,最后用shifted sigmoid归一化到[-1, 1]。

总体结构体如下:

2.3 用到已有的检测器中

一阶段检测器

用这个统一的模块来代替原来的多分支。

二阶段检测器:

在ROI Pooling之前使用尺度和空间的注意力,在ROI Pooling之后使用通道注意力。

3. 实验

3.1 实现细节

主干网络为ResNet50,检测框架为ATSS,初始学习率0.02,使用了多尺度的infer。

3.2 消融实验

动态head的有效性的实验

动态head的不同深度的实验

用在不同物体检测器上的实验

和最先进的物体检测器的对比:

—END—

论文链接:https://arxiv.org/abs/2106.08322

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值