Wear-Any-Way——可控虚拟试衣一键试穿,可自定义穿着方式

概述

Wear-Any-Way 是阿里巴巴最新推出的虚拟试衣技术,它不仅可以让用户在虚拟环境中试穿衣服,还可以根据需要自定义衣服的样式,比如卷起袖子、打开或拖动外套等。这种技术的引入旨在帮助消费者更好地了解衣服在不同穿着方式下的效果,从而提高在线购物的体验。

使用 Wear-Any-Way 技术,消费者可以在虚拟试衣室中看到衣服穿在模特身上的效果,并且可以通过交互操作将衣服调整到自己喜欢的样式。这种交互式的试穿体验能够更直观地展示衣服的穿着效果,帮助消费者做出更准确的购买决策。

与传统的线下试衣相比,使用 Wear-Any-Way 技术试穿衣服的优势在于:

  1. 方便快捷:消费者无需前往实体店铺,可以在家中通过手机或电脑即可进行试穿。

  2. 可定制性:消费者可以根据个人喜好自定义衣服的穿着样式,比如调整袖子长度、解开外套等。

  3. 多样性:消费者可以在虚拟试衣室中尝试不同的衣服款式和颜色,帮助他们更好地选择适合自己的衣服。

项目主页:https://mengtingchen.github.io/wear-any-way-page/

论文地址:https://arxiv.org/abs/2403.12965

摘要

Wear-Any-Way 是一个虚拟试衣框架,其主要特点包括生成高保真度的试穿效果以及支持用户精确地操纵穿着风格。这个框架首先构建了一个强大的标准虚拟试衣流程,能够在复杂场景中进行单件或多件服装的试穿,并且支持模型之间的试穿。为了实现用户对穿着风格的精确操纵,Wear-Any-Way 提出了稀疏对应对齐的方法,其中包括基于点的控制来指导特定位置的生成。

在标准设置下,Wear-Any-Way 达到了最先进的性能水平,并且为定制穿着风格提供了一种新的交互形式。例如,它支持用户拖动袖子卷起、拖动外套打开,甚至可以利用点击来控制衣服的塞进风格等。通过这些交互方式,Wear-Any-Way 在时尚行业中实现了更自由和灵活的服装表达,具有深远的意义。

虚拟试衣技术旨在合成特定人穿着提供服装的图像,为消费者提供身临其境和互动的试衣体验,无需实际穿戴。然而,现有的虚拟试衣方案存在一些缺陷。首先,它们主要适用于简单情况,如单一服装、简单纹理等,未能解决现实世界应用中的挑战,如模型到模型的试衣、多服装试衣以及复杂的人体姿势和场景。其次,过去的方法无法精确控制穿戴风格,未能展示同一件衣服在不同风格下的表现,尤其是在时尚领域中样式选择的关键作用。

为解决上述挑战,我们提出了一种全新的虚拟试衣框架,名为Wear-Any-Way,可一次性解决这些问题,成为现实世界应用的通用解决方案。Wear-Any-Way支持各种子任务,包括模型到模型的试衣、多件服装试衣以及复杂场景下的试衣,如街道场景。此外,Wear-Any-Way还支持用户自定义穿着风格,用户可以通过简单的交互操作,如点击、拖动等,精确控制衣物的穿着方式,包括袖子的卷取、外套的开襟大小甚至tuck的款式。

我们首先建立了一个强大的虚拟试衣基线,然后通过进一步的研究使其具备可定制性。我们提出了一种基于点的控制方法,通过稀疏对应对齐,将服装图像上的特定点与生成结果中人体图像上的目标点匹配,实现精确的穿戴方式控制。同时,我们还设计了几种策略,如条件丢弃、零初始化和点加权损失,以增强可控性。

算法架构

算法流程

我们的流程由两个分支组成。主干是使用预训练的Stable Diffusion初始化的修复模型。该模型以一个9通道的张量作为输入,其中包括4个通道的潜在噪声,4个通道的潜在背景(即修复背景),以及一个通道用于掩模(表示用于修复的区域)。原始的Stable Diffusion接收文本嵌入作为条件来指导扩散过程。相反,我们将文本嵌入替换为由CLIP图像编码器提取的服装图像的图像嵌入。

CLIP图像嵌入可以确保服装的整体颜色和纹理,但无法保留服装的细节。因此,我们还使用一个参考U-Net来提取服装的细节特征。我们的参考U-Net是一个标准的文本到图像扩散模型,具有4个通道的输入。在每个块之后,我们通过连接参考U-Net的“key”和“value”到主U-Net之后来进行特征融合。

为了进一步增强生成的效果,我们添加了姿态图作为额外的控制因素。我们构建了一个微小的卷积网络来提取姿态图的特征,并直接将其添加到主U-Net的潜在噪声中。我们使用DW-Pose从提供的行人图像中提取姿态图。
在这里插入图片描述

稀疏对应对齐

为了实现穿着风格的精确控制,在扩散过程中引入了稀疏对应对齐机制。具体来说,我们使用pointpair来标记一对控制点,其中一个点在服装图像上标记,另一个点在人物图像上给出。通过利用这两点之间的对应关系,我们可以控制生成结果:服装的标记位置将与人物图像上的目标位置匹配。通过这种方式,用户可以通过操纵多个点对来精确控制穿着风格。

首先,我们学习了一系列点嵌入来表示控制点对。然后,我们将这些控制信号注入到主U-Net和参考U-Net中。为了辅助模型学习对应关系,我们提出了条件丢弃、零初始化和点引导损失等策略。

点嵌入方面,假设我们采样了N对点,我们使用disk maps来分别表示服装和人物图像上的点。我们将服装图像上的点不重复地随机填充1到K之间的值,而人物图像上的点采用相应的值。这种随机赋值解耦了语义和点,因此使点表示可置换。这为支持任意位置和数量的点控制提供了基础。

我们设计了一个具有堆叠卷积层的点嵌入网络,将disk maps映射到高维嵌入空间。该网络在端到端训练中与扩散模型一起进行优化。

嵌入注入方面,通过将点嵌入注入到注意力层中,我们能够在控制方面表现出色。在我们的基线模型中,来自参考U-Net的特征被连接到自注意力的“键”和“值”上,其中m和r的下标表示主U-Net和参考U-Net。
A t t e n t i o n = s o f t m a x ( Q m ⋅ c a t ( K m , K r ) T d k ) ⋅ c a t ( V m , V r ) {\mathrm{Attention}}={\mathrm{softmax}}({\frac{Q_{m}\cdot{\mathrm{cat}}(K_{m},K_{r})^{T}}{\sqrt{d_{k}}}})\cdot{\mathrm{cat}}(V_{m},V_{r}) Attention=softmax(dk Qmcat(Km,Kr)T)cat(Vm,Vr)
该注意力层使参考UNet提取的服装特征能够集成到主U-Net中。为了实现点引导的对应控制,我们修改这个注意层,通过使用公式(4)中的“query”和“key”添加人和服装的点嵌入。
A t t e n t i o n = s o f t m a x ( ( Q m + E p ) ⋅ c a t ( K m + E p , K r + E g ) T d k ) ⋅ c a t ( V m , V r ) {\mathrm{Attention}}={\mathrm{softmax}}{\bigl(}{\frac{(Q_{m}+E_{p})\cdot{\mathrm{cat}}(K_{m}+E_{p},K_{r}+E_{g})^{T}}{\sqrt{d_{k}}}{\bigr)}\cdot\mathrm{cat}}(V_{m},V_{r}) Attention=softmax(dk (Qm+Ep)cat(Km+Ep,Kr+Eg)T)cat(Vm,Vr)
这样,在将服装特征集成到主U-Net中时,特征聚合将考虑点对的对应关系。将服装上的点定位到的特征点与人物图像上的特征点位置进行对齐。因此,用户可以指定控制点,通过单击和拖动操作穿着样式。

训练策略

除了模型结构的设计,我们还制定了多种训练策略来辅助穿戴学习对应对齐。

  1. Condition dropping(条件丢弃):分析表明,修复模型和人体姿态图可以在一定程度上反映训练样本的佩戴风格。为了强制模型从控制点学习,我们增加了删除姿态映射并将修复掩码退化为地面真值掩码周围的框的可能性。

  2. Zero-initialization(零初始化):在“key”和“value”的注意力上添加点嵌入会导致训练优化的不稳定。为了实现渐进集成,我们在点嵌入网络的输出端添加了一个初始化为零的卷积层。这种零初始化带来了更好的收敛性。

  3. Point-weighted损失(点加权损失):增强配对点的可控性。我们增加了人物图像上采样点周围的损失权重。磨损监督是用于预测噪声的均方误差损失。

收集训练点对

在实际穿戴过程中,衣服并不像钢铁一样坚硬,而会发生变形。为了处理这种情况,我们利用siamese text-to-video扩散模型分别从人体和服装图像中提取特征。然后,我们将最后一个预测结果在多个时间步上进行集成,以获得一个鲁棒的匹配。具体来说,给定人物图像上的某一点,我们选择其在服装图像上的最大余弦相似度对应点。我们首先从人物图像中提取穿着衣服的区域,并将其作为模板。然后,在模板的内部和边界区域随机采样点作为查询,并利用匹配流水线提取服装图像上的对应点。针对复杂姿态下服装图像上的一些点无法与人体图像匹配的问题,我们选择从人物图像到服装图像的映射方向,以解决这一问题。

在这里插入图片描述

推理操作

推理流程如图4所示。在点击设置中,用户除了提供服装图像和人物图像外,还可以在这两幅图像上指定多个点对作为控制信号。将服装点表示的服装图像上的坐标与生成结果中人物点的对应位置进行对齐。对于基于拖拽的控件,将其起点和终点分别处理为服装点和人物点,并将解析后的服装作为服装图像。这样,基于拖动的操作就可以转换为基于点击的控件。
在这里插入图片描述

实验

实现细节

详细配置: 我们采用了Stable Diffusion-1.5的预训练权重来初始化主U-Net和参考U-Net。我们收集了30万个高质量的试衣数据。为了与其他作品进行公平的比较,我们分别在VITON-HD和Dresscode数据集上训练Wear-Any-Way来进行定量和定性比较。

评估指标:

  1. 标准虚拟试衣: 我们首先评估了在标准虚拟试衣基准(即VITON-HD、Dresscode)上的穿着性能,以报告定性结果。同时,与现有方法进行了定性比较,证明了所提方法的有效性。

  2. 点控制评估: 我们使用FashionAI检测器在服装图像和人物图像上检测landmark的距离。然后,我们使用成对的landmark作为控制点来生成试衣图像。接下来,我们再次使用相同的检测器在新生成的图像上定位landmark。通过计算他们之间的欧氏距离来评价控制能力。理想情况下,如果生成过程能很好地由点控制,那么landmark距离应该较小。

与现有方法比较:

  • 标准虚拟试衣: 我们在表4中报告了VITON-HD和Dresscode数据集的定性结果。我们的模型在FID和KID上取得了最好的结果,在SSIM和LPIPS上取得了有竞争力的性能。考虑到量化结果不能完全反映真实生成质量。我们在图6中与之前的最先进的解决方案进行了定性比较。与其他作品相比,Wear-Any-Way在生成质量和细节保持方面具有明显的优势。
    在这里插入图片描述

可控生成: 通过与基于拖动的图像编辑方法(如DragDiffusion和DragonDiffusion)进行对比,我们证明了该模型的可控性。DragDiffusion不能准确地遵循drag的指令,而DragonDiffusion通常会破坏人体和服装的结构。
在这里插入图片描述
定性分析
实验表明,Wear-Any-Way支持对各种类型的服装(包括外套、t恤、裤子、卫衣等)的操纵。此外,用户可以指定任意数量的控制点,以得到定制的生成结果。在精确的点控辅助下,Wear-Any-Way可以对外套进行“连续”编辑,逐步拆分外套。穿着的高度可控性使它能够实现许多奇妙的穿着风格,如卷起袖子或油漆,以及不同类型的褶。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

2024年国内彩妆行业市场数据分析:增长机会在哪?

从伊蒂之屋、菲诗小铺等平价韩妆的退出,到全球第一眉妆贝玲妃的落幕,曾经的“网红”-“全网断货选手”纷纷退出中国市场。 有人认为是国内彩妆市场不景气?事实上,国内彩妆市场线上市场规模仍在持续扩大。根据鲸参谋数据统计&…

短视频矩阵系统源头技术开发--每一次技术迭代

短视频矩阵系统源头开发3年的我们,肯定是需求不断的迭代更新的,目前我们已经迭代了3年之久,写技术文章已经写了短视频矩阵系统,写了3年了,开发了3年了 短视频矩阵获客系统是一种基于短视频平台的获客游戏。短视频矩阵系…

提升质量透明度,动力电池企业的数据驱动生产实践 | 数据要素 × 工业制造

系列导读 如《“数据要素”三年行动计划(2024—2026年)》指出,工业制造是“数据要素”的关键领域之一。如何发挥海量数据资源、丰富应用场景等多重优势,以数据流引领技术流、资金流、人才流、物资流,对于制造企业而言…

ctfshow-web入门-反序列化

web254 先看题 <?php/* # -*- coding: utf-8 -*- # Author: h1xa # Date: 2020-12-02 17:44:47 # Last Modified by: h1xa # Last Modified time: 2020-12-02 19:29:02 # email: h1xactfer.com # link: https://ctfer.com*/error_reporting(0); highlight_file(__FIL…

抖音视频关键词批量采集工具|视频无水印爬虫下载软件

抖音视频关键词批量采集工具&#xff1a; 最新推出的抖音视频关键词批量采集工具&#xff0c;为您提供一种便捷的方式通过关键词搜索和提取符合条件的视频内容。以下是详细的操作说明和功能解析&#xff1a; 操作说明&#xff1a; 进入软件后&#xff0c;在第一个选项卡页面…

Vue 3 + TypeScript + Vite的现代前端项目框架

随着前端开发技术的飞速发展&#xff0c;Vue 3、TypeScript 和 Vite 构成了现代前端开发的强大组合。这篇博客将指导你如何从零开始搭建一个使用Vue 3、TypeScript以及Vite的前端项目&#xff0c;帮助你快速启动一个性能卓越且类型安全的现代化Web应用。 Vue 3 是一款渐进式Jav…

立体统计图表绘制方法(分离式环图)

立体统计图表绘制方法&#xff08;分离式环形图&#xff09; 记得我学统计学的时候&#xff0c;那些统计图表大都是平面的框框图&#xff0c;很呆板&#xff0c;就只是表现出统计的意义就好了。在网络科技发展进步的当下&#xff0c;原来一些传统的统计图表都有了进一步的创新。…

Macbook pro M3 Max 128G使用体验

好久没写文章了&#xff0c;今天来谈谈M3 Max的使用感受。 Stable Diffusion: 使用ComfyUI来完成绘图任务&#xff0c;使用ByteDance/SDXL-Lightning模型微调版本 参数设置&#xff1a; 运行日志&#xff1a; [2024-03-24 17:11] 100%|███████████████████…

密码学之哈希碰撞和生日悖论

哈希碰撞 哈希碰撞是指找到两个不一样的值&#xff0c;它们的哈希值却相同 假设哈希函数的取值空间大小为k &#xff0c;计算次数为n 先算每个值不一样的概率P’ 所以至少两个值相同(即存在哈希碰撞)的概率P为 生日悖论 假设班里有50个人&#xff0c;求班里至少两个人相同…

安装IK分词器 + 扩展词典配置 + 停用词典配置

安装IK分词器 1.在线安装ik插件&#xff08;较慢&#xff09; # 进入容器内部 docker exec -it elasticsearch /bin/bash ​ # 在线下载并安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elastics…

ELFBoard编译内核及添加LED驱动

整体编译 config文件 cp arch/arm/configs/imx_v7_mfg_defconfig arch/arm/configs/imx6ull_elf1_defconfig设备树文件 cp arch/arm/boot/dts/imx6ull-14x14-evk.dts arch/arm/boot/dts/imx6ull-elf1-emmc.dts编译脚本 #!/bin/bash export CPUSgrep -c processor /proc/cpu…

Unity类银河恶魔城学习记录11-4,5 p107 Stash for materials源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili ItemData_Equipment.cs using System.Collections; using System.Collecti…

PyQT5学习--新建窗体模板

目录 1 Dialog 2 Main Window 3 Widget Dialog 模板&#xff0c;基于 QDialog 类的窗体&#xff0c;具有一般对话框的特性&#xff0c;如可以模态显示、具有返回值等。 Main Window 模板&#xff0c;基于 QMainWindow 类的窗体&#xff0c;具有主窗口的特性&#xff0c;窗口…

tauri应用实现一键快速更新版本

tauri应用实现一键快速更新版本 创建一个项目 pnpm create tauri-app根据配置选择就可以 pnpm tauri dev启动项目 ##更新配置 打包配置在src-tauri/tauri.conf.json 修改打包命令 "bundle": {"active": true,"targets": "all",&qu…

谷粒商城——Redisson看门狗

可重入锁&#xff1a; 看门狗机制&#xff1a;(lock.lock()不设置过期时间就会自动触发 看门狗机制) 如果一个线程已经上锁后&#xff0c;在运行的过程中中断导致未释放锁从而导致其他线程无法进行&#xff0c;为此需要为每个锁设置自动过期时间。但是如果线程运行时间较长&am…

Learn OpenGL 25 法线贴图

为什么要引入法线贴图 我们的场景中已经充满了多边形物体&#xff0c;其中每个都可能由成百上千平坦的三角形组成。我们以向三角形上附加纹理的方式来增加额外细节&#xff0c;提升真实感&#xff0c;隐藏多边形几何体是由无数三角形组成的事实。纹理确有助益&#xff0c;然而…

Linux进程地址空间详解

文章目录 前言一、程序地址空间二、感受虚拟地址的存在三、进程地址空间四、程序从磁盘加载到内存的过程4.1 物理地址和虚拟地址的区别 五、写时拷贝5.1 解释fork()函数有两个返回值 前言 我们在学习C/C的时候用到的地址是什么地址呢&#xff1f;虚拟地址&#xff1f;物理地址&…

Java基础【上】韩顺平(反射、类加载、final接口、抽象类、内部类)

涵盖知识点&#xff1a;反射、类加载、单例模式、final、抽象类、接口、内部类&#xff08;局部内部类、匿名内部类、成员内部类、静态内部类&#xff09; P711 反射机制原理 创建如下目录结构&#xff0c;在模块下创建src文件夹&#xff0c;文件夹要设置为Sources文件夹&…

红桃写作方便吗 #学习方法#微信#微信

红桃写作是一个非常好用的论文写作工具&#xff0c;它不仅方便快捷&#xff0c;而且非常靠谱&#xff0c;能够帮助用户轻松完成论文写作任务。不论是学生还是专业人士&#xff0c;都可以通过红桃写作轻松地完成论文的写作工作&#xff0c;大大提高工作效率。 首先&#xff0c;红…

【docker常用命令】

1. 什么是docker Docker 是一种开源的容器化平台&#xff0c;用于开发、交付和运行应用程序。它允许开发人员将应用程序及其依赖项&#xff08;如库、环境变量、配置文件等&#xff09;打包到一个被称为容器的标准化单元中。这个容器包含了一切应用程序需要运行的所有内容&…