1 、运行darknet官方代码中的detector valid指令,生成对测试集的检测结果。
.\darknet detector valid <voc.data文件路径> <cfg文件路径> <weights文件路径> -out “”

其中voc.data和cfg文件就是你当时训练用的配置文件,weights文件就是你训练出来的结果,其中需要修改的是voc.data文件,其中应该是有五行的,其中第三行是valid就是需要验证测试集的路径。
2、执行完之后应该会在程序的当前目录生成一个results文件夹,里面存有检测结果,文件名为comp4_det_test_<你检测的类名>.txt,画风如下所示。
yolov3 map、recall、p-r曲线可视化超详细
txt中数据格式为: 文件名 置信度 x y w h。
3、下载检测用脚本文件 reval_voc_py.py和voc_eval_py.py
https://download.csdn.net/download/qq_33350808/10731748
这个老哥提供的,需要积分哦,如果没积分可以联系我,我给你们发。[email protected]。记得点赞,感谢。

4、 使用reval_voc_py.py计算出mAP值并且生成pkl文件,命令行如下(这是我自己的命令行你们根据自己的修改即可):
python reval_voc_py3.py --voc_dir /extdisk/yolov3new/darknet/scripts/VOCdevkit --year 2019 --image_set test --classes /extdisk/yolov3new/darknet/data/voc.names /extdisk/yolov3new/darknet/visualization/mapout
5、用matplotlib绘制PR曲线
在得到pkl文件目录里直接创建一个python文件,比如PR_draw.py,内容如下,记得把第三行里的参数修改一下。

import _pickle as cPickle
import matplotlib.pyplot as plt
fr = open(‘apple_pr.pkl’,‘rb’)#这里open中第一个参数需要修改成自己生产的pkl文件
inf = cPickle.load(fr)
fr.close()

x=inf[‘rec’]
y=inf[‘prec’]
plt.figure()
plt.xlabel(‘recall’)
plt.ylabel(‘precision’)
plt.title(‘PR cruve’)
plt.plot(x,y)
plt.show()

print(‘AP:’,inf[‘ap’])

###然后运行python PR_draw.py,就会生成想要的东东哦!

yolov3 map、recall、p-r曲线可视化超详细
部分参考https://blog.csdn.net/qq_33350808/article/details/83178002,感谢。

相关文章:

  • 2021-12-11
  • 2022-12-23
  • 2022-02-03
  • 2022-01-06
  • 2021-11-27
  • 2021-04-27
  • 2021-12-25
猜你喜欢
  • 2021-08-06
  • 2021-10-31
  • 2021-04-12
  • 2022-12-23
  • 2021-08-04
  • 2021-04-24
相关资源
相似解决方案