风格迁移系列论文阅读 之 Perceptual Losses for Real-Time Style Transfer ( JcJohnson, ECCV 2016 )
发表于Ulyanov,Li Wand之后,SRGAN之前 1896 cited
本文创举:
在Gatys,Ulyanov工作之后首先地提出了带转置卷积的残差前馈网络用于实时风格迁移。主要就是提出了一个网络结构!Loss沿用Gatys的Gram Loss.
解决痛点:
1. 原来Image Transfer的算法应用L2 Loss, 不如用featrue_L2_loss更能学习到感知特征
2. 原来生成新图像需要迭代优化,不如前馈网络的实时性
本文算法:
很简单,将内容图像输入进网络,然后得到结果图;结果图与输入图计算content_loss,与风格图计算style_loss;然后优化Loss函数即可。
用VGG网络来提取特征;前馈网络结构如下:
0. 训练时使用固定尺寸的图像,实际上测试时不同的尺寸都可以!
1. 用大于1的步长卷积与分数步长的卷积代替下采样;
2. 卷积得到小尺寸Feature map,通过系列残差块,再上采样得到原尺寸大小。
细节:
1. 复现Gatys时,网络最后会clip操作,将图像像素值范围限制在[0,255]内;用LBFGS优化
2. 训练时用Adam优化;训练一种风格需要4小时;
启示:
1. 对于网络最后输出的是图像的任务,通常都用转置卷积来生成最后的图像,且激活用relu
2. 残差网络的恒等特性正是我所需要的!也是img2img任务中十分适用的。(只是,没有实现feature map的抽象)
3. 利用感知损失而不是MSE损失的约束来实现超分辨率,应该和SRGAN同时提出
需要注意的是:
1. 首先对图像进行镜像padding
2. 卷积阶段,结构为conv_in_relu
3. 残差阶段,每个残差块有2个3x3卷积(如图),显然,残差块需要conv_in_relu,然后一个单独的conv+in,然后与之前的进行element-wise求和;
卷积时padding为zero,从而一边减小1像素,再取crop舍弃一像素,边长比原来减少4
4. Deconv阶段,只用管增长尺寸就行了!