论文解读(04)

Perceptual Losses for Real-Time Style Transfer and Super-Resolution

Justin Johnson, Alexandre Alahi, Li Fei-Fei

本文研究了图像转换的问题。在该领域中现有的方法大致有二:一种是使用输出图像与真实图像的per-pixel loss(逐像素损失)训练前馈CNN,第二种是 设计并优化了一种 所谓的perceptual loss(感知损失)来生成高质量图像,该种损失是基于预训练模型对图像所提取的高级特征所定义的。
而本文的工作结合了以上两种方法,使用perceptual loss来前馈CNN来解决图像转换问题。与基于优化的生成图像方法相比,本网络可以在得到相当质量的结果的同时,在速度上提升3个数量级。

简介:

许多经典问题都可以视为图像转换问题,即系统接收若干输入图像,将其转换为一个输出图像。例如,去噪,超分辨率重构,着色等图像处理任务,都是将一个退化的图像,转换为一个高质量彩色图像。对于计算机视觉领域中的语义分割,深度估计等任务,输入一个彩色图像,输出则是图像的场景语义或几何信息的编码。
对于图像转换问题,一种解决方法是基于输出图像与真实图像之间的per-pixel loss,使用有监督的手段训练一个前馈CNN。
但是per-pixel loss的弊端是无法捕获输出图像与真实图像之间的感知层面的差异,例如对于两张完全相同的图像,将其中一张图像整体偏移一个像素,尽管它们在感知层面上仍然几乎完全相同,但是它们的per-pixel loss却已发生十分显著的增加。
另外一些方法,通过最小化perceptual loss,来优化输出图像的数据,最终生成输出高质量图像。但该方法的弊端是效率低下,实时性差。
本文的方法结合以上两种方法的优点,采用了前馈CNN,并且使用图像高级特征的perceptual loss作为损失函数,而图像高级特征则使用预训练模型采集。perceptual loss在度量图像相似性方面比per-pixel loss更具鲁棒性。

技术概要

该系统包括两个部分:一部分是图像转换网络 f W f_W fW,另一部分是损失网络 ϕ \phi ϕ ϕ \phi ϕ用于定义不同的损失函数 l 1 , . . . , l k l_1,...,l_k l1,...,lk。图像转换网络是一个深度残差CNN,其参数为权重 W W W,,对于输入图像 x x x,其输出图像为 y ^ = f W ( x ) \hat{y}=f_W(x) y^=fW(x).
每一个损失函数的计算结果都为一个标量值 l i ( y ^ , y i ) l_i(\hat{y},y_i) li(y^,yi),其度量了输出图像 y ^ \hat{y} y^与目标 y i y_i yi的差异。
使用SGD算法训练网络,得到最优解:
W ∗ = a r g min ⁡ W E x , { y i } [ ∑ i = 1 λ i l i ( f W ( x ) , y i ) ] W^*= \rm{arg} \min_{W}\bf{E}_{x,\left\{y_i\right\}}[\sum_{i=1}\lambda_i l_i(f_W(x), y_i)] W=argWminEx,{yi}[i=1λili(fW(x),yi)]
利用损失网络 ϕ \phi ϕ所定义的损失函数,杜绝了per-pixel loss的缺点,更好地度量了图像之间的感知与语义差异,其关键思想在于预训练的CNN模型已经学会了编码图像中的感知和语义信息,这些信息则是我们的perceptual loss 函数恰恰要度量的信息。因此,本文采用了预训练的图像分类网络(VGG16)作为损失网络.
损失网络 ϕ \phi ϕ用于定义特征重构损失 l f e a t ϕ l^{\phi}_{feat} lfeatϕ和风格重构损失 l s t y l e ϕ l^{\phi}_{style} lstyleϕ。分别度量图像在内容与风格上的差异。对于每个输入图像 x x x,有内容目标 y c y_c yc,风格目标 y s y_s ys,对于风格迁移任务,内容目标 y c y_c yc就是输入图像 x x x本身,输出图像 y ^ \hat{y} y^应该整合内容 x = y c x=y_c x=yc,以及风格 y s y_s ys。每个风格目标需要单独训练一个网络。
对于超分辨率重构任务,输入图像是一个低分辨率的图像,内容目标是真实的高分辨率图像,不需要风格目标。

技术细节

1.图像转换网络

对于图像转换网络,其架构与Radford的实现大致相同,不采取任何的池化层,取而代之使用步幅和微步幅卷积分别进行上采样和下采样。网络还包含有5个残差块,除了最后的输出层之外,所有的非残差卷积层都后接有空间batch normalization 和 ReLU操作,最后的输出层使用一个缩放的tanh来确保输出图像的像素值在[0,255]内,除了第一层与最后一层使用9x9大小的卷积核外,其余卷积层均使用3x3的卷积核。

1.1转换网络的输入与输出

对于风格迁移,输入与输出图像大小均为3X256x256。对于超分辨率重构,则存在一个上采样因子 f f f,输出为高分辨率图像3x288x288,输入为低分辨率图像 3 ∗ 288 / f ∗ 288 / f 3*288/f*288/f 3288/f288/f

1.2转换网络的下采样与上采样

对于上采样因子为 f f f的超分辨率重构,使用了后接步幅为 1 / 2 1/2 1/2 log ⁡ 2 f \log_2{f} log2f卷积层。
对于风格迁移,先使用两个步幅为2的卷积层进行下采样,然后连接有若干残差块,最后再使用两个步幅为 1 / 2 1/2 1/2的卷积层进行上采样。
这样做(先下采样再上采样)的好处是:
(1)在计算量上,尺寸为3x3xc卷积核遍历CxHxW的图像需要 9 H W C 2 \rm{9HWC^2} 9HWC2次加乘运算。其运算量与3x3xDC作用在DCxH/DxH/D图像上的运算量一样,因此在下采样后,使用更大的网络,却只需花费相同的计算量。
(2)3x3的卷积可以将感受野的大小扩大2倍,将算上因子为D的下采样操作后,感受野可以增大2D倍。

2.损失网络

2.1特征重构损失

设输入图像为x,则网络 ϕ \phi ϕ的第 j j j层激活输出为 ϕ j ( x ) \phi_j(x) ϕj(x),若 j j j为卷积层,则 ϕ j ( x ) \phi_j(x) ϕj(x)为一个尺寸为 C j ∗ H j ∗ W j C_j*H_j*W_j CjHjWj的特征图。定义特征重构损失为两个特征图之间的欧式距离:
l f e a t ϕ , j ( y ^ , y ) = 1 C j H j W j ∥ ϕ j ( y ^ ) − ϕ j ( y ) ∥ 2 2 l^{\phi,j}_{feat}(\hat{y},y)=\frac{1}{C_jH_jW_j}\begin{Vmatrix} \phi_j(\hat{y})- \phi_j(y)\end{Vmatrix}^2_2 lfeatϕ,j(y^,y)=CjHjWj1ϕj(y^)ϕj(y)22
当从网络高层进行重构,图像语义内容与整体空间结构得以保留,而色彩,纹理,精确边缘则被适当摒弃。

2.2风格重构损失

将网络 ϕ \phi ϕ的第 j j j层的三维特征图张量 ϕ j ( x ) \phi_j(x) ϕj(x)重整为大小为 C j ∗ H j W j C_j*H_jW_j CjHjWj二维张量 ψ \psi ψ,则定义特征图 ϕ j ( x ) \phi_j(x) ϕj(x)的Gram矩阵为
G j ϕ ( x ) = ψ ψ T / C j H j W j G^{\phi}_{j}(x)=\psi \psi^T/C_jH_jW_j Gjϕ(x)=ψψT/CjHjWj
则风格重构损失定义为输出图像与风格目标图像在网络 ϕ \phi ϕ的第 j j j层特征图的Gram矩阵的squared Frobenius范数( L 2 L_2 L2范数):
l s t y l e ϕ , j ( y ^ , y ) = ∥ G j ϕ ( y ^ − G j ϕ ( y ) ) ∥ F 2 l^{\phi,j}_{style}(\hat{y},y)=\begin{Vmatrix} G^{\phi}_{j}(\hat{y}-G^{\phi}_{j}(y)) \end{Vmatrix}^2_F lstyleϕ,j(y^,y)=Gjϕ(y^Gjϕ(y))F2
选取 ϕ \phi ϕ中多个层次的风格特征来来综合判定,则定义 l s t y l e ϕ , J ( y ^ , y ) l^{\phi,J}_{style}(\hat{y},y) lstyleϕ,J(y^,y)为各层风格重构损失的总和,其中 j ∈ J j\in J jJ

另外

为了使输出图像的空间上较为平滑连续,参考前人的工作,采用了total variation regularizer l T V ( y ^ ) l_{TV}(\hat{y}) lTV(y^).

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值