Stable Diffusion入门指南(看完必会)超全面

作者:SuMu
链接:https://zhuanlan.zhihu.com/p/703196651
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

今天写这个帖子是带大家了解一款强大的 AI 绘画工具——Stable Diffusion,可以帮你解决很多应用层面的AI控图问题。

关于 Stable Diffusion 的内容很多,在本篇教程里,我会先为你介绍 Stable Diffusion 模型的运行原理、发展历程和相较于其他 AI 绘图应用的区别。

一、关于 Stable Diffusion 的几个名词

相信大家或多或少有看到过以下几个名词,因此有必要先给大家做个区分,以便你更好理解后续教程的内容。

Stable Diffusion的几个名词

  1. Diffusion Model:扩散模型,一款支持文本生成图像的算法模型,目前市面上主流的 DALL E、Midjourney、Stable Diffusion 等 AI 绘画工具都是基于此底层模型开发的
  2. Latent Diffusion Model:即潜在扩散模型,基于上面扩散模型基础上研制出的更高级模型,升级点在于图像图形生成速度更快,而且对计算资源和内存消耗需求更低
  3. Stable Diffusion:简称SD模型,其底层模型就是上面的潜在扩散模型,之所以叫这个名字是因为其研发公司名叫Stability AI,相当于品牌冠名了
  4. Stable Diffusion Web Ul:简称SD WebUI,用于操作上面Stable Diffusion模型的网页端界面,通过该操作系统就能控制模型出图,而无需学习代码

在本系列的教程中,我们需要学习的内容就是使用 SD WebUI 来调用 Stable Diffusion 模型生成图像。

二、Stable Diffusion 模型的运行原理

在上面介绍的几个概念中,你会发现都包含了 Diffusion 扩散模型这个词,所以我们先从它开始讲起。

Diffusion 模型是图像生成领域中应用最广的生成式模型之一,除此之外市面上还有生成对抗模型(GAN)、变分自动编码器(VAE)、流模型(Flow based Model)等其他模型,它们都是基于深度学习为训练方式的模型。

运行原理

扩散模型之所以用 Diffusion 来命名,因为它的运作过程就是向训练图像不断地添加噪声,直到变为一张无意义的纯噪声图,再逐步恢复的过程。

其中加噪的过程就像在干净的水中滴了一滴墨汁,颜料会逐渐向整个水体扩散,直至整个水体变浑。如果你之前有尝试过 AI 绘画,会发现整个绘图过程就是从一张模糊的噪声图,逐渐变为清晰的图像,而这就是逆向降噪的过程。

逆向降噪过程

以上是潜在扩散模型的工作原理,但 Stable Diffusion 模型并不是单一的文生图模型,而是多个模型组成的运作系统,其中的技术可以拆解为 3 个结构来看:

SD结构

  1. ClipText 文本编码器:用于解析提示词的 Clip 模型
  2. Diffusion 扩散模型:用于生成图像的 U-Net 和 Scheduler
  3. VAE 模型:用于压缩和恢复的图像解码器

是不是看到这里已经有点头晕了,别担心,这里只需简单了解每一部分的功能即可,在后续 WebUI 的功能介绍中我们还和他们有更深的接触,到时候就更容易理解每一部分的概念了。

三、Stable Diffusion背景介绍

1. Stable Diffusion 是如何诞生的

下面,我再为大家介绍下 Stable Diffusion 的发展历程,有助于你更深层次的了解这款 AI 绘画工具。

如今提到 Stable Diffusion,就不得不提 Stability AI,这家独角兽公司在去年以十亿美元的估值一跃成为这过去半年中 AIGC 行业的黑马。 Stable 这个词其实是源于其背后的赞助公司 Stability。相较于 Latent Diffusion 模型,改进后的 Stable Diffusion 采用了更多的数据来训练模型,用于训练的图像尺寸也更大,包括文本编码也采用了更好的 CLIP 编码器。在实际应用上来说,Stable Diffusion 生成模型会更加准确,且支持的图像分辨率也更高,比单一的 Latent Diffusion 模型更加强大。

在 Discord 上进行短期内测后,Stable Diffusion 于 8 月 22 日正式开源。后面的事情大家都知道了,就在推出的短短几天后,Stability 拿到了 1 亿美元的融资,让这家年轻企业直接获得了约 10 亿美元的估值,可谓是名利双收。

2. 从开源到百花齐放

对于 Stability 的商业行为我们不做过多点评,但他们在开源这条路上确实践行的很好,正如他们官网首页所说:AI by the people, for the people—AI取之于民,用之于民。

Stability官网

起初,Stable Diffusion 和 Midjourney 一样先是在 Discord 上进行了小范围的免费公测。随后在 22 年的 8 月 22 日,关于 Stable Diffusion 的代码、模型和权重参数库在 Huggingface 的 Github 上全面开源,至此所有人都可以在本地部署并免费运行 Stable Diffusion。

有朋友可能对开源这个词比较陌生,这里简单介绍下:开源指的是开放源代码,即所有用户都可以自由学习、修改以及传播该软件的代码信息,并且不用支付任何费用。举个不太恰当的比喻,就像是一家餐厅把自己辛苦研究的秘制菜谱向全社会公布,任何人都可以拿去自由使用,不管是自己制作品尝,还是由此开一家新餐厅都可以。但这里有个问题,并不是每个人都是厨师,更不用说做这种需要繁琐环境部署和基础设施搭建的“秘制菜”。

开源后的 Stable Diffusion 文件,起初只是一串你我这样小白都看不懂的源代码,更不用说上手体验。但伴随着越来越多开发者的介入,Stable Diffusion 的上手门槛逐渐降低,开始走向群众视野,它的生态圈逐渐发展为商业和社区 2 个方向。

这些应用在很大程度上都进行了简化和设计,即使是小白用户也可以快速上手,当然缺点就是基本都要付费才能使用,而且很难针对个人做到功能定制化。

另一方面,开源的 Stable Diffusion 社区受到了广泛民间开发者大力支持,众多为爱发电的程序员自告奋勇的为其制作方便操控的 GUI 图形化界面(Graphical User Interface)。其中流传最广也是被公认最为方便的,就是由越南超人 AUTOMATIC1111 (下文统一用 A41 代称)开发的 WebUI,而这正是前面提到的 Stable Diffusion WebUI,后面的教程内容都是基于该程序展开的。

AUTOMATIC1111研发的webui,是目前最火的SD界面之一

它集成了大量代码层面的繁琐应用,将 Stable Diffusion 的各项绘图参数转化成可视化的选项数值和操控按钮。如今各类开源社区里 90%以上的拓展应用都是基于它而研发的。

当然,除了 WebUI 还有一些其他的 GUI 应用,比如 Comfy UI 和 Vlad Diffusion 等,不过它们的应用场景更为专业和小众

四、Stable Diffusion 的特点

目前,市面上绝大多数商业级 AI 绘画应用都是采用开源的 Stable Diffusion 作为研发基础,当然也有一些其他被大众熟知的 AI 绘画工具,比如最受欢迎的 Midjourney 和 OpenAI 公司发布的 DALL·E2。但不可否认的是,开源后的 Stable Diffusion 在实际应用上相较其他 AI 绘画工具存在巨大优势:

1. 可拓展性强

首先最关键的一点就是极其丰富的拓展性。得益于官方免费公开的论文和模型代码,任何人都可以使用它来进行学习和创作且不用支付任何费用。光是在 A41 WebUI 的说明文档中,目前就已经集成了 110 多个扩展插件的功能介绍。

从局部重绘到人物姿势控制,从图像高清修复和到线稿提取,如今的 Stable Diffusion 社区中有大量不断迭代优化的图像调整插件以及免费分享的模型可以使用。而对于专业团队来说,即使社区里没有自己满意的,也可以通过自行训练来定制专属的绘图模型。

在 Midjourney 等其他商用绘画应用中,无法精准控图和图像分辨率低等问题都是其普遍痛点,但这些在 Stable Diffusion 中通过 ControlNet 和 UpScale 等插件都能完美解决。如果单从工业化应用角度考虑,如今的 Stable Diffusion 在 AI 绘画领域毫无疑问是首选工具。

SD精准控图

2. 出图效率高

其次是其高效的出图模式。使用过 Midjourney 的朋友应该都有体验过排队等了几分钟才出一张图的情况,而要得到一张合适的目标图我们往往需要试验多次才能得到,这个试错成本就被进一步拉长。其主要原因还是由于商业级的 AI 应用都是通过访问云服务器进行操作,除了排队等候服务器响应外,网络延迟和资源过载都会导致绘图效率的降低。

而部署在本地的 Stable Diffusion 绘图效率完全由硬件设备决定,只要显卡算力跟得上,甚至能够实现 3s 一张的超高出图效率。

3. 数据安全保障

同样是因为部署在本地,Stable Diffusion 在数据安全性上是其他在线绘画工具无法比拟的。商业化的绘画应用为了运营和丰富数据,会主动将用户的绘图结果作为案例进行传播。但 Stable Diffusion 所有的绘图过程完全在本地进行,基本不用担心信息泄漏的情况。

总结来说,Stable Diffusion 是一款图像生产+调控的集合工具,通过调用各类模型和插件工具,可以实现更加精准的商业出图,加上数据安全性和可扩展性强等优点,Stable Diffusion 非常适合 AI 绘图进阶用户和专业团队使用。

而对于具备极客精神的 AI 绘画爱好者来说,使用 Stable Diffusion 过程中可以学到很多关于模型技术的知识,理解了 Stable Diffusion 等于就掌握了 AI 绘画的精髓,可以更好的向下兼容其他任意一款低门槛的绘画工具。

五、最后想说

AIGC(AI Generated Content)技术,即人工智能生成内容的技术,具有非常广阔的发展前景。随着技术的不断进步,AIGC的应用范围和影响力都将显著扩大。以下是一些关于AIGC技术发展前景的预测和展望:

1、AIGC技术将使得内容创造过程更加自动化,包括文章、报告、音乐、艺术作品等。这将极大地提高内容生产的效率,降低成本。2、在游戏、电影和虚拟现实等领域,AIGC技术将能够创造更加丰富和沉浸式的体验,推动娱乐产业的创新。3、AIGC技术可以帮助设计师和创意工作者快速生成和迭代设计理念,提高创意过程的效率。

未来,AIGC技术将持续提升,同时也将与人工智能技术深度融合,在更多领域得到广泛应用。感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程。

对于从来没有接触过AI绘画的同学,我已经帮你们准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

AIGC学习必备工具和学习步骤

工具都帮大家整理好了,安装就可直接上手

现在AI绘画还是发展初期,大家都在摸索前进。

但新事物就意味着新机会,我们普通人要做的就是抢先进场,先学会技能,这样当真正的机会来了,你才能抓得住。

如果你对AI绘画感兴趣,我可以分享我在学习过程中收集的各种教程和资料。

学完后,可以毫无问题地应对市场上绝大部分的需求。

这份AI绘画资料包整理了Stable Diffusion入门学习思维导图、Stable Diffusion安装包、120000+提示词库,800+骨骼姿势图,Stable Diffusion学习书籍手册、AI绘画视频教程、AIGC实战等等。

【Stable Diffusion安装包(含常用插件、模型)】

img

【AI绘画12000+提示词库】

img

【AI绘画800+骨骼姿势图】

img

【AI绘画视频合集】

img

还有一些已经总结好的学习笔记,可以学到不一样的思路。

实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT day02

思维导图 UI界面设计 设置登录界面,输入账号、密码,登录/取消 按钮 使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数 将登录按钮使用qt4版本的连接到自定义…

Linux x86_64 BIOS 启动

文章目录 前言一、BIOS简介二、MBR三、Linux BIOS 启动3.1 BIOS stage3.2 Boot Loader Stage3.2.1 boot.img3.2.2 core.img3.2.3 *.mod 3.3 Kernel Stage 参考资料 前言 本文以 centos 6/7 (2.6.32/3.10.0 ),x86_64平台为例。 固件保存在主…

传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解

内置数据源 我们回顾一下druid数据源的配置方式 通过type属性指定数据源的类型 导入依赖 starter就使用了spring的自动装配功能 格式二是在引入druid的依赖的基础上 进行的一种配置方式 Tomcat内部也可以进行数据源的配置 轻量级中最快的数据源对象 我们切换德鲁伊连接池 我…

自动控制理论---线性时不变系统的单位脉冲响应

1、实验设备 PC计算机1台,MATLAB软件1套。 2.实验目的: 学习并理解线性时不变系统的单位脉冲响应的计算方法。掌握MATLAB编程,计算整个系统的单位脉冲响应。 3.实验原理说明: 单位脉冲响应是指在输入信号为单位脉冲序列时&am…

数仓建模—OLTP 和 OLAP

数仓建模—OLTP 和 OLAP 前面我们在数仓建模—数仓初识 中提到了OLTP 和 OLAP 两个概念 OLAP 是 On-Line Analytical Processing(联机分析处理)的缩写。广义的 OLAP 泛指数据查询分析,像报表、即席查询、多维分析都属于 OLAP 的范畴。 OLTP 和 OLAP 最大区别在于前者会产…

『 Linux 』 进程地址空间与动态库地址

文章目录 逻辑地址进程地址空间指令的执行惰性加载(Lazy Loading)/延迟加载 动态库的地址 逻辑地址 在程序加载进内存之前,即编译之后就已经形成了地址,在编译之后的地址被称为 逻辑地址; 逻辑地址 逻辑地址是程序在编译时产生的地址; 在编译阶段,编译器会为程序中的每个变量…

电商领域利器来了!港大阿里联合提出MimicBrush,对参考图模仿进行零样本图像编辑,万物皆可编辑。

阿里和港大提出的MimicBrush可以通过对参考图模仿进行零样本图像编辑。将一张图片的某一部分融合到领一张图片上去。用在电商商品展示上或者单纯的图片编辑和内容迁移很有用。从官方演示来看效果也很好。 MimicBrush,它会随机选择视频剪辑中的两帧,遮盖其…

足底筋膜炎怎么治疗才能彻底除根

现代快节奏的生活中,足底筋膜炎作为一种常见的足部疾病,困扰着越来越多的人。长时间的站立、行走,以及不正确的运动姿势,都可能成为足底筋膜炎的诱因。足底筋膜炎带来的疼痛和不适,严重影响了人们的生活质量和日常工作…

AI Stable diffusion 报错:稳定扩散模型加载失败,退出

可能是内存不够,看看你最近是加了新的大的模型,可以把你的stable-diffusion-webui\models\Stable-diffusion目录下的某个ckpt删除掉,可能ckpt太大,无法加载成功; Stable diffusion model failed to load, exiting 如图…

SpringBoot+Vue实现Excel文档导入和导出

1.准备工作 1.1.前端程序 在前端首先加上批量导出的按钮&#xff0c;如下 <el-button size"small" type"warning" plain click"exportData"> 批量导出 </el-button> 在添加了点击事件之后&#xff0c;在methods中要与之对应的添加上…

高考志愿填报,选专业应该考虑哪些因素?

这是一个复杂的社会&#xff0c;各种影响就业的因素层出不穷&#xff0c;也从未断绝。对于高考生而言&#xff0c;高考刚结束&#xff0c;短暂的放松后&#xff0c;就必须考虑自身以后应该就读什么专业&#xff0c;如果不对就读专业进行评估&#xff0c;仔细挑选&#xff0c;毕…

【设计模式深度剖析】【8】【行为型】【备忘录模式】| 以后悔药为例加深理解

&#x1f448;️上一篇:观察者模式 设计模式-专栏&#x1f448;️ 文章目录 备忘录模式定义英文原话直译如何理解呢&#xff1f; 3个角色1. Memento&#xff08;备忘录&#xff09;2. Originator&#xff08;原发器&#xff09;3. Caretaker&#xff08;负责人&#xff09;类…

每日一题——Python实现PAT乙级1028 人口普查 Keyboard(举一反三+思想解读+逐步优化)六千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 题目链接​编辑我的写法 专业点评 时间复杂度分析 空间复杂度分析 总结 我要更强…

Star-CCM+自动网格执行方法与设置技巧

在Star中进行一个仿真项目时,有时会创建多个自动网格。网格创建结束后需要执行。在Star中,网格执行可以分为三种。分别是:单独执行操作;多个执行操作;全部执行操作。接下来将三种执行操作的方法与步骤进行介绍。 其次,如果不习惯用自定义控制网格,有时在一个项目中就会…

认识一些分布函数-Gumbel分布

1. Gumbel分布 Gumbel分布(也称为古贝尔型)是一种常用的非对称极值分布( Extreme Value Distribution,EVD),用于建模极大值和极小值,也就是所谓的EVD Type I分布。例如,EVD Type I 被用来预测地震、洪水和其他自然灾害,以及在风险管理中建模操作风险和那些在一定年龄…

关于阿里云效流水线自动部署项目教程

1、登录阿里云效:阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台 2、点击左侧流水线&#xff1a; 3、在流水线界面&#xff0c;新建流水线 4、我的是php代码&#xff0c;因此选择php模版 5、创建之后添加流程线源&#xff0c;如下图 6、选择相应的源头。比…

eclipse中报出Invaild project path

一、问题&#xff1a; 二、提示分析&#xff1a; 资源路径位置类型无效的项目路径&#xff1a;找到重复的路径条目 项目路径中有一个名为"/eclipse_rtt_demo"的条目被多次定义&#xff0c;这在Eclipse的构建路径设置中是不允许的。这个重复的条目既被标记为系统包含…

Studio One软件最新版下载及详细安装教程

Studio One 6是一款功能丰富、专业级的音乐制作软件&#xff0c;它具备灵活的工作流程和高效的团队协作能力&#xff0c;能帮助用户实现高质量的音乐创作和制作。 智能模板更快的启动&#xff0c;全新的智能模板为你手头的任务提供了必要的工具集&#xff0c;包括基本录制、混音…

【个人云盘连接助手】解决多个用户账号无法同时映射到本地磁盘问题

问题 家里买了个联想个人云盘&#xff0c;但是使用SAMBA映射到windows本地磁盘时&#xff0c;每次只能连接到一个账户上&#xff0c;于是想着写个小工具&#xff0c;方便切换多个用户账户&#xff0c;自动映射到本地磁盘 开发简介 开发语言&#xff1a;python 主要实现功能&…

训练营第三十六天| 337.打家劫舍 III121. 买卖股票的最佳时机

337.打家劫舍 III 力扣题目链接(opens new window) 在上次打劫完一条街道之后和一圈房屋后&#xff0c;小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为“根”。 除了“根”之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察…