This PR brings alignment in AP computation practices with Detectron2 and MMDetection. Problem first noted by @yusiyoh in https://github.com/ultralytics/yolov5/issues/4546modifyDataloader
@@ -91,8 +91,8 @@ def compute_ap(recall, precision): | |||
""" | |||
# Append sentinel values to beginning and end | |||
mrec = np.concatenate(([0.], recall, [recall[-1] + 0.01])) | |||
mpre = np.concatenate(([1.], precision, [0.])) | |||
mrec = np.concatenate(([0.0], recall, [1.0])) | |||
mpre = np.concatenate(([1.0], precision, [0.0])) | |||
# Compute the precision envelope | |||
mpre = np.flip(np.maximum.accumulate(np.flip(mpre))) |