Stable Diffusion详解

Stable Diffusion详解

Stable Diffusion详解

一、Stable Diffusion 简介

Stable Diffusion(简称 SD)是由 Stability AICompVisRunway 团队合作开发的一种潜在扩散模型。它于 2022 年 8 月正式开源,具有出图快、扩展性强、数据安全等特点。

二、Stable Diffusion 的核心概念

1. 扩散模型(Diffusion Model)

扩散模型是一种生成式模型,其核心思想是:

  • 正向过程:对图像逐步添加高斯噪声,直到图像完全变为噪声。
  • 反向过程:从噪声中逐步恢复出原始图像。

2. 潜在扩散模型(Latent Diffusion Model)

为了解决扩散模型在像素空间中计算量大的问题,潜在扩散模型先将图像压缩到潜空间,再进行扩散过程,大大减少了计算量和内存需求。

3. Stable Diffusion WebUI

提供了一个图形化界面,用户无需编写代码即可操作模型生成图像。

在这里插入图片描述

三、Stable Diffusion 的特点

1. 可拓展性强

  • 开源模型与代码,支持自定义学习与创作。
  • 集成超过 110 种插件,支持局部重绘、姿势控制、高清修复等功能。

2. 出图速度快

  • 本地部署,依赖本地显卡算力,无需排队。
  • 支持 3 秒/张 的高效出图。

3. 数据安全

  • 所有图像生成过程在本地完成,避免数据上传到云端,保护用户隐私。

四、Stable Diffusion 的工作原理

在这里插入图片描述

1. 扩散过程

  • 加噪:逐步向图像添加噪声,模拟“墨汁扩散”过程。
  • 去噪:逐步从噪声中恢复图像,即逆向降噪。
在这里插入图片描述

2. 潜空间运算

Stable Diffusion 在潜空间中进行扩散过程,显著降低了计算复杂度。

在这里插入图片描述

3. 整体运行流程

在这里插入图片描述

4. Diffusion模型的原理

在这里插入图片描述

五、Stable Diffusion 的架构

Stable Diffusion 由三个核心组件构成:

在这里插入图片描述

1. CLIP Text Encoder

  • 将文本提示词转换为 768 维向量
  • 使用对比学习训练,理解文本与图像的关系。
  • ClipText ⽂本编码器:首先训练一个处理图像的 CNN 和一个处理文本的Transformer 模型,来预测图像的caption。对比学习阶段:给定一个 Batch 的 N 个 (图片,文本) 对,图片输入给 Image Encoder 得到表征 I1,I2,…,In,文本输入给 Text Encoder 得到表征 T1,T2,…,Tn,其中 (Ij,Tj)属于是正样本,(Ij,Tk)属于负样本。最大化 N 个正样本的Cosine 相似度,最小化N^2−N个负样本的 Cosine 相似度
在这里插入图片描述

Zero-Shot Transfer:这个阶段是使用 CLIP 的预训练好的 Image Encoder 和 Text Encoder 来做Zero-Shot Transfer。比如来一张 ImageNet-1K 验证集的图片,可以使用CLIP 预训练好的模型能完成这个分类的任务。模型的参数是冻结的,在图像生成过程中参数是不会发生变化的。

在这里插入图片描述

2. U-Net + Scheduler(图像信息生成器)

U-Net 原本是用于生物医学图像分割的神经网络模型,因为工作结构像一个 U 型字母,因此被称为 U 型神经网络训练模型。在扩散模型中,U-Net 可以辅助提取并解构训练图像的特征,有了它就能在较少训练样本的情况下获得更加准确多样的数据信息,从而使模型在出图结果上更加精确。

在这里插入图片描述
  • U-Net:提取图像特征,辅助去噪。
  • Scheduler:控制去噪步骤与采样算法。Scheduler 就是用来定义使用哪种算法来运行程序,它可以定义降噪的步骤、是否具备随机性、查找去噪后样本的算法等,因此它又被称为采样算法。

3. VAE 解码器

全称是 Variational Auto Encoder 变分自动编码器。简单来说,它的作用就是将高维数据(像素空间)映射到低维空间(潜空间),从而实现数据的压缩和降维。它由编码器(Encoder)和解码器(Decoder)两部分组成,编码器用于将图像信息降维并传入潜空间中,解码器将潜在数据表示转换回原始图像,而在潜在扩散模型的推理生成过程中我们只需用到 VAE 的解码器部分。

在这里插入图片描述

六、Stable Diffusion 的文生图流程

  1. 生成随机潜空间张量(受随机种子控制)
  2. U-Net 结合文本提示预测噪声
  3. 逐步去噪,重复多次(如 50 步)
  4. VAE 解码器将潜图像转换为最终图像
在这里插入图片描述

七、Stable Diffusion 的应用场景

1. 文生图(Text-to-Image)

将文本描述转换为图像,增强视觉表达能力。

2. 图生图(Image-to-Image)

基于原图与提示词进行二次创作,控制生成结果。

3. 图像修复(Inpainting)

替换或填充图像中指定区域,实现自然修复。

Read more

SpringBoot+Vue 物流管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

SpringBoot+Vue 物流管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

摘要 随着电子商务和物流行业的快速发展,高效的物流管理系统成为企业提升竞争力的关键。传统物流管理方式依赖人工操作,效率低下且容易出错,难以满足现代物流需求。物流管理系统通过信息化手段整合订单、运输、仓储等环节,实现物流全流程的可视化和智能化管理。该系统能够优化资源配置,降低运营成本,提高配送效率,为用户提供更优质的服务体验。关键词:物流管理、电子商务、信息化、智能化、资源配置。 本系统采用SpringBoot和Vue.js技术栈开发,前后端分离架构提升了系统的可维护性和扩展性。后端使用SpringBoot框架实现RESTful API,提供订单管理、运输跟踪、仓储管理等功能;前端基于Vue.js构建用户界面,实现数据可视化与交互操作。数据库采用MySQL存储物流数据,通过SQL脚本实现数据表的初始化与维护。系统还提供完整的接口文档,便于二次开发和集成。关键词:SpringBoot、Vue.js、RESTful API、MySQL、接口文档。 数据表 物流订单数据表 订单数据表用于存储用户提交的物流订单信息,包括订单状态、收发件人信息等。订单编号是该表的主键,创建时间通过函数自

Web 创建设计

下面为你整理一份系统全面、通俗易懂、适合初学者与进阶者的 《Web 创建与设计指南》(Web Creation & Design Guide)。 它覆盖从网站构思、设计、前端、后端、交互、发布到维护的完整流程。 如果你愿意,我还可以将它扩展成 PDF、PPT、Markdown 或课程体系。 🌐 Web 创建与设计指南 (Web Creation & Design Guide) 1. 什么是 Web 创建与设计? Web 创建(Web Development)= 网站功能的开发(HTML/CSS/JS + 后端 + 数据库) Web 设计(Web Design)= 网站视觉与体验设计(UI/UX)

【前端面经】字节前端社招面经分享(已offer)

社招时间线 全程面试时间都是候选人定的,字节效率还是非常高的 * 10.23 HR电话沟通约面 * 10.28 技术一面(两小时后告知通过约面) * 10.30 技术二面(半小时后告知通过约面) * 11.4 技术三面(两小时后告知通过约面) * 11.5 HR面(三小时后告知通过) * 11.5 OC * 11.5 收集薪资流水证明 * 11.6 谈薪 * 11.11 书面offer 面试 基本都是从简历出发深挖问题,没有太多通用性,仅列出偏技术点不涉及具体项目的问题。 因为AI相关内容较多,所以问题也偏AI。 技术一面(1h) 1. 代码输出题:闭包与变量提升相关 2. 手写题:数组转树形结构 3. 手写题:

libwebkit2gtk-4.1-0安装指南:Linux桌面开发环境配置完整指南

深入理解 libwebkit2gtk-4.1-0:从安装到实战的 Linux WebView 开发指南 你是否曾为在 GTK 应用中嵌入一个简单的网页预览功能而苦恼?是否尝试过 Electron 却发现它启动慢、内存占用高,完全不适合轻量级桌面工具? 如果你正在开发基于 GTK 4 的原生 Linux 应用,并希望以较低开销集成现代 Web 渲染能力,那么 libwebkit2gtk-4.1-0 很可能是你需要的那个“隐形引擎”。 这不仅是某个 .so 文件的安装教程,更是一次深入 GNOME 生态核心的技术探索。我们将带你绕过文档盲区,避开版本陷阱,真正搞懂这个支撑着 Epiphany 浏览器、Devhelp 文档查看器乃至众多 IDE 插件界面的关键组件——它是如何工作的,怎么装,以及怎样用它构建稳定高效的混合应用。 为什么是 libwebkit2gtk-4.1-0?