©作者 | 李峰 单位 | 香港科技大学博士生
研究方向 | 目标检测、多模态学习
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
SOTA 性能:在大模型上以相对较小的数据和模型(~1/10 相比之前 SwinV2)取得了最好的检测结果。在 ResNet-50 的标准 setting 下取得了 51.3 AP。
End2end(端到端可学习):DINO 属于 DETR 类型的检测器,是端到端可学习的,避免了传统检测器许多需要手工设计的模块(如 NMS)。
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
Transformer 如今被广泛应用于自然语言处理和计算机视觉,并在很多主流的任务上都取得了最好的性能。然而,在目标检测领域,DETR 这种基于 Transformer 的检测器虽然作为一种很有新意的检测器,但却没有作为一种主流的检测器得到广泛运用。例如,几乎所有的模型在 PaperWithCode 的榜单上都是使用传统的 CNN 检测头(如 HTC [1])。
因此,我们很感兴趣的事就是,DETR 这种简洁、端到端可学习的目标检测器,同时还有更强的模型 Transformer 的加持,能否无法取得更好的表现?
答案是肯定的。
在做 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 引入了去噪训练来稳定标签分配,如何进一步优化标签分配?
▲ 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
猜您喜欢:
一顿午饭外卖,成为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 深度学习算法实战》
附下载 |《计算机视觉中的数学方法》分享
《基于深度学习的表面缺陷检测方法综述》
《零样本图像分类综述: 十年进展》
《基于深度神经网络的少样本学习综述》