目标检测-Transformer-ViT和DETR


前言

随着Transformer爆火以来,NLP领域迎来了大模型时代,成为AI目前最先进和火爆的领域,介于Transformer的先进性,基于Transformer架构的CV模型也开始涌现。本文介绍一下最先得到可靠应用的简单模型:ViT(Vision Transformer)、DETR(Detection Transformer)。


一、ViT

应用和结论

ViT是2020年Google团队提出的将Transformer应用在图像分类的模型,但是因为其模型“简单”且效果好,可扩展性强(scalable,模型越大效果越好),成为了Transformer在CV领域通用的backbone。

ViT原论文中最核心的结论是,当拥有足够多的数据进行预训练的时候,ViT的表现就会超过CNN,突破transformer缺少归纳偏置的限制,可以在下游任务中获得较好的迁移效果。但是当训练数据集不够大的时候,ViT的表现通常比同等大小的ResNets要差一些,这是因为Transformer和CNN相比缺少归纳偏置(inductive bias),即一种先验知识,提前做好的假设。

CNN具有两种归纳偏置:一种是局部性,即图片上相邻的区域具有相似的特征;一种是平移不变形,先卷积还是先平移结果都是一样

结构及创新点

ViT的结构:

  • 相比于NLP领域的词嵌入(Word Embedding),ViT采用了(Patch Embedding)
  • ViT将输入图片分为16x16大小的多个Patch,再将每个Patch投影为固定长度的向量,通过sum方式进行位置编码后送入Transformer Encoder,Transformer Encoder的操作和原始Transformer中完全相同。但是因为对图片分类,因此在输入序列中加入一个特殊的token,该token对应的输出即为最后的类别预测。
  • ViT block:224x224x3 -> Patch Embedding(197 * 768) -> Positional Encoding(197 * 768) -> Transformer Encoder(197 * 768) -> MLP放大再缩小(197 * 768)

模型结构图如下:
![[Pasted image 20231214171422.png]]

二、DETR

应用和结论

Detection Transformer(DETR)是Facebook AI的研究者提出的Transformer的视觉版本,用于目标检测和全景分割。这是第一个将Transformer成功整合为检测pipeline中心构建块的目标检测框架。

DETR找目标类似于地图中找目标一样,先全局范围内粗略搜,然后用放大镜精确锁定目标,因此其对小物体的检测效果不是很好;

结构及创新点

DETR之前,深度学习领域中的目标检测,大致可以分为:一阶段检测与二阶段检测。这些检测方法基本上将目标检测分为分类+框回归任务,无法直接获取到检测结果,并由于重复的大量预测框产生的NMS等操作会大大影响检测的性能。

DETR将目标检测当作一个集合预测问题,一次预测N个对象,然后通过基于集合的loss(匈牙利算法)找出预测集N个类别的排序序列与真值集相匹配的最小的序列来保证真实对象和预测对象之间的匹配,然后通过边框loss保证每个预测对象的边框精度

DETR有两个创新点:

  • 一是新的目标函数,通过二分图匹配(匈牙利算法和HK(Hopcroft-Karp)算法等)的方式,强制模型对每个物体生只生成一个预测框
  • 二是使用Transformer的编码器-解码器架构
  1. 使用可学习的object query替代了生成anchor的机制。DETR可以将learned object query和全局图像信息结合起来,通过不停的做注意力操作,从而使得模型直接输出最后的预测框。
  2. 并行预测框。因为图像中目标没有依赖关系,并行输出使得速度更快。

模型结构图如下:
在这里插入图片描述


总结

在COCO数据集上的性能,DETR和一个训练好的Faster R-CNN baseline是差不多的,无论从内存、速度还是精度来说。

DETR具有两大缺点:

(1)收敛速度慢:因为全局像素之间计算注意力要收敛到几个稀疏的像素点需要消耗很长的时间。

(2)小目标检测差:目标检测基本都是在大分辨率的特征图上进行小目标的检测,但是Transformer中的Self Attention的计算复杂度是平方级别的,所以只能利用到最后一层特征图。

  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Transformer目标检测是一种基于Transformer模型的目标检测算法。传统的目标检测算法主要基于卷积神经网络(CNN),而Transformer模型则是一种能够建模图像全局依赖关系的模型,能够更好地利用上下文信息。Transformer目标检测算法在近年来成为研究的热点,并取得了显著的成果。 Transformer目标检测算法的发展主要集中在特征学习、目标估计和标签匹配三个关键环节。在特征学习方面,Transformer模型能够更好地建模图像的全局依赖关系,从而提取更丰富的特征信息。在目标估计方面,Transformer模型能够对图像中的目标进行准确的位置估计和类别识别。在标签匹配方面,Transformer模型能够通过注意力机制对目标和背景进行区分,从而提高目标检测的准确性。 目前,基于Transformer目标检测算法已经在多个数据集上取得了优异的性能。其中,DETR(Detection Transformer)是一种重要的Transformer目标检测框架,为后续的改进算法奠定了基础。另外,ViT-FRCNN是一种代表性的使用Transformer代替卷积骨干的目标检测算法,通过注意力机制对图像全局特征进行编码。 总的来说,Transformer目标检测算法在目标检测领域展现出了巨大的潜力,并为各个领域提供了更新的解决方案。随着研究的不断深入,我们可以期待Transformer目标检测算法在未来的发展中取得更好的性能和应用。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [【Transformer】基于Transformer目标检测算法综述](https://blog.csdn.net/qq_45746168/article/details/129313433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Transformer+目标检测,这一篇入门就够了](https://blog.csdn.net/weixin_44936889/article/details/120597841)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学海一叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值