目标检测之评论指标

2019-10-10  本文已影响0人  blackmanba_084b

目标检测指标主要有两项一个是AP一个就是mAP。

一、 AP(Average Precision)


1、我们就拿faster rcnn预测出的bounding box进行举例。

a. 首先将模型预测的结果进行置信度筛选,选择置信度高的bounding box。
b. 第二步,我们会对预测结果通过置信度进行降序排列,形成排列rank。
c. 第三步, 给定rank级别,计算recall以及precision。
d. 第四步, 计算AP

* 这里需要强调的是第四步计算AP的过程:

VOC 计算过程
VOC2010以前 只需要选取当Recall >= 0, 0.1, 0.2, …, 1共11个点时的Precision最大值,即当recall>0时,Precision的最大值,当recall>0.1时Precision的最大值,依次类推。然后AP就是这11个Precision的平均值。
VOC2010之后 需要针对每一个不同的Recall值(包括0和1),选取其大于等于这些Recall值时的Precision最大值,然后计算PR曲线下面积作为AP值。
2. 示例
Rank Rrecision Recall 计算过程
Rank = 1 Precision = 1.00 Recall = 0.14 表示只预测出来了一个框BB1,这个框BB1恰好是和ground truth的IoU > 0.5,所以可以作为一个TP。TP=1,没有预测出错误的飞机,所以FP=0,但是实际上一共有5+2=7个真值飞机(这里的2没有表示出来,是confidence score低于0.5即还有BB10 以及BB11),所以相当于漏检了6个飞机,即FN=6,。因此,可以计算出Precision=1/1=1;Recall=1/7=0.14
Rank=2 Precision=1.00 Recall=0.29 表示预测出来了两个框BB1和BB2,BB1和BB2和ground truth的IoU > 0.5,所以都可以作为TP。TP=2,没有预测出错误的飞机,所以FP=0,但是实际上一共有5+2=7个真值飞机,所以相当于漏检了5个飞机,即FN=5,。因此,可以计算出Precision=2/2=1;Recall=2/7=0.29
Rank=3 Precision=0.66 Recall=0.29 表示预测出来了三个框BB1、BB2和BB3,BB1和BB2和ground truth的IoU > 0.5,所以都可以作为TP。TP=2,BB3预测错误,所以FP=1,但是实际上一共有5+2=7个真值飞机,所以相当于漏检了5个飞机,即FN=5,。因此,可以计算出Precision=2/3=0.66;Recall=2/7=0.29
Rank=4 Precision=0.50 Recall=0.29 ...
Rank=5 Precision=0.40 Recall=0.29 ...
Rank=6 Precision=0.50 Recall=0.43 ...
Rank=7 Precision=043 Recall=0.43 ...
Rank=8 Precision=0.38 Recall=0.43 ...
Rank=9 Precision=0.44 Recall=0.57 ...
Rank=10 Precision=0.50 Recall=0.71 ...
Recall 条件 Prercision最大值
Recall >= 0时 Percision最大为1
Recall >= 0.1时 Percision最大为1
Recall >= 0.2时 Percision最大为1
Recall >= 0.3时 Percision最大为0.5
Recall >= 0.4时 Percision最大为0.5
Recall >= 0.5时 Percision最大为0.5
Recall >= 0.6时 Percision最大为0.5
Recall >= 0.7时 Percision最大为0.5
Recall >= 0.8时 Percision最大为0
Recall >= 0.9时 Percision最大为0
Recall >= 1时 Percision最大为0

此时Aeroplane类别的 AP = 5.5 / 11 = 0.5。

mAP(mean Average Precision)

mAP 就是所有类别的 AP 的均值.

参考

  1. 目标检测评价指标Precision Recall AP mAP
上一篇下一篇

猜你喜欢

热点阅读