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 ConvNeXt-V2. #9619

Merged
merged 5 commits into from
Jan 16, 2023
Merged

Conversation

RangiLyu
Copy link
Member

@RangiLyu RangiLyu commented Jan 12, 2023

Support ConvNeXt-V2

This PR gives an example of using ConvNeXt-V2 in mmdetection.

It requires the latest version of mmclassification-1.x.

Notice

The official finetuning setting of object detection is not released yet.

There are at least three settings unknown:

  • What is stochastic depth rate {0.1, 0.2, 0.3, 0.4} mean?
  • Does RPN use soft_nms?
  • What is sweep layer-wise lr decay?

Training result:

01/14 20:43:26 - mmengine - �[4m�[37mINFO�[0m - Evaluating bbox...
Loading and preparing results...
DONE (t=0.94s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=39.44s).
Accumulating evaluation results...
DONE (t=6.56s).
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.529
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.727
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.587
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.359
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.573
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.670
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.694
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.694
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.694
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.523
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.742
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.836
01/14 20:44:14 - mmengine - �[4m�[37mINFO�[0m - bbox_mAP_copypaste: 0.529 0.727 0.587 0.359 0.573 0.670
01/14 20:44:14 - mmengine - �[4m�[37mINFO�[0m - Evaluating segm...
Loading and preparing results...
DONE (t=2.69s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *segm*
DONE (t=43.78s).
Accumulating evaluation results...
DONE (t=6.45s).
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.464
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.699
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.508
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.273
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.498
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.649
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.601
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.601
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.601
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.436
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.639
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.750
01/14 20:45:11 - mmengine - �[4m�[37mINFO�[0m - segm_mAP_copypaste: 0.464 0.699 0.508 0.273 0.498 0.649
01/14 20:45:12 - mmengine - �[4m�[37mINFO�[0m - Epoch(val) [36][625/625] coco/bbox_mAP: 0.5290 coco/bbox_mAP_50: 0.7270 coco/bbox_mAP_75: 0.5870 coco/bbox_mAP_s: 0.3590 coco/bbox_mAP_m: 0.5730 coco/bbox_mAP_l: 0.6700 coco/segm_mAP: 0.4640 coco/segm_mAP_50: 0.6990 coco/segm_mAP_75: 0.5080 coco/segm_mAP_s: 0.2730 coco/segm_mAP_m: 0.4980 coco/segm_mAP_l: 0.6490

The box AP is aligned with the paper, but the mask AP has a gap of 0.2%.

ZwwWayne
ZwwWayne previously approved these changes Jan 12, 2023
@yuangpeng
Copy link

Could you please provide your reproduction log or result?

@RangiLyu
Copy link
Member Author

Could you please provide your reproduction log or result?

I trained it last weekend. The box AP is aligned with the paper, but the mask AP has a gap of 0.2%.
here is the log:
20230113_110947.log

@yuangpeng
Copy link

yuangpeng commented Jan 16, 2023

Could you please provide your reproduction log or result?

I trained it last weekend. The box AP is aligned with the paper, but the mask AP has a gap of 0.2%. here is the log: 20230113_110947.log

Thanks! I just noticed my problem, because I only reproduced the cascade mask rcnn convnext v1 base, the result of box AP 52.35 is my baseline. I keep the same config and change the backbone and pretrained weight to v2, then I only get the box AP 52.48. Now I am curious whether v2 has little improvement on cascade mask rcnn.

ZwwWayne
ZwwWayne previously approved these changes Jan 16, 2023
@RangiLyu RangiLyu removed the WIP Working in progress label Jan 16, 2023
@ZwwWayne ZwwWayne merged commit ec8b304 into open-mmlab:dev-3.x Jan 16, 2023
yumion pushed a commit to yumion/mmdetection that referenced this pull request Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants