首页 > 其他分享 >数据集:Pascal VOC 2007数据集分析

数据集:Pascal VOC 2007数据集分析

时间:2023-08-14 11:36:58浏览次数:44  
标签:val VOC Pascal train 存放 2007 图像 txt 数据


1 VOC2007基本信息

作为标准数据集,voc-2007 是衡量图像分类识别能力的基准。
faster-rcnn,yolo -v1, yolo-v2都以此数据集为最为演示样例,因此,有必要了解一下本数据集的组成架构。

VOC数据集共包含:训练集(5011幅),测试集(4952幅),共计9963幅图,共包含20个种类。

aeroplane
bicycle
bird
boat
bottle
bus
car
cat
chair
cow
diningtable
dog
horse
motorbike
person
pottedplant
sheep
sofa
train
tvmonitor

 

2 各类别统计信息

20个类别中,后面数字代表数据集中对应的的正样本图像个数(非目标个数)。

- 训练集

aeroplane 238
bicycle 243
bird 330
boat 181
bottle 244
bus 186
car 713
cat 337
chair 445
cow 141
diningtable 200
dog 421
horse 287
motorbike 245
person 2008
pottedplant 245
sheep 96
sofa 229
train 261
tvmonitor 256

- 测试集

aeroplane 204
bicycle 239
bird 282
boat 172
bottle 212
bus 174
car 721
cat 322
chair 417
cow 127
diningtable 190
dog 418
horse 274
motorbike 222
person 2007
pottedplant 224
sheep 97
sofa 223
train 259
tvmonitor 229

可以看出,除了person数量较多,其他类别样本个数不算多,在如此小的数据集上,深度学习能获得较高的分类识别结果,足以说明深度学习的强大性能。

3、 VOC2007具体信息

PASCAL VOC2012作为例子。下载地址为:点击打开链接

下载完之后解压,可以在VOCdevkit目录下的VOC2012中看到如下的文件:

数据集的组成架构如下:

  • Annotations —目标真值区域
  • ImageSets —-类别标签
  • JPEGImages —–图像
  • SegmentationClass
  • SegmentationObjec

 

具体结构如下:

  • Annotation 
  • *.xml
  • ImageSets 
  • Action 
  • *_train.txt
  • *_trainval.txt
  • *_val.txt
  • Layout 
  • train.txt
  • trainval.txt
  • val.txt
  • Main 
  • *_train.txt
  • *_trainval.txt
  • *_val.txt
  • Segmentation 
  • train.txt
  • trainval.txt
  • val.txt
  • JPEGImages 
  • *.jpg
  • SegmentationClass 
  • *.png
  • SegmentationObject 
  • *.png

①JPEGImages

JPEGImages文件夹中包含了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片。

JPEGImages 中存放原始图像,这些图像都是以“年份_编号.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 中有四个文件夹【Action】【Layout】【Main】【Segmentation】

 

ImageSets存放的是每一种类型的challenge对应的图像数据。

 

Action下存放的是人的动作(例如running、jumping等等,这也是VOC challenge的一部分)

Layout下存放的是具有人体部位的数据(人的head、hand、feet等等,这也是VOC challenge的一部分)

Main下存放的是图像物体识别的数据,总共分为20类。

Segmentation下存放的是可用于分割的数据。

 

分类识别只关注【Main】,它内部存储20个分类类别标签,-1表示负样本,+1为正样本
*_train.txt 训练样本集 
*_val.txt 评估样本集 
*_trainval.txt 训练与评估样本汇总

 

这些txt中的内容都差不多如下:

前面的表示图像的name,后面的1代表正样本,-1代表负样本。

_train中存放的是训练使用的数据,每一个class的train数据都有5717个。

_val中存放的是验证结果使用的数据,每一个class的val数据都有5823个。

_trainval将上面两个进行了合并,每一个class有11540个。

需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。

 

标签:val,VOC,Pascal,train,存放,2007,图像,txt,数据
From: https://blog.51cto.com/u_12667998/7074276

相关文章

  • [ZJOI2007]报表统计
    P1110[ZJOI2007]报表统计考虑到操作MIN_SORT_GAP比较简单,用一个set维护前驱后继即可,重点关注INSERT,MIN_GAP。发现我们可以先开一个单链表来存储所有数,开数组表示原数列的第\(i\)个元素现在的位置。每次插入只需要在对应位置插入,然后更新数组的值。关于维护最小差值,用......
  • increase your vocabulary
    readwhatyoulike.writeDon'tlimityourselfto1wordnoun/verb/adj/adv...listented.comcardcarddon'tknow->almostsure->knowgrouprootssimilarthemetech(monitorkeyboard)......
  • 「USACO2007JAN」Balanced Lineup 解题报告
    「USACO2007JAN」BalancedLineup传送门挖个坑。。。#include<bits/stdc++.h>usingnamespacestd;intn,q,l,r,f1[50002][30],f2[50002][30],a[50002];voidprework(){for(inti=1;i<=n;i++){f2[i][0]=a[i];f1[i][0]=a[i];}intk=log(n......
  • P1005 [NOIP2007 提高组] 矩阵取数游戏题解
    题面传送门:P1005[NOIP2007提高组]矩阵取数游戏-洛谷|计算机科学教育新生态(luogu.com.cn)分析题目可知,这道题是一道求最值的问题,第一次看题没有认真读题,以为是每次只在某一行中选一个数,于是想了半天无果。重新读题才发现每次需要每行都取,那么这就很简单了,相当于在每一行......
  • [刷题笔记] CF1132F Clear the String & [CQOI2007] 涂色
    Problem1Problem2双倍经验qwqDescription初始时数组为空,每次可以选择一个区间\(l-r\)将其赋为同一个值,赋的值可以覆盖,给定数组的目标形式,求至少经过多少次操作使得空数组变成目标形式。Solution我们发现每次选择一个区间,大区间包含小区间,小区间可以推到大区间。因此考虑区间......
  • PascalCase & camelCase & kebabCase介绍
    原文链接:https://www.cnblogs.com/qdkfyym/p/13528076.html一、PascalCase  帕斯卡拼写法(也叫大骆驼拼写法)  PascalCase 帕斯卡拼写法是一种计算机编程中的变量命名方法。它主要的特点是将描述变量作用所有单词的首字母大写,然后直接连接起来,单词之间没有连接符。比......
  • [TJOI2007] 线段
    #[TJOI2007]线段##题目描述在一个$n\timesn$的平面上,在每一行中有一条线段,第$i$行的线段的左端点是$(i,L_{i})$,右端点是$(i,R_{i})$。你从$(1,1)$点出发,要求沿途走过所有的线段,最终到达$(n,n)$点,且所走的路程长度要尽量短。更具体一些说,你在任何时候只能选择向......
  • 使用Free Pascal开发STM32程序
    使用FreePascal开发STM32程序前言大部分人都知道嵌入式开发,一般用的都是C语言,但是实际上,除C语言之外还有许多语言都可以开发,本文将介绍使用FreePascal(简称FPC)开发STM32程序的方法。你可以进FreePascal的官网看看,其第一段话就是说这个编译器支持多少处理器多少操作系统的,事实......
  • 「刷题记录」[JSOI2007] 文本生成器
    第一道AC自动机+DP题。题目链接:P4052[JSOI2007]文本生成器-洛谷|计算机科学教育新生态(luogu.com.cn)利用容斥原理的思想,答案就是所有串的数量减去不可读的串的数量。设\(dp\left(i,j\right)\)表示串长为\(i\),在AC自动机上走到编号为\(j\)时不经过单词结......
  • writing vocabulary
    thenecessityof...isdiscussedbythepublicinrecentyeras. ...isvaluableleadstothedeclineof haveextratimearewidelyadotpedshouldbeextinguished(abandoned)owingto beenhancedaccordingtosomestudyinpsychologicalscience.inlon......