TripoSF: High-Resolution and Arbitrary-Topology 3D Shape Modeling with SparseFlex
April 7, 2025 ยท View on GitHub
By Tripo

๐ 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 $1$024^{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 ($1$024^{3}$$ reconstruction)
- Inference scripts and examples
- SparseFlex implementation
๐ Getting Started
System Requirements
- CUDA-capable GPU (โฅ12GB VRAM for $1$024^{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
python app.py

Optimization Tips ๐ก
For Open Surfaces
- Enable
pruningin 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.