hustvl/QueryInst

test stage mAP(box)=0, mAP(seg)=0.71

Opened this issue · 1 comments

Hi, I just download your code and your pretrained paramters. I test the model in the sub-dataset of coco dataset. But I find that the results of bbox's mAP = 0. I have checked that there are no problems with the dataset.

here is the result:

Evaluating bbox...
Loading and preparing results...
DONE (t=1.75s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type bbox
DONE (t=35.44s).
Accumulating evaluation results...
DONE (t=12.73s).
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.009
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.026
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.005
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.000
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.002
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.032
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.049
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.049
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.049
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.003
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.026
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.135

Evaluating segm...
Loading and preparing results...
UserWarning: The key "bbox" is deleted for more accurate mask AP of small/medium/large instances since v2.12.0. This does not change the overall mAP calculation.
warnings.warn(
DONE (t=4.94s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type segm
DONE (t=40.55s).
Accumulating evaluation results...
DeprecationWarning: np.float is a deprecated alias for the builtin float. To silence this warning, use float by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64 here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
tp_sum = np.cumsum(tps, axis=1).astype(dtype=np.float)
DONE (t=13.33s).
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.465
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.716
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.502
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.304
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.513
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.694
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.619
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.620
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.620
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.480
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.672
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.802
OrderedDict([('bbox_mAP', 0.009), ('bbox_mAP_50', 0.026), ('bbox_mAP_75', 0.005), ('bbox_mAP_s', 0.0), ('bbox_mAP_m', 0.002), ('bbox_mAP_l', 0.032), ('bbox_mAP_copypaste', '0.009 0.026 0.005 0.000 0.002 0.032'), ('segm_mAP', 0.465), ('segm_mAP_50', 0.716), ('segm_mAP_75', 0.502), ('segm_mAP_s', 0.304), ('segm_mAP_m', 0.513), ('segm_mAP_l', 0.694), ('segm_mAP_copypaste', '0.465 0.716 0.502 0.304 0.513 0.694')])

Sorry to bother you, I've found the mistake, the order of the coordinates of the boxes dose not match the iou_calculate function.