VOC格式的数据集简介

VOC格式的数据集

说明

VOC格式是一种图片的标注规范,很多目标检测或者目标分割的算法都会遵循VOC标注规范的数据集,本文档主要以经典VOC2017为例, 介绍VOC格式的数据集的格式与组成.

解压VOC2007数据集后可以看到VOC2007文件夹下有以下5个文件夹:

  • Annotations文件夹
  • JPEGImages文件夹
  • ImageSets文件夹
  • SegmentationClass文件和SegmentationObject文件

下面会单独介绍这几个文件夹.

1. Annotations文件夹

该文件下存放的是xml格式的标签文件,每个xml文件都对应于JPEGImages文件夹的一张图片, 其中对xml的解析如下:


<annotation>  
    <folder>VOC2007folder>                             
    <filename>2007_000392.jpgfilename>                               //文件名  
    <source>                                                           //图像来源(不重要)  
        <database>The VOC2007 Databasedatabase>  
        <annotation>PASCAL VOC2007annotation>  
        <image>flickrimage>  
    source>  
    <size>                                               //图像尺寸(长宽以及通道数)                        
        <width>500width>  
        <height>332height>  
        <depth>3depth>  
    size>  
    <segmented>1segmented>                                   //是否用于分割(在图像物体识别中01无所谓)  
    <object>                                                           //检测到的物体  
        <name>horsename>                                         //物体类别  
        <pose>Rightpose>                                         //拍摄角度  
        <truncated>0truncated>                                   //是否被截断(0表示完整)  
        <difficult>0difficult>                                   //目标是否难以识别(0表示容易识别)  
        <bndbox>                                                   //bounding-box(包含左下角和右上角xy坐标)  
            <xmin>100xmin>  
            <ymin>96ymin>  
            <xmax>355xmax>  
            <ymax>324ymax>  
        bndbox>  
    object>  
    <object>                                                           //检测到多个物体  
        <name>personname>  
        <pose>Unspecifiedpose>  
        <truncated>0truncated>  
        <difficult>0difficult>  
        <bndbox>  
            <xmin>198xmin>  
            <ymin>58ymin>  
            <xmax>286xmax>  
            <ymax>197ymax>  
        bndbox>  
    object>  
annotation>

2. JPEGImages文件夹

JPEGImages 内部存放了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片

这些图像的像素尺寸大小不一,但是横向图的尺寸大约在500375左右,纵向图的尺寸大约在375500左右,基本不会偏差超过100。(在之后的训练中,第一步就是将这些图片都resize到300300或是500500,所有原始图片不能离这个标准过远。

3. ImageSets文件夹

ImageSets文件夹下面包含以下3个子文件夹:

  • Layout
  • Main
  • Segmentation

3.1 Layout

Layout下面已经对数据集进行划分,以5个txt文件来标识

  • train.txt: 用于训练模型图片的名称
  • val.txt: 用于验证图片的名称
  • trainval.txt: 前面两项之和
  • test.txt: 用于模型测试图片的名称

以下是train.txt文件的前几行内容:

000012
000026
000034
000036
000044
000047
000064
....

3.2 Main

Main文件夹下包含了每个分类的train.txt、val.txt和trainval.txt。
这些txt中的内容都差不多如下:

000005 -1
000007 -1
000009 1
000016 -1
000019 -1

前面的表示图片名称,后面一列有1以及-1,-1表示目标在对应的图像没有出现,1则表示出现。
_train中存放的是训练使用的数据
_val中存放的是验证结果使用的数据
_trainval将上面两个进行了合并
需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。

3.3 Segmentation

内容和Main文件夹一样,只是对里面的数据进行了shuffle.

4. SegmentationClass文件和SegmentationObject文件

存放图像分割后的结果.

你可能感兴趣的:(深度学习)