Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhenyuw16/noisyboundaries
https://github.com/zhenyuw16/noisyboundaries
cvpr2022 instance-segmentation semi-supervised-learning
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/zhenyuw16/noisyboundaries
- Owner: zhenyuw16
- License: apache-2.0
- Created: 2022-03-21T07:10:30.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-04-07T09:09:16.000Z (over 2 years ago)
- Last Synced: 2024-06-15T00:48:43.660Z (6 months ago)
- Topics: cvpr2022, instance-segmentation, semi-supervised-learning
- Language: Python
- Homepage:
- Size: 5.85 MB
- Stars: 37
- Watchers: 2
- Forks: 6
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
- Awesome-Semi-Supervised-Semantic-Segmentation - Code - Supervised_Instance_Segmentation_CVPR_2022_paper.pdf)| (2022)
README
# Noisy Boundaries: Lemon or Lemonade for semi-supervised instance segmentation?
This is the mmdetection implementation of our CVPR 2022 paper. [ArXiv](https://arxiv.org/abs/2203.13427).
# Installation
This code is based on mmdetection v2.18.
Please install the code according to the [mmdetection step](https://github.com/open-mmlab/mmdetection/blob/v2.18.0/docs/get_started.md) first.### data preparation
```bash
noisyboundaries
├──data
| ├──cityscapes
| | ├──annotations
| | | ├──instancesonly_filtered_gtFine_train.json
| | | ├──instancesonly_filtered_gtFine_val.json
| | ├──leftImg8bit
| | | ├──train
| | | ├──val
| ├──coco
| | ├──annotations
| | | ├──instances_train2017.json
| | | ├──instances_val2017.json
| | ├──images
| | | ├──train2017
| | | ├──val2017
```# Running scripts
## cityscapes
We take the experiment with the 20% labeled images for example.make the label file first:
```bash
mkdir labels
python scripts/cityscapes/prepare_cityscape_data.py --percent 20 --seed 1
```Then, to train the supervised model, run:
```bash
bash tools/dist_train.sh configs/noisyboundaries/cityscapes/mask_rcnn_r50_fpn_1x_cityscapes_sup.py 8
```
With the supervised model, generating pseudo labels for semi-supervised learning:
```bash
bash scripts/cityscapes/extract_pl.sh 8 labels/rcity.pkl labels/cityscapes_1@20_pl.json
```
Then, perform semi-supervised learning:
```bash
bash tools/dist_train.sh configs/noisyboundaries/cityscapes/mask_rcnn_r50_fpn_1x_cityscapes_pl.py 8
```