-- 本文来自于VIP Lab的黄宇杰同学撰稿
(接上篇)AdaIN
在17年ICCV中,AdaIN [10]横空出世,完成了任意风格迁移。AdaIN的思路不同于之前的想法,它致力于从一张图片由VGG16输出的特征图中分别提取内容和风格信息,并且将这两个信息分离开来(这个想法和StyleBank [11]有些类似)。作者根据前人的工作和自己的实验研究发现,图片由卷积神经网络提取的特征图的每个通道中数据的均值和标准差可以代表这张图片的风格,而且,特征图利用对应通道的均值和标准差进行normalization后可以将风格特征去除,只保留内容特征,操作如下:
x是特征图一个通道中的值, 和 分别是这个通道中所有值的均值和标准差。因此作者采用将内容图经过VGG16提取的特征图用对应通道的均值和标准差进行normalization,然后根据风格图经过VGG16提取的特征图对应通道的均值和标准差,对内容图的特征图进行反normalization,操作如下(作者称其为adaptive instance normalization):
其中x是内容图的特征图的某一通道中的值,y是风格图的特征图的相同通道中的值。损失函数中内容损失作者采用的是[4]中的,在风格损失中,作者用特征图对应通道的均值和方差来代替Gram矩阵来表示风格,风格损失如下:
其中
表示VGG16输出的特征图,g表示生成图,s表示风格图,
和
分别是按通道计算均值和方差。这里为了局部全局风格的获得,同样用VGG16多个卷积层的输出组合构成完整的风格损失。AdaIN的整体结构如下:图 9
Ls和Lc分别是风格和内容损失,左边的VGG19(到Relu4_1)被用作Encoder来提取特征图,Decoder是将特征图变回到正常图片空间,其结构和VGG19(到Relu4_1)对称。AdaIN就是公式(9)表示的操作。右边的VGG16是用来计算损失函数用的,Decoder的输出就是完成迁移后的图片。其视觉效果如下:图 10
AdaIN直接输