【深度学习理论】Mean Average Precision 计算

Precision = 检测正确的正样本数 / 总的检测样本(top-n)
Recall = 检测正确的正样本数 / 总正样本(top-all)

一般来说,PrecisionRecall的效果是成反比的,简单的说,如果将所有检测样本识别为正样本,那么Recall=1,但是Precision却会降低。

来自博客的一张图片:http://blog.sina.com.cn/s/blog_9db078090102whzw.html
【深度学习理论】Mean Average Precision 计算_第1张图片

在图像处理领域,Pascal VOC 2010之后出现一种新的计算方法。首先假设在N个样本中具有M个正样本,也就是对于Top-n的划分过程中,会得到M个Recall值,分别是1/M, 2/M, 3/M, ..., M/M。当Top-n中的n不断增大的过程中,每一个Recall值会对应一个范围。如下图:
【深度学习理论】Mean Average Precision 计算_第2张图片
对于每一个Recall值,计算出不同的Precision的值,然后取最大值作为该Recall值对应的Precision值(其实就是第一个Precision值),然后将每一个Recall对应的Precision值计算平均值。得到该类别的Precision(AP)。
在图像分类的过程中,一般是多分类问题,按照上面的计算过程,会得到每一个类比的AP的值,然后求出平均值就是mAP。也就是说横向是每个类别的Score,纵向是每一个样本ID

你可能感兴趣的:(深度学习)