1. 项目介绍
今天我们要做的是一个快速图像风格迁移的程序.
那么, 什么是图像风格迁移? 图像风格迁移就是把一种图像风格转变为另一种图像风格. 例如, 原图为:
加上不同风格的图像可以得到如下不同的结果:
2. 使用训练好的模型来生成图像
2.1 环境
- Python
- Tensorflow
2.2 模型下载
训练好的模型有 7 个, 表示 7 种类型的风格, 模型文件的百度云:
模型的百度云地址 https://pan.baidu.com/s/1i5CioT2PUdWikUI-Y16O8w
密码: 35pg
2.3 使用训练好的模型
在项目根目录下执行:
python eval.py --model_file <your path to wave.ckpt-done> --image_file img/test.jpg
--model_file 是模型的路径, 可以选择 7 个模型中的一个
--image_file 是原始图片的路径
新的图片会存放在项目根目录下: generated/res.jpg
3. 训练一个新的模型
3.1 下载 VGG16 模型
如果要训练一种新的图像风格, 可以先下载 VGG16 的模型:
VGG16 模型 https://pan.baidu.com/s/13bJrr0PY6KhA2715SymiGw
密码: ykfy
然后在项目根目录下新建一个名为 pretrained 的文件夹, 把 vgg16 的模型文件放入 pretrained 文件夹中.
3.2 下载 COCO 数据集
下载地址
把解压后的 train2014 文件夹放在项目根目录下.
3.3 创建新的 YAML 文件
找一个新的风格的图片, 比如找一个火的图片, 路径在 img/fire.jpg. 复制 conf 文件夹中 wave.YAML 文件, 然后改名 fire.YAML. 把 fire.YAML 中的:
- style_image: img/wave.jpg
- naming: "wave"
改为
- style_image: img/fire.jpg
- naming: "fire"
3.4 训练新的图像风格
python train.py -c conf/fire.YAML
4. 视频的风格转换
需要安装 opencv, 安装方式:
pip install opencv-python
准备好一个视频文件, 然后在项目根目录下执行
python video.py --model_file models/wave.ckpt-done --video_file video/a.mp4
--model_file 是模型的路径, 可以选择 7 个模型中的一个
--video_file 是视频文件的路径
视频效果 https://v.qq.com/x/page/w0812x561pe.html
5. 项目打包
大家可以去我的 GitHub 下载源代码:
qbf 的 GitHub https://github.com/Qinbf/tf-model-zoo/
来源: http://www.bubuko.com/infodetail-2883574.html