做一个AI绘画魔法师

2023-02-27
3分钟阅读时长

第一次接触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来进行获利,如何有效的监管是值得思考的一个问题,对安全从业者来说也是一个巨大的冲击。