Category-level Adversaries for Semantics Consistent Domain Adaptation

这是CVPR 2019的一片论文,讲语义分割中的域适应

摘要

域适应在语义分割中的关键问题在于 减少域漂移(domain shift)。一般,我们对齐两个域之间的分布来解决这个关键问题。问题是,这种全局性的对齐两个域的分布,并没有考虑类别级别的对齐。这种忽略会造成:目标域中 原本已经对齐的类别,经过训练后,映射到错误的类别。

基于以上问题,作者提出类别级别的对抗网络,目标是在全局对齐的过程中,保持局部的语义不变性
在这里插入图片描述

介绍

语义分割是指在一张图片上给每个像素都打上类别标签。要实现这样的模型,人工标注成本太高。为了省点钱,我们采用合成数据集训练。比如用游戏中的街景数据集训练街景的语义分割模型。问题在于,该模型在真实场景中并不好使。所以采用域适应的策略,解决标注数据缺少的问题。

域适应的关键问题在于减少源域和目标域之间的差异。目前主要有两类方法:

  1. 通过缩小某种距离 来减少源域和目标域特征之间的差异
  2. 通过gan学习域不变的特征

上述方法都有一个很明显的缺陷:
当生成器网络能完美地骗过判别器网络时,两个域的全局边缘分布几乎完全对齐了。但是此时,忽略了局部的联合分布差异。目标域有些类别的特征分布已经对齐了。但是最小化对抗损失函数之后,会将该特征映射到错误的类别。

作者为了解决该问题提出了一下算法:

算法

问题背景

源域:数据 X S X_S XS,标签 Y S Y_S YS
目标域:数据 X T X_T XT,无标签
目标:训练一个模型G,能正确分类目标域的数据

网络架构

在这里插入图片描述
整个网络由生成器G 和判别器D组成。G是一个由任意FCN为基础的语义分割网络。D是一个以CNN为基础的二分类网络。其中G又可以细分为:特征提取器E和两个分类器 C 1 , C 2 C_1 , C_2 C1,C2。结构示意图如图片所示,可简写为

  • G : FCN
    • E
    • C 1 , C 2 C_1 , C_2 C1,C2
  • D : CNN

相关工作

论文采用了两种思想:对抗(GAN)和协同训练(co-traning)

GAN

GAN在迁移学习中的应用形式:训练生成器和判别器。生成器用来产生域不变的特征。判别器用来判别 特征属于哪个域.
本文中,生成器是G,判别器是D

协同训练(co-traning)

协同训练是一种半监督模型,针对标注数据很少的情况。协同训练的基本假设:数据有两种特征表达,并且这两种表达都可以对数据进行分类。即可以从两个不同的视角(view)看待数据。

假设数据有两种视角: ( x 1 , y 1 )    ,    ( x 2 , y 2 ) (x_1,y_1)\;,\;(x_2,y_2) (x1,y1),(x2,y2),其中 x x x是特征, y y y是标签。

  1. 利用标注数据的不同视角 ( x 1 , y 1 )    ,    ( x 2 , y 2 ) (x_1,y_1)\;,\;(x_2,y_2) (x1,y1),(x2,y2),可以得到两个不同的模型 f 1    ,    f 2 f_1\;,\;f_2 f1,f2
  2. 训练完之后用F1、F2 为目标域未标注数据生成伪标签,并将置信度高的样本加入到对方的训练集中

在本篇论文中的网络架构中,分类器 C 1 , C 2 C_1 , C_2 C1,C2充当协同训练的模型 f 1    ,    f 2 f_1\;,\;f_2 f1,f2
分类器 C 1 C_1 C1预测的语义分割图记为 p 1 p_1 p1,分类器 C 2 C_2 C2预测的语义分割图记为 p 2 p_2 p2。最终的语义分割图记为 p = p 1 + p 2 p=p_1+p_2 p=p1+p2

训练流程

在训练中,一共包含三个 loss:语义损失函数 (segmentation loss),差异损失函数 (discrepancy loss),自适应的对抗损失函数 (self-adaptive adversarial loss)

首先是,源域图片经过生成器G,其中包括特征提取器E,和两个分类器 C 1 , C 2 C_1 , C_2 C1,C2,得到预测结果——语义分割图 p p p。这里产生一个语义损失函数 (segmentation loss):
$$$$

然后,我们考虑标准的协同训练流程。为了得到同一张图片的两种表达,我们需要对分类器 C 1 , C 2 C_1 , C_2 C1,C2的参数进行约束。
特征提取器E,提取所需的所有参数,而两个分类器分别选取一部分,进行像素分类。为了使得两个分类器选取的特征尽可能不一样,这里采用最小化卷积层参数的余弦相似度函数,即差异损失函数 ( discrepancy loss)
在这里插入图片描述
其中,w是分类器的卷积层的参数展开

最后考虑对抗过程。源域和目标域的图像经过整个网络,产生一个自适应的对抗损失函数
在这里插入图片描述
所以最终的训练损失函数为
在这里插入图片描述

损失函数分析

在网络中, C 1 , C 2 C_1 , C_2 C1,C2的作用是:

  1. 期望两个分类器抓取不同的特征
  2. 对由E提取的任意特征,两个分类函数的输出一样

差异损失函数 ( discrepancy loss),即公式4的作用是第一项
语义损失函数 (segmentation loss)和自适应的对抗损失函数 (self-adaptive adversarial loss)的作用是第二项

本文最大的贡献点在于:在传统的对抗loss中加入了自适应的权重
在这里插入图片描述
如果这一项很大,则表明:该类别的特征在两个域上面并没有对齐。所以,我们鼓励生成器去忽悠判别器,从而减小该类别两个域之间的差异
如果这一项很小,则表明:该类别特征在两个域上面已经对齐了,我们不需要对生成器做过大的修改。
从而我们达到了类别级别的特征对齐

实验

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值