YOLO性能指标

术语

全称

解释

True

表示推理正确

False

表示推理错误, 跟ground truth(位置,类别)比对之后得到的结论

positive

推理为正例,iou > 阈值,类别概率>阈值

negative

推理为反例,不符合正例条件

TP    

True  positive

推理为正例, 推理正确 —— 有效框内的物体就是目标物体

FP 

False positive

推理成正例,但是推理错误

TN

True negative

推理成反例,推理正确 —— 表示有效框内确实不包含任何物体(位置

FN 

False negative

推理成反例,但是推理错误 —— 表示该框内包含目标物体,但是没有检测出来或者分类错误

P

precision

精确率,表示模型推理出的有效框中(positive),推理正确的比例。

Precision = TP / (TP+FP)

R

recall

召回率/查全率,表示真实的目标物体中,有多少推理成功的。
recall = TP / (TP + FN)

Accuracy

Accuracy

准确率,三个指标中最直观的指标,表示模型推理正确的数据占总数据的比例。
accuracy = (TP + TN) / (TP + FP + TN + FN)

与分类网络的区别在于:分类网络结果正确只有一种情况(应为分类网络图片中必定有某个物体)

IOU

Intersection over union

交并比,衡量两个区域的重叠程度的指标, 蓝色框:ground truth; 黄色框:预测框

YOLO性能指标_第1张图片

NMS

Non Maximum suppression

非极大值抑制,通过筛选局部极大值得到最优解。—— 定位算法

YOLO性能指标_第2张图片

76x76 原图 -> 1x1 小物体定位

      -> 2x2 中等物体

      -> 4x4 大物体

1.将图片均分成NxN个锚点框,然后每张锚点框选择3个box,一共得到N*N*3个box (记作boxes_0, 19x19x3个)

YOLO性能指标_第3张图片

2.分别计算boxes_0与ground truth之间的IOU,留下大于某个阈值的box(记作boxes_1);

3. 每个ground truth只保留一个iou最大的box,其余扔掉(去重操作);

    方法是计算boxes_1之间的IOU,大于阈值的对应同一个ground truth

   boxes_1 iou value降序排列

   box_id     0 1  2  3 4   5  6  7  8  

是否有效    1  0 1  0  0  1  0  0  0

如上:

step1. 从box0开始,box1-box8依次与box0比对,box1/3/4/8与box0计算的IOU均大于阈值,认为是同一个框,因此标记成无效框(box0 iou_value最大,为最优解),剩下box被认为不同于box0;

step2. 移动到下一个有效框box2,box6/7与box2计算 IOU大于阈值,标记成无效框;

step3. 移动到下一个有效框box5,后面没有有效框了,结束;

4.结果:得到该图片上所有 box,分别对应不同的目标物体,之后再进行物体分类;

预测结果包含:bounding_box(x1, y1,x2,y2), 置信率之一Pc (是有效框的概率, IOU_Value)

AP

Average precision

平均精确度,针对单类别。这里会得到置信率之二: confidence ( 该框是某个类别的概率)

-> 推理正确的标志:

1. Pc > iou_threshold;

2. confidence > p_threshold

AP中的average指的就是p_threshold取不同值时,结果的平均值

-> yolo nms之后得到的数据如下,根据19x19x255为例, 19x19x3x85, 19x19x3为box数量,每一个box对应85个元素输出,详细过程见下面的“AP计算”

mAP

Mean Average precision

每个类别都计算出AP,计算平均值

mAP50

IOU=0.5

mAP(IoU=0.5:0.95)

[0.5,0.95], 每间隔0.05取一次Iou,计算该阈值的mAP,最终计算平均值

AP计算

Rank

Box ID

Pc

x1

 y1

X2

Y2

类别1概率

类别2概率

类别80概率

1

IOU_value

是有效框的概率

从大到小排序

P max

2

P second_max

19x19x3

P min

P_threshold 从大到小取值,coco库是如何取值的?

跟据rank从小到大,依次递推,则代表p_threshold依次递减

如:

rank=2时

  1. 只有第一行的的类别概率超过阈值,前两行不一定全为正例
    1. IOU_value > iou_threshold的box,如果没有重复box,或者在重复box中iou_box最大,为正例(参见nms去重)
    2. 否则为反例
  2. 认定 Rank<2 的box P 小于阈值,这些box均为反例
  3. 计算precision和recalll, 绘制出P-R曲线

YOLO性能指标_第4张图片

AP =(平滑后PR曲线上,Recall分别等于0,0.1,0.2,… , 1.0等11处Precision的平均值)

AP = (1 + 1 + 1 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0 + 0 + 0) / 11 = 0.5

 

备注:此为个人学习后总结,借用了其他博主的图片忘记链接。内容有不对或者有争议的地方,欢迎大家指出。

你可能感兴趣的:(深度学习,算法,目标检测,深度学习)