LAS-Diffusion 开源项目使用教程
LAS-Diffusion 项目地址: https://gitcode.com/gh_mirrors/la/LAS-Diffusion
1、项目介绍
LAS-Diffusion 是一个基于扩散模型的3D形状生成框架,名为“局部注意力SDF扩散”。该项目旨在通过2D草图图像输入生成合理的3D形状,并提供对生成形状局部几何的控制。LAS-Diffusion 由两阶段扩散模型组成:第一阶段生成低分辨率的占用场以近似形状外壳,第二阶段在第一阶段确定的占用体素内合成高分辨率的有符号距离场以提取精细几何。该项目通过一种新颖的视图感知局部注意力机制,利用2D图像块特征指导3D体素特征学习,极大地提高了局部可控性和模型泛化能力。
2、项目快速启动
环境安装
首先,确保你已经安装了 conda
。然后按照以下步骤创建并激活虚拟环境,并安装所需的依赖包:
conda create -n sketch_diffusion
conda activate sketch_diffusion
conda install pytorch=1.9.0 torchvision=0.10.0 cudatoolkit=10.2 -c pytorch -c nvidia
pip install tqdm fire einops pyrender pyrr trimesh ocnn timm scikit-image==0.18.2 scikit-learn==0.24.2 pytorch-lightning==1.6.1
数据准备
SDF 数据创建
参考 SDF-StyleGAN
生成 SDF 场,可以从 ShapeNet
数据或自定义数据生成。
草图数据创建
参考 prepare_sketch.py
文件中的详细说明。
预训练模型
从 Google Drive 下载预训练模型,并将其放置在 checkpoints/
目录下。
使用示例
从零开始训练
bash scripts/train_sketch.sh
bash scripts/train_category.sh
类别条件生成
bash scripts/generate_category.sh
草图条件生成
bash scripts/generate_sketch.sh
3、应用案例和最佳实践
应用案例
LAS-Diffusion 可以广泛应用于需要通过简单草图生成复杂3D模型的场景,例如:
- 游戏开发:快速生成游戏角色和道具的3D模型。
- 建筑设计:通过简单的草图生成建筑物的3D模型。
- 工业设计:通过草图生成产品原型。
最佳实践
- 数据准备:确保输入的草图数据质量高,以便生成更精确的3D模型。
- 模型调优:根据具体应用场景调整模型参数,以获得最佳生成效果。
- 多阶段训练:利用两阶段扩散模型,先进行粗略生成,再进行精细调整。
4、典型生态项目
- SDF-StyleGAN:用于生成 SDF 场的项目,与 LAS-Diffusion 配合使用。
- PyTorch:深度学习框架,LAS-Diffusion 的核心依赖。
- Trimesh:用于处理3D网格数据的Python库,常用于3D模型的后处理。
通过以上步骤,你可以快速上手并使用 LAS-Diffusion 项目进行3D形状生成。
LAS-Diffusion 项目地址: https://gitcode.com/gh_mirrors/la/LAS-Diffusion