MoCo不适用于目标检测?MSRA提出对象级对比学习的目标检测预训练方法SoCo!性能SOTA!(NeurIPS 2021)...

关注公众号,发现CV技术之美

本文分享 NeurIPS 2021 论文『Aligning Pretraining for Detection via Object-Level Contrastive Learning』MSRA提出对象级对比学习的目标检测预训练方法!性能SOTA!

详细信息如下:

4e99248930d5d0ae3db07fb62f2d414a.png

  • 论文链接:https://arxiv.org/abs/2106.02637

  • 项目链接:https://github.com/hologerry/SoCo

导言:

bbc8c0ec3d311ef48581dc72520cefaf.png

图像级对比表征学习已被证明是一种非常有效的迁移学习模式。然而,如果对特定的下游任务有需求,这种泛化的迁移学习模式就失去了针对性。作者认为这可能是次优的,并且提出自监督的预训练任务应该与下游任务之间保持一致的设计原则 。在本文中,作者遵循了这一原则,并专门为目标检测任务设计了一种预训练方法。作者主要在以下三个方面实现了一致:

1)通过选择性搜索边界框引入对象级表示作为对象proposal;

2)预训练网络结构结合了检测pipeline中使用的专用模块 (例如FPN);

3)预训练具有目对象级平移不变性、尺度不变性等目标检测属性。

本文提出的方法称为选择性对象对比学习 (Selective Object COntrastive learning,SoCo) ,它基于Mask R-CNN框架在COCO检测中实现了SOTA的迁移性能。


      01      

Motivation


预训练和微调一直是计算机视觉中深层神经网络训练的主要范式。下游任务通常利用在大型标注数据集 (例如ImageNet) 上学习的预训练权重进行初始化。因此,有监督的ImageNet预训练在整个领域都很普遍。

近年来,自监督预训练取得了相当大的进步,减轻了对标注数据的依赖。这些方法旨在通过图像级预训练任务来学习各种下游任务的通用视觉表征。最近的一些工作表明,图像级表示对于密集预测任务(如目标检测和语义分割)是次优的。一个潜在的原因是,图像级预训练可能过度适用于整体表示,无法了解图像分类之外的重要属性 。

本文的目标是开发与目标检测相一致的自监督预训练。在目标检测中,检测框用于对象的表示。目标检测的平移和尺度不变性由边界框的位置和大小来反映。图像级预训练和对目标检测的对象级边界框之间存在明显的表示差距。

基于此,作者提出了一个对象级自监督预训练框架,称为选择性对象对比学习(Selective Object COntrastive learning, SoCo),专门用于目标检测的下游任务 。为了将对象级表示引入预训练,SoCo利用选择性搜索生成对象proposal。

不同于先前的图像级对比学习方法,将整张图片作为作为一个实例,SoCo将图像中的每个对象proposal视为一个独立的实例。

因此,作者设计了一个新的预训练任务,用于学习与目标检测兼容的对象级视觉表示。具体而言,SoCo构造了对象级视图,其中相同对象实例的尺度和位置得到了增强。随后进行对比学习,以最大程度地提高对象在增强视图中的相似性。

对象级表示的引入也使得可以进一步弥合预训练和微调之间网络结构的差距。目标检测通常涉及专用模块,例如特征金字塔网络 (FPN) 。与仅对特征主干网络进行预训练的图像级对比学习方法相反,SoCo对检测器中使用的所有网络模块进行预训练。因此,可以很好地初始化检测器的所有层。


      02      

方法


2.1 Overview

ae5e213b7a2b8346e3d516cf83648a91.png

上图显示了SoCo的pipeline。SoCo旨在在两个方面使预训练与目标检测保持一致:

  • 预训练和目标检测之间的网络结构对齐;

  • 引入目标检测的中心属性。

具体来说,除了像现有的自监督对比学习方法那样预训练backbone之外,SoCo还预训练了目标检测器中使用的所有网络模块,如FPN和Mask R-CNN框架中的head。因此,检测器的所有层都可以很好地初始化。

此外,SoCo学习了对象级表示,这些表示不仅对于目标检测更有意义,而且具有平移和尺度不变性。为了实现这一点,SoCo通过构造多个增强视图并对特征金字塔的不同层应用尺度感知的分配策略,鼓励目标尺度和位置的多样性。最后,应用对象级对比学习来最大化同一对象在增强视图中的特征相似性。

2.2 Data Preprocessing

Object Proposal Generation

受R-CNN和Fast R-CNN的启发,作者使用选择性搜索为每个原始图像生成一组对象proposal,这是一种无监督的对象proposal生成算法,它考虑了颜色相似性、纹理相似性和区域大小。将每个对象proposal表示为边界框,其中(,)表示边界框中心的坐标,w和h分别表示相应的宽度和高度。

作者仅保留了满足以下要求的proposal:

402 Payment Required

,其中W和H表示输入图像的宽度和高度。对象proposal生成步骤不参与训练,是离线执行的。在每次训练迭代中,作者为每个输入图像随机选择K个proposal。

View Construction

SoCo中使用了三个视图,即。将输入图像的大小调整为224 × 224以获得。然后在上用[0.5,1.0]的随机尺度进行随机裁剪,得到。然后将的大小调整为与相同的大小,并删除之外的对象proposal。

接下来,将缩小到固定大小(例如112×112)以产生。在所有这些情况下,边界框根据RGB图像的裁剪和调整大小进行转换。最后,每个视图被随机并独立地增强。同一对象proposal的比例和位置在增强视图中是不同的,这使模型能够学习平移不变和尺度不变的对象级表示

Box Jitter

为了进一步鼓励跨视图对象proposal的尺度和位置的差异,作者对生成的proposal采用框抖动(Box Jitter)策略,作为对象级别的数据增强。具体实现上,给定一个对象proposal ,随机生成一个抖动的box:,其中。

2.3 Object-Level Contrastive Learning

SoCo的目标是使预训练与目标检测保持一致。在本文中,作者使用Mask R-CNN和特征金字塔网络(FPN)来实例化关键的设计原则。对齐主要包括将预训练结构与目标检测进行对,并将对象级平移不变性和尺度不变性等重要的目标检测属性整合到预训练中

Aligning Pretraining Architecture to Object Detection

在Mask R-CNN之后,作者使用带有FPN的主干网络作为图像级特征提取器,将FPN的输出表示为,步长为。对于边界框表示b,应用RoIAlign从相应的尺度级别提取前景特征。为了进一步的结构调整,作者在预训练中另外引入了一个R-CNN head。从图像视图V中提取边界框b的对象级特征表示h为:

4dd06fd8e5ffabd30e7da3738ba36362.png

SoCo使用两个神经网络进行学习,即在线网络(online network)目标网络(target network)。在线网络和目标网络共享相同的结构,但具有不同的权重。图像中的一组对象proposal表示为,为视图中proposal 的对象级表示,为视图中 的表示。分别使用在线网络和目标网络提取它们,如下所示:

8179c11546e00f0420e9586864520177.png

在线网络后添加了一个projector 和 predictor 用于获得潜在嵌入,θ和θ都是双层MLP。目标网络后仅添加projector 。使用分别表示对象级特征的潜在嵌入:

1a92eba8d2bc9fac1316655382fad901.png

第个对象proposal的对比损失定义如下:

649faa08aaa148101ca677bb27986561.png

然后,每个图像的损失函数为:

21b6bc1ae2c3b118001aac37f5f0375a.png

其中是对象proposal的数量。

此外,将输入到目标网络,输入到在线网络,来计算。最后总的损失函数为:

989eae4549d1f6372295486c75720fb7.png

Scale-Aware Assignment

带有FPN的Mask R-CNN使用Anchor和Ground Truth box之间的IoU来确定正样本。它定义Anchor在上分别具有的像素区域。受此启发,作者提出了一种尺度可感知的分配策略,该策略鼓励预训练模型学习对象级别的尺度不变表示。

具体地说,作者将面积范围的对象proposal 分别分配到。通过这种方式,SoCo能够学习对象级别的尺度不变表示,这对于目标检测很重要。

Introducing Properties of Detection to Pretraining

目标检测使用紧密的边界框来表示对象。为了引入对象级表示,SoCo通过选择性搜索生成对象proposal。对象级别的平移不变性和尺度不变性是目标检测的最重要属性,即属于同一类别的对象的特征表示对尺度和位置变化是不敏感。是的随机裁剪的结果。

随机裁剪引入了框移位,因此和 之间的对比学习鼓励预训练模型学习位置不变表示。是通过对进行下采样而生成的,这会导致对象proposal尺度的增强。通过尺度感知分配策略之间的对比损失指导了学习尺度不变表示的预训练


      03      

实验

3.1 Comparison with State-of-the-Art Methods

Mask R-CNN with R50-FPN on COCO

61a587fd07bcfc3ac35af7c51b8687b0.png

上表展示了基于SoCo的带R50-FPN backbone的Mask R-CNN结果。可以看出,相比于其他对比学习方法,本文的方法能够达到更高的性能。

Mask R-CNN with R50-C4 on COCO

c7e3aa663e99e934082c5362af8461f7.png

上表展示了基于SoCo的带R50-C4 backbone的Mask R-CNN结果。可以看出,相比于其他对比学习方法,本文的方法能够达到更高的性能。

Faster R-CNN with R50-C4 on Pascal VOC

63be465d2128de3f34af3a62c8a05a93.png

上表展示了Faster R-CNN上的结果,可以看出,在不同框架上,本文的方法都是适用的。

3.2. Ablation Study

Effectiveness of Aligning Pretraining to Object Detection

1bd4fcc37ced260511af45b14fc51839.png

上表展示了不同预训练方法和结构的消融结果,可以看出,本文提出的各个方法和模块,对于性能的提升都有促进作用。

Ablation Study on Hyper-Parameters

ad44751a4501328d568cf01e9ef3df77.png

上表展示了不同大小对结果的影响,可以看出,图像大小在112时,结果是比较好的。

01f1c29ae48489d1e69d3246cf607999.png

上表展示了不同Batch Size的结果。

0c6bfa50abcdf0003b83d6b0fe7dab9d.png

上表展示了不同proposal采样方法和数量的结果,可以看出选择性搜索比随机采样好,选择性搜索时Proposal的数量为4时结果是最好的。

80d58706569a7dd8b7a63a7c541bfaa7.png

上表展示了不同动量系数的实验结果,效果最好。

3.3. Evaluation on Mini COCO

9fce2e6d203f1d6c83700ef2b30afee1.png

为了验证本文方法的泛化性,作者还在Mini COCO数据集上进行了实验,结果如上表所示。


      04      

总结


在本文中,作者提出了一种对象级自监督预训练方法——选择性对象对比学习(Selective Object COntrastive learning,SOCo),旨在将预训练与目标检测相结合。与以往的图像级对比学习方法将整个图像视为一个实例不同,SoCo将选择性搜索算法生成的每个对象proposal视为一个独立实例,使SoCo能够学习对象级的视觉表示。

然后,通过两种方式获得进一步的对象对齐。一种是通过预训练和下游目标检测之间的网络对齐,从而可以很好地初始化检测器的所有层另一种是通过考虑目标检测的重要属性,例如对象级平移不变性和尺度不变性。SoCo使用Mask R-CNN检测器在COCO检测数据集上实现了SOTA的迁移性能,也在R50-FPN和R50-C4结构上的实验证明了SoCo的通用性和可扩展性。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

e4c5fb5d2a0057f8fb78f9c662e86db2.png

END

欢迎加入「目标检测交流群👇备注:OD

e56775dfde7bd35ee65b2c439008c040.png

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目标检测算法的发展经历了几个重要的阶段。以下是一个简要的综述: 1. 基于传统机器学习方法目标检测算法: 在深度学习兴起之前,研究人员主要使用传统的机器学习方法来解决目标检测问题。其中最经典的方法包括基于滑动窗口的方法和基于图像分割的方法。这些方法通常需要手工设计特征提取器,并且在处理复杂场景时表现有限。 2. 基于深度学习的目标检测算法: 随着深度学习的快速发展,基于深度卷积神经网络(CNN)的目标检测算法取得了巨大的突破。其中最具代表性的算法是R-CNN系列(包括R-CNN、Fast R-CNN、Faster R-CNN)和YOLO系列(包括YOLO、YOLOv2、YOLOv3)。这些算法通过端到端的训练方式,可以直接从图像中检测出目标,并且在准确性和速度上都取得了显著的提升。 3. 单阶段和两阶段目标检测算法: 基于深度学习的目标检测算法可以分为单阶段和两阶段两种类型。两阶段方法主要包括R-CNN系列和其改进版本,它们通常先生成候选框,然后再对候选框进行分类和调整。而单阶段方法主要包括YOLO系列和SSD(Single Shot MultiBox Detector),它们直接在特征图上进行目标检测,速度更快但准确性稍低。 4. 目标检测算法的进一步发展: 随着目标检测任务的需求不断增加,研究人员提出了许多改进算法来提升性能。例如,基于注意力机制的方法(如Mask R-CNN)可以更好地处理遮挡目标;基于注意力机制和跨尺度特征融合的方法(如TridentNet)可以提升小目标的检测性能;基于自监督学习的方法(如MoCo)可以提升模型的表示学习能力。 总体来说,目标检测算法经历了从传统机器学习到深度学习的转变,并取得了显著的进展。未来,随着技术的不断发展,我们可以期待更加准确和高效的目标检测算法的出现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值