近期 NVIDIA 发布的 StyleGAN2 对于 GAN 用于图像生成又推进了一把,同时也是赚足了眼球,然而同期下另一篇图像翻译任务下的改进版模型却显得有点默默无闻了,这就是今天我们要介绍的 StarGAN v2。模型整体在 StarGAN [1] 的基础上解决了图像翻译任务中源域的图像转换为目标域的多种图像,并支持多个目标域的问题,实现了较好的源域图像到目标域图像的转换,值得一说的是文章还公布了一个动物面部图像数据集,即将发布于作者的 Github 下。
作者丨武广
学校丨合肥工业大学硕士生
研究方向丨图像生成
论文引入
图像翻译旨在学习不同视觉域之间的映射,域这个概念在视觉下表示一组图像,这组图像可以将它们分组为视觉上独特的类别,比如一个域全是由狗的图像构成,我们称这个就是一个域,在这个域下全是狗的图像,但是狗又可以细分为拉布拉多、斗牛犬、巴哥、柴犬等这些具有特定风格的图像,在一个大类下的分支它们具有这个类的属性,但是又有自己独特的特征,我们称此为风格,推演到人的话,妆容、胡须、卷发也可以定义为风格。
这种不同域下不同的风格进行转换是相对复杂的,之前的论文在处理这种人脸风格图像的时候往往通过热编码进行有监督的一一属性之间的转换,但是这种热编码的标签在同一张图像输入得到的目标属性的结果往往是相同的,因为我们的输入是相同的,标签也是相同的,得到的结果也是一致的,这种方式也是原始的 StarGAN [1] 采用的转换方式。
另一种转换的方式就类似于 CycleGAN [2] 那样,从一个域简单的转换到另一个域,可以实现斑马到马,博美到吉娃娃这种单一的转换,如果要实现博美到萨摩这种变换,往往需要重新设计一组生成器。那么由 N 中风格图像的转换的话,就需要设计 N×(N−1) 种生成器,这显然是不合理的。上述分析的两个问题就是图像翻译任务下的两个需要解决的问题。
为了实现由一个域图像转换到目标域的多种图像,并支持多个目标域的问题,StarGAN v2 便在 StarGAN 的基础上进行了改进,并且解决了这两类问题。
StarGAN 是不是第一篇处理这两个问题的呢?答案是否定的,在 18 年由 NVIDIA 发表的 MUNIT [3] 就成功的解决了这两类问题,StarGAN v2 算是在 MUNIT 的基础上实现了更加简洁易懂的处理和图像翻译任务。
为了展示模型的转换效果,这里先贴一张实验效果图。
▲ 图1. StarGAN v2图像转换效果展示
总结一下 StarGAN v2 的优势:
设计了 Mapping Network 用于生成风格编码,摆脱了标签的束缚;
用风格编码器指导 Mapping Network 进行目标风格学习,可以实现目标域下多风格图像的转换;
公开了动物面部数据集 AFQH,实现了图像翻译下较好的结果。
模型结构
在具体介绍模型前,我们先来规定下用到的符号,源域图像 x∈X,目标域图像 y∈Y,StarGAN v2 的目的是设计单个生成器 G,该生成器 G 可以生成与图像 x 对应的每个域 y 的不同图像。我们先来看看原文中给的整体结构图。
▲ 图2. StarGAN v2模型整体结构
图 2 给出的结构是一个很笼统的图示,可以看出 StarGAN v2 由四部分组成,生成器 −G,映射网络 −F