文章摘选自多篇文章,仅用于学习,在此表示感谢,若有侵权请联系,感谢
mAP: mean Average Precision, 即各类别AP的平均值
AP: PR曲线下面积,其实是在0~1之间所有recall值的precision的平均值。
PR曲线: Precision-Recall曲线
Precision: TP / (TP + FP)
Recall: TP / (TP + FN)
如何绘制P-R曲线
Precision-Recall曲线,简称P-R曲线,其横轴是召回率,纵轴是精确率。
如何计算AP
要计算mAP必须先绘出各类别PR曲线,计算出AP。
1)积分求解
由于每个图片计算出来的P-R很大可能不是一条连续的曲线,如果使用积分的方式计算会造成和多问题
2)插值求解
但通常情况下都是使用估算或者插值的方式计算:
(1)估算计算方式approximated average precision
(2)插值计算方式Interpolated average precision
(3)插值方式进一步演变
VOC采取的两种插值方式
在VOC2010以前,只需要选取当Recall >= 0, 0.1, 0.2, ..., 1共11个点时的Precision最大值,然后AP就是这11个Precision的平均值。在VOC2010及以后,需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。
1)11-point interpolation(VOC07,10之前)
11-point interpolation通过平均一组11个等间距的Recall值[0,0.1,0.2,...,1]对应的Precision来绘制P-R曲线.
计算precision时采用一种插值方法(interpolate),即对于某个recall值r,precision值取所有recall>=r中的最大值(这样保证了p-r曲线是单调递减的,避免曲线出现抖动)
2)Interpolating all points(VOC10之后)
不再是对召回率在[0,1]之间的均匀分布的11个点,而是对每个不同的recall值都计算一个ρinterp(r),然后求平均,r取recall>=r+1的最大precision值。
网友评论