Home

Awesome

MMDetection-based Toolbox for Semi-Supervised Object Detection

Supported algorithms

Preparation

Prerequisites

pip install -r requirements.txt

Data Preparation

Please refer to prepare_data.md.

Usage

Training

1. Use labeled data to train a baseline

Before training,please download the pretrained backbone (resnet50) to pretrained_model/backbone.

# |---------------------|--------|------|---------|---------|
# | xonsh train_gpu2.sh | config | seed | percent | dataset |
# |---------------------|--------|------|---------|---------|
cd examples/train/xonsh
## ---dataset: coco-standard---
xonsh train_gpu2.sh ./configs/baseline/baseline_ssod.py 1 1 coco-standard
## ---dataset: voc---
# xonsh train_gpu2.sh ./configs/baseline/baseline_ssod.py 1 1 voc
## ---dataset: coco-additional---
# xonsh train_gpu8.sh ./configs/baseline/baseline_ssod.py 1 1 coco-additional

2. Use labeled data + unlabeled data to train detector

## note: dataset is set to none in this step.
cd examples/train/xonsh
xonsh train_gpu8.sh ./configs/labelmatch/labelmatch_standard.py 1 1 none

Evaluation

# please change "config" and "checkpoint" in 'eval.sh' scripts to support different dataset and trained model
cd examples/eval
xonsh eval.sh

Performance

LabelMatch

ModelSupervisionAPConfigModel Weights
R50-FPN1%25.81±0.28labelmatch_standard_paperTo-Be-Released
R50-FPN5%32.70±0.18labelmatch_standard_paperTo-Be-Released
R50-FPN10%35.49±0.17labelmatch_standard_paperTo-Be-Released

Extension to Domain adaptive object detection

Please refer to UDA

Citation

If you use LabelMatch in your research or wish to refer to the results published in the paper, please consider citing out paper.

@inproceedings{Chen2022LabelMatching,
    title={Label Matching Semi-Supervised Object Detection},
    author={Binbin Chen, Weijie Chen, Shicai Yang, Yunyi Xuan, JieSong, Di Xie, Shiliang Pu, Mingli Song, Yueting Zhuang.},
    booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
    year={2022},
}

License

This project is released under the Apache 2.0 license. Other codes from open source repository follows the original distributive licenses.

Acknowledgement

If you have any problem about this work, please feel free to contact Binbin Chen (chenbinbin8-at-hikvision.com) and Weijie Chen (chenweijie5-at-hikvision.com).