Project page: https://yd-yin.github.io/FisherMatch/
- PyTorch=1.8.1 + torchvision=0.9.1 + cudatoolkit=10.2
- PyTorch3D (Installation via
conda
orpypi
may be problematic. Build from source if necessary.) - Other dependencies
pip install opencv-python tqdm matplotlib scipy tensorboard configargparse lmdb pyyaml
ModelNet10-SO(3)
Download ModelNet10-SO(3) dataset here and link it to data/ModelNet10-SO3
unzip ModelNet10-SO3.zip
ln -s $PWD/ModelNet10-SO3 $PROJECT_PATH/data/ModelNet10-SO3
Pascal3D+
Download Pascal3D+ (release1.1) dataset here and link it to data/pascal3d
unzip PASCAL3D+_release1.1.zip
ln -s $PWD/PASCAL3D+_release1.1 $PROJECT_PATH/data/pascal3d
Generate data annotations
python dataset_pascal.py
The default experiment setting is stored in settings/ssl.yml
.
To change the settings, you may either specify arguments in the command-line, or create settings/EXAMPLE.yml
and pass it to --config
argument.
If a value is specified in more than one way then: command line > config file values > defaults.
python train.py [--config=settings/EXAMPLE.yml]
For experiments on Pascal3D+ dataset, we use different confidence thresholds for different categories and #labeled images. Please finetune the confidence threshold hyper-parameter to get better results.
The training process is logged by tensorboard
.
python eval.py CKPT_FILES [--config=settings/EXAMPLE.yml]
@InProceedings{yin2022fishermatch,
author={Yin, Yingda and Cai, Yingcheng and Wang, He and Chen, Baoquan},
title={FisherMatch: Semi-Supervised Rotation Regression via Entropy-Based Filtering},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month={June},
year={2022},
pages={11164-11173}
}