百度飞桨PaddlePaddle论文复现——StarGANv2论文解读
任务描述
多领域间的多样化图像转换(image-to-image translation)
- 生成图像多样化
- 多个域上具有可拓展性

相关介绍
生成对抗网络
- cGAN
- CycleGAN
- StarGAN

风格迁移
AdalN:
人脸对齐
Adaptive Wing Loss
作者动机
多领域
- 考虑到每个域中的不同风格样式的图像。设计和学习此类模型会变得很复杂,因为数据集中可能有大量style和domain
- 目前已有许多图像转换方法,但这些方法大豆仅考虑两个域之间的映射。如果有K个域,这些方法需要训练K(K-1)生成器来处理每个域之间的转换。

StarGan缺乏多样性 - StarGAN是最早的针对多领域更具拓展性、统一的框架之一,但仍然学习每个域的确定性映射,没有掌握数据分布的多样性(muti-model)本质。
- 该限制的原因是每个域都由余弦定义标签来表示。生成器接收固定的标签例如(一个one-hot向量)作为输入,在给定源图像下,每个域都产生相同输出。

论文方法
回顾StarGAN网络结构

StarGAN v2网络结构
StarGAN v2使用所提出的domain-specific style code替换域标签,前者可表示特定领域的各种风噶样式。引入两个模块,一个映射网络mapping network 和一个样式编码器style encoder

映射网络学习将随机高斯噪声转换为样式码(style code),而编码器则学习从给定的参考图像中提取样式码。两个模块都具有多个输出分支,每个分支都提供特定域样式码,训练时将选取其中对应domain的一个。
生成器Generator:将输入图像x转换成G(x,s),s为样式码style code,可以由映射网络F或者样式编码器E提供。使用adaptive instance normalization (AdalN)引入s。

生成器Generator:删除了上采样residual blocks中的所有shortcut,并使用adaptive wing based heatmap 添加了跳跃连接。

映射网络Mapping network:网络包括Kge输出分支,表示有K个域,给定隐变量z和对应的域y,生成样式码S=Fy(z)

样式编码器Style encoder:网络包括K个输出分支,表示有K个域,给定图像x及对应域y,编码器E提取x的样式码S=Fy(z)。D代表样式码S的维度。

鉴别器Discriminator:网络包括k个输出分支,表示有k个域,每个分支都学习一个二元分类,却定图像x是域y的真实图像还是G生成的伪图像,因此输出维度D设定为1,作为real、fake的分类。

StarGan v2训练目标
对抗目标 adversarial loss

风格重构

风格多样性

保留源图特性

总体目标

结果展示
AFHQ
发布了一个新的动物面孔数据集Animal FacesHQ(AFHQ)
其中包括512*512分辨率的15000张高质量图像。数据集包括猫,够和野生动物的三个域,每个域提供5000张图像。

量化评价
FID衡量真实图像和生成图像之间的差异性

LPIPS衡量生成图像的多样性


人类评价

结果展示



代码解读




任务总结
StarGAN v2 多领域间的多样化图像转换网络
- 包含四个模块:生成器、映射网络、样式编辑器、判别器
- 代码结构清晰,学会阅读代码中的注释
StarGANv2是一种先进的图像转换模型,通过引入样式编码器和映射网络,实现多域间图像多样化的转换。它克服了传统方法在处理多领域图像转换时的局限性,能够生成更丰富多样的图像风格。
4139





