以下文章来源于极市平台 ,作者CV开发者都爱看的
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
导读
本文提出一种新颖的动态头框架,它采用注意力机制将不同的目标检测头进行统一。COCO数据集上实验验证了所提方案的有效性与高效性。以ResNeXt-101-DCN为骨干,将目标检测的性能提升到了54.0AP。
paper: https://arxiv.org/abs/2106.08322
code: https://github.com/microsoft/DynamicHead
目标检测中定位与分类合并的复杂性衍生出了各式各样的算法,然而这些方法从不同的角度出发进行目标检测性能的提升,难以从一个统一的角度进行分析度量。
本文提出一种新颖的动态头框架,它采用注意力机制将不同的目标检测头进行统一。通过特征层次之间的注意力机制用于尺度感知,空间位置之间的注意力机制用于空间感知,输出通道内的注意力机制用于任务感知,该方法可以在不增加计算量的情况显著提升模型目标检测头的表达能力。
COCO数据集上实验验证了所提方案的有效性与高效性。以ResNeXt-101-DCN为骨干,我们将目标检测的性能提升到了54.0AP,取得了一个新的高度;更进一步,采用最新的Transformer骨干与额外数据,我们可以将COCO的指标推到一个新记录:60.6AP。
为将尺度感知、空间位置感知以及任务感知同时嵌入一个目标检测头中,我们需要了解已有方法对目标检测头的改进。
给定以金字塔形式拼接的L级特征,我们可以通过上采样/下采样将连续特征朝中间级特征缩放。尺度重调整的特征金字塔可以描述为4D张量。我们进一步定义并将上述特征reshape为3D张量。基于该表达,我们将对每个张量维度的作用进行探索:
我们发现:上述方向可以统一到一个高效注意力学习问题中。本文也是首个尝试采用多注意力将三个维度组合构建统一头并最大化其性能的工作。
给定特征张量,自注意力的广义形式可以描述如下:
一种最朴素的方案是采用全连接层,但是在所有维度上直接学习注意力函数会导致过多的计算量,且由于高维度问题而 不切实际。
相反,我们将注意力函数转换为三个序列注意力,每个注意力仅聚焦一个维度:
Scale-aware Attention 我们首先引入尺度感知注意力基于其语义重要性对不同尺度特征进行融合:
其中,为线性函数,采用卷积近似,为hard-sigmoid
激活函数。
Spatial-aware Attention 我们接下来引入另一个空间位置感知注意力模块以聚焦不同空间位置的判别能力。考虑到S的高纬度,我们对其进行解耦:首先采用形变卷积对注意力学习稀疏化,然后进行特征跨尺度集成:
其中,K为稀疏采样位置数。其他参数信息与形变卷积中的参数信息类似,故略过。
Task-aware Attention 为促进联合学习与目标表达能力的泛化性,我们设计了一种任务感知注意力。它可以动态开关特征通道以辅助不同任务:
其中,为超参数,用于控制激活阈值,而类似于DyReLU。
最后,将上述注意力机制以序列方式实施,我们可以堆叠实施多次。下图给出了DynamicHead的配置示意图。
总而言之,基于所提DynamicHead的目标检测框架图见下图。任意类型的骨干网络均可用于提取特征金字塔并进一步缩放到统一尺度构建3D张量,然后将其作为DynamicHead的输入。接下来,多个包含尺度感知、空间位置感知以及任务感知的DyHead模块串行堆叠。动态头的输出可以用于不同的任务,比如分类、中心/方框回归等等。
以上图底部为例,我们可以看到不同类型注意力的输出。可以看到:
以上可视化结果很好的验证了每个注意力模块的有效性。
接下来,我们将验证如何将所提DynamicHead集成到现有检测器中以提升其性能。
One-stage Detector 单阶段检测器通过在特征图上稠密采样方式预测目标位置,这种方式简化了目标检测器的设计。经典的单阶段检测器(如RetinaNet)包含一个骨干网络提取稠密特征、多个任务相关子网络处理不同任务。正如DyReLU一文所提到:目标分类子网络的行为与回归子网络的差异甚大。不同于这种经典方案,我们仅在骨干之后附加一个统一分支,受益多注意力机制,它可以同时处理多个任务。通过这种方式,架构可以进一步简化,同时提升了效率。将DyHead与单阶段检测器集成的方式可参考见下图b。
Two-stage Detector 两阶段检测器采用Region Proposal与ROI-pooling层从特征金字塔中提取中间表达。为耦合该特性,我们首先在ROI-pooling添加实施尺度感知注意力与空间位置感知注意力,然后采用任务感知注意力替换原始的全连接层。具体实现方式可参见上图c。
我们在MS-COCO数据集上对所提方案的有效性进行了验证,检测器的架构以Mask R-CNN为基准,动态头的训练则参考了ATSS框架。
我们先来看一下总体结果,见上面两个表,从中可以看到:
我们在前述结果的基础上计息提升模型的性能,但引入更优异的Transformer骨干、额外的数据后,所提方案取得了新的记录:60.6AP。
接下来,我们将通过一系列实验验证所提DyHead的有效性与高效性。
上表对比了不同注意力机制的有效性,可以看到:
上图对比了注意力学习的有效性,可以看到:尺度感知注意力模块倾向于将更高分辨率特征向更低分辨率特征调节(见Level5),将更低分辨率特征向更高分辨率调节以平滑不同尺度特征(见Level1)见的尺度混淆。
上表对比了不同深度头的效率对比,可以看到:
上表对比了不同将所提DyHead集成到不同检测器时的性能对比,可以看到:所提DyHead可以一致性提升所有主流目标检测器性能:1.2~3.2AP。
本文亮点总结
如果觉得有用,就请分享到朋友圈吧!
上述论文PDF下载
后台回复:DyHead,即可下载论文PDF和代码
CVPR和Transformer资料下载
后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF
CVer-目标检测交流群成立
扫码添加CVer助手,可申请加入CVer-目标检测 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加小助手微信,进交流群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看