End-to-End Object Detection with Transformers

paper: https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2005.12872

project: https://github.com/facebookresearch/detr

Highlight: 端到端的目标检测,实现了真正的end-to-end,把检测问题视作是一个set prediction problem

Step1: 利用CNN获取浅层特征(feature map)与位置编码进行相加,作为encoder的输入

Step2: Decoder一次性处理全部的object queries,即一次性输出全部的预测。而不像原始的Transformer从左到右一个词一个词地输出。

    Decoder的输入由两部分组成:encoder的输出和object queries ;object queries是一个可学习的张量,矩阵内部通过学习建模了100个物体之间的全局关系,在推理的时候就可以利用全局注意力进行更好的解码预测输出

训练:训练集里面的一张图像,通过模型产生100个预测框,但这张图像内只有3个GT框,利用匈牙利算法(找到最优匹配关系)计算得到这3个GT框对应的label,并计算Loss;把所有的图片按照这个模式进行训练

训练完以后,模型学习到了一种能力,即:模型产生的100个预测框,它知道某个预测框该对应什么 ;个人理解其实训练的过程就是学习object queries矩阵的过程,训练结束之后,此时的Object queries看成100个格子,每个格子是个256维的向量。训练完以后,这100个格子里面注入了不同  的位置信息和类别信息。比如第1个格子里面的这个256维的向量代表着某个物体这种  的位置信息,这种信息是通过训练,考虑了所有图片的某个位置附近的该物体编码特征,属于和位置有关的全局统计信息。

可以将测试想象成匹配问题,Q想要寻找某个物体的特征,然后与获取到输入图像的特征(也就是K和V)进行匹配。

最新文章

  1. 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
  2. inconfont 字体库应用
  3. httpd/php/mysql的安装-1
  4. EMVTag系列16《AC响应数据》
  5. linux内核skb操作
  6. MySQL笔记-语句的执行顺序
  7. python的变量与赋值
  8. (转)Spring Boot 2 (八):Spring Boot 集成 Memcached
  9. Newtonsoft.Json序列化字符串-格式化
  10. hadoop集群运行jps命令以后Datanode节点未启动的解决办法
  11. 转:三值逻辑与NULL的处理方式
  12. How To Answer The Question "tell me about yourself" In An Interview
  13. 阅读代码工具:Visual Studio Code
  14. MongoDB(课时30 $group)
  15. mysql + excel 校正线上数据
  16. console输出图案
  17. Nodejs Express下载文件,并保存成原文件
  18. 删除eclipse Maven 进程 导致eclipse的workspace 启动不了
  19. .bat 处理错误码
  20. SAP成都研究院DevOps那些事

热门文章

  1. debian11命令行安装字体
  2. 实验1task2
  3. 极米投影仪安装apk的方法
  4. leetcode -- 旋转矩阵相关问题
  5. WebApi EF Core 2.1 Code First 设置导航属性,外键
  6. JavaScript严格模式(use strict)
  7. PyMySQL插入
  8. 打卡node day04--express-get.post.路由
  9. 用Python把PDF文件转换成Word文档
  10. 在 C# 中调用FastReport 设计窗口