Reinstate PR curve sentinel values (#1598)

This commit is contained in:
Glenn Jocher 2020-12-08 17:40:19 -08:00 committed by GitHub
parent ce9feb42b4
commit 7e846c7d3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -77,18 +77,17 @@ def ap_per_class(tp, conf, pred_cls, target_cls, plot=False, save_dir='precision
def compute_ap(recall, precision): def compute_ap(recall, precision):
""" Compute the average precision, given the recall and precision curves. """ Compute the average precision, given the recall and precision curves
Source: https://github.com/rbgirshick/py-faster-rcnn.
# Arguments # Arguments
recall: The recall curve (list). recall: The recall curve (list)
precision: The precision curve (list). precision: The precision curve (list)
# Returns # Returns
The average precision as computed in py-faster-rcnn. Average precision, precision curve, recall curve
""" """
# Append sentinel values to beginning and end # Append sentinel values to beginning and end
mrec = recall # np.concatenate(([0.], recall, [recall[-1] + 1E-3])) mrec = np.concatenate(([0.], recall, [recall[-1] + 0.01]))
mpre = precision # np.concatenate(([0.], precision, [0.])) mpre = np.concatenate(([1.], precision, [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)))