跨数据协作学习的语义分割(2021CVPR)

**2021CVPR论文之跨数据协作学习的语义分割
我们今天就是要介绍一下这篇文章,我也是花费了一天的时间去看这篇论文,就我个人而言写的很不错,idea和行文方式都值得研究语义分割这一方向的我们学习。链接放下面,可以自取进行学习。
跨数据协作学习的语义分割

首先我们来看这篇文章的摘要:近的工作试图通过探索目标数据集上设计良好的体系结构来提高语义分割性能。 然而,由于不同数据集的固有分布变化,建立一个同时从各种数据集学习的统一系统仍然具有挑战性。 本文提出了一种简单、灵活、通用的语义分割方法,称为交叉数据集协作学习(CDCL)。 给定多个标记数据集,我们的目标是改进每个数据集上特征表示的泛化和识别。 具体来说,我们首先介绍了一个数据集-Aware块(DAB)家族作为网络的基本计算单元,它有助于捕获不同数据集的同质表示和异构统计。 其次,我们提出了一种数据集交替训练(DAT)机制,以有效地促进优化过程。我们对四个不同的数据集进行了广泛的评估,即城市景观,BDD100K,凸轮视频,和COCO的东西,与单数据集和跨数据集设置。实验结果表明,该方法的实现效果一致。
(Recent work attempts to improve semantic segmentation performance by exploring well-designed architectures on a target dataset. However, it remains challenging to build a unified system that simultaneously learns from various datasets due to the inherent distribution shift across different datasets. In this paper, we present a simple, flexible, and general method for semantic segmentation, termed Cross-Dataset Collaborative Learning (CDCL). Given multiple labeled datasets, we aim to improve the generalization and discrimination of feature representations on each dataset. Specifically, we first introduce a family of Dataset-Aware Blocks (DAB) as the fundamental computing units of the network, which help capture homogeneous representations and heterogeneous statistics across different datasets. Second, we propose a Dataset Alternation Training (DAT) mechanism to efficiently facilitate the optimization procedure. We conduct extensive evaluations on four diverse datasets, i.e., Cityscapes, BDD100K, CamVid,and COCO Stuff, with single-dataset and cross-dataset settings. Experimental results demonstrate our method consistently achieves notable improvements over prior single dataset and cross-dataset training methods without introducing extra FLOPs. Particularly, with the same architecture of PSPNet (ResNet-18), our method outperforms the single-dataset baseline by 5.65%, 6.57%, and 5.79% of mIoU on the validation sets of Cityscapes, BDD100K, CamVid, respectively. Code and models will be released)。
通过看文章的摘要我们可以知道这篇文章所要解决问题的方法是通过一个数据集作为基本计算单元去获得不同数据集的同质表示和统计数据集当中的异构,然后以Aware块(DAB)家族为基去将不同已标注的数据集进行交替训练,实现标题所说的跨数据协作学习。ps:数据集感知块(DAB)作为编码器-解码器体系结构的基本计算单元。DAB由一个数据集不变的卷积层、多个数据集特定的批处理规范化层和一个激活层组成。特别地,我们应用一个数据集共享的卷积层来提取表示。然后,我们使用数据集特定的批处理规范化层,按照相同的原则来激活。在每个块中,我们的BN层的数量与数据集的数量相同,并且每个BN层负责其相应的数据最高。交换机可自动根据数据源确定应激活哪个BN。DAB结构

我们前面可以知道编解码器被用作最流行的语义分割体系结构。 采用深度卷积神经网络作为编码器提取层次特征,并利用一个简单的子网络作为解码器来细化分割结果。 最近的工作(例如PSPNet和DeepLab)扩展了这种基本体系结构,以提高目标数据集上的分割性能。 对于不同的数据集,最简单的解决方案是分别训练和评估每个数据集的网络。 如果要这么做的话这个解决方案是很难受的,为什么这么说呢是因为它需要保存所有网络的所有参数,并独立地重复每个数据集的训练过程,除了仅在指定的数据集上训练网络外,基于细化的方法是提高目标数据集上精度的另一种直接方法。 具体来说,它首先在额外的辅助数据集上对网络进行预处理,然后在目标数据集上完成特征表示。 使用辅助数据有时有助于提高语义分割的性能。 然而,对于不同的数据集,总是需要重复训练过程,而不适用于联合优化,这是耗时的。 它还需要手动调整一些超参数(例如学习率)进行训练。 另一种解决方案是将多个数据集与相似的场景集成在一起,然后用混合数据训练网络。 然而,它需要对目标数据集的先验知识,因为总是采用标签映射来解决不同数据集之间的类重复和冲突。 此外,由于摄像机视点、场景等的差异,这种数据集合并策略可能会产生较差的性能。基于这个前提下,所以提出采用数据集之间进行交叉混合进行学习。

这幅图是不同数据集的比较。 (a)不同数据集样本的可视化。 (b)四个数据集上单数据集语义分割网络的BN和Conv分布。 第一行:BN的运行均值。 第二行:BN的运行方差。 第三行:Conv权重的L2范数。左边图显示了来自多个数据集的示例图像,我们可以看到不同的分割数据集差异很大(例如,场景和照明)。直接在多个数据集上进行训练是具有挑战性的。其次,我们分别分析了在四个不同的数据集(即城市景观、BDD100K、凸盘视频、COCO)上训练的四个网络的卷积和批处理归一化层的参数分布。图3(b)显示了这些参数分布。对于转换,权重保持相同的分布,这意味着转换层可以跨数据集共享。对于BN,我们观察到对于不同数据集的运行平均变量和运行变量的分布都有不同的形状。 例如,CityScape和BDD100K具有相似的场景,并且共享相同的标签空间,但它们的BN分布有显著的不同。但是在采用同一时间激活的时候,又有非常大的相似度。
我们应用了一个数据集感知块(DAB)作为编码器-解码器体系结构的基本计算单元。DAB由一个数据集不变的卷积层、多个数据集特定的批处理规范化层和一个激活层组成。图2说明了DAB的工作方式。特别地,我们应用一个数据集共享的卷积层来提取表示。然后,我们使用数据集特定的批处理规范化层,按照与[7]相同的原则来漂白激活。在每个块中,我们的BN层的数量与数据集的数量相同,并且每个BN层负责其相应的数据最高。交换机可自动根据数据源确定应激活哪个BN。同时期望每个BN通过分别估计批统计和学习仿射参数来捕获特定的数据集信息。 通过构建数据集共享的Conv和特定于数据集的BN层,DAB可以帮助捕获不同数据集的同质表示和异构统计。 此外,我们还利用数据集感知分类器进行最终预测,因为不同的数据集有不同的类别。
同时为了减少不同特征映射分布差异引起的训练不稳定性,引入了一种数据集交替训练(DAT)机制,用于在交叉数据集设置中有效地优化网络。在每次迭代中,我们用单个数据集的样本构造批处理,并通过正向传播计算相应的损失。 在下一次迭代中,我们从另一个数据集选择样本,以交替的方式构建批处理。 在获得每个数据集的损失后,我们积累它们,并为每个数据集流反向传播整个梯度。 我们重复这样的培训程序,以实现网络融合。 我们还尝试了DAT更大的迭代间隔t,这意味着训练一个数据集t次,然后再训练另一次。 我们发现t=1工作最好,并在下面的实验中给出了详细的烧蚀结果。 我们从两个方面总结了DAT的优点。首先,在每次迭代中反向传播每个数据集的丢失将会导致训练的不稳定性。DAT可以通过优化从不同数据集计算出的整个损失来减轻这个问题。
采用基线方法,使用传统的多类交叉熵损失进行训练。我们的跨数据集训练的最终目标函数可以表述如下,并且可以将端到端最小化。
L = − ∑ i = 1 N ∑ j = 1 M w i y j i log ⁡ ( p j i ) L=-\sum_{i=1}^{N} \sum_{j=1}^{M} w^{i} y_{j}^{i} \log \left(p_{j}^{i}\right) L=i=1Nj=1Mwiyjilog(pji)
其中,N表示数据集的数目,M表示图像像素的数目,Pij和Yij分别表示第i个数据集上第j个像素的预测概率和相应的标签。
实验结果我在这里就不过多描述了,感兴趣的同学可以查看前面链接直接对标论文结果来看。总之这是对于数据集动刀来说非常好的一篇文章。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值