目标检测DETR系列

DETR是首个使用Transformer进行目标检测的模型,通过集合预测解决任务,但面临query含义不清和收敛速度慢的问题。文章详细分析了模型结构,特别是query和key的组成,以及为何会导致收敛困难。
摘要由CSDN通过智能技术生成

DETR

DETR作为首个使用Transformer做目标检测的模型,非常具有创新性。他将目标检测建模成集合预测的任务,即输入一组(如100个)learnable的query,然后输入对应数量(如100个)的物体预测结果。在训练过程中,使用二分图匹配预测和标签进行训练,而测试时不需要后处理(如nms)即可产生所有结果。

尽管很简单、优雅,但是DETR存在两个问题,一是query含义并不清楚,不可解释,二是模型收敛慢。本来这应该是两个独立问题,不过后来我们发现,DETR收敛慢很大程度上来自于query含义的不明。

模型结构

在这里插入图片描述
模型结构如图所示,与之前学习的petr类似(petr基于detr改进)

detr的transformer

在这里插入图片描述
Transformer Encoder:在进入encoder之前会通过一个1 X 1卷积将backbone提取的特征[w/32, h/32, 2048]变为[w/32, h/32, 256],由于Transformer的输入是一个序列那么这里还需要一个flatten进而形成一个[W * H, 256]的特征图
翻译任务中,输入transformer的是(lmax_seq_length * embedding_size),词语数量 * 词向量长度,最终的输出是(lmax_seq_length ,classes),因此,图像任务重把图像reshape拉长,送入transformer,通道数就相当于每个位置的向量长度。
在这里插入图片描述

encoder和decoder里attention和query和key都是由两部分组成的,比如encoder里的query分别来自于图像特征(包含语义信息)和位置编码(包含位置信息),因此这两部分分别称为content query(对应图像特征)和positional query(对应位置编码)。key和query完全相同。value只有图像特征这一语义部分。

再看decoder,decoder的key和value与encoder的组成完全相同,但是query则不同。query的语义部分来自于decoder embeddings,对应上层的输入,是由图像特征组合来的。而位置部分则来自于learnable queries,这是与我们看DETR的框架图后的第一反应不同的。因此decoder的learnable query实际指代的是位置信息。(这里不懂)

在机器翻译中的Transformer,Decoder的输入是经过经过掩码后的目标翻译结果,而在这里则改成直接输入N个序列,我看了下代码,这N个序列实际就是通过nn.Embedding(N, d_model)返回的随机初始的100个嵌入向量,反正就是随机序列就是了。
下面这个对query的解释比较容易懂
object queries相当于问问题的人,有100个这样的参数,它是可以学习的,第一个参数(1256)相当于问图片的左下角是不是有小物体、中间是不是有大物体等,第二个参数(1256)相当于问图片的右下角是不是有小物体等,并不是bounding box。
根据decoder输出的结果,我们需要送入到FFN中得到类别以及位置信息,会得到100个类别和位置数据,假如图片实际只有三个物体,那通过二分图中的匈牙利算法选出最适合的3个框,通过损失函数以及反向传播,我们就可以无限拟合预测值靠近真实值的类别和位置信息

detr问题

由于 decoder embeddings(内容部分) 初始化为0,learnable queries(位置部分) 又没有显式地提供位置先验(没有像传统 anchor 那样平铺到图像上、也没有像 Encoder 中那样经历了正余弦位置编码从而得到明确的、可区分的信息),因此,在刚开始进行交叉注意力计算时,大部分 decoder embeddings 中的向量都会被 project 到图像特征的同一个空间位置(因为大家都没有啥区别与约束)。于是,DETR 就势必要经历较多论迭代才能收敛(学得好)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值