Pascal VOC (Pascal Visual Object Classes)

Pascal VOC (Pascal Visual Object Classes)

Pascal VOC 网址:http://host.robots.ox.ac.uk/pascal/VOC/

训练/验证数据集下载(2G): host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

VOC数据集是目标检测经常用的一个数据集。

Task: Classification、Detection、Segmentation、Person Layout

**VOC2007:**中包含9963张标注过的图片, 由train/val/test三部分组成, 共标注出24,640个物体。 VOC2007的test数据label已经公布, 之后的没有公布(只有图片,没有label)。

**VOC2012:**对于检测任务,VOC2012的trainval/test包含08-11年的所有对应图片。 trainval有11540张图片共27450个物体。 对于分割任务, VOC2012的trainval包含07-11年的所有对应图片, test只包含08-11。trainval有 2913张图片共6929个物体。

一共有20个类,在voc.yaml文件中如下

# PASCAL VOC dataset http://host.robots.ox.ac.uk/pascal/VOC/
# Train command: python train.py --data voc.yaml
# Default dataset location is next to /yolov5:
#   /parent_folder
#     /VOC
#     /yolov5
# download command/URL (optional)
download: bash data/scripts/get_voc.sh
# train and val data as 
#    1) directory: path/images/, 
#    2) file: path/images.txt, or 3)
#    list: [path1/images/, path2/images/]
train: ../VOC/images/train/  # 16551 images
val: ../VOC/images/val/  # 4952 images
nc: 20  # number of classes
# class names
names: [ 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 
         'cow', 'diningtable', 'dog','horse', 'motorbike', 'person', 'pottedplant',
        'sheep', 'sofa', 'train', 'tvmonitor' ]
数据集 VOC2007

VOC2007中包含9963张标注过的图片,由train/val/test三部分组成,共标注出24640个物体。VOC2007的test数据的label已经公布,之后的没有公布(只有图片,没有label)。

数据集VOC2012

VOC2012主要分为检测任务和分割任务,

检测任务:VOC2012的train/test包含了08-11年的所有对应图片。train有11540张图片共有27450个物体。

分割任务:VOC2012包含07-11年的所有对应图片,test只包含08-11。train有2913张图片,共有6929个物体。

VOC文件夹下面的结构

└── VOCdevkit     # 根目录
    └── VOC2012   # 不同年份的数据集,这里只下载了2012的,还有2007等其它年份的
        ├── Annotations  # 存放xml文件,与JPEGImages中的图片一一对应,解释图片的内容等等
        ├── ImageSets    # 该目录下存放的都是txt文件,txt文件中每一行包含一个图片的名称,末尾会加上±1表示正负样本
        │   ├── Action   # Action:存放的是人的动作。共10个动作标签,见下面
        │   ├── Layout   # 存放的是具有人体部位的数据(人的head、hand、feet等)
        │   ├── Main     # 存放的是图像物体识别的数据,总共分为20类
        │   └── Segmentation   # 存放的是可用于分割的图片的编号。
        ├── JPEGImages         # 存放全是图片
        ├── SegmentationClass  # 存放的是图片,分割后的效果
        └── SegmentationObject # 存放的是图片,分割后的效果
Annotation

Annotation文件夹存放的是xml文件,该文件是对图片的解释,每张图片都对应于一个同名的xml文件。

xml主要介绍了对应图片的基本信息,如来自哪个文件夹、文件名、来源、图片尺寸以及图像中包含哪些目标,及目标的相关信息,等,这种格式可以使用labelimg标注软件来标注获取。

**“2012_004331.xml”**对应xml文件

<annotation>
	<filename>2012_004331.jpg</filename>   <!--  文件名称   --> 
	<folder>VOC2012</folder>       <!--  folder  文件夹名 --> 
	<object>                       <!--  object 目标类别    --> 
		<name>person</name>        <!-- 目标的名称      -->
		<actions>
			<jumping>1</jumping>   <!-- Action--jumping      -->
			<other>0</other>       <!-- others      -->
			<phoning>0</phoning>   <!-- Action--phoning -->
			<playinginstrument>0</playinginstrument>   <!-- Action--phoning -->
			<reading>0</reading>         <!-- Action--reading -->
			<ridingbike>0</ridingbike>   <!-- Action--ridingbike -->
			<ridinghorse>0</ridinghorse> <!-- Action--ridinghorse -->
			<running>0</running>         <!-- Action--running -->
			<takingphoto>0</takingphoto> <!-- Action--takingphoto -->
			<usingcomputer>0</usingcomputer>  <!-- Action--usingcomputer -->
			<walking>0</walking>    <!-- Action--walking -->
		</actions>
		<bndbox>
			<xmax>208</xmax>  <!--  x bounding box右边点  横坐标  -->
			<xmin>102</xmin>  <!--  x bounding box左边点  横坐标  -->
			<ymax>230</ymax>  <!--  x bounding box下边点  纵坐标  -->
			<ymin>25</ymin>   <!--  x bounding box上边点  纵坐标  -->
		</bndbox>
		<difficult>0</difficult>
		<pose>Unspecified</pose>
		<point>   <!--  目标中心点    -->
			<x>155</x>    <!--  x bounding box中心点  横坐标  -->
			<y>119</y>    <!--  y boudding box中心点 纵坐标  -->
		</point> 
	</object>   
	<segmented>0</segmented> <!-- #可否用于语义分割任务,1表示可以,也就是这张图片在Segmentat-->
	<size>
		<depth>3</depth>      <!--  图像深度  -->
		<height>375</height>  <!--  图像高度  -->
		<width>500</width>    <!--  图像宽度  -->
	</size>
	<source>
		<annotation>PASCAL VOC2012</annotation>   <!--  数据集来源  -->
		<database>The VOC2012 Database</database>   <!--  数据库名称  -->
		<image>flickr</image>            <!--  图像来源  -->
	</source>
</annotation>

**“2012_004331.xml”**对应图片
在这里插入图片描述

labelimg工具标注的图片
在这里插入图片描述
labelimg工具生成的xml文件

<annotation>
	<folder>train</folder>
	<filename>0004.jpg</filename>
	<path>path\train\0004.jpg</path>
	<source>
		<database>Unknown</database>  <!--数据来源-->
	</source>
	<size>
		<width>2000</width>    <!-- 图片宽度 -->
		<height>1334</height>  <!-- 图片高低 -->
		<depth>3</depth>       <!-- 图片深度 -->
	</size>
	<segmented>0</segmented>   <!--是否可分割-->
	<object>
		<name>UAV</name>       <!--目标的名称-->
		<pose>Unspecified</pose>
		<truncated>0</truncated> <!--truncated 标注对象是否为截断的
                                  (如标注对象的bbox标注区域由于遮挡或其他问题只为目标整体的一部分,
                                   则该标注为1,反之为0)-->
		<difficult>0</difficult> <!--difficult 是否为识别困难目标-->
		<bndbox>
			<xmin>352</xmin>   <!--标注框x_min-->
			<ymin>362</ymin>   <!--标注框y_min-->
			<xmax>1832</xmax>  <!--标注框x_max-->
			<ymax>995</ymax>   <!--标注框y_max-->
		</bndbox>
	</object>
</annotation>
ImageSets

各个文件夹中存放的是各种用途的TXT文件。

Action

Action:存放的是人的动作。共10个动作标签,分别是:

jumping、phoning、playinginstrument、reading、ridingbike、ridinghorse、running、takingphoto、usingcomputer、walking。

标签内容格式:2011_003279 1 1 (第一个1表示图中包含的人数,第二个表示图中人的动作状态是否满足:jumping,-1代表不跳)

2011_003285  4 -1 # 表示2011_003285图片中有4个人,并没有跳
2011_003724  2  1 # 表示2011_003724图片中有2个人,表示在跳

JPEGImages文件夹下对应图片如下所示,

2011_0032852011_003724
在这里插入图片描述在这里插入图片描述
Layout

Layout:存放的是具有人体部位的数据(人的head、hand、feet等)

2007_007763 7
在这里插入图片描述

2007_007763.xml文件中的部分内容:

	<object>
		<name>person</name>
		<pose>Unspecified</pose>
		<truncated>1</truncated>
		<difficult>0</difficult>
		<part>  <!-- 部位 -->
			<name>head</name>  <!-- 头部 -->
			<bndbox>
                <!--bounding box value xmin xmax ymin ymax-->
			</bndbox>
		</part>
		<part>
			<name>hand</name> <!-- 手部 -->
			<bndbox>
                <!--bounding box value xmin xmax ymin ymax-->
			</bndbox>
		</part>
		<part>
			<name>hand</name>
			<bndbox>
                <!--bounding box value xmin xmax ymin ymax-->
			</bndbox>
		</part>
		<bndbox>
                <!--bounding box value xmin xmax ymin ymax-->
		</bndbox>
	</object>
Main

Main:存放的是图像物体识别的数据,总共分为20类(算背景就是21类),包含了20个分类的

*_train.txt(存放训练集的图片编号,每一个class的train数据都有5717个);

*_val.txt(存放验证集的图片编号,每一个class的val数据都有5832个) 和;

*_trainval.txt(存放以上两者的完全合并集,每一个class有5717+5832=11540个) 。

  • Person: person

  • Animal: bird, cat, cow, dog, horse, sheep

  • Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train

  • Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor

如文件夹下有名为aeroplane_train.txt的文件,顾名思义是用于飞机类别(aeroplane)的训练数据。该txt的具体内容如下,其中+1表示的是正t样本,-1表示负样本。

2008_000008 -1  # 负样本
2008_000033  1  # 正样本

JPEGImages文件夹下对应图片如下所示,

2008_0000082008_000033
在这里插入图片描述在这里插入图片描述

要保证train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。

Segmentation

Segmentation:存放的是可用于分割的图片的编号。
在这里插入图片描述
如在train.txt文件中,2007_000032、2007_000039
在这里插入图片描述

JPEGImages文件夹

包含了PASCAL VOC所有的图片,包含训练图片和测试图片,共有17125张。图片均以“年份_编号.jpg”格式命名。图片的尺寸大小不一,所以在后面训练的时候需要对图片进行resize操作。

|

SegmentationClass文件夹

同一类会被标注成同一种颜色。

共2913张图片,每一张图片都对应JPEGImages里的相应编号的图片。图片的像素颜色共有20种,对应20类物体。

|在这里插入图片描述

SegmentationObject文件夹

同一类也会被标注成不同的颜色

同样包含了2913张图片,图片编号都与SegmentationClass文件夹里面的图片编号相同。这里和Class里面图片的区别在于,这是针对Object的。在Class里面,一张图片里如果有多架飞机,那么会全部标注为红色;而在Object里面,同一张图片里面的飞机也会被不同颜色标注出来。

|在这里插入图片描述

2007_000129在SegmentationClass和SegmentationObject中的不同之处
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值