Stable Diffusion使用入门教程

news2024/11/16 16:02:22

本文参考bilibili的链接:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili

目录

 一、prompt提示词

1、概况

2、prompt分类

3、提示词的权重分配

4、反推提示词

二、WebUI参数说明

1、文生图参数

2、图生图参数

3、inPaint局部重绘及参数

三、模型

1、模型类型

(1)大模型

(2)Embeddings

(3)LoRa:低秩模型

(4)Hypernetwork 超网络

2、模型分类及top模型名称

(1)二次元模型

(2)真实系模型

(3)2.5D风格模型

四、分辨率放大的工具

1、高清修复Hires.fix

2、SD UpScale

五、AI绘画入门级扩展插件

1、中文本地化语言包

2、图库浏览器

3、提示词自动补全

4、提示词反推

5、Upscale放大扩展

6、局部细化重绘

7、提示词语义分割

8、无限放大动画视频

六、ControlNet插件

1、概括说明

2、比较流形的5个ControlNet模型

  (1)Openpose模型

(2)Depth模型

(3)Canny模型

(4)HED模型

(5)Scribble模型

3、MultiControlNet


首先提几个好玩的名词:

炼丹:训练AI学习图片生成模型

咒语:prompt提示词

 一、prompt提示词

1、概况

包含内容:作品主题、画风、形象特点以及一些具体包含的要素

提示词的语法规则:

  • 提示词需要英文书写
  • 提示词以词组作为单位

2、prompt分类

(1)人物及主体特征

服饰穿搭:white dress

发型发色: blonde hair, long hair

五官特点:small eyes, big mouth

面部表情:smiling

肢体动作:stretching arms

(2)场景特征

室内、室外:indoor / outdoor

大场景:forest, city, street

小细节:tree, bush, white flower

(3)环境光照

白天黑夜:day / night

特定时段:morning, sunset

光环境:sunlight, bright, dark

天空:blue sky, starry sky

(4)补充:画幅视角

距离:close-up, distant

人物比例:full body, upper body

观察视角:from above, view of back

镜头类型:wide angle, Sony A7 III

(5)画质

通用高画质:

Best quality最高的质量

Ultra-detailed 超级细节

Masterpiece 杰作

Hires 高分辨率

8k 8k分辨率

特定高分辨率类型:

Extremely detailed CG unity 8k wallpaper 超精细的8K Unity游戏CG

Unreal engine rendered 虚幻引擎渲染

3、提示词的权重分配

(1)括号加数字

(white flower:1.5) 调节白花的权重为原来的1.5倍(增强)

(white flower:0.8) 调节白花的权重为原来的0.8倍(减弱)

(2)套括号

圆括号:(((white flower))) 每套一层,额外*1.1倍

大括号:{{{white flower}}} 每套一层,额外*1.05倍

方括号:[[[white flower]]] 每套一层,额外*0.9倍

4、反推提示词

可以识别图像已有的成分,再总结成AI的字典里有的东西,来帮助你更准确地向AI描述一些东西。

DeepBooru和CLIP是两种不同的图像识别算法,DeepBooru的速度和识别准确率都更具有优势。

二、WebUI参数说明

1、文生图参数

(1)采样迭代步数:去噪迭代次数,一般超过20次后面提升不大

(2)分辨率:分辨率太大,可能会出现多人多手多脚的情况,AI在训练的时候用的图片分辨率一般都比较小,如果分辨率太大就会被认为是多张图片拼接而成的。如果需要高分辨率的图片,先绘制512*512的图片,再通过”hires.fix”进行高清修复。

(3)”restore faces”面部修复,采用一些对抗算法识别人物面部并进行修复。

(4)”Tiling”平铺,用来生成那种可以无缝贴满整个屏幕的纹理性图片

(5)生成批次:为了追求一张完美的图片可能会用一套提示词生成多次,通过该功能可以一次生成多张图片,它提供了所有图片合在一起的预览图以及各张图片。

2、图生图参数

Denoising strength:重绘幅度,它跟原图有多像的权重

3、inPaint局部重绘及参数

它就像我们写作业时使用的涂改液、修正带一样,它可以针对一张大图里的某一个区域覆盖重画。既能修正错误,又不至于把整张纸撕掉重画一遍。

它利用图生图的方式对局部重绘了一下,然后又拼回到原图中。

蒙版(mask):泛指一些用以限定处理区域的范围对象。蒙住了某些关键区域的版子。

Inpaint Sketch:绘制。画上去的有颜色的线条会同时构成这个画面的一部分,并参与到图生图的过程里。

三、模型

1、模型类型

模型下载网站:hugging face / civitai

(1)大模型

Checkpoint 检查点或者关键点模型,叫ckpt大模型,一般2~7GB之间

Safetensor 通常1~2GB,也是大模型,是训练者们为了使模型变得更加可靠、高效而专门开发的

(2)Embeddings

文本嵌入,对应C站的Model types是”Textual Inversion”,即文本倒置

Embeddings文件都非常小,一般就几十KB

如果是checkpoint是一本大字典,那么Embeddings就像上面的一片小“书签”,它能够精准地指向个别字、词的含义,从而提供一个极其高效的索引。

Embeddings本身不包含信息,只是一个标记而已。

Embeddings可以为我们指向某一种特定的形象

文件后缀是pt,下载后放在models文件夹旁边的同名文件夹embeddings里面。

Embeddings不需要额外的调用,只需要在提示词里面用特定的prompt去召唤它

(3)LoRa:低秩模型

LoRa的作用在于向AI传递、描述某一个特征准确、主体清晰的形象。

可以让AI学习一些原本不存在于它的世界里的东西。

如果说embeddings是一张书签,那么Lora就是一张彩页,它直接就在纸上写明白了形象的特点,可以用什么样的方式去呈现出来。

Lora的位置是在models下面的Lora子文件夹。

使用lora的方式,直接在提示框中输入即可:

训练大模型的最低要求是拥有12G以上的显存,但训练LoRA模型可能只需要8G甚至更低。常规的大模型至少会占用2个G以上的存储空间,但最大的LoRA模型也不会超过200M。

它需要和checkpoint搭配使用,从而实现对这个checkpoint在某些方面的“微调”。

(4)Hypernetwork 超网络

它能实现的效果和Lora差不多的。

可以让AI学习一些原本不存在于它的世界里的东西。

Hypernetwork一般用于改善生成图像的整体风格。不太需要使用,后面直接用LORA即可

2、模型分类及top模型名称

(1)二次元模型

Anything V5:用于动漫、插画、角色立绘等的画面风格

Counterfeit:插画风模型,细节还原度高

Dreamlike Diffusion:漫画插画风模型,打造梦幻般、具有幻想色彩的画面和作品

(2)真实系模型

Deliberate:超级升级版的SD官方模型,非常精细、全面的写实风格

Realistic Vision:朴素且有整活空间,用来做人像、食物、动物图片,做些具有真实感的假新闻照片

LOFI:精致的照片级人像专精模型,对人物面部处理比前两个更加精致

(3)2.5D风格模型

NeverEnding Dream:非常适合“三次元化”的2.5D模型,结合Lora进行动漫游戏角色的二次创作

Photorealism:优秀的照片效果和创意发挥空间

Guofeng3:实现“文化输出”的国风精致模型

四、分辨率放大的工具

1、高清修复Hires.fix

Upscale by:放大倍率,指将这个图片由原始分辨率放大到多少

Hires steps:高清修复采样次数,高清修复需要经过一次重绘,因此需要设置采样步数。保持默认的0数值,它会和我们设置的采样迭代次数(20)保持一致。

Denoising strength:重绘幅度,等同于图生图中的重绘幅度。

生成过程:SD会先绘制一份低分辨率的图像,再根据它画第二幅高分辨率的图像。它的本质就是把这个低分辨率成品“图生图”一次,打回潜空间内重新去噪,从而得到一张更大的图片。

高清修复本质:打回重画,再来一副!适合文生图

  • 优势:

不会改变画面构图(经由随机种子固定);

稳定克服多人、多头等由分辨率产生的问题;

操作简单、清晰、直观。

  • 缺陷:

仍然受到最大显存的限制;

计算速度相对较慢,画一次等于常规情况下画两到三次

偶尔“加戏”,出现莫名的额外元素

2、SD UpScale

图生图中把图片分辨率放大的好帮手。

脚本:

选择SD upscale

它的绘制过程:和高清修复的“打回重画”截然不同,它是通过把这张图均匀地切成4块去画的,逐一画4块然后再拼在一起。

如果只是机械地切成4块,那么相邻图块之间地接缝处肯定会出现非常生硬地过渡边缘,于是,通过tile overlap像素重叠就会起到一个“缓冲带”的作用。

优势:

可以突破内存限制获得更大的分辨率

画面精细度高,对细节的丰富效果出色

缺陷:

分割重绘的过程较为不可控(语义误导和分界线割裂)

操作繁琐且相对不直观

偶尔“加戏”,出现莫名的额外元素

五、AI绘画入门级扩展插件

所有和扩展有关的功能都被集中收纳在这个”Extensions”标签里进行管理。

插件被统一安装在根目录下“Extension”的文件夹里,每一个扩展是一个单独的文件夹。

1、中文本地化语言包

2、图库浏览器

3、提示词自动补全

它是基于本地的一个Booru词库实现的。

这个插件还能进行中文输入,然后切换成英文进行输入。

4、提示词反推

比CLIP和DeepBooru更高效的反推工具。

5、Upscale放大扩展

安装完成后没有独立tab,而是出现在脚本中。

6、局部细化重绘

与第5个工具相比,它不会让一整张图片变得特别大,而是把一些局限于尺寸没法变得更精致的部分给“放大”一下。

它在于不改变原有的结构,就可以为画面带来更加丰富的细节。

7、提示词语义分割

解决提示词之间的相互干预。

扩展的原理如下:

它会将里面的每一个提示词的“描述性”成分抽取出来单独处理,再结合回原画里面。

8、无限放大动画视频

我们可以去想象它的场景在不断往外延伸,最终生成动画视频。

六、ControlNet插件

1、概括说明

在此之前,基于扩散模型的“AI绘画”是非常难以控制的,去扩散这张图片的过程充满了随机性。

在原理上,ControlNet和LoRA是有许多相似之处,定位都是对大扩散模型做微调的额外网络。它的核心作用是根据一些额外信息控制扩散走向。

比如“姿势”,如果只是通过提示词输入一个“跳舞”,那么画面中的角色、人物可能会有无数种舞蹈姿势,ControlNet的精髓在于可以给他输入一张记录了某种特定“姿势”信息的图片来指导它作图。ControlNet能够读懂下面信息。

ControlNet插件的Annotator功能能够从图片中提取对ControlNet有用的额外信息。

Control Weight:决定这个控制效应在图片中呈现出来的强度。后面两个选项,会影响在图像不断扩散的过程中什么时候加入ControlNet的影响。默认的0到1代表从头到尾全程生效。

2、比较流形的5个ControlNet模型

(1)Openpose模型

直接掌握了人物体态呈现的“命脉”。

下图为openpose-hand

下面为openpose-face

(2)Depth模型

它的重点是对场景的描绘还原,尤其是富有空间感的多层次场景

(3)Canny模型

来自于图像处理领域的一种边缘检测算法。

(4)HED模型

整体边缘线条检测。

输入的线条相对Canny更加模糊,两者对比如下:

Canny更关注人物内部的细节,HED这一类处理只会把大的轮廓保留下来,内部其实是有更大的发挥空间的。

(5)Scribble模型

涂鸦。

得到:

3、MultiControlNet

多重ControlNet

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 ChatGPT(简单)+ GitHub 存储库创建 C# 聊天机器人

在本指南中,我们将深入探讨使用 ChatGPT 和 C# 构建聊天机器人的过程。我们将涵盖从设置 ChatGPT API 访问到部署聊天机器人的所有内容。让我们开始吧! 最后你会发现 GitHub Repo 设置您的 ChatGPT API 访问权限 在我们开始构建我们的聊天机器人之前&…

day4 ARM异常处理

目录 异常 概念 处理机制 ARM异常源 ARM异常模式 ARM异常响应 异常向量表 FIQ和IRQ ARM微架构 指令流水线 多核处理器 异常 概念 处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生这时处理器就要将当前的程序暂停下来转而去处理这个异常的时间异常事件处…

为什么CRM一定要走行业化?

很多企业、很多销售对CRM的负面评价集中在不够贴合行业、不人性化,也就是功能不够细分和实用。因为CRM几乎是所有企业管理系统中最贴近业务实际的,但各行各业的业务千差万别,所以功能完备、使用满意度高的CRM一定是深度行业化、与不同行业业务…

计算机网络第三章——数据链路层(上)

提示:节物风光不相待。桑田碧海须臾改 文章目录 前言3.1.1 数据链路层功能数据链路层功能概述 3.2.1 封装成帧和透明传输封装成帧透明传输组帧的四种方式字符计数法字符填充法零比特填充法违规编码法 3.3.1 差错控制(检错编码)奇偶校验码CRC循…

【编程语言 · C语言 · while语句】

​while 语句 循环 在前面我们了解到, 程序在运行时可以通过判断, 检验条件作出选择。此处,程序还必须能够重复, 也就是反复执行一段指令, 直到满足某个条件为止。 while 语句 while语句可以执行循环结构。 语法: while(表达…

6.8 互斥锁/读写锁的概念及使用、死锁的避免

目录 线程通讯-互斥 互斥锁初始化-pthread_mutex_init 互斥锁销毁pthread_mutex_destroy 申请锁-pthread_mutex_lock 释放锁-pthread_mutex_unlock 读写锁 死锁的避免 ​编辑 条件变量 线程的GDB调试 笔记 线程的互斥和同步 临界资源概念: 互斥锁的创…

在京东待了几年,感觉自己废了····

在一家公司待久了技术能力反而变弱了,原来的许多知识都会慢慢遗忘,这种情况并不少见。 一个京东员工发帖吐槽:感觉在大厂快待废了,出去面试问自己接口环境搭建、pytest测试框架,自己做点工太久都忘记了。平时用的时候…

【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符、英文字母、阿拉伯数字及号牌颜色)进行处理的技术。车牌识别是现代智能交通…

FMC子卡设计方案原理图:两路250Msps AD、两路600Msps DA FMC子卡

一、板卡概述 ADC采用TI的ADS62P49,2通道250M,14bit,共1片; DAC采用ADI的AD9122,2通道,16bit,可达1.2G,共1片; 时钟采用AD9516,支持板上时钟和外接时钟…

驱动--自动创建设备节点

自动创建设备节点 头文件&#xff1a;#include <linux/device.h> 自动创建设备节点&#xff1a; struct class *cls; cls class_create(owner, name) /void class_destroy(struct class *cls) 功能&#xff1a;向用户空间提交目录信息 参数&#xff1a; owner :THIS_MOD…

打卡有礼!快来 2023 开放原子全球开源峰会找龙蜥玩~

回望过去&#xff0c; 2022 年开放原子全球开源峰会上&#xff0c;龙蜥社区携新一届理事成员以及 18 位产学研大咖重磅亮相&#xff0c;社区论坛及展区更是吸引了近 1400 位参会者参与互动&#xff0c;现场热闹非凡。再看今朝&#xff0c;2023 年开放原子全球开源峰会举办在即&…

淘宝618每日一猜答案(6月8日)明星孙怡最喜欢的显瘦单品?

淘宝6月8日每日一猜答案是什么&#xff1f;&#xff0c;接下来也会给大家来介绍一下6月8日淘宝大赢家每日一猜的答案。 淘宝每日一猜6月8日答案分享 活动问题&#xff1a;明星孙怡最喜欢的显瘦单品&#xff1f; 活动答案&#xff1a;【鲨鱼裤】 还有打开手机淘宝&#xff0c…

Java 高效处理千万级数据:技巧与最佳实践

引言 这篇文章主要为大家简单介绍 Java 如何处理千万级数据&#xff0c; 随着大数据时代的到来&#xff0c;数据量持续呈现爆炸式增长。在这种背景下&#xff0c;如何快速、高效地处理和分析千万级甚至更大规模的数据&#xff0c;成为企业和开发者面临的重要挑战。处理大数据…

通过Typora,以CSDN作为图床、解决CSDN防盗链问题、将CSDN博客搬到hexo上

完美将csdn的md(包括图片)复制到hexo上 其实主要就是复制图片&#xff0c;因为csdn有防盗链&#xff0c;自己的hexo上不能拉取csdn上的图片资源 1. 安装Typora Typora作为本地的md编辑器&#xff0c;有在复制网络图片时&#xff0c;直接将其保存到本地的能力&#xff0c;我们…

集权攻防——身份认证协议之NTLM

在Kerberos出现之前&#xff0c;NTLM被广泛应用于工作组和域环境&#xff0c;是更早的用于对用户进行身份验证的协议。 相比于Kerberos&#xff0c;NTLM的认证原理比较简单&#xff0c;主要通过对比客户端和服务端加密后的数据&#xff0c;判断其是否一致&#xff0c;以确定用…

浅析Spring生命周期

前言 Spring框架是一个非常流行的Java企业级应用程序框架&#xff0c;已经成为许多生产环境中的首选技术。它提供了一种便捷的方法来帮助开发人员构建可扩展和模块化的企业级应用程序。在Spring框架中&#xff0c;Bean生命周期是非常重要的一部分&#xff0c;它负责Bean的创建…

【教程】ChuanhuChatGPT本地化部署支持多语言模型支持上传分析文档附件的GPT

原文&#xff1a;【教程】本地化部署支持多语言模型支持上传分析文档附件的GPT_腾讯新闻 说明 该项目要是为 ChatGPT API 和其他多种语言模型&#xff08;Language Language Models&#xff0c;简称 LLM&#xff09;提供一个用户友好的 Web 图形界面(GUI)。这个项目的 GUI 支…

# 文盘Rust -- tokio绑定cpu实践

作者&#xff1a; jiashiwen 原文来源&#xff1a; https://tidb.net/blog/18804515 notice"Rust is a trademark of the Mozilla Foundation in the US and other countries." tokio 是 rust 生态中流行的异步运行时框架。在实际生产中我们如果希望 tokio 应用程…

AI浪潮下,企业如何保障数据安全,不泄露

随着数字经济蓬勃发展&#xff0c;数据对于企业的价值与重要性不断攀升&#xff0c;随之而来的数据安全风险也不断涌现。再加上ChatGPT诞生&#xff0c;推动ai算力技术大步跃进&#xff0c;而算力提升的背后是史诗量级规模的数据投入&#xff0c;数据量越大&#xff0c;用户数据…

函数调用的机器级表示

文章目录 1.Call和ret指令2. 如何访问栈帧里面的数据为什么栈底放在上面&#xff0c;栈顶放在下面X86中的寄存器EBP、ESP寄存器push 、pop 指令mov 指令总结如何访问栈帧 3. 如何切换栈帧函数调用时函数返回时 4. 完整的函数调用过程1. 一个函数的栈帧内包含哪些内容2. 汇编代码…