Perceptual Losses for Real-Time Style Transferand Super-Resolution
- 处理经典问题:图像转化问题(image transformation tasks),如快速风格迁移和超分辨率
灵感
前向传播的神经网络
优点:速度快
缺点:在像素级之间的误差中不能捕获输出和ground truth 之间的感知误差(perceptual differences)。
感知误差函数(perceptual loss function)
- 近期,有很多工作生成的高质量图像是基于perceptual loss function来生成的,它不是依赖于像素之间的差别,而是基于高层图像特征之间的差别。
- 上述缺点:训练速度很慢
结合两者
训练一个前向传播的神经网络,但是不是用pixel-level loss function,而是用perceptual loss function。
在训练过的过程中,感知误差衡量了图像之间的相似性,在测试图像的时候可以实时的进行转换
网络的训练
网络由两个部分构成:image transformation network、loss network(用来定义loss function:$l_1,l_2…l_k$)
图像转化网络是一个深度残差网络,将图像x转化为$\hat y$
$$
\hat y=f_W(x)
$$每个缺失函数计算一个标量$l_i(\hat y,y_i)$来评估目标图像$y_i$和生成图像$\hat y_I$之间的不同
利用SGD来训练
$$
W^{*}=argmin \text{ }E_{x,{y_i}}[\sum_{i=1}\lambda_il_i(f_W(x),y_i)]
$$
为了解决per-pixel losses的缺点来更好的权衡图像语义和感知的关系,作者从通过优化来生成图像得到了启发:我们用到的网络已经学习到了这些我们要用缺失函数衡量的语义和感知的信息,所以我们定义一个已经训练好的缺失网络(loss network)$\phi$(和已经训练好的图像转化网络一样的结构)
- 缺失网络$\phi$ :通常定义一个特征重构缺失$l_{feat}^{ \phi }$和一个风格重构缺失$l_{style}^{\phi}$来衡量图像风格和内容之间的差异。
- 对于风格转化问题:内容目标(content target $y_c$)是输入图像,风格目标(style target $y_s$)是风格图像,我们需要是$x的content和y_c一样,x的风格和y_s一样$,我们对每一个风格构建一个网络
- 对于超分辨率问题:输入图像是低分辨率的图像$x$,
content target
是高分辨率的ground truth,并不用风格重构缺失。我们对每一个超分辨率因素构建一个网络
- 缺失网络$\phi$ :通常定义一个特征重构缺失$l_{feat}^{ \phi }$和一个风格重构缺失$l_{style}^{\phi}$来衡量图像风格和内容之间的差异。
图像转换网络
- 对于网络的上采样和下采样:我们不用任何的池化层,而是用stride或部分stride卷积
- 网络构造:五个
残差块
。除了输出层外,所有非残差的卷积块
后面都跟着BN
和非线性的ReLU
,输出层用一组tanh
保证像素在[0,255]之间