{"id":13637738,"url":"https://github.com/ZhenZHAO/AugSeg","last_synced_at":"2025-04-19T12:32:16.498Z","repository":{"id":133069864,"uuid":"567232919","full_name":"ZhenZHAO/AugSeg","owner":"ZhenZHAO","description":"[CVPR'23] Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervised Semantic Segmentation","archived":false,"fork":false,"pushed_at":"2024-03-21T11:13:21.000Z","size":5109,"stargazers_count":110,"open_issues_count":8,"forks_count":14,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-03T01:11:48.534Z","etag":null,"topics":["semi-supervised-learning","semi-supervised-segmentation"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2212.04976","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZhenZHAO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-17T11:04:07.000Z","updated_at":"2024-07-12T13:25:22.000Z","dependencies_parsed_at":"2024-03-21T12:31:20.691Z","dependency_job_id":"457d3080-cd0a-4dbd-8a1e-6fa4bf35697d","html_url":"https://github.com/ZhenZHAO/AugSeg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhenZHAO%2FAugSeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhenZHAO%2FAugSeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhenZHAO%2FAugSeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhenZHAO%2FAugSeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZhenZHAO","download_url":"https://codeload.github.com/ZhenZHAO/AugSeg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223799376,"owners_count":17204772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["semi-supervised-learning","semi-supervised-segmentation"],"created_at":"2024-08-02T01:00:27.994Z","updated_at":"2024-11-09T07:31:16.042Z","avatar_url":"https://github.com/ZhenZHAO.png","language":"Python","funding_links":[],"categories":["2023"],"sub_categories":[],"readme":"# AugSeg\n\n\u003e \"Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervised Semantic Segmentation\".\n\n\n\n### Introduction\n\n\n- Recent studies on semi-supervised semantic segmentation (SSS) have seen fast progress. Despite their promising performance, current state-of-the-art methods tend to increasingly complex designs at the cost of introducing more network components and additional training procedures. \n\n- Differently, in this work, we follow a standard teacher-student framework and propose AugSeg, a simple and clean approach that focuses mainly on data perturbations to boost the SSS performance. We argue that various data augmentations should be adjusted to better adapt to the semi-supervised scenarios instead of directly applying these techniques from supervised learning. Specifically, we adopt a simplified intensity-based augmentation that selects a random number of data transformations with uniformly sampling distortion strengths from a continuous space. Based on the estimated confidence of the model on different unlabeled samples, we also randomly inject labelled information to augment the unlabeled samples in an adaptive manner. \n\n- Without bells and whistles, our simple AugSeg can readily achieve new state-of-the-art performance on SSS benchmarks under different partition protocols.\n\n\n\n\n### Diagram\n\n![](./docs/Augseg-diagram.png)\n\n\u003e Without any  complicated designs, AugSeg readily obtains new SOTA performance on popular SSS benchmarks under different partition protocols. We hope our AugSeg can inspir future studies, and serve as a strong baseline for SSS.\n\n\n\n### Performance\n\nLabeled images are sampled from the **original high-quality** training set. Results are obtained by DeepLabv3+ based on ResNet-101 with training size 512.\n\n| Method                      | 1/115 (92)| 1/57 (183)| 1/28 (366)| 1/14 (732)| 1/7 (1464)  |\n| :-------------------------: | :-------: | :-------: | :-------: | :-------: | :---------: |\n| SupOnly                     | 43.92 | 59.10| 65.88 | 70.87 | 74.97 |\n| ST++                        | 65.2      | 71.0      | 74.6      | 77.3      | 79.1        |\n| PS-MT                       | 65.80      | 69.58      | 76.57      | 78.42      | 80.01        |\n| U\u003csup\u003e2\u003c/sup\u003ePL             | 67.98      | 69.15      | 73.66      | 76.16      | 79.49        |\n| **AugSeg**         | **71.09** | **75.45**  | **78.80**  | **80.33**  | **81.36**    |\n\n\nResults are obtained by DeepLabv3+ based on ResNet-50/101. We reproduce U\u003csup\u003e2\u003c/sup\u003ePL results on ResNet-50.\n\n| R50                      | 1/16   | 1/8     | 1/4       | 1/2 | R101 | 1/16        | 1/8       | 1/4 | 1/2 |\n| :-------------------------: | :-------: | :-------: | :-------: | :-------: | :---------: | :---------: | :---------: | --------------------------- | --------------------------- |\n| SupOnly                     | 63.34 | 68.73 | 74.14 | 76.62 | SupOnly | 64.77   | 71.64     | 75.24 | 78.03 |\n| U\u003csup\u003e2\u003c/sup\u003ePL             | 69.03 | 73.02     | 76.31     | 78.64 | U\u003csup\u003e2\u003c/sup\u003ePL | 70.30 | 74.37 | 76.47 | 79.05 |\n| PS-MT             | -      | 75.76   | 76.92    | 77.64 | PS-MT | - | 76.89 | 77.60 | 79.09 |\n| **AugSeg**    | **73.73** | **76.49** | **78.76** | **79.33** | **AugSeg** | **75.22** | **77.82** | **79.56** | **80.43** |\n\n\u003e All the training logs of AugSeg and our reproduced SupOnly baselines are included under the directory of [training-logs](./training-logs)\n\n\n\n## Running AugSeg\n\n### Prepare datasets\n\nPlease download the Pascal and Cityscapes, and set up the path to them properly in the configuration files.\n\n- Pascal: [JPEGImages](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar) | [SegmentationClass](https://drive.google.com/file/d/1ikrDlsai5QSf2GiSUR3f8PZUzyTubcuF/view?usp=sharing)\n- Cityscapes: [leftImg8bit](https://www.cityscapes-dataset.com/file-handling/?packageID=3) | [gtFine](https://drive.google.com/file/d/1E_27g9tuHm6baBqcA7jct_jqcGA89QPm/view?usp=sharing)\n\n- Splitall: included.\n\nHere is our adopted way，\n```\n├── ./data\n    ├── splitsall\n    \t├── cityscapes\n    \t├── pascal\n    \t└── pascal_u2pl \n    ├── VOC2012\n    \t├── JPEGImages\n    \t├── SegmentationClass\n    \t└── SegmentationClassAug\n    └── cityscapes\n        ├── gtFine\n    \t└── leftImg8bit\n```\n\n\n\n### Prepare pre-trained encoder\n\nPlease download the pretrained models, and set up the path to these models properly in the file of `config_xxx.yaml` .\n\n~~[ResNet-50](https://drive.google.com/file/d/1AuyE_rCUSwDpjMJHMPklXeKdZpdH1-6F/view?usp=sharing) | [ResNet-101](https://drive.google.com/file/d/13jNMOEYkqBC3CimlSSw-sWRHVZEeROmK/view?usp=sharing)~~\n\n[ResNet-50](https://drive.google.com/file/d/1mqUrqFvTQ0k5QEotk4oiOFyP6B9dVZXS/view?usp=sharing) | [ResNet-101](https://drive.google.com/file/d/1Rx0legsMolCWENpfvE2jUScT3ogalMO8/view?usp=sharing) \n\nHere is our adopted way，\n\n```\n├── ./pretrained\n    ├── resnet50.pth\n    └── resnet101.pth\n```\n\n\n\n### Prepare running Envs\n\nNothing special\n- python: 3.7.13\n- pytorch: 1.7.1\n- cuda11.0.221_cudnn8.0.5_0\n- torchvision:  0.8.2 \n\n\n\n### Ready to Run\n\nBasically, you are recommanded to config the experimental runnings in a \".yaml\" file firstly. \nWe include various configuration files under the directory of \"exps\".\n\n\n```bash\n# 1) configure your yaml file in a running script\nvim ./scripts/run_abls_citys.sh\n\n# 2) run directly\nsh ./scripts/run_abls_citys.sh\n\n```\n\n## Citation\n\nIf you find these projects useful, please consider citing:\n\n```bibtex\n@inproceedings{zhao2023augmentation,\n  title={Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervised Semantic Segmentation},\n  author={Zhao, Zhen and Yang, Lihe and Long, Sifan and Pi, Jimin and Zhou, Luping and Wang, Jingdong},\n  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},\n  pages={11350--11359},\n  year={2023}\n}\n```\n\nWe have other relevant semi-supervised semantic segmentation projects:\n- [ST++](https://github.com/LiheYoung/ST-PlusPlus)\n- [iMas](https://github.com/ZhenZHAO/iMAS)\n- [Unimatch](https://github.com/LiheYoung/UniMatch)\n\n\n## Acknowledgement\n\nWe thank [ST++](https://github.com/LiheYoung/ST-PlusPlus), [CPS](https://github.com/charlesCXK/TorchSemiSeg), and [U\u003csup\u003e2\u003c/sup\u003ePL](https://github.com/Haochen-Wang409/U2PL), for part of their codes, processed datasets, data partitions, and pretrained models.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZhenZHAO%2FAugSeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZhenZHAO%2FAugSeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZhenZHAO%2FAugSeg/lists"}