Code for CVPR 2024 paper Exploring Orthogonality in Open World Object Detection.
- Linux or macOS with Python ≥ 3.8.
- Install PyTorch ≥ 1.9.0, torchvision, Detectron2, timm, and einops.
- Prepare datasets:
- Download COCO and PASCAL VOC.
- Convert annotation format using
coco_to_voc.py
. - Move all images to
datasets/JPEGImages
and annotations todatasets/Annotations
.
- Training for open world object detection:
Evaluation for open world object detection:
bash run_owod.sh
bash test_owod.sh
- Experiment for incremental object detection:
bash run_iod.sh
- Visualize the results:
python demo.py -i LIST_OF_IMAGES
- Note that we are using an ImageNet pre-trained backbone. To switch to a DINO pre-trained backbone, please download the model weights and then follow these instructions.
The following results were obtained with four NVIDIA 2080 Ti GPUs, using the checkpoints at this link.
If you find this code useful, please consider citing:
@inproceedings{sun2024exploring,
title={Exploring Orthogonality in Open World Object Detection},
author={Sun, Zhicheng and Li, Jinghan and Mu, Yadong},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={17302--17312},
year={2024},
}
Our implementation is based on RandBox which uses Detectron2 and Sparse R-CNN.