【风格迁移】Perceptual Losses for Real-Time Style Transfer and Super-Resolution

  • 本文的贡献在于将perceptual loss和feed-forward网络结合,处理速度很快。
  • 感知损失:用特征算损失,评估两张图片在内容和风格上的差异。
  • 减小特征图,扩大卷积核,可以在不增加计算量的情况下,扩大感受野。同时,这对需要连续变换的风格迁移也很重要
     

 

【风格迁移】Perceptual Losses for Real-Time Style Transfer and Super-Resolution_第1张图片

3.1 Image Transformation Networks

  1.   在上下采样中,使用步进和小步进卷积代替池化层。除残差模块外,均使用spatial batch normalization,输出层使用ReLU,将输出限制在[0, 255]。除第一和最后一层使用9 x 9卷积核外,其余均使用3 x 3卷积核。
  2. 输入和输出均为 3 x 256 x 256
  3. 使用5个残差模块,每个包含两个3 x 3的卷积层。
  4. 在几个Residual blocks之后,使用两个步进为2的卷积去对输入降采样,然后使用两个步进为1/2的卷积去上采样,虽然输入和输出的尺寸一样,但有两个好处:下采样后,我们可以在相同计算代价的情况下,用更大的卷积核,即获得更大的感受野。高质量的风格转换需要有尽可能连续的变换,因此需要在输入有更大的感受野。

 

3.2 Perceptual Loss Functions

使用两个perceptual loss functions,计算图片之间的内容和风格之间的差异。loss net是在ImageNet上做图片分类的VGG-16。

Feature Reconstruction Loss

计算两张图片之间的内容差异。作者使用layer relu2-2的输出作为图片内容,作者认为网络high-level的特征保存了内容和全部空间结构,但没有保存颜色、纹理和提取出的形状,因此要使用early layers。

具体计算:将经过Image Transform Net输出的图片和输入原图送入loss net,第j层卷积层输出的特征图相减后求二范数,平方后求平均输出。

 

Style Reconstruction Loss

作者使用layer relu1_2, relu2_2, relu3_3, and relu4_3的输出作为图片风格

首先计算经过Image Transform Net输出的图片和目标风格图片对应的Gram matrix(Cj x Cj):将图片送入loss net,得到第j层卷积层输出特征图Cj x Hj x Wj。将每个通道视作一个独立的样本Hj x Wj,则Gram matrix可以视作,求Cj个样本的无中心化协方差矩阵。对应到某两个样本间的计算则是:对应元素相乘后累加,除以CjHjWj。

也可以将特征图转换为Cj x HjWj(相当于将图片转换为向量),然后计算:

最后用F-范数计算两个Gram Matrix的距离:

F-范数是求矩阵的各项元素的绝对值平方和,然后开根号。

 

最后:

yc是content图片,ys是style图片,y用白噪声初始化。

 

Experiments

【风格迁移】Perceptual Losses for Real-Time Style Transfer and Super-Resolution_第2张图片

Baseline是风格转换的经典论文A neural algorithm of artistic style,使用的是pixel loss:

【风格迁移】Perceptual Losses for Real-Time Style Transfer and Super-Resolution_第3张图片

你可能感兴趣的:(数据增强)