Skip to content

SparseFlex: High-Resolution and Arbitrary-Topology 3D Shape Modeling

License

Notifications You must be signed in to change notification settings

VAST-AI-Research/TripoSF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b97b749 · Apr 7, 2025

History

5 Commits
Apr 7, 2025
Mar 28, 2025
Mar 28, 2025
Mar 28, 2025
Mar 28, 2025
Apr 7, 2025
Apr 3, 2025
Mar 28, 2025
Mar 28, 2025
Mar 28, 2025

Repository files navigation

TripoSF: High-Resolution and Arbitrary-Topology 3D Shape Modeling with SparseFlex

Project Page Paper Model

By Tripo

teaser

🌟 Overview

TripoSF represents a significant leap forward in 3D shape modeling, combining high-resolution capabilities with arbitrary topology support. Our approach enables:

  • 📈 Ultra-high resolution mesh modeling (up to 1024 3 )
  • 🎯 Direct optimization from rendering losses
  • 🌐 Efficient handling of open surfaces and complex topologies
  • 💾 Dramatic memory reduction through sparse computation
  • 🔄 Differentiable mesh extraction with sharp features

SparseFlex

SparseFlex, the core design powering TripoSF, introduces a sparse voxel structure that:

  • Focuses computational resources only on surface-adjacent regions
  • Enables natural handling of open surfaces (like cloth or leaves)
  • Supports complex internal structures without compromises
  • Achieves massive memory reduction compared to dense representations

🔥 Updates

  • [2025-03] Initial Release:
    • Pretrained VAE model weights ( 1024 3 reconstruction)
    • Inference scripts and examples
    • SparseFlex implementation

🚀 Getting Started

System Requirements

  • CUDA-capable GPU (≥12GB VRAM for 1024 3 resolution)
  • PyTorch 2.0+

Installation

  1. Clone the repository:
git clone https://github.com/VAST-AI-Research/TripoSF.git
cd TripoSF
  1. Install dependencies:
# Install PyTorch (select the correct CUDA version)
pip install torch torchvision --index-url https://download.pytorch.org/whl/{your-cuda-version}

# Install other dependencies
pip install -r requirements.txt

💫 Usage

Pretrained Model Setup

  1. Download our pretrained models from Hugging Face
  2. Place the models in the ckpts/ directory

Running Inference

Basic reconstruction using TripoSFVAE:

python inference.py --mesh-path "assets/examples/jacket.obj" \
                   --output-dir "outputs/" \
                   --config "configs/TripoSFVAE_1024.yaml"

Local Gradio Example

python app.py

gradio_example

Optimization Tips 💡

For Open Surfaces

  • Enable pruning in the configuration:
    pruning: true
  • Benefits:
    • Higher-fidelity reconstruction
    • Faster processing
    • Better memory efficiency

For Complex Shapes

  • Increase sampling density:
    sample_points_num: 1638400  # Default: 819200
  • Adjust resolution based on detail requirements:
    resolution: 1024  # Options: 256, 512, 1024

📊 Technical Details

TripoSF VAE Architecture:

  • Input: Point clouds (preserving source geometry details)
  • Encoder: Sparse transformer for efficient geometry encoding
  • Decoder: Self-pruning upsampling modules maintaining sparsity
  • Output: High-resolution SparseFlex parameters for mesh extraction

📝 Citation

@article{he2025triposf,
  title={SparseFlex: High-Resolution and Arbitrary-Topology 3D Shape Modeling},
  author={He, Xianglong and Zou, Zi-Xin and Chen, Chia-Hao and Guo, Yuan-Chen and Liang, Ding and Yuan, Chun and Ouyang, Wanli and Cao, Yan-Pei and Li, Yangguang},
  journal={arXiv preprint arXiv:2503.21732},
  year={2025}
}

📚 Acknowledgements

Our work builds upon these excellent repositories:

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.