效果炸裂!文生图再升级,支持多对象个性化图片生成!开源!

大家好,今天和大家分享一篇最新的文生图工作,代码已开源

标题:Identity Decoupling for Multi-Subject Personalization of Text-to-Image Models

单位:KAIST

论文:https://arxiv.org/pdf/2404.04243.pdf

代码:https://github.com/agwmon/MuDI

主页:https://mudi-t2i.github.io/

652db39eddd5101a7413631f9063b8de.png

这篇论文在做的一件事是,输入几张包含不同对象的图片(如上面红色框中所示),利用文生图模型(例如SDXL)生成包含输入参考图对象的图片结果,而且能够有效保留输入参考图的身份信息。

11a94025f88f1034160365ba3cdaced9.jpeg

如上图所示,我们可以将不同品种的狗标记为 D1 - D9, 同样的将猫标记为C1-C2,再利用 文生图模型即可生成下面的自定义组合结果:

deb12cc57f932ba222c4737116d0a573.jpeg

1、解决的问题

这篇论文试图解决的问题是在多对象个性化文本到图像模型中处理多个对象时,现有方法常常导致不同对象的属性混合,形成混合身份的图像。为了解决这个问题,论文提出了一个名为MuDI(Multi-subject Personalization for Decoupled Identities)的新框架,旨在通过有效地将多个对象的身份解耦来生成高质量的个性化图像,避免身份混合。

论文中提到的关键点包括:

  1. 利用分割对象进行数据增强:通过使用Segment Anything Model (SAM) 生成的分割主题来进行训练和推理,作为数据增强的一种形式,以提高模型对不同对象的区分能力。

  2. 初始化生成过程:在推理过程中,使用从分割对象生成的均值偏移随机噪声来初始化样本生成,而不是从高斯噪声开始,这为模型提供了有关对象分离的有用提示。

  3. 描述性类别的使用:通过使用更具体的类别名称或在一般类别名称前添加详细描述来提高模型对相似对象的区分能力。

  4. 相对大小控制:MuDI提供了一种直观的方法来控制个性化主题之间的相对大小,通过在Seg-Mix中调整分割对象的大小来实现。

  5. 模块化定制:MuDI的Seg-Mix可以应用于模块化定制,允许独立微调每个对象的模型,然后在不需要从头开始训练的情况下进行有效合并。

  6. LLM引导的推理初始化:使用大型语言模型(LLM)生成与给定提示对齐的布局,以在初始化中定位分割对象,从而增强渲染复杂主题间互动的能力。

2、相关研究

这篇论文提到了多个与多主题个性化文本到图像模型相关的研究领域和具体工作,包括但不限于:

  1. 文本到图像的个性化:

  • Textual Inversion [13]:通过优化新文本嵌入来表示指定的主题。

  • DreamBooth [39]:通过微调预训练模型的权重来绑定新概念与唯一标识符。

布局引导的多主题组合:

  • Anydoor [8]:通过重新组合提取的特征在用户指定的场景图像中放置多个概念。

  • Cones2 [26]:使用用户提供的边界框和交叉注意力图提供的空间引导来组合主题。

  • ControlNet [53]:通过预设的空间条件(如关键姿势或草图)控制生成过程。

模块化定制:

  • Custom Diffusion [23]:通过解决约束优化合并独立微调的模型。

  • Mixof-Show [14]:引入梯度融合来合并单概念LoRAs。

文本到图像扩散模型:

  • Stable Diffusion XL (SDXL) [34]:作为预训练文本到图像扩散模型使用。

图像编辑和生成:

  • Segment Anything Model (SAM) [22]:用于自动获取分割主题。

  • Open Vocabulary Object Detection Model (OWLv2) [28]:用于提取对象边界框。

3、解决思路

67d6473697875e2964bb962fbe6742ae.png

算法的整体框架如上所述:

1、数据预处理:利用SAM + OWLv2(开放词汇的物体检测算法)获取例如 “robot toy” 和对应的一系列不同的mask

2、训练过程:通过随机放置分割好的多个对象,以及调整对象在图片的大小,来增强训练数据,并训练一个扩散模型 (上面的数据增强方案称为:Seg-Mix)

3、推理阶段:初始化生成过程是由分割后的对象创造的mean-shifted noise,利用噪声+标记不同对象的prompt (这里标注的V1和V2)输入到模型即可得到解偶不同身份信息的图像结果

04d9e0eb22ab59226c7a3760e1aeeb19.png

(a) 通过 SMT 控制相对尺寸。使用大小控制的 Seg-Mix 对 MuDI 生成的样本进行可视化。(b) 模块化定制。合并 LoRA 后应用 Seg-Mix 可以显着改善身份解耦。(c) 个性化两个以上的对象。MuDI 可以解耦两个以上的相似对象。(d) MuDI 和 MuDI 对相同随机种子进行迭代训练生成的样本的比较。迭代训练改善了身份解耦,KL 正则化缓解了过饱和。

ec197d8c918065d5c23068c331319ba1.png

Modular Customization overview。(a) 首先使用预先训练的 LoRA 生成单对象图像,然后使用梯度融合合并 LoRA。(b) 使用自生成的图像来创建 Seg-Mix 样本以进行微调。我们发现将 KL 正则化添加到训练目标中可以有效防止过度拟合和饱和。(c)  Seg-Mix 微调显着改善了模块化定制场景的身份解耦。

43bee7c7a27e2ee3bdb3d351617a51f8.png

检测和比较概述。通过使用 OWLv2 检测对象并计算相似度来测量多对象保真度。

4、效果展示

来自Sora的素材测试:

c5ebc3304574a4d989b24f7a7fe4b258.jpeg

2be7fdd1139ead456072a725fc5ed1f8.jpeg

7d139295e99e409ef17b5e9725eecac3.jpeg

与现有方法效果对比:

b89da4b6ebeacc2687a3a11d15678fb0.jpeg

e9b21830c3aa2c66c49bda1f09cd89f9.jpeg

70866cbc44aa96ea26aaa8bfeed7fd7d.jpeg

5aa13b78885c43e59fc0c57db80b6aea.jpeg

30156ebb4c3214b2110b2c628d11acc2.jpeg

f06325e3ca939b255fe89a17c36d3778.png 最后如果对大家有帮忙欢迎点赞、分享哈,我会继续努力,感恩各位!

推荐

聊聊业内工程师如何突破瓶颈

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

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

相关文章

【linux】yum 和 vim

yum 和 vim 1. Linux 软件包管理器 yum1.1 什么是软件包1.2 查看软件包1.3 如何安装软件1.4 如何卸载软件1.5 关于 rzsz 2. Linux编辑器-vim使用2.1 vim的基本概念2.2 vim的基本操作2.3 vim命令模式命令集2.4 vim底行模式命令集2.5 vim操作总结补充:vim下批量化注释…

贪心算法简介

目录 一、什么是贪心算法? 二、贪心算法的特点 三、贪心算法解决找零问题、最短路径问题、背包问题 1.找零问题 2.最短路径问题 3.背包问题 一、什么是贪心算法? 贪心算法就是希望通过局部最优来解决全局最优 基本步骤:1.将问题分为若…

SAM功能改进VRP-SAM论文解读VRP-SAM: SAM with Visual Reference Prompt

现已总结SAM多方面相关的论文解读,具体请参考该专栏的置顶目录篇 一、总结 1. 简介 发表时间:2024年3月30日 论文: 2402.17726.pdf (arxiv.org)https://arxiv.org/pdf/2402.17726.pdf代码: syp2ysy/VRP-SAM (github.com)htt…

acwing总结-线性质数筛

质数筛 题目链接:质数筛线性筛法 ac代码&#xff1a; #include<iostream> #include<algorithm> //https://www.bilibili.com/video/BV1LR4y1Z7pm/?spm_id_from333.337.search-card.all.click&vd_source436ccbb3a8f50110aa75654f38e35672 //链接到b站视频 us…

【Vuforia+Unity】AR判断当前平台获取点击/触摸坐标点选中识别的二维码跳转网页

实现了&#xff1a;【VuforiaUnity】判断当前平台获取点击/触摸坐标点选中识别的二维码跳转网页 using UnityEngine; using Vuforia; public class BarcodeScanner : MonoBehaviour { public TMPro.TextMeshProUGUI barcodeAsText; string platformNum""; privat…

Java零基础入门-Scanner类

一、概述 对于上几期&#xff0c;我们有学完java的反射机制及java正则&#xff0c;有些小伙伴私下给我说&#xff0c;教的有点太难理解了&#xff0c;不是很能消化&#xff0c;说教学内容学习压力有点大&#xff0c;我仔细去看了看&#xff0c;确实是我教学先后顺序的问题&…

使用自己的数据基于SWIFT微调Qwen-Audio-Chat模型

目录 使用自己的数据训练参数设置自己的数据准备语音转写任务语音分类任务 开始训练不同训练方法mpddpmp ddpdeepspeed 训练实例训练详情Qwen-Audio-Chat模型 模型数据实例官方可用的数据由内部函数处理为指定格式 训练好的模型测试 使用自己的数据 官方参考文档&#xff1a;…

微服务-网关

在微服务架构中&#xff0c;每个服务都是一个可以独立开发和运行的组件&#xff0c;而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能&#xff0c;比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服…

南京航空航天大学-考研科目-513测试技术综合 高分整理内容资料-01-单片机原理及应用分层教程-单片机有关常识部分

系列文章目录 高分整理内容资料-01-单片机原理及应用分层教程-单片机有关常识部分 文章目录 系列文章目录前言总结 前言 单片机的基础内容繁杂&#xff0c;有很多同学基础不是很好&#xff0c;对一些细节也没有很好的把握。非常推荐大家去学习一下b站上的哈工大 单片机原理及…

同旺科技 USB TO SPI / I2C 专业版 极限测试 ---- 写入数据

所需设备&#xff1a; 1、USB 转 SPI I2C 适配器&#xff1b;内附链接 备注&#xff1a;带EXCEL调试的只适用于专业版&#xff1b; 软件配置&#xff1a; 设置如下&#xff0c;写入32766个字节&#xff0c;单条指令&#xff0c;速率20Mhz; 32766个字节不是适配器的极限&am…

Java使用aspose-words实现word文档转pdf

Java使用aspose-words实现word文档转pdf 1.获取转换jar文件并安装到本地maven仓库 aspose-words-15.8.0-jdk16.jar包下载地址&#xff1a;https://zhouquanquan.lanzn.com/b00g257yja 密码:965f 下载aspose-words-15.8.0-jdk16.jar包后&#xff0c;通过maven命令手动安装到本…

脑电放大 LM386

LM386介绍 LM386 是一种音频集成功放&#xff0c;具有自身功耗低、电压增益可调整电源电压范围大、外接元件少和总谐波失真小等优点&#xff0c;广泛应用于录音机和收音机之中。 电源电压 4-12V 或 5-18V(LM386N-4);静态消耗电流为 4mA;电压增益为20-200dB;在引脚1和8开路时&a…

SpringMVC--核心概念 / @RequestMapping注解

目录 1. 准备工作 1.1. 创建SpringMVC-demo02 子模块 1.2. 添加相关依赖 1.3. 设置 Maven 打包方式 1.4. 配置 web.xml 文件 1.4.1. 创建 web.xml 文件 1.4.2. 默认配置方式 1.4.3. 扩展配置方式 1.4.4. 注意点 1.5. 配置 Spring 文件 1.5.1. Thymeleaf视图解析器 …

RabbitMQ经典三问

RabbitMQ如何保证消息不会丢失&#xff1f; 可能会造成消息丢失的原因&#xff1a; 生产者方面&#xff0c;当生产者发送消息到 Broker 时&#xff0c;由于网络问题或者自身问题没有达到消息到达Broker&#xff0c;但是当 Broker 持久化的时候&#xff0c;RabbitMQ宕机消费者…

MacOS下Qt 5开发环境安装与配置

最近笔者在MacOS中使用Qt Creator开发Qt程序时遇到了一些问题&#xff0c;在网上查了不少资料&#xff0c;都没有找到解决方案&#xff0c;只有自己进行研究摸索了&#xff0c;今天晚上终于将目前遇到的问题全部解决了&#xff0c;特记录下来分享给大家。 笔者使用的是MacOS 1…

java+saas模式医院云HIS系统源码Java+Spring+MySQL + MyCat融合BS版电子病历系统,支持电子病历四级

javasaas模式医院云HIS系统源码JavaSpringMySQL MyCat融合BS版电子病历系统&#xff0c;支持电子病历四级 云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务&#xff0c;提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员…

智慧公厕中的大数据、云计算和物联网技术引领未来公厕管理革命

现代社会对于公共卫生和环境保护的要求越来越高&#xff0c;智慧公厕作为城市基础设施建设的重要组成部分&#xff0c;正引领着公厕管理的革命。随着科技的不断进步&#xff0c;大数据、云计算和物联网技术的应用为智慧公厕带来了全新的可能性&#xff0c;&#xff08;ZonTree中…

网站SEO关键词规划时如何筛选出合适的关键词?

在网站SEO优化过程中&#xff0c;关键词布局是一个至关重要的环节。首先&#xff0c;我们需要确定核心关键词&#xff0c;然后通过各种策略和方法对关键词进行扩展。完成关键词扩展后&#xff0c;接下来的任务就是对这些扩展后的关键词进行筛选。那么&#xff0c;如何进行有效的…

AI大模型之ChatGPT科普(深度好文)

目录 训练ChatGPT分几步&#xff1f; 如何炼成ChatGPT&#xff1f; 如何微调ChatGPT? 如何强化ChatGPT? 如何调教ChatGPT? AI思维链是什么&#xff1f; GPT背后的黑科技Transformer是什么&#xff1f; Transformer在计算机视觉上CV最佳作品&#xff1f; ChatGPT是人…

【C++】STL--vector

目录 vector的使用 vector的定义 vector iterator的使用 vector空间增长问题 vector增删查改 vector深度剖析及模拟实现 vector核心接口模拟实现 使用memcpy拷贝问题 迭代器失效问题 vector的使用 vector的定义 C中&#xff0c;vector是一个模版&#xff0c;第一个参…