centernet算法是调用cocoeval.py输出的mAP,怎么计算输出precision和recall结果呢?
关于计算 CenterNet 算法的 precision 和 recall 结果,我查阅了一些互联网资源,发现主要的评价指标是 mAP(median average precision),而关于 precision 和 recall 结果的计算似乎没有特别详细的说明。
不过,我们可以基于 mAP 的计算方法和代码来推导出 precision 和 recall 的计算方法:
我们知道,mAP 可以通过计算 Precision-Recall 曲线下的面积来得到。
而 Precision-Recall 曲线上任意一点的 Precision 和 Recall 值可以通过在所有测试样本上比较检测结果和真实标注的匹配情况得到。
具体地,我们可以定义一个阈值 th,在所有测试样本上计算其 Precision 和 Recall 值,使得只对置信度(confidence) 大于 th 的检测结果计算 Precision 和 Recall 值。
然后我们不断地调整阈值 th,获取不同的 Precision 和 Recall 值,并记录这些值用于绘制 Precision-Recall 曲线。
最后,我们通过对 Precision-Recall 曲线下的面积进行积分,得到 mAP 的值。
因此,我们可以借鉴上述思路,计算出某个置信度阈值下的所有检测结果的 Precision 和 Recall 值,从而得到 Precision-Recall 曲线。
然后,我们可以通过在 Precision-Recall 曲线上取任意一点来获取相应的 Precision 和 Recall 值。
总的来说,Precision 和 Recall 这两个指标是描述分类问题的性能指标,而在目标检测中,这两个指标通常用于描述检测结果的质量。
在 CenterNet 算法中,mAP 是主要的评价指标,而 Precision 和 Recall 通常被用来帮助解释模型性能背后的因素。