基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution

文章思路:

风格迁移的效果是将A图片的某些特征迁移到B图中,使B图具有与之相同的风格。

        基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution    基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution      基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution
                                 内容图片B                                       风格图片A                                            生成图片
       文章中使用感知损失函数来训练前馈网络以进行图像迁移任务,并且速度相比于其它论文更快。为什么要引入感知损失?
像素损失:计算图像中每个单个像素的损失,这个单像素点误差的方法不能捕捉输出和标准图片的感知差别。两幅完全相同的照片,但是有1个像素点的偏移。尽管在感知上是相似的(即你察觉不出来一个像素点的偏移对成像有什么影响),但是在单像素点误差的方法上衡量却是有极大的差别。感知损失:不基于逐像素间的差距,取而代之的是从预训练好的CNN中提取高层次的图像特征来损失函数。

网络框架

基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution
      如图所示,我们的系统由两部分组成:图像迁移网络基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution和损失网络φ。 图像变换网络是深度残余卷积神经网络; 它将输入图像x变换为输出图像基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution。得到生成的输出图像后将生成图像基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution,风格迁移目标图像基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution以及原始内容图像基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution输入到损失网络φ 中得到风格损失函数以及内容损失函数。使用随机梯度下降来训练风格迁移网络以最小化损失函数的加权组合。

 内容损失:

                                      基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution

风格损失:      

                                           基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution

G为Gram矩阵。

  • 通过在目标内容图像和生成的图像之间保持类似的高级图层**来保留内容。卷积网应该“看到”目标图像和生成的图像包含相同的内容;
  • 通过在低级图层和高级图层的**中保持类似的相关性来保留样式。特征相关性捕获纹理:生成的图像和样式参考图像应在不同的空间尺度共享相同的纹理。

测试阶段:给定一张图片,将其输入已经训练好的生成网络,输出这张图片风格转换后的结果。

图像迁移网络基于感知损失的实时风格迁移和超分辨重建Perceptual Losses for Real-Time Style Transfer and Super-Resolution


       文章中生成网络是一个深度残差网络,不用任何的池化层,取而代之的是用步幅卷积或微步幅卷积做网络内的上采样或者下采样。这里的神经网络有五个残差块组成。除了最末的输出层以外,所有的非残差卷积层都跟着一个空间性的instance-normalization,和RELU的非线性层,instance-normalization正则化是用来防止过拟合的。最末层使用一个缩放的Tanh来确保输出图像的像素在[0,255]之间。除开第一个和最后一个层用9x9的卷积核(kernel),其他所有卷积层都用3x3的卷积核。


损失网络φ


      损失网络φ是能定义一个内容损失(content loss)和一个风格损失(style loss),分别衡量内容和风格上的差距。损失网络使用使用的是预训练好的VGG16网络来定义系统的损失函数。因此损失网络的参数不更新,只用来计算内容损失和风格损失的计算,用计算得到的损失训练更新的前面的生成网络的权值参数。所以从整个网络结构上来看输入图像通过生成网络得到转换的图像,然后计算对应的损失,整个网络通过最小化这个损失去不断更新前面的生成网络权值。