MoST: Efficient Monarch Sparse Tuning for 3D Representation Learning (CVPR 2025)

September 20, 2025 · View on GitHub

CVPR 2025 arXiv

This repository contains the official implementation of the paper:

[CVPR 2025] MoST: Efficient Monarch Sparse Tuning for 3D Representation Learning


⭐ Star us on GitHub if this project helps you! ⭐

📰 News

  • [2025/09] We released a simple implementation of MoST. More code is on the way!
  • [2025/04] 🎉 MoST is accepted by CVPR 2025!
  • [2025/03] Paper is available on arXiv!

📋 TODO

  • Release the training and evaluation code based on PointGPT-L
  • Release the pretrained weights
  • Implementation based on other models.

🎒 Requirements

Environment: Code tested on:

  • Ubuntu == 20.04, GCC == 9.4, Python == 3.10
  • PyTorch == 2.1.2, CUDA == 11.8

Installation:

# Clone the repository
git clone https://github.com/xhanxu/MoST.git
cd MoST

# Install basic requirements
conda create -n most python=3.10
conda activate most

pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

Install point cloud processing extensions:

cd ./extensions/chamfer_dist
python setup.py install --user
cd ../emd
python setup.py install --user

# Install PointNet++
pip install "git+https://github.com/erikwijmans/Pointnet2_PyTorch.git#egg=pointnet2_ops&subdirectory=pointnet2_ops_lib"

# Install GPU kNN
pip install --upgrade https://github.com/unlimblue/KNN_CUDA/releases/download/0.2/KNN_CUDA-0.2-py3-none-any.whl

🗂️ Datasets

We evaluate MoST on three major 3D point cloud benchmarks:

  • ModelNet40: Object classification with 40 categories
  • ScanObjectNN: Real-world point cloud classification (hardest variant)
  • ShapeNetPart: Part segmentation with fine-grained annotations

For detailed dataset preparation, please refer to DATASET.md.

🧪 MoST (PointGPT-L)

Classification Results

DatasetMethodBackboneTrainable ParamsAccuracyDownload
ModelNet40Full Fine-tuningPointGPT-L360.5M (100%)94.1%-
ModelNet40MoSTPointGPT-L8.0M (2%)96.2%-
ScanObjectNNFull Fine-tuningPointGPT-L360.5M (100%)93.4%-
ScanObjectNNMoSTPointGPT-L8.0M (2%)97.5%-

🚀 Quick Start

Pretrained Models

Download PointGPT-L pretrained weights from here.

MoST Fine-tuning

Fine-tuning on ModelNet40:

bash scripts/run_mn40.sh

Fine-tuning on ScanObjectNN:

bash scripts/run_sonn.sh

Custom Training:

CUDA_VISIBLE_DEVICES=0 python main.py \
    --config cfgs/PointGPT-L/finetune_modelnet_peft.yaml \
    --exp_name your_experiment_name \
    --ckpts path/to/pretrained/checkpoint.pth

😊 Acknowledgement

We would like to thank the authors of Monarch, PointGPT, Point-BERT, and Point-MAE for their great works and repos.

😀 Contact

If you have any questions or are looking for cooperation in related fields, please contact Xu Han via xhanxu@hust.edu.cn.

📚 Citation

If you find our work helpful, please consider citing:

@inproceedings{han2025most,
  title={MoST: Efficient Monarch Sparse Tuning for 3D Representation Learning},
  author={Han, Xu and Tang, Yuan and Xu, Jinfeng and Li, Xianzhi},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
  pages={6584--6594},
  year={2025}
}

📄 License

This project is licensed under the MIT License.