目标检测常用评价指标

本文主要参考陈恺大佬在B站商汤账号的介绍mmdetection的视频。

检测结果的正确/错误类型

真阳性(Ture Positive):算法检测到了某类物体(Positive),而实际图中也确实有这个物体,检测结果正确(True)。
假阳性(False Positive):算法检测到了某类物体(Postive),但是图中没有这个物体,检测结果错误(False)。 又称为误检
假阴性(False Negtive):算法没有检测到某类物体(Negtive),但是图中有这个物体,检测结果错误(False)。 又称为漏检

左下实线框中确实有只猫,也检测到了,即TP。
右下实线框内没有物体,但是检测到了,即FP。
右上虚线框内有屏幕,但是没有检测到,即FN。

实际上,二元的混淆矩阵是这样的:

一定要注意:初次面对这些概念时,两个字母表示四种可能性,可能会自然而然地认为前后字母分别代表真实值和预测值的真假,但实际上不是这样的。

P/N确实是表示预测值是真或假,而T/F可不是表示真实值的真或假。T/P 和 F/N 的真正含义是:

  • T/F:表示预测的对不对,代表的是预测值与真实值之间的关系
  • P/N:表示预测值是真还是假,代表模型对某个样本的预测结果

这个一定要弄清楚,别被混淆矩阵把自己搞“混淆”了。

准确率Precision与召回率Recall

召回率=正确结果总数真值框总数,即Recall=TPTP+FN召回率=\frac{正确结果总数}{真值框总数}, \ \ 即\ \ \ Recall=\frac{TP}{TP+FN} 召回率=真值框总数正确结果总数​,  即   Recall=TP+FNTP​

准确率=正确结果总数检测框总数,即Precision=TPTP+FP准确率=\frac{正确结果总数}{检测框总数}, \ \ 即\ \ \ Precision=\frac{TP}{TP+FP} 准确率=检测框总数正确结果总数​,  即   Precision=TP+FPTP​

真值框总数与检测算法无关,因此只需将检测结果区分为正确(TP)和误检(FP)即可计算recall和precision。

两种极端的情况:

  1. 检测器将所有的锚框都判断为物体,此时召回率 Recall≈100%Recall\approx100\%Recall≈100% ,但是大量的背景都被误检为物体,FP很高,导致准确率很低。
  2. 检测器只将置信度最高的一个框检测为物体,当然有很大的几率是正确的,准确率 Precision≈100%Precision\approx100\%Precision≈100% ,但是大量的物体被漏检为背景,FN很高,导致召回率很低。

最理想的情况当然是召回率和准确率都为 100%,但在算法能力有限的现实情况下,我们应当尽可能地平衡二者。

通常做法是将检测框按照置信度排序,并设置一个置信度阈值,仅输出置信度大于该阈值的若干个框。

PR曲线和AP值

以上的做法无疑会受到阈值的选取的影响,为了得到和阈值无关的评分,我们可以遍历阈值,并对召回率和准确率求平均。

具体做法:

  1. 检测框按照置信度排序,取前 KKK 个框计算Precision和Recall。

  2. 遍历 KKK 从1到全部检测框,将得到的Precision和Recall绘制在坐标系上,得到PR曲线。

  1. 定义 Average Precision = Precision对Recall的平均值,即PR曲线下的面积,作为检测器的性能衡量指标。
    AP=∫01P(R)dRAP = \int_0^1P(R)dR AP=∫01​P(R)dR

Mean AP

分类别统计AP,并按类别平均得到Mean AP。

Mean AP的完整计算流程:

  1. 将数据集中全部图像的预测框按预测类别分类。
  2. 对于某一类别的所有检测框,计算AP:
    • 按置信度将该类别所有检测框排序
    • 逐一与真值框比较,判定TP或FP,并绘制PR曲线
    • 对PR曲线插值,计算AP
  3. 求所有类别的AP的平均,得到Mean AP。
    mAP=1C∑i=1C∫01P(R)dRmAP=\frac{1}{C}\sum_{i=1}^C\int_0^1P(R)dR mAP=C1​i=1∑C​∫01​P(R)dR CCC 是全部类别数。

部分数据集(如COCO),还需要在不同的IOU阈值下计算Mean AP并平均,作为最终评分,这可以衡量检测器在不同定位精度要求下的性能。

AP、AP50、AP75

以上我们讨论的是在固定 IOU 下的 mAP 结果,我们也提到,有时会对不同的 IOU 也做测试,并记录性能。我们经常在论文中见到 AP、AP50、AP75 这样的指标就是指的在不同的 IOU 下的 mAP 结果。

具体来说:

  • AP50、AP75:这样在 AP 后面带数字的,很好理解,即分别是在 IOU 为 50、75 下的 mAP 值。
  • AP:这样不带数字的 AP 指标通常指的是 AP@50:5:95,表示 IOU 从 50 ,取到95,步长为5(即50, 55, 60, 65, …, 90, 95),分别计算这些 IOU 值下的 mAP,再求平均。

错误类型、混淆矩阵及目标检测常用评价指标相关推荐

  1. 目标检测常用评价指标及其计算方法

    目录 一.目标检测常用评价指标 二.速度指标 三.精度指标 1.混淆矩阵 2.Precision.Recall.F1.Fβ (1)Precision (2)Recall (3)F1 (4)Fβ 3Io ...

  2. Detection:目标检测常用评价指标的学习总结(IoU、TP、FP、TN、FN、Precision、Recall、F1-score、P-R曲线、AP、mAP、 ROC曲线、TPR、FPR和AUC)

    目录 前言 1. IoU 2. TP.FP.TN.FN 2.1 混淆矩阵 2.2 TP.FP.TN.FN的定义 2.3 TP.FP.TN.FN在目标检测中的对应内容 2.3.1 TP,FP在目标检测中 ...

  3. 目标检测常用评价指标笔记

    1.准确度指标 Accuracy准确率:正确预测的正样本和负样本的总数/总数 error_rate:错误预测的正样本和负样本总数/总数 混淆矩阵Confusion Matrix: 每一行之和表示该类别 ...

  4. 小目标检测常用解决方法

    小目标检测常用解决方法 1 定义 通用的定义来自 COCO 数据集,定义小于 32x32 pix 的为小目标. 2 小目标检测的难点 可利用特征少 现有数据集中小目标占比少 小目标聚集问题 首先小目标 ...

  5. 【目标检测】目标检测的评价指标(七个)

    目录:目标检测的评价指标 一.正样本与负样本 二.真正(TP).假正(FP).真负(TN).假负(FN) (1)正确的正向预测(True Positive,TP):正样本被正确检测的数量 (2)错误的 ...

  6. 目标检测精度评价指标

    在目标检测领域中,存在着很多精度评价指标,需要根据应用场景自主的选择更合适的评价指标. 有人举过一些很典型的例子: 倘若某人声称创建了一个能够识别登上飞机的恐怖分子的模型,并且准确率(accuracy ...

  7. 目标检测的评价指标P,R,mAP

    目标检测的评价指标P,R,mAP 1 基本概念 1.1 IOU(Intersection over Union) 1.2 TP TN FP FN 2. 各种率 2.1 根据IOU计算Precision ...

  8. 目标检测重要评价指标——mAP的含义及计算

    目标检测常见评价指标 1. 公开数据集 评价标准:pascal voc, coco,目前基本都在使用coco数据集. 2.评价指标 mAP: mean Average Precision, 即所有类别 ...

  9. 目标检测常用数据集格式

    简介 我们经常需要使用自己通过标注工具(如LabelImg.LabelMe等)生成的数据集或者一些开源数据集进行目标检测模型的训练,这些自定义数据集格式多样且不具有一致性,而目标检测的数据格式相比于其 ...

最新文章

  1. 教程 | Caffe在Windows10系统上安装与配置
  2. [蓝桥杯2016初赛]卡片换位 bfs+set
  3. Qt信号与槽传递自定义数据类型——两种解决方法
  4. linux centos7 开机自动登录
  5. 微信小程序中input和picker之间切换导致input无法失去焦点
  6. mysql语法与decode语法的不同
  7. IT基础设施最佳实践ITIL
  8. idea 15 license server
  9. Struts2一个诡异问题的解决
  10. Android 关机(reboot)流程 -- sys.powerctl
  11. 关注的计算机视觉研究组和个人主页列表
  12. Python入门书籍推荐
  13. 鸿蒙系统上海,鸿蒙系统助阵 华为新一代智慧屏升级五大分布式场景
  14. 【江苏省大学生核心就业能力培训(笔记)】
  15. shell小实验详解1——for循环语句实现求奇数和与偶数和+小技巧使用!!!
  16. 高斯滤波的开始——高斯核的计算
  17. Linux的目录挂载详解
  18. Suzy找到实习了吗 Day23 | 二叉树最后一节!669. 修剪二叉搜索树,108. 将有序数组转换为二叉搜索树,538. 把二叉搜索树转换为累加树
  19. 【金融干货】四步教你:开发风控模型?
  20. 亚马逊将推大学生版Kindle电子书阅读器

热门文章

  1. PMP答题技巧(详细版)
  2. Linux Shell脚本_较少Swap使用
  3. SpringBoot2.x 整合RabbitMQ_消费端
  4. Centos6.8安装Nginx+域名转发
  5. 使用hbuilder的maps模块调起百度地图导航
  6. 四步获取微信登录所需的openid和session_key
  7. SpringBoot集成Elasticsearch实现博客高亮搜索
  8. mysql统计每周每个学校新增学生数量_深入学习之mysql(四)聚合函数
  9. floquet端口x极化入射波_请问CST 2012 floquet中的模式设置
  10. 会不会导致内存泄漏_Java内存泄漏!为什么会泄漏?如何泄漏?怎么定位?