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

前言

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

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

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

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

目录

前言

1、在线体验Stable Diffusion 3

2、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),通过注意力机制和非线性变换对特征进行处理,从而在生成过程中保持了数据的复杂性和一致性。

分享完成~

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

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

相关文章

性能工具之 MySQL OLTP Sysbench BenchMark 测试示例

文章目录 一、前言二、测试环境1、服务器配置2、测试拓扑 三、测试工具安装四、测试步骤1、导入数据2、压测数据3、清理数据 五、结果解析六、最后 一、前言 做为一名性能工程师掌握对 MySQL 的性能测试是非常必要的,本文基于 Sysbench 对MySQL OLTP(联…

现在的Java面试都这么扯淡了吗?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」, 点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!!开发兼过半年面试官 刚开始…

使用js实现input框的模糊搜索

使用简单的js代码就可以实现模糊搜索功能,使用indexOf属性。 json假数据:使用数组包对象的方法,在json中设置了三列数据,分别是:名称,性别和交易额。 [{"name": "虚拟星辰","de…

【杂记-浅谈OSPF协议之STUB、NSSA区域】

OSPF协议之STUB、NSSA区域】 一、STUB区域1、STUB区域概述2、STUB区域的特点3、STUB区域的优缺点 二、NSSA区域1、NSSA区域概述2、NSSA区域的特点3、NSSA区域的配置和使用 一、STUB区域 1、STUB区域概述 STUB区域是OSPF协议中的一个特殊区域类型,主要用于网络设计…

学习java第一百一十天

请解释Spring中的事务管理? 事务管理是确保数据完整性和一致性的重要机制。在Spring框架中,事务管理可以通过声明式事务管理或编程式事务管理来实现。声明式事务管理允许我们将事务管理逻辑与业务逻辑分离,让Spring容器自动处理事务的开启、提…

Selenium与PyAutoGUI的联动:一种创新的Web自动化测试方案

在当今的软件开发周期中,自动化测试是确保软件质量和效率的关键步骤。Selenium是广泛使用的Web应用程序自动化测试工具之一,它支持多种编程语言并且能够模拟用户对浏览器的操作。然而,有些测试场景可能超出了Selenium的处理范围,例…

网络安全等级保护测评

网络安全等级保护 《GB17859 计算机信息系统安全保护等级划分准则》 规定计算机信息系统安全保护等级共分五级 《中华人民共和国网络安全法》 “国家实行网络安全等级保护制度。 等级测评 测评机构依据国家网络安全等级保护制度规定,按照有关 管理规范和…

JVM虚拟机的组成

一、为什么要学习 JVM ? 1. “ ⾯试造⽕箭,⼯作拧螺丝” , JVM 属于⾯试官特别喜欢提问的知识点; 2. 未来在⼯作场景中,也许你会遇到以下场景: 线上系统突然宕机,系统⽆法访问,甚⾄直…

2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024,8月2日-4)

2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)将于2024年8月2-4日在中国厦门召开。ICVISP 2024将围绕“虚拟现实、图像和信号处理”的最新研究领域, 为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提…

STM32+HAL+FreeRTOS,已经修改了系统时钟为定时器,为什么还卡死在HAL_Delay()

问题 使用CubeMX创建了STM32的工程,启用了FreeRTOS,使用的是HAL库,运行后发现卡死在HAL_Delay(),修改了Timebase Source后正常了,后来加入了USB,又卡死了,参考这篇文章解决,后来我又…

迁移方案详解|使用YMP从异构数据库迁移到YashanDB

数据迁移简介 01典型场景与需求 在国产化浪潮下,数据库系统的国产化替代成为了一个日益重要的议题,有助于企业降低对外依赖,提升信息安全和自主性。 以Oracle、MySQL为代表的传统关系型数据库管理系统,在企业应用中占据了重要的…

通用VS垂直,个人观点分析。

摘要:随着人工智能技术的飞速发展,大模型的应用场景越来越广泛。在这个背景下,通用大模型和垂直大模型之间的竞争日趋激烈。本文将围绕这两个方向,探讨它们在第一个赛点中的优劣,并给出个人观点。  一、通用大模型 …

SpringMvcの拦截器全局异常处理

一、拦截器 我们在网上发贴子的时候如果没有登录,点击发送按钮会提示未进行登录,跳转到登录页面。这样的功能是如何实现的。 1、 拦截器的作用 Spring MVC 的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理…

服务器卡的情况下,一般会出现什么表现状况?

1、服务器严重丢包,正常的服务器丢包率为0%,若丢包率高于1%则会出现卡的情况。 2、部分用户卡,部分用户不卡,可能由于硬件防火墙造成,部分链路堵塞。 3、另外,上述情况也可能是互联网节点故障造成。

Elasticsearch:has_child 和 has_parent 查询——父子关系查询详解

在 Elasticsearch 中,父子关系查询是一种特殊的查询类型,它允许我们在具有父子关系的文档之间进行关联查询。这种关系在树形结构或者层次化数据模型中尤为常见。Elasticsearch 提供了 has_child 和 has_parent 两种查询类型,用于在这种关系中…

掌握 Postman 监控功能:自动化测试与性能监控的秘诀

掌握 Postman 监控功能:自动化测试与性能监控的秘诀 引言 在现代软件开发中,API 的稳定性和性能至关重要。Postman,作为最受欢迎的 API 开发工具之一,提供了强大的监控功能,帮助开发者自动化测试和监控 API 的运行状…

图书馆借阅表

DDL 用户表 (Users) 图书表 (Books) 图书类别表 (BookCategories) 图书与类别关联表 (BookCategoryRelations) 借阅记录表 (BorrowRecords) 供应商表 (Suppliers) 采购记录表 (PurchaseRecords) CREATE TABLE Users (user_id INT PRIMARY KEY AUTO_INCREMENT,username …

pytorch神经网络训练(VGG-19)

VGG-19 导包 import torchimport torch.nn as nnimport torch.optim as optimimport torchvisionfrom torchvision import datasets, transformsfrom torch.utils.data import DataLoaderimport matplotlib.pyplot as plt 数据预处理和增强 transform transforms.Compose(…

在 Go 中如何让结构体不可比较?

最近我在使用 Go 官方出品的结构化日志包 slog 时,看到 slog.Value 源码中有一个比较好玩的小 Tips,可以限制两个结构体之间的相等性比较,本文就来跟大家分享下。 在 Go 中结构体可以比较吗? 在 Go 中结构体可以比较吗&#xff…

鸿蒙开发HarmonyOS NEXT(一)

最近总听见大家讨论鸿蒙,前端转型的好方向?先入门学习下 目前官方版本和文档持续更新中 一、开发环境 提示:要占用的空间比较多,建议安装在剩余空间多的盘 1、下载:官网最新工具 - 下载中心 - 华为开发者联盟 (huaw…