绝地归来!英伟达等提出JeDi:无需微调,个性化图像生成新SOTA![CVPR 2024]

文章链接:https://arxiv.org/pdf/2407.06187
github链接:https://research.nvidia.com/labs/dir/jedi

  • 本文提出了一种无需微调的文本生成图像方法,采用了新颖的联合图像扩散模型。

  • 提出了一种简单且可扩展的数据合成流程,用于生成共享同一主题的多图像个性化数据集。

  • 设计了新颖的架构和采样技术,如耦合自注意力和图像引导,以实现高保真度的个性化生成。

个性化文本生成图像模型使用户能够在不同场景中创建展示其个人物品的图像,并在各个领域找到应用。为了实现个性化功能,现有方法依赖于在用户的自定义数据集上微调文本生成图像的基础模型,这对于普通用户来说可能并不容易,而且资源密集且耗时。尽管已有尝试开发无需微调的方法,但其生成质量远低于微调方法。

本文提出了一种名为Joint-Image Diffusion (JeDi) 的有效技术,用于学习无需微调的个性化模型。关键思想是学习共享共同主题的多个相关文本图像对的联合分布。为了便于学习,提出了一种可扩展的合成数据集生成技术。模型训练完成后,本文的模型在测试时通过在采样过程中简单使用参考图像作为输入,能够实现快速且简便的个性化。JeDi不需要任何昂贵的优化过程或额外的模块,并且可以保留任意数量参考图像所表示的身份。实验结果表明,本文的模型在定量和定性方面都实现了最先进的生成质量,显著优于之前基于微调和无需微调的个性化基准。

方法

数据集创建

训练模型以生成多张同一主题图像的联合分布,需要一个数据集,每个样本都是共享同一主题的图像集。虽然存在一些同一主题的数据集,例如 CustomConcept101和 DreamBooth,但它们规模较小,缺乏扩散模型训练所需的足够变化。因此,研究者们使用大型语言模型和单图像扩散模型创建了一个包含同一主题的图像-文本对的多样化大规模数据集,称为合成同一主题(S3)数据集。

下图3展示了数据生成过程。首先从一个常见对象列表开始,并提示 ChatGPT 为列表中的每个对象生成文本描述。然后,使用预训练的 SDXL模型,通过在每个生成的文本提示中附加“相同的照片”一词,生成一个相同主题的照片拼贴数据集。观察到,通过这种方式提示 SDXL 模型,它可以生成具有不同姿势的相同主题的照片拼贴。然而,生成的图像通常包含简单背景中的物体特写。为了增加数据的多样性,采用了一个后处理步骤,对生成的对象进行背景增强。

对于生成的照片拼贴,首先运行目标检测和分割以分离出对象实例并提取前景区域。丢弃 CLIP图像得分低于0.95的实例对,因为它们可能不包含相同的主题。然后,将对象粘贴在空白图像中的随机位置,并使用Stable Diffusion修补模型根据与相同对象名称相关的新提示修补背景。此外,使用 InstructPix2Pix以0.5的概率对生成的样本进行风格化,以使用随机选择的风格提示增加风格变化。下图4显示了通过该过程生成的一些文本-图像数据示例。生成的样本具有一致的主题,并且具有良好的多样性和姿势变化。

联合图像扩散

训练联合图像扩散模型的目标是生成共享相同主题的多张相关图像。然而,传统的扩散模型只能独立生成单张图像,因为网络架构在一个批次中不同样本之间没有任何连接。研究者们发现,通过简单的修改,单图像扩散模型可以适应成为联合图像模型,从而生成具有相关内容(如相同定制主题)的图像。

更具体地说,给定一组相同主题的噪声输入图像,修改 U-Net 的注意力层,将同一组中不同图像的自注意力特征融合在一起。如下图6所示,耦合自注意力层在每个空间位置的特征会关注到集合中所有图像的每个其他位置。由于 U-Net 架构在各种分辨率上都有注意力层,在多个分辨率上使用耦合自注意力使得生成的图像集具有一致的高层语义特征以及低层属性。下图5可视化了耦合自注意力层的像素对应关系和注意力热图。观察到,不同图像之间共同关注的区域在所有分辨率上形成了正确的对应关系。

在耦合自注意力层之后,输出会被送到常规的交叉注意力层,这将每张图像的视觉特征与相应的文本提示对齐。耦合自注意力层可以通过在常规自注意力之前和之后简单地添加两个重塑操作来实现,从而实现预训练单图像扩散模型的简单易行的适配。

下图2(b) 说明了训练过程。首先通过添加各向同性高斯噪声来创建噪声相同主题数据,并训练联合图像扩散模型以去噪这些数据。理想情况下,相同主题的每个图像集的大小没有限制。

在实验中,在训练过程中随机将大小设置为 2、3 或 4。JeDi 的训练损失与常规扩散模型非常相似。使用 ε-prediction 和 [13] 中 介绍的简化训练目标。损失函数如下:

表示由参数 参数化的网络,T 是扩散步骤数, 是第 t 步的噪声图像集,大小为 N,即 。为了简化,在 (·) 中省略了文本和时间步条件。训练后,JeDi 模型可以接受多个文本提示作为输入,并生成包含相同主题的图像。

个性化文本生成图像

个性化修复。联合图像扩散模型可以生成相同主题的图像,但它没有输入需要个性化的参考图像。本节提出通过将输入图像个性化问题视为修补任务来解决这个问题。也就是说,给定一些作为参考的文本-图像对,生成新的个性化样本的任务可以视为修补包含参考图像的联合图像集的缺失图像(如前面图 2 (c))。

通过修改扩散 U-Net 的输入层来设计修补模型,以便它可以以参考图像为条件。更具体地说,扩散模型的输入是一个噪声图像、参考图像和一个二进制mask的拼接列表,该mask指示是否使用参考图像。当二进制mask全为0时,使用参考图像。另一方面,当二进制mask全为1时,参考图像是一个空的黑色图像(表示需要生成的缺失图像)。在训练过程中,对于联合图像集中的每张图像,以0.5的概率使用参考图像,即以0.5的概率将二进制mask设置为0。然后,训练损失可以写为如下:

其中,M 是一个空间重复的二项变量 m 的张量; 表示参考图像,未知元素设为零。

在推理过程中,利用替换技巧,将联合图像集中已知部分替换为干净参考图像的前向扩散响应。设 为参考图像,它们是图像集 中已知的元素,在生成时使用。在每个扩散步骤 t 中,只保留未知元素 的反向扩散输出,同时将已知部分替换为前向扩散输出,即噪声的真实图像 。

图像引导 分类器无关引导是一种流行的技术,用于单图像扩散模型中,使生成的图像更加符合输入条件。为了提高生成样本对输入参考图像的忠实度,在采样过程中除了使用文本引导外,还使用图像引导。使用图像引导的评分函数如下:

其中, 表示当文本提示和所有参考图像都设置为空时的无条件评分; 是引导比例。发现,使用图像引导可以显著提高生成图像对输入参考图像的忠实度。

实验

数据集 研究者们构建了用于训练的合成同一主题数据集(S3 数据集)。经过 CLIP 过滤后,获得了 160 万组图像,每组包含 2-4 张图像。训练期间,还包括了来自 WebVid10M 的视频帧和 Objaverse的渲染多视图图像,因为这些视频帧和资产的渲染图像通常具有相同的主题。使用原始视频字幕或资产字幕作为从同一视频/资产获得的所有图像的文本提示。此外,还包括来自 LAION 美学数据集的单图像数据,并将这些图像的集合大小设为 1。为了评估本文的模型,使用了 DreamBooth中提出的测试数据集。DreamBooth 测试集包含 30 个现实世界的主体,每个主体有 4-6 张图像和 25 个提示词。

评估指标 个性化文本生成图像的两个主要评估标准包括 (1) 生成图像与输入文本提示之间的一致性,以及 (2) 生成图像对输入参考图像的忠实度。使用生成图像与输入字幕之间的 CLIP 图像-文本相似性 (CLIP-T) 来评估 (1)。对于 (2),遵循之前的工作 [17, 28, 33],使用生成图像与参考图像之间的 CLIP 图像embedding (CLIP-I) 和 DINO 图像embedding (DINO) 的余弦相似性。DINO 被认为是衡量图像相似性的首选指标,因为它对同一概念类别中不同图像的外观变化很敏感。此外,还报告了仅针对前景遮罩图像的 CLIP-I 和 DINO 得分,即使用对象检测和分割剪切出前景对象的图像。这有助于在计算图像相似性得分时消除背景变化,更好地反映对参考主题的忠实度。称这些指标为 MCLIP-I 和 MDINO。

实现细节 基于 Stable Diffusion V1.4 实现了本文的方法,以便与先前的方法进行公平比较。使用批量大小 2048 和学习率 5e-5 来训练模型。使用预训练的 Stable Diffusion 模型初始化权重。对于每个批次,以相等的概率从 S3、WebVid10M、Objaverse 和 LAION 数据集中随机抽取图像集。随机选择图像集大小为 2-4,LAION 除外,LAION 的集大小始终为 1。本文的模型在 32 个 A100 GPU 上训练了 36 小时,共进行了 140,000 步。

比较

将本文的方法与最先进的无需微调的方法 BLIPD和 ELITE 以及两种基于微调的方法 DreamBooth (DB)和 CustomDiffusion (CD)进行比较。对于每个主体,对无需微调的方法使用一张输入参考图像,对基于微调的方法使用三张输入参考图像。

与无需微调的方法的比较 下图 8 展示了本文的方法与 BLIPD 和 ELITE 的视觉对比。可以看出,本文的方法能够忠实捕捉输入参考图像的视觉特征,包括语义属性和低级细节。

然而,BLIPD 和 ELITE 生成的图像只能大致类似于输入的颜色模式和语义特征。还观察到,对于诸如狗等常见对象类别,BLIPD 和 ELITE 可以生成合理的结果。这是因为它们的编码器可以轻松识别常见的对象类别(如狗的品种),使个性化生成更容易。然而,对于独特的不常见对象,它们的结果往往要差得多,例如第二行的玩具和第三行的图像。请注意,即使是常见类别,如第一行的狗例子,BLIPD 和 ELITE 生成的图像也可能会遗漏一些输入特征(尽管是同一品种但发型不同)。相比之下,本文的方法消除了编码器引起的信息丢失,能够更好地保留自定义概念。这也反映在量化比较下表 2 中,我本文的方法大幅度超过了 BLIPD 和 ELITE。

与基于微调的方法的比较 下图 9 展示了本文的方法与 DreamBooth (DB) 和 CustomDiffusion (CD) 的视觉对比。当参考图像数量有限时,基于微调的方法难以避免过拟合并生成输入主体的新变体。从图 9 中可以看出,由于过拟合,DB 经常直接复制输入图像,而 CD 生成的图像不能忠实地保留输入主体的特征。相比之下,本文的方法在不改变关键视觉特征的情况下,创造了参考主体的适当变体。即使没有任何昂贵的微调,当提供相同数量的参考图像(JeDi-3)时,本文的方法在量化比较中也优于 DB 和 CD,如表 2 所示。

消融研究

S3 数据集的大小 下表 3 报告了使用不同数量的合成图像训练本文的模型的结果。数据集大小 0 指的是仅在视频和多视图图像上训练模型。这个设置产生了最佳的图像对齐(DINO 和 MDINO)和最差的文本对齐,因为模型学会了一种捷径,即忽略文本提示并复制输入图像。第 2-4 列的性能大致相似,这表明通过增加合成数据集的大小并没有带来太大的提升。

联合图像扩散模型 在下表 4 中,报告了 JeDi 训练中不同设计选择的消融研究结果。第一列显示了一个 CLIP 编码器基线的结果,这是一个基于 CLIP 图像特征进行条件训练的单图像扩散模型。JeDi 模型在图像对齐方面远优于 CLIP 编码器基线,这表明使用联合图像模型比使用图像编码器有更多优势。还发现,将 CLIP 图像embedding作为额外条件输入添加到 JeDi(+ CLIP emb)中并没有改善性能,如第 3 列所示。这表明联合图像模型已经捕捉到了图像embedding中提取的信息。最后一列报告了没有图像引导的结果(w/o IG)。通过比较第二列和最后一列,可以看出图像引导对于获得良好的个性化结果至关重要。

结论

JeDi,一种使用联合图像扩散模型进行无需微调的个性化文本到图像生成的新方法。展示了如何通过联合自注意力层将单图像扩散 U-Net 调整为学习联合图像分布。为了训练联合图像扩散模型,构建了一个名为 S3 的合成数据集,其中每个样本包含一组共享相同主题的图像。实验结果表明,所提出的 JeDi 模型在基准数据集上在数量和质量上都优于先前的方法。

参考文献

[1] JeDi: Joint-Image Diffusion Models for Finetuning-Free Personalized Text-to-Image Generation

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

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

相关文章

Quartz 核心

一、Quartz 核心 工作原理: Scheduler 是一个计划调度器容器(总部),容器里面可以盛放众多的 JobDetail 和 Trigger。当容器启动后,里面的每个 JobDetail 都会根据 Trigger 按部就班自动去执行。JobDetail 是一个可执…

Canvas:掌握图像变换合成与裁剪状态像素操作

想象一下,用几行代码就能创造出如此逼真的图像和动画,仿佛将艺术与科技完美融合,前端开发的Canvas技术正是这个数字化时代中最具魔力的一环,它不仅仅是网页的一部分,更是一个无限创意的画布,一个让你的想象…

软件源码购买一般在哪个网站?避坑指南

在数字化转型的浪潮中,软件源码的购买已成为许多企业和个人开发者快速搭建项目、节省开发成本的重要途径。选择合适的购买平台,不仅能确保源码的质量与合法性,还能享受到便捷的交易流程与专业的售后服务。本文小编将为您分享几个常见的软件源…

安卓 APK 安装过程详解

🍎个人博客:个人主页 🏆个人专栏:Android ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 1. 开机后连上网线 2. 查看网线的IP地址 3. 检查ADB连接 4. 修改文件权限 步骤 结语 我的其他博客 前言 在安卓设备上安装…

[PM]流程与结构设计

流程图 流程就是为了达到特定目标, 进行的一系列有逻辑性的操作步骤, 由两个及已上的步骤, 完成一个完整的行为过程, 即可称为流程, 流程图就是对这个过程的图形化展示 分类 业务流程图 概念: 描述业务流程的一种图, 通过特定符号和连线表示具体某个业务的处理步骤和过程作…

✈️一文带你入门【NestJS】

✈️引言 在现代Web开发领域,框架和技术的迭代速度令人咋舌。其中,NestJS作为一款基于Node.js的后端框架,以其卓越的设计理念和强大的功能集,迅速吸引了众多开发者的眼球。本文将带你深入了解NestJS的起源、发展,以及…

亚马逊自养号测评环境系统全解析:从注册到下单,一次成号无忧

亚马逊测评的关键在于养号,这是因为测评需要买家账号来操作。而养号不仅仅是让账号能多次使用,更重要的是通过维护让账号更健康、更有价值。很多人容易忽略的是,首次购买(首单)的成功率和它对账号的重要性。首单成功率…

Leetcode刷题——7 滑动窗口 双指针

注&#xff1a;以下代码均为c 1. 两数之和2&#xff08;输入有序数组&#xff09; // 法1&#xff1a;暴力 vector<int> twoSum1(vector<int>& numbers, int target) {vector<int> ans(2);int n numbers.size();for(int i 0; i < n-1; i){if(i ! 0…

递归(四)—— 初识暴力递归之“打印字符串的全排列”

题目1&#xff1a;序列打印一个字符串的全排列 题目分析&#xff1a;结合一实例来理解题目&#xff0c;str “abc”的全排列就是所求得的序列是 strp[0~2]的所有位的排列组合&#xff0c;strNew {“abc”, “acb”, “bac”, “bca”,”cba”,”cab”} 思路1&#xff1a;枚…

旷野之间3 – CTO 应具备的技能

​​​​​​ 随着技术渗透到商业的各个方面,首席技术官的角色变得越来越具有战略性和多面性。虽然深厚的技术技能仍然是基础,但今天的首席技术官还需要具备领导能力、商业敏锐度、沟通能力等优势。 根据我作为 CTO 的个人经验,我将深入探讨现代 CTO 所需的各种能力,包括:…

vue中,图片在div中按照图片原来大小等比例显示

图片在div中按照图片原来大小等比例显示&#xff0c;可以保证web上显示的图片和实际图片形状一样&#xff0c;保留原始图片效果 实现代码如下&#xff1a; <div style"padding: 0; width:400px;height:400px;position: absolute;border: 1px solid #eff2f6;">…

百问网全志D1h开发板红外控制LVGL界面切换

红外控制LVGL界面切换 1. 测试红外功能 1.1 配置设备树 查看原理图&#xff1a; 可以看到红外对应的引脚号是PG16。 进入目录&#xff1a; cd /home/ubuntu/tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4修改board.dts&#xff1a; vim board.dts修改引…

MUNIK解读ISO26262:安全计划

前言 当我们进行功能安全开发时&#xff0c;由于整个项目周期和内容较多&#xff0c;因此需要在项目前期对一些问题提前进行规划&#xff1a;比如功能安全开发具体分为几个阶段&#xff0c;应该怎么去做&#xff1f;对于不同的环节&#xff0c;有哪些人员来执行&#xff1f;资…

在网上申请流量卡审核失败,可能是你的年龄有问题!

在网上申请流量卡审核失败&#xff0c;可能是你的年龄有问题&#xff01; 先上个图&#xff1a; ​ 网上的流量卡并不是随意申请的&#xff0c;而是填写申请信息后由运营商进行审核&#xff0c;审核通过后才会发卡&#xff0c;如果你提交的订单没有审核通过&#xff0c;那么大…

体积大的快递怎么寄便宜?如何寄件寄包裹更省钱?

大学毕业了&#xff0c;面对即将到来的工作生活&#xff0c;小李不得不把宿舍里的大包小包打包寄回家。可是&#xff0c;当他真正开始打包行李时&#xff0c;才发现这可不是一件简单的事&#xff1a;衣服、被子、书籍、杂物……这些东西加起来体积不小&#xff0c;想要省钱寄快…

HippoRAG如何从大脑获取线索以改进LLM检索

知识存储和检索正在成为大型语言模型(LLM)应用的重要组成部分。虽然检索增强生成(RAG)在该领域取得了巨大进步&#xff0c;但一些局限性仍然没有克服。 俄亥俄州立大学和斯坦福大学的研究团队推出了HippoRAG&#xff0c;这是一种创新性的检索框架&#xff0c;其设计理念源于人类…

强化学习实战1:OpenAI Gym 实验环境介绍

环境配置 我的 torch 版本是 2.3.0&#xff0c;然后 gym 版本是 0.22.0&#xff0c;python 版本是 3.8 &#xff0c;pygame 版本是 2.6.0 。 首先安装一下 gym&#xff1a; pip install gym0.22.0 -i https://pypi.tuna.tsinghua.edu.cn/simple然后安装一下 pygame&#xff…

Linux服务器CPU占用率达到100%排查思路

1、找到最耗CPU的进程pid&#xff0c;执行命令 top 2、找到最耗CPU的线程tid // 执行 top -Hp [pid] 定位应用进程对应的线程 tid // 按shift p 组合键&#xff0c;按照CPU占用率排序 > top -Hp 14246 3、将线程pid转化为16进制 // printf "%x\n" [tid] 将tid…

Sharding-JDBC分库分表之SpringBoot主从配置

Sharding-JDBC系列 1、Sharding-JDBC分库分表的基本使用 2、Sharding-JDBC分库分表之SpringBoot分片策略 3、Sharding-JDBC分库分表之SpringBoot主从配置 前言 在开发中&#xff0c;如果对数据库的读和写都在一个数据服务器中操作&#xff0c;面对日益增加的访问量&#x…