coco eval 解析
COCO目标检测比赛中的模型评价指标介绍!
基础的用法为
cocoGt, cocoDt 应该是什么格式?如果是COCO 格式,注意需要增加 score 值。(how?)
根据传入的初始化参数做一些前置化的处理
根据image_id和cat_id计算这张图片里 cat_id 的所有GT、DT的iou矩阵,主要用于bbox和segmentation;
这里就是涉及到单张图片的单个类别的计算。
根据image_id和cat_id计算这张图片里所有GT、DT的Oks矩阵,也就是Sec 1.2.里OKS的计算源码出处。这里OKS矩阵的维度是
OKS 矩阵是什么?
所以是只有是 keypoints 的检测,才使用这个函数?
perform evaluation for single category and image.
对单张图片的单个类别做统计。
maxDets 每张图片的最大检测数
useCats 指定类别评估
cocoGt, cocoDt 都是 COCO API 数据
precision(T,R,K,A,M) recall(T,K,A,M)。
TKAM 分别是代表什么?什么意思?
cocoEval.evaluate() 只是每幅图的det和gt做了匹配,并将结果存在了self.evalImgs中。计算tp等指标需要cocoEval.accumulate()。
针对上述accumulate获得的precision、recall矩阵,在不同的维度上进行统计,然后再呈现结果。
函数内部会根据传入的具体的IoU阈值,面积阈值,最大检测数的值返回上述precision和recall中对应维的检测结果,我们就也可以自定义形式返回我们想要的各种参数下的AP与AR啦。
coco api 的 loadRes 怎么理解?
COCO API-COCO模块在det中的应用
Accumulate per image evaluation results and store the result in self.eval
accumulate 部分是否可以区分图片?
结果部分保存在 self.eval 中。
mmdet/evaluation/metrics/coco_metric.py
result2json 将结果格式化为coco格式。
/home/my_mmdet/demo/inference_demo.ipynb 已经给出了不同场景下的推理
确认 mmdet 预测的结果格式?
然后保留一份 json 作为 cocoeval 实验的example.
mmdet 中的 cocometric, 更像是一个过程评估器。
需要不断通过process的方式处理gt和pred?
先 process, 再 compute_metric?
模型在处理的过程中,会生成带有 metainfo,img_id 的预测结果。但是在自己调用 detinferencer 的时候却不会生成?为何?
gt 也是在process 这个函数中的 data_batch 中加入的,额,不是,是在 datasamples 中返回的。
这两个接口是否可以帮助不通过json构造coco?
将结果转换为 loadNumpyAnnotations 输入格式、
list:
ann 一定要求包括以下几个 key, score 以及别的key看你心情加?
- image_id
- segmentation
- bbox
self.datasets
datasets 是个什么?
mmdet 返回的mask, 和我们输入的格式不同,一种是 polygon,还有一种?rle?
import pycocotools._mask as _mask
然后这个 mask 的解析, coco metrics 里已经给了一个案例了。
做了一个 annotation 出来而已。
下一步是写出来,然后是继续到最后,detect完整个逻辑(3小时?)
其实有一个比较诡异的问题,边界case 是如何处理的?比如gt为0?dt为0?
直接算两者的面积交集/并集
按 conf 排序第一个满足 iou 阈值的要求的框?
yolo 中 match 的逻辑好像是 conf 满足阈值后,确认其预测的类,取 iou 最大的框。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.bhha.com.cn/news/1584.html