SPRIGHT:提升文本到图像模型空间一致性的数据集

简介: SPRIGHT 是一个专注于空间关系的大型视觉-语言数据集,通过重新描述600万张图像,显著提升文本到图像模型的空间一致性。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 数据集特点:SPRIGHT 通过重新描述600万张图像,强调空间关系,提升文本到图像模型的空间一致性。
  2. 技术原理:使用大型语言模型生成具有空间关系的文本描述,并通过多级评估验证数据集的有效性。
  3. 应用场景:广泛应用于图像生成、虚拟现实、教育培训和科学研究等领域。

正文(附运行示例)

SPRIGHT 是什么

spright

SPRIGHT(SPatially RIGHT)是由亚利桑那州立大学、Intel 实验室、Hugging Face 和华盛顿大学等机构联合推出的一个专注于空间关系的大型视觉-语言数据集。它旨在解决现有文本到图像(T2I)模型在生成图像时空间一致性不足的问题。

通过重新描述约600万张图像,SPRIGHT 显著提高了空间关系在数据集中的比例。使用 SPRIGHT 进行微调的 T2I 模型在生成空间准确的图像方面取得了显著的性能提升。SPRIGHT 基于详细的评估和分析流程,验证了其在捕捉空间关系方面的有效性,为未来的研究提供了丰富的资源和基础。

SPRIGHT 的主要功能

  • 增强空间关系的表示:基于重新描述图像,强调图像中的空间关系,如“左/右”、“上/下”、“前/后”等,更好地捕捉和表示图像中的空间信息。
  • 提高T2I模型的空间一致性:用 SPRIGHT 数据集进行微调的 T2I 模型能更准确地生成符合文本提示中空间关系的图像,提高生成图像的空间一致性。
  • 支持复杂的图像生成任务:SPRIGHT 数据集包含丰富的空间关系信息,能帮助模型更好地理解和生成包含多个对象和复杂空间布局的图像。
  • 促进视觉-语言模型的发展:SPRIGHT 为研究和开发更先进的视觉-语言模型提供丰富的资源和基础,推动相关领域的技术进步。

SPRIGHT 的技术原理

  • 数据集构建
    • 图像来源:SPRIGHT 数据集的图像来源于四个广泛使用的视觉-语言数据集,包括 CC-12M、Segment Anything、COCO 和 LAION-Aesthetics。
    • 重新描述:使用大型语言模型(如 LLaVA-1.5-13B)对图像进行重新描述,生成具有空间关系的合成文本描述。描述包含空间关系,强调对象的相对大小和位置等细节信息。
    • 空间关系的捕捉:在生成描述时,模型被指导使用特定的空间词汇(如“left/right”、“above/below”等)描述图像中的对象及其相对位置,使生成的描述能更准确地反映图像中的空间结构。
    • 数据集验证:基于多级评估(如 FAITHScore、GPT-4 评估和人工标注)验证 SPRIGHT 数据集生成的描述的质量和准确性,确保数据集在捕捉空间关系方面的有效性。
  • 模型微调:用 SPRIGHT 数据集对 T2I 模型进行微调,尤其是在包含大量对象的图像上进行训练,显著提高模型的空间一致性。微调方法让模型能更好地理解和生成符合空间关系的图像。

如何运行 SPRIGHT

1. 安装依赖

确保已安装 CUDA 和 PyTorch。可以参考 PyTorch 官方文档进行安装。

2. 推理示例

以下是一个简单的推理示例,展示如何使用 SPRIGHT 模型生成图像:

from diffusers import DiffusionPipeline
import torch 

spright_id = "SPRIGHT-T2I/spright-t2i-sd2"
pipe = DiffusionPipeline.from_pretrained(spright_id, torch_dtype=torch.float16).to("cuda")

image = pipe("A horse above a pizza").images[0]
image

3. 本地运行 Demo

你可以通过以下命令在本地运行 SPRIGHT 的 Demo:

git clone https://huggingface.co/spaces/SPRIGHT-T2I/SPRIGHT-T2I
cd SPRIGHT-T2I
python app.py

确保已安装 gradio 和其他依赖项。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
Web App开发 资源调度 安全
现代操作系统的演变与未来发展
在信息技术快速发展的背景下,操作系统作为计算机系统的核心组成部分,经历了从单一功能到多样化、高效化的演变。本文将探讨操作系统的历史演变、现代操作系统的特征与功能,以及未来可能的发展趋势,旨在深入理解操作系统在技术革新中的关键作用。【7月更文挑战第1天】
438 3
|
8月前
|
前端开发 JavaScript 开发工具
前端开发基础:从零开启网页制作之旅
本文围绕前端开发基础展开,介绍了构建网页的三大核心技术:HTML(定义页面结构,具语义化特性)、CSS(控制视觉样式,含选择器、盒模型等核心概念)、JavaScript(实现动态交互,可操作 DOM),还提及 VS Code、浏览器开发者工具、Git 等必备工具,给出 “先基础后框架” 的学习路径与 MDN Web Docs 等资源,强调实践的重要性,帮助初学者掌握前端基础,为后续进阶奠基。
|
6月前
|
数据采集 搜索推荐 API
速来!小红书电商 API 接口,解锁种草数据新玩法
小红书电商API助力开发者高效获取种草数据,涵盖内容推荐、用户行为等核心字段。本文详解API调用、数据清洗与分析技巧,并提供Python实战代码,解锁个性化推荐、市场趋势预测等创新应用,助你快速掌握数据驱动玩法。(238字)
365 0
|
索引
二叉树学习笔记之B树、B+树、B*树
动态查找树主要有二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree), 红黑树 (Red-Black Tree ), 都是典型的二叉查找树结构,查找的时间复杂度 O(log2-N) 与树的深度相关,降低树的深度会提高查找效率,于是有了多路的B-tree/B+-tree/ B*-tree (B~Tree)。
23883 0
|
Oracle 关系型数据库 MySQL
Mysql 中函数ifnull()实现oracle nvl()函数
Mysql 中函数ifnull()实现oracle nvl()函数
|
数据采集 测试技术
性能测试(2)——性能策略
压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而 有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。 通俗理解:压力是逐步增加的,直到系统不能接受用户请求的性能点,去发现系统在什么情况下,应用程序的性能会变得不可接受。
500 0
|
存储 编解码 API
【图像文本化】Base64编解码OpenCV4中 Mat 对象
【图像文本化】Base64编解码OpenCV4中 Mat 对象
418 0
|
存储 人工智能 关系型数据库
10个行锁、死锁案例⭐️24张加锁分析图🚀彻底搞懂Innodb行锁加锁规则!
10个行锁、死锁案例⭐️24张加锁分析图🚀彻底搞懂Innodb行锁加锁规则!
|
Linux
linux下bluetooth编程(七)SDP协议
  Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。 服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。
1378 0
|
算法 Java 调度
混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
748 0
混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分

热门文章

最新文章