1. IOU
交并比(Intersection Over Union, IOU)是度量两个检测框(对于目标检测来说)的交叠程度,公式如下:
Bgt 代表的是目标实际的边框(Ground Truth,GT),Bp 代表的是预测的边框,通过计算这两者的 IOU,可以判断预测的检测框是否符合条件,IOU 用图片展示如下:
绿色框是 GT 框体,红色框是预测框体,IOU = 相交的面积 / 相并的面积
2. TP、FP、FN、TN
-
True Positive ( TP ): IOU > IOUthreshold ( IOUthreshold 一般取 0.5 ) 的检测框数量(同一 GT 只计算一次)
-
False Positive ( FP ): IOU <= IOUthreshold 的检测框数量,或者是检测到同一个 GT 的多余检测框的数量
-
False Negative ( FN ): 没有检测到的 GT 的数量
-
True Negative ( TN ): 在 mAP 评价指标中不会使用到( 因为有无数个,一张图片可以画无数个框)。
3. Precision、Recall
-
查准率(Precision: 精确率)
其中 all detctions 代表所有预测框的数量。 -
查全率(Recall: 召回率)
其中 all ground truths 代表所有 GT 的数量。
4. P - R 曲线
以 Recall 作为横坐标轴,Precision 作为纵坐标轴,二者绘制的曲线称为 P-R 曲线;
如果一个学习器的 P-R 曲线被另一个学习器的 P-R 曲线完全包住,则可断言后者的性能优于前者,例如上面的A和B优于学习器C,但是A和B的性能无法直接判断,但我们往往仍希望把学习器A和学习器B进行一个比较,我们可以根据曲线下方的面积大小来进行比较,但更常用的是平衡点或者是F1值。
平衡点(BEP)是查准率=查全率时的取值,如果这个值较大,则说明学习器的性能较好。而F1 = 2 * P * R /( P + R ),同样,F1值越大,我们可以认为该学习器的性能较好。
5. AP & mAP
AP :P-R 曲线下面积;
mAP:mean Average Precision,即各类别 AP 的平均值;
下面用一个例子说明 AP 和 mAP 的计算,AP 是计算某一类 P-R 曲线下的面积,mAP 则是计算所有类别 P-R 曲线下面积的平均值。
假设我们有 7 张图片(Images1-Image7),这些图片有 15 个目标(绿色的框,GT 的数量,上文提及的 all ground truths)以及 24 个预测边框(红色的框,A-Y 编号表示,并且有一个置信度值)
根据上图以及说明,我们可以列出以下表格,其中 Images 代表图片的编号,Detections 代表预测边框的编号,Confidences 代表预测边框的置信度,TP or FP 代表预测的边框是标记为 TP 还是 FP(认为预测边框与 GT 的 IOU 值大于等于 0.3 就标记为 TP;若一个 GT 有多个预测边框,则认为 IOU 最大且大于等于 0.3 的预测框标记为 TP,其他的标记为 FP,即一个 GT 只能有一个预测框标记为 TP),这里的 0.3 是随机取的一个值。
通过上表,我们可以绘制出 P-R 曲线(因为 AP 就是 P-R 曲线下面的面积),但是在此之前我们需要计算出 P-R 曲线上各个点的坐标,根据置信度从大到小排序所有的预测框,然后就可以计算 Precision 和 Recall 的值,见下表。(需要记住一个叫累加的概念,就是下图的 ACC TP 和 ACC FP)
- 标号为 1 的 Precision 和 Recall 的计算方式:Precision=TP/(TP+FP)=1/(1+0)=1,Recall=TP/(TP+FN)=TP/(all ground truths)=1/15=0.0666 (all ground truths 上面有定义过了)
- 标号 2:Precision=TP/(TP+FP)=1/(1+1)=0.5,Recall=TP/(TP+FN)=TP/(all ground truths)=1/15=0.0666
- 标号 3:Precision=TP/(TP+FP)=2/(2+1)=0.6666,Recall=TP/(TP+FN)=TP/(all ground truths)=2/15=0.1333
- 其他的依次类推然后就可以绘制出 P-R 曲线
得到 P-R 曲线就可以计算 AP(P-R 曲线下的面积),要计算 P-R 下方的面积,一般使用的是插值的方法,取 11 个点 [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] 的插值所得
得到一个类别的 AP 结果如下:要计算 mAP,就把所有类别的 AP 计算出来,然后求取平均即可。
AP50 指的是IOU的值取50%,AP70 同理
AP@50:5:95 指的是 IOU 的值从 50% 取到 95%,步长为 5%,然后算在这些 IOU 下的 AP 的均值
Reference
[1] Object-Detection-Metrics
[2] 目标检测之评价指标 - mAP
[3] P-R曲线及与ROC曲线区别