ECCV2020:DETR
《End-to-End Object Detection with Transformers》
端到端,其他都会生成很多框,需要nms处理
摘要
把物体检测的任务直接看成集合预测的任务,把目标检测做成端到端框架,不再需要先验知识(去掉anchor、NMS之类)
具体的:提出一种目标函数,使用二分图匹配,让模型输出独一无二的预测;使用编解码结构;解码器加一个learned object queries
Intro
目标检测的实质:给物体找个框,再预测一个类别,实际是集合预测
现状,都是曲线救国,使用回归和分类解决任务:
基于proposal方法:faster RCNN(2015开山之作),Mask RCNN, Cascade RCNN
基于anchor方法:YOLO(2016),简化了fast-RCNN
基于non-anchor方法:中心点center
这些方法都需要后处理-NMS:非极大值抑制,过滤结果
DETR上面三个都不使用,完成物体检测
优点:不受限物体大小,超过anchor框的物体也能检测
缺点:小物体检测的不好(在半年后的Deformable DETER解决)
基本思想
训练过程
CNN得到patch进行输入
然后transformer编码器学特征,编码类似ViT
解码:结合learned object query预测100个(可改)坐标框
匹配预测框和GT框,算loss
推理过程
CNN得到patch输入、编码器生成预测框
底薪度大于0.7的前景物体保留,其他作为背景
为什么要Encoder:每一个点每一个特征就会和其他特征有交互
结果
对大物体表现好、小物体不好、训练慢

模型结构
基于集合的目标预测函数
设定每个图片输出个数N(原文用100足够了)
最优二分图匹配-匈牙利算法(scipy库linear-sum-assignment函数)
在cost矩阵里面放lose,包括了了框的loss和类别的loss


decoder里面是并行的
不同的token提供不同的注意力(哪个patch是物体)

解码器随机初始化obj-query:0加位置编码,是一个learnable position encoding
DETR是一种端到端的目标检测框架,摒弃了先验知识如anchor和NMS。通过二分图匹配目标函数和Transformer结构,直接进行集合预测。在训练中,CNN提取patch,Transformer编码器学习特征,解码器结合预训练的对象查询生成预测框。尽管对小物体检测效果不佳,但对大物体表现出色,且简化了传统检测方法的复杂流程。
5172

被折叠的 条评论
为什么被折叠?



