(2024,预训练和微调扩散,图编码器,图特征与CLIP特征对齐)场景图到图像合成:集成 CLIP 指导与扩散模型中的场景图条件

Scene Graph to Image Synthesis- Integrating CLIP Guidance with Graph Conditioning in Diffusion Models

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

3. 方法

3.1 扩散背景

3.2 场景图编码器

3.3 使用 CLIP 引导的图条件进行扩散模型微调

3.4 基于 GAN 的 CLIP 对齐

3.5 采样过程

4. 实验


0. 摘要

生成模型的进展已经引起了在遵循特定结构准则的同时生成图像的重要兴趣。场景图到图像生成是一项生成与给定场景图一致的图像的任务。然而,视觉场景的复杂性,使得根据场景图中指定关系来准确对齐对象成为一项挑战。现有方法通过首先预测场景布局,然后使用对抗训练从这些布局生成图像来处理这项任务。

在这项工作中,我们介绍了一种新颖的方法,可以从场景图生成图像,从而消除预测布局的需要。我们利用预训练的文本到图像扩散模型 CLIP 指导来将图形知识转化为图像。

  • 我们首先预训练我们的场景图编码器,使用基于 GAN 的训练将场景图特征与相应图像的 CLIP 特征对齐。
  • 此外,我们将场景图特征与给定场景图中的对象标签的 CLIP 嵌入融合,以创建一种场景图一致的 CLIP 引导的调节信号
  • 在调节输入中,对象嵌入提供图像的粗略结构,场景图特征基于对象之间的关系提供结构对齐。
  • 最后,我们使用场景图一致的调节信号对预训练的扩散模型进行微调,其中包括重建和 CLIP 对齐损失。

详细的实验证明,我们的方法在 COCO-stuff 和 Visual Genome 数据集的标准基准上优于现有方法。

场景图表示视觉场景的图形,其中节点对应于对象,边表示这些对象之间的关系或交互。

自然语言句子往往又长且结构松散,用于语义解释时对语法的依赖较大。语言的固有歧义性,即不同的句子可能传达相同的概念,会在训练过程中带来不稳定性的风险。这在需要精确描述约束的至关重要的场景中特别显著。

3. 方法

3.1 扩散背景

3.2 场景图编码器

我们使用多层图卷积网络从场景图生成图特征。我们遵循现有的场景图编码器架构,以与现有方法进行公正比较。

场景图 S 包含一组对象 S_o 和一组关系 S_r。S 使用关系三元组 (o_i, r_ij, o_j) 表示,其中 o_i ∈ S_o 和 o_j ∈ S_o 是对象集 S_o 中的两个对象,而 r_ij ∈ S_r 是第 i 个和第 j 个对象之间的关系。图编码器融合个体对象嵌入和个体关系嵌入,以生成全局场景图嵌入。

对于对象 o_i,我们取 Out(o_i) 的集合作为 o_i 具有出向定向边(outgoing directed edge)的对象集合。集合 In(o_i) 表示对象 o_i 具有来自这些对象的入向定向边(incoming directed edge)的对象集合。我们按照以下方式为对象 o_i 找到嵌入:

其中 G_(o_i),G(o_j) ∈ R^(d_o) 分别是对象 o_i 和 o_j 的嵌入。G_(r_ij),G_(r_ji) ∈ R^(d_r) 分别是关系 r_ij 和 r_ji 的嵌入。F^out_o,F^in_o 是图卷积层,F^pool 是平均池化层。类似于此,我们按照以下方式找到关系嵌入: 

其中 F^rel 是一个图卷积层。在获取这些个体对象和关系嵌入之后,我们按照以下方式计算全局图特征 G^s_global。首先,我们使用包含两个层的 MLP F^o_(d_g) 和 F^r_(d_g) 分别将 d_o 维度的对象嵌入和 d_r 维度的关系嵌入映射到 d_g 维度的嵌入。在获取相同维度嵌入之后,我们按照以下方式找到表示每个场景图三元组的嵌入: 

最后,计算场景图 S 的全局嵌入 G^s_global,方法是将个体三元组嵌入连接起来,然后将其映射到 d_g 维度的特征:

我们在微调文本到图像扩散模型时使用 G^s_global 作为调节信号。

3.3 使用 CLIP 引导的图条件进行扩散模型微调

设 S^label 表示场景图中存在的对象的语义标签。将语义标签通过 CLIP 文本编码器传递,以生成对象标签嵌入。然后通过图编码器将 S 传递,使用公式 5 生成嵌入 G^s_global。对象标签嵌入捕捉图像的实体级信息,而 G^s_global 则捕捉这些实体之间的交互。设 label_i 为 S 中第 i 个对象的语义标签。然后,

最后,我们融合 G^s_global 和所有标签的 S_(label_i),生成微调扩散模型的调节信号:

我们添加文本填充以生成相同维度的条件信号,不考虑场景图中存在的对象数量。

然而,我们注意到 G^s_global 和 S_(label_i) 的嵌入空间是不同的。因此,简单的连接并不有用。此外,文本到图像预训练扩散模型使用特定的文本编码器,例如 CLIP 文本编码器。因此,需要提供与 CLIP 嵌入空间对齐的特征。否则,领域不匹配可能导致图像生成质量不佳。为此,我们引导我们的图编码器生成与 CLIP 空间中相应图像特征对齐的嵌入。接下来,我们讨论训练和对齐策略。

训练目标。我们的学习目标是双重的。首先,扩散模型应学习图像-场景图对的分布。其次,我们希望将图编码器的输出映射到一个空间,使其与文本到图像扩散模型的先验语义知识对齐。我们通过以下方式实现这些目标。

重构损失:我们使用重构损失来引导扩散模型学习数据的分布。损失 L_recon 如下: 

其中 ˆx_θ 是扩散的去噪网络,x_t 是扩散时间步 t 的有噪样本,而 S_cond 是获得的调制信号。 (x, S) 是从数据中随机采样的图像-场景图对。

对齐损失:为了实现第二个目标,即将 G^s_global 与 CLIP 空间对齐,我们在 G^s_global 和相应图像的 CLIP 视觉特征之间应用均方差误差损失。对于图像-图对 (x, S),损失 L_CLIP 如下:

此外,我们还使用最大均值差异(Maximum Mean Discrepancy,MMD)损失 [L i 等人,2017] 来弥合 G^s_global 和 CLIP 视觉特征之间的域差距。在我们的实验中,我们观察到 MMD 损失使训练更稳定,提高了定量结果和图像质量。MMD 损失定义如下:

其中 c 是输入图像的 CLIP 特征,而 G^s_global 是相应场景图的图编码器输出。ϕ 是核函数。我们结合 L_CLIP 和 L_MMD 定义一个对齐损失,如下: 

其中 β 是一个超参数。

总损失:现在通过考虑重构损失和对齐损失,我们定义我们的训练目标如下: 

其中 λ 是一个超参数。我们使用 L_train 对扩散模型和场景图编码器进行微调。

尽管 L_align 引导场景图嵌入与 CLIP 特征空间的对齐,但最初场景图编码器输出的潜在空间与 CLIP 特征空间差异很大。为了弥合这个差距,我们提出了基于 GAN 的 CLIP 对齐模块(GAN-based CLIP alignment,GCA)来预训练场景图编码器。接下来,我们讨论 GCA。

3.4 基于 GAN 的 CLIP 对齐

我们使用基于 GAN 的预训练来将 G^s_global 与 CLIP 特征对齐。图 3 提供了我们基于 GAN 的 CLIP 对齐模块的概述。我们将场景图编码器视为生成器,G^s_global 视为我们生成的数据。CLIP 视觉特征 c 构成真实数据。鉴别器被训练以预测输入来自真实数据还是生成的数据。它引导我们的生成器的输出与 CLIP 特征对齐。图编码器的训练由 L_graph 引导,其中给定场景图 S 作为输入时,G(S) 是场景图编码器的输出。L_graph 是用于基于 GAN 的架构的标准生成器损失:

鉴别器的训练由 L_disc 引导,这是基于 GAN 的架构的标准鉴别器损失。设 D(c) 是鉴别器在输入来自真实分布(CLIP 特征 c)时预测的概率。 

3.5 采样过程

在图 2 中,第 2 阶段提供了采样过程的概述。一旦扩散网络训练完成,我们可以从潜在噪声 ϵ 中采样图像。对于微调的去噪 Unet ˆx_θ,我们可以在给定场景图 S 的条件下采样潜在,如下所示: 

其中 S_cond 是场景图调节信号,ϵ ∼ N(0, I)。然后使用扩散的潜在解码器对 x_latent 进行解码,得到一幅图像。生成的图像与输入的场景图很好地对齐。

4. 实验

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

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

相关文章

配置ARP安全综合功能示例

组网图形 ARP安全简介 ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。ARP安全特性不仅能够防范针对ARP协议的攻击,还可以…

Servet的基础学习

Servet的基础学习 servet的简单介绍 Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入&#xff0…

插槽(64-67)

文章目录 插槽1.插槽 - 默认插槽(组件内可以定制一处结构)2.插槽 - 后备内容(默认值)3.插槽 - 具名插槽(组件内可以定制多处结构)4.作用域插槽(插槽的一个传参语法) 插槽 插槽分类:默认插槽和具名插槽 1.插槽 - 默认插槽(组件内可以定制一处结构) 作用…

PyTorch初探:基本函数与案例实践

正文: 在熟悉了PyTorch的安装和环境配置后,接下来让我们深入了解PyTorch的基本函数,并通过一个简单的案例来实践这些知识。 1. 基本函数 PyTorch的核心是张量(Tensor),它类似于多维数组,但可以…

2024年最热门的十个AI对话聊天模型网站

1、百度文言一心 文言一心”是一个基于百度自研的ERNIE模型的聊天机器人。 “文心一言”是百度依托飞桨、文心大模型的技术研发的知识增强大语言模型,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感…

Springboot注解@Aspect(二)JoinPoint 使用详解

目录 JoinPoint 的作用 JoinPoint 常用方法 示例 JoinPoint 的子类和关联类 JoinPoint 的作用 在 Spring AOP 中,JoinPoint 接口代表了一个程序执行的点,比如方法执行或异常处理。当使用 AOP 通知(Advice)时,你可以…

环形链表的检测与返回

环形链表 王赫辰/c语言 - Gitee.com 快慢指针的差距可以为除一以外的数吗?不可以如果差奇数则无法发现偶数环,是偶数无法发现奇数环,本题思路为指针相遇则为环,而以上两种情况会稳定差一,导致指针永不相遇 最终返回…

uniapp组件库Line 线条 的适用方法

目录 #平台差异说明 #基本使用 #线条类型 1.3.7 #兼容性 #API #Props 此组件一般用于显示一根线条,用于分隔内容块,有横向和竖向两种模式,且能设置0.5px线条,使用也很简单。 #平台差异说明 AppH5微信小程序支付宝小程序百…

阿里云幻兽帕鲁服务器4核16G配置报价

自建幻兽帕鲁服务器租用价格表,2024阿里云推出专属幻兽帕鲁Palworld游戏优惠服务器,配置分为4核16G和4核32G服务器,4核16G配置32.25元/1个月、10M带宽66.30元/1个月、4核32G配置113.24元/1个月,4核32G配置3个月339.72元。ECS云服务…

华为机考入门python3--(3)牛客3-明明的随机数

分类:集合、排序 知识点: 集合添加元素 set.add(element) 集合转列表 list(set) 列表排序 list.sort() 题目来自【牛客】 N int(input().strip()) nums set()for i in range(N):nums.add(int(input().strip()))# 集合转列表 nums_list l…

3.3 实验三:以太网链路聚合实验

HCIA-Datacom实验指导手册:3.3 实验三:以太网链路聚合实验 一、实验介绍:二、实验拓扑:三、实验目的:四、配置步骤:步骤 1 掌握使用手动模式配置链路聚合的方法步骤 2 掌握使用静态 LACP 模式配置链路聚合的…

C语言——动态内存管理

大家好,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流 本文由:残念ing原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎各位→…

如何在前端项目里接入Sentry监控系统并通过企业微信通知

能不能让用户录个屏过来呀? 用户使用的是什么机型的手机? 用户使用的什么浏览器呀? 用户的网络是什么情况? … … 线上出现问题时,技术部和业务部同学之间的对话诸如此类…业务同学也很栓Q呀,硬着头皮去问客…

一篇文章带你了解C++中隐含的this指针

文章目录 一、this指针的引出二、this指针的特性【面试题】 一、this指针的引出 我们先来定义一个日期类Date,下面这段代码执行的结果是什么呢? class Date { public:void Init(int year, int month, int day){_year year;_month month;_day day;}v…

STM32+ESP8266 实现物联网设备节点

一、硬件准备 本设备利用STM32F103ZE和ESP8266实现了一个基本的物联网节点,所需硬件如下 1、STM32F103ZE开发板 2、ESP8266模组(uart接口) 3、ST-LINK(下载用) 4、USB转串口模块(调试用) 二…

mac裁剪图片

今天第一次用mac裁剪图片,记录一下过程,差点我还以为我要下载photoshop了, 首先准备好图片 裁剪的目的是把图片的标题给去掉,但是不能降低分辨率,否则直接截图就可以了 解决办法 打开原始图片(不要使用预览&#xf…

利用柯西积分公式证明最大模定理

一、利用柯西积分公式证明最大模定理 一、利用柯西积分公式证明最大模定理 设复变函数f(z)在封闭区域上的解析,则该复变函数的模|f(z)|的最大值只能出现在该区域的边界上,除非是个常数

容器化部署 Jenkins,并配置SSH远程操作服务器

目录 一、Jenkins是什么 二、常见的部署Jenkins的方法 三、为什么选择容器化部署 四、容器化部署Jenkins步骤 1、安装 Docker 2、获取 Jenkins 镜像 3、创建并运行容器 4、访问 Jenkins 4.1 查看初始密码问题 5、配置 Jenkins 5.1 安装插件 5.2 创建管理员用户 5.3…

兄弟HL-1208黑白激光打印机清零方法

兄弟HL-1208黑白激光打印机基本参数: 产品类型:黑白激光打印机(定位类型家用) 最大打印幅面:A4 最高分辨率:600600dpi 黑白打印速度:20ppm 内存标配:1MB,最大&#…

数据结构(顺序表)

文章目录 一、线性表1、线性表1.1、线性表的定义1.2、线性表的操作 2、顺序表2.1、顺序表的实现--静态分配2.2、顺序表的实现--动态分配2.2、顺序表的特点 3、顺序表的基本操作3.1、插入操作3.2、删除操作3.3、查找操作3.2、按位查找3.2、按值查找 一、线性表 1、线性表 1.1、…