Semi-Supervised Semantic Segmentation with Cross-Consistency Training
论文地址:原文
领域基本现状
现存的半监督学习方法分为:
- 一致性训练
- pseudo 标签
- entropy minimization
- bootstrapping
- generative modeling
上述大多数方法用于图像分类领域,在语义分割领域大都使用对无标签数据产生pseudo 标签,将带pseudo 标签的数据和少量pixel-levellabel的图片一起训练
论文创新点
- 研究了多种扰动方法,并在此基础上提出了对于半监督语义分割的交叉一致性训练方法(cross-consistency training (CCT))
- 将此方法拓展到弱标签的数据
网络结构(训练方法)
基本过程
- 少量有标签的(pixel-level labeled)数据和大量无标签的(unlabeled)数据
- 少量有标签的(pixel-level labeled)数据和大量无标签的(unlabeled)数据
整个网络大致分为上下两个分支,共包含一个encoder, 一个main decoder和 K 个辅助decoder。
有标签的(pixel-level labeled)数据由上分支处理,无标签的数据由上下两个分支共同处理。
对于有标签的数据 \( X^l \), 按照常规方法,通过encoder和main decoder得到分割结果,并和标签 \(y\)对比,使用交叉熵函数计算监督损失 \(L_s\)
对于大量无标签的(unlabeled)数据,图片 \( x^u \) 经过和上分支共享的encoder得到 \( z \)
和main decoder,得到“参照”(main decoder的输出)。同时 \( z \) 分别经过K个扰动并进入对应的辅助decoder中,得到K个输出,这K个输出分别和main decoder的输出对比,并使用均方误差函数计算无监督损失 \(L_u \)
训练总损失:
其中,\(w_u \) 从0增长到固定值
扰动函数
提出三种不同类型的扰动函数:基于特征的扰动,基于预测的扰动以及随机扰动
基于特征的扰动
- 在样本上添加高斯分布的噪声
- 随机丢弃通道,mask部分活跃特征区域
基于预测的扰动
略
随机扰动
空间drop out
对于弱标签的探索
利用CAM将image-level label转换为pseudo label,并将此类数据先通过共享的encoder得到 \(z \),再分别受到K个扰动,通过对应的K个辅助decoder,得到K个输出,这K和输出分别和pseudo label对比,用交叉熵函数计算损失:
实验
Table1: CCT在数据集Pascal VOC上的表现
Table2: CCT在CS和CVD数据集上同时训练后分别测试的表现,n为labeled examples的数目**
Table3: CCT在CS和SUN上同时训练,并在CS和CVD上测试的表现
消融实验
1. CVD上的消融实验:对比不同的扰动方法对实验结果的影响
2. Pascal VOC上的消融实验:对比不同的扰动方法对实验结果的影响
Trick
用于避免过拟合———在训练阶段只计算像素对应概率低于闸值 \(n \) 的损失,其中\(n \)从 1/c 增大到0.9
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。