(ECCV2020) Classes Matter: A Fine-grained Adversarial Approach to Cross-domain Semantic Segmentation 论文笔记
本文针对图像分割问题的无监督领域自适应方法,提出一种对齐条件概率分布的新方法。
本文贡献
- 提出一种跨领域图像分割新的对抗学习的结构
- 该结构在类别层面对齐源域和目标域的特征进行对齐
- 在一些数据集上评估了该方法的优越性
(嗯,就讲故事呗,这三个贡献没啥新颖的东西,很多论文都是这三个(高端点的会加个理论证明了方法的优越性/可行性。
模型结构
模型结构中包含,特征提取器 F F F,分类器 C C C,类别判别器 D D D(图中的Fine-grained Domain Discriminator),这部分是这篇文章的重点部分。
损失函数
所有方法中都包含的分类损失
L s e g = − ∑ i = 1 n s ∑ i = k K y i k s l o g ( p i k s ) L_{seg}=-\sum\limits_{i=1}^{n_s}\sum\limits_{i=k}^Ky_{ik}^slog(p_{ik}^s) Lseg=−i=1∑nsi=k∑Kyikslog(piks)
传统的交叉熵分类损失
域判别损失,加入了类别层面的对齐,所以相比于传统的域损失函数,此处的损失函数为
L D = − ∑ i = 1 n s ∑ k = 1 K a i k s l o g ( P ( d = 0 , c = k ∣ f i ) ) − ∑ j = 1 n t ∑ k = 1 K a j k t l o g ( P ( d = 1 , c = k ∣ f j ) ) L_D=-\sum\limits_{i=1}^{n_s}\sum\limits_{k=1}^{K}a_{ik}^slog(P(d=0,c=k|f_i))-\sum\limits_{j=1}^{n_t}\sum\limits_{k=1}^{K}a_{jk}^tlog(P(d=1,c=k|f_j)) LD=−i=1∑nsk=1∑Kaikslog(P(d=0,c=k∣fi))−j=1∑ntk=1∑Kajktlog(P(d=1,c=k∣fj))
式子中的 K K K表示类别数, f i f_i fi表示源域样本 x i x_i xi的特征向量, f j f_j fj表示目标域样本 x j x_j xj的特征向量。
式子中的 a a a为soft label,在模型结构中是Encoding module的输出,后面会提到。
这个式子用于优化类别判别器 D D D, D D D的作用是当给定一个特征 f f f,类别判别器 D D D不仅需要判断出这个 f f f来自源域还是目标域,同时还要判断出这个特征 f f f来自哪一类
具体实现文中没有提及,给出的代码中,实现方法是将类别数目 × 2 \times2 ×2。这样输出的logits数目也 × 2 \times2 ×2,softmax后。前半表示 P ( d = 0 , c = k ) P(d=0,c=k) P(d=0,c=k),后半表示 P ( d = 1 , c = k ) P(d=1,c=k) P(d=1,c=k)
与传统对抗学习一样,除了优化判别器,还要优化特征提取器,并与判别器新城对抗
L a d v = − ∑ j = 1 n t ∑ k = 1 K a j k t l o g ( P ( d = 0 , c = k ∣ f j ) ) L_{adv}=-\sum\limits_{j=1}^{n_t}\sum\limits_{k=1}^{K}a_{jk}^tlog(P(d=0,c=k|f_j)) Ladv=−j=1∑ntk=1∑Kajktlog(P(d=0,c=k∣fj))
soft label
最早的没有对齐条件概率分布的对抗方法中,标签只含有领域信息,即图中的Binary domain labels。源域为0,目标域为1。
之后有一些使用hard label进行对齐,其中源域数据直接使用给的标签,目标域数据使用分类器给出的预测作为伪标签,在本文中即
a k = { 1 k = a r g m a x k p k 0 o t h e r w i s e a_k=\left\{ \begin{aligned} &1 \ \ \ &k=argmax_k \ p_k \\ &0 & \ \ \ \ otherwise \end{aligned} \right. ak={1 0k=argmaxk pk otherwise
本文使用的是soft labels的方法,不直接使用one hot那样的形式做标签(one-hot形式就是其中一个label为 1 1 1,其他都是 0 0 0)
a k = e x p ( z k T ) ∑ j = 1 K e x p ( z j T ) a_k=\frac{exp(\frac{z_k}{T})}{\sum_{j=1}^Kexp(\frac{z_j}{T})} ak=∑j=1Kexp(Tzj)exp(Tzk)
就是将分类器给出的logits加权softmax下作为判别器的输入用于对齐条件概率分布。T是一个温度参数,T越大,softmax结果输出越平均。这个是鼓励soft label分布跨类别,让soft label不要变得和hard label一样。
总结
本文主要就是将soft label应用到域判别器中,用于对齐源域和目标域的数据特征的条件概率分布。