1.检测头综述
开发一个好的目标检测头的挑战可以概括为三类。首先,头部应该具有比例意识,因为图像中通常存在多个具有不同比例的物体。其次,头部应该具有空间意识,因为在不同的视角下,物体通常以截然不同的形状、旋转和位置出现。第三,头部需要任务感知,因为物体可以有不同的表示(例如,边界框[12]、中心[28]和角点[33]),这些表示具有完全不同的目标和约束。
2.动态检测头
动态检测头就是:
图1所示,我们的动态头部方法的插图。它包含三种不同的注意机制,每一种机制都侧重于不同的视角:规模意识注意、空间意识注意和任务意识注意。我们还可视化了在每个注意模块之后特征映射是如何改进的
具体方法
a.提取数学模型
1.将L个不同层次的特征提取到一起,称为特征金字塔
2.使用上采样或下采样来调整连续水平特征的大小,使其接近中位数水平特征的规模。重新缩放后的特征金字塔可以表示为一个四维张量F∈RL×H×W×C,其中L表示金字塔中的层数,H、W、C分别表示中位层特征的高度、宽度和通道数。我们进一步定义S = H × W,
3.将张量重塑为三维张量F∈RL×S×C。基于这种表示,我们将探讨每个张量维度的作用。
L:•物体尺度的差异与不同层次的特征有关。改进不同层次F的表示学习有利于目标检测的尺度感知。
S:•不同物体形状的各种几何变换与不同空间位置的特征有关。改进F在不同空间位置上的表征学习有利于物体检测的空间感知。
C:•不同的对象表示和任务可能与不同渠道的特征相关。改进不同通道F的表示学习有利于目标检测的任务感知
b.分析数学模型
1.给予一般的数学描述
给定特征张量F∈RL×S×C,应用注意力机制的一般表述为:
其中π(·)为注意函数。这种注意力功能的解决方案是通过完全连接的层来实现的。由于直接学习所有维度上的注意函数在在计算量上是巨大的,而且由于张量的高维,实际上是电脑负担不起的,所以每个角度采用一种注意力机制,最后再拟合
式中πL(·)、πS(·)、πC(·)分别是作用于维度L、S、C上的三个不同的注意函数。
2.不同角度的注意力机制的具体函数
L:
其中f(·)是由1 × 1卷积层近似的线性函数,σ(x) = max(0, min(1, x+1 2))是sigmoid函数
S:
其中,K为稀疏采样位置的个数,pk +∆pk为自学习的空间偏移量∆pk所移位的位置,以聚焦于一个判别区域,∆mk为自学习的位置pk上的重要标量。两者都是从F
C:
其中Fc为c-th通道的特征片,[α 1, α2, β1, β2] T = θ(·)为学习控制激活阈值的超函数。θ(·)的实现与[3]类似,首先在L × S维上进行全局平均池化以降低维数,然后使用两个完全连接层和一个归一化层,最后使用移位的sigmoid函数将输出归一化为[−1,1]。
最后,由于上述三种注意机制是顺序应用的,我们可以多次嵌套公式2,从而有效地将多个πL、πS和πC块叠加在一起。
动态检测头的详细设计为:
图2,动态检测头的详细设计。(a)显示了每个注意模块的详细实施情况。(b)展示了如何将动态头部块应用于一级目标检测器。(c)展示了如何将动态头部块应用于两级目标检测器。
3.动态检测头的总结
该方法将动态头,将尺度意识、空间意识和任务意识统一在一起。通过在尺度感知的特征层次之间、空间感知的空间位置之间以及任务感知的输出通道内连贯地组合多种自注意机制,显著提高了目标检测头部的表示能力,且不增加任何计算开销。