VOC、COCO、YOLOv3 的 .json .xml .txt 标签文件内容,格式转换

YOLO 专栏收录该内容
18 篇文章 0 订阅

VOC、COCO、YOLOv3 的 .json .xml .txt 标签文件内容,格式转换

0. 关于数据集介绍的推荐链接:

  1. 目标检测数据集PASCAL VOC简介: https://arleyzhang.github.io/articles/1dc20586/

1. 数据集中标签文件的内容

1.1. Tinghua100K 的数据集格式(.json)

  1. .json 格式

1.2. VOC的数据集格式(.xml)

  1. .xml 格式
  2. 部分内容截图如下:
    在这里插入图片描述

1.3. COCO数据集的格式(.json)

  1. .json 格式

1.3. YOLO需要的数据集格式(.txt)

  1. .txt 格式
  2. 部分内容截图如下:
    在这里插入图片描述
    训练yolo时,需要yolo 自己的数据格式,可以通过代码将 VOC的 xml文件格式的数据集直接转成yolo数据集的格式。

2. 数据集的下载和文件结构

2.1. VOC数据集(标签是 .xml格式)

1. VOC数据集的下载方法:

wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-2012.tar
tar xf VOCtrainval_06-Nov-2007.tar
tar xf VOCtest_06-Nov-2007.tar

2. VOC数据集的文件结构:

Annotations  # 这个文件夹存放了所有图片的检测标签
    000001.xml  # 存放 000001.jpg 图片中所有目标的标签
    ....
    009963.xml
ImageSets   
    Layout  #  将数据集分成 4 部分
        test.txt
            000002
            000003
            ......
        train.txt
        trainval.txt
        val.txt
    Main  # 统计每个类别的物体在哪些图片上出现过(只需要检测部分目标物体时就需要这个文件夹中的信息,用于筛选图片)
        aeroplane_test.txt
            000001 -1
            000002 -1
            000003 -1
            ......
        aeroplane_train.txt
    Segmentation
        test.txt
            000068
            000175
            ......
        train.txt
        trainval.txt
        val.txt
    
JPEGImages  #  存放所有图片
    000001.jpg
    ......
    009963.jpg
SegmentationClass  # 存放分割标签
    000032.png  # 分割任务的标签是图片
    .....
    009950.png
SegmentationObject  # 分割标签
    000032.png
    ......
    009950.png

3. VOC数据集的标签格式:

1. VOC 中的一张图片 VOC2007\JPEGImages\000001.jpg:

在这里插入图片描述

2. VOC 中的一个检测标签文件 VOC2007\Annotations\000001.xml:
<annotation>
	<folder>VOC2007</folder>
	<filename>000001.jpg</filename>
	<source>
		<database>The VOC2007 Database</database>
		<annotation>PASCAL VOC2007</annotation>
		<image>flickr</image>
		<flickrid>341012865</flickrid>
	</source>
	<owner>
		<flickrid>Fried Camels</flickrid>
		<name>Jinky the Fruit Bat</name>
	</owner>
	<size>
		<width>353</width>  # 转成YOLO格式时,需要这个数据
		<height>500</height>  # 转成YOLO格式时,需要这个数据
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>dog</name>  # 转成YOLO格式时,需要这个数据
		<pose>Left</pose>
		<truncated>1</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>48</xmin>  # 转成YOLO格式时,需要这个数据
			<ymin>240</ymin>  # 转成YOLO格式时,需要这个数据
			<xmax>195</xmax>  # 转成YOLO格式时,需要这个数据
			<ymax>371</ymax>  # 转成YOLO格式时,需要这个数据
		</bndbox>
	</object>
	<object>
		<name>person</name>  # 转成YOLO格式时,需要这个数据
		<pose>Left</pose>
		<truncated>1</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>8</xmin>  # 转成YOLO格式时,需要这个数据
			<ymin>12</ymin>  # 转成YOLO格式时,需要这个数据
			<xmax>352</xmax>  # 转成YOLO格式时,需要这个数据
			<ymax>498</ymax>  # 转成YOLO格式时,需要这个数据
		</bndbox>
	</object>
</annotation>

2.2. COCO 数据集(标签是 .json格式)

https://blog.csdn.net/weixin_42419002/article/details/100156688

  1. COCO数据集的下载方法:
  2. COCO数据集的文件结构:
  3. COCO数据集的标签格式:

3. 不同格式之间的转换

3.1 将 .json 格式转换成 .xml 格式

https://blog.csdn.net/weixin_42419002/article/details/100161294

3.2 将 .xml 格式转成 .txt格式(YOLO需要的)

YOLOv3 官网提供的将 VOC的 .xml 格式转化成 YOLO的 .txt 格式的代码,
将 VOC的 .xml 格式转成 YOLO的 .txt格式: https://blog.csdn.net/weixin_42419002/article/details/100160523

  • 3
    点赞
  • 6
    评论
  • 47
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

轮子去哪儿了

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值