Yolov3-Darknet版本计算mAP

2024-02-19 06:38
文章标签 计算 yolov3 版本 map darknet

本文主要是介绍Yolov3-Darknet版本计算mAP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题记:之期训练了YOLOv3模型,详见博文Darknet-Yolov3训练自己的数据,现需要对其评估,计算其mAP值。

一、修改cfg文件

my_yolov3-voc.cfg文件修改成测试模式:

PS:这里看大部分博文都是说打开测试模式,但是我发现训练模式也可以出结果。

二、修改测试集路径:

修改my_voc.data中的valid路径:改成自己要测试路径,具体文件格式见题记中提到的博文,其中有详细介绍。

三、运行detector的valid命令:

1、将以下命令里的文件换成自己的文件即可。

./darknet detector valid myData/my_cfg/my_voc.data myData/my_cfg/my_yolov3-voc.cfg myData/weights-voc/my_yolov3-voc_final.weights -out "" -gpus 0

-out "":这里是输出的文件名前缀,双引号不加内容默认类别名称,可加可不加。

-gpus 0:指定使用第几块卡,但是我自己发现不管换成几号卡,都会用第0号卡,不知道如何解决,求大佬告知。

2、运行结果如下:

最后有运行时间,运行结束后,测试结果默认保存在当前路径下的./results文件夹下,如果没有,新建一个。有几个类别,就产生几个txt文件:

四、计算AP

1、下载faster-rcnn中的voc_eval.py文件,下载地址:https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/datasets/pascal_voc.py

2、新建文件compute_mAP.py,写入代码:

from voc_eval import voc_evalrec, prec, ap = voc_eval('/opt/darknet/results/{}.txt','/opt/darknet/myData/Annotations/{}.xml','/opt/darknet/myData/ImageSets/Main/test.txt','car','.')print('rec', rec)
print('prec', prec)
print('ap', ap)

注意:

1)将上述一些参数修改成自己的路径和文件;

2)在python2的环境下运行,或将代码改成python3的;

3)运行完成后,会在当前路径下生成一个annots.pkl,下次计算如果更换数据集或新的类别,则需要将其删掉,才能正常重新计算。

上述计算的是类别car的AP,输出的结果如下:

若需计算别的类的AP,需将代码中的car改成别的,如bus,然后重新运行compute_mAP.py即可。

五、计算总mAP

上述需要挨个计算每个类别的AP,然后求平均,计算总的mAP,偷懒不想写,发现果然有大佬写了,伸手党太感谢了,大佬博文点这里,参考博文链接。

1、新建文件computer_Single_ALL_mAP.py,写入代码:

from voc_eval import voc_evalimport oscurrent_path = os.getcwd()
results_path = current_path+"/results"
sub_files = os.listdir(results_path)mAP = []for i in range(len(sub_files)):class_name = sub_files[i].split(".txt")[0]rec, prec, ap = voc_eval('/opt/darknet/results/{}.txt','/opt/darknet/myData/Annotations/{}.xml','/opt/darknet/myData/ImageSets/Main/test.txt'',class_name,'.')print("{} :\t {} ".format(class_name, ap))mAP.append(ap)mAP = tuple(mAP)print("***************************")
print("mAP :\t {}".format(float(sum(mAP)/len(mAP))))

2、运行结果如下:

六、参考博文:

YOLOv3 mAP计算教程

后记:pytorch-YOLOv4的计算以及V3和V4的coco指标计算,后续再更新,写博文真的需要很大动力啊,加油!

 

这篇关于Yolov3-Darknet版本计算mAP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723808

相关文章

计算绕原点旋转某角度后的点的坐标

问题: A点(x, y)按顺时针旋转 theta 角度后点的坐标为A1点(x1,y1)  ,求x1 y1坐标用(x,y)和 theta 来表示 方法一: 设 OA 向量和x轴的角度为 alpha , 那么顺时针转过 theta后 ,OA1 向量和x轴的角度为 (alpha - theta) 。 使用圆的参数方程来表示点坐标。A的坐标可以表示为: \[\left\{ {\begin{ar

ONLYOFFICE 8.1 版本桌面编辑器测评

在现代办公环境中,办公软件的重要性不言而喻。从文档处理到电子表格分析,再到演示文稿制作,强大且高效的办公软件工具能够极大提升工作效率。ONLYOFFICE 作为一个功能全面且开源的办公软件套件,一直以来都受到广大用户的关注与喜爱。而其最新发布的 ONLYOFFICE 8.1 版本桌面编辑器,更是带来了诸多改进和新特性。本文将详细评测 ONLYOFFICE 8.1 版本桌面编辑器,探讨其在功能、用户

17.用300行代码手写初体验Spring V1.0版本

1.1.课程目标 1、了解看源码最有效的方式,先猜测后验证,不要一开始就去调试代码。 2、浓缩就是精华,用 300行最简洁的代码 提炼Spring的基本设计思想。 3、掌握Spring框架的基本脉络。 1.2.内容定位 1、 具有1年以上的SpringMVC使用经验。 2、 希望深入了解Spring源码的人群,对 Spring有一个整体的宏观感受。 3、 全程手写实现SpringM

Visual Studio中,MSBUild版本问题

假如项目规定了MSBUild版本,那么在安装完Visual Studio后,假如带的MSBUild版本与项目要求的版本不符合要求,那么可以把需要的MSBUild添加到系统中,然后即可使用。步骤如下:            假如项目需要使用V12的MSBUild,而安装的Visual Studio带的MSBUild版本为V14。 ①到MSDN下载V12 MSBUild包,把V12包解压到目录(

yolov3 上生产

1、在生产环境上编译darknet,执行make命令就好哦。  通过以后,拿到libdarknet.so 2、改一改../python/darknet.py文件 3、把darknet里的四个模型文件地址改一改就可以了     后面我会写一篇详细的,今天我要回家了

【云计算 复习】第1节 云计算概述和 GFS + chunk

一、云计算概述 1.云计算的商业模式 (1)软件即服务(SaaS) 有些景区给游客提供烧烤场地,游客需要自己挖坑或者砌烧烤台,然后买肉、串串、烧烤。 (2)平台即服务(PaaS) 有些景区给游客提供烧烤场地,同时搭建好烧烤台,游客只需要自己带食材和调料、串串、烧烤。 (3)基础设施即服务(IaaS) 有些景区给游客提供烧烤场地,同时搭建好烧烤台,还有专门的厨师来烧烤,用户不需要关心前面的所有

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手

下载Xcode的历史版本

1.打开链接:https://developer.apple.com/download/more 进入页面 2.在搜索框输入Xcode,回车搜索.如图,找到各种版本Xcode 搜索Xcode 3.双击要下载的Xcode,或者点击前面的+,打开详细.点击下载 下载Xcode 4.接下来就耐心等待下载吧!

Win10用户必看:最好用最稳定的版本在此,值得一试!

在Win10电脑操作中,用户可以根据的需要,下载安装不同的系统版本。现在,许多用户好奇Win10哪个版本最好用最稳定?接下来小编给大家推荐最好用最稳定的Win10版本,这些系统版本经过优化升级,相信会给大家带来最棒的操作体验感,且下载安装步骤非常简单。   推荐一:Windows10 22H2 X64 官方正式版   点击下载:https://www.xitongzhijia.net/wi

最新版本的MySQL的下载和安装(Release: 8.0.12)

1.打开百度搜索【Myql】,或直达官网https://dev.mysql.com/ 2.点选【Download按钮】,跳转到下载页面,拉到底部再点选【Community Download】社区版[免费版]