资源 | 下一代PS工具:Adobe照片级图像风格转换的Torch实现

2017 年 3 月 29 日 机器之心

选自arxiv

作者:栾福军等

机器之心编译

参与:李泽南、微胖


康奈尔大学与 Adobe 的研究者们最近发布了一项通过卷积神经网络进行照片风格迁移的研究。随后,该技术在 Torch 中的实现也已出炉。读者可以点击阅读原文下载论文。


论文地址:https://arxiv.org/abs/1703.07511

项目地址:https://github.com/luanfujun/deep-photo-styletransfer


图像风格迁移的研究在人工智能领域层出不穷,作为图像处理软件的龙头,Adobe 的努力非常引人注目。最近,康奈尔大学与 Adobe 的研究者们发布了一项通过卷积神经网络进行图片风格迁移的研究。在本研究的论文中,作者宣称解决了神经网络风格迁移中参考图像风格化导致输出图像「畸变」的问题,新的模型在各种图片内容的测试中表现良好,同时忠实地再现了参考图片中风格迁移的效果。它或许可以成为下一代 Photoshop 的功能之一。


论文:Deep Photo Style Transfer



摘要:


本论文介绍了一种实现照片风格迁移的深度学习方法,这种方法可以处理很多不同种类的照片内容,同时还能如实迁移参考风格。近期,我们研究了美术风格迁移,通过研究神经网络的不同层级将风格从图片内容中分离出来,本论文就是建立在这一研究基础上。过去的办法并不适合图像现实主义风格的迁移,即使输入和参考图片都是照片,但仍然会输出畸变(distortions)的结果。我们的贡献在于将输入到输入的变换限制为空间内的精确色彩变化,并将此约束表示为可以反向传播的自定义 CNN 层。我们的实验表明,这一办法成功地抑制了图片在各种不同场景下(包括一天的各个时间段,各种天气,季节以及艺术风格编辑)的风格扭曲,照片现实主义(photorealistic)风格迁移的效果也令人满意。


图 1:(a)是参考风格,(b)是输出的图像,我们希望输出的效果能仍然和输入一样,属于照片风格,不过风格是参照图片的风格。Neural Style 算法(C)虽然可以成功迁移颜色,不过输出效果会有些扭曲,看起来更像是画作,这并是不照片风格迁移想要的结果。对比之下,我们的结果(d)不仅可以成功迁移作为参照的风格图片,还可以维持输出的照片现实主义风格。右边(e)就是上面不同效果的集合对比。


图 2:在研究中,开发者向不同的模型输入图片(a),参考图片(e),对风格迁移效果进行了比较。相比 CNNMRF 等其他研究得出的结果,新模型(d)可以防止扭曲并正确地匹配纹理。


图 7:通过手动分割,可以让系统完成多种任务,如:为香水瓶(a)加入火焰效果(c),切换不同苹果(d,e)之间的纹理颜色。


图 8:用户反馈意见显示康奈尔大学和 Adobe 的新研究实现了目前最好的效果


结论


在本论文中,研究者通过自定义卷积神经网络层中的拉普拉斯抠图矩阵(Matting Laplacian)来限制输入到输出的变化,从而改善了风格转换中色彩变化的效果。而语义分割的引入带来了更多效果绝佳的风格迁移。在各种各样的场景中,包括不同时间,天气,季节和艺术风格,都能获得令人满意且逼真风格的转换。在未来,研究者们将继续探索神经网络自动语义匹配的方法,以消除目前图像分割算法的局限性。


安装


本研究的代码基于Torch,并在Ubuntu 14.04 LTS的系统中进行了测试。


系统需求


  • Torch (带有matio-ffi 和 loadcaffe)

  • Matlab


CUDA 后端:


  • CUDA

  • cudnn


下载 VGG-19:


sh models/download_models.sh


编译 cuda_utils.cu (请在makefile中调整 PREFIX 和 NVCC_PREFIX ):


make clean && make


使用


直接使用


想使用已有数据直接生成结果 (在 examples/中) 请在Matlab中直接运行:


run('gen_laplacian/gen_laplacian.m')


随后在Python中:


python gen_all.py


输出的结果会在 examples/final_results/中。


基础使用


1.给定输入图像和具有语义分割蒙版的风格图像,将其分别放入 examples/ 。它们会以如下格式被自动命名:examples/input/in<id>.pngexamples/style/tar<id>.png examples/segmentation/in<id>.pngexamples/segmentation/tar<id>.png;


2.在Matlab中使用 gen_laplacian/gen_laplacian.m i来计算消光拉普拉斯矩阵,则输出矩阵的文件命名格式为: gen_laplacian/Input_Laplacian_3x3_1e-7_CSR<id>.mat;


3.运行以下代码以获得分段的中间结果:


th neuralstyle_seg.lua -content_image <input> -style_image <style> -content_seg <inputMask>
-style_seg <styleMask> -index <id> -serial <intermediate_folder>


运行以下代码获得最终结果:


th deepmatting_seg.lua -content_image <input> -style_image <style> -content_seg <inputMask> -style_seg <styleMask>
-index <id> -in
it_image <intermediate_folder/out<id>_t_1000.png> -serial <final_folder>
-f_radius 15 -f_edge 0.01


注意:在论文中,我们使用源自DilatedNet的自动场景分割算法生成比较结果。手动分割可以实现更加多样化的任务,因此我们在examples / segmentation /中提供了相关代码。


示例


该算法的示例图片(左侧为输入图,中间为风格参考图,右侧为输出):



致谢

本研究的Torch实现基于Justin Johnson的代码:https://github.com/jcjohnson/neural-style;

拉普拉斯抠图矩阵(matting Laplacian matrix)使用了Anat Levin在Matlab的代码:http://www.wisdom.weizmann.ac.il/~levina/matting.tar.gz。



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:editor@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

登录查看更多
0

相关内容

最新《自然场景中文本检测与识别》综述论文,26页pdf
专知会员服务
69+阅读 · 2020年6月10日
 【SIGGRAPH 2020】人像阴影处理,Portrait Shadow Manipulation
专知会员服务
28+阅读 · 2020年5月19日
【天津大学】风格线条画生成技术综述
专知会员服务
31+阅读 · 2020年4月26日
【芝加哥大学】可变形的风格转移,Deformable Style Transfer
专知会员服务
30+阅读 · 2020年3月26日
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
53+阅读 · 2019年11月20日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
学习一个宫崎骏画风的图像风格转换GAN
AI科技评论
18+阅读 · 2020年3月13日
用AI实现动画角色的姿势迁移,Adobe等提出新型「木偶动画」
机器学习算法与Python学习
7+阅读 · 2019年10月13日
还在PS里手动描边?AI自动抠图只需5秒
机器之心
12+阅读 · 2018年12月19日
已删除
将门创投
7+阅读 · 2018年8月28日
【学界】实景照片秒变新海诚风格漫画:清华大学提出CartoonGAN
GAN生成式对抗网络
14+阅读 · 2018年6月20日
风格迁移原理及tensorflow实现-附代码
机器学习研究会
19+阅读 · 2018年3月25日
图像风格迁移(Neural Style)简史
乌镇智库
5+阅读 · 2017年7月31日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Deformable Style Transfer
Arxiv
14+阅读 · 2020年3月24日
Revisiting CycleGAN for semi-supervised segmentation
Arxiv
3+阅读 · 2019年8月30日
Arxiv
53+阅读 · 2018年12月11日
Arxiv
8+阅读 · 2018年5月1日
VIP会员
相关VIP内容
最新《自然场景中文本检测与识别》综述论文,26页pdf
专知会员服务
69+阅读 · 2020年6月10日
 【SIGGRAPH 2020】人像阴影处理,Portrait Shadow Manipulation
专知会员服务
28+阅读 · 2020年5月19日
【天津大学】风格线条画生成技术综述
专知会员服务
31+阅读 · 2020年4月26日
【芝加哥大学】可变形的风格转移,Deformable Style Transfer
专知会员服务
30+阅读 · 2020年3月26日
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
53+阅读 · 2019年11月20日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
相关资讯
学习一个宫崎骏画风的图像风格转换GAN
AI科技评论
18+阅读 · 2020年3月13日
用AI实现动画角色的姿势迁移,Adobe等提出新型「木偶动画」
机器学习算法与Python学习
7+阅读 · 2019年10月13日
还在PS里手动描边?AI自动抠图只需5秒
机器之心
12+阅读 · 2018年12月19日
已删除
将门创投
7+阅读 · 2018年8月28日
【学界】实景照片秒变新海诚风格漫画:清华大学提出CartoonGAN
GAN生成式对抗网络
14+阅读 · 2018年6月20日
风格迁移原理及tensorflow实现-附代码
机器学习研究会
19+阅读 · 2018年3月25日
图像风格迁移(Neural Style)简史
乌镇智库
5+阅读 · 2017年7月31日
相关论文
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Deformable Style Transfer
Arxiv
14+阅读 · 2020年3月24日
Revisiting CycleGAN for semi-supervised segmentation
Arxiv
3+阅读 · 2019年8月30日
Arxiv
53+阅读 · 2018年12月11日
Arxiv
8+阅读 · 2018年5月1日
Top
微信扫码咨询专知VIP会员