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 YOLOv6 3.0 inference #744

Merged
merged 3 commits into from
Apr 25, 2023

Conversation

Qingrenn
Copy link
Contributor

@Qingrenn Qingrenn commented Apr 20, 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 YOLOv6 3.0 inference.

Modification

  • add CSPSPPFBottleneck module for YOLOv6 3.0 backbone

  • add BiFusion module, YOLOv6RepBiPAFPN module for YOLOv6 3.0 neck

  • modify YOLOv6HeadModule to support YOLOv6 3.0 head

  • add a yolov6v3 l/m/s/t/n conifgs

  • add a checkpoint convert script

BC-breaking (Optional)

Use cases (Optional)

  1. Transform the official checkpoints to mmyolo style.
  2. perform tool/test.py to evaluate the models.

The results on COCO val2017 using the transformed checkpoints:

Model box_mAP box_mAP_50 bbox_mAP_75 bbox_mAP_s bbox_mAP_m bbox_mAP_l
yolov6_v3_n 0.3750 0.5300 0.4060 0.1780 0.4180 0.5490
yolov6_v3_s 0.4520 0.6210 0.4870 0.2490 0.5040 0.6260
yolov6_v3_m 0.5000 0.6710 0.5440 0.3080 0.5540 0.6670
yolov6_v3_l 0.5290 0.7050 0.5780 0.3470 0.5820 0.6990

Checklist

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

ToDo👨🏻‍💻

update loss of v3.0 for training.

* add CSPSPPFBottleneck module for YOLOv6 3.0 backbone

* add BiFusion module, YOLOv6RepBiPAFPN module for YOLOv6 3.0 neck

* modify YOLOv6HeadModule to support YOLOv6 3.0 head

* add a yolov6v3 l/m/s/t/n conifgs
@CLAassistant
Copy link

CLAassistant commented Apr 20, 2023

CLA assistant check
All committers have signed the CLA.

* Modify YOLOv6RepBiPAFPN

* Add unit tests
@RangeKing
Copy link
Collaborator

@Qingrenn Thank you for your contribution.

  • Please sign the CLA by clicking this button.
    image
  • The config name should be like yolov6_s-v3_syncbn_fast_8xb32-400e_coco.py.

* Rename yolov6_v3 configs

* Fix a bug in building BiFusion Module

* Add a checkpoint convert script
@hhaAndroid hhaAndroid merged commit 9f3adc4 into open-mmlab:dev Apr 25, 2023
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