分享两个虚拟试衣工具,一个在线,一个离线,还有ComfyUI插件

SAM ,对不住了!

ecd8196291af4d71bdb0a18ee23a279b.png

 

我没记错的话,OpenAI CEO,性别男,取向男,配偶男。

这又让我联想到了苹果CEO库克...

所以OpenAI和Apple可以一啪即合。        

钢铁直男老马就和他们都不对付~~

开个玩笑,聊回正题!

我之前分享过一个叫IDM-VTON的虚拟试衣软件,效果挺不错,后来又出了一个叫Kolors的,看起来也是不错。最近使用了一下IDM-VTON的升级版,所以就放在一起发一下。

下面就先介绍一下Kolors,然后给大家一个IDM-VTON的升级包,还有一个ComfyUI的插件,全套了。

45ec6689d4d3485996c9da71d24f2d38.png

 

Kolors Virtual Try-On 是快手可灵发布的一个网页Demo,托管在HuggingFace上面。

只要上传一个模特的照片,上传一件衣服的照片,点一下RUN,几秒钟内就可以实现换装。

487724a2b31b476c8abcbd6cadbab505.png

 

Demo里面内置了一些AI生成的模特素材,可以通过点击预设素材,快速体验。

从实际操作来看,可以换衣服,也可以换套装,但是下半身不是100%能换,比如开头的奥特曼,就只换了一半。这套衣服基本就没成功的...哈哈~

eb1db670a5634f9f9acaf26cdacd195d.pngKolors可以保持服装的整体风格,但是细节上会有一些变化。另外换上衣的时候,会自动给你匹配裤子。7f6e40d5fe3149639e2a5402a206ef36.png  

另外它也可以处理不同比例的模特照片,比如竖屏横屏都可以。

我大致看了一下源代码,这应该并不算完全的开源软件。代码里是通过调用API来生成图片的,HuggingFace上显示运行在CPU上,也印证了这一点。目前只要能打开网页就能使用,用起来挺方便,效果也挺不错。

说完Kolors,再说说IDM-VTON。

这是第一个效果惊艳的虚拟试衣项目,而且是全部开源。

IDM-VTON(Image-Based Virtual Try-On Network)是一种基于深度学习的图像虚拟试衣系统,其运作方式主要依靠对衣物和人体图像进行融合,从而实现虚拟试衣效果。IDM-VTON 采用的是 2D 图像处理技术,专注于将用户上传的正面照与衣物图片合成在一起,给用户一个视觉上的衣物穿戴效果。 

这个项目发布已经有一段时间了,项目刚出的时候,我做过一个软件包。但是当时的版本只能换上衣。最近我回过头去看,发现很早就支持裤子和套装了。

但是,网上搜了一圈,要下载到更新版还是有点麻烦。所以,自己动手丰衣足食。

官方项目应该本身就支持全套换装,但是给出来的代码和网页都只支持换上衣。后来发现有一个叫IDMVTON_CN的项目做的不错,就基于这个项目做了一个软件包。

下面就简单说一下,软件包的实用方法。

首先是下载软件包。这个软件包大概20G左右(猜猜我配置,打包,上传花了多久)。

下载解压打开文件夹,然后找到启动2.exe1783ce975beb4361bbac57055f3a8a5d.png

 

首次启动,会有两个选项。根据你的硬件配置来选择就好了。最低应该能支持到6G显存。启动之后会自动调用浏览器,打开本地网页。然后只要按下面的步骤设置运行即可。cbd11c157c324ae4b34c04dcc8b94c5b.png

 

①选择模特

②选择服装

③点击启动

④⑤是运行结果。

如果替换的服装和原来的服装匹配度比较高的情况下,换装效果一般都相当出色,完全达到了可用的程度。

如果故意把不同性别,不同款式的服装混合在一起替换,就会出现下面的情况。7ec372ddd82b47c9a098494473e47f1e.png

 

身材还不错,这肤色,也很“正确”。当然这个例子也说明了,这个版本可以替换全套。只要在成衣类型里面做一个选择就可以了。目前有三个选项,分别是:upper_body 上身

lower_body  下身

dresses 全身

这么说应该很好理解吧。从实际测试来说,下半身表现不如上半身好。

可能和训练素材有一定的关系。另外这个项目限制了模特图片的比例,可能也和素材有关,我也没有深入研究。

另外还有一点,这个项目可以自己画遮罩。

 23f1695adbeb4efab64806e6fc3b16b7.png

 

只要点击画笔,涂抹想要替换的区域就可以了。

手动遮罩,可以解决自动遮罩不准确的问题。当手动画遮罩之后,记得把自动上蒙版(遮罩)的勾选去掉。

拔出萝卜带出泥,无意中有发现一个ComfyUI的IDM插件(节点),也挺不错。

ComfyUI这种复杂又简洁的设计,确实太迷人了,看到了我就想搞一搞,花了不少时间安装了,三个插件,终于跑起来了。

e732ca3f27bd4a96ab57ee9b9b62e10c.png工作流制作完成之后,用起来就非常丝滑了。S·A·M自动切割实在是太精准了,牛。不过有时候反而成为一个缺点了,比如在换装这个场景,切割完成后,外扩一点的的遮罩会更好一点。

 

为了把这流程跑起来,需要安装三个插件:ComfyUI-IDM-VTON (换装)

ComfyUI Segment Anything (分割)

ComfyUI's ControlNet Auxiliary Preprocessors.(姿态)

限于篇幅,就不具体讲如何安装了。这个工作流,我分享在网盘里,有需要的自取。ComfyUI的基本用法可以参考之前的文章。软件和工作流,可以评论或私信发送idm获取。

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

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

相关文章

C++:多态(协变,override,final,纯虚函数抽象类,原理)

目录 编译时多态 函数重载 模板 运行时多态 多态的实现 实现多态的条件 协变 析构函数的重写 override 关键字 final 关键字 重载、重写、隐藏对比 纯虚函数和抽象类 多态的原理 多态是什么? 多态就是有多种形态 多态有两种,分别是编译时…

Linux驱动开发 ——架构体系

只读存储器(ROM) 1.作用 这是一种非易失性存储器,用于永久存储数据和程序。与随机存取存储器(RAM)不同,ROM中的数据在断电后不会丢失,通常用于存储固件和系统启动程序。它的内容在制造时或通过…

Java基础面试题——异常

目录 关系图 1. Throwable和Exception之间的关系 2.异常分为哪两大类 3.常见的 RuntimeException 4. 常见的 Error 5.什么是已检查异常和未检查异常?它们的区别是什么? 6.Java 中如何自定义异常? 7.throw 和 throws 的区别是什么&…

GlusterFS 分布式文件系统

一、GlusterFS 概述 1.1 什么是GlusterFS GlusterFS 是一个开源的分布式文件系统,它可以将多个存储服务器结合在一起,创建一个大的存储池,供客户端使用。它不需要单独的元数据服务器,这样可以提高系统的性能和可靠性。由于没有…

视频转文字工具:开启视频内容深度挖掘的钥匙

图片里到文字要提取出来,现在有很多的工具,但是视频里的文字要提取出来,是不是就不那么好操作呢?并不是的,现在也有不少支持视频转文字的工具,这次我们就来介绍一些可以提高我们视频文字提取效率的工具吧。…

PostgreSQL(PG)(二十二)

🌻🌻 目录 🌻🌻 一、PostgreSQL 简介1.1、PG 的历史1.2、PG的社区1.2.1 纯社区1.2.2 完善的组织结构1.2.3 开源许可独特性 1.3 、PostgreSQL与MySQL的比较 二、PostgresQL的下载安装2.1、Windows上安装 PostgreSQL2.2、远程 连接 …

RK3568部署DOCKER启动服务器失败解决办法

按照上文的方法部署完DOCKER之后,启动服务异常,查阅网络相关资源,解决方案如下: 修改/源码/kernel/arch/arm64/configs/OK3568-C-linux_defconfig,在最后添加 CONFIG_MEMCGy CONFIG_VETHy CONFIG_BRIDGEy CONFIG_BRID…

GS-SLAM论文阅读笔记--TAMBRIDGE

前言 本文提出了一个自己的分类方法,传统的视觉SLAM通常使用以帧为中心的跟踪方法,但是3DGS作为一种高效的地图表达方法好像更侧重于地图的创建。这两种方法都有各自的优缺点,但是如果能取长补短,互相结合,那么就会是…

6.7泊松噪声

基础概念 在OpenCV联合C中给一张图片添加泊松噪声(Poisson Noise)可以通过生成随机数并在图像的每个像素上加上这些随机数来实现。泊松噪声是一种统计分布服从泊松分布的噪声,通常用于模拟光子计数等场景。 使用泊松噪声的场景 泊松噪声通…

【解决】chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标

chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标 今天打开电脑的时候,网页中任何文本的地方,只要鼠标点击,就会出现一个输入的光标,无论在哪个站点哪个页面都是如此。 我知道…

CQRS模型解析

简介 CQRS中文意思为命令于查询职责分离,我们可以将其了解成读写分离的思想。分为两个部分 业务侧和数据侧,业务侧主要执行的就是数据的写操作,而数据侧主要执行的就是数据的读操作。当然两侧的数据库可以是不同的。目前最为常用的CQRS思想方…

C++调用C# DLL之踩坑记录

C是非托管代码,C#则是托管代码,无法直接调用 CLR的介绍见CLR简介 MSDN提到了两种非托管-托管的交互技术:CLR Interop和COM Interop 后者要将C# 类库注册为COM组件,本文只探讨CLR,要通过C CLR写中间层代码 方式一&…

获取参数

获取querystring参数 querystring 指的是URL中 ? 后面携带的参数,例如:http://127.0.0.1:9090/web?query杨超越。 获取请求的querystring参数的方法如下: 方法1: Query package main// querystringimport ("github.com/…

引领长期投资新篇章:价值增长与财务安全的双重保障

随着全球金融市场的不断演变,长期投资策略因其稳健性和对价值增长的显著推动作用而日益受到投资者的重视。在这一背景下,Zeal Digital Shares(ZDS)项目以其创新的数字股票产品,为全球投资者提供了一个全新的长期投资平…

最优化理论与自动驾驶(十一):基于iLQR的自动驾驶轨迹跟踪算法(c++和python版本)

最优化理论与自动驾驶(四):iLQR原理、公式及代码演示 之前的章节我们介绍过,iLQR(迭代线性二次调节器)是一种用于求解非线性系统最优控制最优控制最优控制和规划问题的算法。本章节介绍采用iLQR算法对设定…

分析redis实现分布式锁的思路

文章目录 1、基于redis实现分布式锁:利用key的唯一性1.1、独占排他1.2、死锁问题1.2.1、redis客户端程序获取了锁之后,服务器立马宕机,就会导致死锁。1.2.2、不可重入:可重入 1.3、原子性:加锁和过期之间:s…

深入剖析Docker容器安全:挑战与应对策略

随着容器技术的广泛应用,Docker已成为现代应用开发和部署的核心工具。它通过轻量级虚拟化技术实现应用的隔离与封装,提高了资源利用率。然而,随着Docker的流行,其安全问题也成为关注焦点。容器化技术虽然提供了良好的资源隔离&…

4.C_数据结构_队列

概述 什么是队列: 队列是限定在两端进行插入操作和删除操作的线性表。具有先入先出(FIFO)的特点 相关名词: 队尾:写入数据的一段队头:读取数据的一段空队:队列中没有数据,队头指针 队尾指针满队&#…

FPGA与Matlab图像处理之直方图均衡化

文章目录 一、什么是直方图?二、什么是直方图均衡化?三、Matlab实现直方图均衡化的步骤第一步: 彩色图像转成灰度图像第二步:提取亮度通道的直方图第三步:累计亮度通道的像素值频率第四步: 映射到新的灰度值 四、Veri…

嵌入式 开发技巧和经验分享

文章目录 前言嵌入式 开发技巧和经验分享目录1.1嵌入式 系统的 定义1.2 嵌入式 操作系统的介绍1.3 嵌入式 开发环境1.4 编译工具链和优化1.5 嵌入式系统软件开发1.6 嵌入式SDK开发2.1选择移植的系统-FreeRtos2.2FreeRtos 移植步骤2.3 系统移植之中断处理2.4系统移植之内存管理2…