前言
这篇发表在CVPR2021上的自监督学习论文,提出了一种针对特殊的自监督学习下游任务(即面向像素级的任务,比如语义分割、目标检测、实例分割)而设计的自监督学习算法——稠密对比学习,主要思想就是将空间域上稠密分类的方式和对比自监督学习融合到一起。论文的一作来自澳大利亚的阿德莱德大学,二作来自同济大学。
本博文将简要介绍论文的基本思想和算法流程。
一、研究背景
当前自监督学习十分流行,我们可以使用大量无标签数据训练网络,得到一个优秀的特征提取器,进而可以将该特征提取器用于多种下游任务,比如图像分类、目标检测、目标跟踪、语义分割等。在下游任务中可以根据情况选择要不要对特征提取器进行微调。
经过近两年自监督学习算法的发展,自监督学习获得的特征提取器性能已经可以和监督学习相媲美,尤其是对比自监督学习,比如SimCLR、MoCo等算法在下游任务中的表现良好。(这里不再详细讲解对比自监督学习的原理)
但是作者发现在一些针对像素级特征的下游任务上,常用的对比自监督学习甚至是监督学习表现的并不如意。像素级的任务包括目标检测、语义分割、实例分割,这些任务不是对一幅图像进行整体分类,而是要对像素级或图像块上进行语义区分。比如语义分割是对图像的每个像素进行分类:

然而现有的对比自监督算法都是将提取到的图像特征进行全局池化磨灭空间信息,之后再用这个全局特征进行对比学习。比如在SimCLR算法中,会将卷积层提取到的有空间分辨率的特征进行全局池化,再通过一个映射头(几个全连接层)得到用于计算对比损失的映射特征。如下图, z i , h i z_i, h_i zi,hi 都反映的是全局特征,损失了空间信息。

这样的特征无疑是损失了图像的空间信息,作者认为这种做法更适合于对全局图像进行分类的下游任务,而不适用于对空间信息要求较高、针对像素级操作的下游任务,比如语义分割。
基于此背景,作者提出了保留空间信息的对比自监督学习算法——Dense CL,即将稠密特征引入对比学习。
二、算法描述
论文中设计的自监督学习算法被称为:Dense CL(稠密对比学习),是一种将稠密特征和基本对比自监督学习融合的算法。作者使用一种常用的对比自监督算法——MoCo-v2 作为基准网络,在其上进行改进。
1. 全局特征对比学习

对于一般的对比自监督学习来说,会先对一张图像进行不同数据增强获得两个变体,再将变体送入卷积网络提取特征。并会将提取到的图像特征进行全局最大/平均池化,得到一维全局特征向量,将此特征向量通过全局映射头global projection head(几层全连接)或者直接用于计算对比损失。最常见的对比损失函数是NCEloss,本论文中仍沿用该损失函数。在全局对比中,对于一张图像计算损失,NCEloss的表示如下,称为全局对比损失:

- q q q表示当前图像特征;
- k + k_+ k+表示当前图像的正样本对图像特征;
- k − k_- k−表示当前图像的负样本对图像特征。
通常由一张原图经过不同变换得到的两张图像互为正样本对,不同原图经过变换得到的图像互为负样本对。
注意:在MoCo中,每一个图像都有一个字典来保存它的正样本对及负样本对图像特征,我们把这个字典中的每个特征称为key,将当前计算对比损失的图像特征称为query。此时,每个特征即代表了一整张图像。
2. 稠密特征对比学习
稠密特征对比学习就是将上一节中用于计算对比损失的全局特征,替换为保留空间分辨率的稠密特征。简单来说,就是不对卷积得到的特征进行全局池化!

当然,虽然不对特征全局池化,但还是要经过一个映射头的,这个映射头是一个1*1的卷积层,称为稠密映射头dense projection head。我们把图像特征记为 F ∈ R H × W × K F\isin R^{H×W×K} F∈R

这篇博客介绍了CVPR2021上关于自监督学习的一项新研究,针对像素级任务如语义分割、目标检测等设计了稠密对比学习(DenseCL)算法。传统对比学习方法因全局池化丢失空间信息,影响像素级任务性能。DenseCL保留空间分辨率,通过稠密映射头进行特征调整,并定义了稠密对比损失,寻找特征间的稠密对应关系进行正负样本匹配。实验表明,DenseCL在语义分割等任务上优于MoCo-v2等基线方法,且预训练效率影响小。
2370

被折叠的 条评论
为什么被折叠?



