问题
PaddleDetection(ppdet)自带一个能将labelme标注的数据集转为coco格式的脚本,还能设置比例分配train、val和test数据集的比例。当前使用的ppdet版本为ver. 0.4。
转换方法
1. clone ppdet进入根目录
git clone https://github.com/PaddlePaddle/PaddleDetection.git
2. 执行转换脚本
python tools/x2coco.py \
--dataset_type labelme \
--json_input_dir ./labelme_annos/ \
--image_input_dir ./labelme_imgs/ \
--output_dir ./cocome/ \
--train_proportion 0.8 \
--val_proportion 0.2 \
--test_proportion 0.0
如果只是想要合并所有训练集可以这样写
python tools/x2coco.py --dataset_type labelme --json_input_dir E:\BaiduNetdiskDownload\coco-airs\label --image_input_dir E:\BaiduNetdiskDownload\coco-airs\image --output_dir E:\BaiduNetdiskDownload\coco-airs\dataset --train_proportion 1.0 --val_proportion 0.0 --test_proportion 0.0
参数 | 描述 |
---|---|
dataset_type | 需要转换的数据格式,目前支持:’voc‘、’labelme‘和’cityscape‘ |
json_input_dir | 使用labelme标注的json文件所在文件夹 |
image_input_dir | 图像文件所在文件夹 |
output_dir | 转换后的COCO格式数据集存放位置 |
train_proportion | 标注数据中用于train的比例 |
val_proportion | 标注数据中用于validation的比例 |
test_proportion | 标注数据中用于infer的比例 |
分类可在categories修改。
{
"images":[...],
"categories": [
{"supercategory": "component","id": 1,"name": "mouth"},
{"supercategory": "component","id": 2,"name": "teeth"},
{"supercategory": "component","id": 3,"name": "tongue"},
{"supercategory": "component","id": 4,"name": "oropharynx"},
{"supercategory": "component","id": 5,"name": "uvula"},
]
}
预测效果