Davide Morelli*, Alberto Baldrati*, Giuseppe Cartella, Marcella Cornia, Marco Bertini, Rita Cucchiara
* 贡献相同。
🔥🔥 [2023/05/09] 训练代码发布
这是论文"LaDI-VTON: 基于潜在扩散文本反转增强的虚拟试衣"的官方代码仓库。
摘要: <br> 电子商务和元宇宙领域正在快速发展,不断寻求创新方法来提升消费者体验。同时,扩散模型的最新进展使生成网络能够创建极为逼真的图像。在这种背景下,基于图像的虚拟试衣(即生成目标模特穿着给定商店服装的新图像)尚未充分利用这些强大生成解决方案的潜力。本文提出了LaDI-VTON,这是第一个用于虚拟试衣任务的基于潜在扩散文本反转增强的模型。所提出的架构依赖于一个潜在扩散模型,并扩展了一个新的额外自动编码器模块,该模块利用可学习的跳跃连接来增强生成过程,同时保留模特的特征。为了有效保持商店服装的纹理和细节,我们提出了一个文本反转组件,可以将服装的视觉特征映射到CLIP词元嵌入空间,从而生成一组能够调节生成过程的伪词词元嵌入。在Dress Code和VITON-HD数据集上的实验结果表明,我们的方法在很大程度上优于竞争对手,为该任务取得了重要的里程碑
如果您使用了我们的工作,请引用我们的论文:
<details> <summary><h2>入门指南</h2></summary>@inproceedings{morelli2023ladi, title={{LaDI-VTON: Latent Diffusion Textual-Inversion Enhanced Virtual Try-On}}, author={Morelli, Davide and Baldrati, Alberto and Cartella, Giuseppe and Cornia, Marcella and Bertini, Marco and Cucchiara, Rita}, booktitle={Proceedings of the ACM International Conference on Multimedia}, year={2023} }
我们建议使用Anaconda包管理器来避免依赖/可重复性问题。 对于Linux系统,您可以在这里找到conda安装指南。
git clone https://github.com/miccunifi/ladi-vton
conda env create -n ladi-vton -f environment.yml conda activate ladi-vton
或者,您可以创建一个新的conda环境并手动安装所需的包:
conda create -n ladi-vton -y python=3.10 conda activate ladi-vton pip install torch==2.0.1 torchvision==0.15.2 opencv-python==4.7.0.72 diffusers==0.14.0 transformers==4.27.3 accelerate==0.18.0 clean-fid==0.1.35 torchmetrics[image]==0.11.4 wandb==0.14.0 matplotlib==3.7.1 tqdm xformers
数据集下载完成后,文件夹结构应如下所示:
├── DressCode
| ├── test_pairs_paired.txt
| ├── test_pairs_unpaired.txt
| ├── train_pairs.txt
│ ├── [dresses | lower_body | upper_body]
| | ├── test_pairs_paired.txt
| | ├── test_pairs_unpaired.txt
| | ├── train_pairs.txt
│ │ ├── images
│ │ │ ├── [013563_0.jpg | 013563_1.jpg | 013564_0.jpg | 013564_1.jpg | ...]
│ │ ├── masks
│ │ │ ├── [013563_1.png| 013564_1.png | ...]
│ │ ├── keypoints
│ │ │ ├── [013563_2.json | 013564_2.json | ...]
│ │ ├── label_maps
│ │ │ ├── [013563_4.png | 013564_4.png | ...]
│ │ ├── skeletons
│ │ │ ├── [013563_5.jpg | 013564_5.jpg | ...]
│ │ ├── dense
│ │ │ ├── [013563_5.png | 013563_5_uv.npz | 013564_5.png | 013564_5_uv.npz | ...]
下载数据集后,文件夹结构应如下所示:
├── VITON-HD
| ├── test_pairs.txt
| ├── train_pairs.txt
│ ├── [train | test]
| | ├── image
│ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...]
│ │ ├── cloth
│ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...]
│ │ ├── cloth-mask
│ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...]
│ │ ├── image-parse-v3
│ │ │ ├── [000006_00.png | 000008_00.png | ...]
│ │ ├── openpose_img
│ │ │ ├── [000006_00_rendered.png | 000008_00_rendered.png | ...]
│ │ ├── openpose_json
│ │ │ ├── [000006_00_keypoints.json | 000008_00_keypoints.json | ...]
</details>
<details>
<summary><h2>使用预训练模型进行推理</h2></summary>
要在Dress Code或VITON-HD数据集上运行推理,请运行以下命令:
python src/inference.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --output_dir <路径> --test_order [paired | unpaired] --category [all | lower_body | upper_body | dresses ] --mixed_precision [no | fp16 | bf16] --enable_xformers_memory_efficient_attention --use_png --compute_metrics
--dataset <字符串> 要使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <字符串> dresscode数据集的数据根目录(当dataset=dresscode时需要)
--vitonhd_dataroot <字符串> vitonhd数据集的数据根目录(当dataset=vitonhd时需要)
--test_order <字符串> 测试设置,选项:['paired', 'unpaired']
--category <字符串> 要测试的类别,选项:['all', 'lower_body', 'upper_body', 'dresses'](默认为all)
--output_dir <字符串> 输出目录
--batch_size <整数> 批量大小(默认为8)
--mixed_precision <字符串> 混合精度(no, fp16, bf16)(默认为no)
--enable_xformers_memory_efficient_attention <store_true>
启用xformers中的内存高效注意力(默认为False)
--allow_tf32 <store_true> 允许在Ampere GPU上使用TF32(默认为False)
--num_workers <整数> 工作进程数(默认为8)
--use_png <store_true> 使用png而不是jpg(默认为False)
--compute_metrics 在推理结束时计算指标(默认为False)
由于我们通过torch.hub发布预训练模型,运行推理脚本时会自动下载模型。
运行推理脚本并提取图像后,可以通过运行以下命令来计算指标:
python src/utils/val_metrics.py --gen_folder <路径> --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --test_order [paired | unpaired] --category [all | lower_body | upper_body | dresses ]
--gen_folder <字符串> 生成图像文件夹的路径。
--dataset <字符串> 要使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <字符串> dresscode数据集的数据根目录(当dataset=dresscode时需要)
--vitonhd_dataroot <字符串> vitonhd数据集的数据根目录(当dataset=vitonhd时需要)
--test_order <字符串> 测试设置,选项:['paired', 'unpaired']
--category <字符串> 要测试的类别,选项:['all', 'lower_body', 'upper_body', 'dresses'](默认为all)
--batch_size 批量大小(默认为32)
--workers 工作进程数(默认为8)
</details>
<details>
<summary><h2>训练</h2></summary>
在本节中,您将找到如何从头开始训练我们模型所有组件的说明。
首先,我们需要训练变形模块。要做到这一点,请运行以下命令:
python src/train_tps.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --checkpoints_dir <路径> --exp_name <字符串>
--dataset <字符串> 使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <字符串> dresscode数据集的数据根目录(当dataset=dresscode时必需)
--vitonhd_dataroot <字符串> vitonhd数据集的数据根目录(当dataset=vitonhd时必需)
--checkpoints_dir <字符串> 检查点目录
--exp_name <字符串> 实验名称
--batch_size <整数> 批量大小(默认为16)
--workers <整数> 工作进程数(默认为10)
--height <整数> 输入图像的高度(默认为512)
--width <整数> 输入图像的宽度(默认为384)
--lr <浮点数> 学习率(默认为1e-4)
--const_weight <浮点数> TPS约束损失的权重(默认为0.01)
--wandb_log <存储为真> 在wandb上记录训练(默认为False)
--wandb_project <字符串> wandb项目名称(默认为LaDI_VTON_tps)
--dense <存储为真> 使用密集UV图而不是关键点(默认为False)
--only_extraction <存储为真> 仅使用训练好的网络提取图像而不进行训练(默认为False)
--vgg_weight <整数> VGG损失的权重(优化网络)(默认为0.25)
--l1_weight <整数> L1损失的权重(优化网络)(默认为1.0)
--epochs_tps <整数> TPS训练的轮数(默认为50)
--epochs_refinement <整数> 优化网络训练的轮数(默认为50)
训练结束后,变形后的服装图像将保存在data/warped_cloths
和data/warped_cloths_unpaired
文件夹中。
为了节省计算时间,在接下来的步骤中,我们将使用预先提取的变形服装图像。
要训练EMASC模块,请运行以下命令:
python src/train_emasc.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --output_dir <路径>
--dataset <字符串> 要使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <字符串> dresscode数据集的数据根目录(当dataset=dresscode时需要)
--vitonhd_dataroot <字符串> vitonhd数据集的数据根目录(当dataset=vitonhd时需要)
--output_dir <字符串> 输出目录,用于保存模型预测和检查点
--pretrained_model_name_or_path <字符串>
huggingface.co/models的模型标识符(默认为stabilityai/stable-diffusion-2-inpainting)
--seed <整数> 用于可重现训练的种子(默认为1234)
--train_batch_size <整数> 训练的批次大小(默认为16)
--test_batch_size <整数> 测试的批次大小(默认为16)
--num_train_epochs <整数> 训练轮数(默认为100)
--max_train_steps <整数> 最大训练步数。如果提供,将覆盖num_train_epochs(默认为40k)
--gradient_accumulation_steps <整数>
在执行反向/更新传播之前累积的更新步数(默认为1)
--learning_rate <浮点数> 学习率(默认为1e-5)
--lr_scheduler <字符串> 学习率调度器,选项:['linear', 'cosine', 'cosine_with_restarts', 'polynomial', 'constant', 'constant_with_warmup'](默认为constant_with_warmup)
--lr_warmup_steps <整数> 学习率调度器的预热步数(默认为500)
--allow_tf32 <store_true> 允许在Ampere GPU上使用TF32(默认为False)
--adam_beta1 <浮点数> Adam优化器的beta_1值(默认为0.9)
--adam_beta2 <浮点数> Adam优化器的beta_2值(默认为0.999)
--adam_weight_decay <浮点数> Adam优化器的权重衰减值(默认为1e-2)
--adam_epsilon <浮点数> Adam优化器的epsilon值(默认为1e-8)
--max_grad_norm <浮点数> 梯度裁剪的最大梯度范数值(默认为1.0)
--mixed_precision <字符串> 混合精度训练,选项:['no', 'fp16', 'bf16'](默认为fp16)
--report_to <字符串> 指定报告指标的位置,选项:['wandb', 'tensorboard', 'comet_ml'](默认为wandb)
--checkpointing_steps <整数> 每隔多少步保存一次检查点(默认为10000)
--resume_from_checkpoint <字符串> 是否从之前的检查点恢复训练。使用"latest"自动选择最后可用的检查点。(默认为None)
--num_workers <整数> 工作进程数(默认为8)
--num_workers_test <整数> 测试数据加载器的工作进程数(默认为8)
--test_order <字符串> 测试设置,选项:['paired', 'unpaired'](默认为paired)
--emasc_type <字符串> EMASC类型,选项:['linear', 'nonlinear'](默认为nonlinear)
--vgg_weight <浮点数> VGG损失的权重(默认为0.5)
--emasc_kernel <整数> EMASC模块的核大小(默认为3)
--emasc_padding <整数> EMASC模块的填充(默认为1)
训练结束时,EMASC检查点将保存在output_dir
文件夹中。
为了加速后续步骤的训练过程,可以考虑预先计算数据集中每张图像的CLIP衣物嵌入。
要做到这一点,请运行以下命令:
python src/utils/compute_cloth_clip_features.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径>
--dataset <字符串> 要使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <字符串> dresscode数据集的数据根目录(当dataset=dresscode时需要)
--vitonhd_dataroot <字符串> vitonhd数据集的数据根目录(当dataset=vitonhd时需要)
--pretrained_model_name_or_path <字符串>
huggingface.co/models的模型标识符(默认为stabilityai/stable-diffusion-2-inpainting)
--batch_size <整数> 批次大小(默认为16)
--num_workers <整数> 工作进程数(默认为8)
计算出的特征将保存在data/clip_cloth_embeddings
文件夹中。
在接下来的步骤中,要使用预先计算的特征,请确保使用--use_clip_cloth_features
标志。
要预训练反转适配器,请运行以下命令:
python src/train_inversion_adapter.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --output_dir <路径> --gradient_checkpointing --enable_xformers_memory_efficient_attention --use_clip_cloth_features
--dataset <字符串> 要使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <字符串> dresscode数据集的数据根目录(当dataset=dresscode时必需)
--vitonhd_dataroot <字符串> vitonhd数据集的数据根目录(当dataset=vitonhd时必需)
--output_dir <字符串> 模型预测和检查点将写入的输出目录
--pretrained_model_name_or_path <字符串>
huggingface.co/models的模型标识符(默认为stabilityai/stable-diffusion-2-inpainting)
--seed <整数> 用于可重复训练的随机种子(默认为1234)
--train_batch_size <整数> 训练的批量大小(默认为16)
--test_batch_size <整数> 测试的批量大小(默认为16)
--num_train_epochs <整数> 训练轮数(默认为100)
--max_train_steps <整数> 最大训练步数。如果提供,将覆盖num_train_epochs(默认为200k)
--gradient_accumulation_steps <整数>
在执行反向/更新传递之前累积的更新步数(默认为1)
--gradient_checkpointing <存储为真>
使用梯度检查点以牺牲较慢的反向传递为代价来节省内存(默认为False)
--learning_rate <浮点数> 学习率(默认为1e-5)
--lr_scheduler <字符串> 学习率调度器,选项:['linear', 'cosine', 'cosine_with_restarts', 'polynomial', 'constant', 'constant_with_warmup'](默认为constant_with_warmup)
--lr_warmup_steps <整数> 学习率调度器的预热步数(默认为500)
--allow_tf32 <存储为真> 允许在Ampere GPU上使用TF32(默认为False)
--adam_beta1 <浮点数> Adam优化器的beta_1值(默认为0.9)
--adam_beta2 <浮点数> Adam优化器的beta_2值(默认为0.999)
--adam_weight_decay <浮点数> Adam优化器的权重衰减值(默认为1e-2)
--adam_epsilon <浮点数> Adam优化器的epsilon值(默认为1e-8)
--max_grad_norm <浮点数> 梯度裁剪的最大梯度范数值(默认为1.0)
--mixed_precision <字符串> 混合精度训练,选项:['no', 'fp16', 'bf16'](默认为fp16)
--report_to <字符串> 报告指标的位置,选项:['wandb', 'tensorboard', 'comet_ml'](默认为wandb)
--checkpointing_steps <整数> 每次检查点之间的步数(默认为50000)
--resume_from_checkpoint <字符串> 是否应从先前的检查点恢复训练。使用"latest"自动选择最后可用的检查点。(默认为None)
--enable_xformers_memory_efficient_attention <存储为真>
在xformers中启用内存高效注意力(默认为False)
--num_workers <整数> 工作进程数(默认为8)
--num_workers_test <整数> 测试数据加载器的工作进程数(默认为8)
--test_order <字符串> 测试设置,选项:['paired', 'unpaired'](默认为paired)
--num_vstar <整数> 每张图像要使用的预测v*数量(默认为16)
--num_encoder_layers <整数> 反演适配器中要使用的ViT层数(默认为1)
--use_clip_cloth_features <存储为真>
使用预先计算的clip服装特征,而不是每次迭代时计算(默认为False)
训练结束时,反演适配器检查点将保存在output_dir
文件夹中。
注意:只有在之前使用src/utils/compute_cloth_clip_features.py
脚本(步骤2.5)计算了clip服装特征的情况下,才能使用--use_clip_cloth_features
标志。
要成功训练VTO模型,请确保指定正确的预训练反演适配器检查点路径。如果省略,反演适配器将从头开始训练。另外,不要忘记包含--train_inversion_adapter
标志,以在VTO训练过程中启用反演适配器训练。
要训练VTO模型,运行以下命令:
python src/train_vto.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --output_dir <路径> --inversion_adapter_dir <路径> --gradient_checkpointing --enable_xformers_memory_efficient_attention --use_clip_cloth_features --train_inversion_adapter
--dataset <str> 数据集选择,选项: ['dresscode', 'vitonhd']
--dresscode_dataroot <str> dresscode数据集的数据根目录(当dataset=dresscode时必填)
--vitonhd_dataroot <str> vitonhd数据集的数据根目录(当dataset=vitonhd时必填)
--output_dir <str> 模型预测结果和检查点将写入的输出目录
--inversion_adapter_dir <str> 反演适配器检查点目录路径。应与反演适配器训练脚本的`output_dir`相同。如果未指定,反演适配器将从头开始训练。(默认=None)
--inversion_adapter_name <str> 反演适配器检查点名称。要加载最新的检查点,请使用`latest`。(默认=latest)
--pretrained_model_name_or_path <str>
来自huggingface.co/models的模型标识符(默认=stabilityai/stable-diffusion-2-inpainting)
--seed <int> 用于可重现训练的种子(默认=1234)
--train_batch_size <int> 训练的批量大小(默认=16)
--test_batch_size <int> 测试的批量大小(默认=16)
--num_train_epochs <int> 训练轮数(默认=100)
--max_train_steps <int> 最大训练步数。如果提供,将覆盖num_train_epochs(默认=200k)
--gradient_accumulation_steps <int>
在执行反向/更新传递之前累积的更新步数(默认=1)
--gradient_checkpointing <store_true>
使用梯度检查点以牺牲较慢的反向传递为代价来节省内存(默认=False)
--learning_rate <float> 学习率(默认=1e-5)
--lr_scheduler <str> 学习率调度器,选项: ['linear', 'cosine', 'cosine_with_restarts', 'polynomial', 'constant', 'constant_with_warmup'](默认=constant_with_warmup)
--lr_warmup_steps <int> 学习率调度器的预热步数(默认=500)
--allow_tf32 <store_true> 允许在Ampere GPU上使用TF32(默认=False)
--adam_beta1 <float> Adam优化器的beta_1值(默认=0.9)
--adam_beta2 <float> Adam优化器的beta_2值(默认=0.999)
--adam_weight_decay <float> Adam优化器的权重衰减值(默认=1e-2)
--adam_epsilon <float> Adam优化器的epsilon值(默认=1e-8)
--max_grad_norm <float> 梯度裁剪的最大梯度范数值(默认=1.0)
--mixed_precision <str> 混合精度训练,选项: ['no', 'fp16', 'bf16'](默认=fp16)
--report_to <str> 指定报告指标的位置,选项: ['wandb', 'tensorboard', 'comet_ml'](默认=wandb)
--checkpointing_steps <int> 每隔多少步保存一次检查点(默认=50000)
--resume_from_checkpoint <str> 是否从之前的检查点恢复训练。使用"latest"自动选择最后可用的检查点。(默认=None)
--enable_xformers_memory_efficient_attention <store_true>
在xformers中启用内存高效注意力(默认=False)
--num_workers <int> 工作进程数(默认=8)
--num_workers_test <int> 测试数据加载器的工作进程数(默认=8)
--test_order <str> 测试设置,选项: ['paired', 'unpaired'](默认=paired)
--uncond_fraction <float> 无条件训练样本的比例(默认=0.2)
--text_usage <str> 使用的文本特征,选项: ['none', 'noun_chunks', 'inversion_adapter'](默认=inversion_adapter)
--cloth_input_type <str> 服装输入类型,选项: ['none', 'warped'],(默认=warped)
--num_vstar <int> 每张图像使用的预测v*数量(默认=16)
--num_encoder_layers <int> 反演适配器中使用的ViT层数(默认=1)
--train_inversion_adapter <store_true>
在VTO训练期间训练反演适配器(默认=False)
--use_clip_cloth_features <store_true>
使用预先计算的CLIP服装特征,而不是每次迭代时重新计算(默认=False)
训练结束后,检查点将保存在output_dir
文件夹中。
注意: 只有在之前使用src/utils/compute_cloth_clip_features.py
脚本(步骤2.5)计算了CLIP服装特征后,才能使用--use_clip_cloth_features
标志。
在运行推理之前,确保指定了所有训练过的检查点的正确路径。 还要确保使用与训练时一致的超参数。
要在Dress Code或VITON-HD数据集上运行推理,请执行以下命令:
python src/eval.py --dataset [dresscode | vitonhd] --dresscode_dataroot <路径> --vitonhd_dataroot <路径> --output_dir <路径> --save_name <字符串> --test_order [paired | unpaired] --unet_dir <路径> --inversion_adapter_dir <路径> --emasc_dir <路径> --category [all | lower_body | upper_body | dresses ] --enable_xformers_memory_efficient_attention --use_png --compute_metrics
--dataset <str> 要使用的数据集,选项:['dresscode', 'vitonhd']
--dresscode_dataroot <str> dresscode数据集的数据根目录(当dataset=dresscode时必需)
--vitonhd_dataroot <str> vitonhd数据集的数据根目录(当dataset=vitonhd时必需)
--output_dir <str> 生成的图像将写入的输出目录
--save_name <str> `output_dir`内生成的图像文件夹的名称
--test_order <str> 测试设置,选项:['paired', 'unpaired']
--unet_dir <str> UNet检查点目录的路径。应与VTO训练脚本的`output_dir`相同
--unet_name <str> UNet检查点的名称。要加载最新的检查点,请使用`latest`。(默认为latest)
--inversion_adapter_dir <str> 反转适配器检查点目录的路径。应与VTO训练脚本的`output_dir`相同。仅当`--text_usage`设置为`inversion_adapter`时需要。(默认为None)
--inversion_adapter_name <str> 反转适配器检查点的名称。要加载最新的检查点,请使用`latest`。(默认为latest)
--emasc_dir <str> EMASC检查点目录的路径。应与EMASC训练脚本的`output_dir`相同。当--emasc_type!=none时需要。(默认为None)
--emasc_name <str> EMASC检查点的名称。要加载最新的检查点,请使用`latest`。(默认为latest)
--pretrained_model_name_or_path <str>
来自huggingface.co/models的模型标识符(默认为stabilityai/stable-diffusion-2-inpainting)
--seed <int> 用于可复现训练的种子(默认为1234)
--batch_size <int> 批量大小(默认为8)
--allow_tf32 <store_true> 允许在Ampere GPU上使用TF32(默认为False)
--enable_xformers_memory_efficient_attention <store_true>
在xformers中启用内存高效注意力(默认为False)
--num_workers <int> 工作线程数(默认为8)
--category <str> 要测试的类别,选项:['all', 'lower_body', 'upper_body', 'dresses'](默认为all)
--emasc_type <str> EMASC的类型,选项:['linear', 'nonlinear'](默认为nonlinear)
--emasc_kernel <int> EMASC模块的核大小(默认为3)
--emasc_padding <int> EMASC模块的填充(默认为1)
--text_usage <str> 要使用的文本特征,选项:['none', 'noun_chunks', 'inversion_adapter'](默认为inversion_adapter)
--cloth_input_type <str> 服装输入类型,选项:['none', 'warped'],(默认为warped)
--num_vstar <int> 每张图像要使用的预测v*数量(默认为16)
--num_encoder_layers <int> 在反转适配器中使用的ViT层数(默认为1)
--use_png <store_true> 使用png而不是jpg(默认为False)
--num_inference_steps <int> 推理时的扩散步数(默认为50)
--guidance_scale <float> 扩散的引导比例(默认为7.5)
--use_clip_cloth_features <store_true>
使用预先计算的CLIP服装特征,而不是每次迭代时计算(默认为False)。
--compute_metrics 在推理结束时计算指标(默认为False)
生成的图像将保存在output_dir/save_name_{test_order}
文件夹中。
注意:只有在之前使用src/utils/compute_cloth_clip_features.py
脚本(步骤2.5)计算了CLIP服装特征的情况下,才能使用--use_clip_cloth_features
标志。
这项工作得到了PNRR项目"未来人工智能研究(FAIR)"和PRIN项目"CREATIVE:视觉和文本内容的跨模态理解与生成"(CUP B87G22000460001)的部分支持,这两个项目都由意大利大学和研究部共同资助,还得到了欧洲委员会欧洲地平线2020计划(拨款号101004545 - ReInHerit)的支持。
<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://yellow-cdn.veclightyear.com/0a4dffa0/aede85fc-46e3-49d3-a085-73d2fa890bd2.png" /></a><br /> 所有材料均根据知识共享署名-非商业性使用4.0国际许可协议提供。您可以出于非商业目的使用、重新分发和改编这些材料,只要您适当地引用我们的论文并指明任何您所做的更改。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求 。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持 多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。