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

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

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

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

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

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

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

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

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

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

参考资料

发表评论

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