AIGC001-latent-diffusion(SD)第一次让文生图如此生动有趣!

AIGC001-latent-diffusion(SD)第一次让文生图如此生动有趣!


文章目录

    • 0 论文工作
    • 1 论文方法
    • 2 效果

0 论文工作

通过将图像形成过程分解为去噪自编码器的连续应用,扩散模型(DMs)实现了对图像数据等方面的最先进的综合结果。这些方法允许一个指导机制来控制图像生成过程,而无需再训练。然而,由于这些模型通常直接在像素空间中运行,因此进行优化功能强大的dm通常会消耗数百天的GPU,而且由于顺序评估,推理是昂贵的。使其能够在有限的计算资源上进行DM培训,同时保持其质量和质量灵活性,本文将它们应用于强大的预训练自动编码器的潜在空间。与以前的工作相比,在这种表示上训练扩散模型允许第一次达到复杂性降低和细节保存之间的一个接近最优的点,大大提高了视觉保真度。通过在模型架构中引入交叉注意层,使得扩散模型成为强大和灵活的生成器,用于一般条件输入,如文本或边界框和高分辨率合成,以卷积的方式成为可能。
简单来说,这篇论文提出了潜扩散模型 (Latent Diffusion Models, LDMs),一种用于高分辨率图像合成的新的生成式模型。LDMs 结合了自编码器和扩散模型的优势,在图像的低维潜空间中执行扩散过程,而不是在高维像素空间中。这种方法显著提高了生成效率和图像质量,并能够生成具有精细细节和逼真纹理的高分辨率图像。此外,LDMs 可以通过引入条件信息来控制生成过程,例如文本描述或类别标签,实现特定类型图像的合成。
相较于当时的同期DALLE系列和IMAGEN系列的策略方法,SD目前成为最受欢迎的底层文生图模型,无论是提升可控的controlnet,T2I-adapter还是定制概念的dreambooth,扩充性能的SDXL实际上都是让sd成为一个更好用的工具。在civitai 等网站可以看到各种玩家训练的sd模型,这是意见很酷的事情。毫无疑问SD是现在免费试用的最好的最核心的文生图模型。但是开源开的好就是不赚钱(题外话)。。。

1 论文方法

在这里插入图片描述
LDMs 主要包含以下三个步骤:
a. 感知压缩:
首先,使用一个变分自编码器 (Variational Autoencoder, VAE) 将高分辨率图像压缩到一个低维的潜空间。VAE 的编码器将图像映射到潜空间中的一个低维向量,而解码器则将潜向量重建为高分辨率图像。
VAE 的训练目标是最大化输入图像的变分下界 (ELBO),这确保了潜空间能够捕捉图像的重要信息,同时去除高频噪声和不必要的细节。
b. 潜空间扩散:
在潜空间中,LDMs 应用一个马尔可夫链来描述扩散过程。该过程从一个随机噪声向量开始,逐步将其转换为有意义的图像表示。
扩散过程由一系列高斯分布组成,每个高斯分布的均值和方差由一个预先定义的时间步长控制。随着时间步长的增加,高斯分布的方差逐渐减小,噪声逐渐被消除,最终得到一个清晰的图像表示。
LDMs 的扩散模型是一个U-Net 架构,它被训练来预测每个时间步长的噪声,从而逆转扩散过程,从噪声中恢复图像表示。
c. 条件生成和高分辨率重建:
为了实现条件图像生成,LDMs 使用交叉注意力机制将条件信息(例如文本描述或类别标签)融入到 U-Net 中。这样,扩散模型可以根据条件信息来引导生成过程,生成符合特定要求的图像。
最后,使用 VAE 的解码器将潜空间中的图像表示重建为高分辨率图像。
2. 优缺点:
优点:
高分辨率: LDMs 能够生成具有精细细节和逼真纹理的高分辨率图像。
高效性: 由于扩散过程在低维潜空间中进行,LDMs 的训练和推理效率更高。
多样性: LDMs 能够生成各种不同风格和内容的图像,表现出很强的多样性。
可控性: 通过引入条件信息,LDMs 可以实现对生成过程的精细控制。
缺点:
训练数据需求: LDMs 通常需要大量的训练数据才能学习到图像的复杂分布。
计算成本: LDMs 的训练和推理过程仍然需要较高的计算资源。
难以捕捉全局结构: LDMs 在捕捉图像的全局结构方面可能会存在一些局限性,例如生成大型物体或复杂场景时。

2 效果

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

MySQL---通用语法及分类

目录 一、SQL通用语法 二、 SQL分类 1.DDL 1.1 DDL数据库操作 1.2 DDL表操作---查询 1.3 DDL表操作---创建​编辑 1.4 DDL表操作---数据类型 1.5 DDL表操作---修改 1.6 DDL表操作---删除 1.7 DDL总结 2. 图形化界面工具DataGrip 2.1 创建 2.2 使用 3. DML 3.1 DML介绍 3.2 DM…

C语言.数据结构.顺序表

1.顺序表的概念及结构 1.1线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,…

Golang net/http标准库常用方法(三)

大家好,针对Go语言 net/http 标准库,将梳理的相关知识点分享给大家~~ 围绕 net/http 标准库相关知识点还有许多章节,请大家多多关注。 文章中代码案例只有关键片段,完整代码请查看github仓库:https://github.com/hltfa…

面试八股之JVM篇3.6——垃圾回收——强引用、弱引用、虚引用、软引用

🌈hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。 ✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。 🏃人生之义,在于追求,不在成败,勤通…

LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现

0x01 产品简介 LVS精益价值管理系统是杭州吉拉科技有限公司研发的一款专注于企业精益化管理和价值流优化的解决方案。该系统通过集成先进的数据分析工具、可视化的价值流映射技术和灵活的流程改善机制,帮助企业实现高效、低耗、高质量的生产和服务。 0x02 漏洞概述 LVS精益…

全国数据库管理系统设计赛-人大金仓内核实训安排正式发布

作为数据库领域国家队,人大金仓积极响应国家战略,通过赛题设计、内核技术支撑及赛前培训等多方面,大力支持全国大学生计算机系统能力大赛-数据库管理系统设计大赛成功举办。目前第二届全国大赛正在火热报名中,各种奖项等你来拿&am…

RabbitMQ 发布订阅

RabbitMQ 发布订阅视频学习地址: 简单模式下RabbitMQ 发布者发布消息 消费者消费消息 Publist/Subscribe 发布订阅 在 RabbitMQ 中,发布订阅模式是一种消息传递方式,其中发送者(发布者)不会将消息直接发送到特 定的…

Linux文本处理三剑客(详解)

一、文本三剑客是什么? 1. 对于接触过Linux操作系统的人来说,应该都听过说Linux中的文本三剑客吧,即awk、grep、sed,也是必须要掌握的Linux命令之一,三者都是用来处理文本的,但侧重点各不相同,a…

Docker-镜像迁移的三种方式=>备份恢复公有仓库私有仓库

制作好的镜像要被别人使用,有三种方式: 1.先备份镜像,别人通过u盘或者其它方式拷贝后,再恢复镜像,这种方式比较麻烦 2.将制作的镜像上传到公共镜像仓库,被别人拉取后使用,但可能存在网络不通畅或…

嵩山为什么称为三水之源

三水指黄河、淮河、济河,这三条河流环绕在嵩山周边。 黄河横亘在嵩山北部,其支流伊洛河从西南方环绕嵩山,然后汇入黄河。济河,古称济水,源自济源王屋山,自身河道在东晋时代被黄河夺占,从此消失。…

【Spring MVC】_SpringMVC项目返回数据

目录 1. 注解使用示例 1.1 使用Controller注解 1.2 使用RestController注解 1.3 使用Controller与ResponseBody注解 2. 关于ResponseBody注解 前文已经介绍过使用Controller注解向前端返回一个HTML页面,接下来将介绍向前端返回数据。 关于Controller和RestCon…

算法金 | Dask,一个超强的 python 库

本文来源公众号“算法金”,仅用于学术分享,侵权删,干货满满。 原文链接:Dask,一个超强的 python 库 1 Dask 概览 在数据科学和大数据处理的领域,高效处理海量数据一直是一项挑战。 为了应对这一挑战&am…

初学者都能掌握的操作符(中)

(1)位操作符(& | ^) &:(按二进制位“与”) 也就是两个数的每一位二进制数按照 “与” 的算法,如下: int a 3 ,b 5 ; c a & b; 我们首先写出a和b的二进…

Java面试八股之Synchronized和ReentrantLock的区别

Synchronized和ReentrantLock的区别 实现级别: synchronized是Java的一个关键字,属于JVM层面的原生支持,它通过监视器锁(Monitor)来实现同步控制,无需手动获取和释放锁。 ReentrantLock是java.util.conc…

【Linux网络编程】传输层中的TCP和UDP(TCP篇)

【Linux网络编程】传输层中的TCP和UDP(TCP篇) 目录 【Linux网络编程】传输层中的TCP和UDP(TCP篇)TCP协议TCP协议段格式确认应答(ACK)机制(保证可靠性)超时重传机制连接管理机制理解T…

aws msk加密方式和问控制连接方式

msk加密方式 msk提供了两种加密方式 静态加密传输中加密 创建集群时可以指定加密方式,参数如下 aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file:/…

ASP+ACCESS公司门户网站建设

【摘 要】随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。本文讲解了一个公司的网站的建设,它基于数据关联规则的公司个性化页面及动态数据生成案例,在网页方面&…

Kubeadm安装部署k8s集群、踩坑日常

背景 ​ Docker是一个非常流行的容器化平台,它可以让我们方便构建、打包、发布和运行容器化应用程序。但是,在生产环境中,我们可能需要处理成百上千个容器,需要更好的管理这些容器,这就是Kubernetes(K8S)的用武之地。…

利用大语言模型增强网络抓取:一种现代化的方法

本文将探讨大语言模型(LLMs)与网络抓取的集成,以及如何利用LLMs高效地将复杂的HTML转换为结构化的JSON。 作为一名数据工程师,我的职业生涯可以追溯到2016年。那时,我的主要职责是利用自动化工具从不同网站上获取海量数据,这个过…

网络模型-策略路由配置

在实际网络应用中,策略路由也是一种重要的技术手段。尽管在考试并不注重策略路由,但是实际上应用较多建议考生除了掌握基本的静态路由协议IP route-static,动态路由协议RIP、还要掌握如何配置策略路由。策略路由的基本原理:根据ACL定义的不同…