Large-scale Unsupervised Semantic Segmentation

date
Nov 8, 2022
Last edited time
Mar 27, 2023 08:43 AM
status
Published
slug
Large-scale_Unsupervised_Semantic_Segmentation
tags
DL
CV
summary
type
Post
Field
Plat
Unsupervised semantic segmentation
Semi-supervised semantic segmentation

Task

大规模无监督语义分割:LUSS任务旨在从大规模数据中为像素分配标签,而无需人工注释监督。

Dataset

The ImageNet-S dataset contains 1183322 training, 12419 validation, and 27423 testing images from 919 categories. We annotate 39842 val/test images and 9190 training images with precise pixel-level masks.
Dataset
category
train
val
test
ImageNet-S_{50}
50
64431
752
1682
ImageNet-S_{300}
300
384862
4097
9088
ImageNet-S
919
1183322
12419
27423
notion image

Evaluation

  1. Fully unsupervised protocol
    1. 完全无监督的评估协议在训练期间不需要人工标注的标签,只需要验证/测试集进行评估。与监督任务不同,LUSS 任务中的模型生成类别,在评估时需要与 GT 类别匹配。我们在 ImageNet-S 工具箱中展示了默认的图像级匹配方案,而有效的匹配方案应该可以提高 LUSS 评估性能。需要将生成的类别与 GT 类别进行匹配,并将匹配的类别分配给测试图像。
  1. Distance matching protocol
    1. Distance matching protocol 中,直接使用带像素级标记的训练图像获得 GT 类别的 Embedding,并将它们与验证/测试集中的 Embedding 进行匹配以分配标签。不需要关心 LUSS 中的标签生成,只需要提供一个无监督的预训练模型。
  1. Semi-supervised protocol
    1. 可以进行半监督微调来评估 LUSS 模型,因为我们用像素级标签注释了大约 1% 的训练图像。半监督评估协议需要使用 1% 像素级的人工标记训练图像对训练后的 LUSS 模型进行微调。因此,该协议不需要匹配生成和 GT 类别。此外,该协议适用于现实世界的应用,其中一小部分图像是人工标记的,而许多图像是未标记的。
  1. Free protocol
    1. 可以做任何事情来提高 ImageNet-S 上的语义分割性能,例如ImageNet-21K 监督预训练、图像级注释和像素级注释。唯一的规则是不要使用 val/test 集的图像级或像素级注释。
Actions
Fully unsupervised
Distance matching
Semi-supervised
Free
ImageNet-S~{50/300/full} only^{note1}
Only unsupervised pre-training
Label generation and fine-tuning
Fine-tune with 1% training image annotation
Supervised pre-trained weights?
Extra training data?
Supervised edge/saliency?
💡
如何匹配? 给定测试集 ,其包含 个类别。得到标签 与 预测 ,标签与预测每一个类之间的相似度定义为:,然后使用使用匈牙利算法进行类别匹配。

LUSS Basic Pipeline

notion image
  1. 随机初始化一个模型,如ResNet,使用代理任务进行自监督训练。经过表示学习,我们得到所有训练图像的特征集 。
  1. 然后采用基于像素-注意力的聚类方案获取伪类别,并将生成的类别分配给每个图像像素。
  1. 利用生成的伪标签对预训练模型进行微调,提高分割质量。
  1. 在推理过程中,LUSS模型将生成的标签分配给图像的每个像素,与监督模型相同。
💡
旧版 Pipline(仅供参考):
  1. 随机初始化一个模型,如ResNet,使用代理任务进行自监督训练。经过表示学习,我们得到所有训练图像的特征集 ,其中 为特征的维数、高、宽。
  1. 我们聚类 得到伪类别 ,并将生成的类别分配给每一张图像。为了节约计算成本,我们使用图像级特征 ,并利用 k-means 聚类算法为图像分配伪标签
  1. 在模型后加入 卷积,将特征 的维度降维到 ,使用 GAP 得到 ,这一步使用伪标签 对数据集进行监督训练。
  1. 在推断过程中,由于 只包含图像级标签,遵循 CAM 的机制去池化层,得到输出特征 。最后离散化的标签为: 为每一个像素位置的 Embedding, 为阈值。

PASS Model

我们提出了一个用于 LUSS 任务的基线方法(名为PASS),包含自监督表征学习,伪标签生成和微调三个步骤。对于自监督表征学习,我们提出了
  1. 一种非对比的像素级表征对齐策略,以在不损害类别表征的情况下增强像素级的表征。(Non-contrastive pixel-to-pixel representation alignment)
  1. 一个提高网络中间层表征质量的自深到浅的监督策略。以上两种策略保证模型学到高质量且可共存的形状和类别表征信息。(Deep-to-shallow supervision)
  1. 在标签生成阶段,我们提出了一种像素注意力机制来突出对类别贡献大的语义区域,以实现在大数据量下高效的像素级伪标签生成和微调。 (Pixel-label Generation with Pixel-Attention)
PASS方法首次实现大规模的无监督语义分割,且相较于针对小规模数据设计的无监督语义分割方法有明显优势。
此外,针对LUSS任务训练的PASS模型可以作为预训练模型提升下游有监督分割任务的性能。
notion image

Non-contrastive pixel-to-pixel representation alignment

像素级形状相关表示旨在增强像素级的特征识别能力,即同一类别内的像素或来自不同视图的同一图像位置的像素具有一致的表示,反之亦然。
Illustration of non-contrastive pixel-to-pixel representation alignment.  is the projection layer that ensures less interference of pixel level representation to the category representation.  is a pixel-level predictor for the asymmetric loss.
Illustration of non-contrastive pixel-to-pixel representation alignment. is the projection layer that ensures less interference of pixel level representation to the category representation. is a pixel-level predictor for the asymmetric loss.
其中 Projector 为像素级MLP预测器, 为避免预测器崩溃的停止梯度操作, 为余弦相似度损失。提出的非对比度像素对像素对齐在不同视图之间形成了一种鲁棒的像素级表示,并保持了类别表示能力。

Deep-to-shallow supervision

低/中级表示的质量,即早期网络层的表示,被证明对视觉任务至关重要。在早期层中具有丰富的低/中级语义的表示,能够对新任务的快速适应。现有的大多数工作都是通过从网络的高层间接梯度反向传播来优化中层表示。我们观察到,直接应用低/中级特征进行表示学习会导致次优性能,因为这些特征缺乏语义。因此,我们提出了一种由深到浅的监督策略,在高质量的高级特征的指导下,增强低/中级特征的表示。
notion image
一个视图的最后一个阶段的嵌入用于监督来自所有阶段的另一个视图的嵌入。
💡
Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self Distillation
notion image
如上图所示,整体来看整个训练过程的思想就是最深层layer去蒸馏和监督浅层的各个Blocks。黑色虚线下方的Bottlenecks、FC Layers、Softmaxs这些都是训练时为了方便蒸馏和监督时加入的模块,在inference的时候是不需要这些的,因此不会增加任何推理计算成本。

Pixel-label Generation with Pixel-Attention

经过表示学习,我们得到所有训练图像的特征集 ,其中 为图像个数, 为输出特征的维数、高、宽。我们聚类 以获得 生成的类别,并将生成的类别分配给每个像素。一种直接的标签生成方法是对训练集中的所有像素进行聚类嵌入,但由于 LUSS 中的数据规模较大,这种方法成本过高。例如,ImageNet-S的训练图像在7 × 7分辨率的像素级聚类需要约114小时。另一种方法是使用空间维度上的图像级特征池,以节省聚类成本。然而,池化特征中包含了许多无关的嵌入,影响了聚类质量。
初版论文里使用了空间维度的特征聚类方式。
我们观察到,学习到的特征倾向于集中在具有更多语义意义的区域,即具有更多有用语义信息的像素对无监督表示学习的收敛性贡献更大。基于这一观察结果,我们提出了一种像素注意方案来突出有意义的语义区域,以促进具有图像级特征的像素级标签生成。
具体来说,我们在模型的输出中添加了一个像素关注头,并使用表示学习损失对其进行微调(Clustering loss),以过滤掉语义意义较低的区域。具有像素关注的特性降低了池化图像级嵌入中的噪声,提高了聚类质量。此外,像素注意将语义区域与无意义区域分离,在像素级标签生成过程中生成更精确的对象形状。我们给出了像素注意在微调和标签生成步骤中的实现细节。
那么,得到新的图像级特征 是像素级注意力。使用 k-means 对特征进行聚类,获得 个聚类中心,即 个图像级伪标签。但是我们需要的是像素级伪标签 ,因此,依据注意力大小判别该标签的覆盖区域:
注意力大于一定阈值则为该类别,否则类别为其他(Else)。

Fine-tuning and Inference

在微调步骤中,我们加载经过表示学习预训练的权值,并添加一个以 通道的 1×1 conv 层作为分割头。对该头的输出特征 进行监督,利用交叉熵损失对模型进行微调。

Experiment

使用了两种预训练方法:SwAV 与 PixelPro,下表显示了我们的方法在大规模数据上达到了合理的性能。与无监督语义分割方法的比较。现有的无监督语义分割(USS)方法是针对规模相对较小的数据设计的,因此由于训练时间的限制,不能直接用于完整的ImageNet-S数据集。因此,我们将我们的LUSS方法与ImageNet-S50子集上现有的USS方法进行比较,如下所示
PASSs/p denotes using SwAV and PixelPro,Pior 中 S 代表使用显著性图进行监督,I 代表使用 ImageNet1K 进行预训练。
PASSs/p denotes using SwAV and PixelPro,Pior 中 S 代表使用显著性图进行监督,I 代表使用 ImageNet1K 进行预训练。
💡
所有在ImageNet-S50上训练的方法都使用ResNet18网络进行公平的比较。严格来说,这种比较是不公平的,因为一些现有的USS方法没有在完全无监督的环境下进行训练。例如,MDC和picise使用监督的ImageNet1k预训练权重初始化模型。当使用MoCo预训练权重时,这两种方法的性能下降很大,这表明有监督的预训练是一个重要步骤。MaskContrast使用MoCo预训练的权重初始化,并使用额外的显著性映射作为监督进行训练。当从头开始训练这个模型时,会有很大的性能损失。相比之下,我们的LUSS方法是从头开始训练的,没有直接/间接的人工监督。我们的方法包括提出的表示学习策略、标签生成方法和微调方案。为了验证我们方法的可泛化性,我们基于两种表示学习方法实现了我们的方法,即SwAV和PixelPro。我们的方法优于现有的USS方法,在mIoU上有明显的优势。得益于额外的显著性映射,MaskContrast比我们的方法有更高的 。使用相同的显著性图,我们的显著性增强方法在 上明显优于MaskContrast,并获得更高的mIoU。注意,MaskCon 中的显著性映射不是严格的无监督版本,因为使用了有监督的ImageNet训练前权重。当使用来自完全无监督方法RC的显著性映射时,我们的方法仍然获得了具有竞争力的性能。我们还实现了其他的USS方法,例如IIC。然而,由于这些方法是针对不同类别的语义分割而设计的,因此它们无法在ImageNet-S50数据集上收敛。
下图的可视化表明,使用大规模数据集可以实现无监督语义分割。
notion image

Ablation

我们将LUSS任务在ImageNet-S300数据集上进行基准测试。为了避免LUSS中微调步骤的影响,我们采用距离匹配协议对LUSS进行评估。
我们在SwAV和PixelPro上实现了 P2P 与 D2S 监管。表7(a)显示,由于缺少LUSS所需的与类别相关的表示能力,PixelPro的性能比SwAV差得多。因此,我们将聚类损失添加到PixelPro中,形成一个合理的LUSS基线模型。P2P对齐和D2S监督分别改进了针对像素级和图像级表示的方法,显示了所提策略的鲁棒性。如表9所示,我们提出的表示学习策略也优于ImageNet-S数据集上的基线。
notion image
notion image
像素级聚类与图像级聚类:
我们将所提出的基于像素注意力的像素标签生成方法与图像级和像素级标签生成方法进行了比较。图像级标签生成方法将 类聚类到池化的图像级 Embedding 上,并将图像级标签分配给每个图像。在微调期间,用图像级标签监督全连接(FC)层。将FC层替换为1×1 conv层,以便在推理过程中获得像素级分割掩码。由于缺少“其他”类别,我们应用基于类激活映射(CAM)的掩码生成方法,以生成最终的分割掩码。我们在ImageNet-S50集上实现像素级方法进行比较。我们使用像素级嵌入对C + 1类别进行聚类,并用像素级标签对它们进行微调。如表10(a)所示,所提出的基于像素注意的标签生成方法优于图像级和像素级方法,具有相当大的优势,不过图像级方法比我们的方法具有更好的 ,我们使用图像级 Inference 的策略, 同样提高了,不过代价是其他指标的下降 。
notion image

© Lazurite 2021 - 2024