美文网首页
Perceptual Losses for Real-Time

Perceptual Losses for Real-Time

作者: 晨光523152 | 来源:发表于2020-05-07 15:29 被阅读0次

这是发在 ECCV 2016的文章。

Abstract

考虑图像转换问题,其中输入图像被转换为输出图像。

最近的方法问题通常使用输出图像与真实图像之间的每像素损失来训练前馈卷积神经网络。

并行工作表明,可以基于从预训练网络中提取的高级特征来定义和优化感知损失函数,从而生成高质量图像。

作者结合了两种方法的优势,并提出了使用感知损失函数进行训练图像转换的前馈网络。

展示了图像样式转换的结果,其中训练了前馈网络以实时解决Gatys等人提出的优化问题。

与基于优化的方法相比,文章的网络给出了相似的定性结果,但速度快了三个数量级。 我们还尝试了单图像超分辨率,其中用感知损失替换每个像素的损失在视觉上令人愉悦。

1. Introduction

解决图像变换任务的一种方法是以有监督的方式训练前馈卷积神经网络,使用每一个像素损失函数来测量输出图像与真实图像之间的差异。

但是,这个方法使用的每一个像素损失无法捕获输出图像与真实图像之间的感知差异;例如考虑两个相同的图像,彼此偏移一个像素; 尽管它们在感知上相似,但按每像素损失衡量,它们还是有很大差异的。

同时,最近的工作表明,可以使用感知损失函数生成高质量图像,而不是基于像素之间的差异,而是基于从预训练卷积神经网络提取的高级图像特征表示之间的差异。通过最小化损失函数来生成图片,尽管这些方法能生成高质量的图片,但是速度很慢

这篇文章中,我们联合了两个方法的优点。训练前馈变换网络来执行图像变换任务,而不是仅根据低级像素信息使用每像素损失函数,而是使用依赖于预训练损失网络中高级特征的感知损失函数训练网络。在训练过程中,感知损失比每像素损失更能可靠地测量图像相似性,并且在测试时,转换网络实时运行。

文章尝试了两项任务:样式转换和单图像超分辨率。 两者都是天生的不适。 对于样式转换,没有单个正确的输出,对于超分辨率,可能有许多高分辨率图像生成相同的低分辨率输入。

这两项任务的成功都需要有关输入图像的语义推理。 对于样式转换,尽管颜色和纹理发生了巨大变化,但输出在语义上必须与输入相似。 对于超分辨率,必须从视觉上模糊的低分辨率输入中推断出精细的细节。

原则上,为每项任务训练的高容量神经网络都可以隐式学习推理相关语义的能力; 但是在实践中我们不需要从头学习:感知损失函数的使用允许将语义知识从损失网络转移到转换网络。

Figure 1

2. Related Work

2.1 Feed-forward image transformation

最近几年前馈图像转换任务应用十分广泛,很多转换任务都用了逐像素求差的方式来训练深度卷积神经网络。

本文的转换网络的架构是由一些先前的工作所启发的,它们使用网络内下采样来减少特征图的空间范围,然后使用网络内上采样来生成最终的输出图像。

2.2 Perceptual optimization

有一些论文用到了优化的方法来产生图像,它们的对象是具有感知性的,感知性取决于从CNN中提取到的高层次特征。

Dosovitskiy和Brox的工作是跟文章的工作最相关的,他们训练了一个前馈神经网络去倒置卷积特征,快速的逼近了之前论文中提出的优化问题的结局方案,然而他们的前馈网络是用的逐像素重建损失函数来训练,而文章的网络是直接用了特征重建损失函数。

2.3 Style Transfer

Gatys等人实现了艺术风格转换,包含一张内容图和一个风格图,通过联合最小化特征重构损失和基于从预训练好的卷积网络提取的特征的风格重构损失。

一个相似的方法之前也被用于做纹理合成。然而他们的方法产出了很高质量的结果,但是计算代价非常的昂贵,因为每一次迭代优化都需要经过前馈、反馈预训练好的整个网络。

为了克服这样一个计算量的负担,我们训练了一个前馈神经网络去快速获得可行解。

Image super-resolution

图像超分辨率重建是一个经典的问题,很多人提出了非常广泛的技术手段来做图像超分辨率重建。

3. Method

Figure 2

如 Figure 2 所示,文章的系统由两部分构成:图像转换网络f_{W},损失网络\phi(用来定义一系列损失函数l_{1},l_{2},...,l_{k}

图像变换网络是由权重W参数化的深度残差卷积神经网络;它通过映射\hat{y}=f_{W}(x)把输入图像x转换为输出图像\hat{y}。每一个损失函数计算一个标量值l_{i}(\hat{y},y_{i})来测量输出图像\hat{y}和目标图像y_{i}的差。使用随机梯度下降训练图像变换网络,以最小化损失函数的加权组合,

公式1

为了解决每一个像素损失的缺点,并使损失函数更好地衡量图像之间的感知和语义差异,我们从最近的工作中汲取了灵感,这些工作通过优化来生成图像。

这些方法的关键思想在于,经过预训练的图像分类卷积神经网络已经学会了对我们希望在损失函数中测量的感知和语义信息进行编码。因此,为了定义损失函数,将对图像分类进行预训练的网络\phi用作固定损失网络。

损失网络\phi被用来定义特征重构损失l_{feat}^{\phi}和风格重构损失l_{style}^{\phi}来测量内容图片和风格图片直接的差。

对于每一个输入图像x,有内容目标y_{c}和风格目标y_{s}

对于风格转换,内容目标y_{c}是输入图像x,输出图像\hat{y}应该将x = y_{c}的内容与y_{s}的样式结合起来。为每一个目标风格训练一个网络。

对于单图像超分辨率,输入图像x是低分辨率的,内容目标y_{c}是高分辨率的真实地表图片,风格重建损失没有使用。为每一个超分辨率因子训练一个网络。

3.1 Image Transformation Networks

文中的图像转换网络结构大致上遵循Radford提出的指导方针。没有使用池化层,而是使用步幅卷积或微步幅卷积做网络内的上采样或者下采样。文章的神经网络有五个残差块组成。除输出层外,所有非残差卷积层都遵循空间批量归一化和ReLU非线性激活,输出层则是使用缩放的tanh来确保输出图像的像素范围为[0; 255]。除开第一个和最后一个层用9x9的kernel,其他所有卷积层都用3x3的kernels,

3.1.1 Inputs and Outputs

对于风格迁移,输入和输出都是彩色图像,大小是256 x 256 x 3。

对于上采样因子为f的超分辨率,输出形状为288 x 288 x 3的高分辨率图像块,而输入形状为 288/f x 288/f x 3的低分辨率块。由于图像转换网络是完全卷积的,因此在测试时可以将它们应用于任何分辨率的图像。

3.1.2 Downsampling and Upsampling

对于超分辨率重建,有一个上采样因子f。用了几个残差块跟着步长为\frac{1}{2}Log2f卷积网络,不依赖于任何一个固定的上采样插值函数,微步长卷积允许上采样函数和网络的其他部分一起训练。

对于风格变换,在几个残差快之后,使用步长为2的卷积来下采样,然后两个步长为\feac{1}{2}的卷积网络来上采样。(先下采样,再上采样)。

首当其冲的好处是计算复杂性。核的大小是 3 x 3,C个过滤器,对于一个输入大小为H\times W\times C,需要9HWC^{2}次运算。这个代价和3 x3 卷积有DC个过滤器,输入尺寸DC\times H/D\times W/D是一样的。在下采样之后,我们可以因此在相同计算代价下用一个更大的网络。

第二个好处是有效的感受野大小。高质量的风格转换需要一致的改变图片的一大块地方;因此这个优势就在于在输出中的每个像素都有输入中的大面积有效的感受野。除开下采样,每一个附加的3x3卷积层都能把感受野的大小增加2倍。
在用因子D进行下采样后,每个3x3的卷积不是增加了感受野的大小到2D,给出了更大的感受野大小但有着相同数量的层。

3.1.3 Residual Connection

残差连接使得网络很容易的学的恒等映射,这对于图像转换网络很有吸引力。因此文章的网络的大体由几个残差块组成,每个包含两个3x3的卷积层。

3.2 Perceptual Loss Functions

定义了两个感受损失函数来测量图像间的高水平的感受和语义的区别。

利用为图像分类而预先训练的损失网络\phi,这意味着这些感知损失函数本身就是深度卷积神经网络。

在文章中,\phi是在ImageNet数据集上训练的VGG-16。

3.2.1 Feature Reconstruction Loss

与其鼓励输出图像\hat{y}= f_{W}(x)的像素与目标图像y的像素完全匹配,不如鼓励它们具有与损失网络\phi相似的特征表示。当处理图像x的时候,让\phi_{j}(x)是网络\phi里面第j层的激活,如果j是卷积层,那么\phi_{j}(x)将是形状为H_{j}\times W_{j} \times C_{j}的特征图。那么特征重构损失是特征表示之间的(平方,标准化)的欧式距离:

公式 2

从图三可以看出,找到一个图像\hat{y}使较低的层的特征损失最小,往往能产生在视觉上和y不太能区分的图像,如果用高层来重建,内容和全局结构会被保留,但是颜色纹理和精确的形状不复存在。用一个特征损失来训练我们的图像转换网络能让输出\hat{y}非常接近目标图像y,但并不是让他们做到完全的匹配。

Figure 3

3.2.2 Style Reconstruction Loss

feature reconstruction loss 惩罚了是输出图像\hat{y}当其在内容上便宜了目标y。同时,我们也希望在风格上(颜色,纹理,共同的模式)出现了偏差的时候进行惩罚。为了达到这一效果,Gatys等人提出了如下的风格重构损失。

\phi_{j}(x)的定义和 3.2.1里面一样,定义Gram矩阵G_{j}^{\phi}(x)\in \mathbb{R}^{C_{j}\times C_{j}}

公式 3

\phi(x)看出一个C_{j}维的特征,每一个特征是H_{j}\times W_{j}的矩阵,那么G_{j}^{\phi}(x)是与C_{j}维度特征的无中心协方差成比例的。

Gram矩阵能够被有效的计算通过把\phi_{j}(x)变成矩阵\varphi\in \mathbb{R}^{C_{j}\times H_{j}W_{j}}那么G_{j}^{\phi}(x)=\varphi \varphi^{T}/C_{j}H_{J}W_{J}

那么风格重构损失为:


公式 4

如Figure 4,能生成一张图片\hat{y}使得风格损失最小,从而保存了风格上的特征,但是不保存空间上的结构特征。

Figure 4

要从一系列网络J而不是单层j进行风格重构,定义l_{style}^{\phi,J}(\hat{y},y)是每一层损失函数的和
j\in J)。

3.3 Simple Loss Functions

除了感知损失,还定义了两种简单损失函数,仅仅用了低维的像素信息

3.3.1 Pixel Loss

像素损失是输入图像\hat{y}与目标图像y的(标准化)的欧式距离。

如果形状都是H\times W \times C,那么像素损失是:

像素损失

这只能被用在有真实地标的目标时候,让这个网络去做完全匹配。

3.3.2 Total Variation Regularization

为了让输出图像\hat{y}空间比较顺滑, 遵循了前人在特征反演上的研究,超分辨率重建上的研究并且使用了全变差正则化l_{TV}(\hat{y})

Figure 6-1 Figure 6-2 Figure 6-3 Figure 7

参考资料:
Perceptual Losses for Real-Time Style Transfer and Super-Resolution

相关文章

网友评论

      本文标题:Perceptual Losses for Real-Time

      本文链接:https://www.haomeiwen.com/subject/sxuightx.html