【多模态】7、DINO | 针对 DETR-like 检测器的提升

这篇具有很好参考价值的文章主要介绍了【多模态】7、DINO | 针对 DETR-like 检测器的提升。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【多模态】7、DINO | 针对 DETR-like 检测器的提升,多模态,AIGC,深度学习,人工智能

论文:DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

代码:https://github.com/IDEACVR/DINO

出处:香港大学 | 清华大学

时间:2022.07

【多模态】7、DINO | 针对 DETR-like 检测器的提升,多模态,AIGC,深度学习,人工智能

一、背景

DINO:Detr with Improved deNoising anchOr boxes

DINO 是一个基于 DETR 结构的端到端目标检测器,通过对去噪训练使用对比学习的方式来提高了 DETR-like models 的性能和效果

DINO 的结构:

  • backbone
  • multi-layer Transformer encoder
  • multi-layer Transformer decoder
  • multiple prediction heads
  • 参考 DAB-DETR,作者在 decoder 中构建了 queries 作为 dynamic anchor box,并且通过 decoder layers 一步步对其进行 refine
  • 参考 DN-DETR,作者在 Transformer decoder layer 中的 ground truth label 和 box 添加了噪声,帮助模型在训练中实现更稳定的双边匹配
  • 作者还使用了 deformable attention 来提高计算效率

DINO 提出的三个新方式:

  • contrastive denoising training:

    为了提升 one-to-one matching 的效果,将一个 gt 对应的所有正负样本都加起来来实现,给一个 gt box 添加两个不同的噪声后,将噪声较小的 box 标记为 positive,另外一个标记为 negative

    能够帮助模型过滤掉同一目标的多个冗余输出

  • mixed query selection:

    改善 query 初始化

  • look forward twice:

    为了使用后面的层的 refine box information 来帮助前面层进行优化

二、方法

【多模态】7、DINO | 针对 DETR-like 检测器的提升,多模态,AIGC,深度学习,人工智能

DINO: DETR with Improved DeNoising Anchor Boxes

DETR 是由两部分构成的:

  • positional part:作为 positional queries
  • content part:作为 content queries

DINO 的框架结构如图 2 所示:给定一个输入图像

  • 首先,使用 ResNet 或 Swin transformer 作为 backbone 来进行特征提取
  • 其次,将提取到的特征输入 Transformer encoder,并且加上 position embedding,进行 feature enhancement
  • 接着,使用 new mixed query selection 来初始化 anchor 作为 decoder 的 positional queries。对 content queries 不进行初始化,让其可以自己学习
  • 然后,使用 deformable attention [41] 来对 encoder 输出特征进行结合,并且逐层更新 queries
  • 最后,最终的输出是 refined anchor box 和 class result
  • 此外,类似于 DN-DETR,DINO 中也使用了 DN branch,来进行 denoising training,且在基础 DN 方法之外,还考虑的 hard negative samples

2.1 Contrastive DeNoising Training

DN-DETR 在稳定训练和加速收敛上表现很好,能够基于和 gt box 离得近的 anchor 来进行预测。

但是,DN-DETR 对附近没有 object 的 anchor 预测 “no object” 的能力较差

所以本文提出了 Contrastive DeNoising(CDN) 来剔除没用的 anchor

DN-DETR 中有一个超参 λ \lambda λ 来控制噪声尺度,生成的早上不会大于 λ \lambda λ,因为 DN-DETR 想要模型学习在适度的 noised queries 中重建 gt

DINO 中,提出了两个超参 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2,且 λ 1 < λ 2 \lambda_1 < \lambda_2 λ1<λ2,如图 3 所示,生成两种 CDN queries:

  • positive queries:noise scale 小于 λ 1 \lambda_1 λ1,用于重建 gt box
  • negative queries:noise scale 大于 λ 1 \lambda_1 λ1 小于 λ 2 \lambda_2 λ2,用于预测 “no object”

如图 3 所示,每个 CDN group 有一系列 positive queries 和 negative queries,如果一个图像有 n 个 GT box,CDN group 会有 2n 哥 queries,因为每个 GT box 生成一个 positive 和一个 negative queries

2.3 Mixed Query Selection

如图 5c,DINO 只使用 position information 和 selected top-K features 来初始化 anchor box,保持 content queries

【多模态】7、DINO | 针对 DETR-like 检测器的提升,多模态,AIGC,深度学习,人工智能

2.4 Look Forward Twice

【多模态】7、DINO | 针对 DETR-like 检测器的提升,多模态,AIGC,深度学习,人工智能

三、效果

【多模态】7、DINO | 针对 DETR-like 检测器的提升,多模态,AIGC,深度学习,人工智能文章来源地址https://www.toymoban.com/news/detail-601668.html

到了这里,关于【多模态】7、DINO | 针对 DETR-like 检测器的提升的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog设计“111”检测器与“01110”检测器并测试所有情况

    使用Quartus+modelsim完成本次设计 分析 分析题目,得到其有限状态机为下图: 代码实现 Testbench 结果 Modelsim结果如下图所示,分析可知实现了题目要求。 逻辑综合出来的电路如下图所示:即只有S3状态才会输出OUT=1。 其中的state的状态机如下图所示(RLT viewer中所示),可见其与

    2024年02月08日
    浏览(57)
  • 【opencv】传统目标检测:Haar检测器实现人脸检测

    传统目标分类器主要包括Viola Jones Detector、HOG Detector、DPM Detector,本文主要介绍VJ检测器,在VJ检测器基础上发展出了Haar检测器,Haar检测器也是更为全面、使用更为广泛的检测器。 Viola Jones Detector是作为人脸检测器被Viola和Jones提出来的,后来Rainer Lienhart和Jochen Maydt将这个检测

    2024年02月12日
    浏览(40)
  • 1001序列检测器

    multisim仿真文件:1001序列检测器(mealy机)-单片机文档类资源-CSDN下载 modelsim仿真文件:1001序列检测器modelsim仿真和测试文件-单片机文档类资源-CSDN下载 实验报告:1001序列检测器实验报告-单片机文档类资源-CSDN下载 电 子 科 技 大 学 课程设计名称:           1001 序列检

    2024年02月06日
    浏览(47)
  • OpenCV分类检测器训练

    OpenCV中有两个程序可以训练级联分类器: opencv_haartraining 和opencv_traincascade。opencv_traincascade 是一个新程序,使用OpenCV 2.x API 以C++ 编写。这二者主要的区别是 opencv_traincascade 支持 Haar、Hog和 LBP(Local Binary Patterns) 三种特征,并易于增加其他的特征。与Haar特征相比,LBP特征是整数

    2024年02月17日
    浏览(46)
  • ChatGPT检测器(Detector)

    现阶段可使用的Detector如以下所示,在网页端有5个(3个支持中文),api有3个途径,代码运行成功的有一个。 名称 地址 特性 GPTZero https://gptzero.me/ 支持中英文,判定较为严格,有开源代码 OpenAI GPT2 Output Detector https://openai-openai-detector.hf.space/ 支持中英文,判定宽松 Hello-Simple

    2023年04月27日
    浏览(38)
  • 简易温度检测器电路原理

    在日常生活中,对温度的及时检测能够减免火灾的发生,所以今天就说说温度检测器。 实际功能 在常温下显示数字0,随着温度的升高,数码管逐步显示1、3、8,分别代表三档温度,并且在显示8的时候,LED灯开始闪烁,代表温度过高而报警,当温度下降时,数码管的显示状态

    2024年02月09日
    浏览(42)
  • OpenCV 如何实现边缘检测器

    返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV如何实现拉普拉斯算子的离散模拟 下一篇 :OpenCV系列文章目录(持续更新中......) 在本教程中,您将学习如何: 使用 OpenCV 函数 cv::Canny 实现 Canny 边缘检测器。 Canny Edge探测器 [48]由John F. Canny于1986年开发。Canny 算法

    2024年04月25日
    浏览(41)
  • 序列检测器的verilog实现

    设计一个序列检测同步时序逻辑电路,要实现的功能如下: 当已有输入码流出现序列 111000或101110时输出检测信号为1 ,否则输出为0。在时序上检测到完整序列的 下一个时钟周期 输出检测结果。输入信号有效为1时表示当前输入有效,否则表示无效。之前输入依旧计入序列中

    2024年02月06日
    浏览(54)
  • 实验 5 巴克码检测器

    5.1 实 验 目 的 (1) 了解通信领域中经常使用的巴克码检测器的设计方法。 (2) 掌握使用状态机设计时序电路的方法。 5.2 实 验 仪 器 与 器 材 (1) EDA 开发软件 一 套 (2) 微 机 一 台 (3) 实验开发系统 一 台 (4) 打印机 一 台 (5) 其他器件与材料 若 干 5.3 实 验 说 明 巴 克 码 检 测

    2024年02月01日
    浏览(43)
  • 简单的状态机设计——序列检测器

    1.序列检测器 序列检测器是时序数字电路中非常常见的设计之一。它的逻辑功能是将一个指定的序列从数字码流中识别出来。 2.例1:\\\"10010\\\"序列检测器 对串行输入的数据进行检测,检测“10010”。设X为数字码流输入,Z为检出标记输出,高电平表示“发现指定序列”,低电平表

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包