使用Tensorflow创建自己的Prisma

原文发自: February 17, 2017

引入

最近人工智能图片滤镜软件Prisma 非常的火,这款图片处理的App 综合了人工 神经网络 技术(neural networks)和人工智能技术,可以获取著名绘画大师和主要流派的艺术风格,然后对照片进行智能风格化处理,将图片转化为艺术化的效果。

安装及环境

  • OS:Win10
  • Python:3.5.2
  • Anaconda:Anaconda 3 – 4.2.0
  • Tensorflow:tensorflow-cpu-0.12,tensorflow-gpu-0.12(支持windows版本)
  • GPU:NVIDIA GeForce GT 735M(特别注意:该显卡不支持CUDA加速运算,所以只能使用CPU运行改程序)

下载项目

下载VGG19网络模型

VGG19网络模型是由牛津视觉几何组(Visual Geometry Group)开发的卷积神经网络结构,它在视觉方面有着不错的表现,项目中也需要用到VGG19网络模型。

  • 下载地址: http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat

将其下载到项目目录中即可,项目结构如下:

image

开始转换(运行程序)

准备工作基本已经就绪。我们将原始图片以及需要学习风格的图片分别放到项目目录中的Content以及Style文件夹中,但在Linux和Windows环境上有些不同。Linux环境:

python neural_style.py --content 原始图片文件名 --styles 风格图片文件名 --out 生成图片文件名

例:python neural_style.py --content ContentFile.jpg --styles StyleFile.jpg --out OutFile.jpg

经过一段时间的处理我们可以在out文件夹中找到转换的文件OutFile.jpg

原始图片示例:

UF7FZz

转换后的风格图片:

ua67vm

Win10环境下:

在Anaconda3集成环境中Jupyter QtConsole的命令窗口中,输入如下命令。(注意:首先需要导入python os package,然后使用os.chdir更改当前工作目录到指定的路径,改路径下就是下载的项目所在文件夹,最后使用%run 命令代替python命令运行程序)

image

进阶修改

当然项目中还有很多其他参数可以摸索,可能会将图片优化的更漂亮。比如:

--iterations    修改迭代次数(默认为1000)
--content_weight   照片权重
--style_weight  风格图片权重
--learning_rate  学习步长

更多的参数可以通过输入如下代码进行查看:

python neural_style.py --help

使用GPU进行转换

在进行完成上述步骤之后,就可以在自己的计算机上使用CPU进行转换自己的图片了。但是由于计算速度的原因,使用CPU处理图片过程比较缓慢(我的CPU:Intel(R) Core(TM) i5-3337 CPU @ 1.8GHz,在进行默认的1000次迭代输出时,频率能够带到2.47GHZ,并且CPU利用率100%的情况下,需要花费8个小时才能转换一张图片),所以尝试开启GPU进行图片处理。

链接见:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值