基于Stable Diffusion的图像合成数据集

当前从文本输入生成合成图像的模型不仅能够生成非常逼真的照片,而且还能够处理大量不同的对象。 在论文“评估使用稳定扩散生成的合成图像数据集”中,我们使用“稳定扩散”模型来研究哪些对象和类型表现得如此逼真,以便后续图像分类正确地分配它们。 这使我们能够根据现实表现对模型进行评估。
在这里插入图片描述

推荐:用 NSDT编辑器 快速搭建可编程3D场景。

上面的照片使用足球的例子来表明,不仅生成了非常逼真的照片,而且从精确的文本提示开始,创建了非常不同的对象表示。

1、数据的生成

作为图像生成的基础,我们使用“稳定扩散”1.4 模型以及 Huggingface Diffusers 库的实现。 该模型允许根据文本提示创建和修改图像。 它是在 LION5B 文本到图像数据集的子集(LAION-Aesthetics)上训练的潜在扩散模型。

下图显示了根据文本提示生成的图像示例

Haflinger horse with short legs standing in water.

该示例表明,生成器模型可以表示具有不同属性的不同概念,并将它们组合在一种设置中。

在这里插入图片描述

我们创建了一个包含各种不同概念的图像的数据集。 对于文本输入,我们使用Wordnet中包含的信息。 Wordnet 将概念组织成所谓的“同义词集”,它对应于一个或多个具有相同含义的单词的含义。 因此,一个具有不同含义的词可以属于多个同义词集。 例如,“苹果”一词具有水果和计算机品牌的含义,并且每个术语都有一个同义词集。

从 Wordnet 同义词集“object.n.01”开始,通过递归调用“下位词”(比适用于它的一般或上位术语具有更具体含义的单词)创建了 26,204 个名词同义词集的列表。 对于每个名词,我们使用 Wordnet 中同义词集的描述来生成图像。

此类提示的示例是:(狗的同义词)

a member of the genus Canis (probably descended from the common wolf) that has been domesticated by man since prehistoric times; occurs in many breeds

对于每个同义词集,生成 10 个图像并以该同义词集的名称存储并附加编号。 我们的数据集总共有 262,040 张图像。

与每个同义词集的 10 个图像一起,保存一个文本文件,其中包含所使用的提示、同义词集的名称(例如“dog.n.01”)和 wordnet 编号(例如“n12345678”)。 该记录可以从 Kaggle 下载。

2、数据评估

为了对数据集的子集进行系统评估,我们使用 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 数据集。

我们使用 Pytorch 实现的视觉 Transformer 模型来验证生成的图像是否可以正确分类,该模型在 ImageNet 数据上的 top-1 准确度为 88.55%,top-5 准确度为 98.69%。

对所考虑的子集中的所有 8610 个图像进行审查后,平均正确分类为每类 4.16 个图像(最多 10 个),所有类的平均标准差为 3.74。 下面的直方图显示了正确分类数量的巨大分布。 NSFW 过滤器产生的黑色图像是统计数据的一部分。
在这里插入图片描述

可以看出,虽然大多数类别 (73%) 至少生成了一张正确识别的图像,但只有 14% 的类别识别出了全部 10 张图像。 这也反映了文章开头的观察,即一个类的生成图像差异很大。 这使得分类过程的任务变得复杂。

现在让我们考虑一些对象组的识别率。 在Wordnet的层次结构下,总结了一些术语组的相关类别,并确定了每个术语的平均识别率。 下表显示了结果。

在这里插入图片描述

不同对象类别的识别率

值得注意的是建筑物的良好识别率。 下图显示了“Greenhouse”的所有 10 张图像均被正确识别。

在这里插入图片描述

“温室”——作者使用稳定扩散创建的图像

“动物”类别的分类率低于平均水平。 如果我们更仔细地观察这个群体,我们会发现对于 162 个动物类别,没有图像根本无法被识别。 看看具体的例子,例如以下术语“黑足雪貂”和“叶蝉”的例子,“稳定扩散”显然揭示了动物科学的重大缺陷。
在这里插入图片描述

“黑足雪貂” — 稳定扩散创建的图像

创建术语“地图”,显示哪些由稳定扩散生成的图像可以被视觉Transformer模型正确识别,并且每种情况下的识别率有多好,我们将术语按语义放置在 2D 中,并按子组对它们进行着色。 圆圈的大小表示正确分类的图像的数量。 为了确定该地图上的位置,我们使用单词嵌入来表示类的名称。
在这里插入图片描述

分类率“地图”

在这里,许多未被正确识别的动物类别小红点也很明显。

3、类似项目

Lexica是一个提供对稳定扩散生成的合成图像数据的访问的项目。 它是一个搜索引擎,可从超过 1000 万张图像中返回某个词条的结果。 不过这里的整个数据库无法下载,而且没有分类。

在这里插入图片描述

Lexica

DiffusionDB提供并描述了一个包含 200 万张图像的大型数据库,也可以作为开源下载和使用。

除了图像之外,DiffusionDB数据集还包含用于生成每个图像的文本提示。 作者通过爬行 Stable Diffusion 的 Discord 服务器并提取包括提示在内的图像来创建数据收集。


原文链接:稳定扩散合成数据集 — BimAnt

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

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

相关文章

【C++】Stack Queue -- 详解

一、stack的介绍和使用 1、stack的介绍 https://cplusplus.com/reference/stack/stack/?kwstack 1. stack 是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。 2. stack 是作为容器适配器被…

Docker Mysql实战:docker compose 搭建Mysql

1、docker-compose-mysql文件准备 进入/home/docker目录,新建docker-compose-mysql.yml文件,内容如下: version: 3.0 services:mysql:image: "mysql:5.7"container_name: "mysql"environment:MYSQL_ROOT_PASSWORD: &q…

linux中命令行如何使用git

在Linux中,您可以使用命令行来使用Git版本控制系统。以下是一些常见的Git命令,用于在Linux终端中进行版本控制: 安装Git:如果您的Linux系统上还没有安装Git,可以使用适合您的包管理器来安装它。例如,在Ubu…

Java中树形菜单的实现方式(超全详解!)

前言 这篇文中,我一共会用两种方式来实现目录树的数据结构,两种写法逻辑是一样的,只是一种适合新手理解,一种看着简单明了但是对于小白不是很好理解。在这里我会很详细的讲解每一步代码,主要是方便新人看懂&#xff0…

从0开始python学习-31.selenium 文本输入框、下拉选择框、文件上传、时间插件选择元素定位

目录 1. 纯文本输入框 2. 存在默认值的文本输入 3. 下拉选择框 4. 输入后下拉选择框 5. 文件上传 6. 时间插件 1. 纯文本输入框 driver.find_element(By.XPATH,/html/body/div[2]/td[2]/input).send_keys(测试名称) 2. 存在默认值的文本输入 注意: 1. 这种存…

AQS内部的体系架构

AQS本质上是一个双向队列,加一个状态位state。内部靠Node节点形成队列。 AQS由state和CLH变体的虚拟双端队列组成。 AQS的内部类Node类 属性说明: 内部结构:

合并K个已排序的链表

题目 链接 描述 合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。 示例1 输入: [{1,2,3},{4,5,6,7}] 返回值: {1,2,3,4,5,6,7} 示例2 输入: [{1,2},{1,4,5},{6}] 返回值: {1,1,2,4,5,6} 题解(合并&…

上门按摩小程序|同城上门按摩软件开发|上门按摩系统;

上门按摩小程序的开发具有许多优势,下面就给大家介绍下按摩小程序功能: 上门按摩小程序的优势 方便快捷:上门按摩小程序提供在线预约服务,用户可以通过手机随时随地预约按摩师上门服务,避免了传统预约方式的繁琐和不确定性。 个性…

TCP/IP网络协议通信函数接口

创建套接字函数 socket 【头文件】 #include <sys/types.h> #include <sys/socket.h> 【函数原型】 int socket(int domain, int type, int protocol); 【函数功能】 socket 函数创建一个通信端点&#xff0c;并返回一个引用该端点的文件描述符&#xff0c;…

IDEA2021创建Web项目配置Tomcat

1.新建一个普通的项目。 2.右键新建的项目&#xff0c;选择添加框架支持 3.勾选web application 4.在WEB-INF里创建lib和classes文件夹 5.file-project structure-modules-paths&#xff0c;选择use module compile output path&#xff0c;将output path和test output path的路…

成人自考-英语二-形容词

感谢内容提供者&#xff1a;金牛区吴迪软件开发工作室 接上一篇&#xff1a;成人自考-英语二-动词 文章目录 一、形容词后缀1.-able&#xff1a;有能力的(1)v./n. able -> adj. (有e去e&#xff0c;部分不去e)(2)v. / n. ible -> adj. (有e去e) 2.-ive: 有...力的&…

基于FPGA的I2C读写EEPROM

文章目录 前言一、I2C协议1.1 I2C协议简介1.2 物理层1.3 协议层 二、EEPROM2.1 型号及硬件规格2.2 各种读写时序 三、状态机设计四、项目源码&#xff1a;五、实现效果参考资料 前言 本次项目所用开发板FPGA芯片型号为&#xff1a;EP4CE6F17C8 EEPROM芯片型号为&#xff1a;24L…

Linux CentOS7 yum仓库

在windows下安装一个软件很轻松&#xff0c;只要双击setup或者.exe的文件&#xff0c;安装提示连续“下一步”即可&#xff0c;然而linux系统下安装一个软件似乎并不那么轻松&#xff0c;因为我们不是在图形界面下。 本文我们将讨论如何在linux下安装一个软件。 一、linux软件…

混淆技术研究笔记(二)yGuard入门

yGuard官方文档地址&#xff1a;https://yworks.github.io/yGuard/index.html yGuard官方文档包含了比较全面的内容&#xff0c;由于文档是英文的&#xff0c;而且文档翻译后的浏览效果不是特别好&#xff0c;所以看文档入门有点难度。 这个系列的重点是混淆&#xff0c;所以…

4.物联网射频识别,RFID开发【智能门禁项目】

补充&#xff1a;学习路径 一。项目介绍及需求分析 1.酒店智能门禁使用场景介绍 1.客人入住 客人在前台办理入住手续&#xff0c;前台管理员通过门禁管理系统为客户开一张门禁卡 客户持卡到相应客房&#xff0c;用IC 卡刷卡开门 客人过了入住时间后&#xff0c;卡自动失效&a…

【kubernetes】kubernetes中的安全和认证

1 kubernetes是如何进行安全控制的&#xff1f; Authentication(认证&#xff0c;确认双方是可信的)&#xff1a; Http Token&#xff1a;http header中存放TokenHttp Base&#xff1a;用户名和密码https证书&#xff1a;基于CA根证书签名的客户端身份认证 1 ControllerMana…

Linux自用笔记

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Linux相关 ✨特色专栏&#xff1a; My…

【网络安全 ---- 靶场搭建】凡诺企业网站管理系统靶场详细搭建过程(asp网站,练习sql注入)

一&#xff0c;资源下载 百度网盘资源下载链接&#xff1a;百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com…

C++开发学习笔记3

C 中枚举的使用 在C中&#xff0c;枚举常量&#xff08;Enumeration Constants&#xff09;是一种定义命名常量的方式。枚举类型允许我们为一组相关的常量赋予有意义的名称&#xff0c;并将它们作为一个独立的类型来使用。 以下是定义和使用枚举常量的示例&#xff1a; enum…

启动springboot项目后运行时报错The driver has not received any packets from the server

2023/10/9记录错误 今天导入了一个springboot项目&#xff0c;启动成功了&#xff0c;但是在前端操作登陆后就要调后端了嘛&#xff0c;然后后端报错了The driver has not received any packets from the server。 然后在网上参考别人的解决办法&#xff0c;有说mysql版本不匹…