AI虚拟试穿又进化了:这个开源项目太猛了,无需抠图就能直接换装

0 阅读7分钟

最近我试了一个很有意思的开源项目,叫 ​FASHN VTON v1.5​。

体验完之后,我的第一感觉就是:

这东西,真的很适合做 AI 换装、虚拟试衣、电商服装展示。先看效果

参考图 BFA57E271FD67CD560BCD435316D7CF1 2.png

生成结果

FCA6D0E41467A058BBF48FD7D86839F1.png

官方示例:

WechatIMG71 (2) (1).jpg

因为它和很多传统虚拟试穿方案不太一样。 很多方案上来就要做人像分割、服装抠图、区域掩模、各种前处理,光是部署就能把人劝退。

FASHN VTON v1.5 走的是另一条路:

不需要分割掩模,直接就在像素空间里生成逼真的试穿结果。

你只需要准备两张图:

  • 一张人物图
  • 一张服装图

模型就能直接生成这个人物“穿上这件衣服之后”的效果图。

而且最关键的是,它不仅支持​服装平铺图​,还支持​服装穿在人身上的参考图​。 这点就很实用了,因为很多时候你手里拿到的素材,并不是标准的白底商品图,而是模特展示图。


1、不用分割掩模,省掉很多麻烦

这绝对是它最吸引我的一点。

以前很多虚拟试穿项目,流程往往是这样的:

先做人像解析,再做衣服区域分割,再生成掩模,再去做试穿合成。

听起来就很麻烦。

FASHN VTON v1.5 的思路更直接:

不依赖额外的分割掩模,直接生成结果。

这意味着什么?

意味着你在实际使用时,省掉了很多前处理环节。 对普通用户来说更简单,对开发者来说也更容易接进自己的工作流里。


2、支持两种服装输入,实用性很强

这个模型支持两类服装图:

  • model​:衣服穿在人身上的图
  • flat-lay​:衣服平铺图

这个设计真的很贴近现实。

因为实际做内容、做商品展示、做换装参考时,你经常会遇到两种素材混着来:

有时候是单独衣服图, 有时候是模特上身图。

它都能处理,这就比很多“只认标准商品图”的模型灵活多了。


3、本地就能跑,适合自己搭环境

官方仓库提供的是最小推理代码,模型权重大概 2GB 左右。

也就是说,如果你本身会一点 Python,或者平时就有本地 AI 环境,想自己部署跑一下,这个项目上手并不算特别难。

对喜欢折腾本地模型的人来说,这种项目就很舒服:

不用全程依赖在线服务,自己就能验证效果。


4、特别适合做 AI 内容和商业场景

我觉得这个项目非常适合这几类人:

  • 做 AI 换装内容的创作者
  • 做服饰电商的卖家
  • 想做试穿功能的开发者
  • 喜欢研究本地 AI 工作流的人

尤其是电商场景,真的很有想象空间。

比如:

  • 商品上身预览
  • 模特图换款
  • 不同服装搭配演示
  • 社媒营销图生成
  • 服装展示图优化

你会发现,这不是单纯“好玩”,而是已经有一点“能拿来干活”的味道了。


本地部署其实不复杂

如果你想自己动手跑一下,下面是最基础的部署方式。

第一步:克隆仓库

git clone https://github.com/fashn-AI/fashn-vton-1.5.git
cd fashn-vton-1.5

第二步:创建虚拟环境并安装依赖

Linux / macOS:

python -m venv .venv && source .venv/bin/activate
pip install -e .

如果你是 Windows:

python -m venv .venv
.venv\Scripts\activate
pip install -e .

第三步:下载模型权重

python scripts/download_weights.py --weights-dir ./weights

模型权重总计大约 ​2GB​,下载完成之后就可以开始推理了。


最小推理代码,几行就能跑起来

你可以新建一个 main.py 文件,写入下面的内容:

from fashn_vton import TryOnPipeline
from PIL import Image

# Initialize pipeline (automatically uses GPU if available)
pipeline = TryOnPipeline(weights_dir="./weights")

# Load images
person = Image.open("examples/data/model.webp").convert("RGB")
garment = Image.open("examples/data/garment.webp").convert("RGB")

# Run inference
result = pipeline(
person_image=person,
garment_image=garment,
category="tops", # "tops" | "bottoms" | "one-pieces"
)

# Save output
result.images[0].save("output.png")

然后直接运行:

python main.py

整个逻辑非常清晰:

  • 加载模型
  • 读取人物图
  • 读取服装图
  • 选择服装类别
  • 执行推理
  • 输出结果图

如果你只是想先快速试一下,这个方式已经够用了。


不想写代码,也可以直接命令行推理

如果你懒得自己写 main.py,也可以直接用官方示例命令:

python examples/basic_inference.py \
--weights-dir ./weights \
--person-image examples/data/model.webp \
--garment-image examples/data/garment.webp \
--category tops

这种方式特别适合:

  • 测试环境有没有装好
  • 快速验证模型能不能跑
  • 后面做批处理脚本

category 参数怎么选?这个别选错

A88126E2C91F2FDD350C29D9AEE32126.png

推理的时候有一个非常关键的参数:category

可选项一共有 3 个:

category说明
tops上身服装:T 恤、衬衫、外套
bottoms下半身服装:裤子、裙子、短裤
one-pieces全身服装:连衣裙、连体裤

这个参数一定要按真实服装类型来选。

举个例子:

如果你拿的是外套、衬衫、短袖,那就选 tops。 如果你拿的是裤子、短裤、裙子,那就选 bottoms。 如果你拿的是连衣裙、连体裤这种整体服装,那就选 one-pieces

这个地方选对了,生成结果通常会更稳定。


这个项目最适合怎么用?

如果你以前没接触过虚拟试穿,可以把它理解成这样: 2D7894B393D294F48114BA1D43CD2A84.png

左边放人物,右边放衣服,模型负责把衣服穿到人身上。

就这么简单。

而且右边这张参考图还不止一种玩法。

情况 1:右边是单独衣服图

这种就属于 ​flat-lay​。

也就是只有服装本身,没有人穿着它。

情况 2:右边是模特穿着图

这种就属于 ​model​。

也就是你拿一张别人已经穿着这件衣服的图,作为换装参考。

这个灵活度就很高了。

很多时候,你甚至可以直接拿一张电商模特图来做服装参考,这在实际内容创作里很有用。


不想折腾环境?我已经做了一键整合包

如果你看到这里,觉得项目挺强,但又不想自己装环境、配依赖、下载权重,那我也给你准备好了更省事的方案:

我已经做了一键整合包,解压即可使用。


这个整合包能做什么?

我把常用功能都整理进去了,开箱就能玩。 F715EFF0914AC2E0BEA926E37C1E88B4.png 851A5AC5C3FFEA61DAAC17A527EA9942.png

已经实现的功能包括:

  • 解压即可运行
  • 带完整示例
  • 支持一次连续生成 1~10 张图片
  • 可自定义 Seed 随机种子
  • 操作逻辑清晰,新手也能快速上手

这个就很适合不想折腾 Python 环境的人。


整合包具体怎么用?

其实非常简单。

左边:上传你要换装的人物图

也就是目标人物。

右边:上传参考服装图

这里你需要判断右边这张图属于哪一种:

如果右边只有服装,没有人穿着

那就选:

flat-lay

如果右边是服装穿在人身上的图

那就选:

model

这个选项一定要对应清楚,不然效果会受影响。


Category 也已经写得很明白

整合包里你只需要按服装类型选择:

  • tops:上身,T 恤、衬衫、外套
  • bottoms:下半身,裤子、裙子、短裤
  • one-pieces:全身装,连衣裙、连体裤

基本上看文字就能懂,不用再去翻说明。


还可以连续抽图,挺适合“抽卡式”测试

这个我觉得很实用。

你可以自己设置:

  • seed 随机种子
  • 连续生成张数

支持范围是:

1~10 张​

也就是说,你可以一次性多出几张图,自己挑最满意的效果。 对于 AI 图像类工具来说,这种“连续抽图”体验真的很重要。


如果你也想体验这套虚拟试穿模型,但不想自己折腾部署环境、下载权重、处理依赖问题,

我这边已经整理好一键整合包。

获取方式:

wx公众号 InnoTechX 回复关键词:fashn