Press "Enter" to skip to content

简介 – Domain Bridge for Unpaired Image-to-Image Translation and Unsupervised Domain Adaptation

Arxiv preprint, Submitted on 23 Oct 2019.

 

Paper link: https://arxiv.org/abs/1910.10563

 

Github: 2019.11.15 尚无。

 

简介

 

作者基于现存的 Unsupervised Image-to-image translation 的架构进行改良,

 

首先提出现存的模型只会转换全局的特徵,

 

以将晴天图片转换至雨天为例,

 

以往的模型会将整张图片的色调调暗来表示雨天,

 

但对于一些雨天的细节特徵却没有做好(e.g., 车窗上的水滴)。

 

而本文提出可以利用网路上的资料来加强特定特徵的细节部分,

 

可获得更为真实的图片并将此用于训练,

 

可达到 Domain bridge 的作用。

 

并近一步将此图像转换的方法用于 Unsupervised Domain Adaptation (UDA) 的任务,

 

在 UDA 着名的 GTA5 to Cityscapes 任务中也达到不错的成绩。

 

本文提出的贡献为

Image-to-Image:使用网路爬虫(注1)获得更多的相同类型资料,增加资料集的多样性。此处本文的方法称作 Domain Bridge。
Image-to-Image with UDA:近年来 UDA 的趋势是先採用 Image-to-Image 来缓解 Domain shift 的问题,但是他们往往因为记忆体考量,先将整个资料集做 Image-to-Image(将每张图片都转到 Target domain – 1 转 1),而本文不同之处是在于使用了 Multimodal 的图像转换(注2),因此可在训练过程中将同一张图片随机生成不同样式的图片(1 转 N),可当作数据增强。此处本文提出方法为 Online Multimodal Style-sampling(OMS)。
UDA:提出新的 Self-supervision 的策略,基本上概念就是 Self-training,如果 Target Domain 的分类出来的信心水準高的话,我们可以把它当作是 GT 改为使用 Supervised 的训练。此处本文提出方法为 Weighted Pseudo-Labels(WPL)。

Note:

注1: 在本文中虽说藉由 Web Crawler 网路爬虫增加资料,但是实验是用较简单的方式,将 Youtube 中的 5 部影片作为额外的训练,与想像中的的 Online learning 有所不同。这边也给定较为严格的条件:要从特定频道去抓影片以避免每抓一部影片就多一个 Domain。
注2: Multimodal 的架构是採用 ECCV’18 MUNIT-Multimodal Unsupervised Image-to-Image Translation

 

 

方法

 

Domain Bridge

 

以 Image-to-Image 的模型来说,

 

有一个常见概念是 Latent space,

 

代表这两张图片可能有某些特徵是共享的,

 

举例来说要做狗和猫的图像转换,

 

那他们之间的 Latent space 可能是眼睛、鼻子、嘴巴。

 

这边以 ECCV’18 MUNIT-Multimodal Unsupervised Image-to-Image Translation 的图片做介绍。

 

 

因此我们可以将这些 Latent space 分为我们有兴趣的天气 Weather(W) 相关与其他无关的 Others(O)。

 

 

备注:原文的讲解是 K 为 Fine-grained domains,但我改用 Latent space 做解说。

 

将乾净的图片(X)以及下雨的图片(Y)各自拥有的 Latent space 定义如下:

 

 

基于 Image-to-Image 的模型稳定学习,

 

有办法正确的转换图片至我们要的效果(乾净 <=> 下雨),

 

代表着模型可以学会各自资料集(X, Y)的主要不同(此处为天气 W),

 

这时候模型是不断地朝着要变的更像另一个资料集,

 

说起来是好,但这样子我们再看一下我们刚刚定义的 K。

 

在这种情况下,可能对于天气的因素 Kw 已经学得很好了,

 

再接下来他学的都是 Ko 去拟合你手上现有的两个资料集(X, Y),

 

而这些可能不是我们最关心的,

 

如道路、车子的细节之类的。

 

因此提出我们可以基于天气的条件,

 

去获得一些外部的资料源(此处是 Youtube 的影片) – Z,

 

本文给定较为严格的条件,去抓了 5 部影片下来。 好天气、正常的雨、大雨。

 

藉由此资料源来让我们可以再多学到一点 Kw 天气的因素,

 

这边所给定的假设是当我们新增的外部资料源,

 

在这些新给定的样本是在”某些筛选条件”之下,

 

在此设定之下对于多数的特徵 Ko 会获得更多相似的样本,

 

这使得 KL-Divergence(Pxo, Pyo) 变小,

 

但是对于 Kw 来说它经由新给定的样本还是面临着挑战(乾净的图片以及下雨),

 

甚至是原文的设定不只找下雨的影片、还找了下大雨的影片。

 

这时候模型就会专注在 Kw 的部分学习,

 

学会 Kw 中的一些细节,如水滴等等。

 

其实这也是这篇论文有点让人困惑的部分, 要有前提的去选择样本, 这样添加样本这件事就变得很难在实务上进行。

 

基于上方的种种假设,

 

我们对 Z 外部资料进行定义:

 

 

 

最终所提出的 Domain Bridge 想法可用下方这张图表示

 

 

Unsupervised Domain Adaptation(UDA)

 

 

上图为本文的 UDA 架构,

 

概念是我们会有两个资料集

Source domain (橘黄色) – 有 Label(GT)
Target domain (浅蓝色) – 没有 Label

我们会希望使用 Source domain + Target domain 所训练出的模型可以应用在 Target domain 上。

 

那以往这问题是这两个资料集间会存在着 Domain Shift 的问题,

 

单纯使用 Source domain 去做 Supervised learning 的模型当应用在 Target domain 时,

 

其準确度会降低很多。

 

步骤大概如下

 

 

    1. 输入 Source domain 的图片至 Semantic segmentation 的模型去做 Supervised learning

因 Source domain 有 GT label。

使用 Source domain 的图片去做进行图像画风转换成 Target domain 的样子(以此任务为例,就是将乾净的图片转成下雨的图片,即为中间 Target domain 的橘色框框处) 之后再进行 Supervised learning(同 1.)

此处的构想是基于图像转换过后,图片的内容不变只有画风会转变,所以可以使用 Source domain 有 GT label。(理想上是这样,但事实上转换过去还是会有点差),值得注意的是因为我们的图像生成模型是 Multimodal,因此可以将同一张图片生成出不同画风/雨量大小的影像。本文将在训练过程中生成不同的图片称作 Online Multimodal Style-sampling (OMS)

使用 Target domain 的图片至 Semantic segmentation 的模型进行 Self-supervised learning

这边的想法是 Target domain 的资料集中没有 GT,因此我们没办法进行 Supervised learning,但是我们可以选择一些信心程度高的 Pixel 来当作 GT 进行训练,而这部分的难度在于说要如何订定信心程度 α – (Pixel confidence > α)。 本文将此称作 Weighted Pseudo-Labels(WPL)

 

 

Online Multimodal Style-sampling (OMS)

 

这部分就是在说训练过程中,会使用 MUNIT 的 Multimodal 特性,将同一张图片生成出不同样子,让训练资料的多样性更多。

 

Weighted Pseudo-Labels(WPL)

 

本文提出的 Self-supervised 策略,

 

一开始会先初始化设定 α,实验设为 0.8,

 

因为一开始模型还不够稳定,

 

所以 Threshold 会调高一点,

 

等之后模型稳定后,会逐渐降低 α。

 

我们可以看到下图 Weights 的白色部分。

 

 

下面就简单的数学式,

 

找找看该 Pixel 所预测的哪个类别信心分数最高,

 

然后比较看看有没有 >= α

 

 

 

然后结合这个权重 w 当作 Loss,

 

 

就是 Cross-entropy 再结合 w。

 

只是说我们要如何让 α 逐渐的下降呢?

 

简单来说我们的 α 其实是一个参数(parameter),

 

所以可以被模型自动地学习,

 

只是说我们希望之后的 α 会慢慢的降下去直到平衡。

 

 

 

最终使用的时候因 Self-supervised learning 不见得这幺的可靠,

 

所以 Lss 给定 Ptp (0.75),

 

就是说学习的时候大概只有 25% 的训练会使用 Lss 做训练。

 

 

实验结果

 

细节不讲了有兴趣的自己去看!!

 

 

 

下面这两个表格的数据其实挺有意思的。

 

 

 

参考资料:

 

Domain Bridge for Unpaired Image-to-Image Translation and Unsupervised Domain Adaptation.

 

ECCV’18 MUNIT-Multimodal Unsupervised Image-to-Image Translation

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注