导读
来自微软,在一个框架中集成了尺度注意力,空间注意力和通道注意力。
摘要:这篇文章提出了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
尺度注意力:
空间注意力:
由于在S维度上,维数很高,我们将这个模块分解为两个步骤,先用可变卷积学习稀疏的空间注意力,然后在同样的位置上,对不同level的特征进行集成。
任务注意力:
动态的对通道进行开关,来适应不同的任务。
总体结构体如下:
2.3 用到已有的检测器中
一阶段检测器:
用这个统一的模块来代替原来的多分支。
二阶段检测器:
在ROI Pooling之前使用尺度和空间的注意力,在ROI Pooling之后使用通道注意力。
3. 实验
3.1 实现细节
主干网络为ResNet50,检测框架为ATSS,初始学习率0.02,使用了多尺度的infer。
3.2 消融实验
动态head的有效性的实验:
动态head的不同深度的实验:
用在不同物体检测器上的实验:
和最先进的物体检测器的对比:
首发:AI公园公众号
作者:Xiyang Dai, Yinpeng Chen
编译:ronghuaiyang
推荐阅读
关注图像处理,自然语言处理,机器学习等人工智能领域,请点击关注AI公园专栏。
欢迎关注微信公众号