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
""" | """ | ||||
# Append sentinel values to beginning and end | # 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 | # Compute the precision envelope | ||||
mpre = np.flip(np.maximum.accumulate(np.flip(mpre))) | mpre = np.flip(np.maximum.accumulate(np.flip(mpre))) |