看懂COCO數據集目標識別性能評價標準AP,AP50,AP75,APsmal等

常見機器視覺國際會議論文出現的目標識別評價標準:AP,AP50,AP75等,權威解釋如下:

Note:

在COCO數據集評價指標中,所有的AP 默認爲mAP 。即,AP50=mAP50AP50=mAP50,AP75=mAP75AP75=mAP75,以此類推。
 

上圖中AP的計算方法十分繁瑣,來源於早期的VOC challenge,隨着VOC的發展,其計算方法也有所變化,例說簡述如下:

假設如下是一個多目標識別任務在規模N=20的測試數據集上得到的某一類(如car)的score情況(已經根據score大小進行了排序):

圖1  N=20的測試數據集測試結果(id 是數據集樣本編號,score是推理得分,gt_label是數據集的ground truth)

首先看下Top5指標(較老的論文會出現這個指標,意思是對於某一類,前5張樣本的識別性能指標:precision和recall)

其中Precision=2/5=40%(tp/(tp+fp))意思是對於car這一類別,我們選定了5(第4、2、13、19、6張)個樣本,其中正確的有2個,即準確率爲40%;Recall=2/6=30%(tp/(tp+fn))意思是在所有測試樣本(第4、2、9、16、7、20張)中,共有6個car,但是因爲我們只召回了2個,所以召回率爲30%。true positives就是指第4和第2張圖片,false positives就是指第13,19,6張圖片(雖然19和6的score小於0.5,但是誰讓他們在top-5的照顧範圍呢)。confidence score排在top-5之外的元素,參見圖1,可知:

true positives是指第9,16,7,20張圖片(雖然confidence score都已經小於0.5了,但是誰讓他們在top-N的照顧範圍呢),false positives是指第1,18,5,15,10,17,12,14,8,11,3張圖片(雖然confidence score都已經小於0.5了,但是誰讓他們在top-N的照顧範圍呢)。------很詭異,暫時理解爲只要在Top-N中有得分(score不爲零)的正例,都歸類爲TP,剩下的有得分(score不爲零)的負例都爲FP(其中,false negatives是指第9,16,7,20張圖片(因爲其confidence score都已經小於0.5了),true negatives是指第1,18,5,15,10,17,12,14,8,11,3張圖片。藍字是另外一種理解,和紅字理解基本相反,但是這樣無法和解釋圖2)。這是爲了解釋圖2的計算結果:

圖2 Top-N的precison和recall計算

從上圖中第二欄和第三欄可以得到p-rc曲線,如圖3:

圖3 20點p-rc曲線

實際多類別分類任務中,我們通常不滿足只通過top-5來衡量一個模型的好壞,而是需要知道從top-1到top-N(N是所有測試樣本個數,本文中爲20)對應的precision和recall。顯然隨着我們選定的樣本越來也多,recall一定會越來越高,而precision整體上會呈下降趨勢。

有了前面的鋪墊,現在可以說說AP這個大boss,首先設定一組閾值,[0, 0.1, 0.2, …, 1]。然後對於recall大於每一個閾值(比如recall>0.3),我們都會得到一個對應的最大precision。這樣,我們就計算出了11個precision。AP即爲這11個precision的平均值。這種方法英文叫做11-point interpolated average precision。

PASCAL VOC CHALLENGE自2010年後就換了另一種計算方法。新的計算方法假設這N個樣本中有M個正例,那麼我們會得到M個recall值(1/M, 2/M, ..., M/M),對於每個recall值r,我們可以計算出對應(r' > r)的最大precision,然後對這M個precision值取平均即得到最後的AP值。如下圖

AP衡量的是學出來的模型在每個類別上的好壞,mAP衡量的是學出的模型在所有類別上的好壞,得到AP後mAP的計算就變得很簡單了,就是取所有AP的平均值

ps:ImageNet比賽中的top-1 和top-5正確率是指:

Top-5正確率:

即對一個圖片,如果得分前五中包含正確答案,即認爲正確。

Top-1正確率:

即對一個圖片,如果得分最大的是正確答案,才認爲正確。



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章