基于transformer物体检测:DETR

DETR是一种端到端的目标检测框架,摒弃了先验知识如anchor和NMS。通过二分图匹配目标函数和Transformer结构,直接进行集合预测。在训练中,CNN提取patch,Transformer编码器学习特征,解码器结合预训练的对象查询生成预测框。尽管对小物体检测效果不佳,但对大物体表现出色,且简化了传统检测方法的复杂流程。
摘要由CSDN通过智能技术生成

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:每一个点每一个特征就会和其他特征有交互

结果

对大物体表现好、小物体不好、训练慢

image-20230315104131613

模型结构
基于集合的目标预测函数

设定每个图片输出个数N(原文用100足够了)

最优二分图匹配-匈牙利算法(scipy库linear-sum-assignment函数)

在cost矩阵里面放lose,包括了了框的loss和类别的loss

image-20230315104806997

image-20230315111759756

decoder里面是并行的

不同的token提供不同的注意力(哪个patch是物体)

image-20230315110048977

解码器随机初始化obj-query:0加位置编码,是一个learnable position encoding

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值