MMdetection 绘制PR曲线图【3.X版本】

解决方案直达

说重点官方文档-实用工具-误差分析的内容,实际上可视化的结果就已经包含了每个类别的PR曲线图。只是没有直说,下面详细介绍官方PR曲线图的出图过程。

1. 背景

MMdetection2.X版本绘制PR曲线的程序,网上常可搜到eval_pr_curve.py程序。但由于3.0以上版本已经移除了mmdet.datasets中的builder.py,导致无法载入build_datasets,整个程序修改变得困难。当然,可以选择装2.X版本,没试过,应该能解决。

2. 先生成test.bbox.json文件

 打开以下路径的程序,找到末尾注释掉的format_only和outfile_prefix两个键值,如下图。

configs/_base_/datasets/coco_detection.py

将其重写到配置文件中的test_evaluator字典里,如下图。(自己的训练配置文件如何继承可以看官方文档,不建议在coco_detection.py等原配置文件上直接修改。)

在终端运行以下指令,将会在./work_dirs/coco_detection里生成test.bbox.json文件。注:我把训练生成的配置文件复制并修改后放在了work_dirs文件夹下,最佳权重放在了新建的checkpoints文件夹下,请对应修改。

python tools/test.py work_dirs/copy_lcq.py checkpoints/epoch25.pth --show-dir output

3. 生成PR曲线图及其他一些误差可视化图

在得到bbox的json格式文件后,运行如下指令。注:在mmdetection文件夹下新建results文件夹,用于存放生成的图片;--ann=后需要对应修改自己的测试集的标注文件路径。

python tools/analysis_tools/coco_error_analysis.py work_dirs/coco_detection/test.bbox.json results --ann=data/coco/annotations/test2017.json

生成的某个类别的PR曲线如下:

4. 后续

如何针对生成的PR曲线图进行修改(比如去除不想要的,引入同一类别的对比曲线), 需研究coco_error_analysis.py代码。欢迎大家一起分享修改心得。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值