参考文章:深度学习-目标检测评估指标P-R曲线、AP、mAP

文章目录

  • P-R曲线:
  • AP计算:

下面通过具体例子说明。

首先用训练好的模型得到所有测试样本的confidence score,每一类(如car)的confidence score保存到一个文件中(如comp1_cls_test_car.txt)。假设共有20个测试样本,每个的id,confidence score和ground truth label如下:​​

ground truth label通过预测的bbox与ground truth的iou确定为正样本或负样本。

接下来对confidence score排序,得到:

P-R曲线:

我们得到top-5的结果,前score最高的前5个样本,预测label为1,即:

此例中采用top-5评估,也可采用其他评估,如AP50,即当预测框与真实框的IoU值大于这个阈值时,该预测框才被认定为真阳性(True Positive, TP),反之就是假阳性(False Positive,FP)。

在这个例子中,true positives就是指第4和第2张图片,false positives就是指第13,19,6张图片。是相对于方框内的元素而言,在这个例子中,confidence score排在top-5之外的元素为false negatives和true negatives,即:

其中,false negatives是指第9,16,7,20张图片,true negatives是指第1,18,5,15,10,17,12,14,8,11,3张图片。

那么,这个例子中Precision=2/5=40%,意思是对于car这一类别,我们选定了5个样本,其中正确的有2个,即准确率为40%;Recall=2/6=30%,意思是在所有测试样本中,共有6个car,但是因为我们只召回了2个,所以召回率为30%。此时为下图中第5个样本点。同理图中第一个样本点:P=1,R=1/6,第二个样本点,考虑前两个样本,P=1,R=2/6=1/3。。。

这个例子的precision-recall曲线如下:

实际多类别分类任务中,我们通常不满足只通过top-5来衡量一个模型的好坏,而是需要知道从top-1到top-N(N是所有测试样本个数,本文中为20)对应的precision和recall。显然随着我们选定的样本越来也多,recall一定会越来越高,而precision整体上会呈下降趋势。把recall当成横坐标,precision当成纵坐标,即可得到常用的precision-recall曲线。

AP计算:

接下来说说AP的计算,此处参考的是PASCAL VOC CHALLENGE的2010年之前计算方法。首先设定一组阈值,[0, 0.1, 0.2, …, 1]。然后对于recall大于每一个阈值(比如recall>0.3),我们都会得到一个对应的最大precision。这样,我们就计算出了11个precision。AP即为这11个precision的平均值。这种方法英文叫做11-point interpolated average precision。​

当然PASCAL VOC CHALLENGE自2010年后就换了另一种计算方法。新的计算方法假设这N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, …, M/M),对于每个recall值r,我们可以计算出对应(r’ >= r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。计算方法如下:​

相应的Precision-Recall曲线(这条曲线是单调递减的)如下:​

AP衡量的是学出来的模型在每个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。

如何绘制深度学习-目标检测评估指标P-R(precision-recall)曲线?如何计算AP(average-precision)?相关推荐

  1. 深度学习-目标检测评估指标P-R曲线、AP、mAP

    基本概念 P-R曲线中,P为图中precision,即精准度,R为图中recall,即召回率. Example 下面通过具体例子说明. 首先用训练好的模型得到所有测试样本的confidence  sc ...

  2. 【深度学习】——模型评估指标MAP计算实例计算

    目录 一.知识储备 1.IOU--交集面积与并集面积之比 2.混淆矩阵(TP.FP.FN.TN) 问题1:上面的TP等具体是如何计算得到的? 3.精度precision&召回率recall 二 ...

  3. 深度学习目标检测中计算目标的AP(average precision)平均精度、有什么用?

    AP衡量的是学出来的模型在每个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值. 参考文章:深度学习-目标检测评估指标P-R曲线. ...

  4. 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?

    编译 | 庞佳 责编 | Leo 出品 | AI 科技大本营(公众号ID:rgznai100) AI 科技大本营按:本文编译自 Adrian Rosebrock 发表在 PyImageSearch 上 ...

  5. 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD

    为什么80%的码农都做不了架构师?>>>    Faster R-CNN.R-FCN 和 SSD 是三种目前最优且应用最广泛的目标检测模型,其他流行的模型通常与这三者类似.本文介绍了 ...

  6. (二十六)深度学习目标检测:Fast-RCNN

    Fast-RCNN RCNN存在的问题: 1.一张图像上有大量的重叠框,所以这些候选框送入神经网络时候,提取特征会有冗余! 2.训练的空间需求大.因为RCNN中,独立的分类器和回归器需要很多的特征作为 ...

  7. <计算机视觉 六> 深度学习目标检测模型的评估标准

    鼠标点击下载     项目源代码免费下载地址 <计算机视觉一> 使用标定工具标定自己的目标检测 <计算机视觉二> labelme标定的数据转换成yolo训练格式 <计算机 ...

  8. 深度学习目标检测方法综述

    参考:https://blog.csdn.net/Standing_On_Giant/article/details/60333329 参考:https://blog.csdn.net/xiaohu2 ...

  9. 姿态检测 树莓派_怎样在树莓派上轻松实现深度学习目标检测?

    原标题:怎样在树莓派上轻松实现深度学习目标检测? 雷锋网按:本文为 AI 研习社编译的技术博客,原标题 How to easily Detect Objects with Deep Learning ...

最新文章

  1. 2022-2028年中国急救中心行业发展战略规划及未来前景展望报告
  2. 厉害了!蚂蚁 mPaaS:有人修建高楼,有人重构城市
  3. 关押罪犯洛谷P1525
  4. 人类史上最大最好的希望事件
  5. HTML、CSS、JavaScript能实现的功能汇总!
  6. dwz中弹出的窗口页面如何获取前页面(点击按钮的页面)的元素???
  7. u盘插入linux系统没有反应_linux系统无法挂载U盘
  8. 【HDU - 5943】Kingdom of Obsession(数论,素数间隔结论,构造,思维,匈牙利算法,匹配问题)
  9. Windows 2008 实战之KMS实施(Revision 2)
  10. Selenium的一些技巧与错误处理
  11. 自己常用的分页SQL
  12. STL中map与hash_map容器的选择
  13. java shiro教程_shiro教程1(HelloWorld)
  14. icem合并面网格_ICEM CFD中合并多个网格
  15. 【读书笔记】看你能坚持读几本书?!——三十本互联网必看书籍
  16. HTML- 01:HTML 语言简介
  17. 报错解决:AttributeError: ‘Word2VecKeyedVectors‘ object has no attribute ‘save_Word2Vec_format‘
  18. 微机原理 判断题练习
  19. python分析就业率_Python就业行情和前景分析之一
  20. 希尔排序(动图+详解)

热门文章

  1. Win XP系统的开机菜单具体含义
  2. linux格式化大于2t硬盘分区,linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区...
  3. png文件头_文件上传总结
  4. ABAP 在字符串之间加入若干空格
  5. ALV 简单实现HTML抬头的方法 (介绍 一)
  6. WIN7重装IE的步骤
  7. 生产订单总目标成本为0
  8. SD--订单最小量限制的增强
  9. ABAP中接收.NET语言byte[]类型返回值问题
  10. 百度二次上市涨0.79%,错过移动互联网热潮后牌怎么出?