Reinstate PR curve sentinel values (#1645)

pull/1646/head
Glenn Jocher 2020-12-08 17:40:49 -08:00 committed by GitHub
parent b53c8ac179
commit 0bb43953eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 7 deletions

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):
""" Compute the average precision, given the recall and precision curves.
Source: https://github.com/rbgirshick/py-faster-rcnn.
""" Compute the average precision, given the recall and precision curves
# Arguments
recall: The recall curve (list).
precision: The precision curve (list).
recall: The recall curve (list)
precision: The precision curve (list)
# Returns
The average precision as computed in py-faster-rcnn.
Average precision, precision curve, recall curve
"""
# Append sentinel values to beginning and end
mrec = recall # np.concatenate(([0.], recall, [recall[-1] + 1E-3]))
mpre = precision # np.concatenate(([0.], precision, [0.]))
mrec = np.concatenate(([0.], recall, [recall[-1] + 0.01]))
mpre = np.concatenate(([1.], precision, [0.]))
# Compute the precision envelope
mpre = np.flip(np.maximum.accumulate(np.flip(mpre)))