DrapeNet: 衣物生成与自我监督铺叠系统安装与使用教程
项目概述
DrapeNet 是一个用于快速在任意人体模型上生成并铺叠衣物的深度学习框架。该系统通过自我监督学习方法训练,能够处理多种不同类型的衣物,突破了以往每个服装类型需要单独训练网络的限制。本框架利用生成网络的潜在代码来预测3D变形场,实现对未见过衣物的生成和铺叠。
项目目录结构及介绍
以下是对 DrapeNet
项目主要目录结构的概览及其简要说明:
-
encoding-decoding
: 包含编码器解码器相关的代码,用于预处理、训练以及导出衣物的潜在表示和最终网格。preprocess_udf.py
: 预处理原始衣物网格数据。train_encdec.py
: 训练编码器解码器模型。export_codes.py
: 导出训练得到的衣物潜在代码。export_meshes.py
: 将潜在代码转换成网格形状。
-
editing
: 提供编辑功能的脚本,允许用户对衣物形状进行修改。create_dset.py
: 创建编辑数据集的脚本。compute_weights.py
: 计算权重以辅助编辑过程。edit.py
: 实现衣物的具体编辑操作。
-
dressing
: 负责衣物铺叠的核心代码部分。drape.py
: 主要的衣物铺叠脚本。
-
docs
: 可能包含项目文档或说明文件(实际GitHub仓库中未直接展示)。 -
scripts
: 含有辅助脚本,如环境搭建、下载必要的模型等。download_smpl.sh
: 下载SMPL人体模型的脚本。
-
LICENSE
: 许可证文件,表明项目遵循GPL-3.0许可协议。 -
README.md
: 项目简介和基本使用指引。
项目的启动文件介绍
Docker容器运行
为了确保环境一致性,推荐在Docker容器内运行DrapeNet。执行以下命令来启动一个适合运行DrapeNet的Docker环境:
docker run -it --rm --gpus all --shm-size=8gb --name drapenet liren2515/drapenet
这将创建一个名为drapenet
的Docker容器,并自动配置所需资源。
主要脚本使用
-
衣物生成与铺叠:
- 进入相关目录:
cd dressing
,然后运行python3 drape.py
开始衣物铺叠过程。
- 进入相关目录:
-
衣物编辑:
- 使用
cd editing
,根据需要执行create_dset.py
,compute_weights.py
, 和edit.py
来编辑衣物设计。
- 使用
-
编码器-解码器训练与应用:
- 在
encdec
目录下,先进行预处理(python3 preprocess_udf.py
),接着进行训练(python3 train_encdec.py
),最后导出模型和网格(python3 export_codes.py
,python3 export_meshes.py
)。
- 在
项目的配置文件介绍
配置文件通常位于特定脚本使用的路径下或作为参数传递给脚本。例如,在训练编码器-解码器时,可能需要指定一个配置文件路径,这可以在train_encdec.py
调用时添加。具体的配置文件细节(如网络架构设置、学习率、批次大小等)需查看项目中的示例配置文件或脚本内的默认设置。由于GitHub仓库中没有提供详细的配置文件样例,具体配置项需参照源代码注释或实验指南进行定制。
请注意,实际操作前请详细阅读项目中的README.md
文件,获取最新的指导信息和可能更新的步骤。