FAIR的detectron平台官方demo是基于MSCOCO数据集训练的,小白从faster rcnn一路走来,用的都是voc2007数据集格式,呕心沥血标注了voc2007格式的自建数据集,不能用了?不可以!
我没找到detectron官方给出的voc转coco代码,幸好MCOCO有官方的cocoapi,支持多种数据集转coco格式,伸手党福利。小白关注的是目标识别,按照本文的方法keypoint和segmention都会一并转换成json格式,但是我只测试了目标识别功能。
1. 将voc数据集标签转换为json格式
从github下载
cocoapi
matlab新建脚本文件,输入以下代码,并将cocoapi下MatlabAPI添加到路径。
首先编译下gason解析器,然后调用matlab CocoUtils类中的convertPascalGt function转换VOC数据集标签为coco数据集:
mex('CXXFLAGS=\$CXXFLAGS -std=c++11 -Wall','-largeArrayDims',...
'private/gasonMex.cpp','../common/gason.cpp',...
'-I../common/','-outdir','private');
CocoUtils.convertPascalGt( 'D:/datasets', '2007', 'trainval', 'D:/datasets/pa