当前位置:   article > 正文

Python实现艺术风格绘图_python 画画风格模拟算法

python 画画风格模拟算法

简介

艺术风格绘图的论文Stylized Neural Painting及其实现是密歇根大学安娜堡分校、网易伏羲AI实验室、北京航空航天大学的研究成果。

功能如下:

  • 图像转绘画
    • 油笔画
    • 马克笔画
    • 水彩画
    • 胶带艺术
  • 风格迁移
  • 像素风格
  • 高分辨率

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述




安装

1. 源代码

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
  • 1

Python库

pip install -r requirements.txt
  • 1

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_L1L1 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
  • 1

逐步渲染(轻量级模型,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
  • 1

直接使用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
  • 1

效果
在这里插入图片描述




马克笔画

逐步渲染

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
  • 1

逐步渲染(轻量级模型,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
  • 1

直接使用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
  • 1

效果
在这里插入图片描述




风格迁移

生成绘画和笔触参数

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
  • 1

选择样式图像进行风格迁移

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
  • 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
  • 1

效果




遇到的坑

  1. 报错AttributeError: module 'torch.jit' has no attribute 'unused'
pip install torchvision==0.4.1
  • 1




参考文献

  1. Stylized Neural Painting
  2. stylized-neural-painting GitHub
  3. 美术生都要膜拜的AI,照片迅速被画成艺术画
  4. 根据显卡型号选择CUDA和cuDNN进行TensorFlow GPU版本安装
  5. PyTorch踩坑记录
  6. module ‘torch.jit’ has no attribute ‘unused’
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/87657
推荐阅读
相关标签
  

闽ICP备14008679号