This is a PyTorch implementation of Pseudo-mask Matters in Weakly-supervised Semantic Segmentation.(ICCV2021).
In this paper, we propose Coefficient of Variation Smoothing and Proportional Pseudo-mask Generation to generate high quality pseudo-mask in classification part. In segmentation part, we propose Pretended Under-Fitting strategy and Cyclic Pseudo-mask for better utilization of pseudo-mask.
- Download VOC12 OneDrive, BaiduYun
- Download COCO14 BaiduYun
- Download pretrained models OneDrive, BaiduYun (extract code of BaiduYun: mtci)
(data preparation)
git clone https://github.com/Eli-YiLi/WSSS_MMSeg.git
cd WSSS_MMSeg
mkdir data
cd data
ln -s [path to model files] models
ln -s [path to VOC12] voc12
ln -s [path to COCO14] coco2014
ln -s [path to your voc pseudo-mask] voc12/VOC2012/ppmg
ln -s [path to your coco pseudo-mask] coco2014/voc_format/ppmg
(install mmsegmentation(our version is 0.8.0) and mmcv(our version is 1.1.4) as MMSegmentation part)
(train and val, slurm)
bash tools/run_wsss.sh [Partition] [Dataset] [Architecture]
- Pseudo_masks (if you want to skip cls phase), VOC12_OneDrive COCO14_BaiduYun
- Release Weights BaiduYun (extract code of BaiduYun: mtci)
Documentation: https://mmsegmentation.readthedocs.io/
MMSegmentation is an open source semantic segmentation toolbox based on PyTorch. It is a part of the OpenMMLab project.
The master branch works with PyTorch 1.3 to 1.6.
-
Unified Benchmark
We provide a unified benchmark toolbox for various semantic segmentation methods.
-
Modular Design
We decompose the semantic segmentation framework into different components and one can easily construct a customized semantic segmentation framework by combining different modules.
-
Support of multiple methods out of box
The toolbox directly supports popular and contemporary semantic segmentation frameworks, e.g. PSPNet, DeepLabV3, PSANet, DeepLabV3+, etc.
-
High efficiency
The training speed is faster than or comparable to other codebases.
This project is released under the Apache 2.0 license.
v0.7.0 was released in 07/10/2020. Please refer to changelog.md for details and release history.
Results and models are available in the model zoo.
Supported backbones:
- ResNet
- ResNeXt
- HRNet
- ResNeSt
- MobileNetV2
Supported methods:
- FCN
- PSPNet
- DeepLabV3
- PSANet
- DeepLabV3+
- UPerNet
- NonLocal Net
- EncNet
- CCNet
- DANet
- GCNet
- ANN
- OCRNet
- Fast-SCNN
- Semantic FPN
- PointRend
- EMANet
- DNLNet
- CGNet
- Mixed Precision (FP16) Training
Please refer to INSTALL.md for installation and dataset preparation.
Please see getting_started.md for the basic usage of MMSegmentation. There are also tutorials for adding new dataset, designing data pipeline, and adding new modules.
A Colab tutorial is also provided. You may preview the notebook here or directly run on Colab.
We appreciate all contributions to improve MMSegmentation. Please refer to CONTRIBUTING.md for the contributing guideline.
MMSegmentation is an open source project that welcome any contribution and feedback. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible as well as standardized toolkit to reimplement existing methods and develop their own new semantic segmentation methods.