©作者 | 李峰   单位 | 香港科技大学博士生

研究方向 | 目标检测、多模态学习

PR 一下我们最近刷榜 COCO 的目标检测模型,DINO(DETR withImproved deNoising anchOr boxes),从三月初霸榜至今(7 月),该模型第一次让 DETR (DEtection TRansformer)类型的检测器取得了目标检测的 SOTA 性能,在 COCO 上取得了 63.3 AP 的性能,相比之前的 SOTA 检测器将模型参数和训练数据减少了十倍以上!

论文标题:

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

论文链接:

https://arxiv.org/abs/2203.03605

代码链接:

https://github.com/IDEACVR/DINO

主要特性

  1. SOTA 性能:在大模型上以相对较小的数据和模型(~1/10 相比之前 SwinV2)取得了最好的检测结果。在 ResNet-50 的标准 setting 下取得了 51.3 AP。

  2. End2end(端到端可学习):DINO 属于 DETR 类型的检测器,是端到端可学习的,避免了传统检测器许多需要手工设计的模块(如 NMS)。

  3. Fast converging(收敛快):在标准的 ResNet-50 setting 下,使用 5 个尺度特征(5-scale)的 DINO 在 12 个 epoch 中达到 49.4 AP,在 24 个 epoch 中达到 51.3 AP。使用 4 个尺度特征(4-scale)的 DINO 达到了了类似的性能并可以以 23 FPS 运行。

效果展示

▲ La La Land, trained on COCO

▲ 007, trained on COCO

Motivation出发点

Transformer 如今被广泛应用于自然语言处理和计算机视觉,并在很多主流的任务上都取得了最好的性能。然而,在目标检测领域,DETR 这种基于 Transformer 的检测器虽然作为一种很有新意的检测器,但却没有作为一种主流的检测器得到广泛运用。例如,几乎所有的模型在 PaperWithCode 的榜单上都是使用传统的 CNN 检测头(如 HTC [1])。

因此,我们很感兴趣的事就是,DETR 这种简洁、端到端可学习的目标检测器,同时还有更强的模型 Transformer 的加持,能否无法取得更好的表现?

答案是肯定的。

Background 背景简介

在做 DINO 之前,我们实验室的几个同学完成了 DAB-DETR [2] 和 DN-DETR [3],DINO 也是我们几个同学一起接着这两篇工作的一个延续,沿用了这些设计。

DAB-DETR 是在思考 DETR query 理解的问题。它直接把 DETR 的 positional query 显示地建模为四维的框四维的框 ,同时每一层 decoder 中都会去预测相对偏移量 并去更新检测框,得到一个更加精确的检测框预测 ,动态更新这个检测框并用它来帮助 decoder cross-attention 来抽取 feature。

DN-DETR 是在思考 DETR 中的二分图匹配问题,或者说标签分配问题。我们发现 DETR 中的二分匹配在早期十分不稳定,这会导致优化目标不一致引起收敛缓慢的问题。因此,我们使用一个 denoising task 直接把带有噪声的真实框输入到 decoder 中,作为一个 shortcut 来学习相对偏移,它跳过了匹配过程直接进行学习 (详细理解在我之前的文章)。

这两篇文章让我们对 DETR 的理解加深了很多,同时也把 DETR 类型模型的效果做到了和传统 CNN 模型在收敛速度和结果上 comparable。如何进一步提高检测器性能和收敛速度?我们可以沿着 DAB 和 DN 去进一步思考:

  • DAB 让我们意识到 query 的重要性,那么如何学到更好的或者初始化更好的 query?

  • DN 引入了去噪训练来稳定标签分配,如何进一步优化标签分配?

Method方法简介

▲ Framework

为了解决上面提到的问题,DINO 进一步提出了 3 个改进来进行优化,模型架构如上图所示。

5.1 Contrastive denoising(DN)

DN 的去噪训练里面引入的噪声样本都是正样本来进行学习,然而模型不仅需要学习到如何回归出正样本,还需要意识到如何区分负样本。例如,DINO 的 decoder 中用了 900 个 query,而一张图中一般只会有几个物体,因此绝大部分都负样本。

因此,我们设计了训练模型识别负样本的方法,如上图所示,我们对 DN 进行了改进,不仅要回归真实框,还需要辨别负样本。对于 DN 的输入当对真实框加入了较大噪声时,我们就认为其为负样本,在去噪训练中会被监督不预测物体。同时,这些负样本恰好是在真实框附近的,因此是相对很难区分难的负样本,让模型得以学习的正负样本的区分问题。

5.2 Mix query selection

在大部分 detr 模型中,query 是从数据集中学习出来的,并不和输入图片相关。为了更好得初始化 decoder query,deformable detr [4] 提出用 encoder 的 dense feature 中预测出类别和框,并从这些密集预测中选出一些有意义的来初始化 decoder feature。

然而,这种方式并没有在后来的工作中得到广泛运用,我们对这种方式进行了一些改进并重新强调其重要性。在 query 中,我们实际更关心 position query,也就是框。同时,从 encoder feature 中选取的 feature 作为 content query 对于检测来说并不是最好的,因为这些 feature 都是很粗糙的没有经过优化,可能有歧义性。例如对“人”这个类别,选出的 feature 可能只包含人的一部分或者人周围的物体,并不准确,因为它是 grid feature。

因此,我们对此进行了改进,让 query selection 只选择 position query,而利用可学习的 content query。

5.3 Look forward twice

这个方法对 decoder 的梯度传播进行了一些优化,这里就不展开讲了,可以到我们的 paper 进一步阅读。

总结

我们希望 DINO 能给大家带来一些启示,它具有 SOTA 的性能,端到端优化的简洁,以及快速收敛、训练和 inference 快等多个优点。

同时也希望 DETR 类型的检测器得到更多人的运用,让大家意识到 DETR 类型的检测器不仅是一种 novel 的方法,同时也具拥有强健的性能。

参考文献

[1] HTC https://arxiv.org/abs/1901.07518

[2] DAB-DETR https://arxiv.org/abs/2201.12329

[3] DN-DETR https://arxiv.org/pdf/2203.01305.pdf

[4] https://arxiv.org/abs/2010.04159

猜您喜欢:

 戳我,查看GAN的系列专辑~!

一顿午饭外卖,成为CV视觉前沿弄潮儿!

CVPR 2022 | 25+方向、最新50篇GAN论文

 ICCV 2021 | 35个主题GAN论文汇总

超110篇!CVPR 2021最全GAN论文梳理

超100篇!CVPR 2020最全GAN论文梳理

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》

DINO: 让目标检测拥抱Transformer!霸榜COCO!相关推荐

  1. Transformer霸榜全景分割任务,南大、港大提出一种通用框架!

    来源:机器之心 本文中,来自南大.港大.英伟达等机构的研究者提出了一个使用 transformer 进行端到端全景分割的通用框架,不仅为语义分割与实例分割提供了统一的 mask 预测工作流程,而且使得 ...

  2. 一文总结微软研究院Transformer霸榜模型三部曲!

    [导读]本文将主要介绍微软研究院提出的三大Transformer霸榜模型,分别是:开创Transforer新时代的Swin Transformer, 进阶版的Swin Transformer -- C ...

  3. 霸榜COCO和Cityscapes!南理工CMU提出极化自注意力,更精细的双重注意力建模结构

    作者丨小马 编辑丨极市平台 [写在前面] 注意力机制是一个被广泛应用在各种CV任务中的方法.注意力机制根据施加的维度大致可以分为两类:通道注意力和空间注意力.对于通道注意力机制,代表性的工作有SENe ...

  4. PASCAL VOC目标检测数据集格式转化为COCO目标检测数据集格式

    VOC2012目标检测数据集格式转化为COCO目标检测数据集格式 你只需要传入一个VOC数据集根路径可以直接运行,简直不要太方便好吧 需要材料: VOC2012原始数据集 一个pycharm项目文件夹 ...

  5. DINO:目标检测benchmark COCO屠榜的正确姿势

    作者丨陈泰红(已授权) 来源丨https://zhuanlan.zhihu.com/p/478461226 编辑丨极市平台 不小心在paperwithcode看到,DETR系列的论文又屠榜了,在COC ...

  6. ImageNet又被Long-Short Transformer 霸榜!

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:知乎Sophia https://zhuanlan.zhihu.com/p/389507374 AI博士笔记系 ...

  7. 目标检测别再刷榜了,让流感知来展示真正的技术!ECCV 2020 最佳论文提名

    作者 | 赛文 编辑 | 陈彩娴 今天解读的论文的是不久前获得ECCV 2020 最佳论文提名奖的<Towards Streaming Perception>. 在这篇论文中,来自CMU和 ...

  8. CVPR2020 | PV-RCNN: 3D目标检测 Waymo挑战赛+KITTI榜 单模态第一算法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨Shaoshuai Shi@知乎 来源丨https://zhuanlan.zhihu.com/p ...

  9. CVPR2020 | PV-RCNN: 3D目标检测Waymo挑战赛+KITTI榜单模态第一算法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:知乎Shaoshuai Shi,https://zhuanl ...

  10. Win10下搭建旷视YOLOX(新一代anchor-free目标检测网络)并训练自定义CoCo格式数据集

    注意:原始的YOLOX只支持乌班图系统,因此以下所有操作均需要依赖博主自己的安装包.链接:https://pan.baidu.com/s/1CoQa8WjJ89gNfexK59Ewrw 提取码:qhi ...

最新文章

  1. python bottle web框架简介
  2. 基于visual c++之windows核心编程代码分析(42)windows下进程的身份切换
  3. 更新yum源并重建缓存
  4. atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)
  5. 华为鸿蒙系统和苹果系统哪个更好,华为鸿蒙OS和安卓、IOS相比有哪些特色 关于鸿蒙OS不得不知的十个问题...
  6. 新自动化文档生成-go语言-docx生成
  7. c++11 常用语法
  8. 在ASP.NET MVC中使用Knockout实践07,自定义验证信息的位置与内容
  9. java注释越多_java 注释+常便量
  10. 寻找最佳特征维度_寻找5种最佳设计模式书
  11. java常用string inputStream转换
  12. OpenStack混合云的集成问题如何克服?
  13. Tomcat安装及配置
  14. 介绍几种常用的Oracle客户端工具
  15. PHP为什么是最好的编程语言?
  16. 新浪十年路 新浪的触角 新浪成年
  17. GitHub 的 Pull Request 是指什么意思?
  18. 0基础如何入门人工智能?
  19. 虚拟化KVM技术详解
  20. 国内食品品牌策划公司排名,食品品牌设计公司哪家好?2021最新

热门文章

  1. 什么软件可以测试皮肤色号,肤色测试卡怎么用?肤色测试卡的使用方法
  2. YOLOX训练代码分析3-损失函数
  3. PHP网页页脚咋设计,50个网页头部与网页页脚设计欣赏
  4. VulnHub渗透测试实战靶场 - SICKOS: 1.1
  5. 一个聚合搜索网站——老马知搜
  6. 内存操作函数:memcmp、memcpy、memmove、memset 的使用与模拟。
  7. 解决windows server 2012R2操作系统激活报错0xc000022
  8. win10服务器网页打不开怎么办,win10系统ie浏览器有些网页打不开怎么回事
  9. Linux中将4块10T新硬盘合并成一个,挂载到Resource目录下
  10. MacOS - 快捷键以及各种操作汇总