UltraShape 1.0: 高保真三维形状生成:基于可扩展几何优化

📖 摘要

本报告介绍了UltraShape 1.0 ------一个可扩展的三维扩散框架,用于生成高保真三维几何体。该方案采用两阶段生成流程:首先生成粗糙的全局结构,然后进行细化以产出细节丰富的高质量几何体。

为实现可靠的三维生成,我们开发了完整的数据处理流程,包含创新的水密处理方法高质量数据过滤。该流程通过剔除低质量样本、填补孔洞及加厚薄壁结构来提升公开三维数据集的几何质量,同时保留细粒度几何细节。

为实现细粒度几何优化,我们在扩散过程中将空间定位与几何细节合成进行解耦。具体通过在固定空间位置执行体素级优化 ,其中从粗糙几何体导出的体素查询通过RoPE编码提供显式位置锚点,使扩散模型能专注于在结构化简化的解空间内合成局部几何细节。

大量实验表明,UltraShape 1.0在数据处理质量与几何生成方面均与现有开源方案具有竞争力。

🔥 动态

  • 2025-12-25 📄 我们已在arXiv发布UltraShape 1.0技术报告
  • 2025-12-26 🚀 我们发布了推理代码与预训练模型
  • 2025-12-31 🚀 我们发布了训练代码

🗓️ 待办事项

  • 发布推理代码
  • 发布预训练权重(Hugging Face)
  • 发布训练代码
  • 发布数据处理脚本

🛠️ 安装与使用

1. 环境配置

bash 复制代码
git clone https://github.com/PKU-YuanGroup/UltraShape-1.0.git
cd UltraShape-1.0
# 1. Create and activate the environment
conda create -n ultrashape python=3.10
conda activate ultrashape

# 2. Install PyTorch (CUDA 12.1 recommended)
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121

# 3. Install dependencies
pip install -r requirements.txt

# 4. Install cubvh (Required for MC acceleration)
pip install git+https://github.com/ashawkey/cubvh --no-build-isolation

# For Training & Sampling (Optional)
pip install --no-build-isolation "git+https://github.com/facebookresearch/pytorch3d.git@stable"
pip install https://data.pyg.org/whl/torch-2.5.0%2Bcu121/torch_cluster-1.6.3%2Bpt25cu121-cp310-cp310-linux_x86_64.whl

⬇️ 模型权重

请从Hugging Face [infinith/UltraShape](https://huggingface.co/infinith/UltraShape/tree/main) 下载预训练权重,并将其放入您的检查点目录(例如 ./checkpoints/)。

2. 生成粗粒度网格

首先,使用 Hunyuan3D-2.1 从输入图像生成粗粒度网格。

代码库:Tencent-Hunyuan/Hunyuan3D-2.1

按照 Hunyuan3D-2.1 代码库中的说明获取初始网格文件(例如 .glb 或 .obj 格式)。

3. 生成优化后的网格

获得粗粒度网格后,使用提供的脚本运行优化阶段。

运行推理脚本:

bash 复制代码
sh scripts/run.sh

image: 参考图像的路径。

mesh: 粗粒度网格的路径。

output_dir: 保存优化结果的目录。

ckpt: 下载的 UltraShape 检查点路径。

step: DiT 推理采样步数。默认为 50 步,可减少至 12 步以加速生成。

或者,您可以运行 gradio 应用进行交互式推理:

bash 复制代码
python scripts/gradio_app.py --ckpt <path_to_checkpoint>
低显存模式
  1. 使用较低的num_latents值(建议尝试8192)
  2. 使用较小的chunk_size(建议尝试2048)
  3. 在gradio_app.py和infer_dit_refine.py脚本中尝试添加--low_vram参数

4. 数据准备与训练

首先准备数据,包括水密网格和渲染图像。

然后按以下方式运行采样脚本:

复制代码
python scripts/sampling.py \
    --mesh_json data/mesh_paths.json \
    --output_dir data/sample

此处,mesh_json 是一个包含水密网格文件路径的列表。

多节点训练脚本为:

复制代码
sh train.sh [node_idx]

training_data_list:包含train.json和val.json的文件夹,存储数据集的ID列表。

sample_pcd_dir:包含采样.npz文件的目录。

image_data_json:渲染图像的文件路径。

您可以在train.sh中切换VAE和DiT训练,并在其中指定输出目录和配置文件。

🔗 引用格式

如果您觉得本仓库有帮助,请引用我们的报告:

bibtex 复制代码
@article{jia2025ultrashape,
    title={UltraShape 1.0: High-Fidelity 3D Shape Generation via Scalable Geometric Refinement},
    author={Jia, Tanghui and Yan, Dongyu and Hao, Dehao and Li, Yang and Zhang, Kaiyi and He, Xianyi and Li, Lanjiong and Chen, Jinnan and Jiang, Lutao and Yin, Qishen and Quan, Long and Chen, Ying-Cong and Yuan, Li},
    journal={arxiv preprint arXiv:2512.21185},
    year={2025}
}

致谢

我们的代码基于Hunyuan3D-2.1的优秀工作实现。本方法的核心思想深受LATTICE的启发。我们深切感谢这些工作对3D生成领域的贡献。请同时考虑引用Hunyuan3D 2.1LATTICE

代码

https://github.com/PKU-YuanGroup/UltraShape-1.0

相关推荐
龙腾AI白云4 分钟前
数据要素市场化给AI产业带来的机遇
人工智能·virtualenv
dozenyaoyida5 分钟前
cc-switch 全景拆解:一个应用管住七个 AI 编码助手的配置中枢
人工智能·配置管理·ai编码·cc-switch
乱世刀疤19 分钟前
AI Weekly 6.29-7.5
人工智能
蒲公英内测分发27 分钟前
Typeoff:当 AI 开始参与工作,我们可能需要重新思考“输入”这件事
人工智能·测试工具·项目管理·语音输入·ai语音输入
2501_9419820542 分钟前
企业微信私域流量运营:如何利用RPA技术构建高效的社群自动化管理系统
大数据·人工智能·机器人·自动化·企业微信·rpa
YHHLAI1 小时前
[特殊字符] Agent 智能体开发实战 · 第一课:Tool Use —— 让大模型自动干活
前端·人工智能
Mx_coder1 小时前
8年Java开发者AI转型第一周:从零搭建RAG文档问答系统(Day 5-7)
人工智能
hixiong1231 小时前
TensorRT转换工具分享
人工智能·计算机视觉·ai·c#
NiceCloud喜云1 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
凉云生烟1 小时前
机器学习 02- KNN算法
人工智能·算法·机器学习