前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >StarGAN第2版:多域多样性图像生成

StarGAN第2版:多域多样性图像生成

作者头像
公众号机器学习与AI生成创作
发布2020-06-11 15:50:31
1.1K0
发布2020-06-11 15:50:31
举报

前言

  • StarGAN v2: Diverse Image Synthesis for Multiple Domains (多域多样性图像合成)
  • https://github.com/clovaai/stargan-v2
  • https://arxiv.org/abs/1912.01865
  • CVPR 2020

1 概要

  • 一个好的图像转换模型应可以学习不同图像域间的映射,同时:1)生成图像多样化;2)在多个域上具有可扩展性。现有方法则无法很好同时解决上述问题。
  • 提出StarGAN v2,一个可同时解决上述问题、并在基线上表现出明显改善效果的单一框架。在CelebAHQ和新的动物面孔数据集(AFHQ)上进行视觉质量、多样性和可扩展性方面验证其有效性。

2 背景

  • 图像转换旨在学习不同视觉域之间的映射。这里,domain表示一组图像,被分组的依据可以是视觉上具有某种属性/类别。而每幅图像有独特的外观,称为样式/风格style。例如,可根据人的性别设置图像域domain,在这种情况下,风格样式包括妆容类别、胡须和发型等。
  • 理想的图像转换方法应能合成:考虑到每个域中的不同风格样式的图像。但设计和学习此类模型会变得很复杂,因为数据集中可能有大量的style和domain。
  • 针对style的多样性,目前已有许多图像转换方法。但这些方法大都仅考虑两个域之间的映射,例如K个域,这些方法需要训练K(K-1)生成器来处理每个域与每个域之间的转换,限制了它们的实际使用。
  • 为此,一些研究提出更具扩展性、统一的框架,StarGAN便是最早的模型之一,它使用一个生成器来学习所有可用域间的映射。生成器将域标签作为附加输入,并将图像转换到相应的域。但StarGAN仍然学习每个域的确定性映射,没有捕获数据分布的多模式;该限制的来由是每个域都由预定标签指示引导。注意到生成器接收固定的标签(例如one-hot向量)作为输入,在给定源图像下,每个域都产生相同输出。

3 网络结构

  • 本文提出的StarGAN v2,是一种可扩展的方法,可跨多个域生成不同的图像。基于StarGAN,使用所提出的domain-specific style code替换域标签,前者可表示特定领域的各种风格样式。为此,引入两个模块,一个映射网络mapping network和一个样式编码器stye encoder。
  • 映射网络学习将随机高斯噪声转换为样式码(style code),而编码器则学习从给定的参考图像中提取样式码。考虑到多个域,两个模块都具有多个输出分支,每个分支都提供特定域的样式码。最后,利用这些样式码,生成器将学习在多个域上合成各种图像。
  • 生成器 Generator:将输入图像
x

转换到输出图像

G(x,s)

,后者体现的是指定domain的风格码

s

,该码由映射网络F或样式编码器E提供。其中,使用的是自适应实例归一化(AdaIN)将s注入G。s被设计为表示特定域y的样式,这消除了向G提供y的必要性,并使G可以合成所有域的图像。

  • 映射网络 Mapping network:给定一个潜码z和一个域y,映射网络F生成样式码
\mathbf{s}=F_{y}(\mathbf{z})

。F由具有多个输出分支的MLP组成,可为所有可用域提供样式码。F可以通过对潜在向量z∈Z和域y∈Y随机采样来产生多种样式码。多任务体系结构使F可以高效地学习所有域的样式表示。

  • 样式编码器 Style encoder:给定图像x及其对应的域y,编码器E提取x的样式码
\mathbf{s}=E_{y}(\mathbf{x})

。与F相似,样式编码器E受益于多任务学习设置, 可使用不同的参考图像生成不同的样式码。这可以让G合成反映参考图像x的样式s的输出图像。

  • 鉴别器 Discriminator:一个多任务鉴别器,由多个输出分支组成。每个分支
D_y

学习二元分类,确定图像x是域y的真实图像还是G生成的伪图像

G(x,s)

4 损失函数

  • 对抗约束

训练中,随机从潜码

\mathbf{z} \in \mathcal{Z}

和目标域

\tilde{y} \in \mathcal{Y}

采样,生成一个目标样式码

\widetilde{\mathbf{s}}=F_{\widetilde{y}}(\mathbf{z})

,生成器接收图像

x

\widetilde{\mathbf{s}}

作为输入,并输出图像

G(\mathbf{x}, \widetilde{\mathbf{S}})

\begin{aligned} \mathcal{L}_{a d v}=& \mathbb{E}_{\mathbf{x}, y}\left[\log D_{y}(\mathbf{x})\right]+\\ & \mathbb{E}_{\mathbf{x}, \tilde{y}, \mathbf{z}}\left[\log \left(1-D_{\tilde{y}}(G(\mathbf{x}, \widetilde{\mathbf{s}}))\right)\right] \end{aligned}
  • 目标样式重建约束
\mathcal{L}_{s t y}=\mathbb{E}_{\mathbf{x}, \widetilde{y}, \mathbf{z}}\left[\left\|\widetilde{\mathbf{s}}-E_{\widetilde{y}}(G(\mathbf{x}, \widetilde{\mathbf{s}}))\right\|_{1}\right]
  • 目标样式多样性约束

最大化:

\mathcal{L}_{d s}=\mathbb{E}_{\mathbf{x}, \widetilde{y}, \mathbf{z}_{1}, \mathbf{z}_{2}}\left[\left\|G\left(\mathbf{x}, \widetilde{\mathbf{s}}_{1}\right)-G\left(\mathbf{x}, \widetilde{\mathbf{s}}_{2}\right)\right\|_{1}\right]

其中,F基于潜码

z_1

z_2

生成的目标样式码

\widetilde{\mathbf{s}}_{1}

\widetilde{\mathbf{s}}_{2}
  • 源特性保留约束
\mathcal{L}_{c y c}=\mathbb{E}_{\mathbf{x}, y, \tilde{y}, \mathbf{z}}\left[\|\mathbf{x}-G(G(\mathbf{x}, \widetilde{\mathbf{s}}), \hat{\mathbf{s}})\|_{1}\right]

其中,

\hat{\mathbf{s}}=E_{y}(\mathbf{x})

是输入图像

x

、以及它对应的源图像域

y

之下的样式码。

  • 整体(优化损失)
\begin{array}{rl} \min _{G, F, E} \max _{D} & \mathcal{L}_{a d v}+\lambda_{s t y} \mathcal{L}_{s t y} \\ & -\lambda_{d s} \mathcal{L}_{d s}+\lambda_{c y c} \mathcal{L}_{c y c} \end{array}

5 实验

  • (新)数据集和评估指标

发布了一个新的动物面孔数据集Animal FacesHQ(AFHQ),其中包括512×512分辨率的15,000张高质量图像。数据集包括猫,狗和野生动物的三个域,每个域提供5000张图像。通过具有多个(三个)域和每个域不同品种(≥8个)的不同图像,AFHQ设置了更具挑战性的图像间转换问题。对每个域,论文选择500张图像作为测试集,剩余的图像作为训练集。图像都是从Flickr1和png2网站收集(具有许可),所有图像垂直和水平对齐、以眼睛居中,低质量的图像被人为丢弃,已在https://github.com/clovaai/stargan-v2提供。采用的量化评估指标:FID、LPIPS

  • 训练设置

6 (部分)实验结果

7 结论

提出StarGAN v2解决了图像转换的两个主要挑战;将一个域的图像转换为目标域的多种图像,并支持多个目标域。实验结果表明,所提方法可以跨多个域生成样式/风格丰富的图像,并明显优于以前的方法。此外,还发布了一个新的动物面孔数据集(AFHQ)。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与AI生成创作 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 概要
  • 2 背景
  • 3 网络结构
  • 4 损失函数
  • 5 实验
  • 6 (部分)实验结果
  • 7 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档