作者:Edison_G
目标检测是现在最热门的研究课题,现在的框架越来越多,但是技术的新颖性到了瓶颈,目前开始流行Transformer机制,而且在目标检测领域也能获得较大的提升,也是目前研究的一个热点。
那?Transformer靠什么得以闯入CV界秒杀CNN?
开源代码:https://github.com/gaopengcuhk/SMCA-DETR
CNNs常被用在图像特征提取上,在 NLP领域中,网络也会利用CNNs的一维滤波器从文本中提取有效信息,此时的文本就对应地以一维时间序列的形式进行表示了。
所以图像处理中使用2D CNN , NLP中就使用1D CNN,CNN的感受野(就是CNN能够看到的局部信息大小)是由卷积核/滤波器的尺寸,以及滤波器的通道数所决定的。
增加卷积核的尺寸或者滤波器的通道数会增加模型的大小,也会让模型的复杂度大幅增加。这也许会导致梯度消失的问题,从而引发让整个网络无法训练收敛的严重后果。
为解决这个问题,残差连接(Residual connections)和空洞卷积(Dilated Convolutions)应运而生。它们能够在一定程度上增强梯度的传播深度,从而在一定程度上扩大模型的感受野(后面的层就能看到更多的局部信息)。
但是卷积神经网络毕竟只是关注局部信息的网络结构,它的这种计算机制导致了它在文本信息处理上难以捕捉和存储长距离的依赖信息。人们一方面想扩大卷积核、增加通道数来捕捉长期依赖,一方面还害怕由于扩大模型所导致的维度灾难。
DEtection TRansformer的结构图
Transformer为视觉领域带来了革新性的变化,它让视觉领域中目标检测、视频分类、图像分类和图像生成等多个领域有了长足的进步。
这些应用了 Transformer 技术的模型有的识别能达到甚至超越该领域 SOTA 解决方案的效果。更让人兴奋的是,这些技术有的甚至干脆抛弃了 CNN,直接单单使用自注意力机制来构建网络。
新框架
就如上节提及到的Detection Transformer(DETR)模型,成功地将Transformer应用于目标检测,并实现了与两阶段对象检测框架(如 Faster-RCNN)相当的性能。
然而DETR也有很大的缺陷,就是收敛缓慢。从头开始的训练数据需要500个epoch才能达到高精度。为了加快其收敛速度,研究者提出了一种简单而有效的改进DETR框架的方案,即Spatially Modulated Co-Attention(SMCA)机制。
SMCA的核心思想是在DETR中通过将co-attention反馈限制在初始估计的边界框位置附近,从而进行位置感知。新提出的SMCA在保持DETR中其他操作不变的情况下,通过替换解码器中原有的co-attention机制,提高了DETR的收敛速度。
此外,通过将multi-headscale-selection attention设计集成到SMCA中,完整分级SMCA可以实现比基于扩展卷积主干的DETR更好的性能(108个epoch时45.6 mAP,500个epoch时43.3 mAP)。
Spatially Modulated Co-Attention
Spatially Modulated Co-attention(SMCA),它是一个即插即用模块,用于取代DETR中现有的co-attention机制,并通过简单的修改实现更快的收敛和更高的性能。
提出的SMCA动态预测每个对象查询对应的框的初始中心和比例,生成二维空间高斯权重图。权重映射与对象查询和图像特征的co-attention特征映射地对应相乘,以更有效地从视觉特征映射中聚合查询相关信息。
通过这种方式,空间权重图有效地调节每个对象查询的共同关注的搜索范围,使其适当地围绕最初估计的对象中心和比例。利用高斯分布的训练可以显著提高SMCR的空间预测速度。
Dynamic spatial weight maps:
每个对象查询首先动态预测其负责对象的中心和比例,然后用于生成类似二维空间高斯权重图。类高斯分布的中心在 [0, 1]×[0, 1] 的归一化坐标中参数化。对象查询Oq的类高斯分布的归一化中心 ch、cw 和尺度比例sh、sw 的初始预测公式为:
自然图像中的对象显示出不同的比例和高/宽比。
Spatially-modulated co-attention:
给定动态生成的空间先验G,用空间先验G调制对象查询Oq和自注意编码特征E之间的共同注意图Ci:
SMCA with multi-head modulation:
研究者还研究了针对不同的共同注意头以不同的方式调节共同注意特征:
SMCA with multi-scale visual features:
特征金字塔在目标检测框架中很流行,并且通常会导致对单尺度特征编码的显着改进。
实验
在COCO 2017验证集上测试结果:
集成了多尺度特征和多头空间调制,可以进一步显著改进和超越DETR,只需更少的训练迭代。
SMCA在50个epoch可实现43.7 mAP,在108个epoch可实现45.6 mAP,而DETR-DC5在500个epoch可实现43.3 mAP。
在V100 GPU上需要600 小时来训练50个epoch的完整SMCA。
Comparison with DETR-like object detectors on COCO 2017 validation set.
参考文献:

https://zhuanlan.zhihu.com/p/344709166
继续阅读
阅读原文