快速图像风格迁移是在"原始"图像风格迁移基础上的一种"高效"转换方案.
[github传送门]https://github.com/hzy46/fast-neural-style-tensorflow
系列文章
(一)图像风格迁移
(三)快速图像风格转换代码解析
(四)快速图像风格迁移训练模型载入及处理图像
"快速"图像风格转换,先使用VGGNet训练图像风格网络,获取风格网络模型,然后在VGGNet网络中使用梯度下降法计算图像风格,内容及融合的损失,生成效果图,取代了"原始"图像风格转换直接从原始图像提取内容,风格及融合的过程,提高了图像转换速度,CPU转换1分钟内,GPU转换30s内即可完成.
网络结构:
图2.0展示表示"快速"图像风格抓换架构,该网络由两部分构成,即图像转换网络 f W f_{W} fW(Images Transform Net),损失计算网络 ϕ \phi ϕ(Loss Network).其中,
图像转换网络将输入的图像 x x x通过映射 y ^ = f w ( x ) \hat{y}=f_w(x) y^=fw(x)输出图片 y ^ \hat{y} y^;
损失网络用于定义损失方程 l 1 , ⋯   , l k l_1,\cdots,l_k l1,⋯,lk,每个损失方程计算一个标量 l i ( y ^ , y i ) l_i(\hat{y},y_i) li(y^,yi)预测输出 y ^ \hat{y} y^与目标输出 y i y_i yi的差值.损失网络 ϕ \phi ϕ定义 l f e a t ϕ l_{feat}^{\phi} lfeatϕ表示内容损失, l s t y l e ϕ l_{style}^{\phi} lstyleϕ表示风格损失, y c y_c yc表示图像内容输出, y s y_s ys表示图形风格输出.
序号 | 参数 | 描述 |
---|---|---|
1 | x x x | 输入图像 |
2 | y ^ \hat{y} y^ | 输出图像 |
3 | y c y_c yc | 图像内容 |
4 | y s y_s ys | 图形风格 |
5 | l f e a t ϕ l_{feat}^{\phi} lfeatϕ | 内容损失 |
6 | l s t y l e ϕ l_{style}^{\phi} lstyleϕ | 风格损失 |
训练过程:
(1) 训练图形风格网络,分别提取VGGNet的relu1_2,relu2_2,relu3_3和relu4_4风格特征,根据测试结果,如图2.1所示,选择relu3_3作为风格输出.
(2) 计算图像内容损失,根据测试结果,图2.2所示,选择relu3_3作为内容结果.
(3) 最终的输出图像是根据输入的内容图像 x x x,输出内容 y c y_c yc满足 y c = x y_c=x yc=x,输出风格 y s y_s ys(即调用预训练风格网络模型)进行优化训练得出.
"快速"转换结果:
[参考文献]
[1]Very Deep Convolutional Networks for Large-Scale Image Recognition
[2]Perceptual Losses for Real-Time Style Transfer
and Super-Resolution