模型结构
Baseline
使用DeepcCluster的方法,交替使用表征特征进行聚类,然后用聚类标签做为伪标签来训练特征表示。使用一个嵌入函数,将每个像素转换为一个特征向量。然后使用分类器对每个像素进行操作。交替使用像素的特征的向量来进行聚类生成伪标签,然后再用伪标签来训练像素的特征表示。
Baseline 方法基于两个步骤:
1.使用当前的embedding和K-means方法聚类像素
其中 是embedding转换后的特征向量,[p]代表第p个像素。
表示第i个图像的第p个像素的标签。
第i个图像第p个元素的cluster的质心。
2.使用聚类标签和交叉熵损失来训练一个像素级别的分类器
(2)是最小化损失表达式,(3)是交叉熵损失
基于非参数的分类器
使用无参数的分类器
因为伪标签不断变化,所以未训练好的分类器会将噪声传入训练,所以解决办法是丢弃参数
根据像素到k-means产生的质心的距离来给予标签。
不变性与等效性
特征表示与聚合会产生在特征空间密集的集合,为了得到具有语义的分组,加入附加的归纳偏差。
具体为光度变化不变性和几何变换等方差。如果像素颜色轻微变化,标签不应该改变。
空间变化等方差:图像几何空间变化标签对应的变化。
在联合聚类和学习的框架中加入这个限制有点棘手,因为标签是根据特征映射的聚类产生的伪标签,因此对于特征输入的转换很敏感。因此为实现不变性与等方差,我们要做两件事情:1.不管特征转换如何,我们要生成相同的簇。2.预测的像素标签应该是期望的等方差。
对光度变化的不变性
和
是两个分别不同的对图像Xi的光度转换,经过光度转换在经过embedding特征函数生成两组特征向量。
分别对这两组特征向量进入聚类,从而得到两组伪标签和质心。有了这两组伪标签和质心后,我们采用两组损失函数。
因为假设是光度不变的,所以在(11)中使用一组的特征向量来匹配另一组向量的聚类的簇的质心和类标签。强制一组的特征向量来遵守另一组的聚类标签,通过对这两类方法的匹配来确保聚类对于光度变换的不变性。
空间变化等方差
空间变化等方差意思为,对于放大的图像的同一物体的分割应该与原始图像的同一物体的分割应该是相似的。上面两个式子分别表示为,光度变化后进行空间变化然后再进行提取特征向量,另一个是对光度变化以及特征提取向量以后再进行空间变化。
然后的操作类似于上面光度变化的操作,损失函数一部分来自于,每个视图与自己产生的标签进行交叉熵损失,另一部分损失来自于,两种不同的视角(view)下不同变化的交叉配对标签而产生的交叉熵损失。最后损失为这两种损失之和。
实验
details
使用在Image-Net上面预训练带有FPN(特征金字塔)的Resnet作为backbone。在feature map上应用了L2正则化。
损失平衡和过度聚类:
K1与K2是聚类的数量。