文章目录
- 简介
- 安装
- 参数
- 油笔画
- 马克笔画
- 风格迁移
- 像素风格
- 遇到的坑
- 参考文献
功能如下:
- 图像转绘画
- 风格迁移
- 像素风格
- 高分辨率
安装
2. PyTorch
在PyTorch官网,根据操作系统、Python、CUDA版本后复制执行命令
pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
Python库
pip install -r requirements.txt
PyTorch模型(按需下载)
PyTorch轻量级模型(GPU显存不够下这个)
模型解压到源码的目录中
如果下载速度较慢,可尝试本人网盘共享的模型下载
参数
参数 | 描述 | 默认值 |
img_path | 测试图像路径 | ./test_images/sunflowers.jpg |
renderer | 渲染器 | oilpaintbrush |
canvas_color | 画布颜色 | black |
canvas_size | 画布尺寸 | 512 |
keep_aspect_ratio | 保持输入长宽比 | False |
max_m_strokes | 最大冲程数 | 500 |
max_divide | 图像最大分割块数 | 5 |
m_grid | 划分一个图像 | 5 |
beta_L1 | L1 loss的权重 | 1.0 |
with_ot_loss | 使用最优转换loss提高收敛 | False |
beta_ot | 最优转换损失的权重 | 0.1 |
net_G | 网络类型 | zou-fusion-net-light |
renderer_checkpoint_dir | 渲染器的路径 | ./checkpoints_G_oilpaintbrush_light |
lr | 学习率 | 0.005 |
output_dir | 输出图像路径 | ./output |
disable_preview | 是否可视化 | False |
油笔画
逐步渲染
python demo_prog.py --img_path ./test_images/apple.jpg --canvas_color 'white' --max_m_strokes 500 --max_divide 5 --renderer oilpaintbrush --renderer_checkpoint_dir checkpoints_G_oilpaintbrush --net_G zou-fusion-net
逐步渲染(轻量级模型,GPU内存消耗更低,速度更快)
python demo_prog.py --img_path ./test_images/apple.jpg --canvas_color 'white' --max_m_strokes 500 --max_divide 5 --renderer oilpaintbrush --renderer_checkpoint_dir checkpoints_G_oilpaintbrush_light --net_G zou-fusion-net-light
直接使用mxm网络渲染
python demo.py --img_path ./test_images/apple.jpg --canvas_color 'white' --max_m_strokes 500 --m_grid 5 --renderer oilpaintbrush --renderer_checkpoint_dir checkpoints_G_oilpaintbrush --net_G zou-fusion-net
效果
马克笔画
逐步渲染
python demo_prog.py --img_path ./test_images/diamond.jpg --canvas_color 'black' --max_m_strokes 500 --max_divide 5 --renderer markerpen --renderer_checkpoint_dir checkpoints_G_markerpen --net_G zou-fusion-net
逐步渲染(轻量级模型,GPU内存消耗更低,速度更快)
python demo_prog.py --img_path ./test_images/diamond.jpg --canvas_color 'black' --max_m_strokes 500 --max_divide 5 --renderer markerpen --renderer_checkpoint_dir checkpoints_G_markerpen_light --net_G zou-fusion-net-light
直接使用mxm网络渲染
python demo.py --img_path ./test_images/diamond.jpg --canvas_color 'black' --max_m_strokes 500 --m_grid 5 --renderer markerpen --renderer_checkpoint_dir checkpoints_G_markerpen --net_G zou-fusion-net
效果
风格迁移
生成绘画和笔触参数
python demo.py --img_path ./test_images/sunflowers.jpg --canvas_color 'white' --max_m_strokes 500 --m_grid 5 --renderer oilpaintbrush --renderer_checkpoint_dir checkpoints_G_oilpaintbrush --net_G zou-fusion-net --output_dir ./output
选择样式图像进行风格迁移
python demo_nst.py --renderer oilpaintbrush --vector_file ./output/sunflowers_strokes.npz --style_img_path ./style_images/fire.jpg --content_img_path ./test_images/sunflowers.jpg --canvas_color 'white' --net_G zou-fusion-net --renderer_checkpoint_dir checkpoints_G_oilpaintbrush --transfer_mode 1
可指定transfer_mode
,0只迁移颜色,1迁移颜色和纹理
效果
像素风格
python demo_8bitart.py --img_path ./test_images/monalisa.jpg --canvas_color 'black' --max_m_strokes 300 --max_divide 4
效果
遇到的坑
- 报错
AttributeError: module 'torch.jit' has no attribute 'unused'
pip install torchvision==0.4.1