正文
我们将content特征跟用户提供的输入图像(content image)去比对,将style特征跟另外一张预先设定好的风格图像(譬如某位大师的一幅油画)去比对,有了内容的差异和风格的差异后。
我们一步步通过一个叫back propagation(反向传播)的过程,从网络的高层往回传, 一直传到我们输入的那张随机噪声图, 我们就可以去修改这张随机噪声图,使得它跟我们指定的content特征和style特征越来越像。
所以它最后在content 特征上接近于用户输入的那张,在style特征上接近于另一张预先设定好的油画作品等。
如下图所示,先用一个VGG—19图形识别和卷积网络提取输入图片的content和style特征。(这些提取的特征主要用于后面重构后面随机输入得到的结果)
当然,实际执行图片风格转换的时候,还要考虑产生内容损失和风格损失
关于内容表示(CNN特征图像): 深度神经网络已经可以抽取高层次(抽象)的信息表征了。
下面是内容损失函数
关于风格表示
下面是风格损失函数
下图是流程的展示。
——一开始输入的随机噪声图,经过中间的(VGG 19)网络,在不同的层次分别提取的内容和风格特征,跟用户输入原图的内容进行比较,跟预先设定的另一张图(比如大师的某张油画图)的风格进行比较,然后计算出损失函数Ltotal。
具体的风格变换算法中产生的总的损失=α*内容损失+ β*风格损失。
但迭代图像风格变换自有它的缺陷之处。
-
没有训练和自学习的过程;
-
对每一张新的输入图都要重复它迭代更新的过程;
-
速度慢。
●
●
●
二. 关于前向图片风格转换
斯坦福大学的 Justin Johnson曾经提出一种使用前向网络完成图像风格变换的方法,发表于ECCV 2016。
在其实践时,采用的图片转换网络层具体见下:
-
2个卷及网络层进行下采样;
-
中间5个残差网络层;
-
2个反卷积网络层进行上采样。
损失函数包下面三部分
最后的实践结果如下,质量非常不错。
总的来说,使用前向图片风格转换
●
●
●
三. 关于迭代视频风格转换
将风格变换技术由图像向视频拓展最为直接的方式就是使用图像风格变换的技术逐帧完成视频的变换,但是这样很难保证视频帧间风格的一致性。为此 Ruder 等人提出了一种迭代式的做法 [Ruder, Manuel, Alexey Dosovitskiy, and Thomas Brox. "Artistic style transfer for videos." arXiv preprint arXiv:1604.08610 (2016)],通过两帧像素之间的对应关系信息来约束视频的风格变换。
不过,迭代式(Ruder et al.)的方法来处理视频的风格变换考虑了时间域的一致性,但是处理速度非常慢,处理一帧视频大约需要 3 分钟。