查看原文
其他

开源|如何基于深度学习实现深度写实摄影风格的转换(附源码)

2017-03-25 全球人工智能

全球人工智能



来源:Github  作者:Fujun Luan  翻译:林一鸣


深度摄影风格转换的实现,是以论文《Deep Photo Style Transfer》为基础的,文章最后附论文和资源链接。


论文摘要


本文介绍了一种基于深度学习的写实深度摄影风格转换方法,可以处理各种图像内容,同时如实地转移参考风格到输入图像。我们的方法建立在最近画家风格转移(如梵高的星空)的工作。这些工作虽然能利用神经网络的不同层把风格与图像的内容分开,但是他们不适合写实摄影风格转换。即使输入和参考图像都是摄影图片,输出图像仍然表现出让人想起绘画的失真。我们的贡献,是将输入到输出的变换约束为色彩空间的局部仿射变换,同时把这个约束表达为一个可以反向传播的卷及网络层。实验证明,这个方法成功地抑制了失真,并且能在各种各样的场景中生成令人满意写实风格转换效果,包括时间,天气,季节和艺术性编辑的转移效果。

 

深度摄影风格转换


设置


使用 "Deep Photo Style Transfer"中的相应代码和数据,代码基于torch,在Ubuntu 14.04 LTS操作系统上测试通过。

 

依赖的开发环境:Torch (包括 matio-ffi 和 loadcaffe)和Matlab。


CUDA zhi:CUDA、cudnn


下载 VGG-19的代码:shmodels/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>.png, examples/style/tar<id>.png和examples/segmentation/in<id>.png, examples/segmentation/tar<id>.png;


2、在MATLAB里用gen_laplacian/gen_laplacian.m计算拉普拉斯矩阵。生成矩阵名字如下: 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>


4. 最终结果:

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


注意:在论文中我们用基于 DilatedNet自动场景分割算法生成对照结果。手动分割使更多样化的任务成为可能,所以wo把掩码放在 examples/segmentation/。


实例


我们的算法产生的结果如下(从左到右分别是输入图,风格图和结果):



致谢


  • 我们的Torch实现基于Justin Johnson的代码(https://github.com/jcjohnson/neural-style);

  • 我们用了 Anat Levin的Matlab 代码(http://www.wisdom.weizmann.ac.il/~levina/matting.tar.gz)来计算kou't拉普拉斯矩阵。


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

GitHub资源:https://github.com/luanfujun/deep-photo-styletransfer


热门文章推荐

最新|2017年全球top50机器人公司,大疆仅排第⑨名!

最新|Yann LeCun昨天在清华都讲了什么?(附精彩视频)

重磅|百度AI负责人吴恩达(Andrew Ng)宣布将从百度辞职

Google发布Distill平台:欲搭建机器学习生态系统

开源|2017 CVPR(Oral Paper):多目标实时体态估测 项目开源

重磅|IBM和万达签订战略合作协议 助推Watson在华落地

重磅|Google发布新开源图像算法工具Guetzli:压缩35%的图片大小仍保证高质量

重磅|3.15曝光的“人脸识别”技术真的那么脆弱吗?!

重磅|谷歌DeepMind将“记忆”植入机器学习,从而提高机器持续的自适应学习!

资源|28本必读的经典机器学习/数据挖掘书籍(免费下载)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存