在人工智能领域,机器学习的效果需要用各种指标来评价。当一个目标检测模型建立好了之后,即模型训练已经完成,我们就可以利用这个模型进行分类识别。那么该如何去评价这个模型的性能呢?

上期我们一起学习了全卷积神经网络FCN,今天我们看下目标检测中的评价指标都有哪些?

今天我们从交并比,准确率,精度,召回率,FPR, F1-Score, PR曲线,ROC曲线,AP的值,AUC的值以及很重要的mAP指标,模型的检测速度和非极大值抑制的相关方面来学习下目标检测中的评价指标。

1. 交并比 — IoU

交并比IoU是英文intersection over union的简写,意思是检测结果的矩形框与样本标注的矩形框的交集与并集的比值。如下图:

图1 交并比

上图中假设A为模型的检测结果,BGround Truth即样本的标注结果,那么AB相交的区域即为A∩B,而AB的并集即为AB共有的区域A∪B,那么IoU的计算公式即为:  IoU = (A∩B) / (A∪B)

这个还是很简单就能理解的,反应到样本图上就如下图:

图2 交并比样本图

其中上图蓝色框框为检测结果,红色框框为真实标注。

一般情况下对于检测框的判定都会存在一个阈值,也就是IoU的阈值,一般可以设置当IoU的值大于0.5的时候,则可认为检测到目标物体。

2. 准确率/精度/召回率/FPR/F1指标

不管是看论文,博客啥的,都会经常看到一堆简写,TP,TN,FP,FN,这些简写经常见到,怎么能够很好的记住呢?其实是这样的:

预测值为正例,记为P(Positive)预测值为反例,记为N(Negative)预测值与真实值相同,记为T(True)预测值与真实值相反,记为F(False)

那么从上面可以知道:

TP -- 预测值和真实值一样,预测值为正样本(真实值为正样本)TN -- 预测值和真实值一样,预测值为负样本(真实值为负样本)FP -- 预测值和真实值不一样,预测值为正样本(真实值为负样本)FN -- 预测值和真实值不一样,预测值为负样本(真实值为正样本)

这样记起来是不是就好记了呢?知道了这几个定义,下面就好理解了。

2.1 准确率

准确率accuracy是我们最常见的评价指标,这个很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好,如下:

accuracy = (TP+TN)/(TP+TN+FP+FN)

上公式中的TP+TN即为所有的正确预测为正样本的数据与正确预测为负样本的数据的总和,TP+TN+FP+FN即为总样本的个数。

2.2 精度

精度precision是从预测结果的角度来统计的,是说预测为正样本的数据中,有多少个是真正的正样本,即“找的对”的比例,如下:

 precision = TP/( TP+FP)

上公式中的TP+FP即为所有的预测为正样本的数据,TP即为预测正确的正样本个数。

2.3 召回率/TPR

召回率recallTPR(灵敏度(true positive rate))是一个概念,都是从真实的样本集来统计的,是说在总的正样本中,模型找回了多少个正样本,即“找的全”的比例,如下:

recall/TPR  = TP/(TP+FN)

上公式中的TP+FN即为所有真正为正样本的数据,而TP为预测正确的正样本个数。

2.4 FPR

FPR(false positive rate),它是指实际负例中,错误的判断为正例的比例,这个值往往越小越好,如下:

FPR = FP/(FP+TN)

其中,FP+TN即为实际样本中所有负样本的总和,而FP则是指判断为正样本的负样本。

2.5 F1-Score

F1分数(F1-score)是分类问题的一个衡量指标。F1分数认为召回率和精度同等重要, 一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0。计算公式如下:

2TP/(

此外还有F2分数和F0.5分数。F2分数认为召回率的重要程度是精度的2倍,而F0.5分数认为召回率的重要程度是精度的一半。计算公式为:
更一般地,我们可以定义(precisionrecall权重可调的F1 score):

1+β*β)*precision*recall) / (β*β*precision + recall)

常用的如F2F0.5

3. PR曲线—AP值/ROC曲线-AUC值

上面学习了关于精度,召回率,FPR,和F1-Score的知识,但是通常,只有那些往往不能够直观的反应模型性能,所以就有了PR曲线,ROC曲线,AUC值。

3.1 PR曲线和AP的值

PR曲线,就是precisionrecall的曲线,PR曲线中precision为纵坐标,recall为横坐标,如下图:

图3 PR曲线

评估能力

那么PR曲线如何评估模型的性能呢?从图上理解,如果模型的精度越高,召回率越高,那么模型的性能越好。也就是说PR曲线下面的面积越大,模型的性能越好。绘制的时候也是设定不同的分类阈值来获得对应的坐标,从而画出曲线。

优缺点

PR曲线反映了分类器对正例的识别准确程度和对正例的覆盖能力之间的权衡。

PR曲线有一个缺点就是会受到正负样本比例的影响。比如当负样本增加10倍后,在racall不变的情况下,必然召回了更多的负样本,所以精度就会大幅下降,所以PR曲线对正负样本分布比较敏感。对于不同正负样本比例的测试集,PR曲线的变化就会非常大。

平均准确率AP

APAverage Precision,称为平均准确率,是对不同召回率点上的准确率进行平均,在PR曲线图上表现为PR曲线下面的面积。AP的值越大,则说明模型的平均准确率越高。

3.2 ROC曲线和AUC值

ROC的全称是Receiver Operating Characteristic Curve,中文名字叫“受试者工作特征曲线”,对于ROC来说,横坐标就是FPR,而纵坐标就是TPR,因此可以想见,当TPR越大,而FPR越小时,说明分类结果是较好的。如下图:

图4 ROC曲线

优缺点

ROC曲线有个很好的特性,当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。ROC曲线可以反映二分类器的总体分类性能,但是无法直接从图中识别出分类最好的阈值,事实上最好的阈值也是视具体的场景所定。ROC曲线一定在y=x之上,否则就是一个不好的分类器。

AUC

AUCArea under curve的首字母缩写,即ROC曲线下的面积,介于0和1之间。计算方式即为ROC曲线的微积分值,其物理意义可以表示为:随机给定一正一负两个样本,将正样本排在负样本之前的概率,因此AUC越大,说明正样本越有可能被排在负样本之前,即正样本分类结果越好。

4. 平均精度均值 — mAP

mAP是英文mean average precision的缩写,意思是平均精度均值,这个词听起来有些拗口,我们来仔细捋一捋。上面我们知道了什么是APAP就是PR曲线下面的面积(如下图),是指不同召回率下的精度的平均值。
然而,在目标检测中,一个模型通常会检测很多种物体,那么每一类都能绘制一个PR曲线,进而计算出一个AP值。那么多个类别的AP值的平均就是mAP.

图5 AP的值

mAP衡量的是学出的模型在所有类别上的好坏,是目标检测中一个最为重要的指标,一般看论文或者评估一个目标检测模型,都会看这个值,这个值是在0-1直接,越大越好。

一般来说mAP针对整个数据集而言的,AP针对数据集中某一个类别而言的,而percisionrecall针对单张图片某一类别的。

5. 模型的检测速度

检测速度,这个很好理解,简单的说就是一秒钟能够检测多少张图片。不同的目标检测技术往往会有不同的mAP和检测速度,如下图(后面我们将逐一学习):

图6 不同模型的准确率与检测速度

目标检测技术的很多实际应用在准确度和速度上都有很高的要求,如果不计速度性能指标,只注重准确度表现的突破,但其代价是更高的计算复杂度和更多内存需求,对于全面行业部署而言,可扩展性仍是一个悬而未决的问题。

在实际问题中,通常需要综合考虑mAP和检测速度等因素。

6. 非极大值抑制(NMS)

非极大值抑制虽然一般不作评价指标,但是也是目标检测中一个很重要的步骤,因为下期就要步入经典模型的介绍了,所以这里随着评价指标简单介绍下。

单个预测目标

NMS的英文为Non-Maximum Suppression,就是在预测的结果框和相应的置信度中找到置信度比较高的bounding box。对于有重叠在一起的预测框,如果和当前最高分的候选框重叠面积IoU大于一定的阈值的时候,就将其删除,而只保留得分最高的那个。如下图:

图7 单个目标极大值抑制

计算步骤:

1). NMS计算出每一个bounding box的面积,然后根据置信度进行排序,把置信度最大的bounding box作为队列中首个要比较的对象;
2). 计算其余bounding box与当前最大scoreIoU,去除IoU大于设定的阈值的bounding box,保留小的IoU预测框;
3). 然后重复上面的过程,直至候选bounding box为空。

多个预测目标

当存在多目标预测时,如下图,先选取置信度最大的候选框B1,然后根据IoU阈值来去除B1候选框周围的框。然后再选取置信度第二大的候选框B2,再根据IoU阈值去掉B2候选框周围的框。

图8 多个目标极大值抑制

至此,我们已经学习了交并比,准确率,精度,召回率,FPR, F1-Score, PR曲线,ROC曲线,AP的值,AUC的值以及很重要的mAP指标,模型的检测速度和非极大值抑制的相关知识,希望大家有所收获。

下期我们将开始介绍比较经典的目标检测模型。



综合评价模型的缺点_【必备】目标检测中的评价指标有哪些?相关推荐

  1. 综合评价模型的缺点_一种项目经理素质的综合评价模型

    摘 要:根据对项目经理素质的分析, 建立了未确知测度模型, 对项目经理的素质进行综合评价, 提供了一种定量.定性 相结合的项目经理素质综合评价的新途径, 并用实例说明此模型的应用, 总结得出了该综合评 ...

  2. 【通俗理解】目标检测中的评价指标查准率P和查全率R是什么意思?

    以猫咪检测例,假如一幅图中有 4 只猫,模型预测了 5 个框,其中 3 个是猫.2 个是背景. 查准率(精确率)P 找到的目标是确实是猫的概率, 总共 5 个预测框, 其中是猫的有 3 , P = 3 ...

  3. 综合评价模型的缺点_视频/图像质量评价综述(一)

    1. 概述 视频/图像质量评价(Video/Image Quality Assessment)是指通过主客观的方式对两幅主体内容相同的图像信息的变化与失真进行感知.衡量与评价. 视频/图像质量评价包括 ...

  4. 综合评价模型的缺点_浅谈交通影响评价中不同交通预测方法的特性

    目前,据小编经验觉得,我国交通影响评价的工作中仍有很多问题未得到很好的解决,主要表现在:交通需求预测模型有待进一步精细.交通的影响程度评价内容与指标不够明确.报告中提出的交通改善措施很难落实到位等方面 ...

  5. 目标检测中map的计算

    文章目录 前言 一.IoU和TP.FP.TN.FN的概念 IoU(Intersection over Union): TP.FP.TN.FN 二.Precision和Recall 1.Precisio ...

  6. 对象检测目标小用什么模型好_小目标检测技术分析

    小目标检测技术分析 小目标检测及跟踪系统分为四个模块: · 硬件模块 该模块基于标准PCI总线,并配以超大规模可编程芯片(DSP.FPGA),具有极强的运算.处理能力. · DSP 程序模块 其功能主 ...

  7. 检测到目标服务器启用了trace方法_综述:目标检测中的多尺度检测方法

    ↑ 点击蓝字 关注极市平台作者丨SFXiang来源丨AI算法修炼营编辑丨极市平台 极市导读 本文从降低下采样率与空洞卷积.多尺度训练.优化Anchor尺寸设计.深层和浅层特征融合等多个方面入手,对目标 ...

  8. mfc 静态框接收tab焦点_目标检测中焦点损失的入门指南

    介绍 对象检测是计算机视觉社区中研究最广泛的主题之一.它已经进入了各个行业,涉及从图像安全,监视,自动车辆系统到机器检查的用例. 当前,基于深度学习的对象检测可以大致分为两类: 两级检测器,例如基于区 ...

  9. 显著性目标检测matlab代码_显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)...

    点击蓝字  关注我们 Tips◎本文为极市开发者原创投稿,转载请注明来源.◎极市「论文推荐」专栏,帮助开发者们推广分享自己的最新工作,欢迎大家投稿.联系极市小编(fengcall19)即可投稿~ 极市 ...

最新文章

  1. QuadricSLAM: 面向机器人的物体级语义SLAM系统
  2. MyBatis魔法堂:ResultMap详解
  3. 网络中常见的互通与不通—Vecloud微云
  4. maven中jar下载失败
  5. 小米折叠屏手机真机现身:疑似跳票两年的MIX 4……
  6. File Operation
  7. python和java先学哪个-java和python先学哪个
  8. 前端emojs_Emoji-Chat emoji表情包发送及显示兼容web端、移动端
  9. Windows XP 开机优化
  10. 安卓QQ闪照解密秒存助手
  11. c语言stl大全,C++ STL库应用汇总
  12. cpu烤机温度测试软件,ATX2.0与ATX3.0机箱烤机温度对比测试,竖装显卡真的会把风挡死...
  13. 复制文件并重命名到新的文件夹
  14. Linux系统编程 40 -open函数
  15. 216 Web 安全色 开发中常用安全色
  16. 上海区域赛Unlock the Cell Phone
  17. 13个Python小游戏,可以上班摸鱼玩了一天
  18. 看我使用Python秒变高级程序员
  19. 楼教主的ACM心路历程
  20. C专家编程 第6章 运动的诗章:运行时数据结构 6.1 a.out及其传说

热门文章

  1. python3 介绍
  2. uva 11762 数学期望+记忆化搜索
  3. CodeForces - 416A Guess a number
  4. Bailian2939 玩游戏【模拟】
  5. Bailian2977 生理周期【枚举+中国剩余定理】
  6. Effective Java(一)—— 创建和销毁对象
  7. 用决策树模型求解回归问题(regression tree)
  8. Python 标准库 —— queue、heapq与PriorityQueue
  9. Python 下的数据结构实现
  10. http://t.cn/xx 等链接的生成与还原