I (also) dont understand the output of Mask-RCNN evaluation

Bernd: <p>Hello<br>
I just switched from TensorFlow to PyTorch, so I know my neural networks, but not so much PyTorch.</p>
<p>When I do an evaluate() after an epoch of training with Mask R-CNN (using ResNet-50) I get this kind of output:</p>
<p>IoU metric: bbox<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.316<br>
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.429<br>
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.377<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.178<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.342<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.202<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.595<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.619<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.496<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.640<br>
IoU metric: segm<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.332<br>
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.430<br>
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.388<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.130<br>
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.363<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.210<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.617<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.640<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.494<br>
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.664</p>
<p>Precision and recall values should converge to 1.0, and “bbox” and “segm” are probably the results for bounding box and masks, ok.<br>
I know what precision, recall and IoU means, but the rest is very unclear to me.</p>
<p>But what is “(AR)”, “IoU=0.50:0.95”, “maxDets”?<br>
And what does “-1” indicate for precision and recall?</p>
<p>Can someone explain these values to me?<br>
I tried to find some documentation about this but failed (maybe someone should document that!?).</p>
<p>Regards,<br>
Bernd</p>

vriez: <p>It’s all in there <a href="https://cocodataset.org/#detection-eval" class="inline-onebox" rel="noopener nofollow ugc">COCO - Common Objects in Context</a>.</p>

Bernd: <p>thank you very much! This is really great!</p>

nahidalam: <p><a class="mention" href="/u/vriez">@vriez</a> what does <code>100 detections per image</code> mean? I dont have any image that requires that many detection</p>