本文主要通过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为:</
本文深入解析了在nanodet中使用pytorch lightning进行box mAP计算的过程,从evaluate()、accumulate()到summarize(),详细阐述了COCOeval在计算精度、召回率以及mAP时的步骤,包括预测结果的处理、box坐标转换、匹配判断、precision和recall的计算,以及最终mAP的汇总。
订阅专栏 解锁全文
885

被折叠的 条评论
为什么被折叠?



