前言

1.PASCAL VOC为图像识别与分类提供了一整套标准化的图像数据集,VOC数据集是衡量图像分类识别能力的基准,好多深度学习的框架在识别这块都以此数据集作为演示样例。PASCAL VOC数据集的下载链接。
2.我们想要用Caffe-SSD训练自己想要识别数据模型,也是要制作自己的VOC数据集,那么最好的办法是看官方的数据的结构与它们之间的关联,才好制作自己的数据集。
3.我这是以VOC2007为例子,大概介绍VOC数据集的结构与各个文件的功能。

VOC2007数据集的目录结构

当把下载好之后的VOC2007解压出来,可以看到里面五个目录。

1.Annotations目录
(1)目录下存放的是 xml 文件,每个xml文件对应 JPEGImage 里面的一张图片,这个xml文件是用标注工具对 JPEGImage 里的图像进行标注得到的。

(2)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><object><name>dog</name> //类别 (狗)<pose>Left</pose> // 拍摄角度  <truncated>1</truncated> //是否被截断(1表示不完整),<difficult>0</difficult>       //目标是否难以识别(0表示容易识别)<bndbox>                     //标注工具标出物体图框的参数<xmin>48</xmin>  //左上角的 x 坐标<ymin>240</ymin>  //左上角的 y 坐标<xmax>195</xmax> //右下角的 x 坐标<ymax>371</ymax> //右下角的 y 坐标</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>

这个文件对应的图像是这张

2.ImageSets目录是存放记录各个数据正负样本的 txt 文件,ImageSets有三个目录。

(1)Layout目录有四个txt文件。

这个在我们制作自己的数据时用不上,所以就不去做深入了解,但看文件名也大概能明白是用来放训练,测试,验证,交叉验证相关的图数据。
(2)Main目录

XXX_train中存放的是训练使用的数据,每一个类别的train数据都有5717个。
XXX_val中存放的是验证结果使用的数据,每一个类别的val数据都有5823个。
XXX_trainval将上面两个进行了合并,每一个类别有11540个。
需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。
打开其中的一个txt文件可以看到如下的内容:

可以看到前面的表示图像的名称不带扩展名,后面如果是1代表正样本,如果是-1代表负样本。
(3)Segmentation目录下的四个txt文件,放着从图像里分割出分类对的相关信息,test放着测试数据的图像名,val中存放的是验证结果使用的数据,train中存放的是训练使用的数据,trainval是将val与train进行了合并。

3.JPEGImages目录放置数据的原始图片,图片的文件名用统一以一种格式以递增式进行命名。

4.SegmentationClass目录是放置分割好的类的数据。

5.SegmentationObject目录放置着分割好的对象的数据。

结语

1.以上是关于VOC2007的目录结构与放置的内容的相关介绍,是为了更好的去制作我们自己的数据做准备。但我们自己制作自己的SSD训练集时,不像官方格式这么繁多,能训练出结果就行。
2.这是我对于PASCAL VOC数据集的理解,有理解不到的地方或者想要做相关可以加这个群(487350510)互相学习。

Ubuntu 16.04下Caffe-SSD的应用(六)——PASCAL VOC2007数据集介绍相关推荐

  1. Ubuntu 16.04下安装Caffe(GPU版本 GTX970)

    Ubuntu 16.04下安装Caffe(GPU版本 GTX970) 个人分类: Deep Learning 2018年8月6日更新说明:距上次安装成功没多久,显卡驱动莫名失效,没有解决,索性重装了系 ...

  2. 分享如何在Ubuntu 16.04下CUDA8.0

    分享一篇在Ubuntu 16.04下CUDA8.0的安装过程的记录笔记. 1.安装驱动 最简单的安装方式是直接在"系统设置->软件和更新->附加驱动"中安装 这样的话, ...

  3. Ubuntu 16.04下的LAMP环境配置

    在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...

  4. ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装

    Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...

  5. Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使)

    Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使): 第一行命令:sudo apt-get upgrate 第二行命令:sudo apt-get install ope ...

  6. ubuntu 16.04下切换python版本小结

    主要是记录ubuntu 16.04下python环境配置. 对于ubuntu 16.04,由于本身是自带python,这样就减少了在windows下的下载和环境变量配置,非常不错.但是他本身是自带两个 ...

  7. ubuntu 16.04下安装mysql

    ubuntu 16.04下安装mysql 从官网下载mysql-apt-config_0.8.12-1_all.deb,下载地址为:https://dev.mysql.com/downloads/re ...

  8. Ubuntu 16.04 下安装运行 Suricata

    介绍 Suricata是一个免费.开源.成熟.快速.健壮的网络威胁检测引擎.Suricata引擎能够进行实时入侵检测(IDS).内联入侵预防(IPS).网络安全监控(NSM)和离线pcap处理.Sur ...

  9. Ubuntu 16.04下用Wine运行的软件出现方块的解决思路(应该是兼容现在所有平台的Wine碰到这个的问题)

    Ubuntu 16.04下用Wine运行的软件出现方块的解决思路(应该是兼容现在所有平台的Wine碰到这个的问题) 参考文章: (1)Ubuntu 16.04下用Wine运行的软件出现方块的解决思路( ...

最新文章

  1. 深度学习上的又一重点发现——利用MSCNN实现人群密度监测
  2. 《bbs.yingjiesheng.com,超全的求职笔经面经论坛》
  3. JZOJ 3789. 【NOI2015模拟8.20】编辑器
  4. 对外汉语语料库有哪些_国内语料库建设一览表
  5. redis 将key的有效时间设置为不过期命令
  6. 数据结构+算法+c++学习(写在前面)
  7. 深度解析 steam密码js逆向(篇幅很长)
  8. pta C语言选择题
  9. java日记 简单Java家庭记账系统
  10. 爬虫实现对于百度文库内容的爬取
  11. 统计学——单因素方差分析
  12. ong拼音汉字_汉语拼音ong的发音方法
  13. Java-Specification
  14. 计算机默认登录用户名和密码是什么,Windows7默认管理员账户用户名和密码是什么...
  15. 误删除DAMENG01.log怎么办/ 日志文件出现问题咋办?
  16. vue 组件名 下划线_团队Vue组件规范
  17. 不得不知的Web知识 —— HttpClient中SocketTimeOut、ConnectionTimeOut与ConnectionManagerTimeOut区别
  18. 寒冷冬天饮食调养有三宜
  19. 【Web技术】1488- 大多数人都会遇到的几个H5坑(实战)
  20. JAVA计算机毕业设计理发店会员管理系统(附源码、数据库)

热门文章

  1. Pytorch搭建Faster R-CNN目标检测平台
  2. Spring Boot【快速入门】
  3. 图解TCP协议中的三次握手和四次挥手
  4. 语言堆栈入门——堆和栈的区别
  5. MySQL Index详解
  6. Java程序员从笨鸟到菜鸟之(一百零六)java操作office和pdf文件(四)页面列表导出cvs,excel、pdf报表.
  7. Oracle编程入门经典 第2章 SQLPlus和基本查询
  8. Coursera课程Python for everyone:Quiz: Networks and Sockets
  9. 信息系统项目管理师-项目需求管理知识点
  10. 数据库连接用户名和密码加密