目标检测指标细究:精确度(Precision)、召回率(recall)、虚警率(False Alarm)

1、目标检测中的“样本”概念:

并非groundtruth,也非图片。指的是真正投入网络参与loss计算及其正反向传播的边界框,这些框是算法根据groundtruth预测出来的。框中有样本且类别正确则为正样本,框中无样本或样本类别错误则为负样本。在one-stage算法中的样本就是正负比为1:3的Regin Proposals,在SSD中就是正负比为1:3的Prior boxes,在YOLOv1中就是98=7*7*2个bounding boxes(负样本居多)。

2、假设在一个单类别检测问题中的样本有两类(背景算1类),分布如下:

(1)P=Positive:

目标检测中的类别plane,设其为正样本;

(2)N=negative:

目标检测中的类别background,设其为负样本;

3TP=True Positive:

把plane正确检测为plane框的数量(正确的plane框);

4FP=False Positive:

把background错误检测为plane框 的数量(错误的plane框);

5TN=True Negative:

把background正确检测为background框的数量(正确的background框),识别为背景的框(非目标)一般在算法结束时,统一清除不显示;

6FN=False Negative:

把plane错误检测为background框的数量(错误的background框)。

3、公式:

1)精确度(Precision):Precision = TP/(TP+FP)

       反映了检测器检测到的某类别目标中,真正的属于该类别的所占比例;

2)召回率(recall):Recall = TP/(TP+FN)

   反映了检测器检测到的某类别目标中真正的属于该类别的数量,占该类别groundtruth数量的比例;

3)虚警概率(False AlarmFA= FP/(TP + FP)

     反映了检测器检测到的某类别目标中,误检目标数量所占比例。

4、举例(目标检测中各项指标都是针对某一类别最终结果来定义的):

(1)例1(单类别检测):

单类别检测,检测网络在一张有8个飞机的图片上生成了10个框,均识别为plane,即:

                                                                                   P=8,

                                                                                   N=2

10个plane框里有6个框里确是plane,另4个框里实际是background,即:

                                                                                  TP=6

                                                                                   FP=4

2个漏检的plane实际被检测为背景,即:

                                                                                   TN=0

                                                                                   FN=2

因此,这个网络在这张图片上的针对plane类别的各项指标为:

  • Precision = TP/(TP+FP)=6/(6+4)=0.60
  • Recall = TP/(TP+FN)=6/(6+2)=0.75
  • FA= FP/(TP + FP)=4/(6+4)=0.40

(2)例2(多类别检测,对于某一类别,其他类别都算负且都参与TN计算):

双类别检测,检测网络在一张有8个plane和2辆car的图片上生成了10个框,6个识别为plane,4个识别为car即(括号内是针对car类的指标):

                                                                                    P=8,(P=2)

                                                                                   N=2;(N=8)

6个plane框里有4个框里确是plane,1个框里实际是car,1个框里实际是background(4个car框中有2个确实是car,1个里面实际是plane,1个里面实际是background),即:

                                                                                   TP=4,(TP=2)

                                                                                    FP=2;(FP=2)

4个未被正确识别的plane中,3个实际被检测为background,1个实际被检测为car(1个未被识别的car实际被检测为plane),即:

                                                                                    TN=2,(TN=4)

                                                                                     FN=4;(FN=0)

因此,这个网络在这张图片上的针对plane类别的各项指标为:

①Precision = TP/(TP+FP)=4/(4+2)=0.67

Recall = TP/(TP+FN)=4/(4+4)=0.50

③ FA= FP/(TP+FP)=2/(4+2)=0.33

同理,这个网络在这张图片上的针对car类别的各项指标为:

① Precision = TP/(TP+FP)=2/(2+2)=0.50

② Recall = TP/(TP+FN)=2/(2+0)=1.00

③ FA= FP/(TP+FP)=2/(2+2)=0.50

你可能感兴趣的:(目标检测,目标检测:实战经验与心得)