Sha*_*ana 5 object-detection deep-learning
在这个Tensorflow检测模型动物园中,他们提到了不同检测体系结构的COCO mAp评分.他们还表示,mAp得分越高,准确度越高.什么是不明白的是如何计算?它可以获得的最高分是多少?为什么这个mAp评分与数据集的数据不同?
esh*_*ima 18
要了解MAP(平均平均精度),我首先要从AP(平均精度)开始.
假设我们正在搜索一朵花的图像,我们为我们的图像检索系统提供一张玫瑰(查询)的样本图片,我们确实得到了一堆排名图像(最可能是最不可能的).通常并非所有这些都是正确的.因此,我们计算每个正确返回图像的精度,然后取平均值.
例:
如果我们返回的结果是花的图像
1, 0, 0, 1, 1, 1在哪里1,而0不是,那么每个正确点的精度是:
Precision at each correct image = 1/1, 0, 0, 2/4, 3/5, 4/6
Summation of these precisions = 83/30
Average Precision = (Precision summation)/(total correct images) = 83/120
Run Code Online (Sandbox Code Playgroud)
边注:
本节提供了每个正确图像精度计算背后的详细说明,以防您仍然对上述分数感到困惑.
为了便于说明,我们1, 0, 0, 1, 1, 1将其存储在一个数组中results[0] = 1,results[1] = 0等等.
让 totalCorrectImages = 0, totalImagesSeen = 0, pointPrecision = 0
公式pointPrecision是totalCorrectImages / totalImagesSeen
在results[0], totalCorrectImages = 1, totalImagesSeen = 1故pointPrecision = 1
因为results[1] != 1,我们忽略了它totalImagesSeen = 2 && totalCorrectImages = 1
因为results[2] != 1,totalImagesSeen = 3 && totalCorrectImages = 1
在results[3], totalCorrectImages = 2, totalImagesSeen = 4故pointPrecision = 2/4
在results[4], totalCorrectImages = 3, totalImagesSeen = 5故pointPrecision = 3/5
在results[5], totalCorrectImages = 4, totalImagesSeen = 6故pointPrecision = 4/6
一种简单的解释方法是产生一个零和一个组合,它们将提供所需的AP.例如,0.5的AP可以具有类似的结果
0, 1, 0, 1, 0, 1, ...,其中每一个第二图像是正确的,而AP的0.333具有0, 0, 1, 0, 0, 1, 0, 0, 1, ...其中每一个第三图像是正确的.对于AP来说
0.1,每10个图像都是正确的,这绝对是一个糟糕的检索系统.另一方面,对于上面的AP0.5,我们将在顶部结果中遇到比错误更正确的图像,这绝对是一个好兆头.
MAP只是AP的扩展.您只需获取一定数量查询的所有AP分数的平均值即可.上述AP分数的解释也适用于MAP.MAP范围从0到100,越高越好.
维基百科上的 AP公式
维基百科上的 MAP公式
归功于此博客
编辑I:
在对象检测方面应用相同的概念.在这种情况下,您将计算每个类的AP.这由给定类的精确回忆曲线下的面积给出.从这一点开始,您会发现他们的平均值达到了mAP.
有关详细信息,请参阅2012 Pascal VOC Dev Kit的 3.4.1和4.4节.相关文章可以在这里找到.
| 归档时间: |
|
| 查看次数: |
8833 次 |
| 最近记录: |