TripoSF: High-Resolution and Arbitrary-Topology 3D Shape Modeling with SparseFlex
🌟 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
- Pretrained VAE model weights (
🚀 Getting Started
System Requirements
- CUDA-capable GPU (≥12GB VRAM for
$1024^3$ resolution) - PyTorch 2.0+
Installation
- Clone the repository:
git clone https://github.com/VAST-AI-Research/TripoSF.git
cd TripoSF- 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
- Download our pretrained models from Hugging Face
- 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
Optimization Tips 💡
For Open Surfaces
- Enable
pruningin the configuration: - 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.

