平均精度(AP)

什么是平均精度(AP)

平均精度 (AP)并不是精度 (P)的平均值。

平均精度 (AP) 是按类别计算的。

mAP(mean average precision)是一个平均值,常用作目标检测中的检测精度指标mAP 指标通过对于一个平均目标来检测任务中多个目标所对应不同 AP(average precision)值进行计算得到。AP 的值就是通过预测分析得出的实验结果中精确率(precision)和召回率(recall)来精确绘制一个 P-R 曲线的面积。

mAP是用来衡量目标检测算法精度的一个常用指标。目前各个经典算法都是使用mAP在开源数据集上进行精度对比。在计算mAP之前,还需要使用到两个基础概念:准确率(Precision)和召回率(Recall)

  • 准确率:预测为正的样本中有多少是真正的正样本。

  • 召回率:样本中的正例有多少被预测正确

  • 正例:正样本,即该位置存在对应类别的物体。

  • 负例:负样本,即该位置不存在对应类别的物体。

  • TP(True Positives):正样本预测为正样本的数量。

  • FP(False Positives):负样本预测为正样本的数量。

  • FN(False Negative):正样本预测为负样本的数量。

  • TN(True Negative):负样本预测为负样本的数量。

这里举个例子来说明准确率和召回率是如何进行计算的:假设我们的输入样本中有某个类别的10个目标,我们最终预测得到了8个目标。其中6个目标预测正确(TP),2个目标预测错误(FP),4个目标没有预测到(FN)。则准确率和召回率的计算结果如下所示:

  • 准确率:6/(6+2) = 6/8 = 75%

  • 召回率:6/(6+4) = 6/10 = 60%

halcon算子中的到的row,col和c#中得到的X,Y坐标对应关系是row→Y,col→X

相关推荐
三品吉他手会点灯4 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
在放️7 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy7 小时前
java知识五(继承)
java·开发语言
c++之路7 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
聚名网8 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
牛油果子哥q9 小时前
STL set与map底层精讲,红黑树适配原理、有序去重特性、迭代器遍历、API实战与面试核心考点全解
开发语言·数据结构·c++·面试
foundbug9999 小时前
直流电机 PID 速度控制 MATLAB 仿真程序
开发语言·matlab
Tian_Hang10 小时前
C++原型模式(Protype)
开发语言·c++·算法
天天讯通10 小时前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别