Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Project] Support CAT-Seg from CVPR2023 #3098

Merged
merged 53 commits into from Aug 9, 2023

Conversation

SheffieldCao
Copy link
Contributor

@SheffieldCao SheffieldCao commented Jun 9, 2023

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.

Motivation

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).

Modification

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).

  • Support CAT-Seg model training.
    • CLIP model based backbone (R101 & Swin-B), aggregation layers based neck, and decoder head.
    • Provide customized coco-stuff164k_384x384 training configs.
  • Language model supports for open vocabulary (OV) tasks.
    • Support CLIP-based pretrained language model (LM) inference.
    • Add commonly used prompts templates.
  • Add README tutorials.
  • Add zero-shot testing scripts.

Working on the following tasks.

  • Add unit test.

BC-breaking (Optional)

Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.

Use cases (Optional)

If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.

Checklist

  1. Pre-commit or other linting tools are used to fix the potential lint issues.
  2. The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
  3. If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMDet3D.
  4. The documentation has been modified accordingly, like docstring or example tutorials.

@CLAassistant
Copy link

CLAassistant commented Jun 9, 2023

CLA assistant check
All committers have signed the CLA.

@SheffieldCao
Copy link
Contributor Author

Hi! Is there any update about the review process? @xiexinch

@xiexinch
Copy link
Collaborator

Hi! Is there any update about the review process? @xiexinch

I'm working on training these models, but due to the lack of GPU, perhaps we could remove some configs. I'll try to merge it in this week.

@SheffieldCao
Copy link
Contributor Author

Hi! Is there any update about the review process? @xiexinch

I'm working on training these models, but due to the lack of GPU, perhaps we could remove some configs. I'll try to merge it in this week.

👍Ok, I got it. I have trained these models on my own. The results on COCO dataset in the README is from models trained by me. The zero-short configs of ade and PASCAL are only used for testing. Model is trained only on COCO.
Due to the requirements of pre-commit, I just used model and log links from other models (Mask2Former) as pseudo links. Code Snippet link also need update after the PR is merged.
If there are updates on the mIoU results and configs, please just replace the original ones. Thank you!

mmseg/models/utils/clip_wrapper.py Outdated Show resolved Hide resolved
mmseg/models/backbones/clip_ovseg.py Outdated Show resolved Hide resolved
mmseg/models/backbones/clip_ovseg.py Outdated Show resolved Hide resolved
mmseg/models/necks/cat_aggregator.py Outdated Show resolved Hide resolved
@SheffieldCao SheffieldCao changed the title [Feature] Support CAT-Seg from CVPR2023 [WIP] Support CAT-Seg from CVPR2023 Jul 26, 2023
@xiexinch xiexinch changed the title [WIP] Support CAT-Seg from CVPR2023 [Project] Support CAT-Seg from CVPR2023 Aug 9, 2023
@xiexinch xiexinch merged commit e458a46 into open-mmlab:dev-1.x Aug 9, 2023
3 of 7 checks passed
angiecao pushed a commit to angiecao/mmsegmentation that referenced this pull request Aug 31, 2023
Thanks for your contribution and we appreciate it a lot. The following
instructions would make your pull request more healthy and more easily
get feedback. If you do not understand some items, don't worry, just
make the pull request and seek help from maintainers.

## Motivation

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).

## Modification

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).
- [x] Support CAT-Seg model training.
- [x] CLIP model based `backbone` (R101 & Swin-B), aggregation layers
based `neck`, and `decoder` head.
  - [x] Provide customized coco-stuff164k_384x384 training configs.
- [x] Language model supports for `open vocabulary` (OV) tasks. 
  - [x] Support CLIP-based pretrained language model (LM) inference.
  - [x] Add commonly used prompts templates. 
- [x] Add README tutorials.
- [x] Add zero-shot testing scripts.

**Working on the following tasks.**
- [x] Add unit test.

## BC-breaking (Optional)

Does the modification introduce changes that break the
backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the
downstream projects should modify their code to keep compatibility with
this PR.

## Use cases (Optional)

If this PR introduces a new feature, it is better to list some use cases
here, and update the documentation.

## Checklist

1. Pre-commit or other linting tools are used to fix the potential lint
issues.
2. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
3. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
4. The documentation has been modified accordingly, like docstring or
example tutorials.

---------

Co-authored-by: xiexinch <xiexinch@outlook.com>
@zsc1220
Copy link

zsc1220 commented Sep 27, 2023

In the parameter test_class_json,I only filled in two categories, such as cars and trees, but the prediction results show wall and building, which are ade150.json file first two categories, but the categories I need to predict are cars and trees, what should I do? Thank you very much!

emily-lin pushed a commit to emily-lin/mmsegmentation that referenced this pull request Nov 18, 2023
Thanks for your contribution and we appreciate it a lot. The following
instructions would make your pull request more healthy and more easily
get feedback. If you do not understand some items, don't worry, just
make the pull request and seek help from maintainers.

## Motivation

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).

## Modification

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).
- [x] Support CAT-Seg model training.
- [x] CLIP model based `backbone` (R101 & Swin-B), aggregation layers
based `neck`, and `decoder` head.
  - [x] Provide customized coco-stuff164k_384x384 training configs.
- [x] Language model supports for `open vocabulary` (OV) tasks. 
  - [x] Support CLIP-based pretrained language model (LM) inference.
  - [x] Add commonly used prompts templates. 
- [x] Add README tutorials.
- [x] Add zero-shot testing scripts.

**Working on the following tasks.**
- [x] Add unit test.

## BC-breaking (Optional)

Does the modification introduce changes that break the
backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the
downstream projects should modify their code to keep compatibility with
this PR.

## Use cases (Optional)

If this PR introduces a new feature, it is better to list some use cases
here, and update the documentation.

## Checklist

1. Pre-commit or other linting tools are used to fix the potential lint
issues.
2. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
3. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
4. The documentation has been modified accordingly, like docstring or
example tutorials.

---------

Co-authored-by: xiexinch <xiexinch@outlook.com>
nahidnazifi87 pushed a commit to nahidnazifi87/mmsegmentation_playground that referenced this pull request Apr 5, 2024
Thanks for your contribution and we appreciate it a lot. The following
instructions would make your pull request more healthy and more easily
get feedback. If you do not understand some items, don't worry, just
make the pull request and seek help from maintainers.

## Motivation

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).

## Modification

Support CAT-Seg open-vocabulary semantic segmentation (CVPR2023).
- [x] Support CAT-Seg model training.
- [x] CLIP model based `backbone` (R101 & Swin-B), aggregation layers
based `neck`, and `decoder` head.
  - [x] Provide customized coco-stuff164k_384x384 training configs.
- [x] Language model supports for `open vocabulary` (OV) tasks. 
  - [x] Support CLIP-based pretrained language model (LM) inference.
  - [x] Add commonly used prompts templates. 
- [x] Add README tutorials.
- [x] Add zero-shot testing scripts.

**Working on the following tasks.**
- [x] Add unit test.

## BC-breaking (Optional)

Does the modification introduce changes that break the
backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the
downstream projects should modify their code to keep compatibility with
this PR.

## Use cases (Optional)

If this PR introduces a new feature, it is better to list some use cases
here, and update the documentation.

## Checklist

1. Pre-commit or other linting tools are used to fix the potential lint
issues.
2. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
3. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
4. The documentation has been modified accordingly, like docstring or
example tutorials.

---------

Co-authored-by: xiexinch <xiexinch@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants