【深度学习】目标检测之评价指标

评价指标

时隔一年,又重新开始了学习之路。哈哈哈废话不多说,开始我最近整理的一些内容叭。今天要整理的知识点是目标检测领域常用的几个评价指标,准确率Precision,召回率Recall,交并比IoU,平均精度AP,多个类别AP的平均值即mAP等等。

混淆矩阵

目标检测模型通常会输出很多个检测框,我们是通过统计并计算每个检测框是否能检测到目标的各种占比来衡量模型的检测效果,因此,我们会把检测框分成如下四种情况,判断的依据主要是通过计算交并比(IoU,这个下面会讲到)。

  • TP (True Positive) ,真的正样本 = 正样本 被分类为 正样本;
  • TN (True Negative) ,真的负样本 = 负样本 被分类为 负样本;
  • FP (False Positive) ,假的正样本 = 负样本 被分类为 正样本;
  • FN (False Negative) ,假的负样本 = 正样本 被分类为 负样本(通常为漏检);

按照检测框的检测情况,我们写成一个4x4的矩阵形式(称为混淆矩阵):

分类情况 预测为正类 预测为负类
真实正样本 TP FN
真实负样本 FP TN

对于一张图像而言,预测的情况和真实样本的情况如下(记住这个,后面计算不会混乱)

一张图像的情况

Precision 精确率(精度)

Precision:指的是在模型预测的结果中,其中正确的有多少个。看上面的图,预测结果有TP+FP。

P

r

e

c

i

s

i

o

n

=

T

P

T

P

+

F

P

Precision = \frac{TP}{TP+FP}

Precision=TP+FPTP

Recall 召回率

Recall:指的是在所有的真实目标中,其中正确的有多少个。看上面的图,真实目标有TP+FN。

R

e

c

a

l

l

=

T

P

T

P

+

F

N

Recall= \frac{TP}{TP+FN}

Recall=TP+FNTP

IoU 交并比

IoU:指的是检测框与样本标注的矩形框的交集与并集的比值。
交并比

平均精度 AP

AP(Average Precision)指的是Precision-Recall曲线下的面积。

先从单个类别(猫)开始计算,假设一共有3张图片,绿色框是GT(7个),红色框是预测框(7个)并带有置信度。现在假设IOU=50%,按照置信度排序得到下表
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
得到统计表后,根据confidence取不同的阈值,可以计算Precision和Recall
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这样我们就可以根据表计算种类猫的AP值了

A

P

=

i

=

1

R

a

n

k

(

R

e

c

a

l

l

i

R

e

c

a

l

l

i

1

)

×

P

r

e

c

i

s

i

o

n

i

猫AP=\sum_{i=1}^{Rank}(Recall_i - Recall_{i-1})\times Precision_i

AP=i=1Rank(RecalliRecalli1)×Precisioni

即:猫AP=(0.14-0)x1.0 + (0.28-0.14)x1.0 + (0.42-0.28)x1.0 + (0.57-0.42)x1.0 + (0.71-0.57)x0.71=0.6694

mAP

mAP (means Average Precision) 即各类别的AP值的均值

m

A

P

=

j

c

l

a

s

s

_

n

u

m

b

e

r

C

l

a

s

s

_

A

P

j

mAP = \sum_{j}^{class\_number} Class\_AP_j

mAP=jclass_numberClass_APj

总结

完结。谢谢,觉得有帮助的可以点个赞~

版权声明:本文为CSDN博主「florrie Giu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Resume_f/article/details/122292101

florrie Giu

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

yolo-fastest模型

两个关于yolo-fastest的资料 https://github.com/dog-qiuqiu/Yolo-FastestV2/ https://github.com/dog-qiuqiu/Yolo-Fastest

手把手教你实现YOLOv3 (一)

1. 引言 最近整理了YOLO系列相关论文阅读笔记,发现仅仅靠阅读论文还是有很多内容一知半解,吃得不是很透彻. 尽管网络上有很多博客都在讲解,但是很多实现细节细究起来还是有些困难. 俗话说的好: Talk is cheap. Show me

目标检测入坑指南3:VGGNet神经网络

学了蛮久的目标检测了,但是有好多细节总是忘或者模棱两可,感觉有必要写博客记录一下学习笔记和一些心得,既可以加深印象又可以方便他人。博客内容集成自各大学习资源,所以图片也就不加水印了&#xf

Yolov3代码实现

voc数据集构建文件 import sys import xml.etree.ElementTree as ET import config.yolov3_config_voc as cfg import os from tqdm impor