DETR阅读笔记和源码理解:End-to-End Object Detection with Transformers

本文详细解读了DETR论文,探讨了如何将Transformer应用于目标检测,消除了手工设计组件如NMS和anchors的需求。DETR通过Transformer的编码器和解码器实现端到端预测,简化检测流程。DETR在COCO数据集上与faster R-CNN对比表现出色,但训练时间较长,且在小目标检测上表现一般。此外,文章还介绍了DETR的网络结构、损失函数及实验结果。
摘要由CSDN通过智能技术生成

paper:https://arxiv.org/pdf/2005.12872.pdf

code:GitHub - facebookresearch/detr: End-to-End Object Detection with Transformers

近年,transformer开始大量从NLP引入计算机视觉,使得很多工作有了新的方向,本篇paper是第一篇端到端的将transformer引入目标检测和全景分割的工作,我对这个领域也没有那么熟悉,算是一起扫盲了,如果有新的idea,可以尝试复现一波,本文将按照paper的结构进行叙述(本篇paper解读只是占个坑,我对DETR并不熟,所以描述的并不好,等我阅读完最近的其他熟悉的paper后再过来填坑,如果有阅读的本文的同学可以适当的参考,我基本上是按照原文paper的翻译和理解写的)。

1、abstract

    paper提出了一种将目标检测视为直接接种预测问题的新方法,简化了整个检测流程,有效的消除了手工设计组件的要求,比如nms和anchors的生成。paper提出的新的框架主要部分称之为Detection transformer或者DETR,是一种基于集合的全局损失函数,损失函数函数通过二分匹配和transformer的编码器和解码器的体系结构来强制进行唯一的预测,给定固定的学习对象一个查询的集合,DETR会考虑对象与全局图像上下文之间的关系,并直接运行输出最终的预测集合,DETR在coco上直接对标的是faster rcnn,并且DETR可以很简单迁移到全景分割等领域,不依赖于其他的库。

    我要在这个位置给自己扫一下盲,然后再谈DETR这篇paper,本小节我是看的参考博客写的,我本人没有看过transformer的原始paper。我之前也没有接触过transformer,后文将根据作者提供的源码code进一步分析其实现(整个代码分析太复杂了,参考了别人的代码和博客写起来也很困难,每天写一点,然后每天将前面写错的再补齐一下)。

    本小节参考博客:详解Transformer (Attention Is All You Need) - 知乎

    1、什么是transformer

    transformer抛弃了cnn和rnn,整个网络结构完全由attention机制组成,更准确的来讲,transformer仅由self-attention和feed forward neural network组成,一个基于Transformer的可训练的神经网络可以通过堆叠Transformer的形式进行搭建,transformer本质是一个encoder和decoder的结构:

    其中,编码组件部分由一堆encoder构成,解码器也是由相同数量的解码器组成,如下图所示:

    encoder的详细结构组成:数据首先经过self-attention的模块得到一个加权后的特征向量Z,其表达式如下:

    这个Attention(Q,K,V)就是加权后的特征向量,得到这个Z后,将其送往encoder的下一个模块,即Feed Forward Neural Network,这个模块共有两层,第一层是激活函数RELU,第二层是一个线性激活函数,则将这个模块表示为:

    则encoder的结构图如下图所示:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值