By Haoxi Ran* , Jun Liu, Chengjie Wang ( * : corresponding contact)
We tested under the environment:
- python 3.7
- pytorch 1.6.0
- cuda 10.1
- gcc 7.2.0
- h5py
For anaconda user, initialize the conda environment repsurf-cls by:
sh init.sh
ScanObjectNN (Data & Logs: Google Drive)
- Performance:
Model | Accuracy | #Params | Augment | Code | Log | Checkpoint |
---|---|---|---|---|---|---|
MVTN | 82.8 | 4.24M | None | link | N/A | link |
PointMLP | 85.7 | 12.6M | Scale, Shift | link | link | link |
PointNet++ SSG | 77.9 | 1.475M | Rotate, Jitter | link | N/A | N/A |
Umbrella RepSurf (PointNet++ SSG) | 84.87 | 1.483M | None | link | google drive | google drive (6MB) |
Umbrella RepSurf (PointNet++ SSG, 2x) | 86.05 | 6.806M | None | link | google drive | google drive (27MB) |
- To download dataset:
wget https://download.cs.stanford.edu/orion/scanobjectnn/h5_files.zip
unzip h5_files.zip
ln -s [PATH]/h5_files data/ScanObjectNN
Note: We conduct all experiments on the hardest variant of ScanObjectNN (PB_T50_RS).
- To train Umbrella RepSurf on ScanObjectNN:
sh scripts/scanobjectnn/repsurf_ssg_umb.sh
- To train Umbrella RepSurf (2x setting) on ScanObjectNN:
sh scripts/scanobjectnn/repsurf_ssg_umb_2x.sh
We use part of the library pointops from PointWeb.
RepSurf is under the Apache-2.0 license. Please contact the primary author Haoxi Ran ([email protected]) for commercial use.