AP mAP檢測評估指標

2021-09-11 03:08:18 字數 3011 閱讀 5633

理論部分的研究看這個鏈結

自己用python實現了precision和recall的計算,並畫pr曲線的**附上:

import matplotlib.pyplot as plt

score =

[0.91

,0.76

,0.65

,0.46

,0.45

,0.38

,0.24

,0.23

,0.23

,0.13

,0.12

,0.12

,0.11

,0.1

,0.09

,0.08

,0.07

,0.03

,0.03

,0.01

]gt =[1

,1,0

,0,0

,1,1

,0,0

,0,1

,0,0

,0,0

,1,0

,0,0

,0]precision, recall =

,#不同threshold下的precision和recall值構成的列表

for i in

range(1

,21):

tp = gt[

:i].count(1)

fp = gt[

:i].count(0)

fn = gt[i:

].count(1)

tn = gt[i:

].count(0)

(tp + fp)

)(tp + fn)

)plt.figure(1)

plt.xlabel(

'recall'

)plt.ylabel(

'precision'

)plt.plot(recall,precision)

#recall是橫座標,precision是縱座標

plt.show(

)

得到的pr曲線如下:

voc07和voc10有兩種不同的評判方式,

(下圖綠色框)選擇每個recall區間內對應的最高precision,最後求平均得到ap。

#count記錄recall區間的個數

ap =

0for i in

range

(len

(recall)):

if i>=

0and recall[i]

==recall[i-1]

:continue

ap += precision[i]

print

(ap/

len(count)

)(上圖白色框),假設n個樣本有m個正例,那麼會得到m個recall值,對於每個recall值r,我們可以計算出對應(r』 > r)的最大precision,然後對這m個precision值取平均即可得到最後的ap值。

主要在recall = 3 / 6下的precision,可以發現voc07找的top-precision是在該recall區間段內的,但voc10相當於是向後查詢的,需確保該recall閾值以後的區間內,對應的是top-precision,可知4 / 7 > 3 / 6,因此使用4 / 7替換了3 / 6,其他recall閾值下的操作方式類似;

voc07是11點插值的ap方式,等於是卡了11個離散的點,劃分10個區間來計算ap,但voc10是是根據recall值變化的區間來計算的,在這個栗子裡,recall只變化了6次,但如果recall變化很多次,如100次、1000次、9999次等,就可以認為是一種 「偽」 連續的方式計算了;

經過「去重」後的recall就沒有重複了,這樣得到的pr曲線如下,是單調遞減的。

roc和auc是評價分類器的指標, roc關注兩個指標:

true positive rate ( tpr ) = tp / [ tp + fn] ,tpr代表能將正例分對的概率

false positive rate( fpr ) = fp / [ fp + tn] ,fpr代表將負例錯分為正例的概率

還是用上面的資料,畫出roc曲線如下所示:

auc是roc曲線下的面積。

在實際問題中,precision/recall/漏檢率/誤檢率的計算往往是用二分類的評價指標來做的,就是要先求tp/fp/tn/fn這四個引數,然後根據前面說的步驟求解。但是在檢測領域,計算方式如下:

precision

對於某個類別c,在某張上,precision =在一張上類別c識別正確的個數(也就是iou>0.5)/一張上類別c的總個數

ap=每張上的precision求和/含有類別c的數目

map=上一步計算的所有類別的ap和/總的類別數目。相當於所有類別的ap的平均值。

更新:分類任務的map計算,是

信用評測,評估

涵蓋轉賬支付,銀聯流水資料分析 還貸 理財 購物 出行 住宿 公益等數百種金融和生活場景,從身份特質 履約能力 行為偏好 信用歷史 人脈關係五大維度,結合大規模資料探勘等演算法,科學 嚴謹地量化評估個人信用狀況 明文方式請求引數 名稱 型別必填 說明key string 是api key idcar...

顯著性檢測評價指標

m為二值化的顯著 圖,g為ground truth.通過設定閾值得到二值化的顯著 圖m,通過上式計算得到一對precision,recall 所有的p,r取平均 閾值取值為0 255.這樣,不同的閾值,對應不同的p r對,總共有256個p r對。以p為縱座標,r為橫座標,構成p r曲線。參考 2一般...

關於目標檢測中的AP,mAP解釋

1.ap 現在目標檢測 中coco資料集上的衡量標準 目標檢測演算法的常用評價標準,實際上是mmap,因為是多個iou閾值的平均map,含義為iou閾值 檢測框與groundtruth的iou大於該閾值時認為是正樣本 從0.5到0.95逐步遞增0.05時共10個iou閾值下的map的平均值。而在pa...