-- 本文来自于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直接输入两张图片,无需经过任何训练就可以获得风格迁移后的图片。对于512x512像素的图片,在Pascal Titan X GPU上其只需0.098s就可以完成风格迁移。
为了进一步提升任意风格迁移的效果,还有三个重要的风格迁移算法被提出[12-14]。图 11SANet
SANet [12]是在19年的CVPR会议上被提出的,它旨在改进AdaIN在风格上的迁移充分性。作者认为,简单的adaptive instance normalization [10]对于风格的迁移是不充分,所以,如图11所示,作者提出了style attention network来代替adaptive instance normalization完成风格迁移。Style Attention Network的具体操作如下:图 12
其中Fc和Fs分别表示内容和风格图片对应的特征图,i,j是特征图中的值的索引, 表示对特征图F做通道独立的均值和标准差的normalization(如公式8),这个操作有助于去除风格[10]。公式(11)的含义是,输出的特征图中的一个点是风格特征图中所有点的值的加权求和,权重就是内容图中和输出特征图中相同位置的点和风格特征图中当前点的相似程度。Style Attention Network具备了局部匹配能力。如图11所示,除了和[10]相同的内容和风格损失,作者还引入了identity loss,即输入两张相同的图片分别作为风格图片和内容图片,那么生成的图片应该仍旧是这张图片,这个损失的具体形式如下:
其中Iss是输入两张Is生成的图片,Icc是输入两张Ic生成的图片。
是VGG16输出的特征图,选用了和风格损失一样的多层输出的组合。当然作者还用了Encoder(VGG16)Relu4_1和Relu5_1层输出的组合来获得更好的效果。SANet效果图如下,可以发现确实风格得到了更充分的迁移:图 13
[13]这篇文章则采用了另一种思路来完成任意风格迁移。根据[6]和[7],一个Imge Transformation Net可以完成一种特定风格的迁移,要迁移其它风格,则需要重新训练,也就是说,不同风格对应于Imge Transformation Net的不同权重参数。于是[13]的作者通过meta learning方法中的hyper network来代替Image Transformation Net的训练过程。Hyper network的思想是用一个网络去生成另一个网络的参数。如图14所示,[13]中的算法利用由hidden和filters构成的hyper network来根据输入风格图的特征图的通道独立的均值和标准差(可以表示一张图的风格[10])动态地生成Image Transformation Network的参数,然后将内容图片送入到Image Transformation Network中去完成风格迁移。因为hyper network是全连接网络,为了使得参数量不会过大,所以filters是由多个全连接神经网络构成,每一个的输出对应Image Transformation Network的某一卷积层的权重,其输入是hidden全连接神经网络的输出根据filters中网络个数均分后的其中一份。损失函数和[4]中一样,Image Transformation Network的结构和[6]中一样。训练的时候内容图片改变20次,风格图才改变一次。图 14
其效果如下图所示,作者还提出了一个Fast版本(将Image Transformation Network每一个卷积层的输出通道数变为原来的四分之一),可以在移动设备上运行。图 15
MetaStyle [14]的作者通过实验发现[13]中的算法对于风格的迁移不够充分,于是他们提出了把meta learning中的bilevel optimization用在风格迁移中。这里先介绍一下bilevel optimization,其公式如下:
E是外部目标函数,L是内部目标函数,
是用于初始化的,T是最大优化步数,
是优化步长。
然后作者将风格迁移化为bilevel optimization问题,让Image Transformation Network [6]学会中性风格表示,然后对于不同的风格,可以通过200次参数更新快速地适应于这种风格,从而完成这种风格的迁移。根据公式(13),作者让 作为Image Transformation Network的初始参数,让WT作为风格调整后的参数记为WS,T,因为要快速调整,所以T被限制到1到5之间,内外目标函数都使用[4]中的损失函数,内部目标就使用 来进行初始化(所以 就是一个identity函数)并且只使用内容图片训练集来进行优化(快速调整到特定风格),而外部目标尝试通用化到内容图的验证集上,获得如下公式:
其中M就是Image Transformation Network的结构,c代表内容,s代表风格。MetaStyle的训练过程如下图所示:图 16
训练完成后,对于任意风格图片,再用coco数据集作为内容图片进行200次的跟新之后,Image Transformation Network就被快速调整到当前风格(在Titan Xp GPU上大概耗时24s)。
MetaStyle的整体架构图如下图所示:图 17
其效果如图18所示,左上角是内容图,右下加是训练完成后的初始化参数的Image Transformation Network输出的中性风格图,其余的是快速调整到各种风格后输出的风格迁移后的图片。图 18
参考论文:
[2] Huiwen Chang, Jingwan Lu, Fisher Yu, Adam Finkelstein, “PairedCycleGAN: Asymmetric Style Transfer for Applying and Removing Makeup”, CVPR2018.
[3] Zhedong Zheng, Xiaodong Yang, Zhiding Yu, Liang Zheng, Yi Yang, Jan Kautz, “Joint Discriminative and Generative Learning for Person Re-identification”, CVPR2019.
[4] L. A. Gatys, A. S. Ecker, and M. Bethge. “Image style transfer using convolutional neural networks,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 2414-2423.
[5] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” in International Conference on Learning Representations (ICLR), 2015.
[6] J. Johnson, A. Alahi, and L. Fei-Fei. “Perceptual losses for real-time style transfer and super-resolution,” in European Conference on Computer Vision (ECCV), 2016.
[7] D. Ulyanov, V. Lebedev, A. Vedaldi, and V. Lempitsky. “Texture networks: Feed-forward synthesis of textures and stylized images.” in International Conference on Machine Learning (ICML), 2016.
[8] V. Dumoulin, J. Shlens, and M. Kudlur. “A learned representation for artistic style”, in International Conference on Learning Representations (ICLR), 2017.
[9] Y. Li, C. Fang, J. Yang, Z. Wang, X. Lu, and M.-H. Yang, “Diversified texture synthesis with feed-forward networks,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017
[10] X. Huang and S. J. Belongie, “Arbitrary style transfer in real time with adaptive instance normalization,” in International Conference on Computer Vision (ICCV), 2017.
[11] Dongdong Chen, Lu Yuan, Jing Liao, Nenghai Yu, Gang Hua, “StyleBank: An Explicit Representation for Neural Image Style Transfer”, CVPR2017.
[12] D. Y. Park and K. H. Lee, “Arbitrary Style Transfer with Style-Attentional Networks,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.
[13] F. Shen, S. Yan, G. Zeng, “Neural Style Transfer via Meta Networks,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.
[14] C. Zhang, Y. Zhu, and S. Zhu, “Metastyle: Three-way trade-off among speed, flexibility, and quality in neural style transfer,” AAAI Conference on Artificial Intelligence, 20