《stable diffusion》是2022年发布的深度学习文字到图像生成模型。它主要用于根据文字的描述产生详细图像,能够在几秒钟内创作出令人惊叹的艺术作品,不过它是收费的,每个用户大约只能生成200张图片,额度用完之后需要充值才能使用。
stable diffusion手机版下载:点击下载
stable diffusion官网地址:点击进入
stable diffusion安装使用教程
一、前言介绍
目前市面上比较权威,并能用于工作中的AI绘画软件其实就两款。一个叫Midjourney(下文简称MJ),另一个叫stable-diffusion(下文简称SD)。
MJ目前不免费,想要使用必须充值,一个月10美元。普通人想玩玩AI绘画,并不划算。而SD开源免费,但是上手难度高,学习成本大,单就一个安装就能难倒一大片人。并且非常吃电脑配置(显卡、内存)。
如果能解决安装问题、学习问题、电脑性能,那你会慢慢发现,SD的可玩性真的太高了,最直接的优点:不用花钱还不受网络限制😆。
由于开源属性,SD 有很多免费高质量的外接预训练模型(fine-tune)和插件,比如可以提取物体轮廓、人体姿势骨架、画面深度信息、进行语义分割的插件 Controlnet,使用它可以让我们在绘画过程中精准控制人物的动作姿势、手势和画面构图等细节
插件 Mov2Mov 可以将真人视频进行风格化转换;SD 还拥有 Inpainting 和 Outpainting 功能,可以对图像进行智能局部修改和外延,这些都是目前 Midjourney 无法做到的。
比如推特@Toyxyz3 通过分别渲染手部网格深度和开放姿势骨骼的方式,在 SD 内实现对人物手指和姿势的精准控制
还可以用SD LORA 或者 Dreambooth 将自己喜欢的人物形象或者画风训练生成模型,打造自己的专属 AI 绘画工具,也有画师和设计师用自己的原创作品训练模型,之后有灵感了就之后用文字描述出来,让 SD 帮自己快速出各种概念草图。
SD开源地址
https://github.com/Stability-AI/stablediffusion
二、电脑要求
电脑配置最核心的关键点:看显卡、看内存、看硬盘、看CPU。其中最重要的是看显卡。
显卡N卡(英伟达Nvida显卡,A卡用不了),最低10系起步,显存最低4G,6G及格,上不封顶;内存最低8G,16G及格,上不封顶;硬盘可用空间最好有个500G朝上,固态最佳,机械硬盘也没多大问题。CPU其实没太大要求,有好显卡的,CPU一般不会很差。
如何看自己的电脑显卡?
打开任务管理器。性能 - GPU ,即可看到显存。只要大于4G都可以玩一玩。右边有个驱动日期,最近一年的驱动版本和日期都行,只要别太远古就行,更新到最新更好。
如何看自己的电脑内存?
还是在任务管理器,点击内存,右上角即可看到内存容量。
三、安装教程
如果按照上面那个开源地址安装,没接触过代码的人,得花一两天时间才能搞定,甚至一两天你都搞不定。
真要写小白级别的手把手教成,我感觉得分好几篇文章,Python安装、Git安装、显卡更新驱动以及CUDA、webui.........😂😂直接劝退。
好在有大佬做了一键启动程序,国内的秋叶,国外的A1111,极大的降低了安装门槛。本篇基础教程,我们先使用一键启动包上手,快速体验到SD的乐趣。一键启动包只是封装了可视化的一键界面,不会影响出图效果,它只是省去了本地部署的门槛。
我们使用秋叶大佬 (bilibili:秋葉aaaki) 的一键启动包:
https://pan.baidu.com/s/1qWggi0qMMTdMpqCNCRcjoQ?pwd=a241
转存防止失效:
https://pan.baidu.com/s/1_oY7lqRqWn330yEjIIhTxg?pwd=6666
官方论坛讨论地址:
https://support.qq.com/product/488228
01
下载后解压
02
点击启动器,点击一键启动
03
首次启动,弹出txt文本,按照要求,复制粘贴 我已阅读并同意用户协议 ,保存txt
重新一键启动
04
启动成功,就是这么简单😂😂
05
小试牛刀一下,大家可以输入这一串指令,然后点击生成,右下角即可出图,看看效果。
oil painting with heavy impasto of a pirate ship and its captain, cosmic horror painting, elegant intricate artstation concept art by craig mullins detailed
四、安装模型
默认只有一个模型,在启动器模型管理页面可以看到,本地打勾代表才能使用,其他的模型需要下载才能使用。我们在webui也可以看到,只有这一个模型可选。
如何导入呢,在下载安装包的时候,里面就有一个 可选-animefull-latest模型,以这个为例,演示下导入模型
01
点右上角添加模型,在弹出的文件管理器中选中模型,后缀为 .ckpt ,点击打开
02
成功导入
03
关闭控制台重新启动,webui就可以看到新添加的模型了
stable diffusion2.2本地部署配置要求 stable diffusion a卡能装吗
Stable Diffusion 是以文本生成图像的 AI 工具,也是唯一一款能部署在家用电脑上的 AI 绘图工具,可以在 RTX 2060 显卡等 6GB 显存(及以上)显卡下运行,并在几秒钟内生成图像,无需预处理和后处理。当然,如果只是想体验 Stable Diffusion,也可以使用在线工具 Hugging Face 和 DreamStudio。与本地部署相比,Hugging Face 需排队,生成一张图约 5 分钟;DreamStudio 可免费生成 200 张图片,之后需要缴费。更重要的是,这类在线工具对图片的调教功能偏弱,无法批量生成图片,只能用于测试体验。
如果想大批量使用,可以像我一样,使用 Docker Desktop 将 Stable Diffusion WebUI Docker 部署在 Windows 系统,从而利用电脑显卡免费实现 AI 文字绘画,不再被在线工具所限制。Mac 同样适用于该方法,并可省略下方的环境配置步骤。
stable diffusion 提示词列表
这是一个通用的指南,内容是基本通用的,可能有例外情况,请读对应的章节了解不同应用的特性。
提示词是提示而不是判定依据,比如你输入质量判定词汇的时候,其实是在限制数据的范围,而不是 “要求” AI 出一张很好的图片。
单词标签#
对于在标签单词上特化训练的模型,建议使用逗号隔开的单词作为提示词。
普通常见的单词,例如是可以在数据集来源站点找到的著名标签(比如 Danbooru)。单词的风格要和图像的整体风格搭配,否则会出现混杂的风格或噪点。
避免出现拼写错误。NLP 模型可能将拼写错误的单词拆分为字母处理。
自然语言#
对于在自然语言上特化训练的模型,建议使用描述物体的句子作为提示词。
取决于训练时使用的数据集,可以使用英文,日文,特殊符号或一些中文。大多数情况下英文较为有效。
避免 with 之类的连接词或复杂的语法,大多数情况下 NLP 模型只会进行最简单的处理。
避免使用重音符(如 é 和 è)和德语 umlauts(如 ä 和 ö),它们可能无法被映射到正确的语义中。
不建议随意套用现成模板,尤其是无法经过人类理解的模板。
Emoji#
Emoji (💰,💶,💷,💴,💵,🎊,🪅🪄,🎀,👩🚀) 表情符号也是可以使用并且 非常准确 的。
Emoji 因为只有一个字符,所以在语义准确度上表现良好。
Emoji 在构图上有影响,比如 💐☺️💐。
表情符号参考
颜文字#
对于使用 Danbooru 数据的模型来说,可以使用颜文字在一定程度上控制出图的表情。
例如:
:-) 微笑 :-( 不悦 ;-) 使眼色 :-D 开心 :-P 吐舌头 :-C 很悲伤 :-O 惊讶 张大口 :-/ 怀疑
仅支持西方颜文字,详细内容请见 Danbooru 颜文字部分 或 维基百科
空格#
逗号前后的少量空格并不影响实际效果。
开头和结尾的额外空格会被直接丢弃。词与词之间的额外空格也会被丢弃。
标点符号#
用逗号、句号、甚至是空字符(\0)来分隔关键词,可以提高图像质量。目前还不清楚哪种类型的标点符号或哪种组合效果最好。当有疑问时,只要以一种使提示更容易被阅读的方式来做。
对于部分模型,建议将下划线(_)转换为空格。
艺术风格词#
可以通过指定风格关键词来创作带有特效或指定画风的图片。
提示词长度# 提示词放入的顺序就是优先级。由于提示词的权重值从前向后递减,放置在特别靠后的提示词已经对图片的实际生成影响甚微。
不堆叠提示词是一个好习惯,但是如果你确实有很多内容要写,可以适当提高生成步数,以便在生成过程中更好地利用提示词。
SD-WebUI 突破最多 75 个词组限制的方式是将每 20 + 55 个词分为一组。选项 Increase coherency by padding from the last comma within n tokens when using more than 75 tokens 让程序试图通过查找最后 N 个标记中是否有最后一个逗号来缓解这种情况,如果有,则将所有经过该逗号的内容一起移动到下一个集合中。该策略可适当缓解提示词过多无法处理的问题,但可能破坏提示词之间的权重关系。
除了 WebUI 对此情况进行了特殊处理外,由于 GPT-3 模型限制,提示词处理空间并不是无限的,大多在在 75-80 之间,75 字符后的内容会被截断。
特异性#
问题体现在语义偏移上。对于神经网络的训练来说,特征的质量很重要:输入和输出之间的联系越强,神经网络就越容易学习这种联系。
换句话说,如果一个关键词有非常具体的含义,那么学习它与图像之间的联系要比一个关键词有非常广泛的含义容易得多。
这样一来,即使是像 ,Zettai Ryouiki, 这样很少使用的关键词也能产生非常好的结果,因为它只在非常具体的情况下使用。另一方面,,动漫, 即使是一个比较常见的词,也不会产生很好的结果,这可能是因为它被用于许多不同的情况,即使是没有字面意思的动漫。如果你想控制你的图片的内容,选择具体的关键词尤其重要。另外:你的措辞越不抽象越好。如果可能的话,避免留下解释空间的措辞,或需要 ,理解, 不属于图像的东西。甚至像 ,大, 或 ,小, 这样的概念也是有问题的,因为它们与物体离相机近或远是无法区分的。理想情况下,使用有很大可能逐字出现在你想要的图像标题上的措辞。
语义失衡#
每一个提示词就像染料一样,它们的 “亲和性“ 不同,如果更常见的提示词,比如 loli (和其他提示词并列放置)的影响就大于其他提示词。 比如,如果你想生成动漫图片,使用了 星空 startrail 标签,相比你期望出现的动漫星空,会有更多来自真实照片的星空元素。
否定提示词#
SD-WebUI 网页应用会在生成时 避免生成否定提示词提及的内容。
否定提示是一种使用 Stable-Diffusion 的方式,允许用户指定他不想看到的内容,而不对模型本身做额外的要求。
通过指定 unconditional_conditioning 参数,在生成中采样器会查看去噪后符合提示的图像(城堡)和去噪后看起来符合负面提示的图像(颗粒状、雾状)之间的差异,并尝试将最终结果远离否定提示词。
比如使用以下提示词避免生成水印和文字内容:
lowres, bad anatomy, bad hands, text, error, missing fingers,
extra digit, fewer digits, cropped, worst quality, low quality,
normal quality, jpeg artifacts, signature, watermark, username, blurry 还如这个例子:
ugly, fat, obese, chubby, (((deformed))), [blurry], bad anatomy,
disfigured, poorly drawn face, mutation, mutated, (extra_limb),
(ugly), (poorly drawn hands fingers), messy drawing, morbid,
mutilated, tranny, trans, trannsexual, [out of frame], (bad proportions),
(poorly drawn body), (poorly drawn legs), worst quality, low quality,
normal quality, text, censored, gown, latex, pencil