一、简介
PASCAL VOC数据集是目标检测领域比较知名的数据集,该数据集分为VOC2007和VOC2012两个子集,其官方下载地址如下:
- VOC2007-trainval
- VOC2007-test
- VOC2012-trainval
但官网时常不稳定,进而导致下载较慢甚至下载失败,推荐一定稳定的镜像源地址:YOLOv3作者主页,界面如下所示。
我已将其下载保存在百度网盘,如有也可以通过如下链接进行下载:https://pan.baidu.com/s/1hx8GYN6fDigRSbAYmaS9AQ 密码: ksak
VOC数据集主要涉及20个目标分类,目标详细名称如下图加黑文字所示。
二、文件结构与XML标签
将数据集下载并完成解压后,其文件结构如下所示。在这里以VOC2012数据集进行举例,JPEGImages
存放图像,Annotations
存放XML标签文件,其中XML文件和图像文件名称一致,仅仅后缀不同,ImageSets/Main
存放训练集、测试集和全部数据集所涉及的名称txt文件。
VOC2012
- JPEGImages
- name1.jpg
- name2.jpg
- ...
- Annotations
- name1.xml
- name2.xml
- ...
- ImageSets
- Main
- train.txt
- val.txt
- trainval.txt
- ....
- Action
- Layout
- Segmentation
- SegmentationClass
- SegmentationObject
目标检测的XML文件结构如下,size
记录图像宽高属性,object/name
为目标分类名称,object/bndbox
记录目标框的左上和右下二维坐标,object/truncated
代表目标是否存在部分遮挡(>15%),0则代表不存在遮挡,1则代表部分遮挡。
<annotation>
<folder>VOC2012</folder>
<filename>2007_000027.jpg</filename>
<source>
<database>The VOC2007 Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
</source>
<size>
<width>486</width>
<height>500</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>174</xmin>
<ymin>101</ymin>
<xmax>349</xmax>
<ymax>351</ymax>
</bndbox>
</object>
</annotation>
三、相关信息
VOC2007 和 VOC2012 目标检测任务中的训练、验证和测试数据统计如下表所示。
目前目标检测常用的是 VOC2007 和 VOC2012 数据集,因为二者是互斥的,论文中的常用组合有以下几种:
- 07 12: 使用 VOC2007 和 VOC2012 的 train val(16551) 上训练,然后使用 VOC2007 的test(4952) 测试
- 07 12: 使用 VOC2007 的 train val test(9963) 和 VOC2012的train val(11540) 训练,然后使用 VOC2012 的 test 测试,这种法需提交到 PASCAL VOC Evaluation Server 上评估结果,因为VOC2012 test 没有公布
- 07 12 COCO: 先在 MS COCO 的trainval 上 预训练,再使用VOC2007 和 VOC2012 的 train val 微调训练,然后使用 VOC2007 的test 测试
- 07 12 COCO: 先在 MS COCO 的 trainval 上预训练,再使用 VOC2007 的train val test 和 VOC2012 的 train val微调训练,然后使用 VOC2012 的 test 测试,这种方法需提交到 PASCAL VOC Evaluation Server上评估结果,因为VOC2012 test 没有公布