浅析扩散模型与图像生成【应用篇】(十三)——GLIDE

13. GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

  该文提出一种基于文本引导的扩散模型用于图像的生成和编辑,可以根据给定的文字描述来生成或编辑图像。在ADM中我们曾介绍了一种基于分类器引导的图像生成模型,其基本的思想是额外训练一个分类器 p ϕ ( y ∣ x t ) p_{\phi}(y|x_t) pϕ(yxt)利用其对数的梯度来引导采样过程,具体来说是对去噪模型预测的均值 μ θ ( x t ∣ y ) \mu_{\theta}(x_t|y) μθ(xty)进行修改,如下式 μ ^ θ ( x t ∣ y ) = μ θ ( x t ∣ y ) + s ⋅ Σ θ ( x t ∣ y ) ∇ x t log ⁡ p ϕ ( y ∣ x t ) \hat{\mu}_{\theta}\left(x_{t} \mid y\right)=\mu_{\theta}\left(x_{t} \mid y\right)+s \cdot \Sigma_{\theta}\left(x_{t} \mid y\right) \nabla_{x_{t}} \log p_{\phi}\left(y \mid x_{t}\right) μ^θ(xty)=μθ(xty)+sΣθ(xty)xtlogpϕ(yxt)虽然这种做法实现了将类别条件引入到生成过程中,可以生成指定类别的图像。但需要额外训练一个分类器,且对于某些很难用分类器去描述的引导内容,该方法也会失效。因此在CDM(Classifier-free diffusion guidance)中提出一种无需分类器的引导方法,具体实现方法如下 ϵ ^ θ ( x t ∣ y ) = ϵ θ ( x t ∣ ∅ ) + s ⋅ ( ϵ θ ( x t ∣ y ) − ϵ θ ( x t ∣ ∅ ) ) \hat{\epsilon}_{\theta}\left(x_{t} \mid y\right)=\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)+s \cdot\left(\epsilon_{\theta}\left(x_{t} \mid y\right)-\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)\right) ϵ^θ(xty)=ϵθ(xt)+s(ϵθ(xty)ϵθ(xt))其中 ϵ θ ( x t ∣ y ) \epsilon_{\theta}\left(x_{t} \mid y\right) ϵθ(xty)表示带有条件 y y y训练的去噪模型,条件 y y y可以通过AdaGN或者图像级联的方式引入去噪模型中, ϵ θ ( x t ∣ ∅ ) \epsilon_{\theta}\left(x_{t} \mid \emptyset\right) ϵθ(xt)则表示条件为空时的扩散模型。

这里的写法和CDM原文中有一些出入,就是公式中第一个 ϵ θ ( x t ∣ ∅ ) \epsilon_{\theta}\left(x_{t} \mid \emptyset\right) ϵθ(xt)在CDM中应该是 ϵ θ ( x t ∣ y ) \epsilon_{\theta}\left(x_{t} \mid y\right) ϵθ(xty),不知道是作者的笔误还是我个人理解有误。

  采用与CDM类似的结构,作者将文本描述 c c c作为条件,用于引导图像生成,如下式 ϵ ^ θ ( x t ∣ c ) = ϵ θ ( x t ∣ ∅ ) + s ⋅ ( ϵ θ ( x t ∣ c ) − ϵ θ ( x t ∣ ∅ ) ) \hat{\epsilon}_{\theta}\left(x_{t} \mid c\right)=\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)+s \cdot\left(\epsilon_{\theta}\left(x_{t} \mid c\right)-\epsilon_{\theta}\left(x_{t} \mid \emptyset\right)\right) ϵ^θ(xtc)=ϵθ(xt)+s(ϵθ(xtc)ϵθ(xt))其中文本描述 c c c先被编码为一个包含 K K K个Token的序列,并将其输入到Transformer中,得到的token嵌入一方面将取代ADM中的类别嵌入,另一方面token嵌入的最后一层(包含 K K K个特征向量)将会被分别映射到ADM模型的每个注意力层的维度,并与对应的注意力层级联起来。通过这样的方式实现了文本描述对去噪模型的引导。
  此外,作者还尝试了一种基于CLIP的引导方式,具体而言,就是利用CLIP中的图像编码器得到对应的图像特征 f ( x t ) f(x_t) f(xt),文本编码器得到文本特征 g ( c ) g(c) g(c),计算二者之间的点乘积梯度来引导去噪过程,如下式所示 μ ^ θ ( x t ∣ c ) = μ θ ( x t ∣ c ) + s ⋅ Σ θ ( x t ∣ c ) ∇ x t ( f ( x t ) ⋅ g ( c ) ) \hat{\mu}_{\theta}\left(x_{t} \mid c\right)=\mu_{\theta}\left(x_{t} \mid c\right)+s \cdot \Sigma_{\theta}\left(x_{t} \mid c\right) \nabla_{x_{t}}\left(f\left(x_{t}\right) \cdot g(c)\right) μ^θ(xtc)=μθ(xtc)+sΣθ(xtc)xt(f(xt)g(c))与ADM中的分类器引导类似,这个CLIP模型也是在带有噪声的图像 x t x_t xt上进行训练的,使其具备对于噪声图像的编码能力。
  实验结果表明,采用无分类器的文本引导方式生成效果要优于基于CLIP的引导方式,其生成效果对比如下
在这里插入图片描述
该方法还可以用于图像修复等编辑类任务,效果如下
在这里插入图片描述

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

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

相关文章

鸿蒙HarmonyOS应用开发之使用Node-API实现跨语言交互开发流程

使用Node-API实现跨语言交互,首先需要按照Node-API的机制实现模块的注册和加载等相关动作。 ArkTS/JS侧:实现C方法的调用。代码比较简单,import一个对应的so库后,即可调用C方法。 Native侧:.cpp文件,实现模…

gin基础学习笔记--Log

1. 日志文件 package mainimport ("io""os""github.com/gin-gonic/gin" )func main() {gin.DisableConsoleColor()// logging to a filef, _ : os.Create("gin.log")gin.DefaultWriter io.MultiWriter(f)// 如果需要同时将日志写入文…

【快捷部署】008_Docker(25.0.5)

📣【快捷部署系列】008期信息 编号选型版本操作系统部署形式部署模式复检时间008Docker25.0.5Ubuntu 20.04apt-2024-03-27 一、快捷部署 #!/bin/bash ################################################################################# # 作者:cxyt…

机器人是怎么计时的(通用定时器 - 时基单元)

目录 一,引言 二,机器人的“大脑” 三,时基单元介绍 1,定时器框图 2,时基单元 (1)预分频器 (2)CNT计数器 (3)自动重装载寄存器 四&#…

如何在jupyter使用新建的虚拟环境以及改变jupyter启动文件路径。

对于刚刚使用jupyter的新手来说,经常不知道如何在其中使用新建的虚拟环境内核,同时,对于默认安装的jupyter,使用jupyter notebook命令启动 jupyter 以后往往默认是C盘的启动路径,如下图所示,这篇教程将告诉…

深入在线文档系统的 MarkDown/Word/PDF 导出能力设计

深入在线文档系统的 MarkDown/Word/PDF 导出能力设计 当我们实现在线文档的系统时,通常需要考虑到文档的导出能力,特别是对于私有化部署的复杂ToB产品来说,文档的私有化版本交付能力就显得非常重要,此外成熟的在线文档系统还有很…

中伟视界:智能识别!电动车戴头盔系统,保障您的安全出行

电动车AI头盔识别系统是一种利用人工智能技术提高道路安全的创新应用。该系统的核心目的是确保电动车驾驶者遵守交通安全规则,特别是佩戴头盔这一基本安全措施。通过自动识别驾驶者是否佩戴头盔,这一系统能够鼓励更为安全的骑行行为,减少交通…

Android客户端自动化UI自动化airtest从0到1搭建macos+demo演示

iOS客户端自动化UI自动化airtest从0到1搭建macosdemo演示-CSDN博客 一、基础环境 1. 安装jdk 选择jdk8 如果下载高版本 可能不匹配会失败 下载.dmg文件 苹果电脑 | macOS | jdk1.8 | 环境变量配置_jdk1.8 mac-CSDN博客 Java Downloads …

【LeetCode热题100】105. 从前序与中序遍历序列构造二叉树(二叉树)

一.题目要求 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 二.题目难度 中等 三.输入样例 示例 1: 输入: preorder [3,9,20,15,7], inorder…

【前端】layui学习笔记

参考视频:LayUI 1.介绍 官网:http://layui.apixx.net/index.html 国人16年开发的框架,拿来即用,门槛低 … 2. LayUi的安装及使用 Layui 是一套开源的 Web UI 组件库,采用自身轻量级模块化规范,遵循原生态的 HTML/CSS/JavaScript…

Docker Compose环境的安装通过docker compose完成python程序的运行

目录 Docker Compose环境的安装 通过docker compose完成python程序的运行 Docker Compose环境的安装 ##### 方法一:直接下载编译好的二进制文件 注意:只有linux平台上在安装docker时没有安装docker-compose,windows、macos安装docker时自…

C# wpf 嵌入wpf控件

WPF Hwnd窗口互操作系列 第一章 嵌入Hwnd窗口 第二章 嵌入WinForm控件 第三章 嵌入WPF控件(本章) 文章目录 WPF Hwnd窗口互操作系列前言一、如何实现?1、继承HwndHost2、添加Content属性3、创建wpf窗口并设置Content4、关闭wpf窗口 二、完整…

Android卡顿掉帧问题分析之实战篇

本文将结合典型实战案例,分析常见的造成卡顿等性能问题的原因。从系统工程师的总体角度来看 ,造成卡顿等性能问题的原因总体上大致分为三个大类:一类是流程执行异常;二是系统负载异常;三是编译问题引起。 1 流程执行异…

边缘计算迎来“量子飞跃”!支持抗量子密码,AMD推出FPGA新系列

3月6日,AMD宣布推出AMD Spartan™ UltraScale™ FPGA系列,这是AMD成本优化FPGA和自适应SoC广泛产品组合的最新成员。 距离1月22日,AMD推出业界首款符合VESA DisplayPort 2.1标准的FPGA和自适应SoC实现,也才过了一个多月的时间。 S…

【深度学习基础(4)】pytorch 里的log_softmax, nll_loss, cross_entropy的关系

一、常用的函数有: log_softmax,nll_loss, cross_entropy 1.log_softmax log_softmax就是log和softmax合并在一起执行,log_softmaxlogsoftmax 2. nll_loss nll_loss函数全称是negative log likelihood loss, 函数表达式为:f(x,class)−x[…

【opencv】教程代码 —ImgProc (5)提取图像中水平线和垂直线的opencv示例

5. Morphology_3.cpp 提取图像中水平线和垂直线的opencv示例 原图notes.png 灰度化 二值化 提取水平线 提取垂直线 对垂直图像取反 提取边缘 使用膨胀操作处理边缘 平滑处理:vertical.copyTo(smooth); blur(smooth, smooth, Size(2, 2)); smooth.copyTo(vertical, e…

【spring】@Component注解学习

Component介绍 Component 是 Spring 框架中的一个注解,用于将一个类标记为 Spring 上下文中的一个组件。当一个类被标记为 Component 时,Spring 容器会在启动时自动扫描并实例化这个类,并将其注册到 Spring 上下文中。 Component 注解可以用…

通过Appium和Xcode Accessibility Inspector获取iOS应用元素定位的方法

在 iOS 移动应用程序上使用选择器查找元素定位是我们在移动端 UI 自动化测试的先决条件。 但是,由于应用程序内容在原生 iOS 应用程序中的呈现方式,我们可以用来定位应用程序元素的选择器与 Web 浏览器元素有很大不同。 在本文中,我们将了解 …

wordcloud-1.9.2(1.9.3) for python 3.6/python3.X增强补丁

wordcloud-1.9.1开始无法在python3.6和海龟编辑器内正常使用,特做了一个whl 提供给python3.6使用。 另外我自己使用Python3.8 ,因此wordcloud-1.9.2-cp36-cp36-win_amd64.whl 和wordcloud-1.9.3-cp38-cp38-win_amd64.whl,词云图上有前20个单…

未来制造:机器人行业新质生产力提升策略

机器人行业新质生产力提升咨询方案 一、机器人行业目前发展现状及特点: 创新活跃、应用广泛、成长性强。 二、机器人企业发展新质生产力面临的痛点: 1、高端人才匮乏 2、核心技术受限 3、竞争日益国际化 4、成本控制挑战 5、用户体验提升需求 三…