一键换衣,这个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.rhkb.cn/news/373747.html

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

相关文章

系统分析师-基础知识

基础知识 一、计算机组成与结构1、计算机系统基础知识1.1 计算机硬件组成1.2 中央处理单元&#xff08;CPU&#xff09;1.3 数据表示1.3.1 R进制转十进制&#xff1a;1.3.2 十进制转R进制&#xff1a; 1.4 校验码&#xff08;3种校验码&#xff09;1.4.1 基本知识1.4.2 奇偶校验…

2024-07抖音/快手/小红书/视频号/美团无人直播技术:最新不封号无人直播的操作方法详细介绍

2024年最新研究出来的无人直播技术&#xff0c;目前不封号&#xff0c;用途大大的&#xff0c;可带货&#xff0c;可引流&#xff0c;可获客。 手机自动直播源码通常涉及到实时流媒体技术和应用开发&#xff0c;它涉及以下几个关键部分&#xff1a; 摄像头接入&#xff1a;使用…

vue3 学习笔记01 -- 搭建项目及基础配置

vue3 学习笔记01 – 搭建项目及基础配置 确保你已经安装了Node.js&#xff08;建议使用最新的LTS版本&#xff09; 搭建项目 初始化项目 如果选择npm创建项目再执行 npm create vitelatest my-vue3-app --template vue-ts使用yarn&#xff0c;如果电脑没有安装yarn cnpm i ya…

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

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

无线麦克风哪个牌子的好,麦克风哪个品牌音质最好,热门款式推荐

​在当今这个数字化迅速发展的时代&#xff0c;无线领夹麦克风已经成为自媒体创作者、直播主播以及专业录音师不可或缺的工具。它们以其小巧便携、易于操作和出色的录音质量&#xff0c;极大地提升了音频录制的效率和质量。无论是户外探险的Vlog拍摄&#xff0c;还是室内直播的…

基于Android平台开发,天气预报APP

1.项目功能思维导图 2. 项目涉及到的技术点 数据来源&#xff1a;和风天气API使用okhttp网络请求框架获取api数据使用gson库解析json数据使用RecyclerViewadapter实现未来7天列表展示和天气指数使用PopupMenu 实现弹出选项框使用动画定时器实现欢迎页倒计时和logo动画使用Text…

解决IDEA每次新建项目都需要重新配置maven的问题

每次打开IDEA都要重新配置maven&#xff0c;这是因为在DEA中分为项目设置和全局设置&#xff0c;这个时候我们就需要去到全局中设置maven了。我用的是IntelliJ IDEA 2023.3.4 (Ultimate Edition)&#xff0c;以此为例。 第一步&#xff1a;打开一个空的IDEA&#xff0c;选择左…

传知代码-多行人姿态检测系统

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 本项目创新在于采用多级网络串联工作来进行目标的行为分析&#xff0c;并使用在视频监控领域&#xff0c;可部署在任何有需要的人员流动密集场所(如医院&#xff0c;机场&#xff0c;养老院等)或者用于空巢…

springboot三层架构详细讲解

目录 springBoot三层架构0.简介1.各层架构1.1 Controller层1.2 Service层1.3 ServiceImpl1.4 Mapper1.5 Entity1.6 Mapper.xml 2.各层之间的联系2.1 Controller 与 Service2.2 Service 与 ServiceImpl2.3 Service 与 Mapper2.4 Mapper 与 Mapper.xml2.5 Service 与 Entity2.6 C…

Java语言程序设计——篇三(1)

选择结构 概述选择单分支if语句例题讲解 双分支if-else语句例题讲解 条件运算符多分支的if-else语句例题讲解 嵌套的if语句例题讲解 switch语句结构例题讲解代码演示运行结果 概述 Java中的控制结构&#xff0c;包括&#xff1a; 1、选择结构( if、if-else、switch ) 2、循环结…

最佳 iPhone 解锁软件工具,可免费下载用于电脑操作的

业内专业人士表示&#xff0c;如果您拥有 iPhone&#xff0c;您一定知道忘记锁屏密码会多么令人沮丧。由于 Apple 的安全功能强大&#xff0c;几乎不可能在没有密码或 Apple ID 的情况下访问锁定的 iPhone。 “当我忘记密码时&#xff0c;如何在没有密码的情况下解锁iPhone&am…

Docker 部署 ShardingSphere-Proxy 数据库中间件

文章目录 Github官网文档ShardingSphere-Proxymysql-connector-java 驱动下载conf 配置global.yamldatabase-sharding.yamldockerdocker-compose.yml Apache ShardingSphere 是一款分布式的数据库生态系统&#xff0c; 可以将任意数据库转换为分布式数据库&#xff0c;并通过数…

Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)

条形码和二维码是现代信息交换和数据存储的重要工具&#xff0c;它们将信息以图形的形式编码&#xff0c;便于机器识别和数据处理&#xff0c;被广泛应用于物流、零售、医疗、教育等各领域。 本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13&#xff0c;…

20240711 每日AI必读资讯

&#x1f3a8;Runway Gen-3 Alpha 详细使用教程以及提示词指南大全 - 7月9日&#xff0c;著名生成式AI平台Runway在官网公布了&#xff0c;最新发布的文生视频模型Gen-3 Alpha的文本提示教程。 - 从技术层面来说&#xff0c;输入的文本提示会被转换成“向量”&#xff0c;这些…

滑动变阻器在实际应用中需要注意哪些安全事项?

滑动变阻器在实际应用中&#xff0c;为了确保其正常运作及保护电路安全&#xff0c;需要注意以下安全事项&#xff1a; 一、了解并遵守规格参数 最大电阻值和允许通过的最大电流值&#xff1a;使用前&#xff0c;必须清楚滑动变阻器的最大电阻值和允许通过的最大电流值&#x…

基于SAM的零样本相似性评价方法

文章目录 介绍方法SAM编码器相似性指标代码复现介绍 图像转换具有广泛的应用,如风格转换和模态转换,通常是生成具有高度真实和忠实的图像。这些问题仍然很困难,特别是在保存语义结构很重要的时候。传统的图像级相似性度量的用途有限,因为图像的语义是高级的,并且不受对原…

什么样的开放式耳机好用舒服?南卡、倍思、Oladance高人气质量绝佳产品力荐!

​开放式耳机在如今社会中已经迅速成为大家购买耳机的新趋势&#xff0c;深受喜欢听歌和热爱运动的人群欢迎。当大家谈到佩戴的稳固性时&#xff0c;开放式耳机都会收到一致好评。对于热爱运动的人士而言&#xff0c;高品质的开放式耳机无疑是理想之选。特别是在近年来的一些骑…

jitsi 使用JWT验证用户身份

前言 Jitsi Meet是一个很棒的会议系统,但是默认他运行所有人创建会议,这样在某种程度上,我们会觉得他不安全,下面我们就来介绍下使用JWT来验证用户身份 方案 卸载旧的lua依赖性sudo apt-get purge lua5.1 liblua5.1-0 liblua5.1-dev luarocks添加ubuntu的依赖源,有则不需…

内容协商源码解析与自定义 MessageConverter

目录 内容协商 1、引入xml依赖 2、postman分别测试返回json和xml 3、开启浏览器参数方式内容协商功能 4、内容协商原理 5、自定义 MessageConverter 综上 内容协商 根据客户端接收能力不同&#xff0c;返回不同媒体类型的数据。 若客户端无法解析服务端返回的内容&#…

Vatee万腾平台:创新科技,驱动未来

在科技日新月异的今天&#xff0c;每一个创新的火花都可能成为推动社会进步的重要力量。Vatee万腾平台&#xff0c;作为科技创新领域的佼佼者&#xff0c;正以其卓越的技术实力、前瞻性的战略眼光和不懈的探索精神&#xff0c;驱动着未来的车轮滚滚向前。 Vatee万腾平台深知&am…