PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering论文翻译

摘要

       我们提出了一个新的基于聚类的无标注语义分割框架。现成的聚类方法仅限于精选的、单标签和以对象为中心的图像,而现实世界的数据主要是非精选的、多标签和以场景为中心的。我们将聚类从图像扩展到像素,并将每个图像中的不同实例分配了单独的聚类membership。然而,仅仅依靠像素级的特征相似性无法学习高级语义概念和适应低级视觉线索。我们提出了一种方法,将几何一致性作为一种归纳偏差,来学习光度和几何变化的不变性和等方差。通过我们新的学习目标,我们的框架可以学习高级语义概念。我们的方法 PiCIE(使用不变性和等方差的像素级特征聚类)是第一个能够在没有任何超参数调整特定任务预处理的情况下分割事物和东西类别的方法。我们的方法在很大程度上优于 COCO [31] 和 Cityscapes [8] 上的现有基线,具有 +17.5 Acc。和 +4.5 mIoU。我们证明 PiCIE 为标准监督训练提供了更好的初始化效果。

介绍

        从一组未标记的图像中进行无监督学习已经获得了很大的普及,但仍然主要局限于单类的、以对象为中心的图像。请考虑图1所示的图像(上图)。给出这些和其他未标记图像的集合,机器能从每一张图像中发现“草”、“天空”、“房子”和“树”的概念吗?更进一步,它能识别出每个概念出现在每张图像中的哪里,并将其分割出来吗?

PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering论文翻译_第1张图片

       能够进行这种无监督语义分割的系统然后可以自动发现具有其精确边界的对象类别,从而消除收集和标记(eg:COCO)数据集的大量成本。它甚至可能发现注释者可能事先不知道的对象、材质和纹理。这对于分析新的领域特别有用:例如,在卫星图像中发现新类型的视觉结构。对于试图在野外操纵这些物体的机器人来说,该系统发现和分割未知物体的能力也可能被证明是有用的。

       然而,尽管无监督语义分割可能有用,但它也是具有挑战性的。这是因为它将类别发现问题与详尽的像素标记的挑战结合在一起。自我监督和无监督学习的最新进展表明识别系统当然可以发现图像级的类。然而,图像级别的标记更容易,因为网络可以简单地依赖于几个独特、稳定的特征,而丢弃图像的其余部分。例如,识别系统可能能够简单地通过检测每个图像中的屋顶瓦片的存在并忽略图像中的其他所有内容来将图1的所有四个图像分组在一起。相反,在分割图像时,任何像素都不能被忽略;无论它是不同的对象(物体)还是背景实体(填充),尽管可能存在较大的类内差异,但每个像素都必须被识别和准确地表征。因此,很少有以前的工作试图解决这个发现语义切分的问题,结果仅限于非常粗略的材料切分。

       在本文中,我们朝着一个实用的无监督语义分割系统迈进了一步:我们提出了一种方法,能够以比现有技术更精细的粒度分割出所有像素,无论是物体还是东西。我们的方法是基于一个简单的目标,该目标只包含了两个常识性约束。首先,具有相似外观的像素(即,它们在学习的特征空间中聚在一起)应该被类似地标记,反之亦然。其次,像素标签对于颜色空间变换应该是不变的,对于几何变换应该是等方差的。我们的结果表明,仅使用这两个目标,我们就可以在没有任何标签的情况下端到端地训练一个基于ConvNet的语义分割系统。 

       我们发现,尽管它很简单,但我们的方法远远优于之前在这项任务上的工作,比现有技术的准确性提高了一倍以上(图 1,底部)。与之前的工作相比,我们的基于聚类的损失函数(上面的第一个目标)使它变成了一个更简单、更容易的学习问题,而不是试图学习参数像素分类器。但不变性和等变性目标是关键。它们允许卷积网络将不同比例、姿势和颜色变化的像素连接在一起,这是现有系统无法做到的。这种增强了的对不变性的鲁棒性也允许我们的方法有效地分割对象。我们通过消融研究证明了这些直觉,我们发现这些直觉中的每一个都有助于显着提高性能。

       总之,我们的结果表明,卷积网络不仅可以学习发现图像级的概念,还可以在没有任何监督的情况下对图像进行语义解析。这为真正的大规模发现打开了大门,这样一个训练有素的网络可以自动从未标记、未精选的数据集中显示新类别的对象、材料或纹理。

3、PiCIE

       我们得到了来自某个域D的未精选的、未标记的图像数据集。在这个数据集中,我们想要发现一组视觉类C,并学习一个语义分割函数fθ。当提供来自D的不可见图像时,fθ应该能够从类别C集合中为每个像素分配一个标签。

       我们将这种无监督图像分割任务描述为像素级聚类,每个像素被分配到一个聚类。聚类通常需要良好的特征空间,但先验地不存在这样的特征表示。因此,我们提出了一种与聚类一起学习特征表示的方法。图2描述了PiCIE的整体流程,它代表使用不变性和等方差的像素级特征聚类。我们将在下面描述我们的方法。

PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering论文翻译_第2张图片

 3.1.一种基准聚类法

       我们从之前的工作开始,学习端到端的神经网络以将未标记的图像聚类到图像级类别中。在这些论文中解决的关键问题是,将图像聚类成类别需要强特征表示,但对于训练强特征表示,需要类标签。要解决这个鸡和蛋的问题,最简单的解决方案是DeepCluster确定的解决方案:交替使用当前特征表达进行无监督聚类,并使用聚类标签作为伪标签来训练特征表达。

(DeepCluster:得到特征后作无监督聚类得到伪标签,然后反过来训练特征网络)

        对于无监督语义分割任务,可以遵循类似的策略。唯一的区别是,我们需要使用一个嵌入函数fθ来生成一个特征图,为每个像素生成一个特征向量。分类器还必须对单个像素进行操作。然后,可以交替地对像素特征向量进行聚类以获得像素伪标签,并使用这些伪标签来训练像素特征表示。

       具体地说,假设我们有一组未标记的图像xi,i=1,.。。。假设我们的嵌入,由fθ表示,产生一个特征张量fθ(X)。这为图像x中的每个像素p产生一个特征表示。用fθ(X)[p]表示该像素级特征表示。用GW(·)表示对这些像素特征向量进行运算的分类器。然后,我们的基线方法在两个步骤之间交替:

(1)使用当前嵌入和k-均值对数据集中的像素进行聚类

                          

其中,yip表示第i张图像中第p个像素的簇标签,而µk是第k个簇质心。(我们使用小批量k-Means)

(2)使用聚类标签训练像素分类器,使用标准交叉熵损失。

         PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering论文翻译_第3张图片

其中SK是由分类器GW(fθ(xi,p))输出的第k个类分数

鉴于这一基线,我们现在提出以下修改。

3.2 基于非参数原型的分类器

       上面受DeepCluster启发的框架使用了一个单独的、可学习的分类器。然而,在具有不断变化的伪标签的非监督设置中,与特征表示共同训练分类器可能是具有挑战性的。训练不足的分类器可能会将噪声梯度输入到特征提取器中,从而在下一轮训练中产生有噪声的聚类。

       因此,我们建议完全抛弃参数像素分类器gw。相反,我们根据像素到质心的距离(“原型”[41]),用k- means估计,来标记像素。这导致了以下目标的改变。d是余弦距离。

           PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering论文翻译_第4张图片

3.3 不变性和等方差性

       如上所述,共同学习特征表示和聚类肯定会产生在特征空间中紧凑的聚类,但这些聚类没有理由一定是语义的。为了获得像素的语义分组,我们需要引入额外的归纳偏向。如果我们没有标签,这种归纳偏差会是什么?

       我们引入的归纳偏差对光度变换是不变的,对几何变换是等方差的:如果像素颜色略有抖动,标签应该不会改变,当图像在几何上扭曲时,标签应该类似地扭曲。具体地说,如果Y是图像x的输出语义标注,P和G分别是光度变换和几何变换,则变换后的图像G(P(X))的输出语义标注应该是G(Y)。

       在联合聚类和学习框架中实现这一约束是很棘手的,因为没有针对每幅图像的真实值标签。伪地面真值标注本身源自于聚类,而聚类本身是由特征映射产生的,因此其本身对输入变换敏感。因此,在这种情况下的不变性/等方差意味着两件事:第一,无论变换如何,我们都应该产生相同的聚类;第二,预测的像素标签应该表现出所需的不变性或等方差。

3.3.1 光度学变换的不变性

       我们首先讨论不变性的问题。对于数据集中的每个图像xi,我们随机采样两个光度变换,P(1)i和P(2)i。这为每个图像Xi中的每个像素p产生两个特征向量:      

           

 然后我们在两个“视图”中分别进行聚类,得到两组伪标签和质心:

              PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering论文翻译_第5张图片

给定这两组质心和这两组伪标签,我们使用两组损失函数:

1. 和前面一样,我们希望特征向量依附于聚类标签。现在我们有两个观点,我们希望这在每个视图中都是正确的:

                    、

2. 因为我们假设聚类对于光度变换是不变的,所以我们也希望一个视图的特征向量与另一个视图的聚类标签和质心相匹配:

                      

 这个多视图框架和交叉视图损失实现了两件事。首先,通过迫使一个变换的特征向量依附于另一个变换产生的标签,它鼓励网络学习在任意任何光度量变换的情况下,都将被标记为相同的特征表示。其次,通过强制相同的特性表示与两种不同的聚类解决方案保持一致,这鼓励了两种解决方案本身的匹配,从而确保通过聚类发现的概念集对光度转换是不变的。

3.3.2几何变换的等方差

       一个房子和一个放大版的房子应该被贴上类似的标签,但可能会产生非常不同的特征。更准确地说,放大版内部的分割应该是原始分割的放大版。这是几何变换(如随机裁剪)的等方差概念,我们接下来要添加。

         为了学习几何变换的等方差,我们为每个图像采样一个几何变换(具体地说,随机裁剪和水平翻转)Gi。那么,在上述框架中,一种视图使用变换后的图像的特征向量,而另一种视图使用变换后的原图像的特征向量:

                

其他步骤完全相同。将这两个视图分别聚类,最终的训练目标是view within和cross-view目标的结合:

                

(作者在DeepCluster的基础上了,提出对原图像进行变换,然后对变换后图像得到的特征也进行聚类,得到另一组伪标签。然后

核心思想: 同时利用原图像特征聚类得到的伪标签 和 变换图像特征聚类得到的伪标签进行特征训练)

4.实验

4.1训练细节

        在我们所有的实验中,我们使用了特征金字塔网络和在ImageNet上预先训练的resnet - 18骨干。特征金字塔的融合维度是128而不是256。我们将L2归一化应用于我们的网络的特征映射。使用Faiss库,通过使用GPU的小批量近似来计算聚类质心。对于基线,当我们使用ImageNet预先训练的权重时,我们不使用图像梯度作为额外的输入。除表4外,所有图像在训练期间都被调整大小和居中裁剪到320×320。我们使用了发布的代码[4,23],对基线进行了最小程度的修改。其他详情见补充资料。

预训练vs随机初始化。以前的工作从随机初始化开始训练网络,但对于语义分割来说,这是不必要的;与表征学习文献不同,我们的目标是尽可能准确地分割给定的数据集,在实际场景中,人们总是会选择从一个预先训练的网络(如ImageNet数据集[9])中初始化。
因此,我们使用imagenet预先训练的权值来训练所有的模型,除了在表4中,我们显示picie在从头开始训练时也优于所有的基线。

损失平衡和超聚类。共同优化一组数量较高的单独聚类,提高了聚类的稳定性和预测的准确性。然而,在无监督设置中,超参数调优通常是不可行的。因此,我们使用一般的方法来平衡损失:

            

k1和可k2是聚类数目。直观上,交叉熵损失的大小依赖于对数-算术上的聚类数目,因此我们防止过过度聚类压倒梯度流。我们修复K2 = 100,加上+H,应用时显示在结果中。类似地,由于数据集的不平衡,计算的聚类将有很大的不同;在交叉熵计算过程中,我们为每个聚类应用了一个平衡项。

4.2基线

       我们描述了基线方法,将pice与 IIC和修改DeepCluster用作分割相比较。它们是最先进的隐式和显式聚类学习方法。

IIC   IIC[23]是一种隐式聚类方法,网络直接预测每个像素级特征向量的(软)聚类分配。其主要目标是最大化像素预测与相邻像素预测之间的互信息。在对照实验中,我们使用了与pice相同的ResNet-18的FPN,以及与原始的shallow VGG-like模型相似的ResNet-18前两个残块(IIC - res12)。在原论文[23]的基础上,我们使用辅助过聚类损耗,K = 45。

修正后的DeepCluster。DeepCluster是一种显式的聚类方法,网络将给定图像的特征向量聚类,并使用聚类分配作为标签来训练网络。为了适应我们的问题设置,我们修改了原始的DeepCluster,以在最终的池化层之前对像素级特征向量进行聚类。这允许网络为每个像素分配一个标签。但是,由于图像的大小使得需要聚类的特征向量的数量激增,我们首先使用小批量k-means[39]来计算聚类的质心,分配标签,并训练网络。

4.4 结果

        在表1中,我们将pice与以下基线进行了比较:No Train、modified DeepCluster[4]和IIC[23]。
与之前的工作中只考虑物品类别不同,我们评估了东西和物品类别上的模型,以在更现实的环境中进行测试。由于大多数以场景为中心的图像数据集都是由材料类别组成的,因此我们的评估面临着严重的不平衡问题。此外,IIC的学习机制假设了局部空间一致性,由于更多的动态形状变化,对于事物类别来说,这通常是不正确的。我们发现,由于(隐式)聚类是在批处理中进行的,并且当实例具有动态和复杂的视觉线索时,缺乏监督信号,IIC倾向于对低级视觉线索过度拟合。实际上,在图3中,IIC结果没有正确地划分出事物类别。另一方面,PiCIE新颖的in/equivariance loss强制使用计量一致性作为归纳偏差来学习高级视觉概念,如图3所示,PiCIE(“我们的”)能够以高精确度分割物品和物品类别。因此,表1显示pice的表现大大超过其他基线(+ 17.5 Acc)。和4.5 mIoU)。在表3,我们在cityscape上测试了基线和我们的方法,并显示了相似的优势水平(+ 18 Acc。和5.3 mIoU)。最后,表4显示pcie在基准上优于其他模型[23,37],其中图像大小为128×128,模型从头开始训练,只考虑材料标签进行评估。

things vs stuff。在表2中,我们显示,与其他方法相比,pcie主要改进了thing类别(+10 mIoU),同时,在stuff了别上保持了更好或兼容的性能。这表明,在实例对象具有不同形状和边界的类别上,强制几何变换等方差是非常有效的。此外,我们在表2和表4中显示,pice在有或没有经过imagenet预处理的权重的物品类别上仍然表现出色。

5.结论

        本文提出了一种新的基于聚类的无监督语义分割框架。我们的主要贡献是将几何一致性作为归纳偏差,以学习光测和几何变化的不变性和等方差。我我们的新的交叉视点损失在学习划分事物类别所需的高级视觉概念方面简单而高效。我们的方法是第一个无监督的语义分割,既适用于thing类别,也适用于stuff类别,而不需要严格的超参数调整或特定于任务的预处理。

      

你可能感兴趣的:(python)