DINO(ICLR 2023)

news/2024/7/10 0:28:23 标签: 深度学习, 人工智能, 机器学习, 目标检测

DINO(ICLR 2023)

DETR with Improved deNoising anchOr box

DINO发展:

Conditional DETR->DAB-DETR(4D,WH修正)

DN-DETR(去噪训练,deNoising 稳定匹配过程)

Deformable DETR(变体1:two-stage,encoder输出经过FFN分类头替换object query,变体2:box迭代细化)

三点改进:

  1. 对比去噪训练
  2. 查询的初始化(decoder的object query的设计)
  3. box的预测

论证了DETR类在大数据集上的可扩展性,使用大backbone大dataset和SOTA比较

img

模型

img

  1. 使用了多尺度特征
  2. query selection:使用encoder的输出帮助decoder确定query
  3. 使用对比去噪训练:pos(正样本)neg(负样本)
  4. 改进box迭代细化(图上没画出来)

Contrastive DeNoising Training

DN:denoising training,稳定匹配

DN两个噪声:原来的DN(xywh)偏移超参数(0~1)λ1(xy)=λ2(wh)=0.4,label的标签反转

在这里插入图片描述

图中, Although both positive and negative examples are 4D anchors that can be represented as points in 4D space, we illustrate them as points in 2D space on concentric squares for simplicity

加了对比( generate two types of CDN queries: positive queries and negative queries ):

λ1<λ2(不是DN-DETR的超参数了)

正样本:落入λ1的算正样本

负样本:λ1~λ2的算负样本

  1. 每一个GT都设计一个正样本和负样本
  2. 会尽量让λ1,λ2贴近,形成hard neg samples
  3. 对于正样本,还是计算f1loss,giou loss focal loss
  4. 对于负样本,类别的最终预测应该是 no object
  5. 保留group

思路:

如果anchor附近本身没有物体,就应该预测成no object,用对比方式更好学习no object

当一个GT周围有多个anchor,模型不好选择哪一个anchor,这会导致下面两个问题:

  1. 当GT周围有多个anchor,anchor预测哪一个GT,模型很难确定,会出现重复预测(匈牙利虽然强制一对一匹配,但还是有限)
  2. anchor和GT离的很远也会被分配过去,实际上这种anchor应该分为no object

验证CDN的有效性 :ATD

为了证明CDN的有效性,我们定义了平均Top - K距离( Average Top-K Distance,ATD ( k ) ,指标),并在matching part使用它来评估锚点离目标GT框的距离。与DETR一样,每个锚对应一个预测,该预测可能与一个GT框或背景匹配。在这里我们只考虑那些与GT box匹配。

N个GT( b0,b2,…,bN-1 )。

img

对于每个 b_{i},我们可以找到它对应的anchor并将其表示为:

img

ai 是decoder的初始anchor,其在匹配期间将最后一个解码器层分配给 bi 之后的精化框。 Then we have:

img

L1norm

小目标上性能好很多

img

Mixed Query Selection

在DETR和DN-DETR中,decoder的query是静态嵌入(embedding),而不需要从单个图像中获取任何编码后特征

Deformable DETR有一个query选择变体(two-stage),它从最后一个encoder后,encoder输出选择前K个encoder特征作为先验,以增强解码器查询
Deformable DETR利用top-K特性(label)不仅应用于位置查询,还应用于内容查询

即decoder输入:

detr:tgt(zero),pos query(embedding)

DINO:tgt(变成embedding), pos query(object query来自encoder topk输出,当前图像有关信息)

mixed query selection方法只增强了具有顶部-k个选择特性的位置查询
并保持内容查询像以前一样的可学习性

img

(a)detr decoder:tgt和object query

(b)deformable detr:加了top k选取,同时作用在 object query 和tgt上

(c)只作用于object query tgt是embedding

Look Forward Twice

img

decoder box head 在辅助loss上修正,第i层之前梯度断掉(虚线)

look forward once:辅助loss只能修改当前层(decoder)的梯度, Deformable DETR 中的 iterative box refinement 可以阻止梯度反向传播来稳定训练

img

img

look forward twice:

**猜想,来自后一层的改进的 box 信息可能更有助于修正其相邻的早期层的box预测。**因此,提出了另一种叫做两次向前看( Look Forward Twice )的方法来执行box更新, 其中第 i 层的参数受到第 i 层和( i + 1)层的损失的影响

Δbi是对上一层输入的bi-1的修正

对上一层bi-1输入加上Δbi得到bi‘(修正的box)

bi(pred)是boxhead给出的预测,来源是bi’-1+Δbi,可以修改本层的decoder和之前的decoder

消融实验

img


http://www.niftyadmin.cn/n/5046810.html

相关文章

数据结构之【泛型】

泛型&#xff1a;定义阶段不明确具体类型&#xff0c;产生对象时明确具体类型。 //Object是Java中的最高参数统一化&#xff0c;能够接受所有的引用类型&#xff1b; //有了包装类的自动拆装箱之后&#xff0c;Object还能够接收基本类型数值&#xff08;自动装箱&#xff09; …

CompletableFuture-FutureTask

2. CompletableFuture 语雀 2.1 Future接口理论知识复习 Future接口&#xff08;FutureTask实现类&#xff09;定义了操作异步任务执行一些方法&#xff0c;如获取异步任务的执行结果、取消异步任务的执行、判断任务是否被取消、判断任务执行是否完毕等。 举例&#xff1a;…

leetcode 周赛 364

8048. 最大二进制奇数 题目链接 给你一个 二进制 字符串 s &#xff0c;其中至少包含一个 1 。 你必须按某种方式 重新排列 字符串中的位&#xff0c;使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。 以字符串形式&#xff0c;表示并返回可以由给定组合生成的最…

Python Subprocess介绍:基础和示例

Python Subprocess介绍&#xff1a;基础和示例 探索Python Subprocess模块的逐步指南&#xff0c;包括示例。 目录 什么是Python Subprocess何时使用Python SubprocessPython Subprocess示例Python Subprocess管道结论Python Subprocess常见问题 什么是 Python Subprocess …

「大数据-2.0」安装Hadoop和部署HDFS集群

目录 一、下载Hadoop安装包 二、安装Hadoop 0. 安装Hadoop前的必要准备 1. 以root用户登录主节点虚拟机 2. 上传Hadoop安装包到主节点 3. 解压缩安装包到/export/server/目录中 4. 构建软链接 三、部署HDFS集群 0. 集群部署规划 1. 进入hadoop安装包内 2 进入etc目录下的hadoop…

Python 潮流周刊#21:如何提升及测量 Python 代码的性能?

你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。标题取自其中三则分享&#xff0c;不代表全部内容都是该主题&#xff0c;特此声明。 本周刊由 Python猫 出品&#xff0c;精心筛选国内外的 250 信息源&#xff0c;为你挑选…

web:[极客大挑战 2019]Http

题目 点进页面显示为 浏览了这个网站的页面发现没有什么提示信息 查看源代码 发现一个secret.php&#xff0c;点进去访问 点进页面显示为不知道是从如图所示的网址来&#xff0c;所以需要抓包修改Referer头为https://Sycsecret.buuoj.cn Referer必须得在Connection上方&#…

【网上商城优惠活动】python实现-附ChatGPT解析

1.题目 网上商城优惠活动(一) 时间限制: 1s 空间限制: 50MB 限定语言: 不限 题目描述: 【背景】 某网上商城举办优惠活动,发布了满减、打折、无门槛3种优惠券,分别为: 1.每满100元优惠10元,无使用数限制, 如100~199元可以使用1张减10元, 200~299可使用2张减20元,以此类推…