多标签图像分类(Multi-label Image Classification)任务中图片的标签不止一个,因此评价不能用普通单标签图像分类的标准,即mean  accuracy,该任务采用的是和信息检索中类似的方法—mAP(mean Average Precision)。mAP虽然字面意思和mean  accuracy看起来差不多,但是计算方法要繁琐得多,以下是mAP的计算方法:
首先用训练好的模型得到所有测试样本的confidence  score,每一类(如car)的confidence   score保存到一个文件中(如comp1_cls_test_car.txt)。假设共有20个测试样本,每个的id,confidence  score和ground  truth  label如下:​​
接下来对confidence  score排序,得到:
然后计算precision和recall,这两个标准的定义如下:
上图比较直观,圆圈内(true   positives + false  positives)是我们选出的元素,它对应于分类任务中我们取出的结果,比如对测试样本在训练好的car模型上分类,我们想得到top-5的结果,即:
在这个例子中,true   positives就是指第4和第2张图片,false   positives就是指第13,19,6张图片。方框内圆圈外的元素(false   negatives和true  negatives)是相对于方框内的元素而言,在这个例子中,是指confidence   score排在top-5之外的元素,即:
其中,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%。
实际多类别分类任务中,我们通常不满足只通过top-5来衡量一个模型的好坏,而是需要知道从top-1到top-N(N是所有测试样本个数,本文中为20)对应的precision和recall。显然随着我们选定的样本越来也多,recall一定会越来越高,而precision整体上会呈下降趋势。把recall当成横坐标,precision当成纵坐标,即可得到常用的precision-recall曲线。这个例子的precision-recall曲线如下:
接下来说说AP的计算,此处参考的是PASCAL  VOC  CHALLENGE的计算方法。首先设定一组阈值,[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的平均值。

ap、mAP多标签图像分类任务的评价方法相关推荐

  1. CNN之性能指标:卷积神经网络中常用的性能指标(IOU/AP/mAP、混淆矩阵)简介、使用方法之详细攻略

    CNN之性能指标:卷积神经网络中常用的性能指标(IOU/AP/mAP.混淆矩阵)简介.使用方法之详细攻略 目录 CNN中常用的性能指标(IOU/AP/mAP.混淆矩阵)简介 IOU 1.IOU简介 2 ...

  2. 【人工智能】多标签图像分类综述

    图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩.然而,现有的分类任务大多是以单标签分类展开研究的.当图片中有多个标签时,又该如何进行分类呢?本篇综述将带领大家了解多标 ...

  3. [转]AP,mAP计算

    注1:一般场景文本检测使用的是AP,而不是mAP,因为场景文本属于单类别: 注2:AP比H-mean的优点在于,AP不需要设置任何阈值! 多标签图像分类(Multi-label Image Class ...

  4. 【图像分类】基于Pascal VOC2012增强数据的多标签图像分类实战

    接着上一次的多标签分类综述,本文主要以Pascal VOC2012增强数据集进行多标签图像分类训练,详细介绍增强数据集制作.训练以及指标计算过程,并通过代码进行详细阐述,希望能为大家提供一定的帮助! ...

  5. python不同曲线设置标签_【图像分类】基于Pascal VOC2012增强数据的多标签图像分类实战...

    接着上一次的多标签分类综述,本文主要以Pascal VOC2012增强数据集进行多标签图像分类训练,详细介绍增强数据集制作.训练以及指标计算过程,并通过代码进行详细阐述,希望能为大家提供一定的帮助! ...

  6. 基于Keras的多标签图像分类

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 本篇记录一下自己项目中用到的keras相关的部分.由于本项目既有涉及multi-class(多 ...

  7. 目标检测模型的评价指标(Acc, Precision, Recall, AP, mAP, RoI)

    目标检测模型的评价指标(Acc, Precision, Recall, AP, mAP, RoI) 对于一个目标检测模型的好坏,总的来说可以从以下三个方面来评估: 分类的精度如何.一般可以用准确度(A ...

  8. 【经验分享】TinyMind 多标签图像分类竞赛小试牛刀——by:for the dream

    多标签图像分类竞赛地址:https://www.tinymind.cn/competitions/42?from=blog 队伍:for the dream,其实是大酒神死忠粉~ 初次拿到这个题目,想 ...

  9. 多标签图像分类--HCP: A Flexible CNN Framework for Multi-Label Image Classification

    HCP: A Flexible CNN Framework for Multi-Label Image Classification PAMI 2016 本文提出了一个 CNN 网络 HCP 不需要真 ...

最新文章

  1. 学习mysql触发器遇到的问题
  2. ConcurrentHashMap 和 Hashtable 的区别
  3. 中国区域Modis行列号(附Shapefile文件下载)
  4. Robots.txt 协议详解及使用说明
  5. Servlet实现文件上传
  6. 教学楼电梯调度需求分析
  7. eclipejsp与java跳转_JSP跳转方式与Servlet跳转方式的区别
  8. 阿里云ddns解决动态IP问题
  9. PHP第三方短信接口接入
  10. Windows 0x80190001错误解决
  11. 搜索引擎优化、常用SEO优化方法总结
  12. Vue PC端和移动端的切换
  13. BDC模式与OKCODE、 CALL TRANSACTION用法
  14. uni-app开发的APP项目上线后,登录后自动检测更新,点击下载并安装,可手动检测版本更新,实现扫码下载功能
  15. python语言发展历史
  16. django实现腾讯云短信sdk和redis缓存服务,手机号验证码登录,未注册直接注册登录
  17. 浅谈38K红外发射接受编码(非常好)
  18. 首次实战Vue高仿移动端QQ音乐项目解析
  19. 地理坐标系与投影坐标系的区别以及投影变换与定义投影的区别
  20. 用户与计算机通信的界面是什么意思,GUI是什么意思

热门文章

  1. iOS应用间跳转:从Open in my app聊到Deeplink
  2. 小虎电商浏览器:知虾数据分析软件用处有哪些?
  3. 电视机顶盒哪个牌子好?测评工作室盘点2023网络机顶盒排名
  4. 陌陌还没找到“解药”​
  5. html封套成exe,刺激封套与植入工具的制作方法
  6. 直播app软件开发中的小游戏和直播如何实现兼顾
  7. linux 显卡驱动无法安装程序,我就纳闷了,Linux下Nvidia显卡驱动一直安装失败
  8. 游戏自动化测试-局内战斗
  9. 中国三大运营商相关信息
  10. linux logo持续时间,LINUX 启动logo 总结