Detr论文笔记

作者简介

一作Nicolas是NYU的博士生,这是他在fecebook实习的时候做到工作,二作是Francisco,他是pytorch维护者之一,Alexander是做全景分割任务的:

论文的创新

论文的标题是一个关键词是end to end,对于目标检测来说,端到端是在目标检测领域里面很少有人用到,大部分方法都需要加一个后处理的工作,比如nms非极大值抑制这个操作。不论你是proposal base方法 还是anchor方法 最后都会生成很多的预测框,如果我们想去去除这些冗余的框,我们就要用到nms,使用nms的话 这个模型在调参数上就比较复杂。一个简单的端到端的目标检测是大家一直寻求的,detr就很好了解决了这些问题。他不需要就是proposal 或者anchor 直接使用transform把目标检测看成一个集合预测的问题。文章中提到两个新的的地方,第一个就是目标函数,他是通过二分图匹配的方式,强制模型输出一对一的预测,这样就不会有很多冗余的框了。第二点就是使用了transformes这encoder-decoder这种架构。
detr他是非常一个简单的模型,第一是从想法上简单,第二是实践上简单,只要你的硬件支持cnn和transformes就可以

模型讲解

大致流程
在这里插入图片描述我们将一张图片听过cnn之后把他拉平,然后输入到transform encoder-decoder中,因为使用了transformeren-de之后,那么图片上每个每个特征都会与其他特征都会有交互,这样他大概就能知道那块是哪一个物体,那块是另一个物体。然后出100个框,然后这100个框和gt做匹配,他是如何进行匹配的呢,他是把这个看成一个集合预测问题,然后使用二分图匹配的方法,因为gt中的框是两个,所以让这100个框取找两个最好的匹配,然后取算损失。
问题
你直接出100个预测框,而一般实际的gt中只有几个框,那么你是如何进行匹配的。这里作者就把他转为为二分图匹配问题。
二分图匹配
在这里插入图片描述
找到最好的一个匹配使他花钱最少,我们可以使用便利的方法去算每个loss 找到一个最少的花费方式,但这样负责度比较高,我们可以使用匈牙利算法很好的解决。
在这里插入图片描述cost matrix里面放的是cost 在这里其实就是损失 我们使用上面这个公式。在这里插入图片描述找到100个中那几个是对应的之后 就算正在的loss 然后进行梯度回传。

在这里插入图片描述在这里插入图片描述我们输入的是3 * 800 1066的图像 经过cnn之后变成 2048 * 25 34 2048是通道数,25 和34 是经过cnn的 w h 然后我们为了输入transformes中 我们还需要对他进行一个 11的卷局 使他2048变成256 然后我们还要一个256 * 25 34的位置信息,我们把特征图像和位置信息相加 然后把他 w h 拉平输入到transforems中 850是输入的长度 256是transformes的head dimeson. 第二阶段有6个encoder 第二阶段输出的是 850256的数据。然后我们要进入第三阶段,第三阶段的话我们要加入一个object queries,他是一个可学习的embedding,其实他也是一个可学习的位置embedding.他的维度是100256 100是我们输出的个数 256是和第二阶段的相对应,其实也可以理解为他也是ancho的机制,相当于是一个条件 ,我给你这个条件 你这个模型基于我的这个条件做出怎么样的判断 ,r.他和第二阶段输出的全局特征一起进行在decoder里面进行反复的进行自注意操作,里面也是6个decoder…第三阶段输出的是100*256 然后进行全脸阶层 得到100个输出然后进行两个预测 一个是类别的预测 一个是框的预测,一但我们得到这个100个预测之后 我们会和这个gt进行最优匹配。用匈牙利算法 最后去算这个目标函数。
在这里插入图片描述
在encoder里面自注意力机制在特征图上进行全局分析,因为最后一个特征图对于大物体比较友好,那么在上面进行 Self-Attention 会便于网络更好的提取不同位置不同大物体之间的相互关系的联系,比如有桌子的地方可能有杯子,有草坪的地方有树,有一个鸟的地方可能还有一个鸟等等。所以 DETR 在大目标上效果比 Faster RCNN 好就比较容易理解到了。然后位置编码是被每一个 Multi-Head Self-Attention 前都加入了的
在这里插入图片描述做目标检测时,我们会希望不同的 Object Query 对应图像中不同的位置会好一些。所以刚刚说Object Query 自然就是 positional encodings,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值