Deep Photo Style Transfer
Taylor Guo, 2017年4月23日 星期日 - 4月27日星期四
摘要
本文介绍了深度学习方法的图像风格转换,处理各种各样的图像内容,保持高保真的参考风格变换。我们的方法构建于最近绘画风格变换基础上,用神经网络的不同网络层从图像内容上将风格分离。然而,这个方法并不适用于写实风格变换。即使输入图像和参考图像都是真实照片,输出图像仍然像衣服变旧扭曲的绘画。我们的贡献是将从输入图像到输出图像的变换约束在色彩空间的局部仿射变换中,将这个约束表示成一个完全可微的参数项。我们发现这种方法成功地抑制了图像扭曲,在各种各样的场景中生成了满意的真实图像风格变换,包括一天中时间变换,天气,季节和艺术编辑风格变换。
1. 简介图像风格转换是一个经久不衰的话题,将参考风格图像的风格转换到另一个输入图像中。比如,选择一种参考风格图像,可以将在不同光照,不同时段,不同季节拍摄的照片,艺术化地转换成不同的风格。目前,现有的技术有局限性,只能处理它们可以处理的特定场景和变换。本文介绍深度学习的图像风格变换,可以在更宽泛的时间和更丰富的图像内容上精确地转换成参考风格。我们的方法基于论文5的卷积网络风格变换。但是,如图1所示,输入图片和参考风格图像都是拍摄好的图像,输出的图像却像是一幅绘画,比如直线弯曲,纹理扭曲。我们的贡献是去除这些像手绘的空间扭曲,将变换操作只作用在色彩空间上。我们用一个色彩空间上的局部仿射变换模型解决这个问题,用拉普拉斯抠图矩阵表示一个完全可微项。这种方法成功地抑制了图像扭曲,对风格变换影响非常小。另外一个主要贡献是对变换过程中由于输入图像和参考图像的内容不同而导致的不相关内容不在预期范围内的变换的出现提供了解决方案。比如,一个输入图像的天空内容比较少,风格变换可能会忽略掉内容上的差异而导致天空风格“溢出”到图像的其他部分。我们用输入图像和参考图像的语义分割来处理这一问题。我们证明了这个方法的有效性,满足各种各样的场景下逼真的风格转移,包括时间、天气、季节和艺术编辑的转移。
图1:给定一个参考风格图像(a)和一个输入图像(b),我们可以生成和输入图像相同场景的输出图像,但风格是参考图像风格。Neural Style算法(c)成功地转移了颜色,但也产生了扭曲使输出图像看起来像一幅画,并不是图像风格转移中需要的内容。对比之下,我们的结果(d)转移参考风格图像的颜色比较好,保留的输出图像的写实性。右边(e),我们显示了(b),(c),(d)的3个子集。缩小后对比结果。
1.1 挑战和贡献从实践的角度来看,我们的贡献了一个有效的算法,适用于许多应用的摄影风格转移,如改变图片中一天的时间或天气,或将艺术风格编辑从一个照片转移到另一个。为了实现这个结果,我们必须解决两个基本的问题。
结构保留。这在我们的目标中,有一种内在的矛盾。一方面,我们想要获得非常强烈的局部效果,比如,打开摩天大楼上的某个窗户的灯光,如图1所示。另外一方面,这些效果不应该扭曲边缘和规则的图案,例如,窗口仍然保持网格对齐。形式上,我们寻找一种可以强烈改变图像颜色,却没有任何几何变化的效果,比如没有移动或扭曲。Reinhard最初用全局颜色变换解决这一挑战。但是,根据定义,这一变换不能对空间变化的影响进行建模,因此只能处理特定的风格。更多需要空间变化效果的表现力时,就会进一步增加防止空间失真的挑战。有一些技术可以处理特定场景,但通用的情况仍然无法解决。我们的工作是承接这一挑战提供了第一个解决方案,将方案空间限制到逼真图像上,从而处理了从绘画中分辨图像的基本问题。
语义精度和转移保真度。现实世界场景的复杂性提出了另一个挑战:转移应尊重场景的语义。例如,在城市景观中,建筑物的外观应该与建筑物相匹配,天空和天空相匹配;不能让天空看起来像建筑物。一个合理的方法是用风格图像中最相似的区域匹配每个输入神经区域,以尽量减少不准确转移的可能性。这个策略本质上是卷积网络和马尔科夫随机场方法,如论文10。尽管很有道理,但我们发现它往往导致一些结果,很多输入图像区域会和同一风格图像区域匹配,其他整个风格图像区域会被忽略,生成的输出图像和预期的风格匹配很差。
这个问题的一个解决方法是用神经网络反馈克莱姆矩阵的参考风格图像转移完整的“风格分布”。这个方法可以成功地防止任何区域被忽略。然而,可能有些场景元素比参考图像中的被更多(或更少)地表示在输入图像中。在这种情况下,参考风格图像中的大规模元素的风格就会“溢出”到输入图像的没有匹配的元素上去,产生一些错误比如建筑的纹理放在的天空中。我们的工作的一个贡献是将输入图像和风格图像的语义标注整合到整个转移过程中,这样在相同语义的次区域间和每个次区域上进行风格转移,映射就会趋向均匀。正如我们将看到的,该算法保留了所需的风格的丰富性,并防止溢出效应。这些问题如图2所描述。
图2:给定输入图像(a)和参考风格图像(e),Neural Style结果(b)和CNNMRF结果(c)与我们的结果(d)对比时,由于强烈的扭曲表现出人为的痕迹。在f,g,h中,我们计算了输出图像和参考风格的对应关系,对每个像素,我们对参考风格图像中最近的XY坐标进行编码,颜色值为(R,G,B)=(0, 255×Y/height,255×X/width)。与CNNMRF相似,用VGG-19 conv3_1上的神经反馈的L2范式查找最近的神经区域。Neural Style计算参考风格图像的全局统计数据,在f图的对应关系中,生成的纹理不匹配,比如输出图像的天空部分被映射了参考风格图像中的建筑部分。CNNMRF在参考风格图像上执行了最近邻搜索,如图g所示出现了多对一的映射,比如,建筑物。相比之下,我们的结果(d)阻止了扭曲,正确地匹配了纹理,如图(h)中的对应关系。
1.2 相关工作
全局风格变换算法用空间不变的转换方法处理图像。这些方法非常有效可以处理简单的变换,比如全局颜色变换(比如,sepia)和色调曲线(比如,高低对比度)。比如,Reinhard将输入图像和参考风格图像转换成无相关关系的色彩空间后匹配它们之间的均值和标准差。Pitie用一系列的1维直方图转换成3维彩色直方图。在后面我们会看到,这些方法在复杂风格匹配上都有局限性。
局部风格转移算法基于空间色彩映射,更有效,也能处理各种不同类别的应用,比如一天的色彩变换,艺术风格编辑的转移,天气和季节改变,绘画风格化。我们的工作和Gatys的工作相关,采用区别训练的深度卷积神经网络的特征映射,如VGG-19在绘画风格转移中实现的突破性性能。与这些技术的主要差别是我们是图像的真实风格变换,如之前讨论的,主要矛盾是局部变化和全局一致性。在这个方面,我们的算法是和图像处理算法相关的。与这些专用场景的技术不同,我们的方法通用,可以处理更多各种各样的图像风格。
2. 方法我们的算法使用2张图像:一个输入图像,就是一般的普通照片;一个风格化参考图像,即参考风格图像。将参考图像风格转移到输入图像中,同时保持结果的真实性。我们的方法引入了2个核心思路,增强了论文5的算法:
我们提出了一种优化过程中目标函数的图像写实正则化参数项,约束重构图像用输入图像的局部仿射色彩变换防止扭曲。
基于输入图像的语义分割,针对风格转移过程,我们引入了一个可选的指南以避免内容无法匹配的问题,极大地增强了结果的图像写实性。
背景。为了完整性,总结一下论文5的神经网络风格算法,将参考风格图像S转移到输入图像I上,用最小化目标函数生成一个输出图像O:
其中,L是卷积层总数量,l是深度卷积神经网络的第l层卷积层。每层都有Nl个滤波器每个是大小为Dl的向量特征地图。是特征矩阵,(i,j)是序号,
克莱姆矩阵
定义为向量特征地图之间的內积。αl和βl是配置层偏置的权重,Γ是平衡图像内容(等式1b)和图像风格之间取舍关系的权重。
图像写实正则化。下面描述如何规范化优化流程以保留输入图像的结构,生成写实风格的图像输出。这个策略不是直接在输出图像上添加约束来表示,而是在作用到输入图像的变换上。描述写实图像的特征空间是一个还没有解决的问题。如果使用的输入图像本来就是写实的话,就不需要处理这个问题了。我们的策略是在风格转移的过程中,通过给等式1a添加一个与图像扭曲相关的惩罚项,确保不会丢失其属性。我们的方案是寻找一个色彩空间的图像局部仿射变换,也就是,对于每一个输出区块,存在一个仿射函数将输入图像的RGB值映射到对应的输出对应的位置上去。每个区域的仿射函数都不同,随空间变化。直觉上,可以考虑使用边缘检测区块。RGB通道的仿射合并会生成一组变量,但边缘不会移动,因为它在所有通道上都在相同的位置上。
论文9的拉普拉斯抠图算法已经演示了如何表示灰度抠图,我们在输入图像RGB通道的局部仿射合并上构建拉普拉斯抠图算法。他们使用了一个最小二乘惩罚函数, 这个惩罚函数可以用输入图像I的矩阵ΜI(建议查看论文的推导细节。注意给定一个有N个像素的输入图像I,MI是N×N矩阵)表示的标准线性系统最小化。定义是输出图像O的(N×1)向量版本,定义如下的正则项惩罚不能很好地用局部仿射变换解释的输出:
在梯度处理器中使用这个项需要计算输出图像的导数。MI是对称矩阵,则
语义分割增强风格损失函数。等式1c中图像风格项的限制是从整幅图像中计算克莱姆矩阵。克莱姆矩阵将组成向量组织成等距向量,隐式地对神经反应的精确分布进行编码,限制了其适应语义内容变化的能力,导致“溢出”。我们用与Neural Doodle和Deeplab语义分割相似的方法对带有一组通用标签(天空,建筑,水等)的输入图像和参考图像生成图像分割遮罩。我们将遮罩添加到输入图像上作为另一个通道,通过传播语义分割通道增强神经网络风格算法,用如下函数更新风格损失:
其中,C是语义分割遮罩中的通道数量,是第l层的语义分割遮罩的通道c,是与对应的克莱姆矩阵。在卷积神经网络的每层,对遮罩降采样以匹配特征地图空间大小。
为了避免输入图像上出现“孤儿语义标签”,强制输入图像语义标签从参考风格图像的标签上选择。选择的标签通常都和内容一致,比如“湖”和“海”,但从语义观点看这可能导致错误标签。最终的输出图像被正则化项限制,可以看到分割不需要在像素级别那么精准。
方法。将3部分组合起来形成写实风格转移目标函数:
其中L是卷积层总数,l是深度神经网络的第l个卷积层。Γ是控制风格损失的权重。αl和βl是配置层选项的权重。λ是控制写实正则化的权重。
3 实现细节本章实现了方法的细节。采用预先训练的VGG-19作为特征提取器。选择conv4_2(这层αl=1,其他所有层αl=0)作为内容表示, conv1_1, conv2_1, conv3_1, conv4_1, conv5_1(这些层βl=1/5,所有其他层βl=0)作为风格表示。这些层的取值和参数Γ=102 ,λ=104作用于所有结果。λ的取值效果演示如图3所示。
图3:将差别比较大的参考风格图像(a图的左下)转移到一个普通的水平图像中(a)是非常具有挑战性的。我们用不同的λ参数生成了结果。太小的λ值不能阻止扭曲,结果看起来就不太写实,如图(b,c)。相反,太大的λ会抑制风格的转移而生成一个看上去半转移的风格,如图(e,f)所示。我们发现最好的参数λ=104是最好的值,生成我们的结果(d),还有本文中的其他结果。
我们使用论文9作者之前的matlab实现计算拉普拉斯抠图矩阵,修改了神经网络风格算法的开源torch实现。照片写实正则化项的导数用cuda实现,用于梯度优化。
我们用增强风格损失(等式3a)的神经网络风格算法的输出(等式1a)初始化优化算法,优化算法初始化时使用一个随机噪声。这种2步优化比等式4效果更好,由于强大的图像写实正则化,它可以防止对恰当的局部色彩转移的抑制。
我们用论文3的DilatedNet分割输入图像和参考风格图像。这个技术识别了150个分类,我们发现这种精细的分类没有必要,这是导致算法不稳定的一个来源。我们合并了相似的分类,比如,湖、河、海洋和水,这些在我们的应用中是一样的,可以生成一组精简的分类,可以产生更清晰,更简单的分割,最终会生成更好的输出。合并后的标注,如附件详细说明。代码如下:https://github.com/luanfujun/deep-photo-styletransfer。
4. 结果与对比我们做了一系列的实现来验证我们的方法。在报告结果之前,先讨论一下之前的工作。
图4:我们方法与Neural Style和CNNMRF对比。Neural Style和CNNMRF合成的图像上都有很强的扭曲。Neural Style在风格转移的过程完全忽略了语义内容。CNNMRF使用最邻近搜索,会忽略参考风格图像上的大部分问题。我们的方法不会扭曲,匹配语义纹理。
如图4,我们在一系列室内和室外场景上对比了我们的方法和论文5神经网络风格变换与论文10 CNNMRF的方法。两种技术都会产生像绘画的扭曲,是在图像风格转移中不希望得到的。神经网络风格变换还受到溢出的影响,比如,天空用了地面的风格。如之前讨论的CNNMRF经常生成部分风格转移,而忽略了风格图像的主要部分。对比之下,我们的图像写实风格正则化和语义分割防止这些人为情况发生,我们的结果看上去更令人满意。
图5:我们的方法和论文12Reinhard和论文11Pitie方法对比。我们的方法在转移空间变化色彩改变时更具弹性,比之前方法提供更好的结果。
图5中,我们对比了我们的方法和不会扭曲图像的全局风格转移方法。两种技术都使用了全局色彩映射匹配输入图像和风格图像之间的色彩统计,在转移需要空间变化色彩变换时,确保结果高保真。我们的转移是局部的,可以处理对内容敏感的色彩变化。
图6:我们的方法和论文15Shih的方法生成视觉上满意的结果。然而,我们的算法只需要单张风格图像,而不是一整个耗时的视频,而且它还可以处理其他一天内变化的场景。
在图6中,我们与论文15Shih对比了一天中光照变化的场景。两个结果看起来非常不同因为我们的算法直接复制了参考风格图像,Shih的方法只是一种模拟技术,转换视频中的色彩变化。两个结果视觉上都令人满意,哪个更有用取决于应用。从技术角度看,我们的方法更实际,因为只需要在输入图像上添加一张风格照片,Shih的变换需要一个视频,更少的媒介更多的存储空间。除了一天中光照的变换,我们的算法还能处理更多的场景。
图7:手动分割可以处理不同的任务,比如转移火球(b)到一个香水瓶上(a)生成一个火光的样子(c),或者在不同苹果间切换纹理(d,e)。
图7中,只需要提供语义遮罩就可以简单地控制转移结果。这种使用案例可以应用于艺术照片应用场合,它还可以应用于语义标签不起作用的极端情况,比如将透明香水瓶和火球匹配。
图8:极端不匹配时的失效案例。
图8显示了极端不匹配情况下的失效案例。可以使用手动分割进行修复。
我们提供更多的结果与论文19比较,结果是语义分割或图像写实正则化单独分开的,在补充资料中有处理带噪声或高分辨率的输入图像的方案。所有生成的结果都是用NVidia Titan X GPU上用2步优化方法在3~5分钟内优化的。
用户研究。我们用两种用户研究来验证我们的工作。首先,评估了几种图像写实方法:我们的,论文11Pitie的直方图转移方法,CNNMRF方法,Neural Style方法。要求用户对图像进行打分从1到4来评“肯定不是真实图像”到“肯定是真实图像”。4个方法每个使用了8种不同场景,共计32个问题。每个问题平均收集了40个反馈。图9a是CNNMRF和Neural Style生成的非写实结果,这些技术都生成了绘画一样的扭曲。尽管我们的得分低于直方图转移方法,但它其实生成了写实的图像输出。受这个结果的影响,我们第二次研究了风格转移技术的保真度。我们发现全局方法可以在各种不同等级风格保真度下一致性地生成不扭曲的结果。在第二次研究中,我们对比了几种不同的全局方法:Reinhard论文12的统计转移,Pitie论文11的直方图转移和Photoshop Match Color。给用户展示一张风格图像和4个转移输出,3个之前提到的全局方法和我们的(随机提供以避免偏差),用户被要求选择和参考风格图像风格最相似的图像。我们故意不提供输入图像,这样用户就专注于输出图像。我们展示了20个对比,平均每个问题收集了35个反馈。研究表明我们的算法生成的保真度最高超过80%(如图9b)。我们在补充资料中提供了用户研究的网站。
图9:用户研究结果表明我们的算法生成写实的和高保真的结果。
5. 结论我们介绍了一种深度学习方法,可以在不同的图像内容上从参考风格图像上高保真的转移风格。使用了拉普拉斯抠图变换约束从色彩空间上从输入到输出的局部仿射变换。语义分割可以转移更多有意义的风格生成令人满意的写实图像,应用于多种场景,包括转移一天内的不同时间段,天气,季节和艺术编辑。
欢迎勾搭
TaylorGuo @ Shanghai EJU
2017年4月23日星期日 - 4月27日星期四
[2] A. J. Champandard.Semantic style transfer and turning two bit doodles into fine artworks. Mar 2016. 3
[3] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy,and A. L. Yuille. Deeplab:Semantic image segmentation with deep convolutional nets, atrous convolution,and fully connected
crfs. arXiv preprint arXiv:1606.00915, 2016. 2, 4, 5
[4] J. R. Gardner, M. J. Kusner, Y. Li, P. Upchurch,K. Q. Weinberger, K. Bala, and J. E. Hopcroft. Deepmanifold traversal: Changing labels with convolutional features. CoRR, abs/1511.06421, 2015. 2
[5] L. A. Gatys, A. S. Ecker, and M. Bethge. Image style transfer using convolutional neuralnetworks. InProceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages2414–2423, 2016. 1, 2, 3, 5
[6] A. Hertzmann, C. E. Jacobs, N. Oliver, B. Curless,and D. H.Salesin. Image analogies. In Proceedings of the 28th annual conferenceon Computer graphics and interactive techniques, pages 327–340. ACM, 2001. 2
[7] J. Johnson. neural-style.https://github.com/jcjohnson/neural-style, 2015. 4
[8] P.-Y. Laffont, Z. Ren, X. Tao, C. Qian, and J.Hays. Transient attributes for high-level understanding andediting of outdoor scenes. ACM Transactions on Graphics, 33(4), 2014. 2
[9] A. Levin, D. Lischinski, and Y.Weiss. A closed-form solution to natural image matting. IEEE Transactions on Pattern Analysis and MachineIntelligence, 30(2):228–242, 2008. 2, 4
[10] C. Li and M. Wand. Combining markov random fields and convolutionalneural networks for image synthesis. arXiv preprint arXiv:1601.04589, 2016. 2, 3, 5
[11] F. Pitie, A. C. Kokaram, and R. Dahyot. N-dimensional probability density function transferand its application to color transfer. In Tenth IEEE International Conference on ComputerVision (ICCV’05) Volume 1, volume 2, pages 1434–1439. IEEE, 2005. 2, 5, 7
[12] E. Reinhard, M. Adhikhmin, B. Gooch, and P.Shirley. Color transfer between images. IEEE Computer Graphics and Applications, 21(5):34–41,2001. 2, 5, 7
[13] A. Selim, M. Elgharib, and L. Doyle. Paintingstyle transfer for head portraits using convolutional neural networks. ACM Transactionson Graphics (TOG), 35(4):129, 2016. 2
[14] Y. Shih, S. Paris, C. Barnes, W. T. Freeman, andF. Durand. Style transfer for headshot portraits. 2014. 2
[15] Y. Shih, S. Paris, F. Durand, and W. T. Freeman. Data-driven hallucination of different times of dayfrom a single outdoor photo. ACM Transactions on Graphics (TOG), 32(6):200, 2013. 2, 5, 8
[16] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale imagerecognition.arXiv preprint arXiv:1409.1556, 2014. 2, 4
[17] K. Sunkavalli, M. K. Johnson, W. Matusik, and H.Pfister. Multi-scale image harmonization. ACM Transactions on Graphics (TOG),29(4):125, 2010. 2
[18] E. W. Weisstein. Gram matrix. MathWorld–A WolframWeb Resource. http://mathworld.wolfram.com/GramMatrix.html
[19] F. Wu, W. Dong, Y. Kong, X. Mei, J.-C. Paul, andX. Zhang. Content-basedcolour transfer. In Computer Graphics Forum, volume 32, pages 190–203.Wiley Online Library, 2013. 5, 8