Add pipeline tag, paper link, and comprehensive model card

#1
by nielsr HF Staff - opened
Files changed (1) hide show
  1. README.md +103 -0
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
+ ```