https://arxiv.org/pdf/2102.06191.pdf
Unsupervised Semantic Segmentation by Contrasting Object Mask Proposals
https://github.com/wvangansbeke/Unsupervised-Semantic-Segmentation
https://hub.fastgit.org/wvangansbeke/Self-Supervised-Learning-Overview
https://hub.fastgit.org/wvangansbeke
https://github.com/facebookresearch/deepmask
在计算机视觉中,能够在没有监督的情况下学习图像的稠密语义表示是一个重要的问题。然而,尽管这一问题具有重要意义,但除了少数例外情况外(即在小规模数据集上,在一个狭窄的视觉域内进行无监督的语义分割),这一问题仍然没有得到很好的解决。在本文中,我们首次尝试在惯例用监督学习的数据集上解决这个问题。为了实现这一点,我们引入了一个两步框架,在对比优化目标中采用预先确定的中级先验知识(a predetermined mid-level prior)来学习像素嵌入。这与依赖代理任务或端到端聚类的现有工作有很大的不同。此外,我们还讨论了先验知识包含物体或物体的一部分的信息的重要性,并讨论了以无监督的方式获得先验知识的几种可能性。
实验结果表明,我们的方法比现有的方法有很大的优势。首先,学习到的像素嵌入可以是PASCAL上用K-Means直接聚类到语义分组。在完全无监督的情况下,在这样一个具有挑战性的基准上解决语义分割任务是没有先例的。第二,我们的表示方法在迁移到新的数据集(如COCO和DAVIS)时,可以比强基线更好。代码可用。
1. 引言
在计算机视觉中,语义分割是一个非常重要的问题,因为它有许多应用,包括自动驾驶、增强现实、人机交互等,以实现这项任务的最新性能,全卷积网络[47]通常在包含大量完全标注图像的数据集[16、22、46]上训练。然而,为数据集中的每幅图像获取准确的、像素级的语义标签是一个劳动密集型的过程,需要花费大量的时间和金钱[4]。为了弥补这种情况,弱监督方法利用了较弱的监督形式,如涂鸦[45、67、68、74、82]、边界框[17、39、58、82]、点击[5]和图像级别标记[58、68、82],而半监督方法[17、28、30、58、59]仅使用数据集的一小部分作为标记示例,两者都需要更少的人工标注。尽管取得了不断的进展,但绝大多数语义分割工作仍然依赖于某种形式的标注来训练神经网络模型。
本文从另一个角度入手,也就是自监督表示学习。更具体地说,我们的目标是学习像素级的表示或嵌入,用于语义分割,不使用真值。如果我们得到一个很好的像素嵌入,能够很好地区分不同的语义类别(semantic classes),我们就可以直接用K-means将像素聚类到不同的语义组中去(semantic groups)这解决了在完全无监督设置下的语义分割问题。或者,如果有限数量的标注示例可用,则可以在半监督或迁移学习设置下进一步微调表示。在本文中,我们主要集中在完全无监督的设置,但为了研究的完整性,也包括额外的微调实验。
无监督或自监督的技术[38]最近被用来在没有外部监督的情况下学习丰富有效的视觉表征。所获得的表示随后可用于多种目的,包括任务迁移学习[26]、图像聚类[2、3、73]、半监督分类[13]等。流行的表示学习技术使用实例判别任务[80],即将每个图像视为单独的类,以无监督的方式生成表示。图像及其增广被视为该类的正例,而所有其他图像被视为负例。在实际应用中,实例分类任务被描述为一个非参数分类问题,并使用对比损失[25,56]来建模负例类别。
Purushwalkam和Gupta[63]表明,对比自监督方法学习编码语义信息,因为同一图像的两个视图总是显示同一物体的一部分,而没有其他类别的物体。然而,在这种设置下,不能保证表示也学会区分属于不同语义类的像素。例如,当前景-背景对经常同时出现时,例如在农田上放牧时,这两类的像素的表示是共享的。这使得现有的基于实例区分的工作不太适合我们学习语义像素嵌入的目标。为了解决这些限制,我们建议以自监督的方式学习像素级,而不是图像级表示。
该方法分为两步。首先,我们利用一个无监督的显著性估计器从数据集中挖掘物体掩码建议(proposals)。这种中级的视觉先验可以很好地跨不同的数据集迁移。在第二步中,我们使用对比框架来学习像素嵌入。物体掩码建议被作为先验,我们将属于同一物体的像素嵌入拉近,并将它们与其它物体的像素嵌入进行对比。生成的表示按照标准协议在语义分割任务上进行评估。该框架如图1所示。
我们的贡献是:(1)我们提出了一个无监督语义分割的两步框架,这与最近依赖代理任务或端到端聚类的工作有很大的不同。此外,我们还讨论了拥有中级视觉先验(其包含物体级别object-level信息)的重要性。这与早期基于低水平视觉任务(如边界检测)将像素分组在一起的工作形成了对比。(2) 该方法是第一个能够在完全无监督的情况下处理具有挑战性的数据集(如PASCAL)上的语义分割任务的方法。(3) 最后,我们报告了在将我们的表示迁移到其他数据集时有希望的结果。这表明采用中级视觉先验对自监督表示学习是有用的。
2.相关工作
由于我们的方法主要涉及到无监督的语义分割和表征学习,所以下面我们将讨论每个主题的代表作品。
无监督语义分割 在文献中,在完全无监督的情况下,对语义图像分割的研究很少。一些工作[36,57]遵循端到端的方法-最大化视图之间的离散互信息来学习聚类函数。然而,这些方法仅适用于小规模的数据集,覆盖了一个狭窄的视觉域,例如分离天空和植被,使用卫星图像等。相比之下,我们的方法适用于更具挑战性的场景,并将特征学习与聚类解耦。
一些著作[31,97]使用从边界获得的分割以自监督的方式学习像素嵌入。然而,目前尚不清楚是否可以用离线聚类标准对表示进行后处理,以获得离散的标签。特别是,评估只考虑语义分割检索,这需要一个带标注的训练集。此外,Hwanget等人[31]仍然依赖于额外的监督来源,如ImageNet预训练和边界标注[1,81]。
表征学习。这些方法旨在通过解决预先设计的不需要手动标注的借口任务来学习视觉表达。这些借口任务的例子包括:给图像上色[32,42,96],预测上下文[19,51],解决拼图[53,55],生成图像[65],聚类[2,8,84],预测噪声[6],发现伪影[35],使用对抗性训练[20,21],预测光流[49,90],计数[54],修复[60],预测变换参数[23,94],使用预测编码[56],执行实例判别[9,10,12,24,26,43,50,70,71,80,87],等等。学习到的表示随后可以被迁移到学习一个单独的下游任务,例如目标检测。
类似地,一些工作尝试通过解决代理任务来学习像素级表示,例如着色[32,42,89,96],光流[49,90],使用共现[33],不同的是,在本文中,我们避免使用代理任务。
3. 方法
在本文中,我们的目的是从一个未标记的图像数据集学习一个像素嵌入函数,用于语义分割。由于语义分割的目标是为图像的每个像素分配一个类标签,因此,一个好的像素嵌入应该是能够区分语义类别的(should be discriminative w.r.t. the semantic classes)。如果后者成立,则嵌入函数可直接用于将像素聚类成语义组,或在半监督设置下进一步微调。
为了解决上述问题,我们采取了分而治之的策略。我们认为,通过端到端的流水线将像素直接聚类成语义组比较困难,而首先寻找像素可能属于同一个区域更容易。虽然这些信息不会直接导致场景的语义分割,但它为我们学习像素嵌入提供了一个有用的起点。特别地,我们可以通过将获得的区域的像素分组在一起来利用它们作为先验。由于先验信息是在特征学习之前确定的,因此我们减少了对网络初始化的依赖。这是一种有意偏离现有端到端学习管道的方法[36,57],这些管道容易锁定低级别的图像线索(如颜色、对比度等),如[73]所示。
我们所提方法(称作MaskContrast)分为两步。在第一步中,我们通过识别图像中像素可以组合在一起的物体来确定先验知识。中间级别的视觉组(Mid-level visual groups),如物体,在数据集之间迁移良好,因为它们不依赖于任何预定义的真值。在第二步中,我们将对比损失[25,56]应用到获得的先验信息上,来生成像素嵌入。更具体地说,我们将属于同一物体的像素拉到一起,并将它们与来自其他物体的像素进行对比,如图2所示。这迫使模型将视觉上相似物体的像素映射到更接近,同时将来自不相似物体的像素进一步分开。通过这种方式,模型发现了一个像素嵌入空间,可以作为场景的密集语义表示。
本文组织如下。第3.1节阐述使用物体掩码建议作为语义分割的先验的动机。第3.2节分析了如何使用无监督显著性估计器从未标记的数据集中挖掘物体掩码。第3.3节将先验知识整合到对比损失中,学习像素嵌入。
3.1 用于像素分组的中级视觉先验
作为无监督语义分割的一个起点,我们试图定义一个合适的先验。文献中出现了一些试图通过解决代理任务对像素进行分组的工作。示例包括着色[32、42、96],使用共发生[33],预测光流[49,90],等等。不幸的是,无法保证生成的表示将与语义类对齐,因为后者与代理任务输出是co-variant。例如,着色网络将对颜色变化敏感,而颜色变化不一定就是语义发生了变化(编者:颜色和语义两者关联不大)。这对语义分割的目标来说是不好的。
为了克服这些限制,我们遵循一种避免使用代理任务的替代路线。特别是,我们挖掘物体掩码的建议,其覆盖可能包含物体的图像块。然后先验可以被定义为,如果一对像素属于同一掩模,我们假设它们应该分组在一起,并最大化它们的像素嵌入之间的一致性。我们假设,与使用代理任务相比,这是一种更可靠的像素分组策略。特别地,我们的方法通过首先识别中级视觉分组来构建图像分割高级特征(high-level image segmentation),而不是通过求解代理任务直接生成完整的分割。[66]中也提供了这种自下而上方法的动机。
同时,所提出的先验知识可以看作是一种以物体为中心的无监督语义划分方法,这带来了一些优势。首先,使用中级视觉线索,如物体信息,可以对特征表示正则化。特别是,该模型不能简单地依靠颜色等低层信息将像素分组在一起,而是需要学习更多具有语义意义的图像特征。这与使用超像素或图像边界作为先验的竞争作品不同[31,97]。第二,物体线索对语义分割任务具有很高的信息量。后者的证据已在弱监督方法的文献中提供,该方法利用了包含物体信息的标注。例如,一些文献[17,39,58,82]报道了通过使用物体边界框在分割任务上的强大结果。接下来,我们将展示如何使用无监督显著性估计器来产生物体掩膜建议。
3.2 挖掘物体掩膜建议
我们需要为数据集中的图像检索一组物体掩码建议。文献[1,52,62,72]提供了许多方法来实现这一点。我们倾向于使用一个简单的策略来验证无监督语义分割是否受益于采用中级视觉先验。此外,我们希望使用一种不依赖外部监督的方法,或者只使用很少的标签的监督的方法。在后一种情况下,物体掩码建议机制应能很好地推广到新的场景中。
根据我们的要求,我们提出使用显著性估计[7,79]来生成物体掩码建议。最重要的是,各种无监督方法可用于此目的。其中一些著作[52、91、93]使用手工制作的先验值[37、44、98、100]作为伪标签来训练深层神经网络。其他人[85,86]依靠视频来学习一个突出的物体检测器。此外,在各种数据集[15,75,83]上,无监督显著性方法与监督显著性方法的性能相当[29,48,64,77,92,95]。最后,如[52]所示,模型预测可以很好地迁移到新的数据集。 为了完整性,在第4节中,我们探索了无监督[52]和监督[64]显著性估计方法来预测物体掩码,并展示了我们方法的潜力。图3显示了一些示例。
3.3 MaskContrast:通过对比显著性物体来学习像素嵌入
给定一个图像数据集,其带有使用显著性估计器得到的不重叠的物体掩膜建议我们的目标是学习一个像素嵌入函数,这个函数是个神经网络,其权重参数为。这个函数将图像中的每个像素映射到一个维的归一化的超球面上(normalized hyper-sphere)的点。我们选择了一个归一化的嵌入空间,使得的输出是有界的。注意,这种尺度不变嵌入的使用将损失与其它设计选择解耦,这些设计选择可以隐含地限制距离的范围,例如权重衰减,如[41]所示。
我们构造一个优化目标来学习嵌入函数,如下所示。首先,我们描述了如何使用对比学习目标来学习有语义意义的图像特征。其次,我们修改评价标准( criterion)来学习像素嵌入。
学习图像级表示。 现有的对比自监督方法(如[12,26,80])通过在图像级定义的实例识别任务来学习视觉表征。获取同一图像的正例视图,保证两个视图包含同一物体的一部分。类似地,可以找到从不包含相同物体的负例。在实践中,我们通过应用增广来施加额外的不变性。现在可以在对比框架中使用正例和负例来学习编码物体语义信息的图像表示。
我们通过训练一个图像嵌入函数使正例之间的一致性最大化,同时使负例之间的一致性最小化来实现这一概念。如果我们用点积来衡量成对之间的相似性,对比损失[25,56]被定义为 ,
其中温度使点积松弛。如[63]所示,模型学习编码物体信息,因为正例总是保留同一物体的一部分。此外,由于网络的表征容量(representational capacity)受到有意的限制,视觉上相似的物体往往会被映射得更近。这两个属性的结合导致图像表征可以直接聚类到语义组中(参见[73]获得更详细的解释)
以上显示了如何训练一个编码语义物体信息的模型。接下来,我们修改公式(1)中的对比损失来学习像素级的表示。
学习像素级表示。 我们采用以下符号标示。令为一个像素,其嵌入为。令表示像素所属的物体掩膜的索引index,也就是,。最后,一个物体掩膜的平均像素嵌入可以被定义为:
优化目标由像素嵌入空间中的拉引力和排斥力导出。
拉引力 在第3.1节中,我们鼓励使用先验(基于像素属于同一物体)来将像素拉到嵌入空间中。更具体地说,如果两个像素属于同一物体,也就是,,我们将它们的像素嵌入之间的一致性最大化。在实践中,像素和它们的物体掩码的平均嵌入之间的一致性被最大化,以获得一个评价标准criterion,该标准与像素数量成线性比例,而不是二次比例。
排斥力。 另外,我们需要一个排斥力来避免嵌入空间中的模式崩溃mode collapse。此外,排斥力应该驱动视觉上相似物体的像素在嵌入空间中靠得很近,而来自不同物体的像素被映射得更远。如前一段所述,这可以通过采用对比损失来实现,对比损失将物体的增广视图视为正对,将其他物体的视图视为负对。在这种情况下,排斥力存在于不同物体之间。我们用它们的平均像素来表示物体。
优化目标。 我们修改了公式(1)中的对比损失,以包括我们提出的拉引力和排斥力。公式(1)以物体为中心的裁剪图像的正例对被替换为像素嵌入的正例对:,其中。类似的,负例对被替换为。对于一个像素,我们获得以下优化评价标准(optimization criterion):
像素嵌入函数最大化了像素与它们所属物体的增强视图之间的一致性,同时最小化了与其他物体的一致性。我们将像素损失应用于所有前景像素。背景像素没有对比,因为可能有多个背景物体,没有结论性的信息。然而,在这种情况下,网络不需要区分落在物体掩膜内部或外部的像素。因此,像素嵌入可以折叠为图像上的单个向量。为了防止这种情况,我们通过包含一个单独的线性头来正则化特征空间,该线性头可以预测显著性掩模。我们参考补充材料中的伪代码来了解MaskContrast(Algorithm1)的概述。
有趣的是,所提出的目标也可以用另一种方式来看待。Wang和Isola[78]表明,对比损失优化了两个特性:(1)正例对的特征的对齐和(2)归一化超球面上特征分布的均匀性。从这个角度来看,我们的优化目标也可以解释为基于同一物体的像素嵌入的对齐,同时在整个超球体上均匀地分布像素嵌入。
4. 实验
4.1 实验设置
数据集。 在前面的工作[31,97]之后,我们对PASCAL[22]数据集进行了大量的实验分析。在训练和评估过程中分别使用了train_aug和val_splits。我们在COCO[46]和DAVIS-2016[61]数据集上进行了额外的实验,以验证像素嵌入是否转移到了新颖的场景中。我们使用Kirillovet等人[40]的标注来完成COCO上的语义分割任务,并对PASCAL类进行评估。在DAVIS-2016上,表示用于计算视频中传播物体掩膜的对应关系。只对第一帧进行标注,我们对其余帧上传播的掩码进行评估。我们采用了文献[34]中的评估方案,并报告了区域相似性和基于轮廓的精度分数。
训练设置。我们使用了一个DeepLab-v3[11]模型,该模型具有扩张率的[88]ResNet-50主干[27]。除非有额外说明,主干是从MoCo v2[14]初始化的,在ImageNet上预训练过。我们使用大小为64的批量来训练60个epoch的模型。模型权重通过SGD更新,动量为0:9,重量衰减为4。初始学习设置为0:004,并使用poly学习率衰减方案
。我们使用与SimCLR[12]相同的数据增扩来生成正例对,同时确保每个图像至少包含显著物体的一部分(面积>10%)。负例的特征以memory bank的形式保存,设为128。
负片{}的特征保存在内存库中,Kset为128。在[26]之后,用动量更新版的网络对负片进行编码。我们使用D=32,温度τ=0:5。显著性估计。我们测试了无监督和su监督显著性估计器,以挖掘目标掩蔽概率。我们采用BAS Net[64]体系结构。监督显著性模型是在DUT上训练的[76]。不同的是,无监督显著性模型是使用DeepUSPS[52]的方法在MSRA[15]上训练的。MSRA考虑了不太复杂的场景,无监督训练从中受益。然而,当使用无监督模型时,直接将预测迁移到我们的目标数据集(例如PASCAL)会导致低质量的掩码建议。我们采用一个简单的引导过程来改进对目标数据集的预测。特别地,我们通过在MSRA上用无监督DeepUSPS模型生成的伪标签上训练BAS网络来获得最终的显著性估计。我们在补充资料中提供了每种方法的实现细节。代码和预先计算的显著性掩码将可用。 范围。
我们采用标准的评估协议[36,97]来进行无监督语义分割,以测试我们的方法。更具体地说,我们使用线性探测(第4.3节)、直接聚类(第4.4节)和分割检索方法(第4.3节)。4.5)根据语义类别量化像素嵌入是否分离。这种实验设置不同于自监督表征学习中使用的典型设置,在自监督表征学习中,评估侧重于对各种下游任务的特征表征进行微调。为完整起见,我们在第4.6-4.7节中加入了额外的微调实验。
消融研究 我们在线性评估方案下,根据现有工作,检查我们框架的不同组成部分的影响[97]。网络权值保持不变,我们在上面训练一个1×1卷积层来预测类分配。由于线性分类器的识别能力较低,像素嵌入需要以语义类的形式进行,这样才能解决问题。基线比较。表1比较了几个基线。在显著性特征上应用线性分类器的性能最低(6:5%)。这是意料之中的,因为显著性估计器仅区分两组像素,即显著物体与背景。不同的是,我们的方法发现了一个结构化的嵌入空间,其中来自视觉上相似物体的像素靠得很近,而来自不同物体的像素则相距很远。这允许线性分类器正确地分组像素(>58:4%)。重要的是,与初始化后骨重量的模型(MoCo为45:0%至58:4%,监督预训练为53:1%至61:0%)相比,结果有所改善。我们的结论是,我们的方法的性能不能归功于使用特定的初始化。另外,对于分割任务,在像素级而不是在图像级学习表示也是有益的。最后,我们观察到在包括额外的超视觉时,进一步的性能提高,例如在ImageNet上的监督预训练(58:4%到61:0%),或监督显著性估计器(58:4%到62:2%和61:0%到63:9%)。
掩盖提议。
表2a比较了三种面具提议策略。当使用显著物体掩膜时,会报告更好的数字。我们发现用分层分割算法提取的区域往往太小,无法代表一个物体或部分。在这种情况下,模型没有学习到分割任务的有用信息。这证实了第3.1节的假设,即一个好的先验表示物体信息。 训练机制。t表2b删除了一些包含的训练机制。首先,使用增广视图对正对进行采样可以改进结果,因为我们学习了额外的不变性。其次,包括内存库会进一步提高性能,因为我们可以更好地估计负片的分布。第三,用动量网络Φθ的更新版本对负片进行编码是有帮助的,因为这加强了记忆库的一致性(另见[26])。总之,这三种机制都对结果作出了积极贡献。
超参数研究。
表2c研究了使用温度τ和负片数k的影响。结果表明,基于所报道的标准差,该算法对超参数不太敏感。线性分类器 表3将我们的方法与PASCAL线性评估协议下的竞争作品进行了比较。MaskContrast与代理任务。
该方法的性能明显优于基于代理任务的方法。代理任务不太可能将嵌入与数据集中的语义组对齐。相比之下,将我们提出的先验知识(即共享像素所有权)与对比丢失相结合,可以得到更具语义意义的像素嵌入。MaskContrast与。聚类。我们优于使用聚类目标的IIC[36]。如前所述,聚类强烈依赖于网络初始化,这会对学习的特征产生负面影响,因为网络可以锁定低级信息,如颜色、纹理、对比度等。不同的是,我们通过将先验信息与网络初始化解耦来抑制这些问题。
MaskContrast与对比学习。
与现有的对比自监督方法相比,该方法具有更高的准确性。这组作品定义了对比损失在全球图像或补丁水平。自然,我们的像素嵌入更能预测语义分割任务,因为我们在像素级别定义了对比学习目标。最后,我们执行了依赖边界检测器将像素分组在一起的方法。我们认为,与从边界检测器获得的区域相比,所使用的显著性掩模包含了更高级别的视觉信息。这些结果表明了使用这些信息可以获得的好处,这支持了我们先前在第3.1节中的主张
利用K-Means等离线聚类准则,验证了特征表示是否可以直接聚类到语义上有意义的组中。簇的数目等于基本真值类的数目。匈牙利匹配算法用于将预先预测的聚类与地面真值类进行匹配,并对结果进行五次平均。表3B显示了结果。我们学习的像素嵌入可以在PASCAL上使用K-Means成功地进行聚类。相比之下,在先前的工作中获得的特征表示并不表现出这种行为。我们在suppl中包含了额外的结果。应用过度聚集时的材料。
语义段检索 接下来,我们采用一种检索方法来检查我们在PASCAL上的表示。首先,我们通过平均预测掩膜内的像素嵌入来计算每个显著物体的特征向量。接下来,我们从TrainAugset中检索Valset物体的最近邻居。表4显示了以下7个类别与最新水平的定量比较:公共汽车、飞机、汽车、每个儿子、猫、牛和瓶子。和以前一样,我们的表现比以前的作品有很大的优势。为了便于将来的比较,我们在对所有21个PAS-CAL类进行评估时也包括了结果。图4显示了一些定性结果。迁移学习 我们研究像素嵌入的可迁移性。表5显示了在ImageNet上进行预训练并在不同的目标数据集上评估生成的像素嵌入时的结果。有趣的是,我们的表示在不同的数据集之间迁移得很好。训练一个线性分类器来解决PASCAL上的分割任务比MoCo v2基线提高了55.4%(MaskContrast为55.4%,MoCo为45.0%(使用无监督显著性模型时)。在可可上也可以观察到类似的效果(MaskCon trast为45.0%,MoCo为35.2%)。最后,我们的表示也很好地转移到DAVIS-2016的语义物体分割任务中。这个数据集涵盖了一组丰富的自然图像增强,如视点变化、遮挡等,我们的像素嵌入学习了不变性。
在所有三个基准上观察到的收益表明,学习的表示并不局限于特定的数据集。我们的结论是,使用中级视觉先验知识可以用于自监督表征学习。半监督学习 该方法也可以作为语义分割的预训练策略。也就是说,该模型在PASCAL上以半监督的方式进行了微调。我们使用1%、2%、5%、12.5%和100%的trainaug分裂作为标记示例。我们从ImageNet上的su监督预训练中初始化我们的模型。这种权值初始化通常用于语义分割。此外,直接微调以相同方式初始化的模型可以作为强基线。表6显示了结果。与ImageNet上的超维预训练相比,用我们的方法生成的表示在微调后产生更高的性能。当同时使用无监督和有监督显著性估计器来预测物体掩码提议时,这是正确的。可以预见的是,当更多的标记示例可用时,收益会变小(另见[99])。我们的结论是,无监督学习的像素嵌入可以补充现有的预训练策略的基础上,优化标准定义在全局图像或补丁水平。我们希望这一观察能够推动这方面的进一步研究。
讨论和限制
本文提出了一个基于中间层视觉先验的两步框架来解决无监督语义分割问题。所提出的设置防止了模型锁定在低层次的图像特征上,这是以前依赖于端到端聚类、代理任务或低层次视觉线索的工作中存在的问题。相反,MaskContrast学习包含更多语义有意义信息的像素嵌入(参见图4)。因此,我们能够在一个完全无监督的设置下,在像PASCAL这样的数据集上处理语义分割任务。此外,实验评估表明,我们的像素嵌入还具有其他一些有趣的特性:语义分割检索能力、迁移学习能力和半监督微调能力。尽管如此,我们还没有考虑到一些局限性。利用显著目标估计器得到目标掩模方案。使用显著性估计的缺点是,每个图像只能获得有限数量的物体掩膜。我们认为,可以探索挖掘物体掩码建议的替代方法,以处理每个图像中可能存在许多物体的更具挑战性的数据集。特别是,我们可以看到更多的传感器数据[69]或其他技术[62]更适合这种类型的图像。从方程3得到的优化准则可以相应地推广。考虑到我们框架的可行性,我们认为这些是有趣的研究方向。 A.补充材料补充材料包括我们算法的伪代码和实验评估的实现细节。此外,我们在EAN节中提供了过聚类结果,在G节中提供了半监督微调的定性结果。 伪码
算法1显示MaskContrast的伪代码。显著性掩码是通过运行现有显著性估计器的公共代码获得的[52,64]。使用了默认的超参数设置。我们的方法和预先计算的显著性掩模的PyTorch实现将公开。培训前
本节描述了主要论文实验部分中包含的模型的预训练设置。在大多数情况下,我们能够使用预先训练的重量由作者提供各自的作品。
共现。
我们采用了最初工作中的培训设置[33]。将网络输出层前的特征用于训练线性分类器和应用K-均值聚类。着色。
使用了Zhanget al.[96]预先训练过的着色剂。本文认为网络中的中间表示将提取语义信息,以解决彩色化任务。因此,我们应该从哪一层挖掘特征来处理语义分割任务是非常重要的。为了解决这个问题,我们尝试使用来自不同中间层的特征,并在训练线性分类器或应用K-均值时报告最佳结果。化学机械抛光。
我们遵循着色任务的策略来训练线性分类器或应用K-均值。采用詹等人[90]的预训练模型。IIC.我们遵循[36]中的实施策略。对比学习法。我们使用了在ImageNet上预先训练的ResNet-50模型的权重。权重由相关工作的作者提供,即实例辨别任务[80]、SWAV[9]、MoCo v2[26]和InfoMin[71]。在某些情况下,发布了模型的多个变体,例如在训练期间使用不同的增强策略。我们每次都选择最好的型号。对比学习模型仅在ImageNet上进行了预训练,因为在目标数据集(即PASCAL)上进行进一步的预训练,我们看不到任何实质性的改进。为了得到密集的预测,我们在最后一个剩余块中应用扩张卷积。我们使用来自主干的特征来训练线性分类器或应用方法。我们使用了一个扩展的ResNet-50模型和DeepLab-v3头部,如本文所述。最后的1x1卷积层被分成两个线性头。第一个头预测像素嵌入,而第二个头预测显著掩模。在线性评估过程中,我们用随机初始化的1×1卷积层替换最后一层。本文中已经提供了其他细节。 线性分类器 本节描述了用于线性评估协议的训练设置。我们使用大小为16的批来训练60个时期的1x1卷积层。整个列车组在培训期间使用。我们通过动量为0:9,权重为de-cay0:0001,初始学习率为0:1的随机梯度下降来优化权重。40次后,学习率降至0:01。我们发现增加训练时间或改变学习率并不能改善结果
本节指定如何通过使用K-Means对表示进行聚类来获得离散类作为标记。我们遵循[36]中的评估策略来计算平均IoU度量。特别地,我们首先使用匈牙利算法将预测的簇与地面真值类进行匹配。我们随后从重新分配的簇和地面真值标签计算平均IoU。我们报告了五次跑步的平均值。
基于对比的方法。
如第c节所述,我们将K-均值聚类应用于主干特征。在应用匈牙利算法之前,对簇分配进行上采样以匹配原始图像分辨率。IIC。
不需要特定的后处理。我们只是将预测的星团与原始工作[36]之后的基本真值类进行匹配。
基于代理任务的方法(共现、着色、CMP)。
我们选择用于应用K-均值的特征,如第c节所述。在应用匈牙利算法之前,对预测进行上采样以匹配原始图像分辨率。 MaskContrast。
我们计算前景物体的平均嵌入,并使用L2标准化特征向量应用K-均值。在聚类之后,属于物体的所有像素被分配与平均像素相同的标签。利用显著性估计头的预测来识别背景类。我们使用匈牙利算法将预测与地面真值类匹配。 过聚类结果。 K-Means不使用任何先验知识,即地面真值或目标聚类未知。因此,在复杂的、不可嵌入的数据集(如PASCAL)上,预测的簇不太可能与目标簇匹配。为了更好地理解嵌入空间发现的语义结构,我们采用了过聚类。在这种情况下,预测簇和目标簇之间存在多对一映射。表1显示了结果。当我们增加预测簇的数量时,精确度会提高。我们假设嵌入空间中的局部邻域包含相同或视觉上相似物体的像素,这有利于在过聚类时的性能。 半监督学习 本节介绍半监督学习设置。在每种情况下,我们报告三次随机抽样的平均结果。 ImageNet预训练基线。我们将预先训练好的ImageNet权重加载到具有扩展卷积的ResNet-50主干中。我们在所有数据区域中使用批量大小为8的随机梯度下降,动量为0.9,学习率为0.004。在形成网格搜索后选择学习率。此外,我们还探讨了不同参数组在特定学习率下的使用,例如解码器的学习率是编码器的10倍。然而,这并没有导致任何进一步的改进。我们包括重量衰减项0:0001。使用poly学习率调度器。 MaskContrast。 我们使用批量大小8,使用5%、12.5%和100%的标签进行微调时,学习率为0.004。不同的是,当使用1%和2%的标签时,除了使用学习率0.1的最终卷积层之外,网络中的所有层的学习率都设置为0.001。后者是很好的动机,因为完整的网络,包括编码器和解码器,已经为语义分割任务预先训练。批次标准状态被冻结。我们使用动量为0.9,权重衰减项为0.0001的随机梯度下降法。使用多学习率调度器衰减学习率。 定性结果
图1显示了在预先训练的表示上训练线性分类器时的定性比较。我们使用无监督(第5行)或有监督(第6行)显著性估计器将我们的方法学习到的表示与实例区分(第2行)[80]、SWAV(第3行)[9]和MoCo v2(第4行)[14]的表示进行了比较。定性结果支持这样的说法,即我们的像素嵌入学习语义上有意义的信息。