OOTDiffusion介绍
我们所采用的工具是OOTDiffusion,Demo体验地址:huggingface.co/spaces/levi...
OOTDiffusion 是一款基于 AI 的虚拟服装试穿工具,其主要功能包括:
✅ 服装迁移(Garment Transfer):将一件服装从商品图或平铺图转移到人物身上,支持上半身,下半身,以及全身进行换装
✅ 姿势自适应(Pose Adaptation):自动调整服装以适应不同人体姿势
✅ 细节保留(Detail Preservation):保持服装的纹理、褶皱、图案等细节
✅ 高分辨率生成(HD Output):支持生成高清(如1024×768或更高)的试衣效果
技术特点:
-
基于扩散模型(Diffusion Model):OOTDiffusion 采用扩散模型进行逐步去噪生成,能更好地处理:
- 复杂服装纹理(如格子、印花)
- 人体姿势变化(如举手、转身)
- 遮挡情况(如长发遮挡衣服)
-
双分支条件控制(Dual Conditioning)
- 人体编码器(Human Encoder):提取人体姿势、体型、肤色等特征
- 服装编码器(Garment Encoder):提取服装的纹理、形状、颜色特征
- 条件融合模块:通过Cross-Attention或SPADE结构融合两种特征
-
掩码引导生成(Mask Guidance)
- 使用人体解析(Human Parsing)或服装分割(Garment Mask)精确控制服装生成区域
- 避免背景或皮肤区域被错误修改
- 渐进式细化(Progressive Refinement):在推理阶段,采用多步去噪(通常50~100步)逐步优化细节,提升生成质量。
使用场景
典型应用场景
🛒 电商虚拟试衣:让用户在线"试穿"服装,提升购物体验
👗 时尚设计:快速可视化设计稿的穿着效果
📱 社交娱乐:用于AR试衣、虚拟换装App
🎮 游戏/元宇宙:为虚拟角色生成个性化服装
安装流程
说在前头:Gpu显存至少24g。
- clone代码
bash
git clone https://github.com/levihsu/OOTDiffusion
- 修改代码,默认使用1个gpu卡,编辑run/gradio_ootd.py文件
scss
# 原始代码如下:
# openpose_model_dc = OpenPose(1)
# parsing_model_dc = Parsing(1)
# ootd_model_dc = OOTDiffusionDC(1)
# 修改后如下:把1 改成 0
openpose_model_dc = OpenPose(0)
parsing_model_dc = Parsing(0)
ootd_model_dc = OOTDiffusionDC(0)
- 修改依赖requirements.txt文件
ini
numpy==1.24.4
scipy==1.10.1
scikit-image==0.21.0
opencv-python==4.7.0.72
pillow==9.4.0
diffusers==0.24.0
transformers==4.36.2
accelerate==0.26.1
matplotlib==3.7.4
tqdm==4.64.1
gradio==4.16.0
config==0.5.1
einops==0.7.0
onnxruntime==1.16.2
## fastapi和huggingface_hub是我新增的,需要降低版本,否则运行不了
fastapi==0.111.0
huggingface_hub==0.19.4 ##
- 基于Conda安装依赖
perl
conda create -n ootd python==3.10
conda activate ootd
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install -r .\requirements.txt -i https://mirrors.aliyun.com/pypi/simple
- 安装model
需要安装的模型有:
- ootd
- humanparser
- openpose
- clip-vit-large-patch14
需要把这四个模型添加到checkpoints目录下:

在线下载地址:
- huggingface.co/levihsu/OOT...:下载ootd,humanparser,openpose
- huggingface.co/openai/clip...:下载clip-vit-large-patch14
统一的下载地址:
链接: pan.baidu.com/s/11pywDv2z... 提取码: q1d3
- 启动项目
arduino
cd run
python gradio_ootd.py
使用手册
浏览器上直接访问http://localhost:7865
打开项目构建的项目模型Demo地址。

你可以看到半身模型会有14种模特和14种服装款式Demo可进行使用;全身模型会有更多的搭配选项,有上身与下身搭配的服装,也有连衣裙等连体服装,对应选择合适的模特模型即可。

当然也可以自定义上传自己的照片和电商服装(需要抠图后的)


选择或上传好模特照片和服装后,点击Run即可开始生成虚拟服装试穿效果。

注意事项
- 模型暂时不能换鞋,训练数据集没有包含鞋子或者其他衣服,搭配的。
- 需要抠图,背景要简单,尽量是白底。
- 目前代码里暂时只能处理3:4比例的图片。