Press "Enter" to skip to content

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

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

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

 

 

 

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

 

详细信息如下:

 

 

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

 

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

 

导言:

 

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

 

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

 

 

上图显示了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:,其中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为:

 

 

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

 

 

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

 

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

 

 

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

 

 

其中是对象proposal的数量。

 

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

 

 

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

 

 

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

 

Mask R-CNN with R50-C4 on COCO

 

 

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

 

Faster R-CNN with R50-C4 on Pascal VOC

 

 

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

 

3.2. Ablation Study

 

Effectiveness of Aligning Pretraining to Object Detection

 

 

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

 

Ablation Study on Hyper-Parameters

 

 

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

 

 

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

 

 

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

 

 

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

 

3.3. Evaluation on Mini COCO

 

 

为了验证本文方法的泛化性,作者还在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

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注