要开始比较大规模跑数据了。在 VOC 上面已经能各种玩花了,老师说:换成 COCO 试试?
于是就开始苦逼地换数据集……
在改数据接口无果地情况下,只好将 COCO 转换成 VOC 的格式了。
代码思想很简单: 搞个一层的树:
- 获取所有Image信息,当作第一层节点
- 获取所有BoundingBox信息,当作叶子节点,插入到对应的Image节点中
COCO 的数据格式 组织得很清晰。我们只要拿到图片,然后将 bounding box 与 image 对应起来就好了。之间的纽带是 image id。
于是,凭着 「一切从简」 的原则,有了下面的这些代码:
和其他人的代码比起来,除了不用自己 create xml node 之外,除了更加简洁之外,没啥亮点了。
还有一个小 bug,如果 objects 是空的,那么会导 xml 里面没有 object 节点。试了没修好,自己加个判断吧/逃
发表回复