1. 程式人生 > >precision和recall,AP和mAP,ROC curve和precision recall curve

precision和recall,AP和mAP,ROC curve和precision recall curve

AP和mAP是目標檢測和資訊檢索中常用的evaluation metric

計算AP需要先計算precision和recall,得到每一類的AP後,對所有類的AP做平均,就得到mAP。

注1:計算AP時需要先計算precision和recall,而計算precision和recall需要先計算IoU,並且設定threshold才能得出precision和recall。PASCAL VOC和COCO對threshold的設定採取了不同的方式,VOC採用了固定threshold的方式,即0.5;而COCO採用了多個threshold,即0,0.1,0.2......1。具體參考reference的第一個連結。

注2:

mAP的具體計算(來自知乎:https://www.zhihu.com/question/53405779/answer/419532990)

在VOC2010以前,只需要選取當Recall >= 0, 0.1, 0.2, ..., 1共11個點時的Precision最大值,然後AP就是這11個Precision的平均值。

在VOC2010及以後,需要針對每一個不同的Recall值(包括0和1),選取其大於等於這些Recall值時的Precision最大值,然後計算PR曲線下面積作為AP值。

precision=\frac{TP}{TP+FP},衡量了演算法找到正例的能力(找到的正例裡面真實正例的比例)

precision等價於

recall= \frac{TP}{TP+FN},衡量了演算法覆蓋正例的能力(找到的正例佔所有真實正例的比例)

recall等價於sensitivity

ROC curve的x軸是FPR,y軸是TPR

FPR= \frac{FP}{FP+TN} = 1-specificity

TPR= \frac{TP}{TP+FN}= sensitivity

precision-recall curve的x軸是recall,y軸是precision

Reference