PASCAL VOC数据集分析及下载、解压

由于跑代码过程中用到的是VOC2007数据集,就直接说明VOC2007数据集的下载与解压

一、数据集的下载与解压

Pascal VOC2007
1.输入以下命令下载训练、验证、测试数据和工具包

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar

2.再把这些压缩文件解压到一个叫做VOCdevkit的文件夹下

tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar

注意要同时输入这三句命令解压
3.然后可以看到应该有下面这样的结构:

$VOCdevkit/ # development kit
$VOCdevkit/VOCcode/ # VOC utility code
$VOCdevkit/VOC2007 # image sets, annotations, etc.
#… and several other directories …

(我的解压完如下)
PASCAL VOC数据集分析及下载、解压_第1张图片PASCAL VOC数据集分析及下载、解压_第2张图片

二、PASCAL VOC数据集的分析

(此处为参考多篇博客及其他资料学习后的总结,若有不对请多多指教)
首先提供官方下载地址:
https://pjreddie.com/projects/pascal-voc-dataset-mirror/
1.简介
PASCAL VOC从2005年开始举办挑战赛,内容从最开始的分类,到后面逐渐增加检测,分割,人体布局,动作识别(Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification)等,数据集的容量以及种类也在不断的增加和改善。
本文主要分析PASCAL VOC数据集中和图像中物体识别相关的内容。
以PASCAL VOC2007为例,在一、数据集的下载与解压后在VOCdevkit目录下的VOC2007中看到如下的文件:
PASCAL VOC数据集分析及下载、解压_第3张图片其中Annotations、ImageSets和JPEGImages主要用于识别,SegmentationClass和SegmentationObject用于分割。

  • Annotations: 存放的是标记文件,采用xml格式,对JPEGImages文件夹中的每一张图片进行信息的标注。
    PASCAL VOC数据集分析及下载、解压_第4张图片例如000001.jpg和对应的xml文件具体如下:
    PASCAL VOC数据集分析及下载、解压_第5张图片
<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>
		<height>500</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>  # 是否用于分割,在识别任务中0和1无所谓
	<object>               # 检测到的物体,表明这个是一个目标,下面的是与该目标相关的信息
		<name>dog</name>  # 物体类别
		<pose>Left</pose>  # 拍摄角度(包括:front, rear, left, right, unspecified )
		<truncated>1</truncated>  # 目标是否被截断(比如一部分在图片之外),或者被遮挡(超过15%),0代表完整
		<difficult>0</difficult>  # 检测难易程度,这个主要是根据目标的大小,光照变化,图片质量来判断,0代表容易识别
		<bndbox>      # bounding box 的左上角点和右下角点的4个坐标值
			<xmin>48</xmin>
			<ymin>240</ymin>
			<xmax>195</xmax>
			<ymax>371</ymax>
		</bndbox>
	</object>
	<object>        # 除了上边的又检测到的物体,表明检测到多个物体
		<name>person</name>
		<pose>Left</pose>
		<truncated>1</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>8</xmin>
			<ymin>12</ymin>
			<xmax>352</xmax>
			<ymax>498</ymax>
		</bndbox>
	</object>
</annotation>

  • ImageSets :存放的是图像数据,包含三个子文件夹 Layout、Main、Segmentation。其中 Main 存放的是用于分类和检测的数据集的分割文件,一共20个种类, Layout和Segmentation分别是人的身体部位和用于分割的数据。
    PASCAL VOC数据集分析及下载、解压_第6张图片其中Main文件夹中:包括
    _train.txt: 用于训练的图片名称
    _val.txt :用于验证的图片名称
    _trainval.txt: train与val的合集(训练数据和验证数据无交集,即一张图片不可能同时属于训练集又属于验证集)
    _test.txt :用于测试的图片名称
    PASCAL VOC数据集分析及下载、解压_第7张图片

每一个.txt文件打开后,如下:
PASCAL VOC数据集分析及下载、解压_第8张图片前面的是图像名称,后边的+1和-1分别代表正负样本。上图即代表在训练集这张图片(000012)aeroplane的话为1,不是则为-1。其他所有的 (class)_(imgset).txt 文件都是类似的。

  • JPEGImages:存放的是 .jpg 格式的图片,包括了所有训练图片和测试图片。
    PASCAL VOC数据集分析及下载、解压_第9张图片

  • SegmentationClass:存放的是按照类别分割后的图片
    PASCAL VOC数据集分析及下载、解压_第10张图片

  • SegmentationObject:存放的是按照物体分割后的图片
    PASCAL VOC数据集分析及下载、解压_第11张图片参考:https://arleyzhang.github.io/articles/1dc20586/
    https://blog.csdn.net/zhangjunbob/article/details/52769381

你可能感兴趣的:(深度学习(代码),计算机视觉,深度学习)