Light-SQ: Structure-aware Shape Abstraction with Superquadrics for
Generated Meshes
SIGGRAPH Asia 2025
TL;DR
We present Light-SQ, a novel superquadric-based optimization framework that explicitly emphasizes structure-awareness.
TODO
Pull requests for the above features are very welcome!
Requirements
The installation process below has been tested on a Linux machine with NVIDIA T4 GPU from scratch.
- Basic Installation, cuda-12.4 as an example
conda create -n lightsq python=3.11
conda activate lightsq
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
- CHECK your installed
open3d version
If you are using open3d 0.18.0, you can continue with numpy-2, and make sure you install kaolin==0.18.0
pip install kaolin==0.18.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-{TORCH_VERSION}_cu{CUDA_VERSION}.html
# For the version stated above (cu124, torch-2.5.1)
pip install kaolin==0.18.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.5.1_cu124.html
- Move to
pytorch_minimize and install it.
NOTE: The implementation in this folder differs from the official pytorch minimize. It includes the TRF solver with bound constraints required by our fitting algorithm.
cd pytorch_minimize
pip install -e .
Execution
Run Light-SQ without convex decomposition guidance
- SDF computation
in_data_dir can be either a folder containing meshes or a mesh filepath.
out_data_dir is the output root, for [name].glb, the sdf and visualizations will be stored to [out_data_dir]/[name]/sdf_extraction
python prepare_sdf_cuda.py -i [in_data_dir] -o [output_folder] --device cuda:0 --grid_resolution 100 [--save_viz]
# Example using data/test.glb
python prepare