Lazy loaded image
🔎COCO格式数据集合并脚本
字数 1045阅读时长 3 分钟
2025-3-5
2025-3-6
password
comment
type
status
date
slug
summary
tags
category
icon
AI custom autofill
👆代码地址
博主在跑实验时突然发现一个问题,虽然COCO格式数据使用得非常广泛,但在需要使用多数据集一同训练/测试时,现有的框架(部分框架包含多数据集合并功能,但封装较为隐蔽,且对于初级用户不太友好,难以debug)通常难以下手。(此处的多数据集指的是不同类别集合下的数据集,而非COCO中的train与val合并)
因此下面贴上我自己写的一份COCO数据集合并脚本
整体设计思路:
给出图片文件夹路径,json文件路径
脚本能够将多个json合并(包含id、image_id、category_id等排序词的重排列),同时将对应图片复制到用户提供的输出图片文件夹下。
在合并json后,脚本会额外输出一个合并后数据集下category的字典列表,用于方便用户整合数据集信息。
解释一下上文提到的“方便用户整合数据集信息”
以我个人为例: 假设我有两份数据集A与B,数据集中category各不相同 我的实验需求:使用A+B数据集训练模型,但最终仅使用A的测试集测试效果 我的操作步骤:
  • 将A对应数据集各路径置于列表的第一位,B相关路径置于第二位。
  • 合并训练集后,将A对应test数据也放置于相同位置处,再运行一遍脚本(此时的核心目的实际上是将A中segmentation对应的category重新映射到新数据集的序号上去)
  • 最终,将第一次合并后输出的category的字典列表,替换到test数据集中的categories键中,即完成train与test数据的分别整合。
 
上一篇
QMath 功能增强
下一篇
python调试配置-template

评论
Loading...