AI换装-OOTDiffusion使用教程

116 阅读3分钟

OOTDiffusion介绍

我们所采用的工具是OOTDiffusion,Demo体验地址:huggingface.co/spaces/levi…

OOTDiffusion 是一款基于 AI 的虚拟服装试穿工具,其主要功能包括:
✅ 服装迁移(Garment Transfer):将一件服装从商品图或平铺图转移到人物身上,支持上半身,下半身,以及全身进行换装
✅ 姿势自适应(Pose Adaptation):自动调整服装以适应不同人体姿势
✅ 细节保留(Detail Preservation):保持服装的纹理、褶皱、图案等细节
✅ 高分辨率生成(HD Output):支持生成高清(如1024×768或更高)的试衣效果

技术特点:

  • 基于扩散模型(Diffusion Model):OOTDiffusion 采用扩散模型进行逐步去噪生成,能更好地处理:

    1. 复杂服装纹理(如格子、印花)
    2. 人体姿势变化(如举手、转身)
    3. 遮挡情况(如长发遮挡衣服)
  • 双分支条件控制(Dual Conditioning)

    1. 人体编码器(Human Encoder):提取人体姿势、体型、肤色等特征
    2. 服装编码器(Garment Encoder):提取服装的纹理、形状、颜色特征
    3. 条件融合模块:通过Cross-Attention或SPADE结构融合两种特征
  • 掩码引导生成(Mask Guidance)

    1. 使用人体解析(Human Parsing)或服装分割(Garment Mask)精确控制服装生成区域
    2. 避免背景或皮肤区域被错误修改
  1. 渐进式细化(Progressive Refinement):在推理阶段,采用多步去噪(通常50~100步)逐步优化细节,提升生成质量。

使用场景

典型应用场景

🛒 电商虚拟试衣:让用户在线"试穿"服装,提升购物体验

👗 时尚设计:快速可视化设计稿的穿着效果

📱 社交娱乐:用于AR试衣、虚拟换装App

🎮 游戏/元宇宙:为虚拟角色生成个性化服装

安装流程

说在前头:Gpu显存至少24g。

  1. clone代码
git clone https://github.com/levihsu/OOTDiffusion

2. 修改代码,默认使用1个gpu卡,编辑run/gradio_ootd.py文件

# 原始代码如下:
# 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)

3. 修改依赖requirements.txt文件

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  ## 

4. 基于Conda安装依赖

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

5. 安装model

需要安装的模型有:

  1. ootd
  2. humanparser
  3. openpose
  4. clip-vit-large-patch14

需要把这四个模型添加到checkpoints目录下:

在线下载地址:

统一的下载地址:

链接: pan.baidu.com/s/11pywDv2z… 提取码: q1d3

  1. 启动项目
cd run
python gradio_ootd.py

使用手册

浏览器上直接访问http://localhost:7865

打开项目构建的项目模型Demo地址。

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

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

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

注意事项

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