看懂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正确率:

即对一个图片,如果得分最大的是正确答案,才认为正确。



 

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