做一个AI绘画魔法师
第一次接触AI绘画是Make Girls Moe这个项目,通过调整面部的一些参数来生成二次元头像。2022年Stable Diffusion让AI绘画达到了一个新的高度,用户输入一段描述性文本,就可以得到一副精美的画,但画人物时手部结构容易错乱。
当某一天看到如何评价2023年2月AI绘画的最新水平?– 知乎这个帖子的时候,看到AI生成的图片实在是太逼真了,遂产生了自己也要动手玩一下的想法。
先看看成品
AI偶尔也会抽风,这里放出来的是我尝试的几个模型中生成的较完美的作品,整体的效果让我感到非常的惊艳。现在网上也有很多的教程,模型也得到了共享,甚至很多人会分享出自己的Prompt,只需要傻瓜式照着做就能得到不错的效果。
下面分享一下我的搭建过程。
搭建
服务器
因为我现在手上没有算力较好的显卡,所以是搞了一个腾讯云的GPU服务器,服务器的参数如下:
- 8核CPU
- 32GB内存
- NVIDIA T4显卡
- Ubuntu Server 18.04
Stable Diffusion Web UI
Stable Diffusion Web UI是一个Web站,能够方便的加载模型,调整模型参数,完成推理和训练过程,并且可以安装插件,拓展功能。
安装方法可以参考项目README,在安装之前,请确保python的版本是3.10
以上,不然会安装报错。升级python版本可以参考这个文章
如果在安装过程中出现Couldn't install gfpgan
的问题,可以尝试将项目根目录的下launch.py
中的prepare_environment
方法中的所有https://github.com/
替换成https://ghproxy.com/https://github.com/
,然后保存并重新运行./webui.sh
即可。
整个安装过程可能会非常的慢,需要下载非常多的依赖。安装完成后就可以通过localhost:7860
访问到网站。
模型
Civitai上有非常多大家训练好并分享出来的模型,当然,这里面有很多「限制级」的东西。
checkpoint
类别的模型,需要放到models/Stable-diffusion
路径下,而LoRA
类别的模型需要放到models/Lora
目录下。
LoRA指的是Low-Rank Adaptation of Large Language Models,Stable Diffusion
是大模型,有非常多的参数,而LoRA
可以微调一些参数,影响模型最终生成的效果。
Civitai
内有很多Prompt的分享,可以直接参考,效果都非常的不错。
Control Net
Control Net可以「控制」模型生成的结果,比如控制生成的图片的人物姿势,非常的强大。当AI生成的手部结构不正常时,可以通过局部重绘加上Control Net
来重新生成合理的手部结构,达到修复的效果。
Prompt
Prompt是影响模型生成效果的重要因素,合适的描述才能让AI画出自己想要的效果。网络上有很多总结的Prompt关键词,可以参考,比如这一篇
最后
因为技能和时间的关系,没有去尝试自己训练一个模型,仅仅是参考网上的教程和现有的模型资源进行简单的尝试,但这已经感到非常的满足了。
在愉快的玩耍过后,冷静下来发现这里面存在很多非常危险的事情。最近AIGC大火,人们在讨论AI又让一大批人失业的时候,黑灰产已经利用AIGC来进行获利,如何有效的监管是值得思考的一个问题,对安全从业者来说也是一个巨大的冲击。