python学画画(下)
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解
导语
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解
这大概是去年深度学习最火的应用之一了吧,利用神经网络将世界名画的画风迁移到任意一张普通的图片上。
还是先放图!
![](/attachments/image/20180808/1533721193790331.png)
左边是待转换图片,右边是供以学习画风的图片:
![](/attachments/image/20180808/1533721209204930.jpg)
![](/attachments/image/20180808/1533721214565532.jpg)
结果:
![](/attachments/image/20180808/1533721219288001.jpg)
再来一组:
![](/attachments/image/20180808/1533721226864530.jpg)
![](/attachments/image/20180808/1533721232599769.jpg)
![](/attachments/image/20180808/1533721236919171.jpg)
所需工具获取
百度网盘下载链接: https://pan.baidu.com/s/1yJTxYBmV2rfLdNt2s53N_A
密码: bqjs
工具清单
所给出的文件包括:
该项目实现的原理论文: "A Neural Algorithm of Artistic Style";
GitHub上相关项目的源文件(TensorFlow实现);
该项目实现的Keras版本(也是获得前面两个例子的源代码,我做了一些注释)。
使用说明
STEP1:
将所提供的models文件夹放在类似下图所示的路径下:
![](/attachments/image/20180808/1533721242753853.png)
STEP2:
运行所提供的ImitationPaintings.py文件,格式为python ImitationPaintings.py+待转化图片路径+模板图片路径+生成图片保存路径加名称(注意不需要有.jpg等后缀),例如:
![](/attachments/image/20180808/1533721248456781.png)
实现起来就是这么简单,默认迭代次数为10,运行所需时间略久,至于具体的原理,可以参见论文和相关的GitHub项目(因为所需的理论基础实在太多,我也不知道如何介绍其原理,这里推荐一篇博文:http://www.cnblogs.com/mangoyuan/p/6329410.html个人觉得写的一般,想要明白具体原理还是需要研读论文和源代码才行)。
其他库实现风格转换
1.基于python深度学习库DeepPy的实现:
https://github.com/andersbll/neural_artistic_style
2.基于python深度学习库Caffe的实现:
https://github.com/fzliu/style-transfer
3.基于python深度学习库TensorFlow的实现:
https://github.com/log0/neural-style-painting
最后再放些图片吸引一下大家吧
下面是一些别人跑出来的结果,感觉很nice。
![](/attachments/image/20180808/1533721254553931.jpg)
![](/attachments/image/20180808/1533721268514861.jpg)
![](/attachments/image/20180808/1533721264803147.jpg)
![](/attachments/image/20180808/1533721272141777.jpg)
![](/attachments/image/20180808/1533721290244816.jpg)
![](/attachments/image/20180808/1533721286727398.jpg)
![](/attachments/image/20180808/1533721296918704.jpg)
![](/attachments/image/20180808/1533721319735504.jpg)
![](/attachments/image/20180808/1533721314403894.jpg)
![](/attachments/image/20180808/1533721325797062.jpg)
![](/attachments/image/20180808/1533721330573716.jpg)
![](/attachments/image/20180808/1533721335891318.jpg)
![](/attachments/image/20180808/1533721339587929.jpg)