港大同济伯克利推出目标检测新范式:Sparse R-CNN

简介: 我们沿用了 Detectron2 的 3x training schedule,因此将 Sparse R-CNN 和 Detectorn2 中的 detectors 做比较(很多方法没有报道 3x 的性能,所以没有列出)。同时,我们也列出了同样不需要 NMS 后处理的 DETR 和 Deformable DETR 的性能。Sparse R-CNN 在检测精度,推理时间和训练收敛速度都展现了相当有竞争力的性能。

全新的目标检测范式Sparse R-CNN。


image.png



沿着目标检测领域中 Dense 和 Dense-to-Sparse 的框架,Sparse R-CNN 建立了一种彻底的 Sparse 框架, 脱离 anchor box,reference point,Region Proposal Network(RPN) 等概念,无需 Non-Maximum Suppression(NMS) 后处理, 在标准的 COCO benchmark 上使用 ResNet-50 FPN 单模型在标准 3x training schedule 达到了 44.5 AP 和 22 FPS。


1. Motivation


我们先简单回顾一下目标检测领域中主流的两大类方法。


  • 第一大类是从非 Deep 时代就被广泛应用的 dense detector,例如 DPM,YOLO,RetinaNet,FCOS。在 dense detector 中, 大量的 object candidates 例如 sliding-windows,anchor-boxes, reference-points 等被提前预设在图像网格或者特征图网格上,然后直接预测这些 candidates 到 gt 的 scaling/offest 和物体类别。
  • 第二大类是 dense-to-sparse detector,例如,R-CNN 家族。这类方法的特点是对一组 sparse 的 candidates 预测回归和分类,而这组 sparse 的 candidates 来自于 dense detector。


这两类框架推动了整个领域的学术研究和工业应用。目标检测领域看似已经饱和,然而 dense 属性的一些固有局限总让人难以满意:


  • NMS 后处理
  • many-to-one 正负样本分配
  • prior candidates 的设计


所以,一个很自然的思考方向就是:能不能设计一种彻底的 sparse 框架?最近,DETR 给出了一种 sparse 的设计方案。

candidates 是一组 sparse 的 learnable object queries,正负样本分配是 one-to-one 的 optimal bipartite matching,无需 nms 直接输出最终的检测结果。然而,DETR 中每个 object query 都和全局的特征图做 attention 交互,这本质上也是 dense。而我们认为,sparse 的检测框架应该体现在两个方面:sparse candidates 和 sparse feature interaction。基于此,我们提出了 Sparse R-CNN。


Sparse R-CNN 抛弃了 anchor boxes 或者 reference point 等 dense 概念,直接从 a sparse set of learnable proposals 出发,没有 NMS 后处理,整个网络异常干净和简洁,可以看做是一个全新的检测范式。


v2-4d2e88a096e26369b79c61f921df20e5_720w.jpg


2.Sparse R-CNN


Sparse R-CNN 的 object candidates 是一组可学习的参数,N*4,N 代表 object candidates 的个数,一般为 100~300,4 代表物体框的四个边界。这组参数和整个网络中的其他参数一起被训练优化。That's it,完全没有 dense detector 中成千上万的枚举。这组 sparse 的 object candidates 作为 proposal boxes 用以提取 Region of Interest(RoI),预测回归和分类。


v2-63c1464dfe7388c8ac315bb0ea2e5ffe_720w.jpg


这组学习到的 proposal boxes 可以理解为图像中可能出现物体的位置的统计值,这样 coarse 的表征提取出来的 RoI feature 显然不足以精确定位和分类物体。于是,我们引入一种特征层面的 candidates,proposal features,这也是一组可学习的参数,N*d,N 代表 object candidates 的个数,与 proposal boxes 一一对应,d 代表 feature 的维度,一般为 256。这组 proposal features 与 proposal boxes 提取出来的 RoI feature 做一对一的交互,从而使得 RoI feature 的特征更有利于定位和分类物体。相比于原始的 2-fc Head,我们的设计称为 Dynamic Instance Interactive Head。


image.png


Sparse R-CNN 的两个显著特点就是 sparse object candidatessparse feature interaction,既没有 dense 的成千上万的 candidates,也没有 dense 的 global feature interaction。Sparse R-CNN 可以看作是目标检测框架从 dense 到 dense-to-sparse 到 sparse 的一个方向拓展。


3. Architecture Design


Sparse R-CNN 的网络设计原型是 R-CNN 家族。


  • Backbone 是基于 ResNet 的 FPN。
  • Head 是一组 iterative 的 Dynamic Instance Interactive Head,上一个 head 的 output features 和 output boxes 作为下一个 head 的 proposal features 和 proposal boxes。Proposal features 在与 RoI features 交互之前做 self-attention。
  • 训练的损失函数是基于 optimal bipartite matching 的 set prediction loss。


v2-f750429da2d8061a5ada39f681c7c0ea_720w.jpg


从 Faster R-CNN(40.2 AP) 出发,直接将 RPN 替换为 a sparse set of learnable proposal boxes,AP 降到 18.5;引入 iterative 结构提升 AP 到 32.2;引入 dynamic instance interaction 最终提升到 42.3 AP。


4. Performance


我们沿用了 Detectron2 的 3x training schedule,因此将 Sparse R-CNN 和 Detectorn2 中的 detectors 做比较(很多方法没有报道 3x 的性能,所以没有列出)。同时,我们也列出了同样不需要 NMS 后处理的 DETR 和 Deformable DETR 的性能。Sparse R-CNN 在检测精度,推理时间和训练收敛速度都展现了相当有竞争力的性能。


image.png


5. Conclusion


R-CNN 和 Fast R-CNN 出现后的一段时期内,目标检测领域的一个重要研究方向是提出更高效的 region proposal generator。Faster R-CNN 和 RPN 作为其中的佼佼者展现出广泛而持续的影响力。Sparse R-CNN 首次展示了简单的一组可学习的参数作为 proposal boxes 即可达到 comparable 的性能。我们希望我们的工作能够带给大家一些关于 end-to-end object detection 的启发。

原文链接:https://zhuanlan.zhihu.com/p/310058362

相关文章
|
7月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
269 0
|
7月前
|
机器学习/深度学习 编解码 数据可视化
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
130 0
|
7月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
150 0
|
7月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
482 0
|
机器学习/深度学习 编解码 缓存
两阶段目标检测指南:R-CNN、FPN、Mask R-CNN
两阶段目标检测指南:R-CNN、FPN、Mask R-CNN
217 0
|
机器学习/深度学习 人工智能 算法
目标检测:RPN — Faster R-CNN 的主干
目标检测:RPN — Faster R-CNN 的主干
260 0
|
算法 计算机视觉 索引
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(二)
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(二)
363 0
|
机器学习/深度学习 固态存储 计算机视觉
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(一)
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(一)
156 0
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
176 7

热门文章

最新文章