基于PaddlePaddle的飞桨论文解读:StarGAN v2: Diverse Image Synthesis for Multiple Domains

本文主要是介绍基于PaddlePaddle的飞桨论文解读:StarGAN v2: Diverse Image Synthesis for Multiple Domains,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 

摘要

StarGAN v2网络架构

实验 

1.Baselines

2.数据集

3.评价指标

实验结果分析

1.个别成分分析

2.多种图像合成方法的比较

结论

模型代码(model.py)  

主体代码(main.py)

总结


摘要

一个好的图像到图像的翻译模型应该学习不同视觉域之间的映射,同时满足以下特性:1)生成图像的多样性   2)多域的可伸缩性。现有的方法解决了这两个问题中的任何一个,其多样性有限,或者所有领域都有多个模型。我们提出了starganv2,一个单一的框架,它可以同时处理这两个问题,并在基线上显示出显著改进的结果。在CelebAHQ和一个新的动物面孔数据集(AFHQ)上的实验验证了我们在视觉质量、多样性和可扩展性方面的优势。为了更好地评估图像到图像的转换模型,我们发布了AFHQ,高质量的动物脸,具有较大的域间和域内差异。


StarGAN v2网络架构

  1. Generator
  2. Mapping network
  3. Style encoder 
  4. Discriminator


实验 

1.Baselines

我们使用MUNIT、DRIT和MSGAN作为Baselines,它们都学习两个域之间的多模映射。对于多域比较,我们为每对图像域多次训练这些模型。我们还将我们的方法与StarGAN进行了比较,StarGAN使用单个生成器学习多个域之间的映射。所有Baselines都是使用作者提供的实现进行训练的。

 

2.数据集

我们评估CelebA HQ上的StarGAN v2和我们新的AFHQ数据集,我们将CelebAHQ分为两个领域:雄性和雌性;AFHQ分为三个领域:猫、狗和野生动物。除域名标签外,我们不使用任何附加信息(如CelebA HQ的面部特征或AFHQ的品种),并让模型在没有监督的情况下学习样式等信息。为了公平比较,所有的图像都被调整到256×256分辨率,这是baseline中使用的最高分辨率。

 

3.评价指标

我们使用Frechet inception distance (FID)和learning perceptual image patch similarity (LPIPS)来评估生成图像的视觉质量和多样性。我们为数据集中的每对图像域计算FID和LPIPS,并报告它们的平均值。


实验结果分析

1.个别成分分析

使用CelebA-HQ来评估添加到baseline的StarGAN中的单个成分。表格给出了几种配置的FID和LPIPS,其中每个组件都是在StarGAN上累积添加的。每个配置的输入图像和相应生成的图像如图所示。baseline设置对应于StarGAN的基本设置,使用WGAN-GP、ACGAN鉴别器、深度级联为生成器提供目标域信息。如图所示,通过在输入图像上应用化妆品,原始StarGAN只产生一个局部变化。

我们首先通过用多任务鉴别器替换ACGAN鉴别器来改进baseline,允许生成器转换输入图像的全局结构,并且通过应用R1正则化并将深度连接转换为自适应实例规范化(AdaIN),进一步提高了训练的稳定性并构造了一个新的基线(C)。

 

 

 


 

 

2.多种图像合成方法的比较

  • 潜在引导合成

CelebAHQ与baseline模型相比,我们的方法合成的图像具有更高的视觉质量。此外,我们的方法是唯一能够成功地改变源图像的整个发型的模型,这需要非常大的努力(例如生成耳朵)。对于变化较大的AFHQ,基线的性能大大降低,而我们的方法仍然可以生成高质量和多样化的图像。

  • 参考指导合成

从目标域中抽取测试图像,并将它们馈送给每种方法的编码器网络。对于CelebA HQ,我们的方法成功地渲染了独特的样式(例如刘海、胡须、化妆品和发型),而其他方法大多与参考图像的颜色分布相匹配。对于更具挑战性的AFHQ,baseline模型会经历一个大的域转移。它们很难反映每个参考图像的风格,只与域匹配。相比之下,该模型渲染每个参考图像的不同风格(例如品

这篇关于基于PaddlePaddle的飞桨论文解读:StarGAN v2: Diverse Image Synthesis for Multiple Domains的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/700542

相关文章

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用