Need help with FewX?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

fanq15
141 Stars 20 Forks 31 Commits 25 Opened issues

Description

FewX is an open-source toolbox on top of Detectron2 for data-limited instance-level recognition tasks.

Services available

!
?

Need anything else?

Contributors list

# 266,943
Shell
few-sho...
C++
MATLAB
28 commits

FewX

FewX is an open source toolbox on top of Detectron2 for data-limited instance-level recognition tasks, e.g., few-shot object detection, few-shot instance segmentation, partially supervised instance segmentation and so on.

All data-limited instance-level recognition works from Qi Fan (HKUST, [email protected]) are open-sourced here.

To date, FewX implements the following algorithms:

  • FSOD: few-shot object detection.
  • CPMask: partially supervised/fully supervised/few-shot instance segmentation (to be released).

Highlights

  • State-of-the-art performance.
    • FSOD is the best few-shot object detection model. (This model can be directly applied to novel classes without finetuning. And finetuning can bring better performance.)
    • CPMask is the best partially supervised/few-shot instance segmentation model.
  • Easy to use. You only need to run 3 code lines to conduct the entire experiment.
    • Install Pre-Built Detectron2 in one code line.
    • Prepare dataset in one code line. (You need to first download the dataset and change the data path in the script.)
    • Training and evaluation in one code line.

Updates

  • FewX has been released. (09/08/2020)

Results on MS COCO

Few Shot Object Detection

|Method|Training Dataset|Evaluation way&shot|box AP|download| |:--------:|:--------:|:--------:|:--------:|:--:| |FSOD (paper)|COCO (non-voc)|full-way 10-shot|11.1|-| |FSOD (this implementation)|COCO (non-voc)|full-way 10-shot|12.0|model | metrics|

The results are reported on the COCO voc subset with ResNet-50 backbone.

The model only trained on base classes is base model .

You can reference the original FSOD implementation on the Few-Shot-Object-Detection-Dataset.

Step 1: Installation

You only need to install detectron2. We recommend the Pre-Built Detectron2 (Linux only) version with pytorch 1.5. I use the Pre-Built Detectron2 with CUDA 10.1 and pytorch 1.5 and you can run this code to install it.

python -m pip install detectron2 -f \
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.5/index.html

Step 2: Prepare dataset

  • Prepare for coco dataset following this instruction.

  • cd datasets
    , change the
    DATA_ROOT
    in the
    generate_support_data.sh
    to your data path and run
    sh generate_support_data.sh
    .
cd FewX/datasets
sh generate_support_data.sh

Step 3: Training and Evaluation

Run

sh all.sh
in the root dir. (This script uses
4 GPUs
. You can change the GPU number. If you use 2 GPUs with unchanged batch size (8), please halve the learning rate.)
cd FewX
sh all.sh

TODO

  • [ ] Add other dataset results to FSOD.
  • [ ] Add CPMask code with partially supervised instance segmentation, fully supervised instance segmentation and few-shot instance segmentation.

Citing FewX

If you use this toolbox in your research or wish to refer to the baseline results, please use the following BibTeX entries.

  @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}
  }

@inproceedings{fan2020cpmask, title={Commonality-Parsing Network across Shape and Appearance for Partially Supervised Instance Segmentation}, author={Fan, Qi and Ke, Lei and Pei, Wenjie and Tang, Chi-Keung and Tai, Yu-Wing}, booktitle={ECCV}, year={2020} }

Special Thanks

Detectron2, AdelaiDet, centermask2

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.