zoukankan      html  css  js  c++  java
  • PASCAL VOC数据集分析(转)

    PASCAL VOC数据集分析
    PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge。
    本文主要分析PASCAL VOC数据集中和图像中物体识别相关的内容。
     
    在这里采用PASCAL VOC2012作为例子。下载地址为:点击打开链接。(本文中的系统环境为ubuntu14.04)
    下载完之后解压,可以在VOCdevkit目录下的VOC2012中看到如下的文件:

    其中在图像物体识别上着重需要了解的是Annotations、ImageSets和JPEGImages。

    JPEGImages
     
    JPEGImages文件夹中包含了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片。
    这些图像都是以“年份_编号.jpg”格式命名的。
    图片的像素尺寸大小不一,但是横向图的尺寸大约在500*375左右,纵向图的尺寸大约在375*500左右,
    基本不会偏差超过100。(在之后的训练中,第一步就是将这些图片都resize到300*300或是500*500,所有原始图片不能离这个标准过远。)
    这些图像就是用来进行训练和测试验证的图像数据。

    Annotations

    Annotations文件夹中存放的是xml格式的标签文件,每一个xml文件都对应于JPEGImages文件夹中的一张图片。
    xml文件的具体格式如下:(对于2007_000392.jpg)
    1. <annotation>  
    2.     <folder>VOC2012</folder>                             
    3.     <filename>2007_000392.jpg</filename>                               //文件名  
    4.     <source>                                                           //图像来源(不重要)  
    5.         <database>The VOC2007 Database</database>  
    6.         <annotation>PASCAL VOC2007</annotation>  
    7.         <image>flickr</image>  
    8.     </source>  
    9.     <size>                                               //图像尺寸(长宽以及通道数)                        
    10.         <width>500</width>  
    11.         <height>332</height>  
    12.         <depth>3</depth>  
    13.     </size>  
    14.     <segmented>1</segmented>                                   //是否用于分割(在图像物体识别中01无所谓)  
    15.     <object>                                                           //检测到的物体  
    16.         <name>horse</name>                                         //物体类别  
    17.         <pose>Right</pose>                                         //拍摄角度  
    18.         <truncated>0</truncated>                                   //是否被截断(0表示完整)  
    19.         <difficult>0</difficult>                                   //目标是否难以识别(0表示容易识别)  
    20.         <bndbox>                                                   //bounding-box(包含左下角和右上角xy坐标)  
    21.             <xmin>100</xmin>  
    22.             <ymin>96</ymin>  
    23.             <xmax>355</xmax>  
    24.             <ymax>324</ymax>  
    25.         </bndbox>  
    26.     </object>  
    27.     <object>                                                           //检测到多个物体  
    28.         <name>person</name>  
    29.         <pose>Unspecified</pose>  
    30.         <truncated>0</truncated>  
    31.         <difficult>0</difficult>  
    32.         <bndbox>  
    33.             <xmin>198</xmin>  
    34.             <ymin>58</ymin>  
    35.             <xmax>286</xmax>  
    36.             <ymax>197</ymax>  
    37.         </bndbox>  
    38.     </object>  
    39. </annotation>  
    对应的图片为:
     
    ImageSets

    ImageSets存放的是每一种类型的challenge对应的图像数据。
    在ImageSets下有四个文件夹:
    其中Action下存放的是人的动作(例如running、jumping等等,这也是VOC challenge的一部分)
    Layout下存放的是具有人体部位的数据(人的head、hand、feet等等,这也是VOC challenge的一部分)
    Main下存放的是图像物体识别的数据,总共分为20类。
    Segmentation下存放的是可用于分割的数据。

    在这里主要考察Main文件夹。
    Main文件夹下包含了20个分类的***_train.txt、***_val.txt和***_trainval.txt。
    这些txt中的内容都差不多如下:
    前面的表示图像的name,后面的1代表正样本,-1代表负样本。
    _train中存放的是训练使用的数据,每一个class的train数据都有5717个。
    _val中存放的是验证结果使用的数据,每一个class的val数据都有5823个。
    _trainval将上面两个进行了合并,每一个class有11540个。
    需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。
     
    SegmentationClass和SegmentationObject

    这两个文件夹下保存了物体分割后的图片,在物体识别中没有用到,在这里不做详细展开。

    接下来需要研究的是如何自己生成训练数据和测试数据,将在下一篇中阐述。
     
    转自:http://blog.csdn.net/zhangjunbob/article/details/52769381
     
  • 相关阅读:
    查找(二)简单清晰的B树、Trie树具体解释
    Java模式(适配器模式)
    程序猿生存定律--交换是职场里一切的根本
    list C++实现
    腾讯面试
    Android4.2.2启动动画前播放视频
    cocos2d0基础篇笔记一
    String.Split()函数
    oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
    [一个互联网思想信徒]:今天突破69个听众
  • 原文地址:https://www.cnblogs.com/wyuzl/p/7891895.html
Copyright © 2011-2022 走看看