We use ModelNet, ShapeNet and ScanObjectNN as our training and test dataset. In benchmark ModelNet -> ScanObjectNN, we use 11 categories. In benchmark ShapeNet -> ScanObjectNN, we use 9 categories. Download links are shown below.
Download all these datasets and put them into dir Data
. The file tree will be like this:
|--data
|--modelnet_11
|--scanobjectnn_11
|--shapenet_9
|--scanobjectnn_9
We trained model on task ModelNet -> ScanObjectNN and ShapeNet -> ScanObjectNN. Download links are shown below.
Download all these models and put them into dir models
. The file tree will be like this:
|--models
|--best_model_model2scan.pt
|--best_model_shape2scan.pt
After download all models and datasets, and put them into dirs, the whole file tree will be like this:
|--data
|--models
|--data_utils.py
|--dataloader.py
|--model_pointnet_meta.py
|--model_utils_meta.py
|--test.py
|--train.py
torch==1.4.0
torchvision==0.5.0
torchmeta
h5py
matplotlib
numpy
Cuda 10.0
Nvidia-driver >=440
# assemble that 4 gpus are available
python train.py -source modelnet_11 -target scanobjectnn_11 -g 0,1,2,3
python train.py -source shapenet_9 -target scanobjectnn_9 -g 0,1,2,3
python test.py ./data/scanobjectnn_11 models/best_model_model2scan.pt
python test.py ./data/scanobjectnn_9 models/best_model_shape2scan.pt
- Benchmark I: ModelNet -> ScanObjectNN 68.63%
- Benchmark II: ShapeNet -> ScanObjectNN 56.75%