完全基于Transformer的目标检测器,ICLR匿名论文视觉、检测统一_ORM:SFO

机器之心报道

编辑:陈萍

一种新的集成视觉和检测Transformer的目标检测器ViDT。

Transformer在NLP任务中取得不错的发展,许多研究将其引入到计算机视觉任务中。毫不夸张的说,Transformer正在改变计算机视觉的格局,尤其是在识别任务方面。例如Detectiontransformer是第一个用于目标检测的、端到端的学习系统,而visiontransformer是第一个完全基于transformer的图像分类架构。在本文中,一篇被ICLR2022接收的匿名论文集成了视觉和检测Transformer(VisionandDetectionTransformer,ViDT)来构建有效且高效的目标检测器。

ViDT引入了一个重新配置的注意力模块,将SwinTransformer扩展为一个独立的目标检测器,之后是一个计算高效的Transformer解码器,该解码器利用多尺度特征和辅助技术,在不增加计算负载的情况下提高检测性能。

比特币全网未确认交易52,842笔:金色财经报道,据btc.com数据显示,目前比特币全网未确认交易数为52,842笔,24小时交易速率为2.96 txs/s。目前全网难度为23.14 T,预测下次难度上调3.56%%至23.96 T,距离调整还剩10 天 12 小时。[2021/4/6 19:48:05]

在MicrosoftCOCO基准数据集上的评估表明,ViDT在现有的完全基于transformer的目标检测器中获得了最佳的AP和延迟权衡,其对大型模型的高可扩展性,可达49.2AP。

论文地址:https://openreview.net/pdf?id=w4cXZDDib1H

ViDT:视觉与检测Transformer

ViDT架构如下图2(c)所示:

首先,ViDT引入了一种改进的注意力机制,名为ReconfiguredAttentionModule(RAM),该模块有助于ViT变体处理附加的和token以进行目标检测。因此,ViDT可以将最新的带有RAM的SwinTransformer主干修改为目标检测器,并利用其具有线性复杂度的局部注意力机制获得高可扩展性;

其次,ViDT采用轻量级的无编码器neck架构来减少计算开销,同时仍然在neck模块上启用额外的优化技术。请注意,neck编码器是不必要的,因为RAM直接提取用于目标检测的细粒度表示,即token。结果,ViDT获得了比neck-free对应物更好的性能;

最后,该研究引入了用于知识蒸馏的token匹配新概念,它可以在不影响检测效率的情况下从大型模型到小型模型带来额外的性能提升。

RAM模块

该研究引入了RAM模块,它将与和token相关的单个全局注意力分解为三个不同的注意力,即×、×和×注意力。如图3所示,通过共享和token的投影层,全部复用SwinTransformer的所有参数,并执行三种不同的注意力操作:

ENCODER-FREEneck结构

为了利用多尺度特征图,ViDT结合了多层可变形transformer解码器。在DETR家族中,其neck部分需要一个transformer编码器,用于将从骨干中提取的用于图像分类的特征转换为适合目标检测的特征;编码器通常在计算上很昂贵,因为它涉及×注意力。然而,ViDT只保留了一个Transformer解码器作为其neck,因为带有RAM的SwinTransformer直接提取适合目标检测的细粒度特征作为独立的目标检测器。因此,ViDT的neck结构在计算上是高效的。

解码器从带有RAM的SwinTransformer接收两个输入:从每个阶段生成的token从最后阶段生成的token,如图2(c)的Neck所示。在每个可变形的transformer层中,首先执行×注意力。对于每个token,应用多尺度可变形注意力以生成一个新的token,聚合从多尺度特征图

中采样的一小组关键内容:

用于目标检测的token匹配知识蒸馏

虽然大型模型具有实现高性能的高容量,但在实际使用中它的计算成本可能很高。因此,该研究还提出了一种简单的知识蒸馏方法,可以通过token匹配从大型ViDT模型中迁移知识。

匹配每一层的所有token在训练中非常低效,因此,该研究只匹配对预测贡献最大的token。两组token直接相关:P:用作多尺度特征图的token集合,由body中的每个阶段生成,D:token的集合,它们是从neck的每个解码层生成的。因此,基于token匹配的蒸馏损失公式为:

评估

表2将ViDT与DETR(ViT)和YOLOS的AP、FPS等进行了比较,其中DETR(ViT)有两个变体:DETR和DeformableDETR。

实验结果表明:ViDT实现了AP和FPS之间的最佳权衡。凭借其高可扩展性,其性能优于1亿个参数的Swin-base,在相似的AP的下,FPS比DeformableDETR快2倍。此外,ViDT参数为16M,得到40.4AP,比DETR(swin-nano)和DETR(swin-tiny)高分别高6.3AP、12.6AP。

表3对比了不同空间位置编码与ViDT的结果。结果表明:pre-addition比post-addition带来的性能提升更高,即sinusoidalencoding优于learnable编码;因此,正弦空间编码的2D归纳偏置在目标检测中更有帮助。特别是,与不使用任何编码相比,使用正弦编码的预加法将AP增加了5.0。

表4总结了使用不同选择策略进行交叉注意力时的AP和FPS,其中SwinTransformer总共包含四个阶段。有趣的是,只要在最后阶段激活交叉注意力,所有策略都表现出相似的AP。由于在各个阶段中以自下而上的方式提取特征,因此在低级别阶段很难直接获得有关目标对象的有用信息。因此,研究者想要获得较高的AP和FPS,只使用最后阶段是最好的设计选择,因为token的数量最少。

为了彻底验证辅助解码损失和迭代框细化的有效性,该研究甚至对YOLOS等neck-free检测器进行了扩展。表5显示了两种neck-free检测器YOLOS和ViDT(w.o.Neck)性能。实验结果证明在ViDT中使用Neck解码器来提高目标检测性能是合理的。

下图表明:教师模型的规模越大,学生模型的收益越大。从系数来看,系数值越大,性能越好。模型蒸馏将AP提高了1.0-1.7,而不会影响学生模型的推理速度。

研究者将所有提议的组件结合起来,以实现目标检测的高精度和速度。如表8所示,有四个组件:(1)RAM将SwinTransformer扩展为独立的目标检测器,(2)neck解码器利用多尺度特征和两种辅助技术,(3)从大模型中获益知识蒸馏,(4)解码层drop进一步加快推理速度。结果表明:当使用Swin-nano作为其主干时,它仅使用13M参数就达到了41.7AP和合理的FPS。此外,当使用Swin-tiny时,它仅损失了2.7FPS而表现出46.4AP。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-4:835ms