cocoeval计算COCO数据集box mAP源码解析(nandet test部分)
Posted 蓝羽飞鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocoeval计算COCO数据集box mAP源码解析(nandet test部分)相关的知识,希望对你有一定的参考价值。
本文主要通过nanodet的例子,解读cocoeval的box mAP计算过程。
计算过程主要用了COCOeval的3个函数,
evaluate(): 对每张图片,每个类别用不同IOU阈值得到和gt box的match
accumulate(): 计算precision, recall, 平滑precision-recall曲线
summarize(): 计算mAP, mAR
mAP计算原理见IOU,precision, recall, mAP详解
下面会以nanodet的test部分为切入点详细解析这些函数的计算过程。
test部分主要对模型的预测结果做evaluation.
evaluation的标准为box mAP。
nanodet用的是pytorch lightning框架,很多都是pytorch_lightning内部的调用,这个mAP到底是在哪里计算的。
下面会一步一步看。
从nanodet/tools/test.py
开始,不看的地方用…代替。
代码中我们看到args中需要指定config文件,于是指定为config/nanodet-plus-n_416.yml
在这个config文件的data部分,只有train和val,并没有test,
你可以添加test数据,
这里没有添加,指定task参数为"val".
所以parameter为:
--task
计算机视觉COCO Caption数据集简单介绍
最近在做开放域目标检测时候,经常遇到一个数据集—COCO Caption数据集。
这里就来介绍一下数据集。
COCO Caption数据集:
Microsoft COCO Caption数据集的推出,是建立在Microsoft Common Objects in COntext (COCO)数据集的工作基础上的。
在论文《Microsoft COCO Captions: Data Collection and Evaluation Server》中,作者们详细介绍了他们基于MS COCO数据集构建MS COCO Caption数据集的工作。
简要地来说,就是对于原COCO数据集中约330,000张图像,使用亚马逊公司的Mechanical Turk服务,人工地为每张图像都生成了至少5句标注,标注语句总共超过了约150万句。至于亚马逊的“土耳其机器人”服务,其实也就是另一种形式的雇人拿钱干活而已。
实际上,COCO Caption数据集包含了两个数据集:
- 第一个数据集是MS COCO c5。它包含的训练集、验证集合测试集图像和原始的MS COCO数据库是一致的,只不过每个图像都带有5个人工生成的标注语句;
- 第二个数据集是MS COCO c40。它只包含5000张图片,而且这些图像是从MS COCO数据集的测试集中随机选出的。和c5不同的是,它的每张图像都有用40个人工生成的标注语句。
之所以要做MS COCO c40数据集,是因为如果有更多的参考标注语句,很多对于算法生成的标注的自动计算标准能够和人类判断有更高的相关性。下一步可能将MS COCO验证集中所有的图像都加上40个人工生成的标注语句。
总结:
简言之,MS COCO Caption数据集就是针对图像标注问题创建的,图像及其标注数量大,提供了现成的评价标准计算服务器和代码。就目前发表的高水平论文来看,MS COCO Caption数据集已经越来越成为研究者的首选。
以上是关于cocoeval计算COCO数据集box mAP源码解析(nandet test部分)的主要内容,如果未能解决你的问题,请参考以下文章