0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解对象检测网络性能评价指标mAP计算

OpenCV学堂 来源:OpenCV学堂 2023-10-09 16:41 次阅读

上次我写了一篇关于mAP计算的文章,发布之后得到很多网友的反馈,有感于此,觉得有必要重写一篇,目的有两个,一个是告诉大家你们的意见我收到了,另外一个是细化了我对mAP的计算过程的理解,如有廖误恳请指正,本人一定虚心接受!欢迎继续拍砖!

对象检测评价参数解释

对象检测评价是针对对象检测系统性能指标的整体性能评估,评价指标包括

  • 正确检测率

  • 错误检测率

  • 漏检率

等常见指标,更广义的评价还包括检测率除以精度与敏感性。检测对象的评价多数是基于某测试数据集的,通常称为SUT(System Under Test), 我们在训练时候使用的数据通常被称为GT Sytem(是带有正确标准框的数据)。评价对象检测系统性能经常需要用到术语与解释如下:

FP –False Positive是指一个对象出现在SUT中但是没有出现在GT中

TP – True Positive是指一个对象既出现在SUT也出现在GT中
FN – False negative是真一个对象出现在GT中但是没有出现在SUT
TN – True negative是指对象在SUT与GT中均没有出现
CGT – complete ground truth 是指总的GT数目

二:计算AP与mAP

在计算AP过程中最重要的是生成Precision-Recall Curve (精确度-召回率曲线),它是计算mAP最重要的一步动作。下图中有六个book的标注框(GT)
蓝色矩形框标注信息如下:28d32562-666c-11ee-939d-92fbcf53809c.jpg

book 439 157 556 241
book 437 246 518 351
book 515 306 595 375
book 407 386 531 476
book 544 419 621 476
book 609 297 636 392

红色矩形框算法预测结果如下:

28e81e0e-666c-11ee-939d-92fbcf53809c.jpg

有八个预测框,根据得分从高到低的排序如下:

book 0.619459 413 390 515 459
book 0.462608 518 314 603 369
book 0.460851 429 219 528 247
book 0.382881 403 384 517 461
book 0.369369 405 429 519 470
book 0.298196 592 310 634 388
book 0.272826 433 272 499 341
book 0.269833 433 260 506 336

其中第二列是预测边界框(BB)对book得分

28fc52e8-666c-11ee-939d-92fbcf53809c.jpg

判断TP与FP代码如下

ifovmax>=min_overlap:
if"difficult"notingt_match:
ifnotbool(gt_match["used"]):
#truepositive
tp[idx]=1
gt_match["used"]=True
count_true_positives[class_name]+=1
#updatethe".json"file
withopen(gt_file,'w')asf:
f.write(json.dumps(ground_truth_data))
ifshow_animation:
status="MATCH!"
else:
#falsepositive(multipledetection)
fp[idx]=1
ifshow_animation:
status="REPEATEDMATCH!"
else:
#falsepositive
fp[idx]=1
ifovmax>0:
status="INSUFFICIENTOVERLAP"

计算累计TP与FP的代码如下:

foridx,valinenumerate(fp):
fp[idx]+=cumsum
cumsum+=val
cumsum=0
foridx,valinenumerate(tp):
tp[idx]+=cumsum
cumsum+=val

积分求解
Precision与Recall数据的取值范围都在0~1之间,以Recall为X轴位、以Precision为Y轴可以绘制PR曲线。在绘制之前首先需要完成插值操作

首先对精度数据首尾添加0然后进行最大值插值取值,得到mpre
【1.0, 1.0, 1.0, 0.66, 0.5, 0.5, 0.5, 0.5, 0.5, 0】
对召回数据首尾添加0与1得到mrec
【0, 0.166, 0.33, 0.33, 0.33, 0.33, 0.5, 0.5, 0.66, 1.0】

进行寻找变化的梯度得到index(1、2、6、8、9),对曲线积分求解最终的AP为:

loopindex(12689)
AP=+((mrec[index]-mrec[index-1])*mpre[index])
returnAP

上面的解释是AP计算方法,VOC2007对计算出来结果,根据原始取得的recall进行最大插值为11点的方式来计算AP,图示如下:

2905a9ec-666c-11ee-939d-92fbcf53809c.jpg

2913c130-666c-11ee-939d-92fbcf53809c.png

另外一种方式被称为全插值方法,同样是基于最大值进行插值,得到曲线显示如下

2919e9e8-666c-11ee-939d-92fbcf53809c.jpg

292f0e7c-666c-11ee-939d-92fbcf53809c.jpg

通过插值之后进行AP计算得到的结果会跟积分直接求解的结果不同,当前PASCAL VOC都是基于全插值方式来计算AP,最终根据每个类别的AP求和之后除以总的检测类别数目就得到mAP值。

mAP=sum(AP)/N
其中N表示总的类别数目


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测系统
    +关注

    关注

    3

    文章

    918

    浏览量

    42693
  • MAP
    MAP
    +关注

    关注

    0

    文章

    47

    浏览量

    15018
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24351

原文标题:详解对象检测网络性能评价指标mAP计算

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux性能测试之性能测试指标详解

    性能测试指标是衡量系统性能评价标准,常用的系统性能测试指标包括:响应时间、并发用户/并发、点击
    发表于 12-23 14:50 412次阅读

    基于网络性能的VoIP语音质量评价模型

    【作者】:张秀武;雷为民;【来源】:《小型微型计算机系统》2010年03期【摘要】:在VoIP应用中,为了实现服务质量的监测和路径切换,通常需要测量路径的网络性能,并将网络
    发表于 04-24 09:26

    目标检测和图像语义分割领域性能评价指标

    目标检测和图像语义分割领域的性能评价指标
    发表于 05-13 09:57

    电脑的性能一般可以从哪几个指标评价

    的时钟频率)。微型计算机的功能或性能不是由某个指标决定的,而是由它的系统结构、指令系统、硬件组成、软件配置等因素决定的。但是对于大多数普通用户来说,电脑的性能一般可以从以下几个
    发表于 09-10 06:32

    常用来评价计算机综合性能指标有哪些

    计算性能的主要评价在实际应用中,常用来评价计算机综合性能
    发表于 02-28 09:13

    多传感器航迹融合的评价指标计算方法

    以多传感器的观测数据与航迹正确相关与否的概率为基础,建立航迹关联分辨力、融合航迹的精度等评价指标,并给出其计算方法.关键词: 传感器; 航迹; 评价
    发表于 06-22 11:43 15次下载

    模糊理论与层次分析法的网络学习评价

    为了更有效地评价网络学习的效果,设计了一种基于层次结构的网络学习评价模型,根据模型建立了网络学习评价
    发表于 03-07 15:03 0次下载
    模糊理论与层次分析法的<b class='flag-5'>网络</b>学习<b class='flag-5'>评价</b>

    分类器的分类性能评价指标

    通过具体应用实例,指出目前普遍使用的正确率和错误率评价指标在不平衡数据集、语义相关多分、不同错分代价等分类问题中评价分类器性能时存在的缺陷。为了解决这一问题,根据
    发表于 05-03 16:51 0次下载

    指标评价系统设计与实现

    针对具有不确定性的混合多指标评价问题,介绍了定性指标和定量指标的数据提取方法,结合证据推理法的基本理论,采用混合编程技术,开发了证据推理评价
    发表于 11-29 11:29 2次下载
    多<b class='flag-5'>指标</b><b class='flag-5'>评价</b>系统设计与实现

    计算机网络性能指标

    本视频主要详细介绍了计算机网络性能指标,分别是速率、带宽、吞吐量、时延、时延带宽积、往返时间(RTT)、利用率。
    的头像 发表于 01-03 17:57 4.4w次阅读

    结合词特征与语义特征的网络评价对象识别

    网络评论短文本的细粒度情感分析是文本挖掘的研究热点,评价对象作为细粒度情感分析的基础,在识别文本过程中具有重要作用,如何充分利用上下文信息并对其进行有效表示是评价
    发表于 05-28 11:04 3次下载

    基于深度学习的自动识别评价对象方法

    词与评价对象的命名实体标注,得到单词序列、词性序列和标注序列。将单词序列、词性序列转为神经网络语言模型的词向量,并用循环神经网络进行训练,采用条件随机场(CRF)输出
    发表于 06-10 11:26 9次下载

    深度学习与缺陷检测中常用的性能指标计算方法

    在深度学习领域,通过以精度、召回率、平均精度均值(Mean Average Precision,mAP)和FPS等指标评价目标检测算法的有效性,在图像分割中则主要采用平均像素准确率、平
    的头像 发表于 08-02 10:08 5788次阅读

    为什么mAP已成为目标检测的首选指标

    计算机视觉界已经集中在度量 mAP 上,来比较目标检测系统的性能
    的头像 发表于 04-10 09:50 620次阅读

    鸿蒙TypeScript学习第12天【Map对象

    Map 对象保存键值对,并且能够记住键的原始插入顺序。 任何值(对象或者原始值) 都可以作为一个键或一个值。
    的头像 发表于 04-10 15:47 98次阅读
    鸿蒙TypeScript学习第12天【<b class='flag-5'>Map</b><b class='flag-5'>对象</b>】