mala-lab / mepu-owod

Code Implementation of "Unsupervised Recognition of Unknown Objects for Open-World Object Detection"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MEPU-OWOD

Code Implementation of "Unsupervised Recognition of Unknown Objects for Open-World Object Detection" (arXiv 2308.16527)

Introduction

Our Key Technique: Reconstruction Error-based Weibull modeling (REW)

Dataset Preparation

Please first download the MS COCO dataset and the directory structure should be like:

mepu-owod/
└── datasets/
    └── coco/
        ├── annotations/
        ├── train2017/
        └── val2017/

Prepare dataset for S-OWOD:

sh prepare_dataset.sh

The training dataset for S-OWODB and M-OWODB should be like:

mepu-owod/
└── datasets/
    └── mowod/
        ├── Annotations/
        ├── ImageSets/
        └── JPEGImages/
    └── sowod/
        ├── Annotations/
        ├── ImageSets/
        └── JPEGImages/

Training and Testing

Unsupervised pretraining of REW:

sh train_rew.sh

Train MEPU on the S-OWOD benchmark:

sh script/train_mepu_fs.sh

Evaluate MEPU on the S-OWOD benchmark:

sh script/eval_owod.sh

Results

Task1 Task2 Task3 Task4
Method U-Recall mAP U-Recall mAP U-Recall mAP mAP
ORE-EBUI 1.5 61.4 3.9 40.6 3.6 33.7 31.8
OW-DETR 5.7 71.5 6.2 43.8 6.9 38.5 33.1
PROB 17.6 73.5 22.3 50.4 24.8 42.0 39.9
CAT 24.0 74.2 23.0 50.7 24.6 45.0 42.8
MEPU-FS (Ours) 37.9 74.3 35.8 54.3 35.7 46.2 41.2
MEPU-SS (Ours) 33.3 74.2 34.2 53.6 33.6 45.8 40.8

About

Code Implementation of "Unsupervised Recognition of Unknown Objects for Open-World Object Detection"


Languages

Language:Python 96.0%Language:Shell 4.0%