Faster RCNN实现所用PASCAL VOC数据集内容剖析

转自:http://blog.youkuaiyun.com/zhangjunbob/article/details/52769381
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)
[html]  view plain  copy
  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代表负样本。 如果是0,应该代表较难分辨出来的样本!

_train中存放的是训练使用的数据,每一个class的train数据都有5717个。
_val中存放的是验证结果使用的数据,每一个class的val数据都有5823个。
_trainval将上面两个进行了合并,每一个class有11540个。
需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。
SegmentationClass和SegmentationObject

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

接下来需要研究的是如何自己生成训练数据和测试数据,将在下一篇中阐述。
<think>好的,用户让我介绍一下PASCAL VOC数据集中的行人部分。首先,我需要确认自己对PASCAL VOC的了解是否正确。PASCAL VOC是一个经典的计算机视觉数据集,主要用于目标检测、分类和分割任务。它的全称是Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes,我记得最早的版本是2005年发布的,后来持续更新到2012年,之后被其他数据集如COCO取代了。 接下来,用户特别关注的是其中的“行人”类别。我需要回顾一下PASCAL VOC的类别列表,确定行人是否在20个类别中。对的,PASCAL VOC包含20个常见对象类别,比如人、猫、狗、汽车等。这里的“人”类别可能指的是整个人体,而用户问的是“行人”,可能需要明确是否属于同一个类别,或者是否有更细的划分。根据我的记忆,PASCAL VOC中的“人”类别通常指直立的人,可能包括行人,但可能不区分站立的人和其他姿态的人。这一点需要确认,如果有错误可能会误导用户,所以得小心。 然后,关于行人数据的详细情况。需要包括数据集的年份,比如2007和2012是常用的版本,图像数量,标注格式(如边界框),以及可能存在的挑战。比如PASCAL VOC中的行人可能出现在各种场景中,有不同姿态、遮挡、光照变化等,这些因素增加了检测难度。同时,数据量方面,相对于专门的行人数据集如Caltech Pedestrian或INRIA,PASCAL VOC的行人样本可能较少,这可能影响模型的训练效果。 另外,用户可能需要了解使用PASCAL VOC行人数据时的注意事项,比如数据集的划分(训练集、验证集、测试集),标注的精细程度,以及与其他数据集的对比。比如Caltech Pedestrian数据集专注于行人,有更多的标注样本和多样化的场景,而PASCAL VOC则更通用。这可能帮助用户决定是否选择PASCAL VOC作为他们的数据源。 还需要考虑用户可能的实际需求,比如他们可能在做一个目标检测的项目,需要选择合适的数据集。如果他们的应用场景需要检测多种对象,而行人只是其中之一,那么PASCAL VOC是合适的。但如果专注于行人检测,可能需要结合其他数据集。这时候我应该建议用户根据具体需求选择,并提到PASCAL VOC的优缺点。 最后,确保回答结构清晰,分点说明,符合用户要求的逐步解决问题的结构。同时,检查LaTeX格式是否正确,虽然这个问题可能不需要数学公式,但如果有提到技术指标如AP(平均精度),可能需要用行内公式,比如$AP$,不过PASCAL VOC通常用大写缩写,可能不需要斜体。所以可能不需要使用LaTeX,但按照系统指令,如果有任何数学相关内容必须用$...$,需要留意。</think>PASCAL VOC(Visual Object Classes)数据集是计算机视觉领域的经典基准数据集,主要用于目标检测、图像分类和语义分割任务。以下针对其“行人”类别进行详细介绍: --- ### **1. 数据基本信息** - **版本与时间**:常用版本为PASCAL VOC 2007和2012,其中“行人”属于20个标注类别之一(类别名为“person”)。 - **标注内容**: 每个行人实例均以**边界框(Bounding Box)**标注,并提供像素级分割掩码(仅部分数据)。 - **数据量**: VOC 2007包含约9,963张图像,VOC 2012扩展至11,540张。但行人样本占比有限(约数千例),远少于专门的行人数据集(如Caltech Pedestrian)。 --- ### **2. 行人数据特点** - **多样性**: 行人出现在复杂场景中,涵盖不同姿态(站立、行走)、遮挡(部分被物体遮挡)、光照变化(白天/夜晚)和尺度变化(远/近景)。 - **挑战性**: - 小目标行人检测(如远景中的行人) - 密集人群场景(边界框重叠率高) - 标注粒度较粗,未区分行人部件(如头部、四肢) --- ### **3. 典型应用与局限性** - **应用场景**: 通用目标检测模型的训练与评估(如Faster R-CNN、YOLO早期版本),行人作为多类别检测任务的一部分。 - **局限性**: - 行人样本量较少,难以训练高精度专用检测器 - 缺乏细粒度属性(如性别、年龄)或行为标注 - 标注框可能存在偏差(如包含多余背景) --- ### **4. 与其他数据集的对比** | **数据集** | **PASCAL VOC行人** | **Caltech Pedestrian** | **COCO行人** | |------------------|--------------------|------------------------|-------------------| | **标注数量** | 数千例 | 350,000+例 | 250,000+例 | | **场景复杂度** | 中等 | 高(车载摄像头视角) | 极高(多场景) | | **标注精细度** | 边界框+部分分割 | 边界框+遮挡标签 | 边界框+实例分割 | --- ### **5. 使用建议** - **适用情况**: 若需验证模型在多类别检测中的泛化能力,或作为辅助数据增强模型鲁棒性。 - **替代方案**: 若专注行人检测,建议结合Caltech Pedestrian、CityPersons或COCO数据集。 如需进一步分析具体技术细节(如标注格式解析或模型训练方法),可提供更多背景信息!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值