Conventional methods for object detection typically require a substantial amount of training data and preparing such high-quality training data is very labor-intensive. In this paper, we propose a novel few-shot object detection network that aims at detecting objects of unseen categories with only a few annotated examples. Central to our method are our Attention-RPN, Multi-Relation Detector and Contrastive Training strategy, which exploit the similarity between the few shot support set and query set to detect novel objects while suppressing false detection in the background. To train our network, we contribute a new dataset that contains 1000 categories of various objects with high-quality annotations. To the best of our knowledge, this is one of the first datasets specifically designed for few-shot object detection. Once our few-shot network is trained, it can detect objects of unseen categories without further training or finetuning. Our method is general and has a wide range of potential applications. We produce a new state-of-the-art performance on different datasets in the few-shot setting. The dataset link is https://github.com/fanq15/Few-Shot-Object-Detection-Dataset.
@inproceedings{fan2020fsod,
title={Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector},
author={Fan, Qi and Zhuo, Wei and Tang, Chi-Keung and Tai, Yu-Wing},
booktitle={CVPR},
year={2020}
}
Note: ALL the reported results use the data split released from TFA official repo. Currently, each setting is only evaluated with one fixed few shot dataset. Please refer to DATA Preparation to get more details about the dataset and data preparation.
Following the original implementation, it consists of 2 steps:
Step1: Base training
Step2: Few shot fine-tuning:
# step1: base training for voc split1
bash ./tools/detection/dist_train.sh \
configs/detection/attention_rpn/voc/split1/attention-rpn_r50_c4_voc-split1_base-training.py 8
# step2: few shot fine-tuning
bash ./tools/detection/dist_train.sh \
configs/detection/attention_rpn/voc/split1/attention-rpn_r50_c4_voc-split1_1shot-fine-tuning.py 8
Note:
work_dirs/{BASE TRAINING CONFIG}/latest.pth
.
When the model is saved to different path, please update the argument load_from
in step2 few shot fine-tune configs instead
of using resume_from
.load_from
to the downloaded checkpoint path.Note:
Arch | Split | Base AP50 | ckpt | log |
---|---|---|---|---|
r50 c4 | 1 | 71.9 | ckpt | log |
r50 c4 | 2 | 73.5 | ckpt | log |
r50 c4 | 3 | 73.4 | ckpt | log |
Arch | Split | Shot | Novel AP50 | ckpt | log |
---|---|---|---|---|---|
r50 c4 | 1 | 1 | 35.0 | ckpt | log |
r50 c4 | 1 | 2 | 36.0 | ckpt | log |
r50 c4 | 1 | 3 | 39.1 | ckpt | log |
r50 c4 | 1 | 5 | 51.7 | ckpt | log |
r50 c4 | 1 | 10 | 55.7 | ckpt | log |
r50 c4 | 2 | 1 | 20.8 | ckpt | log |
r50 c4 | 2 | 2 | 23.4 | ckpt | log |
r50 c4 | 2 | 3 | 35.9 | ckpt | log |
r50 c4 | 2 | 5 | 37.0 | ckpt | log |
r50 c4 | 2 | 10 | 43.3 | ckpt | log |
r50 c4 | 3 | 1 | 31.9 | ckpt | log |
r50 c4 | 3 | 2 | 30.8 | ckpt | log |
r50 c4 | 3 | 3 | 38.2 | ckpt | log |
r50 c4 | 3 | 5 | 48.9 | ckpt | log |
r50 c4 | 3 | 10 | 51.6 | ckpt | log |
Note:
Arch | data source | Base mAP | ckpt | log |
---|---|---|---|---|
r50 c4 | TFA | 23.6 | ckpt | log |
r50 c4 | official repo | 24.0 | ckpt | log |
Arch | data source | Shot | Novel mAP | ckpt | log |
---|---|---|---|---|---|
r50 c4 | TFA | 10 | 9.2 | ckpt | log |
r50 c4 | TFA | 30 | 14.8 | ckpt | log |
r50 c4 | official repo | 10 | 11.6 | ckpt | log |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )