提升文本到图像模型的空间一致性:SPRIGHT数据集与训练技术的新进展

news2024/11/25 11:41:40

当前的T2I模型,如Stable Diffusion和DALL-E,虽然在生成高分辨率、逼真图像方面取得了成功,但在空间一致性方面存在不足。这些模型往往无法精确地按照文本提示中描述的空间关系来生成图像。为了解决这一问题,研究人员进行了深入分析,并提出了创新的解决方案。

识别问题:现有视觉-语言数据集中空间关系的不足

在构建文本到图像模型时,一个核心挑战是确保生成的图像能够精确地反映文本描述中的空间关系。例如,如果文本描述中提到“一只猫坐在垫子上”,理想的图像应该展示猫位于垫子的上方。然而,研究人员发现,现有的视觉-语言数据集在文本描述中对这类空间关系的表达可能非常简单,如 "A cat is on a mat."(一只猫在垫子上。)这种描述没有明确指出猫与垫子的相对位置。理想描述应该包含空间关系,如 "A cat is sitting on top of a mat."(一只猫坐在垫子的上方。)这样的描述为模型提供了更精确的空间信息。总结下来问题主要如下:

空间词汇的稀缺性:描述物体相对位置的词汇,如“左边”、“右边”、“上方”、“下方”等,在数据集的文本描述中出现频率较低。

空间关系的忽视:即使图像中存在明显的空间关系,相应的文本描述也常常没有提及,导致模型无法学习到这些关系。

描述的模糊性:现有的描述往往忽略物体间的精确位置关系,使得模型难以生成具有明确空间布局的图像。

数据集构建:SPRIGHT数据集的创建

为了提升文本到图像(T2I)模型在生成图像时的空间一致性,必须让模型更好地理解和利用空间关系。因此,他们决定构建一个专门的数据集,旨在强化模型对空间词汇和关系的识别与生成能力。

SPRIGHT数据集的核心特点

  • 大规模:SPRIGHT数据集包含了约600万张图像,这为训练和评估T2I模型提供了丰富的资源。
  • 专注空间关系:与传统数据集相比,SPRIGHT特别强调图像中的空间关系,如物体的相对位置和大小。

构建过程

  1. 选择基础数据集:研究人员选择了四个广泛使用的VL数据集作为基础,这些数据集包含了多样化的图像和场景。

  2. 重新标注图像:为了捕捉图像中的空间关系,研究人员对这些图像进行了重新标注。他们使用先进的语言模型生成描述,这些描述详细地表达了图像中的空间布局。

  3. 生成描述:新的描述使用了一系列空间词汇,如“left”(左边)、“right”(右边)、“above”(上方)、“below”(下方)等,以及描述相对大小的词汇,如“large”(大)和“small”(小)。

  4. 确保多样性:为了确保数据集的多样性,研究人员从不同的数据集中选取图像,包括室内场景、户外景观、物体集合等。

  5. 评估与验证:生成的描述经过了自动化和人工的评估,以确保它们在描述空间关系方面的准确性和可靠性。

假设场景一只猫坐在垫子上,垫子在房间的角落里。

  • 传统描述:可能只是简单地说,“A cat is on a mat.”(一只猫在垫子上。)
  • SPRIGHT描述:会明确空间关系,如 “A cat is sitting on a mat located in the corner of the room.”(一只猫坐在房间角落里的垫子上。)

通过这种方式,SPRIGHT数据集为研究人员提供了一个强大的工具,用于训练和评估T2I模型,特别是在生成具有精确空间关系的图像方面。这不仅提高了模型的性能,还推动了对空间关系在视觉-语言任务中作用的更深入理解。

研究人员从四个广泛使用的VL数据集中选取了约600万张图像作为基础,这些数据集包含了多样化的场景和对象。

为了生成新的图像描述,研究人员采用了先进的语言模型,例如LLaVA-1.5-13B。LLaVA(Large Language-Vision Artificial intelligence Agent)是一个大型的多模态模型,能够理解和生成文本,同时处理视觉信息。

利用LLaVA模型,研究人员生成了新的图像描述,这些描述专注于图像中的空间关系。这一过程涉及以下几个关键步骤:

  • 定义提示(Prompting):为语言模型提供明确的指示,要求其生成包含特定空间关系的描述。例如,提示可能要求模型使用“left/right”、“above/below”、“front/behind”等词汇。

  • 模型生成描述:LLaVA模型接收图像和提示,生成描述图像的文本。这些描述特别强调物体的相对位置和大小,如“一个球在盒子的左边”,“一只猫坐在垫子的上方”,“树在房子的后面”。

  • 描述的多样性:为了捕获不同的空间关系,研究人员可能使用了多个不同的提示,以产生多样化的描述。

经过评估和可能的迭代优化后,研究人员得到了一组高质量的、具有空间关注点的图像描述。这些描述被用来构建SPRIGHT数据集,它包含了原始图像和它们对应的、关注空间关系的文本描述。

训练技术的创新:利用SPRIGHT数据集提升空间一致性

 SPRIGHT数据集的应用

在文本到图像(T2I)模型的训练中,精确的空间描述对于模型学习如何将文本提示转换为具有相应空间布局的图像至关重要。传统的数据集往往忽略了这一点,而SPRIGHT数据集正是为了填补这一空白而创建的。

SPRIGHT数据集的特点在于其描述中对空间关系的细致表达,这些描述不仅包含基本的空间词汇,如“left/right”(左/右)、“above/below”(上/下)、“front/behind”(前/后),还可能包括对物体相对大小的描述,如“large”(大)和“small”(小),以及其他描述物体间关系的词汇。

应用SPRIGHT数据集的训练技术如下:

  1. 数据集的整合:将SPRIGHT数据集与模型的训练过程紧密结合,确保模型在训练时能够接触到大量包含丰富空间信息的样本。

  2. 描述的生成:使用高级语言模型,如LLaVA-1.5-13B,生成包含空间词汇的描述。这些描述不仅指出了物体的位置,还描述了它们之间的相对位置和大小关系。

  3. 模型训练:在训练T2I模型时,将这些描述作为输入,模型需要学习如何根据这些描述生成图像。训练过程中,模型会逐渐学会将文本中的空间词汇与图像中的视觉元素相匹配。

  4. 空间关系的捕捉:通过在SPRIGHT数据集上的训练,模型能够更好地理解和捕捉文本描述中的空间关系,从而在生成图像时重现这些关系。

  5. 性能提升:由于SPRIGHT数据集中的描述被设计为强调空间关系,因此使用该数据集训练的模型在生成具有精确空间布局的图像方面表现出色。

  6. 多样性和复杂性:SPRIGHT数据集的多样性和复杂性促使模型学习到更广泛和更细微的空间关系,这在传统的数据集上是难以实现的。

SPRIGHT数据集的应用显著提升了T2I模型在空间一致性方面的表现。通过在包含精确空间描述的数据集上进行训练,模型能够更好地理解和生成具有复杂空间关系的图像,这对于各种视觉-语言任务来说是一个重要的进步。

训练技术的核心创新

  • 对象数量的考量

    研究人员意识到,图像中对象的数量直接影响到空间关系的复杂性。因此,他们采取了一种有针对性的方法来选择训练数据。具体来说,他们筛选出那些包含多个对象的图像,因为这些图像提供了更多的空间关系来让模型学习。例如,一个包含多个物体的房间场景将比一个只有单一物体的简单背景提供更多的空间关系信息。

    在实际操作中,研究人员可能使用了图像标注模型或对象检测算法来识别图像中的对象数量,并将这些图像分为不同的组。然后,他们可能采用了分层训练策略,首先在对象数量较少的图像上训练模型,逐渐过渡到对象数量更多的图像,以此来逐步提升模型的空间推理能力。

  • 空间描述的多样性

    除了考虑对象数量外,研究人员还深入研究了空间描述的多样性对模型性能的影响。他们认识到,不同长度和类型的空间描述可能会对模型的学习能力产生不同的影响。为了探索这一点,研究人员可能设计了多种类型的描述,包括:

        简短描述:只包含最基本的空间关系信息,例如“猫在垫子上”。

        详细描述:提供更丰富的空间细节,如“猫坐在房间角落里的垫子上,垫子在桌子的左边”。

        复杂描述:可能包含多个空间关系和更复杂的语言表达,例如“猫坐在垫子上,垫子在房间的角落里,而房间的另一边有一张桌子,桌子上方挂着一盏灯”。

实验结果

  1. 基准方法的改进

    • 通过在少量SPRIGHT数据(约0.25%)上微调,模型在生成空间一致图像方面取得了22%的性能提升。
    • 在T2I-CompBench基准测试中,使用SPRIGHT数据集微调的模型在空间分数、FID(Fréchet Inception Distance)和CMMD(Complementary Maximum Mean Discrepancy)得分上均取得了显著改进。
  2. 高效训练方法

    • 通过在包含大量对象的图像上进行微调,研究人员实现了在T2I-CompBench上的空间分数0.2133,这是通过在少于500张图像上进行微调实现的。
    • 与基线模型相比,这种方法在空间关系方面取得了41%的性能提升。
  3. 消融研究

    • 研究人员通过改变空间描述的比例(25%、50%、75%、100%)来训练不同的模型,并发现使用50%的空间描述可以获得最佳的T2I-CompBench空间分数。
    • 对于长描述和短描述的比较表明,长描述在提升空间一致性方面更为有效。
  4. CLIP文本编码器的调查

    • 通过中心核对齐(Centered Kernel Alignment, CKA)度量,研究人员发现微调后的CLIP在空间描述上学习到了不同的层次表示,特别是在输出注意力投影层和多层感知机(MLP)层。
  5. 训练与否定

    • 在训练中引入否定表达(如“不是在...的左边”代替“在...的右边”)后,模型在处理包含否定的空间关系时表现出了一定的改进。
  6. 注意力图的改进

    • 通过可视化注意力相关性图,研究人员发现微调后的模型能够更好地定位和生成预期的对象,并且在空间定位上也更为准确。

实验结果表明,SPRIGHT数据集和相应的训练技术能够显著提高T2I模型在生成具有精确空间关系的图像方面的能力。这些发现不仅证明了SPRIGHT数据集的有效性,也为未来的研究提供了新的方向,特别是在探索如何进一步提升模型对复杂空间关系的理解和生成能力方面。

论文链接:https://arxiv.org/abs/2404.01197

项目地址:https://spright-t2i.github.io/

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

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

相关文章

vivado Virtex UltraScale 配置存储器器件

Virtex UltraScale 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 Virtex UltraScale ™ 器件执行擦除、空白检查、编程和验证等配置操作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 , 并支持通过 Vivado 软件对其中所列非易失…

交易复盘-20240513

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 双成药业 (1)|[9:30]|[3566万]|0.34 中通客车 (1)|[9:43]|[7678万]|0.15 嘉华股份 (2)|[9:30]|[36…

分类预测 | Matlab实现DBO-CNN-SVM蜣螂算法优化卷积神经网络结合支持向量机多特征分类预测

分类预测 | Matlab实现DBO-CNN-SVM蜣螂算法优化卷积神经网络结合支持向量机多特征分类预测 目录 分类预测 | Matlab实现DBO-CNN-SVM蜣螂算法优化卷积神经网络结合支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现DBO-CNN-SVM蜣螂算法…

【软设】常见易错题汇总

目录 计算机系统基础 程序语言基础 数据结构 算法设计与分析 计算机网络与信息安全 软件工程基础 开发方法(结构化与面向对象) 数据库 操作系统 知识产权相关的法律法规 🤯🤯🤯🤯🤯&#x1f9…

2024最新软件测试【测试理论+ 数据库】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议, …

外卖系统微信小程序支付

微信小程序支付时序图 其中第9.步骤就是微信小程序前端调用wx.requestPayment

如何写好网评文章?写好了怎么去投稿呢,教程来了

如何写好网评文章,可谓仁者见仁、智者见智。俗话说:“冰冻三尺非一日之寒。”写好网评文章决不是一朝一夕能够练成的,是一个漫长的修炼的过程,需要我们耐得住寂寞、静得下心神。从事网评写作六年多,我有一些心得体会和…

Linux-磁盘管理类实训

一、Linux分区和磁盘操作命令 (1)将系统内所有的分区(文件系统)列出来) (2)将系统中所有特殊文件格式及名称都列出来 (3)将/bin下面的可以用的磁盘容量以易读的容量格式…

Dev-C++的下载和安装教程(超详细图文,小白入门)

Dev-C(或者叫做Dev-Cpp)是Windows环境下的一个轻量级C/C集成开发环境(IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。 Dev-C集合了功能强大的源码编辑器、MingW64/TDM-GCC编译器、GDB调试器和AStyle格式整理器等…

通过ip addr命令无法获取到ip地址,无法ping通百度

问题 今天通过VM安装CentOS虚拟机时,安装完成后,想查看ip地址,使用ip addr命令,发现没有展示网络ip地址,ping百度也不通。 解决方案 CentOS使用网络配置文件来设置网络接口的参数,出现这个问题说明网络的…

初识C++ · string的使用(1)

目录 1 STL简介 2 string类 2.1 构造 析构 拷贝 2.2 size length 2.3 [ ]的使用 2.4 迭代器 2.5 Push_Back和append 3 sort的使用 1 STL简介 STL是一个标准库,是C标准库的一个重要部分,那么什么是STL?STL是一个模板库,包…

Python自动化测试 | 如何使用Robot Framework进行自动化测试?

你还在手动测试?不妨了解一下更高效、准确且简单的测试方法——使用Python的Robot Framework进行自动化测试。 什么是Robot Framework? Robot Framework是一款开源的Python自动化测试框架,它基于关键字驱动的思想,具有易读、易扩…

Day_4

1. 地址簿功能 查询地址列表 属于常规方案 新增地址 属于常规方案 修改地址 删除地址 设置默认地址 2. 用户下单业务 数据库分析 订单表和订单明细表的关系:一对多 代码开发 controller 层 service 层 异常处理(收货地址为空、超出配送范围、购物…

使用规则进行命名实体识别(NER)

使用规则进行命名实体识别(NER) 命名实体识别(Named Entity Recognition,NER)是自然语言处理(NLP)中的一项基础任务,它旨在从文本中识别出具有特定意义的实体,如人名、地…

【Unity从零开始学习制作手机游戏】第01节:控制3D胶囊体运动

1. 新建Project L01 使用3D Mobile模板。 2. 建立一个平面,用来承载物体 3. 导入Unity库内的胶囊体 下载 StandardAssets https://download.unitychina.cn/download_unity/e80cc3114ac1/WindowsStandardAssetsInstaller/UnityStandardAssetsSetup-5.6.7f1.exe …

STM32真的是很落后吗?

STM32 真的是很落后吗?这是一个值得探讨的问题。 STM32 是意法半导体(STMicroelectronics)推出的一款 32 位微控制器,它在嵌入式领域有着广泛的应用。虽然我对 Python 的了解有限,无法直接对 STM32 进行深入的比较&am…

系统定时器(SysTick)

介绍SysTick SysTick结构框图 时钟选择 计数器部分 中断部分 工作流程 相关寄存器 配置流程 相关库函数

【Nginx】如何在 Nginx 中阻止来自特定国家的 IP 地址访问

文章目录 前言一、准备工作二、查看 Nginx 服务器都拥有哪些模块2.1 先查看本地nginx是否有ngx_http_geoip2模块2.2 安装nginx并配置ngx_http_geoip2模块2.2.1下载所需版本的nginx到服务器2.2.2 先安装所需依赖2.2.3 解压文件2.2.4 下载ngx_http_geoip2模块2.2.5 编译安装nginx…

linux笔记5--shell命令2

文章目录 一. linux中的任务管理1. 图形界面2. 命令① top命令② grep命令③ ps命令补充: ④ kill命令图形界面杀死进程 二. 挂载(硬盘方面最重要的一个知识点)1. 什么是挂载2. 关于挂载目录① Windows② linux查看硬件分区情况(/dev下):更改挂载目录结束…

gitignore配置不生效记录

第一种可能性: 在你所有的文件都通过了git add . 命令的情况下,使用指令git rm -r --cached .进行缓存清除,完成之后,再次通过git add . 然后通过git status去看提交的文件都有哪些。 第二种可能性 如果上面的不行就是你添加的…