将COCO数据集转换为VOC数据集


发布于

|

分类

要开始比较大规模跑数据了。在 VOC 上面已经能各种玩花了,老师说:换成 COCO 试试?

于是就开始苦逼地换数据集……

在改数据接口无果地情况下,只好将 COCO 转换成 VOC 的格式了。

代码思想很简单: 搞个一层的树:

  1. 获取所有Image信息,当作第一层节点
  2. 获取所有BoundingBox信息,当作叶子节点,插入到对应的Image节点中

COCO 的数据格式 组织得很清晰。我们只要拿到图片,然后将 bounding box 与 image 对应起来就好了。之间的纽带是 image id。

于是,凭着 「一切从简」 的原则,有了下面的这些代码:

和其他人的代码比起来,除了不用自己 create xml node 之外,除了更加简洁之外,没啥亮点了。

还有一个小 bug,如果 objects 是空的,那么会导 xml 里面没有 object 节点。试了没修好,自己加个判断吧/逃

参考资料


评论

  1. 有个问题请教您 的头像
    有个问题请教您

    你好,想问一下您是把验证集当做测试集了吗,还有最后让加个判断是什么意思呢

    1. 小金鱼儿 的头像
      小金鱼儿

      对于自己来说:
      – 官方的训练集 = 自己的训练集+自己的验证集
      – 官方的验证集 = 自己的测试集
      – 官方的测试集 = 完全的未知领域,完全不受管控地跑模型

      对于官方来说
      – 给你的训练集 = 有标注的数据
      – 给你的验证集 = 有标注的另一部分数据
      – 给你的测试集 = 给你发的期末考试卷,标准答案只有官方自己知道

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注