大家好,我是麻瓜不是花。自从我上传第一个AI绘画的视频后,我收到了许多很有意思的反馈,同时也有不少粉丝过来咨询我使用教程。我很高兴能有这么多人对AI绘画感兴趣,针对观众们的反应,我于是写下了这份保姆级绘画教程。希望它能够让普通人也能够称为一名绘画大师,创作自己喜欢的绘画作品,同时这份教程也作为我之前作品的一些总结吧。

这个AI绘画如果要自己玩的话,实际上是有两种方法可以使用的。第一种是在自己的电脑上本地训练运行,这个需要电脑满足一定的硬件条件;第二种是在GoogleColab上运行,不需要硬件条件,运行更简单方便。答主的电脑没有优秀的硬件条件,于是使用了第二种方法,同时也推荐大家使用第二种哦。
Github 项目地址:https://github.com/jiupinjia/stylized-neural-painting

方法一:本地电脑训练运行
1.搭建本地运行环境
根据 Requirements.txt 安装依赖库即可,也没有什么特殊的库,缺什么库就安装什么。

Requirements.txt
2.下载模型权重文件
进入上面给出的GitHub网址,下载四个训练好的权重文件,分别对应四种画笔。如果你想只用一种画笔的话(比如答主使用的都是oil-paint brush),下载想要的画笔即可。

下载完后解压它们,分别放到文件下相应的文件夹中。

3.在demo_prog.py中运行程序
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
其中需要注意修改几个参数:
img_path:要输入的图片路径
canvas_color:画板的背景颜色。
canvas_size:画版大小。
max_m_strokes :控制笔画的数量,可以理解为完成一幅画需要总的笔画数。
max_divide:控制笔划的大小,画作最后的细致程度,数值越大越精细。
renderer:画作风格,可选参数有watercolor、markerpen、oilpaintbrush、rectangle。
renderer_checkpoint_dir:权重文件路径,该类型要和renderer对应起来。可以理解为一种笔刷renderer类型对应一种笔刷renderer训练好的文件。
最终的生成效果会根据笔划,由少到多,保存在 output 文件夹里。

方法二:Google Colab训练运行
首先在Github页面进入Colab Runtime

进入后页面是这样的

接着往下逐行运行这三个代码块

运行成功后,点击左侧的文件夹按钮,可以看到GitHub上的文件目录被我们clone了下来,然后可以显示出stylized-neural-painting这个文件夹已经被放到了我们的文件目录当中。

接下来我们要做的就是把自己想要画的图片,放入test_images文件夹中
在刚刚的文件夹下,打开test_images目录,可以看到里面有许多系统预设的图片样本。(如果你想直接绘制这些预设的图片样本,可以省略下面把自己的图片导入的操作)
右键test_images文件夹,点击上传。

上传成功后可以看到自己的图片被导入到了test_images文件夹中(这里是bing.jpg)

接着就可以修改网络训练参数了。
这里的参数和之前的参数解释是一样的(每个参数后面都有对应解释),首先需要把自己需要绘制的图片路径(img_path)更改一下,其他参数根据自己的需要进行修改。(这里我们使用默认的)

接着往下运行代码块



在这步我们就把需要的模型文件下载了下来,这里只是下载了oilpaintbrush模型(如果你需要其他模型也可以下载其他的)

运行到最后一个代码块,网络就开始训练了。

训练完成后,运行下面的代码块就可以显示最后绘制的图片啦!

接下来打开output文件夹,可以看到网络给我们生成了两个文件,一个是绘制动画的视频文件、另一个是图片集文件。右键把他们下载下来,就可以在自己的电脑上看到啦!


最后生成的视频文件:bing_animated.mp4