Home

Awesome

PseCo (ECCV 2022)

arXiv visitors PWC PWC PWC

PseCo: Pseudo Labeling and Consistency Training for Semi-Supervised Object Detection

Gang Li, Xiang Li, Yujie Wang, Yichao Wu, Ding Liang, Shanshan Zhang.

<img src=./docs/framework.png width="70%">

This repo is the official implementation of ECCV2022 paper "PseCo: Pseudo Labeling and Consistency Training for Semi-Supervised Object Detection". PseCo delves into two key techniques of semi-supervised learning (e.g., pseudo labeling and consistency training) for SSOD, and integrate object detection properties into them.

🧪Main Results

Partial Labeled Data

Following the common practice, all experimental results are averaged on 5 different data folds.

1% labeled data

MethodmAPModel Weights
Supervised Baseline12.20-
PseCo22.43BaiduYun,Google Drive

2% labeled data

MethodmAPModel Weights
Supervised Baseline16.53-
PseCo27.77BaiduYun,Google Drive

5% labeled data

MethodmAPModel Weights
Supervised Baseline21.17-
PseCo32.50BaiduYun,Google Drive

10% labeled data

MethodmAPModel Weights
Supervised Baseline26.90-
PseCo36.06BaiduYun,Google Drive

Full Labeled Data

MethodmAPModel Weights
Supervised Baseline41.0-
PseCo46.1BaiduYun,Google Drive

➡️Usage

Since this repo is built on the Soft Teacher, some setup instructions are cloned from it.

Requirements

Installation

pip install -r requirements.txt
cd thirdparty/mmdetection && pip install -e .
cd ../.. && pip install -e .

Data Preparation

# YOUR_DATA should be a directory contains coco dataset.
# For eg.:
# YOUR_DATA/
#  coco/
#     train2017/
#     val2017/
#     unlabeled2017/
#     annotations/
ln -s ${YOUR_DATA} data
bash tools/dataset/prepare_coco_data.sh conduct

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

Training

For 5% and 10% labelling ratios:

bash tools/dist_train_partially_labeled.sh

While for 1% and 2% labelling ratios, half of training iterations are enough:

bash tools/dist_train_partially_labeled_90k_iter.sh
bash tools/dist_train_fully_labeled.sh 

All experiments are trained on 8 GPUs by default.

Evaluation

bash tools/test.sh

Please specify your config and checkpoint path in the tools/test.sh.

🧱To-do List

👍Acknowledgement

We would like to thank the authors of Soft Teacher and mmdetection.

✏️Citation

Consider cite PseCo in your publication if it helps your research.

@article{li2022pseco,
  title={PseCo: Pseudo Labeling and Consistency Training for Semi-Supervised Object Detection},
  author={Li, Gang and Li, Xiang and Wang, Yujie and Zhang, Shanshan and Wu, Yichao and Liang, Ding},
  journal={arXiv preprint arXiv:2203.16317},
  year={2022}
}