今天我们将讨论由四个机构的研究人员提出的一种方法,其中一个是字节跳动人工智能实验室。他们为我们提供了一种新的方法,称为Sparse R-CNN(不要与 Sparse R-CNN 混淆,后者在 3D 计算机视觉任务上使用稀疏卷积),该方法在目标检测中实现了接近最先进的性能,并使用完全稀疏和可学习的方法生成边界框。
相关工作
让我们从对现有检测方法的简短概述开始。
稠密的方法
其中一种应用广泛的方法是单级检测器,直接预测锚盒的标签和位置,稠密覆盖空间位置、尺度和纵横比,以一种一次性的方式生成分类和边界框。如SSD、YOLO等。
让我们考虑一下YOLO算法。最终,它的目标是预测图像上的一类对象和指定对象位置的边界框。每个边界框可以用四个描述符来描述:
- 边界框的中心(bx, by)
- 宽度(bw)
- 身高(bh)
- 值c对应于一个对象的类(如:汽车、交通灯等)。
此外,我们必须预测pc值,即在边界框中有一个物体的概率。
它是一种稠密的方法,因为它不搜索给定图像中可能包含物体的感兴趣区域。相反,YOLO使用19×19网格将图像分割成单元格。但一般来说,一级探测器可以产生W×H细胞,每像素一个。每个细胞负责预测k个边界框(在本例中,k被选为5)。因此,我们得到了一个图像的大量W×H×k边界框。
稠密到稀疏方法
像Faster R-CNN论文中提出的那样,有两阶段探测器,它们利用RPN生成的稠密建议框。这些探测器多年来一直主导着现代目标探测。
使用 RPN 从稠密区域候选中获得一组稀疏的前景建议框,然后细化每个建议的位置和预测其特定类别。
提出了类似于单级检测器的方法,但它不是直接预测对象的类别,而是预测对象的概率。在此之后,第二阶段根据客观度和重叠得分边界框进行分类预测。
稀疏的方法
论文的作者将他们新的 Sparse R-CNN 范式归类为现有对象检测器范式的扩展,其中包括从完全稠密到稠密到稀疏的新步骤,从而导致彻底稀疏。
在论文中避免使用 RPN,取而代之的是一小组建议框(例如每张图像 100 个)。这些框是使用网络的可学习建议框部分和建议特征部分获得的。形式预测每个建议的 4 个值 (x,y,h,w),后者预测每个 bbox 内容的长度为 256 的潜在表示向量。学习到的建议框被用作合理的统计数据来执行之后的细化步骤,学习到的建议特征用于引入注意力机制。这种机制与 DETR 论文中使用的机制非常相似。
模型特性
正如论文的名称所暗示的那样,这个模型是端到端的,架构也优雅。它包括从图像中获取特征的基于FPN的主干,上面提到的可学习的建议框和建议特征,以及Dynamic Instance Interactive Head(动态实例交互头),这是本文神经网络体系结构的主要贡献。
Dynamic Instance Interactive Head
给定 N 个建议框,Sparse R-CNN 首先利用 RoIAlign 操作从用建议边界框定义的每个区域的主干中提取特征。每个 RoI 特征都被送入用于对象定位和分类的专用头部,其中每个头部都以特定的可学习建议特征为条件。
建议特征被用作卷积的权重,在上面的图像中,它们被称为“Params”。对感兴趣区域的特征进行卷积处理,得到最终的特征。这样,那些包含大部分前景信息的边界框对最终的目标位置和分类产生影响。同时,自注意模块被嵌入到动态头部,用于推理物体之间的关系,并通过这种卷积来影响预测。
结果
论文作者提供了几个比较表,显示了新方法的性能。Sparse R-CNN与retanet、Faster R-CNN和DETR在ResNet50和ResNet100两种变体中进行了比较。
我们可以看到Sparse R-CNN在R50和R100中都优于RetinaNet 和Faster R-CNN,但它的性能与基于DETR的架构非常相似。
根据作者的说法,DETR 模型实际上是密集到稀疏模型,因为它利用一组稀疏的对象查询,与全局(密集)图像特征进行交互。与 DETR 相比这部分是论文的创新点。
在上面图像上,您可以看到 COCO 数据集上模型推理的定性结果。在第一列中显示了学习的建议框,它们是针对任何新图像进行预测的。在接下来的列中,您可以看到从建议中提炼出来的最终 bbox。它们因迭代学习过程中的阶段而异。
代码
总而言之,我想说,到2020年,我们会看到很多将transformers 应用于图像的论文。transformers 已经在自然语言处理领域证明了自己的价值,并逐渐进入图像处理领域。这篇论文向我们表明,使用transformers 可以创建快速的单级探测器,在质量方面与目前最好的两级探测器相当。
关于实现的所有细节,你可以在作者基于FAIR的DETR和detectron2代码库的代码中找到:https://github.com/PeizeSun/SparseR-CNN
引用
[1] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks https://arxiv.org/abs/1506.01497
[2] YOLO Algorithm and YOLO Object Detection: An Introduction https://appsilon.com/object-detection-yolo-algorithm/
[3] Sparse R-CNN: End-to-End Object Detection with Learnable Proposals https://arxiv.org/abs/2011.12450
本文作者:Emil Bogomolov