Add pipeline tag, paper link, and comprehensive model card
#1
by nielsr HF Staff - opened
README.md
CHANGED
|
@@ -1,3 +1,106 @@
|
|
| 1 |
---
|
| 2 |
license: mit
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: mit
|
| 3 |
+
pipeline_tag: other
|
| 4 |
---
|
| 5 |
+
|
| 6 |
+
# Point-Selection Fine-Tuning Framework for Robust Point Cloud Classification (PRCV 2026)
|
| 7 |
+
|
| 8 |
+
This repository contains the official pre-trained model checkpoints and dataset references for **PSFT**, a parameter-efficient point-selection fine-tuning framework that improves the robustness of 3D point cloud pre-trained models against noise and corruptions.
|
| 9 |
+
|
| 10 |
+
[[\ud83d\udcc4 Paper (arXiv:2607.19711)](https://arxiv.org/abs/2607.19711)] [[\ud83d\udcbb Code](https://github.com/CVChMA/PSFT)]
|
| 11 |
+
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
## Pretrained Models
|
| 15 |
+
|
| 16 |
+
The released checkpoints are hosted in this repository. Each checkpoint contains the classifier model and point-selection model used by `test_ps.py`.
|
| 17 |
+
|
| 18 |
+
ModelNet-C and ModelNet40-C share the same checkpoints. Use the `ModelNet-C` checkpoint files for both `ModelNet-C` and `ModelNet40-C` evaluation.
|
| 19 |
+
|
| 20 |
+
| Dataset | Backbone | Method | Augmentation | Download |
|
| 21 |
+
| :--- | :--- | :--- | :--- | :--- |
|
| 22 |
+
| `ModelNet-C` / `ModelNet40-C` | `Point-BERT` | PSFT | None | [Download](./ModelNet-C/Train-PS-Point-BERT-PG-ModelNet-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 23 |
+
| `ModelNet-C` / `ModelNet40-C` | `Point-BERT` | PSFT + Aug. | WOLFMix | [Download](./ModelNet-C/Train-PS-Point-BERT-PG-ModelNet-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 24 |
+
| `ModelNet-C` / `ModelNet40-C` | `Point-MAE` | PSFT | None | [Download](./ModelNet-C/Train-PS-Point-MAE-PG-ModelNet-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 25 |
+
| `ModelNet-C` / `ModelNet40-C` | `Point-MAE` | PSFT + Aug. | WOLFMix | [Download](./ModelNet-C/Train-PS-Point-MAE-PG-ModelNet-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 26 |
+
| `ModelNet-C` / `ModelNet40-C` | `ULIP-2` | PSFT | None | [Download](./ModelNet-C/Train-PS-ULIP-2-PG-ModelNet-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 27 |
+
| `ModelNet-C` / `ModelNet40-C` | `ULIP-2` | PSFT + Aug. | WOLFMix | [Download](./ModelNet-C/Train-PS-ULIP-2-PG-ModelNet-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 28 |
+
| `ModelNet-C` / `ModelNet40-C` | `Uni3d-B` | PSFT | None | [Download](./ModelNet-C/Train-PS-Uni3d-B-PG-ModelNet-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 29 |
+
| `ModelNet-C` / `ModelNet40-C` | `Uni3d-B` | PSFT + Aug. | WOLFMix | [Download](./ModelNet-C/Train-PS-Uni3d-B-PG-ModelNet-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 30 |
+
| `ScanObjectNN-C` | `Point-BERT` | PSFT | None | [Download](./ScanObjectNN-C/Train-PS-Point-BERT-PG-ScanObjectNN-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 31 |
+
| `ScanObjectNN-C` | `Point-BERT` | PSFT + Aug. | WOLFMix | [Download](./ScanObjectNN-C/Train-PS-Point-BERT-PG-ScanObjectNN-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 32 |
+
| `ScanObjectNN-C` | `Point-MAE` | PSFT | None | [Download](./ScanObjectNN-C/Train-PS-Point-MAE-PG-ScanObjectNN-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 33 |
+
| `ScanObjectNN-C` | `Point-MAE` | PSFT + Aug. | WOLFMix | [Download](./ScanObjectNN-C/Train-PS-Point-MAE-PG-ScanObjectNN-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 34 |
+
| `ScanObjectNN-C` | `ULIP-2` | PSFT | None | [Download](./ScanObjectNN-C/Train-PS-ULIP-2-PG-ScanObjectNN-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 35 |
+
| `ScanObjectNN-C` | `ULIP-2` | PSFT + Aug. | WOLFMix | [Download](./ScanObjectNN-C/Train-PS-ULIP-2-PG-ScanObjectNN-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 36 |
+
| `ScanObjectNN-C` | `Uni3d-B` | PSFT | None | [Download](./ScanObjectNN-C/Train-PS-Uni3d-B-PG-ScanObjectNN-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt) |
|
| 37 |
+
| `ScanObjectNN-C` | `Uni3d-B` | PSFT + Aug. | WOLFMix | [Download](./ScanObjectNN-C/Train-PS-Uni3d-B-PG-ScanObjectNN-C-add_FFM-Augmentation%3AWOLFMix-train_alpha%3A0.5_epoch_300.pt) |
|
| 38 |
+
|
| 39 |
+
---
|
| 40 |
+
|
| 41 |
+
## Datasets
|
| 42 |
+
|
| 43 |
+
Below are the links to clean training data and corrupted test data:
|
| 44 |
+
|
| 45 |
+
| Dataset | Classes | Training data | Corrupted test data | Checkpoint |
|
| 46 |
+
| :--- | :--- | :--- | :--- | :--- |
|
| 47 |
+
| `ModelNet-C` | 40 | [Download](https://huggingface.co/datasets/SZUChangMa/PointCloudCorruption/tree/main/modelnet40_ply_hdf5_2048) | [Download](https://huggingface.co/datasets/SZUChangMa/PointCloudCorruption/tree/main/modelnet_c) | `ModelNet-C` ckpt |
|
| 48 |
+
| `ModelNet40-C` | 40 | [Download](https://huggingface.co/datasets/SZUChangMa/PointCloudCorruption/tree/main/modelnet40_ply_hdf5_2048) | [Download](https://huggingface.co/datasets/SZUChangMa/PointCloudCorruption/tree/main/modelnet40_c) | reuse `ModelNet-C` ckpt |
|
| 49 |
+
| `ScanObjectNN-C` | 15 | [Download](https://huggingface.co/datasets/SZUChangMa/PointCloudCorruption/tree/main/ScanObjectNN/h5_files/main_split) | [Download](https://huggingface.co/datasets/SZUChangMa/PointCloudCorruption/tree/main/scanobjectnn_c) | `ScanObjectNN-C` ckpt |
|
| 50 |
+
|
| 51 |
+
---
|
| 52 |
+
|
| 53 |
+
## Quick Start
|
| 54 |
+
|
| 55 |
+
### Installation
|
| 56 |
+
|
| 57 |
+
Clone the official repository and install the dependencies:
|
| 58 |
+
|
| 59 |
+
```bash
|
| 60 |
+
git clone https://github.com/CVChMA/PSFT.git
|
| 61 |
+
cd PSFT
|
| 62 |
+
|
| 63 |
+
pip install torch torchvision torchaudio
|
| 64 |
+
pip install numpy h5py scikit-learn timm pyyaml huggingface_hub
|
| 65 |
+
pip install "git+https://github.com/erikwijmans/Pointnet2_PyTorch.git#egg=pointnet2_ops&subdirectory=pointnet2_ops_lib"
|
| 66 |
+
pip install utils/KNN_CUDA-0.2-py3-none-any.whl
|
| 67 |
+
```
|
| 68 |
+
|
| 69 |
+
### Download Checkpoints
|
| 70 |
+
|
| 71 |
+
You can easily download all the released checkpoints to your local machine:
|
| 72 |
+
|
| 73 |
+
```bash
|
| 74 |
+
pip install huggingface_hub
|
| 75 |
+
huggingface-cli download SZUChangMa/PSFT \
|
| 76 |
+
--local-dir ckpts/PSFT \
|
| 77 |
+
--include "ModelNet-C/*.pt" "ScanObjectNN-C/*.pt"
|
| 78 |
+
```
|
| 79 |
+
|
| 80 |
+
### Evaluation
|
| 81 |
+
|
| 82 |
+
To evaluate a downloaded PSFT checkpoint, execute:
|
| 83 |
+
|
| 84 |
+
```bash
|
| 85 |
+
CUDA_VISIBLE_DEVICES=0 python test_ps.py \
|
| 86 |
+
--model_path ckpts/PSFT/ModelNet-C/Train-PS-Point-BERT-PG-ModelNet-C-add_FFM-Augmentation%3ANone-train_alpha%3A0.5_epoch_300.pt \
|
| 87 |
+
--model_name Point-BERT \
|
| 88 |
+
--train_mode PG \
|
| 89 |
+
--add_FFM \
|
| 90 |
+
ModelNet-C
|
| 91 |
+
```
|
| 92 |
+
|
| 93 |
+
Please check the official [GitHub repository](https://github.com/CVChMA/PSFT) for detailed guidance on preparing pre-trained backbone models and training configs.
|
| 94 |
+
|
| 95 |
+
## Citation
|
| 96 |
+
|
| 97 |
+
If you find this work or the pre-trained weights useful, please cite:
|
| 98 |
+
|
| 99 |
+
```bibtex
|
| 100 |
+
@misc{arxiv2607.19711,
|
| 101 |
+
title = {Point-Selection Fine-Tuning Framework for Robust Point Cloud Classification},
|
| 102 |
+
author = {Da Li, Chang Ma, and Dongfu Yin},
|
| 103 |
+
year = {2026},
|
| 104 |
+
url = {https://arxiv.org/abs/2607.19711}
|
| 105 |
+
}
|
| 106 |
+
```
|