目标检测常用评估指标(metrics)

  • 1、基本概念
    • 真正例(TP):样本的实际类别为正类,并且模型将其预测为正类。
    • 假正例(FP):样本的实际类别为负类,并且模型将其预测为正类。
    • 真负例(TN):样本的实际类别为负类,并且模型将其预测为负类。
    • 假负例(FN):样本的实际类别为正类,并且模型将其预测为负类。
      T和F可以是看做模型的预测结果(P和N)的定语。
实际\预测 预测为正类 预测为负类
实际正类 真正例(TP) 假负例(FN)
实际负类 假正例(FP) 真负例(TN)
  • 2、精准率

    • 定义:预测为正类的数据中,实际为正类的样本占比。
    • 计算公式: P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
  • 3、召回率

    • 定义:实际为正类的样本数据中,预测为正类的样本占比。
    • 计算公式: R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
    • 分母为真正例+假负例的样本数量相加。为什么加假负,因为模型的预测结果为假的负样本,那实际上就是真的正样本。
  • 4、目标检测任务的真正例、假正例、假负例如何划分

    • 1) T P TP TP:真正例,模型预测出一个框,与标注框的IOU大于阈值且分类正确。
    • 2) F P FP FP:假正例(误报),模型预测出一个框,与标注框的IOU小于阈值或者预测类别为背景或者分类错误。FP是相对于预测框。
    • 3) F N FN FN:假负例(漏报),图片中有一个标注框,但是没有任何一个预测框能匹配上,要么IOU低于阈值 ,要么类别对不上。FN是相对于标注框(Ground Truth来说的)。
    • 4) T N TN TN:真负例。在目标检测领域不考虑,因为真负例可以被理解为所有未预测且不含目标的区域,而这样的框是有连续且无穷多的。
  • 5、论文是如何计算相关指标的

    Faster R-CNN、SSD、YOLO等算法在训练阶段的正负样本的划分有各自的细节,但在最终测试和验证阶段评估精准率和召回率时,流程和算法本质上是一致的:对网络输出的所有预测框做阈值过滤和NMS,然后与标注框做IOU比较。统计TP、FP和FN。

    • 计算离散 R-P曲线
      对于单一类别C、固定的IOU:
      • 1)收集并保留模型对"类别C"做出的所有预测框(即模型输出标签 = C 的那些框)
      • 2)按置信度对预测框从大到小排序
      • 2)将这些框与"类别C"的标注框进行IOU匹配,判断那些是TP和FP。
      • 3)从i=1到i=N,一次只加入一个预测框,检查它是否与某个标注框是否匹配成功(IOU大于阈值),如果成功就是TP,否则就是FP。
      • 4)同时累计到目前为止的TP数、FP数。
      • 5)计算截止到当前预测框为止的精准率和召回率
        P r e c i s i o n i = T P i T P i + F P i Precision_{i}=\frac{TP_{i}}{TP_{i}+FP_{i}} Precisioni=TPi+FPiTPi
        R e c a l l i = T P i T P i + F N i Recall_{i}=\frac{TP_{i}}{TP_{i}+FN_{i}} Recalli=TPi+FNiTPi
    • AP计算
      • 通过插值或积分,对离散的PR曲线计算面积,得到该类别的AP
      • 计算所有类别AP的均值,得到mAP.
  • 6、目标检测的3个阈值

    • IOU阈值:用于判定一个预测框是否与某个标注框"匹配成功",从而记为TP。
    • 置信度阈值:用于筛选预测框(比如只保留置信度 > 0.5 >0.5 >0.5的预测框),绘制PR曲线就是取的不同的置信度阈值。
    • NMS中的IOU阈值:用于在预测框之间进行去重,比如只要两个预测框的IOU超过0.5,救认为他们检测到的目标高度重合,去掉置信度分数低的那个。
相关推荐
普密斯科技几秒前
齿轮平面度与正反面智能检测方案:3D视觉技术破解精密制造品控难题
人工智能·计算机视觉·平面·3d·自动化·视觉检测
米猴设计师7 分钟前
PS图案融合到褶皱布料上怎么弄?贴图教程
图像处理·人工智能·贴图·ps·nanobanana
123_不打狼10 分钟前
基于UNET的语义分割
人工智能·语义分割
实在智能RPA29 分钟前
Agent 如何处理流程中的异常情况?2026年AI Agent架构工程与自愈机制深度拆解
人工智能·ai·架构
十铭忘31 分钟前
局部重绘3——FLUX-Fill的Lora训练
人工智能·深度学习·机器学习
碳基硅坊38 分钟前
Dify v1.13.x 版本更新速览:从人机协作到架构升级
人工智能·dify
IT_陈寒39 分钟前
SpringBoot自动配置把我都整不会了
前端·人工智能·后端
w_t_y_y1 小时前
python AI工程(二)python实现skill+cli
人工智能
朝新_1 小时前
【Spring AI 】核心知识体系梳理:从入门到实战
java·人工智能·spring
人工智能AI技术1 小时前
C#调用大模型
人工智能