参考了GitHub开源项目https://github.com/yisol/IDM-VTON
train
|-- image
|-- image-densepose
|-- agnostic-mask
|-- cloth
|-- vitonhd_train_tagged.json
test
|-- image
|-- image-densepose
|-- agnostic-mask
|-- cloth
|-- vitonhd_test_tagged.json
下载 DressCode 数据集后,按如下方式放置 image-densepose 目录和字幕文本文件。
DressCode
|-- dresses
|-- images
|-- image-densepose
|-- dc_caption.txt
|-- ...
|-- lower_body
|-- images
|-- image-densepose
|-- dc_caption.txt
|-- ...
|-- upper_body
|-- images
|-- image-densepose
|-- dc_caption.txt
|-- ...
下载用于 sdxl 的预训练 IP 适配器(IP-Adapter/sdxl_models/ip-adapter-plus_sdxl_vit-h.bin)和图像编码器(IP-Adapter/models/image_encoder)。
git clone https://huggingface.co/h94/IP-Adapter
将 ip-adapter 移至 ckpt/ip_adapter,将 image encoder 移至 ckpt/image_encoder。
使用带参数的 python 文件开始训练,
accelerate launch train_xl.py \
--gradient_checkpointing --use_8bit_adam \
--output_dir=result --train_batch_size=6 \
--data_dir=DATA_DIR
使用带参数的 python 文件进行推理,
accelerate launch inference.py \
–width 768 –height 1024 –num_inference_steps 30 \
–output_dir “result” \
–unpaired \
–data_dir “DATA_DIR” \
–seed 42 \
–test_batch_size 2 \
–guidance_scale 2.0
对于 DressCode 数据集,通过 category 参数输入要生成图像的类别
accelerate launch inference_dc.py \
--width 768 --height 1024 --num_inference_steps 30 \
--output_dir "result" \
--unpaired \
--data_dir "DATA_DIR" \
--seed 42
--test_batch_size 2
--guidance_scale 2.0
--category "upper_body"
下载用于人工解析的检查点。
将检查点放在 ckpt 文件夹下。
ckpt
|-- densepose
|-- model_final_162be9.pkl
|-- humanparsing
|-- parsing_atr.onnx
|-- parsing_lip.onnx
|-- openpose
|-- ckpts
|-- body_pose_model.pth
最终完成。