首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Deep Photo Styletransfer的一种纯Tensorflow实现,教你如何转换图片风格

Deep Photo Styletransfer的一种纯Tensorflow实现,教你如何转换图片风格

作者头像
AiTechYun
发布2018-03-02 17:05:21
1.7K0
发布2018-03-02 17:05:21
举报
文章被收录于专栏:ATYUN订阅号ATYUN订阅号

通过深度学习,一秒钟让你的照片高大上,这是康奈尔大学和 Adobe 的工程师合作的一个新项目,通过卷积神经网络把图片进行风格迁移。项目已开源,名字叫「Deep Photo Style Transfer」。

本文这个项目将介绍Deep Photo Styletransfer的一种纯Tensorflow实现,如果你想找到torch实现的话,地址:https://github.com/luanfujun/deep-photo-styletransfer。

这个实现支持L-BFGS-B(这是原作者所使用的)和Adam算法,以防当Tensorflow升级到更高版本时,Scipy优化器接口不兼容。

由于Tensorflow的自动微分(automatic differentiation),这一实现可能会变得更简单一些。此外,由于另一种存储库(repository)计算方法——Matting Laplacian稀疏矩阵,实现也没有对MATLAB存在依赖。

下面是将照片风格转移成另一张照片的例子。

图片出处:见水印

免责声明:

本软件仅供学术和非商业用途使用。

设置

依赖关系

  • Tensorflow
  • Numpy
  • Pillow
  • Scipy
  • PyCUDA (用于平滑的局部仿射(local affine),在CUDA 8.0上进行测试)

建议使用Anaconda Python,因为你只需要手动安装Tensorflow和PyCUDA。CUDA你可以选择性的安装,但它确实是值得推荐的。

下载VGG-19模型权重

在VGG Tensorflow中采用了Tensorflow的VGG-19模型,在类接口上几乎没有修改。VGG-19模型权重存储为.npy文件,可以在这里下载。下载后,将weight file复制到./project/vgg19目录。

使用

基本用法

你需要指定内容图像的路径,样式图像,内容图像分割,样式图像分割,然后运行命令。

python deep_photostyle.py --content_image_path <path_to_content_image> --style_image_path <path_to_style_image> --content_seg_path <path_to_content_segmentation> --style_seg_path <path_to_style_segmentation> --style_option 2

例:

python deep_photostyle.py --content_image_path ./examples/input/in11.png --style_image_path ./examples/style/tar11.png --content_seg_path ./examples/segmentation/in11.png --style_seg_path ./examples/segmentation/tar11.png --style_option 2

其它选项

–style_option指定了三种不同的样式传输方式。–style_option 0是生成分段的中间结果,就像是torch中的neuralstyle_seg.lua文件。–style_option 1使用这个中间结果来生成最后的结果,比如torch中的deepmatting_seg.lua文件。–style_option 2将这两个步骤组合为一个行命令来直接生成最终结果。

运行python deep_photostyle.py –help来查看所有选项的列表。

图像分割

这个存储库(repository)不提供图像分割脚本,只使用来自torch版本的分割图像。使用的Mask颜色也和它们一样。你可以指定分割模型和Mask颜色来定制你自己的图像风格转变。

例子

这些都是Tensorflow算法的结果(从左到右是输入、风格、torch结果和Tensorflow结果)。

  • 我们的Tensorflow实现基本上遵循了torch代码。
  • 我们使用martinbenson的python代码来计算Matting Laplacian。

引用

如果你发现这段代码对你的研究有用,请引用:

@misc{YangPhotoStyle2017,
  author = {Yang Liu},
  title = {deep-photo-style-transfer-tf},
  publisher = {GitHub},
  organization={Alibaba-Zhejiang University Joint Research Institute of Frontier Technologies},
  year = {2017},
  howpublished = {\url{https://github.com/LouieYang/deep-photo-styletransfer-tf}}
}

此文为编译作品,作者LouieYang,出处GitHub。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ATYUN订阅号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设置
  • 下载VGG-19模型权重
  • 使用
  • 其它选项
  • 图像分割
  • 例子
  • 引用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档