Code of our paper Open-World Weakly-Supervised Object Localization.
- Python 3
- PyTorch 1.7.1
- OpenCV-Python
- Numpy
- Scipy
- MatplotLib
- faiss-gpu
- munch
"train" and "val" splits of original ImageNet are treated as our train
and test
, ImageNetV2 is treated as our val
.
Make sure your dataset/ILSVRC
folder is structured as follows:
├── ILSVRC/
| ├── train/
| | |── n01440764
| | |── n01443537
| | |── ...
| ├── val
| | |── n01440764
| | |── n01443537
| | |── ...
| ├── val2
| | |── 0
| | |── 1
| | └── ...
You can download the annotations of datasets from Download metadata, the password is dqdf
.
Make sure your metadata/ImageNet
folder is structured as follows:
├── ImageNet/
| ├── train/
| | |── class_labels.txt
| | |── image_ids.txt
| | |── image_ids_labeled.txt
| ├── test
| | |── class_labels.txt
| | |── image_ids.txt
| | |── image_sizes.txt
| | |── localization.txt.txt
| | |── partitions.txt
| ├── val
| | |── class_labels.txt
| | |── image_ids.txt
| | |── image_sizes.txt
| | |── localization.txt.txt
| | |── partitions.txt
for test
and val
, the partitions of Known, Nov-S and Nov-D is described in partitions.txt
. In detail, 0, 1 and 2 are correspond to Known, Nov-S and Nov-D, respectively.
perform contrastive representation co-learning on ImageNet-1K dataset
bash bash_script/train_imagenet.sh
perform g-cam on ImageNet-1K dataset
bash bash_script/gcam_imagenet.sh