Skip to content

complete3d/simeco

Repository files navigation

SIMECO: SIM(3)-Equivariant Shape Completion

NeurIPS 2025

Website arXiv Hugging Face Model Colab Demo License: MIT

3D shape completion methods typically assume scans are pre-aligned to a canonical frame. When such alignment is absent in real data, performance collapses. SIMECO is a SIM(3)-equivariant network that delivers generalizable shape completion.

teaser

Getting Started with the Demo 🤹‍♂️

You can run the demo in one of two ways:

  • Google Colab (Recommended): No installation needed; get started instantly in the cloud.
  • Local Linux: Set up the environment locally for GPU-accelerated inference.

Google Colab ☁️

To run the demo on Google Colab, simply click the badge above. Follow the instructions and execute the cells sequentially with a GPU instance. Please note that setting up the environment and installing dependencies will take about 1-2 minutes.

Local Linux 🖥️

Note

A CUDA-enabled GPU is required for local inference.

  1. Clone the repository:

    git clone https://github.com/complete3d/simeco.git && cd simeco && git lfs pull
  2. Create a conda environment with all dependencies (this will take approximately 5 minutes):

    . install.sh
  3. Run the inference code and choose the desired transformation mode (e.g., sim3, translation, scale or rotation). The results will be saved in the data/result directory.

    python inference.py evaluate.single_file_path="demo/demo_data/pc/2a05d684eeb9c1cfae2ca9bb680dd18b.npy" evaluate.aug_mode="sim3" 

🚀 Usage:

Training 🏋️‍♀️

  • Start training using one of the two parallelization:

    Distributed Data Parallel (DDP):

    # Replace device IDs with your own
    CUDA_VISIBLE_DEVICES=0,1 ./scripts/train_ddp.sh

    Data Parallel (DP):

    # Replace device IDs with your own
    CUDA_VISIBLE_DEVICES=0,1 ./scripts/train_dp.sh
  • Monitor training progress using TensorBoard:

    # Replace ${exp_name} with your experiment name (e.g., default)
    # Board typically available at http://localhost:6006
    tensorboard --logdir './output/${exp_name}/tensorboard'

Evaluation 📊

  • To evaluate a pre-trained SIMECO model using a single GPU:

    # Replace device IDs with your own
    CUDA_VISIBLE_DEVICES=0 ./scripts/test.sh

Dataset 📂

We use the official PCN dataset. Please download the dataset from PCN and place it under the data/ directory. The expected directory structure is:

│PCN/
├──train/
│  ├── complete
│  │   ├── 02691156
│  │   │   ├── 1a04e3eab45ca15dd86060f189eb133.pcd
│  │   │   ├── .......
│  │   ├── .......
│  ├── partial
│  │   ├── 02691156
│  │   │   ├── 1a04e3eab45ca15dd86060f189eb133
│  │   │   │   ├── 00.pcd
│  │   │   │   ├── 01.pcd
│  │   │   │   ├── .......
│  │   │   │   └── 07.pcd
│  │   │   ├── .......
│  │   ├── .......
├──test/
│  ├── complete
│  │   ├── .......
│  ├── partial
│  │   ├── .......
├──val/
│  ├── complete
│  │   ├── .......
│  ├── partial
│  │   ├── .......
├──PCN.json
└──category.txt

⚖️ Debiased Evaluation Protocol

To remove pose and scale bias, the centroid and scale are computed only from the partial input and applied to both partial and GT:

import numpy as np
from scipy.spatial.transform import Rotation

centroid = pc.mean(0, keepdims=True)
scale = 1.0 / np.max(np.linalg.norm(pc - centroid, axis=1))
R = Rotation.random().as_matrix()

pc = ((pc - centroid) * scale) @ R.T
gt = ((gt - centroid) * scale) @ R.T

For evaluation, we recover the original scale before computing metrics:

pred = pred / scale
gt   = gt   / scale

🚧 TODOs

  • Code release
  • Debiased evaluation protocol
  • HF release

🎓 Citation

If you use SIMECO in a scientific work, please consider citing the paper:

[paper]  [arxiv]  [bibtex]

@article{wang2025simeco,
    title={Learning Generalizable Shape Completion with SIM(3) Equivariance}, 
    author={Yuqing Wang and Zhaiyu Chen and Xiao Xiang Zhu},
    journal={arXiv preprint arXiv:2509.26631},
    year={2025}
}

🙏 Acknowledgements

Part of our implementation is based on the PoinTr repository. We thank the authors for open-sourcing their great work.

About

Learning generalizable shape completion with SIM(3) equivariance [NeurIPS 2025]

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •