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

本文详细介绍了目标检测中的关键评价指标,包括真阳性、假阳性和假阴性,以及它们在混淆矩阵中的含义。重点讲解了精确率、召回率和准确率的概念,强调了两者之间的权衡。此外,还阐述了PR曲线、平均精度(AP)和Mean AP的计算方法,以及如何通过调整置信度阈值来优化检测器的性能。最后,提到了在不同IOU下的AP指标,如AP50和AP75,用于评估检测器在不同定位精度下的表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标检测常用评价指标

本文主要参考陈恺大佬在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

召回率 = 预测为真且实际为真总数 实际为真总数 ,  即    R e c a l l = T P T P + F N 召回率=\frac{预测为真且实际为真总数}{实际为真总数}, \ \ 即\ \ \ Recall=\frac{TP}{TP+FN} 召回率=实际为真总数预测为真且实际为真总数     Recall=TP+FNTP

精确率 = 预测为真且实际为真总数 预测为真总数 ,  即    P r e c i s i o n = T P T P + F P 精确率=\frac{预测为真且实际为真总数}{预测为真总数}, \ \ 即\ \ \ Precision=\frac{TP}{TP+FP} 精确率=预测为真总数预测为真且实际为真总数     Precision=TP+FPTP

准确率 = 预测正确总数 全部样本总数 ,  即    A c c u r a c y = T P + T N T P + F P + T N + F N 准确率=\frac{预测正确总数}{全部样本总数}, \ \ 即\ \ \ Accuracy=\frac{TP+TN}{TP+FP+TN+FN} 准确率=全部样本总数预测正确总数     Accuracy=TP+FP+TN+FNTP+TN

召回率是实际为真样本中预测为真的比例,精确率是预测为真样本中真实为真的比例,准确率是预测正确的比例。

两种极端的情况:

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

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

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

PR曲线和AP值

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

具体做法:

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

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

在这里插入图片描述

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

Mean AP

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

Mean AP的完整计算流程:

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

部分数据集(如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,再求平均。

混淆矩阵是用于评价语义分割模型性能的一种标准格式。混淆矩阵以n行n列的矩阵形式展示,其中n代表类别数量。混淆矩阵的行代表实际类别,列代表模型预测的类别。每个单元格中的数值表示实际类别与预测类别相交的像素数量。 评价指标是根据混淆矩阵计算得出,包括总体精度、制图精度和用户精度等。总体精度表示所有正确分类的像素占总像素数的比例。制图精度表示每个类别的像素正确分类的比例。用户精度表示每个像素被正确分类为某个类别的概率。 总结来说,混淆矩阵评价指标是用于衡量语义分割模型分类性能的工具。 【1】【3】<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [解读混淆矩阵在语义分割FCN指标计算中的应用(含代码实现)](https://blog.csdn.net/m0_62128864/article/details/124461430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [语义分割评价指标代码:混淆矩阵计算详解](https://blog.csdn.net/weixin_43143670/article/details/104722381)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值