美文网首页
Unpaired Image-to-Image Translat

Unpaired Image-to-Image Translat

作者: 晨光523152 | 来源:发表于2020-04-30 17:01 被阅读0次

    Abstract

    图像到图像的翻译是一类视觉和图形问题,其目标是使用对齐的图像对训练集来学习输入图像和输出图像之间的映射。

    但是,对于大多数任务,成对的图像是不可获取的。

    文中提出了一种在没有配对示例的情况下学习将图像从源域X转换为目标域Y的方法。

    目标是学习一个映射G:X\rightarrow Y,使得来自G(x)的图像的分布与D的分布通过对抗损失无法区分。

    因为G(x)是严重缺乏控制的,通过一个可逆映射F:Y\rightarrow X,并映入循环一致性损失来强迫F(G(x))\approx X(反之亦然)。

    1. Introduction

    在本文中,提出了一种方法,该方法可以学会这样的事情:在没有任何成对的训练示例的情况下,捕获一个图像集合的特殊特征并弄清楚如何将这些特征转化为另一个图像集合。

    这样的问题能被广泛的描述为图像到图像翻译。将图像从给定场景x的一种表示形式转换为另一种y形式,例如将灰度转换为颜色,将图像转换为语义标签,将边缘映射转换为照片。

    在计算机视觉,图像处理,计算摄影和图形方面的多年研究已在有监督的环境中产生了功能强大的翻译系统,其中,示例图片对\{x_{i},y_{i}\}_{i=1}^{N}都是可获得的,如Figure 2的左边部分。

    Figure 2

    然而获得成对的训练数据是困难的并且是昂贵的。

    因此,文章打算一个在没有成对的输入输出的示例子学习一个变换。

    学习一个映射G:X\rightarrow Y使得输出\hat{y} = G(x), x\in X\hat{y}与图像y\in Y是没有区别的。

    从理论上讲,这个目标可以使得\hat{y}上与经验分布p_{data}(y)匹配通常,这要求G是随机的)。最优G从而将域X转换为与Y相同分布的域\hat{Y}

    但是,这样的转换不能保证一个单独的输入x和输出y以一种有意义的方式进行配对 -- 很多种映射G可能会得到同样的分布\hat{y}

    此外,在实践中,发现很难单独优化对抗目标:标准程序通常会导致众所周知的模式崩溃问题,其中所有输入图像都映射到相同的输出图像,并且优化无法取得进展。

    为了解决上面的问题,利用翻译的特性
    应该是周期一致的,也就是说,如果我们将英语的句子翻译成法语,然后再将其从法语翻译成英语,那么我们应该返回原句。

    从数学上讲就是,G:X\rightarrow YF:Y\rightarrow XGF应该是对方的逆,都应该是双射。

    通过同时训练映射G和F并添加周期一致性损失来应用此结构假设,这会让F(G(x))\approx xG(F(y))\approx y,将这种损失与域XY上的对抗性损失结合起来,就可以得出我们完整的目标,即不成对的图像到图像的转换。

    2. Related Work

    2.1 Generative Adversarial Networks (GANS)

    GANS成功的关键是对抗损失的思想是让所生成的图像与真实照片无法区分开。
    这个损失对于图像生成任务特别有力量。

    2.2 Image-to-Image Translation

    本文的方法基于Isola等人的“ pix2pix”框架。它使用条件生成对抗网络来学习从输入到输出图像。

    与之前的工作的区别在于,本文学习的映射没有成对的训练样本。

    2.3 Unpaired Image-to-Image Translation

    其他几种方法也可以解决不成对的设置,其目标是关联两个数据域:XY

    与之前的方法不同,我们的公式化不依赖于输入和输出之间任何特定于任务的预定义相似性函数,也不假定输入和输出必须位于相同的低维嵌入空间中。这使本文的方法成为许多视觉和图形任务的通用解决方案。

    2.4 Cycle Consistency

    Zhou等人和Godard等人的工作和本文的工作很像,他们用循环一致损失作为一种方式来监督CNN的训练。

    在本文中,让相似的损失将GF推到彼此一致。

    2.5 Neural Style Transfer

    Neural Style Transfer 是另一种方式来实现图像到图像的翻译,它通过匹配预训练的深层特征的Gram矩阵统计信息,通过将一个图像的内容与另一图像(通常是绘画)的样式相结合来合成一幅新颖的图像。

    但是,本文的主要重点是通过尝试捕获高层外观结构之间的对应关系来学习两个图像集合之间的映射,而不是两个特定图像之间的映射。

    因此,本文的方法能够被用于别的任务。

    3. Formulation

    本文的目标是在域X和域Y里给定训练样本\{x_{i}\}_{i=1}^{N}(x\in X),y_{i}\in Y下,学习映射函数。其中,x\sim p_{data}(x),y\sim p_{data}(y)

    如Figure 3 (a)所示,模型包含两个映射G:X\rightarrow YF:Y\rightarrow X。除此之外,还有两个对抗性鉴别器D_{X}\;,\;D_{Y}

    • D_{X}旨在区分图片\{x\}和翻译后的图片\{F(y)\}
    • D_{Y}旨在区分图片\{y\}和翻译后的图片\{G(x)\}

    的目标包含两种类型的术语:对抗损失,用于使生成图像的分布与目标域中的数据分布匹配; 循环一致性损失,以防止学习的映射GF相互矛盾。

    Figure 3

    3.1 Adversarial Loss

    把对抗损失应用到映射函数里。

    对于G:X\rightarrow Y和其的鉴别器D_{Y},优化函数是:

    公式1

    其中,G试着生成图像G(x)(让G(x)于域Y中的图像看起来相似),D_{Y}旨在区分翻译后的样本G(x)和真实样本y

    G的目标是针对试图将其最大化的对手D最小化此目标,因此:

    优化目标1

    同样的,对于F:Y\rightarrow X和其的鉴别器D_{X}

    优化目标2

    3.2 Cycle Consistency Loss

    如果具有足够大的容量,则网络可以将同一组输入图像映射到目标域中图像的任何随机排列,其中任何获悉的映射都可以诱导出与目标分布相匹配的输出分布。
    因此,仅对抗损失不能保证学习的功能可以将单个输入x_{i}映射到所需的输出y_{i}

    作者认为学习的映射函数应该是周期一致的。
    如 Figure 3 (b) 所示:域X中的每个图片x,图像翻译循环能让x翻译回其原始图片,也就是说:
    x \rightarrow G(x) \rightarrow F(G(x)) \approx x
    这个被称为前向循环一致性(forward cycle consistency)。

    如 Figure 3 (c) 所示:域Y中的每个图片y,图像翻译循环能让y翻译回其原始图片,也就是说:
    y \rightarrow F(y) \rightarrow G(F(y)) \approx y
    这个被称为后向循环一致性(backward cycle consistency)。

    那么循环一致性损失函数为:

    公式2

    由循环一致性损失引起的行为可以在 Figure 4 中观察到:重建图像F(G(x))最终与输入图像x紧密匹配。

    Figure 4

    3.3 Full Objective

    全部目标函数为:

    公式3

    其中,\lambda控制两个目标的相对重要性。

    旨在解决:


    公式 4

    本文的模型可以被看作是训练两个“自动编码器”:

    • 自动编码器 F\circ G:X\rightarrow X
    • 自动编码器 G\circ F:Y\rightarrow Y

    但是,这些自动编码器各自具有特殊的内部结构:它们通过中间表示将图像映射到自身,该中间表示将图像转换为另一个域,这种设置也可以视为“对抗性自动编码器”的特例。

    4. Implementation

    采用Johnson等人的生成网络的体系结构,其在神经风格转移和超分辨率方面显示了令人印象深刻的结果。

    这个网络包含了两个步长为2的卷积层,一些残差块,两个步长为\frac{1}{2}的反卷积。

    对于128×128图像,我们使用6个块;对于256×256和更高分辨率的训练图像,我们使用9个块。并且使用实例规范化(instance normalization)。

    对于鉴别器网络,使用 70 x 70 PatchGANs。

    Training details

    运用最两种技术来稳定我们的模型训练程序:

    • 对于公式 1 中的 \mathcal{L}_{GAN},用最小二乘损失代替负对数似然目标。

      image.png
    • 为了减少模型振荡,遵循Shrivastava等人的策略,并使用生成的图像的历史记录而不是由最新生成器生成的图像来更新鉴别器。保留一个图像缓冲区来存储之前创建的50张图像

    对所有的实验,\lambda = 10,使用 Adam,batch_size = 1。
    学习率一开始是 0.0002。
    在前100个时期保持相同的学习率,并在接下来的100个时期将学习率线性衰减为零。

    参考:
    Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

    相关文章

      网友评论

          本文标题:Unpaired Image-to-Image Translat

          本文链接:https://www.haomeiwen.com/subject/izhuuhtx.html