【目标检测】对DETR的简单理解

【目标检测】对DETR的简单理解

文章目录

  • 【目标检测】对DETR的简单理解
    • [1. Abs](#1. Abs)
    • [2. Intro](#2. Intro)
    • [3. Method](#3. Method)
      • [3.1 模型结构](#3.1 模型结构)
      • [3.2 Loss](#3.2 Loss)
    • [4. Exp](#4. Exp)
    • [5. Discussion](#5. Discussion)
      • [5.1 二分匹配](#5.1 二分匹配)
      • [5.2 注意力机制](#5.2 注意力机制)
      • [5.3 方法存在的问题](#5.3 方法存在的问题)
    • [6. Conclusion](#6. Conclusion)
    • 参考

1. Abs

两句话概括:

  1. 第一个真正意义上的端到端检测器
  2. 最早将transformer应用到计算机视觉领域方法之一

2. Intro

基于Conv目标检测方法,如YOLO,在精度和速度上都已经非常优秀。

但是这些传统算法往往需要prior和post-process流程,导致额外的计算量,需要复杂的代码来部署模型。

prior:例如,YOLOv5使用聚类算法提前计算anchor boxes

post-process:例如,NMS去除多余预测框

DETR则完全不需要这些,从输入到输出,一气呵成,简洁优雅。

3. Method

3.1 模型结构

网络架构如图所示,同样非常简单

  1. 一个backbone:提取特征
  2. 两个transformer
    1. encoder:将特征图展平成序列,加上位置编码,使用self-attn进一步处理,使得每个特征向量关注到合适的特征表示
    2. decoder:cross-attn,query在特征序列上"逐个问询是否存在目标,目标在哪,有多大",使得query学习到目标的位置信息和特征表示
  3. 两个FFN:对query的信息进行"解压",得到预测结果(类别和边界框)。

3.2 Loss

分类:负log损失

bbox:(GIoU)IoU损失 + L1损失

4. Exp

除了AP75和APs,DETR在同样的参数规模下都超过了Faster RCNN,但是计算量和检测速度更慢。

5. Discussion

5.1 二分匹配

匈牙利算法可参考[3]

  • 由于DETR默认使用100个queries,即模型输出100个预测框,而实际目标数量只有几个;
  • 因此,需要通过二分匹配算法得到最终的预测结果;
  • 简单来说,就是要把query和gt一一对应,如果一张图像中有5个gt,则在100个queries中通过匹配算法筛选出5个最接近gt的预测结果。

5.2 注意力机制

如图是decoder的注意力可视化结果,可以看到query更关注于物体的边边角角,为目标定位提供了有效信息。

5.3 方法存在的问题

  1. 使用self-attn,太长的特征序列会导致爆炸的计算量,因此输入图像也不能太大
  2. transformer收敛速度慢,训练时间长
  3. 小目标效果一般

6. Conclusion

DETR为目标检测提供了简洁有效的端到端检测框架,且达到了主流检测器的水平,但仍然有较多改进空间。

参考

1\] https://arxiv.org/abs/2005.12872 \[2\] https://www.bilibili.com/video/BV1ZT411D7xK/ \[3\] https://blog.csdn.net/qq_54185421/article/details/125992305

相关推荐
HuggingFace3 小时前
Hugging Face 开源机器人 Reachy Mini 开启预定
人工智能
企企通采购云平台4 小时前
「天元宠物」×企企通,加速数智化升级,“链”接萌宠消费新蓝海
大数据·人工智能·宠物
超级小忍4 小时前
Spring AI ETL Pipeline使用指南
人工智能·spring
张较瘦_4 小时前
[论文阅读] 人工智能 | 读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法
论文阅读·人工智能
一只小灿灿5 小时前
前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理
前端·opencv·计算机视觉
巴伦是只猫5 小时前
【机器学习笔记 Ⅲ】4 特征选择
人工智能·笔记·机器学习
好心的小明5 小时前
【王树森推荐系统】召回11:地理位置召回、作者召回、缓存召回
人工智能·缓存·推荐系统·推荐算法
lishaoan775 小时前
使用tensorflow的线性回归的例子(十二)
人工智能·tensorflow·线性回归·戴明回归
二DUAN帝6 小时前
UE实现路径回放、自动驾驶功能简记
人工智能·websocket·机器学习·ue5·自动驾驶·ue4·cesiumforue
zskj_zhyl6 小时前
AI健康小屋“15分钟服务圈”:如何重构社区健康生态?
大数据·人工智能·物联网