图像风格迁移开源新作:语义匹配场景下实现迁移的新方法:区域风格映射|ECCV2020
极市导读
图像风格迁移能够融合两张图片的风格和内容,本文提出在GAN中利用特定域的映射共享内容空间的方法,搭建了一个更好的图像的内容域和样式域沟通的桥梁,使融合后的图像更好地进行内容表达。>>>极市七夕粉丝福利活动:炼丹师们,七夕这道算法题,你会解吗?
论文标题:Domain-Specific Mappings for Generative Adversarial Style Transfer
论文链接:https://arxiv.org/abs/2008.02198
代码:https://github.com/acht7111020/DSMAP
引言
计算机视觉中一个很有趣的研究点就是关于图像风格迁移,因为它能创造出有趣且样式丰富的图像。图像风格迁移是将一个图像的风格迁移到另一张宿主内容图像中,生成的图像融合了这两张图像的风格和内容。之前以往的方法通常假设宿主内容空间共享域不变的,这可能会损害内容表示能力。作者在该论文中提出了在GAN中利用特定域的映射共享内容空间的方法,迁移之后融合的图像更更好的进行内容表达。论文中展示了大量风格迁移融合的之后的精美图片,有人脸,花朵,猫,狗,树林,四季的景色等等,并且作者也提供了论文源码,感兴趣的值得一试。
灵感来源
在开组会中,我被我的boss多次问到过,图像风格迁移的样式到底是什么?什么图像都可以作为样式吗?怎么给图像风格迁移的样式下定义?这一连串的提问说明了图像风格迁移的样式确实不好去确定和把握。
图像风格迁移的一个开创性工作是深度神经网络可以通过Gram矩阵提取风格和内容特征的相关性,并采用迭代优化方法进行风格转换。研究工作者们提出了许多方法来解决比如泛化为看不见的样式、减少计算开销和改进样式与内容的匹配等问题。其中图像翻译的目的是学习两个领域(类别)的图像之间的映射,可以自然地用于两个图像类别之间的风格转换。图像翻译中最为出色的代表MUNIT和DRIT。但是对于一些具有挑战性的风格转换场景,尤其是那些需要语义匹配的场景,比如狗到猫的眼睛到眼睛的转换,这些方法的效果就有点够呛了。作者的贡献在于,他搭建一个更好的图像的内容域和样式域沟通的桥梁,使得最终生成的图像能更好更真实的表达出来。
以上图为例,MUNIT和DRIT将图像分解为共享域内容空间中的内容特征和特定样式空间中的样式特征,但是共享空间可能会限制图像的表达能力。作者在论文的方法是找到某种映射,将共享潜在空间中的内容特征映射到每个域的特定的内容空间中。这样,重新映射的内容特性就可以更好地与目标域的特性保持一致。对于源域的图像,通过将其内容特征映射到目标域,并将其与目标域的风格相结合,可以得到更好的结果。
模型方法
模型图介绍
两个图像域和之间的样式转换,最主要的目标是找到两个映射和来实现和中图像之间的转换。如下图所示为该论文提出的算法框架模型图,为了提高图像跨域翻译的效率,作者使用了特定域的映射来获得内容特征和代替域不变的内容特征和目的是更好地保持特定域的信息内容,特定域的内容映射的详细信息显示在下图的右半部。除了有内容编码器,风格编码器,和生成器,还有共享域特定的映射函数:
损失函数介绍
该论文的损失函数有一堆,每个目标函数都有其特定的作用和目的。论文中限于篇幅的原因有些符号如果不仔细看会生成歧义和困惑,我会格外将论文中没有提及的函数进行扩展。最原始的由Goodfellow提出的GAN的目标函数是一个对抗损失函数,然后在训练GAN的时候,会将对抗损失函数拆解成两个目标函数,一个是训练生成器的loss,另一个训练鉴别其的loss,万变不起其宗之后所有的训练GAN的方法都是按照这套模式来的,本文中也一样共有两个目标函数分别训练GAN的生成器和鉴别器,其中生成器的目标函数共有6部分组成,域共享映射损失,风格迁移损失,图像翻译损失,图像重构损失,对抗损失,循环一致损失。
论文没有把所有的对偶项列出来,为了能让更好的理解论文,我将所有的项都列了出来,如下所示:
第一个目标函数是循环一致损失,它是在CycleGAN里第一次被提出的来的,作者证明了在无监督图像翻译中一样是有用的。简单的说,一个图像A映射到图像B域再映射回来,然后看一下与原来图像A的差距。其中具体的形式如下所示:
第二个目标函数是图像重构损失,它的目的是用来确保生成器能够在一个域内重建原始图像。具体形式如下所示:
第三个目标函数是本文作者提出的域共享映射损失,为了寻找特定于域的映射,作者要求它的输出类似于特定于域的内容特征,并且它可以保持原图像的特定域的属性。具体形式如下所示:
第四个目标函数是风格重构损失,既然有图像内容重构的约束,自然也要对应有风格重构的约束,为了确保样式编码器编码有意义的样式特征,当给定从高斯分布随机抽样的样式特征时,需要将其重建回原始样式特征。
第五个目标函数对应着模型流程图中的域内容固定损失,使用域特定的内容特征来学习更好的域间对齐,需要域不变的内容空间来进行跨域翻译,本文作者的创新点就是突破以损失函数为核心训练出的模型所带来的图像内容表达的缺陷。
第六个目标函数是基于GAN的对抗损失所拆解出来训练生成器的函数,主要目的是生成一个高质量的风格迁移之后的图片。
第七个目标函数是基于GAN的对抗损失所拆解出来训练鉴别器的函数,主要目的是判别生成的图片是否属于特定的图像区域。
实验结果
作者在该论文中展示了各式各样的风格迁移之后的图片,如下图所示是一个四季切换的风格迁移实验,大多数方法都会给出合理的结果,但该论文中的方法比其它方法生成的图像的细节更丰富,质量也更高。
下图为猫狗切换的实验结果。可以看出MUNIT和GDWCT的结果存在物种特征不明确的问题。要判断这些图像所描绘的物种并不容易,MSGAN生成的图像具有更明显的目标物种特征。但是,它并不像论文的方法那样保存内容信息。对比可以回到论文的方法产生了更清晰的结果,更好地展示了目标物种的特征,并保留了内容图像的布局。
下图为素描和图片的风格迁移的实验结果,可以看出论文的方法可以很好地进行风格转换和身份保持。
下表为定量的实验结果,其中采用的评测指标为FID(分数越低越好)和LPIPS(分数越高越好),它们都是用于评价图像生成质量(图像生成的多样性以及真实程度),可以看出论文的方法都取得了一个很好的效果,FID分数偏向于更低,LPIPS分数偏向于更高。