对象检测网络中的mAP到底怎么计算出来的

微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 觉得文章对你有用,请戳底部广告支持

一:相关名词解释

mAP是英文mean Average Precision的全称,同时也是衡量深度学习中对象检测算法准确率的一个重要指标,mAP的计算涉及到很多专业的术语与解释,首先就来认识一下这些术语名词与解释:

IOU 英文全称是(Intersection-over-Union)并交比, 在对象检测中只有那些并交比大于0.5的才被认为是TP(True Position)即正确匹配与预测。关于IOU的形象解释如下图:

对于正确标注数据框与预测数据框,交并比的图示如下:

TP(Ture Position) 表示预测与真实标注框保持了一致,但是还没有被正确的检测出来的,简单直白的点说就是将要成功预测。

FP(False Position) 表示预测与真实不符合,假设真实标注框是CAR、FP表示你有多少预测是CAR但是实际对象不是CAR,所谓的假阳性。

FN(False Negatives) 表示有多少个真实标注框没有被检测到,以VOC数据集中CAR为例,表示有多少CAR对象没有被检测出来。

二:计算均值平均精度(mAP)与召回率(recall)

搞清楚上面的几个专业名词解释真实含义之后,计算mAP与recall就会相对比较容易理解。下面是给出来计算TP、FP、FN的伪代码如下:

iterate through entire list of predictions for all images
if IOU > threshold
    if object not detected yet
        TP++
    else
        FP++    // nms should reduce # of overlapping predictions
else 
    FP++

if no prediction made for an image
FN++

最终计算mAP与召回率公式如下:

mAP = TP/(TP+FP)
Recall = TP/(TP+FN)

mAP与recall的曲线随着训练时间的推移,都会不断的上升,预示着对象检测率不断提升、模型正在正常训练过程中,如果发现训练时候mAP曲线没有上升或者有值一直很小,就说明模型训练出现了问题,需要仔细检查模型构造与数据。同时mAP指标也是衡量一个对象检测模型好坏的重要指标数据,在tensorflow常用的对象检测模型基于COCO数据集训练得到mAP指标对比列表如下:

原文发布于微信公众号 - OpenCV学堂(CVSCHOOL)

原文发表时间:2018-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信小驿站

R 梯度提升算法①

它是一种传统而重要的Boost算法,在学习时为每一个样本赋上一个权重,初始时各样本权重一样。在每一步训练后,增加错误学习样本的权重,这使得某些样本的重要性凸显出...

983
来自专栏CDA数据分析师

技能 | 基于树的建模-完整教程(R & Python)

简介: 基于树的学习算法被认为是最好的方法之一,主要用于监测学习方法。基于树的方法支持具有高精度、高稳定性和易用性解释的预测模型。不同于线性模型,它们映射非线性...

2277
来自专栏ATYUN订阅号

Python机器学习的练习三:逻辑回归

在这篇文章中,我们将把我们的目标从预测连续值(回归)变成分类两个或更多的离散的储存器(分类),并将其应用到学生入学问题上。假设你是一个大学的管理人员,你想要根据...

5064
来自专栏AI研习社

CVPR Spotlight 论文:当零示例学习遇上网络数据

AI 研习社按:本文由美国莱斯大学博士后牛力为 AI 科技评论提供的独家稿件,未经许可不得转载。

731
来自专栏AI科技评论

卷积神经网络新手指南之二

卷积神经网络新手指南之二 ? 引言 本文将进一步探讨有关卷积神经网络的更多细节,注:以下文章中部分内容较为复杂,为了保证其简明性,部分内容详细解释的研究文献会标...

3657
来自专栏磐创AI技术团队的专栏

详解谱聚类原理

1893
来自专栏新智元

机器学习:用初等数学解读逻辑回归

逻辑回归问题的通俗几何描述 逻辑回归处理的是分类问题。我们可以用通俗的几何语言重新表述它: 空间中有两群点,一群是圆点“〇”,一群是叉点“X”。我们希望从空间...

35815
来自专栏AI科技大本营的专栏

干货 | 转型人工智能,你需要掌握的八大神经网络

翻译 | AI科技大本营 参与 | 林椿眄 编辑 | Donna 为什么我们需要机器学习? 机器学习可以解决人类不能直接用编程来应对的复杂难题,因此,我们喂给机...

3597
来自专栏量子位

超分辨率技术如何发展?这6篇ECCV 18论文带你一次尽览

在这篇文章中,亲历了ECCV 2018的机器学习研究员Tetianka Martyniuk挑选了6篇ECCV 2018接收论文,概述了超分辨率(Super-Re...

7702
来自专栏ATYUN订阅号

机器学习模型的特征选择第一部分:启发式搜索

特征选择能够改善你的机器学习模型。在这个系列中,我简单介绍你需要了解的特征选择的全部内容。本文为第一部分,我将讨论为什么特征选择很重要,以及为什么它实际上是一个...

40510

扫码关注云+社区