VOC数据集格式介绍

深度学习很多框架都在使用VOC数据集,所以先来研究一下voc数据集的具体内容。

以PASCAL VOC2017为例,它包含如下5个文件夹:

  • JPEGImages
  • Annotations
  • ImageSets
  • SegmentationClass
  • SegmentationObject

1、JPEGImages

PASCAL VOC提供的所有的图片,其中包括训练图片,测试图片。

2、Annotations

存放xml格式的标签文件,每个xml对应JPEGImage中的一张图片。可使用labelImg进行标注和查看。
图像标注工具labelImg安装教程及使用方法

<annotation>  
    <folder>VOC2012folder>                             
    <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> 

3、ImageSets

  • Action:人的动作
  • Layout:人体的具体部位
  • Main: 图像物体识别的数据,总共20类, 需要保证train val没有交集
    • train.txt:训练集
    • val.txt:验证集
    • trainval.txt:训练和验证集
  • Segmentation:用于分割的数据

验证集(val)与测试集(test)是有区别的。
验证集:val是validation的简称,验证是否过拟合、以及用来调节训练参数等。
测试集:当模型训练完成后,用于检测模型的准确性。

4、SegmentationObject & SegmentationClass

保存的是物体分割后的数据,在物体识别中没有用到。

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