一、本地部署 Stable diffusion

1. 前言

目前市面上比较权威,并能用于工作中的 AI 绘画软件其实就两款。一个叫 Midjourney(简称 MJ),另一个叫 Stable-Diffusion(简称 SD)。MJ 需要付费使用,而 SD 开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。

E 和 Midjourney 相比,Stable Diffusion 最大的优势是开源,这意味着 Stable Diffusion 的潜力巨大、发展飞快。由于开源免费属性,SD 已经收获了大量活跃用户,开发者社群已经为此提供了大量免费高质量的外接预训练模型(fine-tune)和插件,并且在持续维护更新。在第三方插件和模型的加持下,SD 拥有比 Midjourney 更加丰富的个性化功能,在经过使用者调教后可以生成更贴近需求的图片,甚至在 AI 视频特效、AI 音乐生成等领域,Stable Diffusion 也占据了一席之地。

Stable Diffusion 是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、图像绘制、文本到图像和图像到图像等任务。简单地说,我们只要给出想要的图片的文字描述在提 Stable Diffusion 就能生成符合你要求的逼真的图像!

2. 电脑配置

电脑配置最核心的关键点:看显卡、看内存、看硬盘、看 CPU。其中最重要的是看显卡。N 卡(英伟达 Nvida 独立显卡)首选,效率远超集显/AMD/Intel 显卡和 CPU 渲染,最低 10 系起步,体验感佳用 40 系,显存最低 4G,6G 及格,上不封顶;内存最低 8G,16G 及格,上不封顶;硬盘可用空间最好有个 500G 朝上,固态最佳。

系统要求:支持 Win10/Win11/macOS(仅限 Apple Silicon,Intel 版本的 Mac 无法调用 Radeon 显卡)和 Linux 系统,苹果版 SD 兼容的插件数量较少,功能性不及 Windows 与 Linux 电脑。

如果身边没有合适的电脑可以考虑购买云主机,比如腾讯 GPU 云服务器。若无法使用独立显卡和云服务,亦可修改启动配置,使用 CPU 渲染(兼容性强,出图速度慢,需要 16G 以上内存)。

从图中可看出,与 AMD 或英特尔的任何产品相比,Nvidia 的 GPU 提供了卓越的性能--有时是以巨大的优势。随着 Torch 的 DLL 修复到位,RTX 4090 的性能比带有 xformers 的 RTX 3090 Ti 高出 50%,而没有 xformers 的性能则高出 43%。生成每张图片只需要三秒多。

3. 安装方法

SD 开源地址: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki

目前大家普遍采用的 Stable Diffusion Web UI 是发布于开源程序分享网站 Github 的 Python 项目,和平常软件安装方法有所不同,不是下载安装即可用的软件,需要准备执行环境、编译源码,针对不同操作系统(操作系统依赖)、不同电脑(硬件依赖)还有做些手工调整,这需要使用者拥有一定的程序开发经验(可以现学),已经有很多大佬们写了详细的安装教程。(如 https://www.tonyisstark.com/846.html @托尼不是塔克)

如果像我一样是小白不会装,现在可以直接使用大佬们做的一键启动程序包,比如国内@秋葉 aaaki 大大开发的整合包,极大的降低了安装门槛(强烈推荐!)

(详见 https://www.bilibili.com/video/BV1ne4y1V7QU )一键启动包只是封装了可视化的一键界面,不影响出图效果,只是降低了本地部署的门槛。

Nvidia 显卡用户须知:在使用 SD 前,请登录 Nvidia 官网 https://www.nvidia.cn/geforce/drivers/下载安装对应显卡最新版驱动程序 ,与 https://blog.csdn.net/weixin_44177494/article/details/120444922显卡支持的最新版 CUDA 驱动。

4. 启动 SD

进入 SD 安装文件夹,双击 webui-user.bat,待其加载完成方可使用浏览器(Chrome/Edge)登录默认的加载 IP:http://127.0.0.1:7860/

5. 界面汉化

如果需要中文语言包,可以下载如下中文语言包扩展,下载界面网址为: https://github.com/VinsonLaro/stable-diffusion-webui-chinese

方法 1:通过 WebUI 拓展进行安装

  1. 打开 stable diffusion webui,进入"Extensions"选项卡

  2. 点击"Install from URL",注意"URL for extension's git repository"下方的输入框

  3. 粘贴或输入本 Git 仓库地址 https://github.com/VinsonLaro/stable-diffusion-webui-chinese

  4. 点击下方的黄色按钮"Install"即可完成安装,然后重启 WebUI(点击"Install from URL"左方的"Installed",然后点击黄色按钮"Apply and restart UI"网页下方的"Reload UI"完成重启)

  5. 点击"Settings",左侧点击"User interface"界面,在界面里最下方的"Localization (requires restart)",选择"Chinese-All"或者"Chinese-English"

  6. 点击界面最上方的黄色按钮"Apply settings",再点击右侧的"Reload UI"即可完成汉化

二、界面基础

1. 了解界面

接下来是具体的使用方法简介。目前 SD 并不存在通行可靠的使用规范,每个人的电脑配置、需求都不尽相同,cpkd/Safetensors 大模型、VAE、embeding、lora 等 AI 模型、各类插件、提示词、输出参数的组合牵一发则动全身,需要大家有足够的耐心查阅插件开发者的说明文档和来自 https://civitai.com/等分享网站的使用心得 ,大家可以先到 civitai 上搜索中意的图例,复用原作者的出图提示词、参数和模型,再以此修改,这样学习的效果最为直观。

文生图:根据文本提示生成图像

图生图:根据提供的图像作为范本、结合文本提示生成图像

更多:优化(清晰、扩展)图像

图片信息:显示图像基本信息,包含提示词和模型信息(除非信息被隐藏)

模型合并:把已有的模型按不同比例进行合并生成新模型

训练:根据提供的图片训练具有某种图像风格的模型

描述语分为正向/负向描述,它们也叫 tag(标签)或 prompt(提示词)

正面提示词:相比 Midjourney 需要写得更精准和细致,描述少就给 AI 更多自由发挥空间。

负面提示词:不想让 SD 生成的内容。

正向:masterpiece, best quality, 更多画质词,画面描述

反向:nsfw, 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,根据画面产出加不想出现的画面。

生成按钮下面的 5 个小图标(从左到右依次分别是)

  1. 复原上次生成图片的提示词(自动记录)

  2. 清空当前所有提示词

  3. 打开模型选择界面

  4. 应用选择的风格模板到当前的提示词

  5. 存档当前的正反向提示词

2. 采样方法

  1. 建议根据自己使用的 checkpoint 使用脚本跑网格图(用自己关心的参数)然后选择自己想要的结果。

  2. 懒得对比:请使用 DPM++ 2M 或 DPM++ 2M Karras(二次元图)或 UniPC,想要点惊喜和变化,Euler a、DPM++ SDE、DPM++ SDE Karras(写实图)、DPM2 a Karras(注意调整对应 eta 值)

  3. eta 和 sigma 都是多样性相关的,但是它们的多样性来自步数的变化,追求更大多样性的话应该关注 seed 的变化,这两项参数应该是在图片框架被选定后,再在此基础上做微调时使用的参数。

3. 采样步数

此参数控制这些去噪步骤的数量。通常越高越好,但在一定程度上,我们使用的默认值是 25 个步骤。以下是不同情况下使用哪个步骤编号的指南:

  1. 如果您正在测试新的提示,并希望获得快速结果来调整您的输入,请使用 10-15 个步骤

  2. 当您找到您喜欢的提示时,请将步骤增加到 25

  3. 如果是有毛皮的动物或有纹理的主题,生成的图像缺少一些细节,尝试将其提高到 40

面部修复:修复人物的面部,但是非写实风格的人物开启面部修复可能导致面部崩坏。

平铺:生成一张可以平铺的图像

高分辨率重绘:使用两个步骤的过程进行生成,以较小的分辨率创建图像,然后在不改变构图的情况下改进其中的细节,选中该选项会有一系列新的参数,

其中重要的是:

放大算法:Latent 在许多情况下效果不错,但重绘幅度小于 0.5 后就不甚理想。ESRGAN_4x、SwinR 4x 对 0.5 以下的重绘幅度有较好支持。

放大倍数: 通常 2 倍即可

重绘幅度:决定算法对图像内容的保留程度。该值越高,放大后图像就比放大前图像差别越大。低 denoising 意味着修正原图,高 denoising 就和原图就没有大的相关性了。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些,0 什么都不会改变,1 会得到一个完全不同的图像。具体的执行步骤为 重绘强度 * 重绘步数。

长宽尺寸(分辨率)

长宽尺寸并非数值越大越好,最佳的范围应在 512 至 768 像素之间,比如正方形图多是 512*512 和 768*768,人像肖像 512x768,风景画 768×512,可按比例加大或减小,这个值必须是 8 的倍数。如果不希望主题对象出现重复,应在此范围内选择适当的尺寸。如果需要更高分辨率的图片,建议先使用 SD 模型生成图片,然后再使用合适的模型进行 upscale。

生成批次:每次生成图像的组数。一次运行生成图像的数量为生成批次 * 每批数量。

每批数量:同时生成多少个图像。增加这个值可以提高性能,但你也需要更多的 VRAM。图像总数是这个值乘以批次数。除 4090 等高级显卡以外通常保持为 1。

提示词相关性 CFG:较高的数值将提高生成结果与提示的匹配度。

OpenArt 上使用的默认 CFG 是 7,这在创造力和生成你想要的东西之间提供了最佳平衡。通常不建议低于 5。

CFG 量表可以分为不同的范围,每个范围都适合不同的提示类型和目标

  1. CFG 2 – 6:有创意,但可能太扭曲,没有遵循提示。对于简短的提示来说,可以很有趣和有用

  2. CFG 710:推荐用于大多数提示。创造力和引导一代之间的良好平衡

  3. CFG 10-15:当您确定提示是详细且非常清晰的,您希望图像是什么样子时

  4. CFG 16-20:除非提示非常详细,否则通常不推荐。可能影响一致性和质量

  5. CFG >20:几乎无法使用

随机种子(Seed):生成每张图片时的随机种子,这个种子是用来作为确定扩散初始状态的基础。不懂的话,用随机的即可。

3. 提示词生成

开始不知道怎么写提示词,可以先参考优秀的风格模板作为起手式,还可以借助描述语工具和网站,多出图多研究,掌握了出图规律,慢慢就可以自己写提示词啦,写提示词要尽可能写的详细。跑 AI 的过程就像抽卡,抽出一堆卡,选出你审美范畴里觉得好看的。

找 tag 关键词网站:

  1. chatgpt: https://chat.openai.com/

  2. NovelAI: https://spell.novelai.dev

4. Prompt 格式优化

第一段:画质 tag,画风 tag

第二段:画面主体,主体强调,主体细节概括(主体可以是人、事、物、景)画面核心内容

第三段:画面场景细节,或人物细节,embedding tag。画面细节内容

第二段一般提供人数,人物主要特征,主要动作(一般置于人物之前),物体主要特征,主景或景色框架等

举个例子:(具体场景还是要灵活应用,多尝试,找到合适自己的节奏和风格)

第一段:masterpiece, best quality, 4k, ( Pixar - style :1.4)

第二段:1boy,(Cute,handsome,wearing outdoor sportswear :0.7), 3D,(Face close-up :1.2), (at night, surrounded by glowing plants, flowers, flying fireflies, bonfires), (Ultra detailed, aesthetic, beautiful composition, rich bright colors, volumetric soft light).

第三段:Inspired by Alice in Wonderland, magic, fairy tales. unreal Engine, octane render, cuteness render, awe inspiring, beautiful,

5. Prompt 规则细节

①越靠前的 Tag 权重越大。

②生成图片的大小会影响 Prompt 的效果,图片越大需要的 Prompt 越多,不然 Prompt 会相互污染。

③Stable-diffusion 中,可以使用括号人工修改提示词的权重,方法如下:

(word) - 将权重提高 1.1 倍
((word)) - 将权重提高 1.21 倍(= 1.1 * 1.1)
[word] - 将权重降低至原先的 90.91%
(word:1.5) - 将权重提高 1.5 倍
(word:0.25) - 将权重减少为原先的 25%

请注意,权重值最好不要超过 1.5

④Prompt 支持使用 emoji,可通过添加 emoji 达到表现效果。如

带你从零开始入门AI绘画神器Stable Diffusion相关推荐

  1. AI绘画神器Stable Diffusion的疯狂与危险

    本文来源  AI前线 作者 | JAMES VINCENT  译者 | 核子可乐  策划 | 刘燕 最近几周,一款名为 Stable Diffusion 的文本到图像程序横空出世,瞬间颠覆了一切.St ...

  2. AI绘画指南 stable diffusion webui (SD webui)如何设置与使用

    AI绘画指南 stable diffusion webui (SD webui)如何设置与使用 作者: 去年夏天 分类: AI绘画,Windows,技术文章 发布时间: 2022-11-07 23:0 ...

  3. 【AI绘画】个人电脑部署免费AI绘画软件——Stable Diffusion webui启动器

    文章目录 先看几个生成的作品 什么是AI绘画? 现在主流的AI绘画 什么是Stable Diffusion 缺点 安装前说明 1. 电脑配置需求 2. 本次整合包适合以下人群使用 3. 其他说明 如何 ...

  4. AI 绘画用 Stable Diffusion 图生图局部重绘功能给美女换装(这是我能看的嘛)

    昨天带大家一起装好了 Stable Diffusion 的环境,今天就来带大家一起体验一下 Stable Diffusion 的局部重绘功能. 没装好环境的可以看上一篇:AI 绘画基于 Kaggle ...

  5. AI专业教您保姆级在暗影精灵8Windows11上本地部署实现AI绘画:Stable Diffusion(万字教程,多图预警)

    目录 一.Stable Diffusion介绍 二.Stable Diffusion环境搭建 1.Anaconda下载与安装 2.Pycharm(IDE)下载与安装 3.CUDA.CuDNN下载与安装 ...

  6. AI绘画部署-Stable Diffusion(huggingface API图片生成初体验)

    引言 最近,在很多地方都看到了各个大佬用AI生成的神图,索性从网上搜集资料部署一下体验一下AI绘画的魅力.本文基于huggingface API在colab上构建AI绘画. 使用步骤 1.huggin ...

  7. 揭秘 Stable Diffusion:利用 AI 智能绘图功能,打造出具有创意性的平面设计作品——AI 作图神器 Stable Diffusion 有哪些强大功能?应用案例详解

    目录 AI 绘画介绍 功能介绍 Stable Diffusion 的缺点 AI 画作产品效果演示 一.一键AI绘画

  8. 本地白嫖AI绘画 ,Stable Diffusion 初探!

    本文介绍我在本地搭建 Stable Diffusion Web UI 的体验过程,予以记录分享. Stable Diffusion 是 2022 年 8 发布的深度学习文本到图像生成模型.它主要用于根 ...

  9. AI图片生成Stable Diffusion参数及使用方式详细介绍

    Stable Diffusion环境搭建与运行请参考上一篇博文<AI图片生成Stable Diffusion环境搭建与运行>,地址为"https://blog.csdn.net/ ...

最新文章

  1. C#实现字符串左旋转操作
  2. 无限级菜单 mysql设计_无限级菜单简单的设计
  3. Visual Studio Code的一个插件,让图标以Material的设计风格呈现
  4. spring boot集成oss
  5. flask 安装flask_resultful
  6. 理解JQuery中的data()使用方法
  7. kaggle实战—泰坦尼克(二、数据清洗及特征处理)
  8. 软件测试基础 (一): 单元测试
  9. 2.4 数值分析: Doolittle直接三角分解法
  10. 电信吉比特光纤猫虚拟服务器设置,吉比特光纤猫内置wifi怎样设置上网
  11. 信号能量、功率、功率谱密度、自相关函数公式总结
  12. <自由之路>LeetCode每日一题(DFS + 记忆化搜索)
  13. 使用python语解决一个小学数学题----鸡兔同笼问题
  14. 网易的爆款密码,藏在Q3财报里
  15. Layui form 表单验证lay-verify
  16. Windows10系统安装postgreSQL出错解决方法
  17. vue3的pdf文件下载
  18. 常量的定义与使用与变量的定义与使用
  19. c语言缓冲区溢出函数,示例C程序上的缓冲区溢出
  20. sqlzoo 答案全集

热门文章

  1. java 抓取搜狗微信_搜狗微信公众号文章抓取
  2. python提取excel一列或多列数据另存为新表(1)
  3. Java实现最近点问题
  4. 一个经济学果粉对国内iOS游戏厂商的5点斥责和5个建议
  5. OpenCV C++实现树结构可视化(画出一棵四叉树)
  6. ORACLE DataGuard环境搭建详细步骤(新方法)
  7. .netcore基础知识(一)
  8. 最流行的前端框架vue基础
  9. 学计算机的考研254分,2011年考研:历史学专业课254分经验谈
  10. ClickHouse函数介绍