YOLOV3实战5:利用三方工具绘制P-R曲线

大家好,我是小p,这篇文章主要给大家介绍一下如何利用第三方脚本绘制P-R曲线。
对“对象检测”感兴趣的小伙伴,欢迎加入对象检测群813221712讨论和交流,进群请看群公告!
说明: 本教程是基于KITTI的评价矩阵标准进行的,会绘制3条曲线,分别是Easy,如示例图:
在这里插入图片描述
Moderate和Hard级别,检测结果也需要按照KITTI的标准进行调整,废话少说,开始正题!
一、下载脚本
脚本链接:https://github.com/MarvinTeichmann/KittiBox
二、脚本文件说明
进入根目录,依次进入/submodules/KittiObjective2/
此时目录下一共6个对象:
1、val_gt文件夹保存样本的标签文档,打开 000000.txt 举例说明其组织格式:
Pedestrian 0.00 1 0.30 883.68 144.15 937.35 259.01 1.90 0.42 1.04 5.06 1.43 12.42 0.68
Pedestrian 0.00 2 0.29 873.70 152.10 933.44 256.07 1.87 0.50 0.90 5.42 1.50 13.43 0.67
Car 0.00 0 1.74 444.29 171.04 504.95 225.82 1.86 1.57 3.83 -4.95 1.83 26.64 1.55
Pedestrian 0.00 0 -0.39 649.28 168.10 664.61 206.40 1.78 0.53 0.95 2.20 1.57 34.08 -0.33
Car 0.98 0 2.42 0.00 217.12 85.92 374.00 1.50 1.46 3.70 -5.12 1.85 4.13 1.56
Pedestrian 0.00 0 2.02 240.35 190.31 268.02 261.61 1.54 0.57 0.41 -7.92 1.94 15.95 1.57
DontCare -1 -1 -10 0.00 226.06 88.58 373.00 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 567.39 173.95 574.86 190.60 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 727.58 165.75 737.08 192.75 -1 -1 -1 -1000 -1000 -1000
这是KITTI数据的注释标准,第一列表示类别,4-7列分别表示矩形框的左上、右下的坐标,其他值可自行查阅
2、val_pred文件夹保存样本的预测结果,注意每张图片的预测结果文档以.txt形式保存,文件名和val_gt中的
要对应上,一张图片的检测结果写在一个txt中,一个矩形框写一行,打开 000011.txt 说明:
Car 0 1 0 442.462500 173.177083 507.150000 225.260417 0 0 0 0 0 0 0 0.995087
Car 0 1 0 1.293750 189.453125 97.031250 375.651042 0 0 0 0 0 0 0 0.983480
第一列代表类别,2-4列可以随意填写,5-8列为矩形框信息,同上,9-15列可以任意填写,最后一列为检测框
的置信率,即是包含物体的可能性,注意,检测结果的每一行比标签的每一行要多一列
3、makefile 进行make生成工具
4、evaluate_object.cpp 绘图的脚本cpp
三、安装必要环境,测试脚本
在/submodules/KittiObjective2/目录下,执行命令,make clean,然后make,通常情况下会提示安装
“GNUPLOT”工具,这个安装很简单,一条命令搞定:sudo apt-get install gnuplo
随后运行命令/evaluate_object2 val_pred val_gt看有无错误,基本不会出错!
四、准备数据的注意点
1、标签文件放入val_gt文件夹
2、检测结果放入val_pred文件夹
3、文件格式一定按照要求写
4、文件命名修改:必须是6位的数字,如:000000.txt和000001.txt,且标签和检测结果相对应,要改文件名也很
简单,可以自行写个小脚本处理,参照原先文件下下面的标准,依葫芦画瓢!
五、绘制曲线
首先更改evaluate_object.cpp中的
const int32_t N_MAXIMAGES = 7518;
const int32_t N_TESTIMAGES = 481;
其数值表示你此次样本的数量,自行修改
然后make,运行命令:run evaluate_object2 /path/to/prediction /path/to/gt
生成的曲线便在你检测结果的文件夹的子文件夹/plot/中
六、加群交流
码字不易,少侠且行且珍惜!

猜你喜欢

转载自blog.csdn.net/phinoo/article/details/83025690