[Style Transfer]——Deep Photo Style Transfer

Deep Photo Style Transfer
from CVPR2017
源码:Deep Photo Style Transfer

Abstract

本文基于深度学习进行照片的风格迁移,可以更好的保留参考图片的风格信息而不引入变形导致的失真。Gatys借助神经网络不同层完成风格迁移,但却并不完全适合照片的风格迁移,因为即使选择的content image和style image都是照片,还是会产生变形,本文的主要贡献在于将输出限定在一定色彩空间中来抑制变形,保留照片的写实性,这项约束是完全可微的。目前成功应用于延时变换、天气、季节、艺术风格的个应用场景下。

Secition I Introduction

照片的风格迁移有诸多应用,比如选取恰当的reference image可以营造出不同时间、季节、艺术风格下拍摄的输入图像,但Gatys基于神经网络的风格迁移会引入失真,比如Fig 1©中许多直边都变得弯弯曲曲,纹理也变得扭曲,不写实更像是一幅画作。

本文的贡献之一就在于通过将色彩空间的变换约束在一定范围内减少局部変形、减少画作的既视感,这里的约束项是受Matting Laplacian相关工作的启发,引入了一个可微分的energy term;而在添加约束的同时几乎不对迁移有任何影响。


本文贡献之二在于巧妙地权衡了输入图与参考图在内容上的差异性。比如当输入图没有多少“天空”的成分,风格迁移使的天空这一风格成分可能就“溢出”到其他部分,本文通过语义分割来解决这问题。
[Style Transfer]——Deep Photo Style Transfer_第1张图片通过给定(a)作为参考图,(b)作为输入图,我们正努力寻求一种方法使得生成图即保留(b)的场景又兼具(a)的风格。在Gatys的工作中虽然成功迁移了颜色但也一定程度上引起了图像的变形,使得生成的图片更像一幅画,并不适合于照片的风格迁移(photo style transfer)。本文的结果(d)与Gatys的(c)相比,可以更好的保留了照片的写实性。[放大食用更佳哦]

Part A Challenge and COntributions
从实际应用的角度考虑,要想切实解决照片的风格迁移主要有以下两方面的挑战:
Structure preservation
结构保留是解决风格迁移过程中一个内在的矛盾项,我们只希望在局部形成较为强烈的修改,比如打开透过窗户的光源亮度但窗户依旧保持其网格状,这就需要寻找一种仿射变换可以急剧改变颜色空间但不引起结构的几何形变,本文直接将颜色空间限定在photo图像上从而解决了辨别画像和照片这一基本问题。
Semantic accuracy and transfer faithfulness
语义准确性和迁移忠实性
现实世界的复杂性产生了风格迁移的另一挑战-迁移过程中要尽可能贴近原始场景的语义信息。比如在城市街景照片中,建筑物之间的风格、天空和天空之间的风格应该相互匹配,而不应该迁移后天空和建筑物风格相似。在早期研究中常基于MRF选择与输入patch最为匹配的区域进行风格迁移,但往往导致迁移后的结果不尽如人意,因为其他匹配度稍差区域风格就被忽略了。
另外一种是通过计算Gram Matrix进行风格迁移,这样就不会忽略人和区域因为计算的是整体的风格分布信息,但对于一些细节物体往往由于在reference image中占比较少,风格迁移后往往会迁移到其他占比较多的风格上去,也就形成了失真,比如在天空中有建筑物纹理的伪影。
本文的解决办法是在迁移过程中引入一个语义标签(semantic label),在同一语义类别下的不同区域下进行同种风格的迁移,从Fig2中可以看到迁移的一致性效果。
[Style Transfer]——Deep Photo Style Transfer_第2张图片

(a)为content image (e)为reference,通过风格迁移实现效果对比,我们发现Gatys或基于MRF的方法都一定程度上引起了天空或建筑物的变形,而本文在语义标签的帮助下纹理匹配性更佳,因此风格迁移的效果也更好。
Part B Related Work

全局的风格迁移算法通常对整幅图像进行的变换具有空间不变性,比如中等题调色调或者调对比度,但对于较为复杂的风格迁移就无能为力了。
而局部的风格迁移多是基于空间颜色匹配信息,从而可以处理一天不同光照的变化、季节、天气的变化以及艺术风格的变化。本文工作的基础是沿袭Gatys的基于VGG-19的工作框架,但更针对于照片的写实风格变换,关注于如何正确处理局部变换和全局变换的一致性问题,这部分与图像处理更相关,但是本文的工作通用性更强。

# Section II Method


依旧是输入两张图片:input imageh和reference style image,在Gatys大作的基础上增强了两方面:



(1)在优化过程中引入图像风格的正则项,约束重建图像限制在input image的颜色空间内;



(2)借助语义分割辅助指引风格迁移过程,从而避免迁移后内容失配线性的发生,更好的对图像进行写实性风格迁移。
background:回顾了Gatys的工作,如何使用content loss和style loss进行风格迁移.


[Style Transfer]——Deep Photo Style Transfer_第3张图片

Photorealism regularization


照片写实正则化项主要用于在优化过程中保留input image的结构信息,使得输出更加写实,并非对output image施加约束而是针对变换过程施加约束,因为输入的照片图像本身就是写实的,因此确保在变换过程中不丢失就好了,因此可以在style transfer过程中在total loss函数后增加一项正则化项,惩罚图像变形部分,从而使得output image的变换限定在input image的颜色空间中,而且不同的区域会因空间位置的不同变换也不尽相同。类似边缘检测的原理,虽然输入的RGB值会发生变换但检测到的边缘位置不会发生变化,并且会呈现在每个通道上。


Augmented style loss with semantic segmentation



语义增强损失函数
Gram Matrix可很好的代表style image的纹理特征,但是基于整图进行计算,限制了对待语义内容变化的能力,因此本文采用类似Neural Doodle的分割思路,对input image和reference image产生一系列mask,以concatenate的方式级联在各自channel后面,一起通过loss进行更新。
此外,为了避免使用“孤立的类别标签”本文将input image的类别限定在reference image的类别中来选择,因此可能会出现严格上语义不匹配的现象,比如“湖泊”和“大海”,但内容上是相近的;而且类别标签的精度也不必是pixel级别的,因为最后还会通过前面的照片写实正则化项约束。




因此,最终的total loss函数如下所示:




[Style Transfer]——Deep Photo Style Transfer_第4张图片

分别为content loss,语义增强的style loss以及正则化项,分别由各自的权重系数。











# Section III Implement Details






实验细节参照Gatys的框架,依旧选用VGG-19作为特征提取器,其中conv4_2作为content feature,conv1_1,2_1,3_1,4_1,5_1作为style feature,具体权重设置参见原文。





在Total Loss的计算中,首先参照Gatys中style loss的计算,会随机初始化一个噪声,这种分两步走的优化策略,而一上来就使用正则化项对局部色彩可能会过度抑制。
在语义增强部分采取的分割网络是DeepLab,但没有使用那么精细的150个类别,而是对类似的class进行了合并(如河、湖、洋、水等近似类别),这样简化分割后的segmentationmap以及生成的标注信息。





[Style Transfer]——Deep Photo Style Transfer_第5张图片上图说明的是正则化项权重系数对style transfer的影响,对于较为极端、差异变化较大的风格变换,实验发现过小的lambda不能有效抑制失真变形(b,c),而较大的lambda又会阻碍风格迁移,导致风格化不完全(e,f),最终采用lambda=10000作为sweet spot进行风格迁移。

# Section IV Results and Comparison






Comparison Results





首先与其他风格迁移算法进行了对比,参与对比的有:Gatys的Neural Style Transfer,MRF.如Fig 4所示,a-e分别为input image,reference image,Gatys,MRF以及本文的迁移效果。其中Gatys的Neural Style完全忽略了语义信息,CNNMRF基于最近邻搜索进行patch的匹配,也会忽略绝大部分语义信息,而本文的方法很好的利用了语义信息进行风格的迁移。






Fig5则展示了与其他全局变换的算法对比,可以看到全局的风格迁移是基于input image和style image的色彩统计进行颜色匹配的,限制了应对局部变化的能力;而本文是内容敏感的,可以随着内容的变化进行局部色彩的调整。
[Style Transfer]——Deep Photo Style Transfer_第6张图片
Fig6展示了本文与Shih[15]进行一天内时间光影变化的迁移效果,二者都取得了非常不错的迁移效果,但本文只需要一张图片而[15]则需要基于一段video进行,需要更大的存储空间,而本文的方法还可应用于其他场景。
[Style Transfer]——Deep Photo Style Transfer_第7张图片Fig7展示了如何通过操纵语义mask来控制特定的风格迁移,比如将火球的风格迁移到香水瓶,可用于艺术创作。
[Style Transfer]——Deep Photo Style Transfer_第8张图片[Style Transfer]——Deep Photo Style Transfer_第9张图片

Fig8展示了一些因为极端失配导致的失败案例,可以通过手动分割进行修正。
以上结果均通过前面说的二步法优化产生,一般耗时3-5分钟(基于Titan X GPU)
User Study
为了验证算法还进行了两组观测者实验,分别对Neural Style,Pitie,CNNMRF和本文的迁移效果进行评级,从“完全不写实”到“完全写实”4级,每种方法均测试8个不同的场景;还进一步对比了不同风格迁移算法的保真度/忠实度。
Fig9展示了两项用户调查的得分情况,可以看到本文的方法在写实性和风格忠实度方面均取得了较高的得分。
[Style Transfer]——Deep Photo Style Transfer_第10张图片

Section V Conclusion

本文在Neural Style的基础上引入正则化项,约束风格迁移的变化范围,从而在更好保留原图结构的基础上进行风格迁移,改进的语义增强loss部分有效减少了结构变形的发生。这种Deep Photo Style Transfer可广泛用于一天内的光影变幻以及天气、季节、艺术创作等。

你可能感兴趣的