Stable Diffusion 3 文本生成图像 在线体验 原理分析

前言

本文分享使用Stable Diffusion 3实现文本生成图像,可以通过在线网页中免费使用的,也有API等方式访问。

同时结合论文和开源代码进行分析,理解其原理。

Stable Diffusion 3是Stability AI开发的最新、最先进的文本生成图像模型,在图像保真度、多主体处理和文本匹配方面取得了显著进步。

利用新的多模态扩散变换器(MMDiT)架构,它具有单独的图像和语言表示的Stable Diffusion 3权重。

目录

前言

[1、在线体验Stable Diffusion 3](#1、在线体验Stable Diffusion 3)

[2、Stable Diffusion 3生成图像](#2、Stable Diffusion 3生成图像)

[3、Stable Diffusion 3原理分析](#3、Stable Diffusion 3原理分析)


1、在线体验Stable Diffusion 3

官网地址:https://stablediffusion3.net/zh-CN

如下图所示,生成的图片还挺清晰的,不错不错 :

点击图片,能看到"提示器",图像比例,还能下载原图:

当然用中文作为提示词,也是可以的,效果也很不错

不同的画风和场景:

感觉生成图像很接近真实:

"提示词"描述得更详细,会生成更多细节:

2、Stable Diffusion 3生成图像

思路流程:

  1. 输入提示词,可以中文或英文
  2. 选择模型,包括:Realistic 写实、Tamarin 插画风格、Super Anime 超级动漫、visiCanvas 可视画布、Realistic 写实、Anime 动漫、3D Animation 3D动画
  3. 选择生成图像的数量,默认是1张,可以选择2张或4张
  4. 选择图像的比例,包括1:1、3:4、4:3

比如,如下图所示,选择了Super Anime模型,同时生成两张图像,图像比例是1:1

3、Stable Diffusion 3原理分析

Stable Diffusion3利用扩散变压器(DiT)架构,结合噪声预测和采样技术,生成高质量图像。

  • 该模型使用不同的Stable Diffusion3权重进行图像和语言表示,确保图像内文本生成的精确和连贯。
  • Stable Diffusion3提供从800M到8B参数的模型,以满足各种硬件能力和性能需求。
  • 利用Stable Diffusion3 API,用户可以输入文本提示,模型将其转换为详细准确的图像,严格遵循提供的描述。

开源地址:https://huggingface.co/stabilityai/stable-diffusion-3-medium

论文地址:Scaling Rectified Flow Transformers for High-Resolution Image Synthesis

模型的关键结构,如下图所示:

主要包括(a)多模态数据的扩散模型框架的组件、(b)MM-DiT块的细节,

(a)多模态数据的扩散模型框架的组件

  • 1、Caption 输入:

    • "Caption"是输入的文本描述,用来指导生成的图像内容。
  • 2、特征提取模型:

    • CLIP-G/14 和 CLIP-L/14:这是两种处理文本和图像的模型,它们将文本和图像转化为向量表示。
    • T5 XXL:一个处理文本的模型,把输入的文字转换成向量。
  • 3、合并特征:

    • 从这些模型中提取的特征被合并在一起,形成一个大的向量,包含了输入信息的多个方面。
  • 4、噪声潜在变量(Noised Latent):

    • 这是模型生成图像的起点,是一个初始的噪声图像。
  • 5、位置编码(Positional Embedding):

    • 给输入数据添加位置信息,以便模型知道每个数据的位置。
  • 6、MM-DiT 块:

    • 这些是模型的核心部分,通过多层处理将噪声图像一步步转换成目标图像。
  • 7、输出处理:

    • 最后,将处理后的特征向量转换回图像,输出最终的生成图像。

(b)MM-DiT块(Multimodal Diffusion Transformer)

  • 1、输入:

    • 输入为 y 和 x 两个特征向量。
  • 2、SiLU 激活函数和线性层:

    • 使用 SiLU(Sigmoid Linear Unit)激活函数和线性层对输入特征进行变换。
  • 3、Layernorm 和调制(Modulation):

    • 使用 Layernorm 进行层归一化。
    • 调制(Modulation)部分通过 α 和 β 参数进行特征调整。
  • 4、Attention 机制:

    • 采用 Q(Query)、K(Key)、V(Value)三个矩阵进行注意力计算。
  • 5、MLP(多层感知器):

    • 通过多层感知器对特征进行非线性变换。
  • 6、残差连接(Residual Connections):

    • 使用残差连接来保持信息的流动,避免梯度消失问题。

这个框架通过融合文本和图像特征,使用扩散模型逐步生成高质量的图像。

关键在于多模态 Transformer 块(MM-DiT block),通过注意力机制和非线性变换对特征进行处理,从而在生成过程中保持了数据的复杂性和一致性。

分享完成~

相关推荐
I Am a robert girl8 天前
当扩散编辑器“看不见”参考图:从 RefGAP 拆解参考注意力分配问题
计算机视觉·注意力机制·扩散模型·1024程序员节·参考引导编辑·refgap·免训练方法
Miss小乐12 天前
stable-diffusion-webui安装教程和遇到的问题解决
stable diffusion
Είναι η κοπέλα14 天前
Stable Diffusion文生图:本地 AI 绘画事实标准入门
人工智能·stable diffusion
风巽·剑染春水16 天前
【扩散模型原理】(七)Diffusion Models and Optimal Transport(3)
人工智能·生成模型·diffusion·扩散模型·最优传输
瑶山19 天前
stable-diffusion.cpp 参数全集整理(sd-cli.exe / sd-server.exe)
java·数据库·stable diffusion·参数全集
杀生丸学AI19 天前
【世界模型】WorldCrafter:基于隐式三维感知记忆的视频世界模型
人工智能·三维重建·扩散模型·视频生成·世界模型·4dgs·动态重建
scott19851219 天前
Unified Camera Positional Encoding for Controlled Video Generation
扩散模型·生成式
云间月131419 天前
Stable Diffusion WebUI完整部署:从本地出图到7860远程访问
stable diffusion
霸道流氓气质19 天前
Java调用StableDiffusion/ComfyUI图像生成:DAG工作流编排、WebSocket实时进度与Flux模型集成的生产级实战
java·websocket·stable diffusion
I Am a robert girl22 天前
HelixWorld 源码剖析:当世界模型第一次“开口说话”
python·多模态·扩散模型·世界模型·自回归·空间音频·流式推理