点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

导读

本文是华科&地平线关于Transformer的迁移学习、泛化性能方面的深度思考。重点揭示了Transformer的迁移学习能力与泛化性能,同时引出了Transformer在模型缩放与ConvNet缩放不一致的问题。

paper: https://arxiv.org/abs/2106.00666

code: https://github.com/hustvl/YOLOS

本文是华科&地平线关于Transformer的迁移学习、泛化性能方面的深度思考。依托于目标检测任务,从最基本的ViT出发,参考DETR架构设计,从ViT的预训练、迁移学习、模型缩放等几个维度展开了讨论了,重点揭示了Transformer的迁移学习能力与泛化性能,同时引出了Transformer在模型缩放与ConvNet缩放不一致的问题。

Abstract

Transformer能否以最少的2D空间结构从纯粹的序列到序列的角度进行2D目标识别呢?

为回答该问题,我们提出了YOLOS(You Only Look at One Sequence),一系列基于朴素ViT(即尽可能少的进行修改)的目标检测模型。我们发现:在中等大小数据集ImageNet上预训练的YOLOS已经足以在COCO上取得极具竞争力的目标检测性能,比如:YOLOS-Base可以取得42.0boxAP指标。与此同时,我们还通过目标检测。讨论了当前预训练机制、模型缩放策略对于Transformer在视觉任务中的局限性。

YOLOS

在模型设计方面,我们尽可能参照原始ViT架构,并参照DETR针对目标检测进行适当调整。YOLOS可以轻易的适配不同的Transformer结构,这种简单的设置初衷不是为了更好的检测性能,而是为了尽可能无偏的揭示Transformer在目标检测方面的特性。

Architecture

上图给出了本文所提YOLOS架构示意图,而从ViT到YOLOS的过渡非常简单:

  • YOLOS丢弃了用于图像分类的CLS而添加了100个随机初始化的DET;

  • 在训练阶段,YOLOS采用偶匹配损失(Bipartite Matching Loss)替换了图像分类损失以进行目标检测。

Detection Token

我们针对性的选择随机初始的DET作为目标表达的代理以避免2D结构与标签赋值时注入的先验知识存在的归纳偏置。当在COCO上进行微调时,每次前向传播时,在DET与真实目标之间构建一个最优偶匹配。该步骤起着与标签赋值相同的作用,但它与2D结构无关,也即是说:YOLOS不需要将ViT的输出重解释为2D结构以进行标签赋值。理论上来讲,YOLOS可以进行任意维目标检测,且无需知道精确的空间结构或者几何结构,只要将输入按照相同方式平展为序列即可。

Fine-tuning at Higher Resolution

当在COCO上进行微调时,除了用于分类和BBOX规范的MLP参数以及DET外,其他参数均由ImageNet预训练而来。在YOLOS中,分类与BBOX头采用两层MLP实现且参数不共享。在微调阶段,图像具有比预训练更大的分辨率,我们保持块尺寸()不变,因而导致了更大的序列长度。我们采用了类似ViT的方式对预训练位置嵌入进行2D插值。

Inductive Bias

我们精心设计了YOLOS以最小化额外的归纳偏置注入。由ViT产生的归纳片偏置源自网络的stem部分的块提取以及位置嵌入的分辨率调整。除此之外,YOLOS并未在ViT上添加额外卷积。从表达学习角度,我们选择采用DET作为目标代理并用于最终目标预测以避免额外的2D归纳偏置

Comparisons with DETR

YOLOS的设计是受DETR启发而来:YOLOS采用DET作为目标表达的代理以避免2D结构和任务相关的先验知识导致的归纳偏置,YOLOS采用了与DETR相似的优化方式。但同时存在几点不同:

  • DETR采用了随机初始化的编解码形式的Transformer;而YOLOS则仅研究了预训练ViT编码的迁移能力;

  • DETR采用了decoder-encoder注意力并在每个decoder层添加额外辅助监督;而YOLOS总是查看每一层的一个序列,而没有再操作方面对块与DET进行区分。

Experiments

Setup

Pre-training

我们在ImageNet上采用DeiT训练策略对YOLOS/ViT进行预训练。

Fine-tuning

我们采用类似DETR方式在COCO数据上对YOLOS进行微调。

Model Variants

下表给出了我们关于YOLOS的不同模型配置信息。

The Effects of Pre-training

我们通过YOLOS研究了不同预训练策略对于ViT的影响,结果见上表。从上表可以看到:

  • 至少在迁移学习框架下,从计算效率角度来看,预训练是很有必要的。从Tiny与Small模型对比来看,预训练可以节省大量的计算耗时;而且从头开始训练的模型性能要低于预训练模型的性能。这与恺明大神之前关于ConvNet的预训练研究不一致

  • 从真实标签监督预训练来看,不同大小模型倾向于不同的预训练机制:200epoch预训练+300epoch微调的YOLOS-Ti仍无法匹配300epoch预训练的性能;而对于small模型200epoch预训练具有与300epoch预训练相当的性能。引入额外的蒸馏,模型的性能可以进一步提升1AP指标。这是因为预训练CNN老师后模型有助于ViT更好的适配COCO。

  • 从上述分析我们可以得出:ImageNet预训练结果无法精确的反应在COCO目标检测上迁移学习性能。相比图像识别中常用的迁移学习基准,YOLOS对于预训练机制更为敏感,且性能仍未达到饱和。因此,将YOLOS作为一个具有挑战性的迁移学习基础评价不同预训练策略对于ViT的影响是很合理的

Pre-traing and Transfer Learning Perforrmance of Different Scaled Models

我们研究了不同模型缩放策略的预训练与迁移学习性能,比如宽度缩放w、均匀复合缩放dwr以及快速速度dwr。模型从1.2G缩放到4.5G并用于预训练。相关模型配置见前面的Table1,结果见下表。

从上表指标对比可以看到:

  • dwr与dwr缩放均比简单的w缩放取得了更佳的精度;

  • 关于缩放策略的属性与CNN相一致,比如w缩放速度最友好;dwr缩放取得了最佳精度;dwr缩放速度接近w缩放,精度与dwr相当。

  • 由于COCO数据微调时分辨率与预训练分辨率不一致,此时预训练性能与迁移学习性能出现了不一致:dwr缩放具有与w缩放相当的性能,而dwr缩放则具有最佳性能。这种性能不一致说明:ViT需要一种新的模型缩放策略

Comparisons with CNN-based Object Detectors

上表对比了YOLOS与ConvNet作为骨干时的性能,从中可以看到:在Tiny模型方面,YOLOS-Ti取得比高度优化CNN作为骨干时更佳的性能

上表给出了YOLOS与DETR的性能对比,从中可以看到:

  • YOLOS-Ti具有比DETR更佳的性能;

  • YOLOS-S-dwr缩放取得了比DETR更佳的性能;

  • 而YOLOS-B尽管具有更多的参数量,但仍比同等大小DETR稍弱。

尽管上述结果看起来让人很是沮丧,但是YOLOS的出发点并不是为了更佳的性能,而是为了精确的揭示ViT在目标检测方面的迁移能力。仅需要对ViT进行非常小的修改,这种架构即可成功的迁移到极具挑战性的COCO目标检测基准上并取得42boxAP指标。YOLOS的这种最小调改精确地揭示了Transformer的灵活性与泛化性能

作为一种目标检测器,YOLOS采用DET表示所检测到地目标。我们发现:不同DET对目标位置与尺寸比较敏感,而对目标类别不敏感。见上面Fig2与Fig3.

本文亮点总结

1. YOLOS是一系列基于朴素ViT的目标检测模型,在中等大小数据集ImageNet上预训练的YOLOS已经足以在COCO上取得极具竞争力的目标检测性能。

2. YOLOS可以轻易的适配不同的Transformer结构,这种简单的设置初衷不是为了更好的检测性能,而是为了尽可能无偏的揭示Transformer在目标检测方面的特性。

本文仅做学术分享,如有侵权,请联系删文。下载1在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~

致敬YOLO!华科提出YOLOS:基于视觉Transformer的目标检测相关推荐

  1. 基于视觉Transformer的目标检测

    基于视觉Transformer的目标检测 无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度 https://github.com/whai362/PVT 例如,在参数数量相当 ...

  2. 【深度学习】SETR:基于视觉 Transformer 的语义分割模型

    Visual Transformer Author:louwill Machine Learning Lab 自从Transformer在视觉领域大火之后,一系列下游视觉任务应用研究也随之多了起来.基 ...

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

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

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

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

  5. 目标检测YOLO实战应用案例100讲-基于YOLOv4的SAR目标检测方法应用(论文篇)

    目录 基于改进YOLOv4的SAR目标检测方法研究 传统的目标检测方法 基于深度学习的目标检测方法

  6. 基于深度学习的目标检测研究综述

    基于深度学习的目标检测研究综述 摘要:深度学习是机器学习的一个研究领域,近年来受到越来越多的关注.最近几年,深度学习在目标检测领域取得了不少突破性的进展,已经运用到具体的目标检测任务上.本文首先详细介 ...

  7. 综述 | 基于深度学习的目标检测算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 导读:目标检测(Object Det ...

  8. 基于深度学习的目标检测的研究进展2

    普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫.而在ILSVRC(ImageNet Large Scale Visual Recognition Cha ...

  9. 基于深度学习的目标检测方法综述

    引言 现有的深度学习的目标检测方法,可以大致分为两类:一.基于候选区域的目标检测方法:二.基于回归的目标检测方法.依据方法的提出时间,可以构建出如下时间线: 2014 CVPR R-CNN[1] 20 ...

最新文章

  1. 【目标检测基础积累】常用的评价指标
  2. 5.7.4.framebuffer应用编程实践3
  3. Python:给定一个不超过5位的正整数,判断有几位
  4. Java 用接口实现加减乘除计算器
  5. self.modules() 和 self.children()的区别
  6. php截取多个分割符号_PHP按符号截取字符串的指定部分的实现方法
  7. java引用队列_java的强引用、软引用、弱引用、幻象引用,引用队列总结
  8. 1500802035王叔文
  9. 无线局域网和蜂窝移动网络_苹果调整 iPhone 移动数据下载限制:从 150 MB 升至 200 MB...
  10. 【摄像头】图像传感器尺寸、像素大小和成像质量的关系
  11. 《等一朵花开》读书感悟
  12. 解除RAR和ZIP压缩包密码的不同方法
  13. 尚学堂视频笔记一:java面向对象基础和java基础知识
  14. 论文阅读:Neural Machine Translation By Jointly Learning To Align And Translate
  15. 国密算法简介及电子印章相关标准
  16. 海思3559AV100 HiSysLink 之 IPCMSG
  17. 官网下载Eclipse
  18. html自动执行bat,bat脚本启动程序 怎么命令bat打开某个文件
  19. GoLang格式化占位符
  20. JAVA与PHP之间进行aes加密解密

热门文章

  1. 数据泄露报告称,1/5 的外部数据泄露事件涉及政府背景(附下载)
  2. Eclipse编辑jsp、js文件时,经常出现卡死现象解决汇总
  3. Eclipse和intellij idea 快捷键对比
  4. 保护眼睛设置.txt
  5. JS的IE和Firefox兼容性汇编(原作:hotman_x)- -
  6. 3、如何证明static静态变量和类无关?
  7. int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!
  8. 某程序媛哀叹:北京好几套房,家庭收入200多万,但孩子是渣娃,人生没意义了!...
  9. 如何优雅处理重复请求/并发请求?
  10. 史上更全面的数据库分库分表、数据一致性、主键分配思路!