目标检测各常见评价指标详解

news/2024/7/10 2:54:13 标签: 目标检测, 评价指标, NMS, Iou, 混淆矩阵

注:本文仅供学习,未经同意请勿转载

 说明:该博客来源于xiaobai_Ry:2020年3月笔记

对应的PDF下载链接在:待上传

目录

常见的评价指标

准确率 (Accuracy)

混淆矩阵 (Confusion Matrix)

精确率(Precision)与召回率(Recall)

重点:平均精度(Average-Precision,AP)与 mean Average Precision(mAP)

 IoU

ROC(Receiver Operating Characteristic)曲线与AUC(Area Under Curve)

PR曲线和ROC曲线比较

NMS%EF%BC%89%C2%A0-toc" style="margin-left:80px;"> 非极大值抑制(NMS) 


常见的评价指标

准确率 (Accuracy),混淆矩阵 (Confusion Matrix),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average Precision(mAP),交除并(IoU),ROC + AUC,非极大值抑制(NMS)。

准确率 (Accuracy

1)概念:分对的样本数除以所有的样本数 ,即:准确(分类)率 = 正确预测的正反例数 / 总数。

2)作用:一般用来评估模型的全局准确程度,不能包含太多信息,无法全面评价一个模型性能。

混淆矩阵Confusion Matrix

 1)概念:混淆矩阵又被称为错误矩阵, 在每个类别下,模型预测错误的结果数量,以及错误预测的类别和正确预测的数量都在一个矩阵下面显示出来,方便直观的评估模型分类的结果。其中,横轴是模型预测的类别数量统计,纵轴是数据真实标签的数量统计。

 

2对角线,表示模型预测和数据标签一致的数目,所以对角线之和除以测试集总数就是准确率。对角线上数字越大越好,在可视化结果中颜色越深,说明模型在该类的预测准确率越高。如果按行来看,每行不在对角线位置的就是错误预测的类别。总的来说,我们希望对角线越高越好,非对角线越低越好。

精确率(Precision)与召回率(Recall)

  • True positives(TP) : 正样本被正确识别为正样本;预测为positive ground truthTrue
  • True negatives: 负样本被正确识别为负样本; 预测为positive ground truth negative
  • False positives: 假的正样本,即负样本被错误识别为正样本; 预测为positive ground truth negative
  • False negatives: 假的负样本,即正样本被错误识别为负样本;预测为negative ground truth也为False
  • precision查准率: 指预测为positive中,ground truth是positive所占的比例 (TP/(TP+FP)),该值越大越好,1为理想状态
  • recall查全率:指测试集中所有正样本样例中,被正确识别为正样本的比例。该值越大越好,1为理想状态。
  • Precision-recall 曲线:改变识别阈值,使得系统依次能够识别前K张图片,阈值的变化同时会导致PrecisionRecall值发生变化,从而得到曲线
  • 如果一个分类器的性能比较好,那么它应该有如下的表现:在Recall值增长的同时,Precision的值保持在一个很高的水平。而性能比较差的分类器可能会损失很多Precision值才能换来Recall值的提高。通常情况下,文章中都会使用Precision-recall曲线,来显示出分类器在PrecisionRecall之间的权衡。
  • F1-score: 将precision 和recall合成一个指标,越大越好
  • accuracy: 所有预测结果与实际结果一样的样本/所有样本

重点:平均精度Average-PrecisionAP)与 mean Average Precision(mAP)

AP就是Precision-recall 曲线下面的面积,通常来说一个越好的分类器,AP值越高。

mAP是多个类别AP的平均值。这个mean的意思是对每个类的AP再求平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越好。该指标是目标检测算法中最重要的一个。

在正样本非常少的情况下,PR表现的效果会更好。

 IoU

ROCReceiver Operating Characteristic)曲线与AUCArea Under Curve

 

 

ROC曲线:

  • 横坐标:假正率(False positive rate, FPR),FPR = FP / [ FP + TN] ,代表所有负样本中错误预测为正样本的概率,假警报率;
  • 纵坐标:真正率(True positive rate, TPR),TPR  = TP / [ TP + FN] ,代表所有正样本中预测正确的概率,命中率。

对角线对应于随机猜测模型,而(0,1)对应于所有整理排在所有反例之前的理想模型。曲线越接近左上角,分类器的性能越好。

ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。

ROC曲线绘制:

1)根据每个测试样本属于正样本的概率值从大到小排序;

2)从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本;

3)每次选取一个不同的threshold,我们就可以得到一组FPRTPR,即ROC曲线上的一点。 

   当我们将threshold设置为10时,分别可以得到ROC曲线上的(0,0)(1,1)两个点。将这些(FPR,TPR)对连接起来,就得到了ROC曲线。当threshold取值越多,ROC曲线越平滑。

AUC(Area Under Curve)即为ROC曲线下的面积。AUC越接近于1,分类器性能越好。

 物理意义:首先AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。

计算公式:就是求曲线下矩形面积。

PR曲线和ROC曲线比较

ROC曲线特点:

1优点:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。因为TPR聚焦于正例,FPR聚焦于与负例,使其成为一个比较均衡的评估方法。

 在实际的数据集中经常会出现类不平衡class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。

2缺点:上文提到ROC曲线的优点是不会随着类别分布的改变而改变,但这在某种程度上也是其缺点。因为负例N增加了很多,而曲线却没变,这等于产生了大量FP像信息检索中如果主要关心正例的预测准确性的话,这就不可接受了。在类别不平衡的背景下,负例的数目众多致使FPR的增长不明显,导致ROC曲线呈现一个过分乐观的效果估计。ROC曲线的横轴采用FPR,根据FPR ,当负例N的数量远超正例P时,FP的大幅增长只能换来FPR的微小改变。结果是虽然大量负例被错判成正例,在ROC曲线上却无法直观地看出来。(当然也可以只分析ROC曲线左边一小段)

PR曲线:

1PR曲线使用了Precision,因此PR曲线的两个指标都聚焦于正例类别不平衡问题中由于主要关心正例,所以在此情况下PR曲线被广泛认为优于ROC曲线。

NMS%EF%BC%89%C2%A0"> 非极大值抑制(NMS 

 Non-Maximum Suppression就是需要根据score矩阵和region的坐标信息,从中找到置信度比较高的bounding box。对于有重叠在一起的预测框,只保留得分最高的那个。

1NMS计算出每一个bounding box的面积,然后根据score进行排序,把score最大的bounding box作为队列中首个要比较的对象;

2)计算其余bounding box与当前最大scoreboxIoU,去除IoU大于设定的阈值的bounding box,保留小的IoU得预测框;

3)然后重复上面的过程,直至候选bounding box为空。

最终,检测了bounding box的过程中有两个阈值,一个就是IoU,另一个是在过程之后,从候选的bounding box中剔除score小于阈值的bounding box。需要注意的是:Non-Maximum Suppression一次处理一个类别,如果有N个类别,Non-Maximum Suppression就需要执行N

次。


http://www.niftyadmin.cn/n/79099.html

相关文章

python基于django微信小程序的适老化老人健康预警小程序

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, 适老化老人健康预警微信小程序就是信息时代变革中的产物之一。 任何系统都要遵…

「数据仓库」怎么选择现代数据仓库?

构建自己的数据仓库时要考虑的基本因素我们用过很多数据仓库。当我们的客户问我们,对于他们成长中的公司来说,最好的数据仓库是什么时,我们会根据他们的具体需求来考虑答案。通常,他们需要几乎实时的数据,价格低廉&…

PLT/PDF转CAD:scViewerX 8.1 Crack

scViewerX是一个功能强大的 ActiveX 控件,允许您查看、打印和转换 PLT、Adobe PDF、Autodesk DWF、CGM、Calcomp、HPGL/2、Gerber、TIF、CALS 和其他几种格式。 ScViewerX 可以将您的文件转换为多种不同的输出文件格式,包括 PDF、PDF/A、TIFF、DXF、DWF、…

基于Transformer的NLP处理管线

HuggingFace transformers 是一个整合了跨语言、视觉、音频和多模式模态与最先进的预训练模型并且提供用户友好的 API 的AI开发库。 它由 170 多个预训练模型组成,支持 PyTorch、TensorFlow 和 JAX 等框架,能够在代码之间进行互操作。 这个库还易于部署&…

学生和老师-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-4】学生和老师 【案例介绍】 1.案例描述 在班级中上课时,老师在讲台上讲课,偶有提问,会点名学生回答问题。虽然老师和学生都在讲话,但讲话的具体内容却不相同。本案例要求使用抽象类的知识编写一个程序实现老师上课的情…

软考高级-信息系统管理师之组织级、流程、项目集(最新版)

组织级、流程、项目集 组织级项目管理概述组织级项目管理对组织战略的支持组织级项目管理内容组织级项目管理成熟度模型流程管理基础流程分析、设计、实施与评估业务流程分析业务流程设计业务流程实施业务流程评估流程重构与改进BPR概述BPR的实施基于BPR的信息系统规划业务流程…

零信任-新华三H3C零信任介绍(12)

​目录 ​新华三零信任是什么? 新华三零信任架构特点 新华三零信任架构 新华三零信任架构适用场景 新华三零信任的未来发展展望 新华三零信任是什么? 建立新边界 全面身份化。新华三贯彻“永不信任,始终验证”的原则,通过对…

12、锁的原理和应用

锁的原理和应用 1.认识锁1.1 锁的作用1.2 加锁的过程1.3 锁对象:事务2.innodb行锁2.1 行锁类型3.索引对行锁粒度的影响3.1 行锁粒度有哪些3.2 在RC隔离级别下不同索引产生的锁的范围3.3 RR隔离级别下不同索引产生锁的范围4.FTWRL全局读锁5.innodb表锁6.innodb意向锁与MDL锁6.1…