- Notifications
You must be signed in to change notification settings - Fork14
An official implementation of CVPR 2022 paper "Label Matching Semi-Supervised Object Detection".
License
hikvision-research/SSOD
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
- STAC:A Simple Semi-Supervised Learning Framework for Object Detection [Arxiv'20]
- Unbiased Teacher:Unbiased Teacher for Semi-Supervised Object Detection [ICLR'21]
- Soft Teacher:End-to-End Semi-Supervised Object Detection with Soft Teacher [ICCV'21]
- LabelMatch:Label Matching Semi-Supervised Object Detection [CVPR'22]
pip install -r requirements.txt
- Linux with Python >= 3.6
- We use mmdet=2.10.0, pytorch=1.6.0
Please refer toprepare_data.md.
Before training,please download the pretrained backbone (resnet50) topretrained_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
In our implementation, we use 2-gpus to train except coco-additional.
After training, we organize the pretrained baseline to
pretrained_model/baseline
as follows:pretrained_model/└── baseline/ ├── instances_train2017.1@1.pth ├── instances_train2017.1@5.pth ├── ... ├── voc.pth └── coco.pth
- You can also change the
load_from
information inconfig
file in step 2.
- You can also change the
## note: dataset is set to none in this step.cd examples/train/xonshxonsh train_gpu8.sh ./configs/labelmatch/labelmatch_standard.py 1 1 none
- In our implementation, we use 8-gpus to train.
- You can also run
bash train_ssod.sh
inexamples/train/bash
# please change "config" and "checkpoint" in 'eval.sh' scripts to support different dataset and trained modelcd examples/evalxonsh eval.sh
Model | Supervision | AP | Config | Model Weights |
---|---|---|---|---|
R50-FPN | 1% | 25.81±0.28 | labelmatch_standard_paper | labelmatch-1-1-40k |
R50-FPN | 5% | 32.70±0.18 | labelmatch_standard_paper | labelmatch-1-5-40k |
R50-FPN | 10% | 35.49±0.17 | labelmatch_standard_paper | labelmatch-1-10-40k |
- Please refer toperformance.md for more performance presentation.
Please refer toUDA
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},}
This project is released under theApache 2.0 license. Other codes from open source repository follows the original distributive licenses.
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).