目录
1.2 准确率(Accuracy)、精确率(Precision)、召回率(Recall)
1. 简介
1.1 关于TP、TN、FP、FN
这四个指标的第一个字母True和False表示预测状态:正确或者错误,第二个字母Positive和Negative表示预测的样本属性:正例或负例。 所以TP和TN表示的是预测正确,TP是真正例,TN是真负例。FP和FN表示的是预测错误,FP是假正例,FN是假负例。
1.2 准确率(Accuracy)、精确率(Precision)、召回率(Recall)
准确率Accuracy统计的是所有数据(T+F),计算公式是所有T的数据除以T和F的总和。
精确率Precision和召回率Recall统计的是两种正例中TP的比例。
注意正例有两种,一种是数据集的正例,由TP和FN组成(因为FN表示错误地预测成负例,所以其实在数据集中是一个正例)。另外一种是模型预测的正例,由TP和FP(虽然和真值比较发现,FP预测错误,但是模型看来FP为正例)。
所以召回率(或查全率)统计的是数据集正例中,识别正确的结果:
精确率(或查准率)统计的是模型正例中,识别正确的结果:
一般来说, 如果模型的性能比较好,在 Recall增长的同时, Precision的值也会保持 在一个很高的水平, 而性能较差的模型, 可能会损失很多Precision来换取 Recall值的提高。
从计算公式来看,Precision和Recall这两个指标的区别在于FP和FN的数量多少,而一个模型检测出来的FP和FN一般是负相关的,所以Precision和Recall这两个指标也是负相关的。性能较差的模型,由于把更多的数据识别为正例,所以FP较多,FN相对则较少,由此带来Precision的减小和Recall的提高)。
通常,使用 Precision-Recall曲线 和 FScore指标来权衡 Precision与 Recall之间的关系。对于曲线A、B、C,曲线C在Recall增加时,Precision迅速减小,则该模型的效果一般,而曲线A则表现出模型较好。
非极大抑制(NMS):NMS全称Non-Maximum Suppression,就是需要根据score矩阵和region的坐标信息,从中找到置信度比较高的bounding box。对于有重叠的bounding box,只保留得分最高的那个。
1.3 AP、mAP和mmAP
我们计算某一类别AP需要绘出这一类别的PR曲线,所以我们要计算数据集中每张图片中这一类别的percision和reacll,只需要统计出TP,FP,FN个数就行了。
1.3.1 如何判断TP,FP,FN
拿单张图片来说吧,首先遍历图片中ground truth对象,使用类别信息进行过滤,之后读取检测出的这种类别的检测框,接着过滤掉置信度得分低于阈值的框,将剩下的检测框按置信度分数从高到低排序,最先判断置信度分数最高的检测框与gt bbox的IOU是否大于IOU阈值,若iou大于设定的iou阈值即判断为TP,将此gt_bbox标记为已检测(置信度分数最高的检测框最先去与iou阈值比较,若大于iou阈值,视为TP,后续的同一个gt对象的检测框都视为FP),iou小于阈值的,直接规划到FP中去。这里置信度分数不同的论文可能对其定义不一样,一般指分类置信度的居多,也就是预测框中物体属于某一个类别的概率。
关于图片中FN的统计就比较简单了,图片中某类别一共有多少个gt我们是知道的,减去TP的个数,剩下的就是FN的个数了(计算Recall,只需要得出TP,分母TP+FN即gt数量是已知的)
在每个给定IOU值下,计算每个类别的AP值(就是Precision-Recall曲线以下的面积),求平均即得到了mAP指标,mAP的大小一定在 [0,1]区间,mAP越大越好。在目标检测中,mAP是最常用的一个指标。
对不同的IOU值下的mAP求平均,即得到了mmAP指标。
1.4 不同数据集的评价标准
PASCAL 测试mAP时,取IOU=0.5。
COCO的主要评价指标是AP,指 IOU从0.5到0.95, 每变化 0.05 就测试一次 AP,然后求这10次测量结果的平均值作为最终的 AP。
COCO中AP@0.5 跟PASCAL VOC中的mAP是相同的含义,AP@0.75 跟PASCAL VOC中的mAP也相同,只是IOU阈值提高到了0.75,显然这个层面更严格,精度也会更低。
COCO数据集还针对 三种不同大小(small,medium,large) 的图片提出了测量标准,COCO中包含大约 41% 的小目标 (area<32×32), 34% 的中等目标 (32×32<area<96×96), 和 24% 的大目标 (area>96×96). 小目标的AP是很难提升的。
除了AP之外,COCO还提出了 AR 的测量标准 跟AP是类似的。
1.5 ASCAL VOC 11point 方法
首先对所有预测结果进行排序,score分高的排在前面,分数低的排在后面按顺序逐个把样本作为正例进行预测,计算出FP和TP再计算 召回率rec和精度prec,按照召回率t从0到1之间每0.1一个点,一共11个点,分别计算大于t的最大精度值p ,然后按照 ap=ap+p/11 ,一共计算11次。ap即为检测的值,所有的ap平均值为mAP。
参考博客:http://activepony.com/shen-du-xue-xi/mu-biao-jian-ce/mu-biao-jian-ce-ping-jie-zhi-biao/
1.6 图像分割评价指标
语义分割(semantic segmentation),常用来识别天空、草地、道路等没有固定形状的不可数事物(stuff)。语义分割的标记方法通常是给每个像素加上标签。
实例分割(instance segmentation),人、动物或工具等可数的、独立的明显物体(things)。实例分割通常用包围盒或分割掩码标记目标。
全景分割(Panoptic Segmentation)其实就是把这两个方向结合起来,生成统一的、全局的分割图像,既识别事物,也识别物体。
在语义分割中所有汽车会被标记为同种颜色,显示为整个色块,在实例分割中不同的汽车会使用不同的颜色进行标记,以示区别。
将每个要判断的类别作为正例,其余部分作为背景就是负例,常用的评价指标有交并比IoU、平均交并比mean IoU、平均准确率(mean-accuracy)、像素准确率PA(Pixel-accuracy)、平均像素准确率(MPA)。
目标检测和图像分割使用的IOU方法都是一样的,不同的是目标检测使用bounding box尺寸计算,而图像分割基于像素的掩码。
IoU用混淆矩阵计算:
作为背景的TN不计入计算范围。
Mean IoU将每个类别的IoU计算后累加,再进行平均。
PA是所有分类正确的像素数占像素总数的比例,利用混淆矩阵计算就是对角线上的元素 TP+TN之和,除以混淆矩阵所有元素之和TP+TN+FP+FN。
mPA平均像素准确率是分别计算每个类别分类正确的像素数,占所有预测为该类别像素数的比例,即精确率,然后累加求平均。