当前位置: 首页 > java >正文

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数据集的分析

(此处为参考多篇博客及其他资料学习后的总结,若有不对请多多指教)
首先提供官方下载地址:
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中看到如下的文件:
在这里插入图片描述其中Annotations、ImageSets和JPEGImages主要用于识别,SegmentationClass和SegmentationObject用于分割。

  • Annotations: 存放的是标记文件,采用xml格式,对JPEGImages文件夹中的每一张图片进行信息的标注。
    在这里插入图片描述例如000001.jpg和对应的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><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分别是人的身体部位和用于分割的数据。
    在这里插入图片描述其中Main文件夹中:包括
    _train.txt: 用于训练的图片名称
    _val.txt :用于验证的图片名称
    _trainval.txt: train与val的合集(训练数据和验证数据无交集,即一张图片不可能同时属于训练集又属于验证集)
    _test.txt :用于测试的图片名称
    在这里插入图片描述

每一个.txt文件打开后,如下:
在这里插入图片描述前面的是图像名称,后边的+1和-1分别代表正负样本。上图即代表在训练集这张图片(000012)aeroplane的话为1,不是则为-1。其他所有的 (class)_(imgset).txt 文件都是类似的。

  • JPEGImages:存放的是 .jpg 格式的图片,包括了所有训练图片和测试图片。
    在这里插入图片描述

  • SegmentationClass:存放的是按照类别分割后的图片
    在这里插入图片描述

  • SegmentationObject:存放的是按照物体分割后的图片
    在这里插入图片描述参考:https://arleyzhang.github.io/articles/1dc20586/
    https://blog.csdn.net/zhangjunbob/article/details/52769381

http://www.xdnf.cn/news/11625.html

相关文章:

  • GridView内容详解(转载)
  • 三星平板 N8000刷机升级安卓版本到7.1过程记录
  • 还你一个优雅的桌面
  • Webservice技术详解
  • 一步一步教你网站同步镜像
  • (转载)新浪微博错误提示代码
  • 教你如何破解无线网络密码(无线网络密码破解)
  • 什么是压力测试?如何进行Jmeter压力测试
  • window.location.href的用法大全
  • Zephyr调度算法
  • hugo安装使用(window)
  • 出图攻略|Grasshopper+Python,不会编程的建筑师不是好程序员!
  • 一个完整性能测试流程(非常详细)零基础入门到精通,收藏这一篇就够了
  • 数据库概念和sql语句+库表管理操作+数据库用户管理
  • 讲一讲什么是 MMAP
  • Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别
  • css样式中的border-radius属性
  • JavaScript 日期和时间的格式化大汇总(收集)
  • 时间管理——帕累托法则(二八定律)
  • Babel 安装、配置和基本使用
  • 使用allure如何生成自动化测试报告 ?一文详解allure的使用 。
  • QT 下载 集成开发环境与编译器
  • MYCAT介绍,安装及操作
  • 三种T检验的详细区分
  • 脚手架(vue-cli)的安装详细教程
  • 这样图解IPSec,看过的人都收藏了!
  • Vue路由(router)基础知识
  • hibernate
  • SElinux的介绍及配置
  • 【JAVA】红黑树 详解