revisiting open world object detection
 
 
 
 
Go to file
RE-OWOD 53d882fe44
Add files via upload
2022-06-19 20:06:38 +08:00
configs Add files via upload 2022-01-11 11:05:43 +08:00
datasets Add files via upload 2022-06-19 20:00:23 +08:00
demo Add files via upload 2022-01-04 13:17:03 +08:00
detectron2 Add files via upload 2022-06-19 20:06:04 +08:00
dev Add files via upload 2022-01-04 13:17:03 +08:00
docker Add files via upload 2022-01-04 13:17:03 +08:00
docs Add files via upload 2022-01-04 13:17:03 +08:00
projects Add files via upload 2022-01-04 13:54:26 +08:00
tests Add files via upload 2022-01-05 14:35:20 +08:00
tools Add files via upload 2022-01-04 17:26:58 +08:00
GETTING_STARTED.md Add files via upload 2022-01-04 13:17:03 +08:00
INSTALL.md Add files via upload 2022-01-04 22:09:10 +08:00
LICENSE Initial commit 2022-01-03 11:58:38 +08:00
MODEL_ZOO.md Add files via upload 2022-01-04 13:17:03 +08:00
README.md Update README.md 2022-06-19 20:03:06 +08:00
ablation.sh Add files via upload 2022-01-04 13:17:03 +08:00
replicate.sh Add files via upload 2022-01-04 13:17:03 +08:00
requirement.txt Add files via upload 2022-01-04 13:17:03 +08:00
run.sh Add files via upload 2022-01-04 13:17:03 +08:00
run_OWOD_origin.sh Add files via upload 2022-01-04 13:17:03 +08:00
setup.cfg Add files via upload 2022-01-04 13:17:03 +08:00
setup.py Add files via upload 2022-01-04 13:17:03 +08:00
visualise_detections.py Add files via upload 2022-01-04 13:17:03 +08:00

README.md

Revisiting Open World Object Detection [arXiv]

Installation

See INSTALL.md.

Dataset

Our new data division is based on COCO2017. We divide the training set into four tasks, in which each task has 20 categories. For each task, we obtained images containing the categories of each task from the training set, and removed the annotation information of other categories in these pictures during training. In each task, 1000 images are sampled as the validation set. And we de duplicate the training set and the validation set. For the testing set, we adopt the validation set of COCO2017, which contains relatively complete annotation information.

The data files are at ./datasets/Main/.

Train

Train with PAD:

The PAD module is implemented in ./detectron2/modeling/roi_heads/roi_heads.py,where the file generated by selective search needs to be loaded. The code that generates these files is in the ./datasets/save_selective_search.py.

Inference

Inference with CEC

python tools/train_net.py --num-gpus 3\
                          --eval-only --config-file ./configs/OWOD/t1/t1_test.yaml \
                          SOLVER.IMS_PER_BATCH 6 SOLVER.BASE_LR 0.005 \
                          OUTPUT_DIR "./output/t1/test_dir/" \
                          MODEL.WEIGHTS "/Path/To/Your/Model" \
                          OWOD.GENERATE_CALI False \
                          OWOD.CALI_PATH "/home/RE-OWOD-main/analysis/t1_REOWOD_train_scores_cali_07" \
                          OWOD.UNK_THRESH 0.6

Inference without CEC

python tools/train_net.py --num-gpus 3\
                          --eval-only --config-file ./configs/OWOD/t1/t1_test.yaml \
                          SOLVER.IMS_PER_BATCH 6 SOLVER.BASE_LR 0.005 \
                          OUTPUT_DIR "./output/t1/test_dir/" \
                          MODEL.WEIGHTS "/Path/To/Your/Model" \
                          OWOD.GENERATE_CALI True

If you want to generate CEC pickle file with train datasets, you need to repalce "./detectron2/evaluation/evaluator.py" with "./detectron2/evaluation/evaluator_cali.py". Remember to add current stage to CEC pickle files' name in "./detectron2/evaluation/evaluator_cali.py".

python tools/train_net.py --num-gpus 3\
                          --eval-only --config-file ./configs/OWOD/t1/t1_test.yaml \
                          SOLVER.IMS_PER_BATCH 6 SOLVER.BASE_LR 0.005 \
                          OUTPUT_DIR "./output/t1/test_dir/" \
                          MODEL.WEIGHTS "/Path/To/Your/Model" \
                          OWOD.GENERATE_CALI True