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

点击上方“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天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~  
基于Transformer目标检测是一种使用Transformer架构进行目标检测任务的方法。传统的目标检测方法主要基于卷积神经网络(CNN),如Faster R-CNN、YOLO和SSD等。而基于Transformer目标检测是在目标检测领域引入Transformer架构的一种新思路。 Transformer是一种自注意力机制(self-attention)的网络结构,最初用于机器翻译任务中。通过引入自注意力机制,Transformer能够对输入序列中的不同位置之间的关系进行建模,有效地捕捉全局信息。在目标检测中,Transformer可以用于替代传统的卷积神经网络,从而实现端到端的目标检测。 基于Transformer目标检测方法通常包括以下几个步骤: 1. 特征提取:使用Transformer网络对输入图像进行特征提取。这里可以利用预训练的Transformer模型(如BERT、GPT等)来提取图像特征。 2. 目标分类和定位:使用Transformer网络对提取的特征进行目标分类和定位。可以通过在Transformer的输出上添加一些额外的层来实现。 3. 边界框预测:基于分类和定位结果,使用边界框预测算法(如Anchor-based或Anchor-free方法)来生成最终的目标检测结果。 基于Transformer目标检测方法相比传统方法有一些优势,例如能够捕捉全局信息、具有较好的泛化能力等。但由于Transformer的计算复杂度较高,目前在实际应用中还存在一些挑战和限制。不过,随着技术的不断发展,基于Transformer目标检测方法有望在未来得到更广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值