虚拟试衣系列Magic Clothing: Controllable Garment-Driven Image Synthesis

news2024/12/28 19:25:13

目标:生成穿着具有多种文本提示的目标服装的模特图片。

创新点:以特定服装为条件的图像生成。服装驱动的图像生成任务旨在生成穿着指定服装的模特图片,并结合给定的文本提示。

与虚拟试穿(Virtual try-on, VTON)任务的不同:

VTON旨在生成穿着目标服装的特定模特图片,更多地是一种image-inpainting任务,只需要关注于保留目标服装的特征,而没有以特定的文本提示作为条件。

关注点:图像的可控性,即保留服装细节的同时保持对文本提示的忠实度。

具体做法:

  1. 引入基于Unet架构的服装提取器来提取详细的服装特征,并采用自注意力融合将其合并到预训练的LDM中,确保目标角色的服装细节保持不变;
  2. 利用联合的classifier-free guidance来平衡服装特征和文本提示对生成结果的控制,具体做法是在训练时从联合分布中随机删除服装特征和文本提示;
  3. 服装分类器可以作为一个插件,它适用于各种微调的LDM,并可以与ControlNet和IP-Adapter等扩展模块相结合,以增强生成图片的多样性和可控性。

网络结构:

1、在训练过程中,首先使用VAE自动变分编码器将人物图像I_{C}\in \mathbb{R}^{3\times H\times W}和服装图像I_{G}\in \mathbb{R}^{3\times H\times W}编码到潜在表示Z_{C}Z_{G}\in \mathbb{R}^{4\times \frac{H}{8}\times \frac{W}{8}}

2、另一方面,使用BLIP为人物图像Ic生成文本标题,获得text prompt y,并将其转换为token embedding \tau _{y}

3、引入了一种服装提取器\varepsilon _{G},它与去噪unet具有相同的结构,用于提取详细的服装特征。

4、通过自注意力融合将提取到的服装特征合并到原始的去噪过程中。具体而言,令\alpha _{i}\beta _{i}分别表示去噪Unet网络\epsilon_{\theta }和服装提取器\varepsilon _{G}中的第i个自注意力块的归一化后的中间隐藏状态,添加服装特征后的\epsilon_{\theta }中自注意力的计算为:

其中[·]表示concatenation操作,d是特征维度,WQ、WK、WV分别是自注意力层中query、key和value的线性投影权重。

5、为了保证原始LDM的文本到图像的生成能力并降低训练成本,在训练时保持\epsilon_{\theta }的权重冻结,只训练服装提取器\varepsilon _{G},并将其权重初始化为的权重,进一步加快了训练过程。训练目标为:

其中z_{C_{t}}是在t时刻向人物图像潜在z_{C}添加噪声而获得的,β是来自服装提取器\varepsilon _{G}的自注意力块的整体服装特征。

6、在推理过程中,给定服装和文本描述,就可以生成穿着目标服装的模特图像。为了添加更多条件控制,服装提取器也可以与其他扩展配合使用(如ControlNetIP-Adapter等)。同时,服装特征在所有去噪步骤中共享,从而最小化了LDM的推理计算成本。

Joint Classifier-free Guidance

Classifier-free guidance:

两个控制条件:服装特征cG和文本提示cT。具体来说,令它们在训练期间以一定概率置为∅。然后在推理时,引入服装指导尺度sG和文本指导尺度sT来分别调整服装和文本提示的条件控制的强度。

独立classifier-free guidance

但这样融合两个去噪分数可能会导致不希望的结果,因为两个控制条件可能具有重叠的语义信息。

联合classifier-free guidance

        按照一个联合分布来设置服装特征和文本提示置为∅的概率。具体做法是,随机选择5%的训练样本设置cG = ∅G,5%的训练样本设置cT = ∅T,另外5%的训练样本同时设置cG = ∅G和cT = ∅T。

sG越大,生成模特图中的服装与输入服装越相似;sT越大,生成模特图越准确地遵循文本提示。由于sT和sG之间差距较大可能会扭曲服装细节,因此在实验中按照经验设置为sT = 7.5和sG = 2.5。

插件模式:

        可以将服装提取器Eg作为插件模块,与各种经过微调的LDM结合起来,以增强生成角色的多样性。

例如:

  • 与LoRA或全参数微调的LDM结合,可以创建不同风格的角色,如科幻、现实和动漫风格等;
  • 与ControlNet-Openpose结合,可以生成穿着给定服装并具有目标姿势的模特图;
  • 与ControlNet-Inpaint结合,可以执行虚拟试穿任务并生成高质量的结果;
  • 与IP-Adapter-FaceID结合,可以生成穿着目标服装的特定人物。

也可以与多个扩展相结合,对生成图像进行多方面的控制。

实验设置:

训练数据集:配对的服装和模特图,对人物图片进行描述的文本提示(BLIP)。

测试数据:一个配对的服装+文本提示→生成n张对应的模特图;

对比方法:三种最先进的基于LDM的主题驱动图像合成模型IP-Adapter、BLIP-Diffusion和Versatile Diffusion;以及训练了一个以服装作为输入条件并根据文本提示生成图像的ControlNet-Garment。(分辨率:768×576)

实验细节:使用stable diffusion v1.5中Unet的预训练权重来初始化服装提取器的权重,仅微调其权重,保持其他模块的权重冻结。采用AdamW优化器,固定学习率为5e-5。在单个NVIDIA A100 GPU上训练100个步骤,batch size=16。在推理时,使用UniPC采样器生成20个采样步的图像。

实验结果:

 存在的局限性:生成图像的质量高度依赖于基础扩散模型,改进方案是使用更强大的预训练模型(如SDXL或Stable Diffusion3)等。

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

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

相关文章

如何组织一场问卷调查

问卷调查是一种常用的数据收集方法,可以用于了解人群的意见、行为、态度等。以下是一些步骤和建议,帮助你组织1场有效的问卷调查。 确定调查目的:在开始设计问卷之前,你需要明确调查的目的。这将帮助你确定需要收集哪些信息&…

SpringBoot发送QQ邮箱

SpringBoot发送QQ邮箱 前言&#xff1a; 因项目有部分功能要发送企业内部邮箱&#xff0c;要用到QQ邮箱测试下网段是否通&#xff0c;用于排查下问题。 发送邮箱 1&#xff0c;导入依赖 <dependency><groupId>org.springframework.boot</groupId><arti…

【数据分享】2024最新安徽省镇级行政区划矢量shp

今天要分享的数据是2024最新安徽省镇级行政区划矢量shp。 数据介绍 安徽建省公元1667年&#xff0c;省名取当时安庆、徽州两府首字合成&#xff0c;因境内有皖山、春秋时期有古皖国而简称皖。它位于中国中东部&#xff0c;是最具活力的长江三角洲组成部分。全省南北长约57…

liunx运行脚本文件sh,和window运行脚本文件命令及注意事项总结

文章目录 linux运行脚本文件window运行脚本文件工具1. 使用WSL&#xff08;Windows Subsystem for Linux&#xff09;2. 使用Git Bash&#xff08;现在用的&#xff09;3. 使用Cygwin4. 使用Windows PowerShell小结 conda使用&#xff0c;环境变换解决方案1. 配置conda初始化对…

解密RCE漏洞:原理剖析、复现与代码审计实战

在网络安全领域&#xff0c;远程代码执行&#xff08;RCE&#xff09;漏洞因其严重性和破坏力而备受关注。RCE漏洞允许攻击者在目标系统上执行任意代码&#xff0c;从而掌控整个系统&#xff0c;带来极大的安全风险。理解RCE漏洞的工作原理&#xff0c;并掌握其复现与代码审计技…

android13内核增加调试接口给上层使用

总纲 android13 rom 开发总纲说明 目录 1.前言 2.处理方法分析 3.代码参考 3.1方法1 3.2方法2 3.3方法3 3.4方法4 4.彩蛋 1.前言 有时候,我们在开机的过程中,adb服务还没有起来,系统奔溃了,不能正常开机,我们没法看到相关的logcat信息,导致我们不能很快的定…

内衣洗衣机哪家品牌好用?力荐五款爆款内衣洗衣机

近两年内衣洗衣机逐渐走入大众的视野&#xff0c;不少人说它可以释放双手&#xff0c;比自己手洗还干净。还具有除菌功能&#xff0c;能够减少衣物上我们看不到的细菌&#xff0c;但也有人说它是智商税&#xff0c;根本没有用&#xff0c;都是心理因素在作怪&#xff0c;在面对…

vue配置electron,使用electron-builder进行打包【完整步骤】

目 录 1. 已知&#xff1a;vue3项目已经创建好 一、配置Electron 1. 安装electron 2. 在根目录创建electron 文件夹&#xff0c;并新建main.js 和preload.js 3.在package.json 中配置添加以下代码&#xff1a; 4. 安装concurrently 5. 安装 nodemon 实现热更新 6…

Java同城达人交友系统源码

打造你的社交新领地&#xff01;同城达人交友系统源码全揭秘 &#x1f308; 开篇&#xff1a;遇见同城&#xff0c;遇见更好的你 在这个快节奏的城市生活中&#xff0c;你是否渴望遇见志同道合的朋友&#xff1f;是否想与身边的达人分享生活的点滴&#xff1f;现在&#xff0…

深入探究Java中的宏替换:从基础到应用的全面解析

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

html+css 实现hover镂空背景按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…

weblogic 连接gaussdb测试数据源是否联通

文章目录 1. gaussdb创建远程连接用户和数据库2. weblogic构建GaussDB源数据库3. 测试结果查询注意 weblogic中jar包已经放入lib目录中gaussdb已经创建可以连接登录的用户和数据库1. gaussdb创建远程连接用户和数据库 新建用户和数据库连接客户端Gauss=# create user lily pas…

【算法】装箱问题

一、引言 装箱问题算法、Bin-Packing算法是一种典型的优化问题&#xff0c;广泛应用于物流、资源分配、内存管理等领域。 二、算法原理 Bin-Packing问题可以描述为&#xff1a;给定一组大小不同的物品和一个容量有限的背包&#xff0c;如何将物品放入背包&#xff0c;使得背包内…

prompt提示词工程尝试

使用提示前 添加prompt后 提示词中的内容 # Rule&#xff1a; 数学大师## Profile - author: bennie - version: 1.0 - language: 中文 - description: 你是数学领域的专家&#xff0c;擅长进行数学领域内容的逐步分析和推导## Skills - 深入理解数据大小的比较 - ## Back…

ssm新闻发布系统-计算机毕业设计源码68754

摘要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对新闻发布等问题&#xff0c;对新闻发布进行研…

【竞技宝】奥运会:郑钦文夺冠破纪录

郑钦文在2024奥运会女子网球单打决赛中2比0击败了克罗地亚选手维基奇&#xff0c;为中国网球赢得了历史上首枚奥运会金牌&#xff0c;同时也成为了首位站上奥运会最高领奖台的亚洲运动员。其实郑钦文是顶着巨大压力参加奥运会的比赛&#xff0c;而且为此损失了很多钱&#xff0…

翻转二叉树 - 力扣(LeetCode)C语言

226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09;&#xff08;点击前面链接即可查看题目&#xff09; 一、题目 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出…

springboot智能停车场管理系统-计算机毕业设计源码46885

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2 开发现状 1.3论文结构与章节安排 2 智能停车场管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用…

springboot集成websocket实现聊天室(极简版)

文章目录 前情描述websocket优势效果展示spring-boot后端html前端代码资源地址结语 前情描述 最近想了解websocket的相关原理&#xff0c;于是写了一个极简版的程序&#xff0c;后端使用springboot集成websocket模块&#xff0c;前端手敲了一个html页面&#xff08;页面很丑很…

多屏显卡调试

本文依照2017年11月8日一般工作日志改写。 目录 一、显卡选用 二、安装过程 &#xff08;1&#xff09;操作系统&#xff1a; &#xff08;2&#xff09;开机安装驱动 &#xff08;3&#xff09;调整连接线缆 &#xff08;4&#xff09;显卡设置 这是一个LED大屏幕系统&…