Semi-Supervised Learning, Object Detection, ICCV2021
Alternatives To Softteacher
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
6 hours ago29apache-2.0Python
Train, Evaluate, Optimize, Deploy Computer Vision Models via OpenVINO™
9 months ago93mitPython
Semi-Supervised Learning, Object Detection, ICCV2021
8 days ago12apache-2.0Python
[CVPR2023 Highlight] Consistent-Teacher: Towards Reducing Inconsistent Pseudo-targets in Semi-supervised Object Detection
2 months ago4apache-2.0Jupyter Notebook
Labeling is boring. Use this tool to speed up your next object detection project!
6 months ago12apache-2.0Python
An official implementation of CVPR 2022 paper "Label Matching Semi-Supervised Object Detection".
9 months ago2apache-2.0Python
An official implementation of the PseCo (ECCV2022)
Omni Detr45
8 months agon,ullotherPython
PyTorch implementation of Omni-DETR for omni-supervised object detection:
Active Learning For Object Detection12
2 years agon,ullJupyter Notebook
Active learning for deep object detection using YOLO
Crossrectify Ssod10
a month agoPython
CrossRectify for semi-supervised object detection (official code of "CrossRectify: Leveraging Disagreement for Semi-supervised Object Detection")
Ssl Pollen Detection2
8 days agoPython
Semi-supervised pollen grain detection in microscope images. Integration of Faster R-CNN implementation from torchvision with pre-trained TIMM models.
Alternatives To Softteacher
Select To Compare

Alternative Project Comparisons

End-to-End Semi-Supervised Object Detection with Soft Teacher


By Mengde Xu*, Zheng Zhang*, Han Hu, Jianfeng Wang, Lijuan Wang, Fangyun Wei, Xiang Bai, Zicheng Liu.

This repo is the official implementation of ICCV2021 paper "End-to-End Semi-Supervised Object Detection with Soft Teacher".


  title={End-to-End Semi-Supervised Object Detection with Soft Teacher},
  author={Xu, Mengde and Zhang, Zheng and Hu, Han and Wang, Jianfeng and Wang, Lijuan and Wei, Fangyun and Bai, Xiang and Liu, Zicheng},
  journal={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},

Main Results

Partial Labeled Data

We followed STAC[1] to evaluate on 5 different data splits for each setting, and report the average performance of 5 splits. The results are shown in the following:

1% labeled data

Method mAP Model Weights Config Files
Baseline 10.0 - Config
Ours (thr=5e-2) 21.62 Drive Config
Ours (thr=1e-3) 22.64 Drive Config

5% labeled data

Method mAP Model Weights Config Files
Baseline 20.92 - Config
Ours (thr=5e-2) 30.42 Drive Config
Ours (thr=1e-3) 31.7 Drive Config

10% labeled data

Method mAP Model Weights Config Files
Baseline 26.94 - Config
Ours (thr=5e-2) 33.78 Drive Config
Ours (thr=1e-3) 34.7 Drive Config

Full Labeled Data

Faster R-CNN (ResNet-50)

Model mAP Model Weights Config Files
Baseline 40.9 - Config
Ours (thr=5e-2) 44.05 Drive Config
Ours (thr=1e-3) 44.6 Drive Config
Ours* (thr=5e-2) 44.5 - Config
Ours* (thr=1e-3) 44.9 - Config

Faster R-CNN (ResNet-101)

Model mAP Model Weights Config Files
Baseline 43.8 - Config
Ours* (thr=5e-2) 46.9 Drive Config
Ours* (thr=1e-3) 47.6 Drive Config


  • Ours* means we use longer training schedule.
  • thr indicates model.test_cfg.rcnn.score_thr in config files. This inference trick was first introduced by Instant-Teaching[2].
  • All models are trained on 8*V100 GPUs



  • Ubuntu 16.04
  • Anaconda3 with python=3.6
  • Pytorch=1.9.0
  • mmdetection=2.16.0+fe46ffe
  • mmcv=1.3.9
  • wandb=0.10.31


  • We use wandb for visualization, if you don't want to use it, just comment line 273-284 in configs/soft_teacher/
  • The project should be compatible to the latest version of mmdetection. If you want to switch to the same version mmdetection as ours, run cd thirdparty/mmdetection && git checkout v2.16.0


make install

Data Preparation

  • Download the COCO dataset
  • Execute the following command to generate data set splits:
# YOUR_DATA should be a directory contains coco dataset.
# For eg.:
#  coco/
#     train2017/
#     val2017/
#     unlabeled2017/
#     annotations/
ln -s ${YOUR_DATA} data
bash tools/dataset/ conduct

For concrete instructions of what should be downloaded, please refer to tools/dataset/ line 11-24


  • To train model on the partial labeled data setting:
# JOB_TYPE: 'baseline' or 'semi', decide which kind of job to run
# PERCENT_LABELED_DATA: 1, 5, 10. The ratio of labeled coco data in whole training dataset.
# GPU_NUM: number of gpus to run the job
for FOLD in 1 2 3 4 5;

For example, we could run the following scripts to train our model on 10% labeled data with 8 GPUs:

for FOLD in 1 2 3 4 5;
  bash tools/ semi ${FOLD} 10 8
  • To train model on the full labeled data setting:

For example, to train ours R50 model with 8 GPUs:

bash tools/ configs/soft_teacher/ 8
  • To train model on new dataset:

The core idea is to convert a new dataset to coco format. Details about it can be found in the adding new dataset.


bash tools/ <CONFIG_FILE_PATH> <CHECKPOINT_PATH> <NUM_GPUS> --eval bbox --cfg-options model.test_cfg.rcnn.score_thr=<THR>


To inference with trained model and visualize the detection results:

# [IMAGE_FILE_PATH]: the path of your image file in local file system
# [CONFIG_FILE]: the path of a confile file
# [CHECKPOINT_PATH]: the path of a trained model related to provided confilg file.
# [OUTPUT_PATH]: the directory to save detection result

For example:

  • Inference on single image with provided R50 model:
python demo/ /tmp/tmp.png configs/soft_teacher/ work_dirs/downloaded.model --output work_dirs/

After the program completes, a image with the same name as input will be saved to work_dirs

  • Inference on many images with provided R50 model:
python demo/ '/tmp/*.jpg' configs/soft_teacher/ work_dirs/downloaded.model --output work_dirs/

[1] A Simple Semi-Supervised Learning Framework for Object Detection

[2] Instant-Teaching: An End-to-End Semi-Supervised Object Detection Framework

Popular Object Detection Projects
Popular Semi Supervised Learning Projects
Popular Artificial Intelligence Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Object Detection
Semi Supervised Learning