您的位置:首页 > Web前端

部分选译Perceptual losses for real-time style transfer and super-resolution.

2017-07-23 22:35 633 查看


3.方法

就像图二显示的,我们的系统由两部分组成:一个图像转换网络fW和一个被用来定义几个损失函数的损失网络ϕ 。这个图*像转换网络是一个深度残差卷积神经网络,由权重W参数化。它将输入图片x转化成使出图片y^,通过制图函数y^=fW(x).每一个损失函数计算一个标量值li(y^,yi)测量输出图像y^和目标图像yi之间的不同。这个图像转化网络使用随机梯度下降SGD进行训练,以将这个权重组合损失函数最小化:W=argminWEx,{yi}[Σi=1λili(fW(x),yi)]

为了解释对应像素损失的缺点,让我们的损失函数来更好的测量两张图片间知觉和语义的不同,我们从最近通过优化[6,7,8,9,10]生成图片的工作中吸取了灵感。从这些方法中得到的核心的启迪是事先训练好的用于图像分类的卷积经网络已经学会去解码
20000
我们想要用来测量损失函数的知觉和语义信息。因此,我们使用已经事先训练好的图像分类网络ϕ作为一个固的损失函数来定义我们的损失函数。我们的深度卷积转化网络接下来使用深度卷积网络作为损失函数。

损失网络ϕ被用来定义一个特征重建损失lϕfeat和一个风格重建损失lϕstyle,被用来测量图像之间内容和格式的不同。对每一个输入图像\textup{x},我们有一个内容目标yc和一个风格目标ys。对风格转化来说,内容目标yc就是输入图像\textup{x}和输出图像y^应该在风格ys中组合x=yc的内容。我们对每一个风格训练一个神经网络。对单个图像超分辨率,输入图像x是一个低分辨率输入,内容目标yc是真实的高分辨率图像,分割转化损失函数没有使用。我们对每一个超分辨因子训练一个神经网络。

3.1图像转化网络

我们的图像转化网络大体上服从了Radford[42]中提出的中的搭建指导。我们没有使用任何的池化层,相反使用步进和分布步进的卷积层来进行层内的下采样和上采样。我们的网络结构由五个残差块[43]构成,使用[44]中的构架。所有的非残差卷积层都由空间批次归一化[45]和ReLU非线性化,除了最后一层输出层使用了一个排列的tanh以使输出图像在[0,255]之间。除了第一层和最后一层使用9x9的卷积核,其余所有的卷积层都使用3x3的卷积核。我们所有网络的确切构建结构都可以在提供的材料中找到。

输入和输出

对风格转化,输入和输出都是3x256x256的彩色图片。对使用上采样因子f的超分辨,输出是高分辨率图像3x288x288,输入是低分辨率3x288/fx288/f。因为图像传化网络是全卷积的,在测试时,它可以被应用在任何分辨率的图像上。

下采样和上采样

对使用上采样因子f超分辨,我们使用几个残差块,紧连着log2f步长为1/2的卷积层。此处与[1]中在输入前使用的二元三次插值上采样处理低分辨率输入到网络不同。并非依赖于一个固定的上采样函数,分子步长卷积允许上采样函数和其他的网路一起被学习。

” 和6类似,我们使用优化策略来寻找对已经事先训练好的VGG-16损失网络ϕ的几个层j已经最小化特征重建损失lϕ,jfeat(y^,y)的图像y^,在我们从高层重建时,图像内容和整体空间架构得到保存,但是颜色,纹理和确切的形状没有”

对风格转化,我们的网络使用步长为2的卷积层下采样处理输入,紧接着是几个残差块,然后是两个使用1/2步长的上采样。虽然输入和输出是相同的大小,先下采样后上采样的网络有几个好处。

首先是计算性能。一个缺乏经验的用法,一个3x3卷积层滤波C处理一个形状为CxHxW的图像,需要有9HWC2个乘加运算,而相同的开销当一个3x3的卷积层滤波DC处理输入形状为DCxH/DxW/D。在下采样后,我们可以在相同的计算开销下使用更大的网络。

第二个好处是可以有更加有效率的感受野尺寸。高质量的风格转换需要在合乎逻辑的方法下改变图像的大部分地方,因此对每个输出图像的像素来说,输入有一个大的高效感受野更加有优势。没有下采样,每一个附加的3x3卷积层增加感受野的效率是2。而在使用因子为D的下采样后,每一个3x3的卷积层可以增加有效的感受野是2D,给以了更大的有效感受野使用相同的层数。

**残差连接**He等[43]使用了残差连接来训练非常深的神经网络来处理图像分类。他们主张残差连接使网络更加容易的学会鉴别函数。对图像转化网络来说,这是一个诱人的性能,因为在大多数情况下,输出图像应该和输入图像共享一些结构。因此,我们的网络结构由几个残差块组成,每一个包含两个3x3的卷积层。我们使用残差块设计[44],在提供的材料中给出了。

3.2感受损失函数

我们定义了两个感受损失函数(perceptual loss functions)用来测量高层中图像知觉和语义的不同。它们利用了损失网络ϕ,事先在图像分类上训练,意味着这些感知损失函数本身就是深度卷积网络。在我们所有的实验中,ϕ都是16层的VGG网络[46],事先在[47]中的ImageNet数据集中训练的。

”和10类似,我们使用优化策略来寻找对已经事先训练好的VGG-16损失网络ϕ的几个层j已经最小化特征重建损失lϕ,jfeat(y^,y)的图像y^,在我们从高层重建时,图像内容和整体空间架构得到保存,但是颜色,纹理和确切的形状没有”

特征重建损失不鼓励输出图像y^=fW(x)来确切的和目标图像y像素点点契合,我们激励它们在损失网络ϕ中有相类似的特征表现。来让ϕj(x)作为第j层神经网络ϕ的激励,如果j是一个卷积层,那么ϕj(x)将代表形状为Cj×Hj×Wj的特征图像。特征重建损失函数是两个特征表征的平方归一欧式距离:

lϕ,jfeat=1CjHjWj||ϕj(y^)−ϕj(y)||22

像[6]中证明的,寻找一个图片y^最小化特征损失,对前面的层来说生成的图片趋向于看起来和y无法分辨。随着我们从更高层重建,图像内容和整体的空间结构被保留了,但是颜色、纹理和确切的形状没有。使用一个特征重建损失函数来训练我们的转化网络鼓励输出图片y^和目标图片y更加在知觉上相似,但是没有迫使它们匹配的很确切。

风格重建损失

当输出图像y^和目标图像在内容上偏离的时候,特征重建损失会进行惩罚。我们也希望来惩罚不同的特征:颜色、纹理、一般纹理等等。来实现这个效果。Gateys等[9,10]中提出了下列的风格损失函数。

和上面一样,将ϕj(x)作为网络ϕ上第jth层对输入x激励,他的特征图形状为Cj×Hj×Wj。定义GrammatrixGϕj(x)为Cj×Cj矩阵,它的元素就是:

Gϕj(x)c,c′=1CjHjWj∑h=1Hj∑w=1Wjϕj(x)h,w,cϕj(x)h,w,c′

如果我们理解ϕj(x)为给定的Cj-维特征,对每一个输入点在一个Hj×Wj网格上,然后Gϕj(x)是对Cj-维特征非中心协方差的均匀化,每一个网格位置都当成一个独立的样本。因此,它得到了每一个特征倾向于去一起激活的特征信息。这个克莱默矩阵可以被十分高效的计算,通过将ϕj(s)转化成一个形状为Cj×HjWj的矩阵ψ,然后Gϕj(x)=ψϕTCjHjWj.

这个风格重建损失函数就是克莱默矩阵的输出和目标图像间的F范数:

lϕ,jstyle(y^,y)=‖GϕJ((^y)−Gϕj(y))‖2F

这个风格重建函数得到了很好的定义,即使在y^和y有不同的形状时,因为他们的克莱默矩阵将会有相同的形状。

就像[10]中证明的,生成图片y^,最小化了风格重建损失从目标图像中保留了风格特征,但是没有保留目标图像的空间结构。高层重建转化了目标图像中的大范围结构。

为了更好的从一系列成J而不是单个层j中展示出风格重建,我们定义了lϕ,Jstyle(y^,y)来作为每一个层j∈J的损失和。

3.3简单损失函数

作为上面定义的感知损失函数的定义附加,我们也定义了两个简单的损失函数,它们仅有低层的像素信息决定。

像素损失像素损失是输出图像y^和目标图像y之间的归一化的欧几里得距离。如果两者都形为C×H×W,这个像素损失函数就定义为lpixel(y^,y)=‖y^−y‖22/CHW.这个函数只有当我们有要匹配的目标图像真实情况时才被使用。

全变量正则项来促进输出图片y^的空间光滑性,我们根据先前特征转化工作[6,20]和超分辨率[48,49],利用全变量正则化lTV(y^).

以上是对论文[Perceptual Losses for Real-Time Style Transfer and Super-Resolution][]https://arxiv.org/pdf/1603.08155.pdf%7C]中Method的大略翻译。刚刚接触机器学习,很多专业词汇是自己翻译的,大家主要还是要参考原文。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  神经网络
相关文章推荐