PixelSSL is a PyTorch-based semi-supervised learning (SSL) codebase for pixel-wise (Pixel) vision tasks.
The purpose of this project is to promote the research and application of semi-supervised learning on pixel-wise vision tasks. PixelSSL provides two major features:
- Interface for implementing new semi-supervised algorithms
- Template for encapsulating diverse computer vision tasks
As a result, the SSL algorithms integrated in PixelSSL are compatible with all task codes inherited from the given template.
In addition, PixelSSL provides the benchmarks for validating semi-supervised learning algorithms for some pixel-level tasks, which now include semantic segmentation.
News
-
[Dec 25 2020] PixelSSL v0.1.4 is Released!
🎄 Merry Christmas!🎄
v0.1.4 supports the CutMix semi-supervised learning algorithm for pixel-wise classification. -
[Nov 06 2020] PixelSSL v0.1.3 is Released!
v0.1.3 supports the CCT semi-supervised learning algorithm for pixel-wise classification. -
[Oct 28 2020] PixelSSL v0.1.2 is Released!
v0.1.2 supports PSPNet and its SSL results for semantic segmentation task (check here).[More]
Supported Algorithms and Tasks
We are actively updating this project.
The SSL algorithms and demo tasks supported by PixelSSL are summarized in the following table:
Algorithms / Tasks | Segmentation | Other Tasks |
---|---|---|
SupOnly | v0.1.0 | Coming Soon |
MT [1] | v0.1.0 | Coming Soon |
AdvSSL [2] | v0.1.0 | Coming Soon |
S4L [3] | v0.1.1 | Coming Soon |
CCT [4] | v0.1.3 | Coming Soon |
GCT [5] | v0.1.0 | Coming Soon |
CutMix [6] | v0.1.4 | Coming Soon |
[1] Mean Teachers are Better Role Models: Weight-Averaged Consistency Targets Improve Semi-Supervised Deep Learning Results
Antti Tarvainen, and Harri Valpola. NeurIPS 2017.
[2] Adversarial Learning for Semi-Supervised Semantic Segmentation
Wei-Chih Hung, Yi-Hsuan Tsai, Yan-Ting Liou, Yen-Yu Lin, and Ming-Hsuan Yang. BMVC 2018.
[3] S4L: Self-Supervised Semi-Supervised Learning
Xiaohua Zhai, Avital Oliver, Alexander Kolesnikov, and Lucas Beyer. ICCV 2019.
[4] Semi-Supervised Semantic Segmentation with Cross-Consistency Training
Yassine Ouali, Céline Hudelot, and Myriam Tami. CVPR 2020.
[5] Guided Collaborative Training for Pixel-wise Semi-Supervised Learning
Zhanghan Ke, Di Qiu, Kaican Li, Qiong Yan, and Rynson W.H. Lau. ECCV 2020.
[6] Semi-Supervised Semantic Segmentation Needs Strong, Varied Perturbations
Geoff French, Samuli Laine, Timo Aila, Michal Mackiewicz, and Graham Finlayson. BMVC 2020.
Installation
Please refer to the Installation document.
Getting Started
Please follow the Getting Started document to run the provided demo tasks.
Tutorials
We provide the API document and some tutorials for using PixelSSL.
- Tutorial 1 - Implement A New Pixel-wise Semi-Supervised Algorithm
- Tutorial 2 - Implement A New Pixel-wise Task Based on the Task Template
- Tutorial 3 - Dataset Wrappers for Semi-Supervised Learning
- Tutorial 4 - Support More Optimizers and LRSchedulers
License
This project is released under the Apache 2.0 license.
Acknowledgement
We thank City University of Hong Kong and SenseTime for their support to this project.
Citation
This project is extended from our ECCV 2020 paper Guided Collaborative Training for Pixel-wise Semi-Supervised Learning (GCT). If this codebase or our method helps your research, please cite:
@InProceedings{ke2020gct,
author = {Ke, Zhanghan and Qiu, Di and Li, Kaican and Yan, Qiong and Lau, Rynson W.H.},
title = {Guided Collaborative Training for Pixel-wise Semi-Supervised Learning},
booktitle = {European Conference on Computer Vision (ECCV)},
month = {August},
year = {2020},
}
Contact
This project is currently maintained by Zhanghan Ke (@ZHKKKe).
If you have any questions, please feel free to contact [email protected]
.