计算机视觉中的目标检测度量
detmetric的Python项目详细描述
徐静
简介
这个项目的动机是不同的工作和实现对目标检测问题的评估指标缺乏共识。虽然在线比赛使用他们自己的指标来评估目标检测的任务,但只有一些比赛提供参考代码片段来计算被检测对象的准确性。在
想要使用不同于竞争对手提供的数据集来评估他们的工作的研究人员,需要实现他们自己的标准版本。有时,错误或不同的实现可能会产生不同和有偏见的结果。理想情况下,为了在不同的方法之间进行可信的基准测试,必须有一个灵活的实现,每个人都可以使用这个实现,而不管使用的数据集是什么。在
此项目提供了易于使用的函数,实现了最流行的对象检测竞争对手使用的相同指标。我们的实现不需要将检测模型修改为复杂的输入格式,避免了转换为XML或JSON文件。我们简化了输入数据(地面真实边界框和检测边界框),并在单个项目中收集了学术界和挑战使用的主要指标。我们的实现与官方实现进行了仔细的比较,结果完全相同。在
在下面的主题中,您可以找到在不同竞赛和作品中使用的最流行的度量标准的概述,以及展示如何使用我们的代码的示例。在
此软件包支持:
- PASCAL VOC挑战指标(P-R曲线,mAP)
- COCO检测挑战(P-R曲线,AP)
- 精密度
- 召回
- F分数
- 置信区间与方差
更多细节可以在演示中找到。在
演示
#---------------------test detcivar module----------------------- from detcivar import DetStatic precision = [0.1, 0.2, 0.3, 0.4, 0.5] # test mean p_mean = DetStatic().mu(precision) print(p_mean) real_mean = sum(precision) / len(precision) print(real_mean) # test variance p_var = DetStatic().variance(precision) print(p_var) real_var = float((0.1-real_mean)**2 + (0.2-real_mean)**2 + (0.3-real_mean)**2 + (0.4-real_mean)**2 + (0.5-real_mean)**2) / (len(precision)-1) print(real_var) # test confidence ci = DetStatic().detcivar(precision,level=0.95) import pprint pprint.pprint(ci) # real # N(0,1) 0.025 quntile like equel -1.9599639845400545 import numpy as np lower = 0.3 - np.sqrt(0.025) / np.sqrt(5) * 1.9599639845400545 upper = 0.3 + np.sqrt(0.025) / np.sqrt(5) * 1.9599639845400545 print(lower) print(upper) # test done!!! # 0.3 # 0.3 # 0.025 # 0.025 # {'CI': [0.16141, 0.43859], 'Var': 0.025} # 0.16140961756503217 # 0.43859038243496784^{pr2}$
支持
在Python3.x上测试
托多
目标探测器的热图。像
参考文献
多亏了开源社区,我们参考了许多开源项目来实现我们的部分代码!
- 项目
标签: