[Style Transfer]——Perceptual Losses for Real-Time Style Transfer and Super-Resolution

Perceptual Losses for Real-Time Style Transfer and Super-Resolution
基于感知损失函数的实时风格转换和超分辨重建
from ECCV2016

Abstract

图像变换将输入图像经过一定变换后得到输出图像,近期研究常使用输出与GT之间像素级别的损失函数来训练一个前馈神经网络完成图像变换;同时也有研究表明优化深层特征的感知损失函数效果更佳,因此本文将两种方法结合,使用感知损失函数搭建前馈网络进行图像变换,从而能够实时地完成图像风格迁移任务。与potimization-based的方法相比,生成的风格化图像效果接近但运行时间缩短了3个数量级;我们还将pixel-loss替换为perceptual-loss测试了单帧图像的超分辨重建的效果。

Section I Introduction

许多图像处理任务可被看作是图像变换(image transfomation),系统接收输入图像然后转换到输出图像,比如图像处理中的去噪、超分辨率和图像着色,通常输入的是一些低质量、退化的图像,比如混有噪声、低分辨率、灰度图等,转换为高质量彩图输出。在计算机视觉中的语义分割和深度估计任务都会用到。
解决Image transformation的一种途径就是训练一个前馈网络,用像素级别的损失函数进行监督训练。网络训练好后测试使用时十分高效。

但这种像素级别的损失函数无法捕获生成图与GT之间的感知信息,举例来说,输出与GT之间只是偏移了一定距离,实际上是两幅相同的图片,但通过per-pixel loss的计算二者的相似性将会相差很大。

与此同时,近期也有一系列研究使用感知损失函数(perceptual loss function)来生成高质量图像,与per-pixel不同之处在于,感知损失函数通过比较网络提取的高级语义特征之间的差别进行优化,目前已成功用于特征反演、特征可视化、图像风格迁移等任务。但感知损失的一大限制在于推断时需要解决优化问题因此耗时/生成时间相当长。

因此,本文将两者结合,在训练前馈网络时使用perceptual loss替代per-pixel loss,因此在loss network中依靠高级语义特征进行优化,这样计算图像相似度比像素级的loss鲁棒性更加;测试阶段的transformation network也可以进行实时推断。
本文将上述方法在风格迁移和超分辨率重建中进行了测试,两个任务都不容易解决:style transfer中没有最优解,而超分重建中也可能生成好几种重建结果,因此两个任务都需要对输入图像语义上的深入理解,比如必须了解输入图像内容然后变换颜色和纹理信息得到迁移后的风格化图像,超分重建需要从低分辨率图像中识别保留细节信息。
最终的实验结果表明:风格迁移实验中本文对标的是Gatys的工作,在达到相近风格化图像的基础上比Gatys的方法时间提升了3个数量级;超分重建的实验结果表明,将per-pixel替换为perceptual loss可以在视觉上获得更加的重建效果。

Section II Related Work

Part A Feed-forward image transformation

近年来许多图像变换问题基于per-pixel loss进行训练。比如在语义分割任务中通过训练一个全卷积神经网络进行像素级的密集分类即分割任务;也有基于pei-pixel loss对图像梯度施加惩罚或者引入CRFloss层进行联合优化。本文使用的transformation network是基于FCN的分割网络[4][16],通过卷积和转置卷积完成特征的提取和图像的重建。
Part B Perceptual Optimization

近年来也有很多图像处理、图像视觉通过感知提取到的高级特征进行网络的优化,可用来产生置信度最高的类别或者用于fooling images的生成。
比如[7]中通过feature inversion来探究网络不同层之间传递的图像信息,而[25]所使用的的方法和本文十分相似,但区别在于他们使用的是per_pixel loss而本文使用的是perceptual loss进行重建。
Part C Style Transfer

Gatys是风格迁移领域的奠基人,首次在训练过程中联合优化一张图像的内容与另一张图像的风格信息从而生成兼具内容和风格的生成图,早期也有类似的工作用语纹理合成。Gatys的工作很大程度受限于高昂的计算成本,每一步都需要完成一次网络的前馈与反向传播过程;为了解决这一问题本文训练了一个前向传播网络可以快速产生迁移任务的近似解,类似的这种fast style transer工作可参见[26]][27].
Part D Image super-resolution

图像超分辨率是图像处理的一个经典问题,已经发展了各种技术。 在广泛采用卷积神经网络之前,有基于预测的方法(双线性、双三次、Lanczos[29])、基于边缘的统计方法[32-34]、基于补丁的方法[30、35-41]和稀疏字典方法[42,43]。 最近[1]使用per-pixelEuclidean loss训练的三层卷积神经网络获得了优异的单图像超分辨率性能。

Section III Method

网络架构如Fig2所示,由image transformation network和loss network组成,其中image transformation network以残差网络为基础,使用SGD梯度下降训练;
在这里插入图片描述

lossnetwork则用来定义一系列损失函数,每一个损失函数会计算出一个标量,衡量目标图与生成图之间的差异,会根据各loss function计算perceptual loss,此外预训练好的loss network在网络训练阶段是固定冻住的。
在这里插入图片描述
为了说明per-pixel的局限以及perceptual loss的优越性,本文首先对比分析了[7-11]各种图片生成的优化方案,发现预训练好的分类网络已能够编码出perceptual loss要用到的语义信息,因此本文采用分类网络作为固定的loss network用来定义损失函数,因此优化网络用的损失函数也是一个卷积网络。
在风格迁移任务中,对于任意一张输入图片,有各自的内容目标生成yc和风格生成目标ys,最终的生成图像应该兼具yc和ys的内容,以及本文一种风格对应一一种网络;对于超分辨率重建任务,输入是低分辨率图像,而内容目标生成yc则是高分辨率的GT,在重建中不需要风格重建损失,也同样每种super-resoltuion factor对应一个网络。

Part A Image Transformation Networks
Image

Transformation Networks结构采用的是DCGAN[47],但避开了池化层而用的是步进卷积完成下采样和上采样,网络使用了5个残差块,,注意不是KaimingHe的resnet,是另一种残差网络,具体结构参见[49],residual+BN+ReLU,只有最后一层用的tanh激活,为了让像素值归一化到[0,255]
。
在风格迁移任务中,对于任意一张输入图片,有各自的内容目标生成yc和风格生成目标ys,最终的生成图像应该兼具yc和ys的内容,以及本文一种风格对应一一种网络;对于超分辨率重建任务,输入是低分辨率图像,而内容目标生成yc则是高分辨率的GT,在重建中不需要风格重建损失,也同样每种super-resoltuion factor对应一个网络。
在style transfer中输入图像为3x256x256的彩图,在超分任务中输出的是3x288x288大小的重建图像,输入根据放大factor做对应调整。
本文采用的网络第一个好处就是计算层累加的次数减少了,第二个好处就是增大了感受野,更适合于风格迁移。
而残差网络被证明对分类任务有奇效,因此本文在image reansformation network中引入了残差连接。
Part B Perceptual Loss Function
本文定义了两种感知损失函数用来衡量生成图与GT之间深层次感知和语义信息的差异,采用的是在ImageNet预训练的VGG16.
Feature Reconstruction Loss
通过loss network定义的特征重建损失不再聚焦于让输出的像素值更接近GT,而是让二者拥有更加相近的特征表述,因此二者的特征差表示为:
在这里插入图片描述在这里插入图片描述

从Fig3展示的结果可以看出,根据loss network提取的浅层特征重建的图像与原图在细节上更相近,几乎肉眼不可变;而根据深层特征重建的图像在内容上仍然是近似的,但颜色和纹理、甚至是外形已经发生了些许改变。

Style Reconstruction Loss
风格重建损失函数会对生成图与所选风格图之间的风格差异进行惩罚,依旧是通过Gram Matrix表征风格信息,计算生成图与目标图之间的平方差:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

从Fig4风格化的结果显示,风格迁移会保留风格信息不保留空间结构,基于深层风格信息的得到的迁移图像的迁移范围更大,以及通过跨层的多层风格信息集合用于迁移的效果比单层包含的风格信息迁移效果更佳。

Part C Simple Loss Function
此外还定义了pixel loss,只有当进行target image 和ground truth匹配时才使用。
在这里插入图片描述

Section IV Experiments

实验部分分别进行了风格迁移和单帧图像的超分重建。在Style Transfer中在达到与Gatys同等风格化图像的基础上将时间压缩了3个数量级;在超分辨率中使用感知损失函数取得了更好的复原效果。
在这里插入图片描述Fig1分别展示了Style Transfer和Super-Resolution的实验对比。
Part A Style Transfer
Style Transfer生成的风格化图像会兼具content image的内容和style image的风格。在Gatys的原文中使用L-BFGSOptimizer,但每一个iteration都需要经过以VGG16搭建的loss network的前向传播和反向传播。
Training Details
风格迁移网络使用的数据集是MS-COCO,将训练图片resize到256x256,40k iterations;训练过程中没有使用权重衰减或随机失活,因为并没有看出过拟合的趋势来。
实验中根据relu3_3计算content loss(reconstruction loss),根据relu1_1,relu2_1,relu3_1和relu4_1计算style loss。使用torch框架,在GTX Titan X 计算卡上用时4小时。
Qualitative Results
Fig6展示了本文与其他方法实现风格迁移的对比,所有的内容图片来自MS-COCO的val set;取Gatys的结果作为baseline相比,本文在一些方面效果更好,比如以星空作为style image产生了相似的黄色斑块,本文的方法对Object的识别、迁移效果更佳。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

Table I展示了本文与baseline的处理速度,可以看到在不同imagesize的情况下,本文几乎都比Gatys的方法快3和数量级,在512x512size下速度达到了20FPS,可满足视频处理的实时性要求。
Part B Single-Image Super-Resolution
单帧图像的超分辨率重建主要是将低分辨率图像重建输出其高分辨率结果。这也是一个不适定问题,因为随着缩放因子越来越大可能重建的不定性也越来越多,许多高分辨率需要的细节信息甚至在低分辨率图中找不到。
为了解决这一问题,本文使用perceptual loss替代常规的per-pixel loss,用于4x和8x的超分重建。超分辨率的常见评价指标是PSNR和SSIM。
PSNR:Peak Signal-to-Noise Ratio
SSIM:Structural SIMilarity
参见Ref:PSNR、SSIM
其中PSNR就是基于pixel计算的因此这一指标基于pixel计算总是比基于feature好,因此本文不再单纯追求超分重建的PSNR,而是对比二者的重建效果。
采用的baseline是super-resolution经典的SRCNN,3层卷积网络,基于patch的训练模式,但需要10^9ierations。
在这里插入图片描述在这里插入图片描述

上图的Fig 8展示了x4的超分辨率结果,可以看到本文基于perceptual loss重建的结果比其他基于per-pixel的结果都更好,尤其是边缘和细节(比如眼睫毛、帽子边缘);Fig9中的x8结果也显示出本文的方法对细节效果很好。

Section V Conclusion

本文有效地结合了feed forward transformation和feature-optimization用于图像生成feed-forward缩短了style transfer的生成时间,perceptual loss的使用极大提升了和超分辨率的重建效果,尤其对于边缘和细节信息。未来本文将进一步探究perceptual loss应用到图像转换的其他任务中。

猜你喜欢

转载自blog.csdn.net/qq_37151108/article/details/107537085