目标检测中的一些评价标准(ACC,Precision,recall,AP,MAP,F1Score,ROC,AUC)

您所在的位置:网站首页 acc与dec是什么意思 目标检测中的一些评价标准(ACC,Precision,recall,AP,MAP,F1Score,ROC,AUC)

目标检测中的一些评价标准(ACC,Precision,recall,AP,MAP,F1Score,ROC,AUC)

2024-07-15 18:50| 来源: 网络整理| 查看: 265

目标检测中的一些评价标准(ACC,Precision,recall,AP,MAP,F1Score,ROC,AUC)

介绍这些之前,应该了解一下最基本的TP,TN,FP,FN. 先看一下下面这些解释。 True positives: 简称为TP,即正样本被正确识别为正样本,飞机的图片被正确的识别成了飞机。 True negatives: 简称为TN,即负样本被正确识别为负样本,大雁的图片没有被识别出来,系统正确地认为它们是大雁。 False Positives: 简称为FP,即负样本被错误识别为正样本,大雁的图片被错误地识别成了飞机。 False negatives: 简称为FN,即正样本被错误识别为负样本,飞机的图片没有被识别出来,系统错误地认为它们是大雁。 我相信你早就已经看过无数遍这几个例子了,但是是不是真正用的时候还是会把它们搞混。(哈哈,反正我就是,可能是我太菜了!!!)下面我来讲一下我记这几个东西的技巧。 首先,T就代表我们的网络识别正确了,F就代表我们的网络学习错误了。 TP:就是我们熟知的正样本识别成正样本。(这个肯定不会有人不懂) TN:就是网络正确识别出了负样本。 FP:就是网络错误的识别成了正样本。(言外之意就是人家本来是负样本,你却认成了正样本) FN:就是网络错误的识别成了负样本。(同理) 接下来,我们来看具体的评价指标。

那么目标检测中的这些量是什么含义呢?

首先TN是没有含义的,因为目标检测中不会识别出这个来。(不懂的好好理解一下) TP就不讲了。 FN,在目标检测中就是你没有检测出来的。比如图中有5个标注为汽车的ground truth, 那么你检测到的汽车有两个, 那么对于这张图, 汽车类的 FN 就是 3. FP在目标检测中就是检测错误的数量,比如图中有3个人的ground truth, 你检测到的也是三个框, 但是其中只有一个框检测吻合到你的ground truth,另外两个检测成人了, TP = 1, FP = 2。若是你还是不懂,简单点:检测大于阈值的叫做TP(TruePositive),低于阈值的也就是错误的叫做FP (FalsePositive)

ACC

(TP+TN)/N。简单来说就是识别正确的数量占总数量的比例。因为实际中一般不会用到TN所以这个一般不用。

Precision

TP/(TP+FP)。查准率,实际的正样本数量占网络认为是正样本的数量的比例。查准率这个名字气的很好,就是看你网络的准确率。在目标检测中TP+FP就是你所有检测出来的bbox。

Recall

TP/(TP+FN)。召回率,网络识别出来的真正的正样本占实际的正样本的比例。在目标检测中,TP+FN就是该类别所有的ground truth。

F1score

2*(P*R/(P+R))其中P代表precis,R代表recall。目的是定位查准率与召回率的调和平均。

IOU

网络预测出来的bboxes与gt的交并比。

MAP

AP就是PR曲线下面的面积,map就是平均ap。 在这里插入图片描述 看到这里我要插一句了,一般你直觉上map中占主导的应该是Precision但是实际中往往是recall更为重要。也就是说框越多一般来说map越高。

还有一个很重要的问题没有解决,map到底是怎么算出来的呢???虽然我们知道原理了,但是具体怎么计算呢?由于篇幅会比较大,所以另起一篇博客

ROC

ROC的横轴是假正率(False positive rate, FPR),FPR = FP / [ FP + TN] ,代表所有负样本中错误预测为正样本的概率,假警报率。ROC的纵轴是真正率(True positive rate, TPR),TPR = TP / [ TP + FN] ,代表所有正样本中预测正确的概率,命中率。ROC曲线的对角线坐标对应于随即猜测,而坐标点(0,1)也即是左上角坐标对应理想模型。曲线越接近左上角代表检测模型的效果越好。

那么ROC曲线是怎么绘制的呢?有如下几个步骤:

根据每个测试样本属于正样本的概率值从大到小排序。 从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。 每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。当我们将threshold设置为1和0时,分别可以得到ROC曲线上的(0,0)和(1,1)两个点。将这些(FPR,TPR)对连接起来,就得到了ROC曲线。当threshold取值越多,ROC曲线越平滑。

AUC

即为ROC曲线下的面积。AUC越接近于1,分类器性能越好。AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。AUC的计算公式如下:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3