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

[Feature] Support SOLOv2 #7441

Merged
merged 18 commits into from
May 25, 2022
Merged

[Feature] Support SOLOv2 #7441

merged 18 commits into from
May 25, 2022

Conversation

zhanggefan
Copy link
Contributor

@zhanggefan zhanggefan commented Mar 17, 2022

This PR adds support for SOLO-V2. The work is still in progress.
Special thanks to my colleague @Luhb for his kind help.
Special thanks to @WXinlong for his awesome work mmdet-SOLO

  • model part
    • support solov2 model
    • support solov2 light version
  • configuration part
    • solov2_r50_fpn_8gpu_1x_coco
    • solov2_r50_fpn_8gpu_3x_coco
    • solov2_r101_dcn_fpn_8gpu_3x_coco
    • solov2_r101_fpn_8gpu_3x_coco
    • solov2_x101_dcn_fpn_8gpu_3x_coco
    • solov2_light_448_r18_fpn_8gpu_3x_coco
    • solov2_light_448_r34_fpn_8gpu_3x_coco
    • solov2_light_448_r50_fpn_8gpu_3x_coco
  • docstring part
    • model docstring
    • configuration docstring
  • performance alignment
Configuration Performance Here Original
solov2_r50_fpn_8gpu_1x_coco 34.9 34.8
solov2_r50_fpn_8gpu_3x_coco
solov2_r101_dcn_fpn_8gpu_3x_coco
solov2_r101_fpn_8gpu_3x_coco
solov2_x101_dcn_fpn_8gpu_3x_coco 42.5 42.4
solov2_light_448_r18_fpn_8gpu_3x_coco 29.7 29.6
solov2_light_448_r34_fpn_8gpu_3x_coco
solov2_light_448_r50_fpn_8gpu_3x_coco
solov2_light_512_dcn_r50_fpn_8gpu_3x_coco

@mm-assistant mm-assistant bot added the size/XS label Mar 17, 2022
@CLAassistant
Copy link

CLAassistant commented Mar 17, 2022

CLA assistant check
All committers have signed the CLA.

@BIGWangYuDong BIGWangYuDong self-requested a review March 17, 2022 07:39
@codecov
Copy link

codecov bot commented Mar 17, 2022

Codecov Report

Merging #7441 (fcedb4c) into dev (151a803) will decrease coverage by 0.52%.
The diff coverage is 11.88%.

@@            Coverage Diff             @@
##              dev    #7441      +/-   ##
==========================================
- Coverage   65.09%   64.56%   -0.53%     
==========================================
  Files         357      359       +2     
  Lines       28852    29155     +303     
  Branches     4891     4938      +47     
==========================================
+ Hits        18782    18825      +43     
- Misses       9061     9327     +266     
+ Partials     1009     1003       -6     
Flag Coverage Δ
unittests 64.55% <11.88%> (-0.55%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
mmdet/models/dense_heads/solo_head.py 65.18% <ø> (ø)
mmdet/models/dense_heads/solov2_head.py 9.83% <9.83%> (ø)
mmdet/models/detectors/solov2.py 83.33% <83.33%> (ø)
mmdet/models/dense_heads/__init__.py 100.00% <100.00%> (ø)
mmdet/models/detectors/__init__.py 100.00% <100.00%> (ø)
mmdet/models/roi_heads/test_mixins.py 52.85% <0.00%> (+2.14%) ⬆️
mmdet/models/dense_heads/dense_test_mixins.py 43.20% <0.00%> (+2.46%) ⬆️
mmdet/core/bbox/samplers/random_sampler.py 80.55% <0.00%> (+5.55%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 151a803...fcedb4c. Read the comment docs.

@jshilong jshilong self-requested a review April 6, 2022 03:12
Copy link
Collaborator

@jshilong jshilong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your excellent work.
One general suggestion is that we should keep the name of variables and logic be consistent with SOLOHead.

@jshilong
Copy link
Collaborator

@BIGWangYuDong Would you mind doing the renaming and helping to benchmark the pr? The PR LGTM except for the variable naming is inconsistent with SOLOv1.

Copy link
Collaborator

@jshilong jshilong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BIGWangYuDong The Conv module names should also keep the same style with other heads

@BIGWangYuDong
Copy link
Collaborator

kindly ping @zhanggefan @jshilong have a look

@BIGWangYuDong
Copy link
Collaborator

BIGWangYuDong commented May 3, 2022

TODO:

  • Prepare models
  • Add README in config files

Some results

Configuration Performance Here Original
solov2_r50_fpn_8gpu_1x_coco 34.8 34.8
solov2_r50_fpn_8gpu_3x_coco 37.6 37.5
solov2_light_448_r18_fpn_8gpu_3x_coco 29.7 29.6
solov2_light_448_r34_fpn_8gpu_3x_coco 31.8 32.0
solov2_light_448_r50_fpn_8gpu_3x_coco 33.6 33.7

configs/solov2/README.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@jshilong jshilong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, can be merged after adding unitests

@ZwwWayne
Copy link
Collaborator

Overall, this PR looks great. It could be better if unit tests could be add.

@ZwwWayne
Copy link
Collaborator

can be merged after resolving conflicts

@BIGWangYuDong BIGWangYuDong changed the title [WIP] Add Support for SOLO-V2 [Feature] Support SOLOv2 May 24, 2022
@BIGWangYuDong
Copy link
Collaborator

can be merged after resolving conflicts

Done

@ZwwWayne ZwwWayne merged commit d18cdb1 into open-mmlab:dev May 25, 2022
@zhanggefan zhanggefan deleted the solov2 branch May 25, 2022 08:45
ZwwWayne pushed a commit that referenced this pull request Jul 18, 2022
* solov2 init

* solov2 r18 lightweight

* add model docstrings and reformat the code

* add docstrings to model method

* add solov2 big model config and correct some errors in the docstring

* fix linting issues

* refactor code and configs

* rename variables according to the convention

* add and enhance solov2 logic

* add doc strings

* update solov2 config files

* fix norm_cfg in mask head

* minor fix

* update configs

Co-authored-by: BIGWangYuDong <yudongwang@tju.edu.cn>
ZwwWayne pushed a commit to ZwwWayne/mmdetection that referenced this pull request Jul 19, 2022
* solov2 init

* solov2 r18 lightweight

* add model docstrings and reformat the code

* add docstrings to model method

* add solov2 big model config and correct some errors in the docstring

* fix linting issues

* refactor code and configs

* rename variables according to the convention

* add and enhance solov2 logic

* add doc strings

* update solov2 config files

* fix norm_cfg in mask head

* minor fix

* update configs

Co-authored-by: BIGWangYuDong <yudongwang@tju.edu.cn>
ZwwWayne pushed a commit to ZwwWayne/mmdetection that referenced this pull request Jul 19, 2022
* solov2 init

* solov2 r18 lightweight

* add model docstrings and reformat the code

* add docstrings to model method

* add solov2 big model config and correct some errors in the docstring

* fix linting issues

* refactor code and configs

* rename variables according to the convention

* add and enhance solov2 logic

* add doc strings

* update solov2 config files

* fix norm_cfg in mask head

* minor fix

* update configs

Co-authored-by: BIGWangYuDong <yudongwang@tju.edu.cn>
SakiRinn pushed a commit to SakiRinn/mmdetection-locount that referenced this pull request Mar 17, 2023
* solov2 init

* solov2 r18 lightweight

* add model docstrings and reformat the code

* add docstrings to model method

* add solov2 big model config and correct some errors in the docstring

* fix linting issues

* refactor code and configs

* rename variables according to the convention

* add and enhance solov2 logic

* add doc strings

* update solov2 config files

* fix norm_cfg in mask head

* minor fix

* update configs

Co-authored-by: BIGWangYuDong <yudongwang@tju.edu.cn>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants