点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

来源丨机器之心

编辑丨极市平台

导读

一种新的集成视觉和检测 Transformer 的目标检测器 ViDT。ViDT 在现有的完全基于 transformer 的目标检测器中获得了最佳的 AP 和延迟权衡,其对大型模型的高可扩展性,可达 49.2AP。

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

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

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

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

ViDT:视觉与检测 Transformer

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

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

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

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

RAM 模块

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

ENCODER-FREE  neck 结构

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

解码器从带有 RAM 的 Swin Transformer 接收两个输入:(1)从每个阶段生成的 [PATCH] token(2)从最后阶段生成的 [DET ] token,如图 2 (c) 的 Neck 所示。在每个可变形的 transformer 层中,首先执行 [DET] × [DET] 注意力。对于每个 [DET] token,应用多尺度可变形注意力以生成一个新的 [DET] token,聚合从多尺度特征图中采样的一小组关键内容:

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

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

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

评估

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

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

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

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

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

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

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

如果觉得有用,就请分享到朋友圈吧!

点个在看 paper不断!

完全基于Transformer的目标检测器,ICLR匿名论文实现视觉、检测统一相关推荐

  1. 旷视孙剑团队提出Anchor DETR:基于Transformer的目标检测新网络

    开放了预训练,r50 400多m 写在前面 在本文中,作者提出了一种基于Transformer的目标检测器.在以前基于Transformer的检测器中,目标的查询是一组可学习的embedding.然而 ...

  2. 高效!Anchor DETR:旷视提出一种基于Transformer的目标检测神器!

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:Sophia知乎 https://zhuanlan.zhihu.com/p/412738375 985人工智能 ...

  3. 计算机视觉算法——基于Transformer的目标检测(DETR / Deformable DETR / DETR 3D)

    计算机视觉算法--基于Transformer的目标检测(DETR / Deformable DETR / DETR 3D) 计算机视觉算法--基于Transformer的目标检测(DETR / Def ...

  4. (ICCV-2021)TransReID:基于transformer的目标重识别

    TransReID:基于transformer的目标重识别 paper题目:TransReID: Transformer-based Object Re-Identification paper是浙大 ...

  5. Facebook AI的DETR:一种基于Transformer的目标检测方法

    介绍 机器学习框架或库有时会更改该领域的格局.前不久,Facebook开源了一个这样的框架,DETR(DEtection TRansformer) 在本文中,我们将快速了解目标检测的概念,然后研究DE ...

  6. 多快好省的目标检测器来了,旷视孙剑团队提出Anchor DETR:基于Anchor Point的DETR

    作者丨小马 编辑丨极市平台 本文原创首发于极市平台公众号,转载请获得授权并标明出处. [写在前面] 在本文中,作者提出了一种基于Transformer的目标检测器.在以前基于Transformer的检 ...

  7. 打破ViT的实际应用限制!沈春华老师团队提出无需解码器的目标检测器DFFT

    作者丨ChaucerG 来源丨集智书童 编辑丨极市平台 导读 作者提出了一种完全基于Transformer且无解码器(DFFT)的目标检测器,首次在训练和推理阶段都实现了高效率.DFFT在一系列低资源 ...

  8. Interactron | 体现自适应的目标检测器

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文解读一下 体现自适应的目标检测器 Interactron.   多年来,人们提出了各种各样的方法来解决目标检测 ...

  9. ECCV 2022|通往数据高效的Transformer目标检测器

    作者丨encounter1997@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/545435909 编辑丨极市平台 导读 本文围绕Detection Transfor ...

最新文章

  1. 为什么要选择useState而不是useReducer
  2. 两个列表之间移动数据
  3. dSploitzANTI渗透教程之HTTP服务重定向地址
  4. Java类的基本运行顺序
  5. mysql 表数据diff,mysqldiff使用笔记
  6. Python二级笔记(14)
  7. 【人工智能】【深度学习】初学者如何选出最适合自己深度学习框架?
  8. C++计算函数执行时间的两种方法
  9. python查找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法...
  10. 按周汇总_有合并单格及空行的数据如何快速汇总?简单几步快速搞定
  11. 安卓项目R,java文件不能自动更新,clean之后,R.java消失 (转自 Cynosure鱼)
  12. vs2017远程编译linux教程,Visual Studio 2017 远程编译调试 Linux 上已存在的通过 Samba 共享的 CMake 工程...
  13. Resource_Hacker破解版下载
  14. 数学分析:有理数的稠密性证明
  15. 关于Java面试,你应该准备这些知识点
  16. OWA动态密码短信认证方案,解决outlook邮件双因子认证问题
  17. python 菜品识别_菜品识别-python
  18. R语言ggplot2可视化:使用patchwork包将两个ggplot2可视化结果图像垂直堆叠排列进行组合构图(vertically stack the plots)
  19. ChromeDriver与Chrome版本对应关系
  20. gre cs试题计算机,GRE sub 计算机专项考试

热门文章

  1. COJN 0575 800601滑雪
  2. android 以不规则图片为边框切割另外图片
  3. 列举一些常见的系统系能瓶颈 Common Bottlenecks
  4. 【组队学习】10月份微信图文索引
  5. 【直播】杨剑砺:数据可视化漫谈
  6. 用 Python 制作可视化报表,这也太快了!
  7. 谷歌高管又变动:AI 研究部门元老即将离职
  8. 老码农90%的程序猿都是瞎努力,这份路线教你成为高手!
  9. 成为人工智能视觉应用工程师需要多久?我用了45天!
  10. 好莱坞科幻新片《b》,钦定 AI 机器人出演女主角!