SPAR3D快速指南

MODEL ZOO Jan 10, 2025

SPAR3D 是一种最先进的开源模型,用于通过点云调节从单个图像快速前馈 3D 网格重建,以提高重建质量。

SPAR3D 基于 Stable Fast 3D,但通过调节点云改进了网格的背面。可以使用我们附带的点云去噪模型从图像生成示例点云,甚至可以在外部工具或我们附带的 gradio 演示中轻松编辑此点云。这样可以修复缺失的背面细节。我们利用新颖的贡献进一步提高了材料的预测质量。我们在实现所有这些的同时仍保持了快速的推理速度。

1、SPAR3D安装

确保你的环境是:

  • Python >= 3.8(取决于 PyTorch 版本 >3.9)
  • 可选:CUDA
  • 对于 Windows(实验性):Visual Studio 2022
  • 根据你的平台安装了 PyTorch,确保 Pytorch CUDA 版本与你的系统匹配。
  • 通过 pip install -U setuptools==69.5.1 更新 setuptools
  • 通过 pip install wheel 安装 wheel

然后,使用 pip install -r requirements.txt 安装其余要求。如果需要重新网格化,请使用 pip install -r requirements-remesh.txt 安装其他要求。对于 gradio 演示,需要额外的 pip install -r requirements-demo.txt

2、请求访问和登录

SPAR3D模型在 Hugging Face 处有门控限制:

  • 登录 Hugging Face 并在此处请求访问权限。
  • 此处创建具有读取权限的访问令牌。
  • 在环境中运行 huggingface-cli login 并输入令牌。

3、低 VRAM 模式

要以低 VRAM 模式运行 SPAR3D,请设置环境变量 SPAR3D_LOW_VRAM=1。默认情况下,SPAR3D 消耗 10.5GB 的 VRAM。此模式将 VRAM 消耗降低到大约 7GB,但作为交换,模型会变慢。 run.py 脚本还支持 --low-vram-mode 标志。

4、Windows 支持(实验性)

要在 Windows 上运行 Stable Fast 3D,你必须安装 Visual Studio(目前在 VS 2022 上测试)和适当的 PyTorch 和 CUDA 版本。然后,按照上面提到的安装步骤进行操作。

请注意,Windows 支持是实验性的,不能保证提供与 Linux 相同的性能和/或质量。

5、CPU 支持

如果系统中未检测到 GPU,将自动使用 CPU 后端。请注意,这会非常慢。

如果你有 GPU 但遇到问题并希望改用 CPU 后端,请设置环境变量 SPAR3D_USE_CPU=1 以强制使用 CPU 后端。 run.py 脚本还支持 --device=cpu 标志。

6、手动推理

python run.py demo_files/examples/fish.png --output-dir output/

这会将重建的 3D 模型作为 GLB 文件保存到 output/。还可以指定多个以空格分隔的图像路径。默认选项对于单个图像输入大约需要 6GB VRAM。

还可以使用 --texture-resolution 指定输出纹理的像素分辨率,并使用 --remesh_option 指定重新网格化操作(无、三角形、四边形)。

有关此脚本的详细用法,请使用 python run.py --help

7、本地 Gradio 应用程序

python gradio_app.py

8、ComfyUI 扩展

SPAR3D为 ComfyUI 提供了自定义节点和示例工作流程。

安装:

将repo 克隆到 custom_nodes:

 $ cd ComfyUI/custom_nodes
 $ git clone https://github.com/Stability-AI/stable-point-aware-3d

安装依赖项:

 $ cd stable-point-aware-3d
 $ pip install -r requirements.txt

重新网格化可选:

 $ pip install -r requirements-remesh.txt

重新启动 ComfyUI

9、Remesher 选项

  • none:网格生成后不变。无 CPU 开销。
  • triangle:顶点和边重新排列以形成三角形地形。实现来自:M. Botsch 和 L. Kobbelt 的“多分辨率建模的重新网格化方法”。预计会有 CPU 开销。
  • quad:顶点和边在四边形地形中重新排列,具有适当的四边形流。四边形网格被分成三角形,以便使用 GLB 导出。实现来自 Jakob 等人的“即时场对齐网格”。预计会有 CPU 开销。

此外,还可以指定目标顶点或面数。这不是硬性约束,而是该方法旨在创建的粗略计数。如果重新网格化器设置为无,则忽略此目标。


原文链接:SPAR3D: Stable Point-Aware Reconstruction of 3D Objects from Single Images

汇智网翻译整理,转载请标明出处

Tags