前言
之前简单介绍过目标检测算法的一些评价标准,地址为为目标检测算法之评价标准和常见数据集盘点。然而这篇文章仅仅只是从概念性的角度来阐述了常见的评价标准如Acc,Precision,Recall,AP等。并没有从源码的角度来分析具体的计算过程,这一篇推文的目的就是结合代码再次详细的解释目标检测算法中的常见评价标准如Precision,Recall,AP,mAP的具体计算过程。
评价指标
由于在上面那篇推文中已经详细解释过了,所以这里就只是简单的再回顾一下,详细的请移步那篇推文看看。为了方便理解,还是先说一下TP,TN,FP,FN的含义。
一个经典例子是存在一个测试集合,测试集合只有大雁和飞机两种图片组成,假设你的分类系统最终的目的是:能取出测试集中所有飞机的图片,而不是大雁的图片。然后就可以定义:True positives: 简称为TP,即正样本被正确识别为正样本,飞机的图片被正确的识别成了飞机。
True negatives: 简称为TN,即负样本被正确识别为负样本,大雁的图片没有被识别出来,系统正确地认为它们是大雁。
False Positives: 简称为FP,即负样本被错误识别为正样本,大雁的图片被错误地识别成了飞机。
False negatives: 简称为FN,即正样本被错误识别为负样本,飞机的图片没有被识别出来,系统错误地认为它们是大雁。
接下来我们就开始定义一些评价标准:准确率(Acc):准确率(Acc)的计算公式为
,即预测正确的样本比例,
代表测试的样本数。在检测任务中没有预测正确的负样本的概念,所以Acc自然用不到了。
查准率(Precision):查准率是针对某一个具体类别而言的,公式为:
,其中N代表所有检测到的某个具体类的目标框个数。
召回率(Recall):召回率仍然是针对某一个具体类别而言的,公式为:
,即预测正确的目标框和所有Ground Truth框的比值。
F1 Score:定位Wie查准率和召回率的调和平均,公式如下:
。
IOU:先为计算mAP值做一个铺垫,即IOU阈值是如何影响Precision和Recall值的?比如在PASCAL VOC竞赛中采用的IoU阈值为0.5,而COCO竞赛中在计算