1.评价指标-目标检测

  • 混淆矩阵 (Confusion Matrix)
  • 准确率 (Accuracy)
  • 精确率(Precision)
  • 召回率(Recall)
  • 平均正确率(AP)
  • mean Average Precision(mAP)
  • 交除并(IOU)
  • ROC + AUC
  • ROC与P-R比较
  • 非极大值抑制(NMS)

(1)混淆矩阵

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

(2)Accuracy、Precision、Recal、P-R曲线(AP、mAP)

  • Accuracy
 - 准确率= 分对的样本数除以所有的样本数 ,即:准确(分类)率 = 正确预测的正反例数 / 总数。- 准确率一般用来评估模型的全局准确程度,不能包含太多信息,无法全面评价一个模型性能。
  • Precision
    Precision其实就是在识别出来的图片中,True positives所占的比率。
 - True positives : 正样本被正确识别为正样本。 - True negatives: 负样本被正确识别为负样本。 - False positives: 假的正样本,即负样本被错误识别为正样本。 - False negatives: 假的负样本,即正样本被错误识别为负样本。
  • Recall
    Recall 是测试集中所有正样本样例中,被正确识别为正样本的比例。

  • P-R曲线:AP、mAP
    AP就是Precision、Recall与x轴和y轴围成的面积。mAP就是对所有的AP值求平均。

 - Precision-Precision曲线:改变识别阈值,使得系统依次能够识别前K张图片,阈值的变化同时会导致Precision与Recall值发生变化,从而得到曲线。- AP就是Precision-recall 曲线下面的面积,通常来说一个越好的分类器,AP值越高。- mAP是多个类别AP的平均值。这个mean的意思是对每个类的AP再求平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越好。该指标是目标检测算法中最重要的一个。- 在正样本非常少的情况下,PR表现的效果会更好。

(3)IOU、CIOU、GIOU

  • IOU:表达bounding box(预测框)和groundtruth(便签标记的真实值)差异的指标。
  • CIOU
  • GIOU
    参考:https://www.cnblogs.com/qianchaomoon/p/12389787.html

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

  • ROC曲线
 - 横坐标:假正率(False positive rate, FPR),FPR = FP / [ FP + TN] ,代表所有负样本中错误预测为正样本的概率,假警报率;- 纵坐标:真正率(True positive rate, TPR),TPR  = TP / [ TP + FN] ,代表所有正样本中预测正确的概率,命中率。- 对角线对应于随机猜测模型,而(0,1)对应于所有整理排在所有反例之前的理想模型。曲线越接近左上角,分类器的性能越好。- 当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变

ROC曲线绘制:

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

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

(3)每次选取一个不同的阈值(threshold),我们就可以得到一组FPR(假正率)和TPR(真正率),即ROC曲线上的一点。

  • 当我们将阈值(threshold)设置为1和0时,分别可以得到ROC曲线上的(0,0)和(1,1)两个点。将这些(FPR,TPR)对连接起来,就得到了ROC曲线。当threshold取值越多,ROC曲线越平滑。
  • AUC曲线
    AUC(Area Under Curve)即为ROC曲线下的面积。
  • AUC越接近于1,分类器性能越好。
  • AUC值是一个概率值,随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值,将这个正样本排在负样本前面的概率就是AUC值。
  • AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。

  • ROC与P-R对比

(5)非极大值抑制(NMS)、soft-nms

  • NMS(Non-Maximum Suppression):
    根据score矩阵和region的坐标信息,从中找到置信度比较高的bounding box。对于有重叠在一起的预测框,只保留得分最高的那个。
  • 非极大值抑制算法(Non-maximum suppression, NMS)的本质是搜索局部极大值,抑制非极大值元素。
  • 通常的做法是将检测框按得分排序,然后保留得分最高的框,同时删除与该框重叠面积大于一定比例的其它框。

实现方法:

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

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

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

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

NMS的缺点:(结合下图展现)

  1. (贪心式方法)红色框和绿色框是当前的检测结果,二者的得分分别是0.95和0.80。如果按照传统的NMS进行处理,首先选中得分最高的红色框,然后绿色框就会因为与之重叠面积过大而被删掉。
  2. 其次,NMS的阈值也不太容易确定,设小了会出现下图的情况(绿色框因为和红色框重叠面积较大而被删掉),设置过高又容易增大误检。

  • soft-nms思路:不要粗鲁地删除所有IOU大于阈值的框,而是降低其置信度。
  • 用一行代码来替换掉原来的NMS,按照下图整个处理一遍之后,指定一个置信度阈值,然后最后得分大于该阈值的检测框得以保留。
  • 假如还检测出了3号框,而我们的最终目标是检测出1号和2号框,并且剔除3号框。(下面的第二张图)
    (1)原始的nms只会检测出一个1号框并剔除2号框和3号框,而soft-nms算法可以对1、2、3号检测狂进行置信度排序。
    (2)可以知道这三个框的置信度从大到小的顺序依次为:1->2->3(由于是使用了惩罚,所有可以获得这种大小关系),如果我们再选择了合适的置信度阈值,就可以保留1号和2号,同时剔除3号,实现我们的功能。
  • 但是,这里也有一个问题就是置信度的阈值如何选择,作者在这里依然使用手工设置的值,依然存在很大的局限性,所以该算法依然存在改进的空间。


备注:

大部分内容来自博客(本博文参考博客):https://www.cnblogs.com/eilearn/p/9071440.html

目标检测——评价指标(1)相关推荐

  1. Python 深度学习目标检测评价指标 :mAP、Precision、Recall、AP、IOU等

    目标检测评价指标: 准确率 (Accuracy),混淆矩阵 (Confusion Matrix),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average P ...

  2. 信度和效度经典例子_浅析经典目标检测评价指标--mmAP(一)

    大家好,我是旷视科技南京研究院研究员赵博睿,主要研究领域为目标检测.今天和大家聊聊mmAP的那些事- 目标检测是计算机视觉领域的一项基础问题,在许多智能场景的落地应用中目标检测通常都是视觉感知的第一步 ...

  3. 目标检测评价指标(一文看懂)

    目标检测评价指标之--Precision,Recall,IOU,AP,mAP   看了一些介绍目标检测评价指标的文章,在此做一个小总结,供大家参考. 文章目录 目标检测评价指标之--Precision ...

  4. 【目标检测评价指标】

    目标检测评价指标 1.正例和负例的定义 2.混淆矩阵(Confusion Matrix) 3.PR曲线 4.F1 score 参考资料: https://github.com/rafaelpadill ...

  5. 目标检测评价指标合集

    目标检测评价指标 混淆矩阵(confusion matrix)可谓是贯穿了整个目标检测评价体系,衍生了一系列的目标检测评价指标,如精确率(precision),准确率(accuracy),召回率(re ...

  6. 目标检测系列1—目标检测评价指标IOU

    目标检测评价指标IOU 什么是IOU IOU的特点 全部实现 什么是IOU 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU. IOU是一种评价目标检测器的一种指标 ...

  7. 目标检测评价指标mAP

    目标检测评价指标 mAP是目标检测中常用的评价指标之一,在论文中可以经常看到.全称是mean average precision (mAP)即各个类别AP的平均值.常用的评测指标有: mAP: mea ...

  8. 目标检测——评价指标的学习笔记

    1 前言 评价指标在目标检测的任务中是十分重要的- 2 分类问题的评价指标(二分类) 2.1 召回率--recall 召回率的公式为 recall=TPTP+FNrecall = \frac{TP}{ ...

  9. 目标检测评价指标 AP、mAP

    目标检测中的TP.FP.FN 所有检测框都认为是Predicted Positive 所有真实框都是Ground-truth Positive 若一个检测框与一个真实框的IOU>阈值并对正确分类 ...

  10. 目标检测评价指标汇总—mAP,PR曲线,F1分数,FPPI,log-average miss rate等

    对于了解目标检测的评价指标是很重要的,否则自己不懂这个代表什么意思,如何调参.网上有太多资料,可是杂乱,甚至有一乱说,记录下自己所学,总结下,也分享出来,也便于自己自己复习. 分为三块,1.解释相关概 ...

最新文章

  1. controller不跳转页面的几个原因_狗狗为什么不睡觉?是这几个原因
  2. 博客迁移至http://www.vlix.org/
  3. Google Chrome获取AR API,Daydream支持
  4. 自动化Cobbler安装
  5. 聚类算法 距离矩阵_谱聚类
  6. A+B问题(信息学奥赛一本通-T1006)
  7. oracle 9 创建数据库,Oracle 9i创建数据库(转)
  8. Java_GPS经纬度转坐标
  9. java压缩图片thumbnails_Java压缩图片、减小图片文件体积大小,Thumbnails使用教程...
  10. java微信授权登录回调地址,微信开发者工具,注册微信公共平台
  11. 阿里靠什么武功秘籍渡过“双十一“的天量冲击
  12. You may need an appropriate loader to handle this file type, currently no loaders are configured to
  13. 文字-汉字-生僻字:生僻字1
  14. java误删的信息怎么恢复_记一次线上表数据误删恢复过程
  15. 轻松一刻:给你讲一个只有程序员才能听得懂得笑话
  16. 【论文写作】Latex在线创作工具overleaf及账号注册办法
  17. 最新抖音简单无人直播教程
  18. Doxygen使用指南,Doxygen介绍一
  19. 不希望你懈——写给宫岩
  20. Adobe Audition 2020 for Mac

热门文章

  1. makefile编译时候出现 commands commence before first target
  2. 哈佛大学凌晨四点情形
  3. kbengine配置mysql,kbengine教程----01
  4. 自然语言处理(Natural language processing) 1
  5. 收藏:如何物色和培养核心人才?
  6. urllib3.exceptions
  7. python基础学完还要学什么_国贸商城品牌大全
  8. android功耗测试方法,手机功耗测试指南
  9. 14个实用的CSS在线实例教程
  10. 通过HTML和CSS设计一个静态网页(练习实例,附完整代码)