open-mmlab / mmdetection

OpenMMLab Detection Toolbox and Benchmark
https://mmdetection.readthedocs.io
Apache License 2.0
28.89k stars 9.35k forks source link

I have got mAP and mAR of all classes. But I haven't got mAP for each class #9919

Open Troyella opened 1 year ago

Troyella commented 1 year ago

I have got mAP and mAR of all classes. But I haven't got mAP for each class, where is the problem?

443, loss_bbox: 0.2925, loss: 0.4368 2023-03-11 05:54:32,697 - mmdet - INFO - Epoch [7][2550/2620]   lr: 1.000e-03, eta: 17:09:17, time: 0.549, data_time: 0.012, memory: 9418, loss_cls: 0.1474, loss_bbox: 0.2990, loss: 0.4464 
2023-03-11 05:55:00,193 - mmdet - INFO - Epoch [7][2600/2620]   lr: 1.000e-03, eta: 17:08:50, time: 0.550, data_time: 0.012, memory: 9418, loss_cls: 0.1595, loss_bbox: 0.3034, loss: 0.4629 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 1144/1144, 14.3 task/s, elapsed: 80s, ETA:     0s2023-03-11 05:56:35,083 - mmdet - INFO - Evaluating bbox...
Loading and preparing results...
DONE (t=0.20s) creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox* DONE (t=36.15s).
Accumulating evaluation results...
DONE (t=4.11s).
2023-03-11 05:57:16,602 - mmdet - INFO -   
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.170  
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.324  
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.163  
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.123  
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.308  
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.399  
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.282  
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.282  
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.282  
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.204  
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.457  
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.563  
2023-03-11 05:57:16,805 - mmdet - INFO - Exp name: retinanet_x101_32x4d_fpn_1x_coco.py
2023-03-11 05:57:16,805 - mmdet - INFO - Epoch(val) [7][1144]   bbox_mAP: 0.1700, bbox_mAP_50: 0.3240, bbox_mAP_75: 0.1630, bbox_mAP_s: 0.1230, bbox_mAP_m: 0.3080, bbox_mAP_l: 0.3990, bbox_mAP_copypaste: 0.170 0.324 0.163 0.123 0.308 0.399 
2023-03-11 05:57:47,373 - mmdet - INFO - Epoch [8][50/2620]     lr: 1.000e-03, eta: 17:07:24, time: 0.611, data_time: 0.075, memory: 9418, loss_cls: 0.1371, loss_bbox: 0.2820, loss: 0.4191 2023-03-11 05:58:14,594 - mmdet - INFO - Epoch [8][100/2620]    lr: 1.000e-03, eta: 17:06:56, time: 0.544, data_time: 0.010, memory: 9418, loss_cls: 0.1381, loss_bbox: 0.2903, loss: 0.4284
da-orange-zi commented 8 months ago

I solve this problem by setting classwise = True in mmdetection-3.1.0\mmdet\evaluation\metrics\coco_metric.py. hope to help you.