CVPR2021 基于多变换特征聚类伪标签的无监督语义分割
PiCIE: Unsupervised Semantic Segmentation Using Invariance and Equivariance in Clustering
一 文章出发点
相比半监督、弱监督减少标签依赖性的论文,无标签语义分割论文相对而言比较少,这篇文章将图像级聚类扩展到像素级聚类。
二 文章核心思想
搞懂文章的核心思想,首先要看下文章的Baseline是什么。文章的Baseline选的是DeepCluster。关于DeepCluster的描述,文章也总结的很到位:
DeepCluster [4]: alternate between clustering using the current feature representation, and use the cluster labels as pseudo-labels to train the feature representation.
翻译过来就是:得到特征后作无监督聚类得到伪标签,然后反过来训练特征网络。
作者在DeepCluster的基础上了,提出对原图像进行变换,然后对变换后图像得到的特征也进行聚类,得到另一组伪标签。然后
核心思想: 同时利用原图像特征聚类得到的伪标签 和 变换图像特征聚类得到的伪标签进行特征训练。
三 文章怎么做
我们来看伪代码。
第一个for循环 就是求特征,然后作K-means 聚类得到 伪标签 和 类中心。
我们主要看第二个for 循环,里面损失函数怎么计算的。
它损失函数主要通过L_clust 这个函数来实现的。
其实这个函数 就是我们熟知的 交叉熵函数,
它的三个参数, z y u, 分别是 特征,标签,各特征中心。
我们知道,交叉熵函数要计算特征在各类上的打分情况,这个特征中心就是用来打分的。根据 z u的相似度来打分。
既然我们知道L_clust就是个交叉熵,我们在来细看 各个L_clust在干啥。
L_within:有两个L_clust,within顾名思义,就是原图像、变换图像各自的伪标签监督自己;
L_cross: 上面两个伪标签 相互监督
以上,其他感兴趣自读