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.1 和LATTICE:

代码

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

相关推荐
武子康3 分钟前
Embedding 替换怎么评测:把索引成本算进成功任务
人工智能·后端·agent
山东孙燕姿13 分钟前
维修工单的转派与协同:两个人一起上
大数据·运维·服务器·网络·人工智能
小虎AI生活18 分钟前
Kimi K3.1 Pro 降价 35% 实测拆解:API 接入三步走与暗坑清单
aigc·ai编程
GPU实战笔记19 分钟前
L40S 云端任务验证:从推理、微调到生成工作流的边界
人工智能·模型微调·gpu租用·nvidia l40s·gpu 云服务器
让学习成为一种生活方式20 分钟前
厚朴(Magnolia officinalis)染色体水平基因组--iScience
大数据·人工智能
m4Rk_20 分钟前
【论文阅读】Agent记忆机制(109):MemComposer——用强化学习学会选哪些记忆、选多少以及怎样排序
论文阅读·人工智能·学习·开源·github
加宝的起点雷达23 分钟前
多个 AI 编程代理之间,上下文怎么共享:三类做法和三个坑
人工智能·架构
Data-Miner25 分钟前
AI 大模型安全深度分析:风险演化、治理现状与前瞻路径
人工智能·安全
具身AGI27 分钟前
三维动态只当训练信号,不进推理
人工智能·深度学习·计算机视觉
乐迪信息28 分钟前
AI算法盒子船体烟火检测:港口火灾早预警
人工智能·深度学习·算法