中文笔记:DERT

2024 年 9 月 26 日 星期四(已编辑)
25

中文笔记:DERT

前言

最近在看Video Moment Retrieval和Highlight Detection的相关研究,其中效果比较好的工作如Moment-DETR,QD-DETR,CG-DETR都使用了DETR作为基本结构?所以有了这篇笔记。

DETR (Detection Transformer) 概述

DETR 将目标检测任务视为集合预测问题,主要目标是设计一个端到端的模型,不依赖人工设计的先验信息(如non-maximum suppression和anchor generation)。该网络可以分为四个主要部分:

  1. CNN特征提取:
    使用卷积神经网络(CNN)从输入图像中提取特征。

  2. Transformer编码器进行全局特征表征:
    编码器采用 Transformer 架构,可以更好地捕捉图像中的全局上下文,有助于后续移除冗余的预测框。

  3. 使用解码器生成预测框:
    Transformer 解码器用于生成预测框。Object Query 用来控制生成多少个预测框。

  4. 双边匹配损失:
    使用双边匹配损失来将预测框与真实标注进行匹配,未匹配上的预测框会被标记为背景。在推理时,这一步会被省略,使用一个设定好的阈值来选择置信度较高的预测框作为输出。

DETR 成功的原因

DETR 的成功很大程度上归功于 Transformer,能够更好地从图像中抽取全局特征,从而提高检测性能。


集合预测损失

DETR 引入了一种新颖的集合预测损失,包含以下两个关键步骤:

  1. 最优双边匹配 (optimal bipartite matching):
    这个过程类似于为工人分配任务,目标是使总成本最小化。在 DETR 中,预测框相当于工人,真实框相当于任务,cost矩阵中的cost为分类损失和预测框损失之和。这个匹配问题可以通过匈牙利算法(在 Python 中使用 scipy.linear-sum-assignment)解决。

  2. 损失计算:
    在预测框与真实框匹配后,计算实际损失并进行反向传播。与传统目标检测损失相比,DETR 进行了以下改进:

    • 去掉分类损失中的 log 函数。
    • 预测框损失: 除了使用 L1 损失,还引入了 IOU(generalized Intersection over Union)损失,用于约束那些因为全局特征提取而预测出的大框。

推理过程

在推理时,第四步(双边匹配损失)会被省略,直接通过设置的置信度阈值来筛选输出的预测框。

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...