DETR目标检测框架

概念:DETR(Detection Transformer)是一种基于Transformer架构的端到端目标检测框架。它与传统的基于区域提议的目标检测方法有所不同。传统方法通常依赖于手工设计的组件(如锚框、非极大值抑制等),而DETR将目标检测视为直接集合预测问题。

1. 基本思想

  • 先来个CNN得到各Patch作为输入,再套transformer做编码和解码
  • 编码路子跟VIT基本一样,重在编码,直接预测100个坐标框

先通过CNN提取图像的特征;再送入到transformer encoder-decoder中,该编码器解码器的结构基本与transformer相同,主要是在输入部分和输出部分的修改;最后得到类别和bbox的预测,并通过二分匹配计算损失来优化网络。
在这里插入图片描述

2. 整体架构

DETR包括CNN的backbone(主干部分),Transformer 的 Encoder,Transformer的Decoder,最后的预测层 FFN。
在这里插入图片描述

  • 图像编码:输入的图像先通过CNN进行特征提取,生成一个特征图(通常 Backbone 的输出通道为 2048,图像高和宽都变为了1/32),这些特征代表了图像中不同位置的语义信息。
  • 位置编码:对于每个像素位置,DETR引入位置编码(positional Encoding),用以表示特征在图像中的空间位置。这些位置编码与特征图一起被输入到Transformer模型中。
  • Transformer编码:特征图和位置编码被扁平化,并作为Transformer的输入。Transformer编码器由多个Encoder层组成每个层包括多头注意力机制(Multi-Head Self-Attention)和全连接前馈网络(Feed-Forward Neural Networks)。这些层有助于将图像中的全局和局部信息整合到特征向量中。
  • 对象查询(Object queries)和类别嵌入(Class embeddings):在Transformer的每个Decoder层中,引入了一组特定的对象查询向量和类别嵌入向量。对象查询向量代表了模型要检测的目标的数量和位置,类别嵌入向量则用于表示不同目标类别的特征。
  • 解码过程:解码器通过多头注意力机制将对象查询向量与Transformer编码器的输出进行关联,以获取与每个对象查询相对应的图像特征。同时,类别嵌入向量被用于预测每个目标的类别。这些信息整合后,模型能够生成每个目标的包围框(bounding box)及其相应的类别概率。
  • 输出:最终,DETR模型输出一组预测的目标框及其对应的类别,这些框可以包括目标的位置和边界信息。

在这里插入图片描述
在这里插入图片描述

DETR的关键创新在于将目标检测问题转化为一个序列到序列的转换问题,并利用Transformer模型有效地捕捉图像中的全局上下文和目标之间的关系,从而实现端到端的目标检测过程。

3. 可变形DETR

由于Transformer注意力模块在处理图像特征映射时的局限性,它的收敛速度慢,特征空间分辨率有限。为了缓解这些问题,提出了可变形的DETR,其注意力模块只关注参考周围的一小部分关键采样点。
可变形注意力模块是可变形DETR的关键创新之一。它允许模型在生成目标框时动态调整注意力的形状和大小,以适应目标的形变或非规则形状。这种机制有助于提高模型对各种形状目标的检测精度。

在这里插入图片描述

在这里插入图片描述

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FG.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值