在MSCOCO的test-dev数据集上测试过程(如何在MSCOCO服务器上提交测试结果)

tech2024-11-05  21

前言

如果科研工作做的是MSCOCO数据集,有实验效果了,一般都需要在test-dev数据集上进行测试,这样才能说明问题(val有标注数据,万一有人投机取巧在val验证集上效果贼高,然后就说明他的是SOTA,这显然是说服不了的)。最近在搞论文的时候,才发现自己跑的SOTA实验都是在val验证集上跑的,所以后面就改在test-dev上跑了。

如何在MSCOCO服务器上提交自己的测试结果呢???以test-dev2017为例,我来手把手走一遍,做个记录。

MS COCO数据集输出数据的结果格式(result format)和如何参加比赛(participate)

step1 下载数据集test-dev和标注文件

官网下载页面下载下面的两个文件 上传到自己的服务器上,解压缩,然后进行测试

step2 修改配置文件

在配置文件的test dict中,修改图片的路径和标注文件的路径,比如下图我的配置文件修改的例子。官网下下来的标注文件有两个,一个是 image_info_test-dev2017.json另一个是image_info_test2017.json,选择前一个标注文件。 这个标注文件里面并没有标注框,只是test图片的一些信息,比如宽高啊,id啊等。

step3 测试

旧版mmdetection 1.0的(看一下test.py文件,如果里面有json_out参数,就用下面的命令进行测试),以retinanet为例

python tools/test.py configs/retinanet_r101_fpn_1x.py work_dirs/retinanet_r101_fpn_1x/epoch_12.pth --json_out retinanet_r101.json

如果是新版的mmdetection 2.+,就用下面的命令(看一下test.py文件,如果里面没有json_out参数,就说明被替代了,用下面的命令进行测试)

python tools/test.py configs/retinanet_r101_fpn_1x.py work_dirs/retinanet_r101_fpn_1x/epoch_12.pth --format-only --options "jsonfile_prefix=./retinanet_r101_results"
最新回复(0)