目前的方法,无论是单阶段的还是两阶段的,无论是Anchor Based还是Ancho一例外的需要使用后处理方法->NMS来过滤掉冗余的预测框
这是因为目前的方法全都基于Dense Frediction,合人类识别物体的方在原理上,这种操作方式不符式。在实践中,这会导致目标检测中会有一系列的手工设计痕迹
摘要核心
1.本文将目标检测视作一个set prediction问题
2.我们的方法简化了目标检测pipeline->无需anchor以及NMS这种手工结构
3.方法名为DETR,包含一个set based loss和一个Transformer结构,
4. 新模型原理上很简洁,而且无需特殊库的支持
5,DETR的性能不错
RCNN系列:
比如Fast RCNN,Faster RCNN,Cascade RCNN等
都可以归纳为,预定位->Crop->分类,只是这几步怎么操作有一些细微的不同
所有的这些方法都可以统称为: Dense Pediction
不知道物体在哪里,所以先预定位,逐个分类。
只是在两阶段中,是将位置信息显式的标然后出来,然后逐个proposal分类+微调
而在单阶段中,位置信息是通过Feature Map上的相对位置关系得到,然后逐pixel分类+微调
这种思路下的目标检测总是需要后处理(NMS),因为总会有多个proposal对应同一个instance或者多个pixel对应同-instance,这些多出来的框就需要处理掉
Decoder
多了一个输入不同的MSA
左侧为编码器,右侧为解码器多出来的MSA,K和V来自于encoder而Q是来自于Obj queries
这种来QK来自于不同地方的attention也叫cross attention
Object queries
作用是什么?
这个东西的作用和cls token类似,也是在整合信息
Object queries是一个可学习的向量(num,b,dim)Num是人为给的值,远大于图片内物体数量,默认100b是batch sizedim是attention运行过程中用的维度数
最终学出来的东西类似于Anchor
标签:NMS,attention,queries,RCNN,DETR,方法 From: https://www.cnblogs.com/dwletsgo/p/17656233.html