如何将VOC XML文件转化成COCO数据格式

数据转换实在是个烦人的工作,被折磨了很久决定抽出时间整理一下,仅供参考。

在一个项目中,我需要将已有的VOC的xml标注文件转化成COCO的数据格式,为了方便理解,文章按如下顺序介绍:

XML文件内容长什么样
COCO的数据格式长什么样
XML如何转化成COCO格式
VOC XML长什么样?
下面我只把重要信息题练出来,如下所示:

文件夹目录 图片名.jpg path_to\at002eg001.jpg Unknown 550 518 3 0 Apple Unspecified 0 0 292 218 410 331 ... 可以看到一个xml文件包含如下信息:

folder: 文件夹
filename:文件名
path:路径
source:我项目里没有用到
size:图片大小
segmented:图像分割会用到,本文仅以目标检测(bounding box为例进行介绍)
object:一个xml文件可以有多个object,每个object表示一个box,每个box有如下信息组成:
name:改box框出来的object属于哪一类,例如Apple
bndbox:给出左上角和右下角的坐标
truncated:略
difficult:略

COCO长什么样?

COCO目录啥样?

不同于VOC,一张图片对应一个xml文件,coco是直接将所有图片以及对应的box信息写在了一个json文件里。通常整个coco目录长这样:
python coco |______annotations # 存放标注信息 | |__train.json | |__val.json | |__test.json |______trainset # 存放训练集图像 |______valset # 存放验证集图像 |______testset # 存放测试集图像

COCO的json文件啥样?

一个标准的json文件包含如下信息:

{
“info”: info,
“images”: [image],
“annotations”: [annotation],
“licenses”: [license],
}

info{
“year”: int,
“version”: str,
“description”: str,
“contributor”: str,
“url”: str,
“date_created”: datetime,
}
image{
“id”: int,
“width”: int,
“height”: int,
“file_name”: str,
“license”: int,
“flickr_url”: str,
“coco_url”: str,
“date_captured”: datetime,
}
license{
“id”: int,
“name”:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值