Stable Diffusion 系列教程 | 快速入门

目录

1.基本原理

2.主流方式

3.配置要求

3.1 显卡方面

4.基本界面

4.1 模型设置区

4.2 菜单栏区域

4.3 提示词区

4.4 出图设置区

5.文生图基本操作流程

5.1 选用模型,撰写提示词

5.2 进行出图设置

5.3 再次出图!

5.4 保存


1.基本原理

在2012年,就有很多的学者对图像生成展开了研究,但在那时候,因为算法,数据,算力等各方面原因,生成的图像过于“抽象” ,可以称他为灵魂画手,直到最近两年,AI产出的图像内容在质量上和准确度上渐渐地变得更高,同时由于一些辅助装备,如ControlNet等让AI绘画可控性更高,也更受到大家的重视。

现在的主流的AI绘画模型,主要运用了扩散Diffusion模型,他很人类绘画相比差异很大,不是起稿,勾线,描边,上色等步骤按部就班完成的,他采取了一个独特的方式

首先它将图片通过增加噪声的方式进行“扩散”,也就是让他变得更模糊,当内容模糊之后,我们就可以理解为有更大的空间让它自由发挥了,AI也是如此,但是在训练它的过程中,它可以学习到一种重要的能力,就是逐步恢复这种杂乱的噪声为真实图像

而如果在训练的过程中我们给AI 一些限制条件等,AI就可以按我们限制条件去恢复生成我们想要的图像了

2.主流方式

Midjourney,DALL E等方式

(1)出图额度需要购买会员(换句话说就是需要付费)直接租价格比较贵,可以去租用共享账号

(2)较容易出比较高质量的图

(3)模型部署在云端,不需要本地电脑配置较高

Stable Diffusion

(1)是一款免费的软件,可以无限制出图

(2)但是有一定的上手门槛,出图质量需要较多的调控才能达到满意的效果,因而我们这系列教程主要围绕stable diffusion

(3)部署在本地,比较吃电脑配置,显卡内存(也可以部署在GPU服务器)

(4)但是由于开源,依托强大的开源社区,收获非常多的活跃用户,可以进行个性化的训练,个性化程度较高

3.配置要求

3.1 显卡方面

显卡品牌型号 N卡(英伟达的独立显卡)首选,目前也支持A卡,但是速度较N卡慢

不同品牌型号,意味着显卡的算力不同,进而影响着出图的速度

查看自己的显卡品牌型号的方法如下链接

分享几种查看本机显卡类型的方法~~ - 知乎 (zhihu.com)

查到以后可以对照下表 ,下表是不同型号N卡出一张512*512分辨率的图片,迭代步数为100步的时间

图片来源 B站 Nenly同学

显卡内存 最少8GB能玩,16GB及格,上不封顶,越高玩的越爽 内存主要影响着出图分辨率,模型大小等

硬盘空间 最少有60GB以上的硬盘空间,因为我们需要下载很多模型,而一个模型往往都有几个GB

4.基本界面

下面界面是加了一些插件之后的,如中文插件,图库浏览器,如果你使用的是一些大佬的整合包,那么一般他们都会帮助你安装好,但是如果没有也无所谓,我们会在之后给大家讲解插件的安装

4.1 模型设置区

左上角用来更换模型

点击下拉箭头查看并且选择模型

模型需要我们提前下载并且保存到 根目录/models/Stable-diffusion文件夹下

当我们保存模型到上述文件夹下后,点击蓝色的刷新按钮,刷新模型,再点击下拉箭头就可以看到我们的模型了

4.2 菜单栏区域

一些基本功能

最常用的两个 文生图,图生图

选项作用
文生图由prompts提示词生成图片
图生图由已有的图片+提示词生成图片
图库浏览器(后安装的插件)查看生成的图片
Tag 反推由图片反推提示词prompts
设置进行一些设置操作
扩展进行扩展安装管理等操作

其他我们用到的时候再介绍

4.3 提示词区

最关键的一个区域,也就是我们念咒语的地方,这里用英语撰写(可以用翻译软件)

正向提示词 希望画面出现的内容,一般我们会有一些固定的提示词,如(杰作masterpiece, 最高质量best quality,高细节)特定模型也会有特定的让画面质量变高的正向提示词

反向提示词 不希望画面出现的内容,如(丑陋的,多手指的)

之后会给大家专门总结,到时候直接复制粘贴即可

提示词区右边的生成下边有五个小图标,相当于一些快捷键,从左到右依次为

图标作用
箭头复原上次生成图片的提示词(自动记录)
垃圾桶清空当前所有提示词
红色日出打开其他模型选择界面如Embedding,HypernetWork的选择,这些模型后面会单独讲到
记事薄应用选择的风格模板到当前提示词,就是着五个小图标下面那个风格模板选项
保存按钮保存当前的正反向提示词

4.4 出图设置区

如图

从上到下,左到右依次介绍

采样方法

采样方法具体是什么涉及到模型原理,不必深究,我们这里只需要知道什么时候用什么样的采样方法即可,一般遵循如下原则

(1)在显卡给力,时间充裕的条件下,可以自己尝试比较不同的采样方法

(2)一般在C站下载模型的同时,模型作者会给出他觉得比较好的采样方式,这是作者已经经过大量实验的结论,可以帮助你节约时间

(3)没有作者相关建议的时候

对于二次元图 DPM++ 2M或DPM++ 2M Karras UniPC

对于真实系图 Euler a、DPM++ SDE、DPM++ SDE Karras

同时,一般而言带++的都相对来说不戳

迭代采样步数

之前讲原理的时候,模型将噪声一步一步恢复到真实图片,此参数控制这些去噪步骤的数量。通常越高越好,但在一定程度上,我们使用的默认值是25个步骤。以下是不同情况下使用哪个步骤编号的一般指南:

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

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

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

面部修复:修复人物的面部,但是非写实风格的人物开启面部修复可能导致面部崩坏。 平铺/分块:生成一张可以平铺的图像 高分辨率重绘:使用两个步骤的过程进行生成,以较小的分辨率创建图像,然后在不改变构图的情况下改进其中的细节,选中后会有新的参数,之后专门出一篇介绍

宽度高度 出图分辨率设置 最佳的范围应在512至768像素之间

设置的出图分辨率太低,会导致图像不清晰

设置的出图的分辨率过高,一方面显存支撑不了,另外一方面可能会导致图像生成多人情况,

生成批次:每次生成图像的组数。 每批数量:每组多少个图像。图像总数是这个值乘以批次数。除 4090 等高级显卡以外通常保持为 1

提示词相关性CFG:较高的数值将提高生成结果与提示的匹配度。 OpenArt上使用的默认CFG是7,这在创造力和生成你想要的东西之间提供了最佳平衡。通常不建议低于5。 CFG量表可以分为不同的范围,每个范围都适合不同的提示类型和目标 CFG 2 – 6:有创意,但可能太扭曲,没有遵循提示。对于简短的提示来说,可以很有趣和有用 CFG 7-10:推荐用于大多数提示。创造力和引导一代之间的良好平衡 CFG 10-15:当您确定您的提示是详细且非常清晰的,您希望图像是什么样子时 CFG 16-20:除非提示非常详细,否则通常不推荐。可能影响一致性和质量 CFG >20:几乎无法使用

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

5.文生图基本操作流程

我们可能一下子了解不了这么多,大家可能都看困了,那么我们来亲自来出一张图,体验一下基本的过程,加深印象

5.1 选用模型,撰写提示词

在左上角模型选取,选择深渊橘模型

写提示词

画面内容 用自己的语言描述一个画面出来

如 一个女生在城市里骑着自行车,阳光洒在她的身上,但是提示词不认中文打开翻译软件,翻译即可

A girl rides a bicycle in the city, and the sunlight shines on her

但仅有这个远远不够,不相信?给你看一下这样图片直出 有多离谱

点击生成,喀嚓,生成如下

惨不忍睹,所以还需要加一些正面对画面质量这些约束的咒语

在正向提示框加入

SFW, (masterpiece:1,2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2),

反向提示框加入

NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands, missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs))),

5.2 进行出图设置

我们就将采样方式设置为 DPM++ 2M

5.3 再次出图!

不能说有多好,但至少比刚才好了一些,当然后续还会介绍更多技巧提升画面质量

所以我们要意识到一点, stable diffusion 出一张好图是不容易的,这也是为什么显卡这些的重要性,它可以让我们低成本试错

5.4 保存

点击图库浏览器,可以查看生成的图片

想把他导出来

右键,另存为即可

或者找到根目录下的outputs文件夹 里面有我们的所有的图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/102337.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

容器和云原生(三):kubernetes搭建与使用

目录 单机K8S docker containerd image依赖 kubeadm初始化 验证 crictl工具 K8S核心组件 上文安装单机docker是很简单docker,但是生产环境需要多个主机,主机上启动多个docker容器,相同容器会绑定形成1个服务service,微服务…

下线40万辆,欧拉汽车推出2023款好猫尊荣型和GT木兰版

欧拉汽车是中国新能源汽车制造商,成立于2018年。截至目前,已经下线了40万辆整车,可见其在市场的影响力和生产实力。为了庆祝这一里程碑,欧拉汽车推出了品牌书《欧拉将爱进行到底》,在其中讲述了欧拉汽车的发展历程和未…

【Unity】UI的一些简单知识

Canvas 新建一个Canvas Render Mode Canvas 中有一个Render Mode(渲染模式),有三种渲染模式: Screen Space-Overlay (屏幕空间)Screen Space-Camara 、 World Space 其中,Space- Overlay是默认显示在…

[C语言]分支与循环

导言: 在人生中我们总会有选择,**如下一顿吃啥?**又或者每天都是在重复,吃饭!!!!,当然在C语言中也有选择和重复那就是分支语句与循环语句 文章目录 分支循环循环中的关键…

阿里云ECS服务器安装PostgreSQL

1. 概述 PostgreSQL是一个功能强大的开源数据库,它支持丰富的数据类型和自定义类型,其提供了丰富的接口,可以自行扩展其功能,支持使用流行的编程语言编写自定义函数 PostgreSQL数据库有如下优势: PostgreSQL数据库时…

jmeter CSV 数据文件设置

创建一个CSV数据文件:使用任何文本编辑器创建一个CSV文件,将测试数据按照逗号分隔的格式写入文件中。例如: room_id,arrival_date,depature_date,bussiness_date,order_status,order_child_room_id,guest_name,room_price 20032,2023-8-9 14:…

ChatGLM-Med,HuaTuo,ChatDoctor

ChatGLM-Med:基于中文医学知识的ChatGLM模型微调 HuaTuo:基于中文医学知识的LLaMA微调模型 ChatDoctor:基于常见医疗数据微调的LLaMA 目录 ChatGLM-MedHuaTuoChatDoctor ChatGLM-Med 模型为ChatGLM-6B,微调数据集为:医…

LeetCode150道面试经典题-- 二叉树的最大深度(简单)

1.题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 2.示例 3.思路 深度优先遍历 一个二叉树要查询到最大深度,可以将问题转为从根节点出发,查看左右子树的最大深度&am…

【核磁共振成像】傅里叶重建

目录 一、傅里叶重建二、填零三、移相四、数据窗函数五、矩形视野六、多线圈数据重建七、图像变形校正八、缩放比例九、基线校准 长TR,长TE,是T2加权像; 短TR,短TE,是T1加权像; 长TR,短TE&#…

TCP滑动窗口

为什么会有滑动窗口 在计算机网络中,数据通常被分成小块(也叫数据段)在网络中传输(为什么会被分成小块,请了解拥塞窗口和流量控制)。这些小块可能会在传输的过程中遇到延迟、丢失或乱序等问题。为了保证数据…

Mybatis之动态SQL及映射结果(带你了解动态SQL的魅力)

目录 前言 一、Mybatis之动态SQL 1. 简介 2. 作用及重要性 3. 应用场景 二、动态SQL讲解 1. 原生使用工具类(BaseDao)的SQL 2. 运用动态SQL编写方法 2.1 Mybatis动态SQL的常用标签 2.2 Mybatis动态SQL的常用函数 2.3 案例展示 if标签的运用 f…

angular中如何定义一个全局组件?

需求,我们需要新建一个navBreadcrumb的全局组件。这是一个面包屑导航,在不同的页面引入时传入一个路由数组即可。 第一步:我们新建这个组件: ng g c navBreadcrumb ng g m navBreadcrumb----------nav-breadcrumb.module-------…

AMBA总线协议(8)——AHB(六):分割传输

一、前言 在之前的文章中,我们重点介绍了AHB传输的仲裁,首先介绍了仲裁相关的信号,然后分别介绍了请求总线访问,授权总线访问,猝发提前终止,锁定传输和默认主机总线,在本文中我们将继续介绍AHB的…

论文《LoRA: Low-Rank Adaptation of Large Language Models》阅读

论文《LoRA: Low-Rank Adaptation of Large Language Models》阅读 BackgroundIntroducitonProblem StatementMethodology Δ W \Delta W ΔW 的选择 W W W的选择 总结 今天带来的是由微软Edward Hu等人完成并发表在ICLR 2022上的论文《LoRA: Low-Rank Adaptation of Large Lan…

交叉编译 libzdb

参考博客:移植libzdb3.2.2到arm_configure: error: no available database found or s_酣楼驻海的博客-CSDN博客 编译时间 2023-08-23 libzdb 下载: 源码访问如下: https://bitbucket.org/tildeslash/libzdb/src/master/ git 下载链接 …

低代码开发ERP:精打细算,聚焦核心投入

企业数字化转型已经成为现代商业环境中的一项关键任务。如今,企业面临着日益激烈的竞争和不断变化的市场需求。在这样的背景下,数字化转型不仅是企业生存的必然选择,也是取得竞争优势和实现可持续发展的关键因素。 在数字化转型的过程中&…

[oneAPI] 基于BERT预训练模型的英文文本蕴含任务

[oneAPI] 基于BERT预训练模型的英文文本蕴含任务 Intel DevCloud for oneAPI 和 Intel Optimization for PyTorch基于BERT预训练模型的英文文本蕴含任务语料介绍数据集构建 模型训练 结果参考资料 比赛:https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0…

3D数据转换工具HOOPS Exchange概览

HOOPS Exchange SDK是一组C软件库,使开发团队能够快速为其应用程序添加可靠的2D和3D CAD导入和导出功能。这允许访问广泛的数据,包括边界表示(BREP)、产品制造信息(PMI)、模型树、视图、持久ID、样式、构造…

使用 MATLAB 和 Simulink 对雷达系统进行建模和仿真

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Redis多机实现

Background 为啥要有多机--------------1.容错 2.从服务器分担读压力。 主从结构一大难题------------如何保障一致性,对这个一致性要求不是很高,因为redis是用来做缓存的 同时我们要自动化进行故障转移-------哨兵机制,同时哨兵也可能cra…