【Tensorflow】卷积神经网络图片风格转化
512 字
3 分钟
【Tensorflow】卷积神经网络图片风格转化

0x00
之前有一款火爆网络的图像风格转化软件 Prisma,它能将一张普通的图片转成各种艺术风格的图像。现在简单来了解一下背后的算法原理及使用Tensorflow实现一下。
0x01 原理简述
2016 CVPR 一篇文章:” Image Style Transfer Using Convolutional Neural Networks”(文章翻译) 提出了这种算法。
算法流程图:

简单地说就是使用一个训练好的卷积神经网络 VGG-19(19层VGG网络包含16个卷积层和5个池化层),而这个网络在ImageNet上已经有训练好了的。
假如现在有一张风格图像和一张普通图像,风格图像经过VGG-19 的时候在每个卷积层会得到很多 feature maps, 这些feature maps 组成一个集合 A,同样的,普通图像 通过 VGG-19 的时候也会得到很多 feature maps,这些feature maps 组成一个集合 B ,然后生成一张随机噪声图像 ,同样 随机噪声图像 通过VGG-19 的时候也会生成很多feature maps,这些 feature maps 构成集合 C ,最终的优化函数是希望调整 C 让 随机噪声图像 最后既保持普通图像 的内容, 又有一定的风格图像的风格。

想要了解更多请阅读原文 ” Image Style Transfer Using Convolutional Neural Networks”(文章翻译)
0x02 实现
较好的实现项目:
- neural-style *需要性能较好的计算机。512 x 512分辨率的图片使用不同硬件进行1000次迭代性能对比:
- GTX 1080 ~60s
- Maxwell Titan X ~90s
- Intel Core i7-5930K ~1h
- fast-neural-style-tensorflow *可以使用预训练模型或自己训练模型,使用预训练的模型在性能较低的计算机上也能较好地实现。
这里使用预训练模型。
Tensorflow安装
克隆项目:
git clone https://github.com/Rehtt/fast-neural-style-tensorflow.git运行:
#图像python eval.py --model_file <wave.ckpt-done模型的路径> --image_file img/test.jpg
#视频python video.py --model_file <wave.ckpt-done模型的路径> --video_file video/test.mp4 --out_video_file video/video.mp4详情及训练模型请阅读说明
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
【人工智能】TensorFlow Windows安装
杂项2018-10-07
2
【Linux】在AWS上配置人头识别环境
Linux笔记2019-04-25
3
【NFC】恢复被写入cpu卡SAK的CUID魔术卡
杂项2026-05-10
4
【脚本】在jetson nano上使用摄像头分段录像并开启端口推流
杂项2026-01-08
5
【杂项】ssh隐匿登录
杂项2025-08-13
随机文章随机推荐















加载更多…