yolov5格式数据集转coco数据集

447 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天

在学习使用paddle的过程中,经过前期官方教程的实践,虽然能够训练部署模型,但依赖的大多是coco,voc等官方数据集,在实际落地中难免需要根据场景使用特定标注的数据集。这里将之前用于yolov5训练的数据集(original)转化为coco格式数据集(cocoformat),以在paddle中作训练测试。

  • original数据集
├─oldredo
└─ruifeng
    ├─1
    │  ├─211116-09-new
                       |——xxx.jpg
                       |——xxx.txt
    │  ├─211116-12-new
    │  ├─211116-13-new
    │  ├─211116-15-new
    │  ├─211116-16-new
    │  ├─211117-07-new
    │  └─211117-08-new
    ├─2
    │  ├─1
    │  │  ├─211221-08-new
    │  │  ├─211221-09-new
    │  │  ├─211221-10-new
    │  │  ├─211221-11-new
    │  │  ├─211221-12-new
    │  │  ├─211221-13-new
    │  │  ├─211221-14-new
    │  │  ├─211221-15-new
    │  │  ├─211221-16-new
    │  │  └─211221-17-new
    │  └─2
    │      └─211221-08-new
    └─211219
        ├─211219-06-new
        ├─211219-07-new
        ├─211219-08-new
        ├─211219-09-new
        ├─211219-10-new
        ├─211220-07-new
        └─211220-08-new

其中txt文件内容格式为:

类别id x_center y_center width height

其中坐标信息已经经过归一化了。

  • cocoformat数据集
├── annotations
        |——train.json
        |——val.json
├── train2017
└── val2017

其中json文件内容格式为coco格式:

{
    "info":info,                
    "images":[image],           
    "annotations":[annotation],  
    "categories":[category],    
    "licenses":[license],       
}

详情参考coco数据集结构。 coco官方的数据集包括了目标检测,实例分割,看图说话,关键点检测等任务的标注信息,这里只转换目标检测标注信息即可。

代码明天发。