Open Long-Tailed Recognition (OLTR)
is the author's re-implementation of the long-tail recognizer described in:
"Large-Scale Long-Tailed Recognition in an Open World"
Ziwei Liu*, Zhongqi Miao*, Xiaohang Zhan, Jiayun Wang, Boqing Gong, Stella X. Yu (CUHK & UC Berkeley / ICSI)
in IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2019, Oral Presentation
Further information please contact Zhongqi Miao and Ziwei Liu.
- 05/02/2019: Fixed a bug in
run_network.py
so the models train properly. Update configuration file for Imagenet-LT stage 1 training so that the results from the paper can be reproduced.
- PyTorch (version >= 0.4.1)
- scikit-learn
NOTE: Places-LT dataset have been updated since the first version. Please download again if you have the first version.
-
First, please download the ImageNet_2014 and Places_365 (256x256 version). Please also change the
data_root
inmain.py
accordingly. -
Next, please download ImageNet-LT and Places-LT from here. Please put the downloaded files into the
data
directory like this:
data
|--ImageNet_LT
|--ImageNet_LT_open
|--ImageNet_LT_train.txt
|--ImageNet_LT_test.txt
|--ImageNet_LT_val.txt
|--ImageNet_LT_open.txt
|--Places_LT
|--Places_LT_open
|--Places_LT_train.txt
|--Places_LT_test.txt
|--Places_LT_val.txt
|--Places_LT_open.txt
- Caffe pretrained ResNet152 weights can be downloaded from here, and save the file to
.logs/caffe_resnet152.pth
- Stage 1 training:
python main.py --config ./config/ImageNet_LT/stage_1.py
- Stage 2 training:
python main.py --config ./config/ImageNet_LT/stage_2_meta_embedding.py
- Close-set testing:
python main.py --config ./config/ImageNet_LT/stage_2_meta_embedding.py --test
- Open-set testing (thresholding)
python main.py --config ./config/ImageNet_LT/stage_2_meta_embedding.py --test_open
- Test on stage 1 model
python main.py --config ./config/ImageNet_LT/stage_1.py --test
- Stage 1 training:
python main.py --config ./config/Places_LT/stage_1.py
- Stage 2 training:
python main.py --config ./config/Places_LT/stage_2_meta_embedding.py
- Close-set testing:
python main.py --config ./config/Places_LT/stage_2_meta_embedding.py --test
- Open-set testing (thresholding)
python main.py --config ./config/Places_LT/stage_2_meta_embedding.py --test_open
The use of this software is RESTRICTED to non-commercial research and educational purposes.
@inproceedings{openlongtailrecognition,
title={Large-Scale Long-Tailed Recognition in an Open World},
author={Liu, Ziwei and Miao, Zhongqi and Zhan, Xiaohang and Wang, Jiayun and Gong, Boqing and Yu, Stella X.},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2019}
}