一、简介
PASCAL VOC 挑战赛主要有Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification
这几类子任务 PASCAL 主页 与 排行榜PASCAL VOC 挑战赛主页 、PASCAL VOC 挑战赛主页 、PASCAL VOC Evaluation Server PASCAL VOC 和 数据集总共分4 个大类:vehicle、household、animal、person,总共20 个小类(加背景 21 类),预测的时候是只输出下图中黑色粗体的类别二、VOC 常用组合、数据量统计及组织结构
VOC train_val_test & VOC train_val 百度云下载链接,提取码: jz27
目前目标检测常用的是 VOC 和 VOC 数据集,因为二者是互斥的,论文中的常用组合有以下几种:
07+12:
使用 VOC 和 VOC 的train+val(16551)
上训练,然后使用 VOC 的 test(4952) 测试07++12:
使用 VOC 的train+val+test(9963)
和 VOC的train+val(11540)
训练,然后使用 VOC 的 test 测试,这种方法需提交到 PASCAL VOC Evaluation Server 上评估结果,因为 VOC test 没有公布07+12+COCO:
先在 MS COCO 的 trainval 上预训练,再使用 VOC 和 VOC 的train+val
微调训练,然后使用 VOC 的 test 测试07++12+COCO:
先在 MS COCO 的 trainval 上预训练,再使用 VOC 的train+val+test
和 VOC 的train+val
微调训练,然后使用 VOC 的 test 测试 ,这种方法需提交到 PASCAL VOC Evaluation Server上评估结果,因为VOC test 没有公布
VOC 和 VOC 目标检测任务中的训练、验证和测试数据统计如下表所示,具体每一类的数据分布见 PASCAL VOC Database Statistics 和 PASCAL VOC Database Statistics
组织结构:以 VOC 为例,解压后的文件为:
.├── Annotations 进行 detection 任务时的标签文件,xml 形式,文件名与图片名一一对应├── ImageSets 包含三个子文件夹 Layout、Main、Segmentation,其中 Main 存放的是分类和检测的数据集分割文件├── JPEGImages 存放 .jpg 格式的图片文件├── SegmentationClass 存放按照 class 分割的图片└── SegmentationObject 存放按照 object 分割的图片├── Main│ ├── train.txt 写着用于训练的图片名称, 共 2501 个│ ├── val.txt 写着用于验证的图片名称,共 2510 个│ ├── trainval.txt train与val的合集。共 5011 个│ ├── test.txt 写着用于测试的图片名称,共 4952 个
三、标注标准及 XML 解析
标注标准:VOC Annotation Guidelines 标注信息是用 xml 文件组织的如下:<annotation><folder>VOC</folder><filename>000001.jpg</filename> # 文件名 <source><database>The VOC Database</database><annotation>PASCAL VOC</annotation><image>flickr</image><flickrid>341012865</flickrid></source><owner><flickrid>Fried Camels</flickrid><name>Jinky the Fruit Bat</name></owner><size> # 图像尺寸, 用于对 bbox 左上和右下坐标点做归一化操作<width>353</width><height>500</height><depth>3</depth></size><segmented>0</segmented> # 是否用于分割<object><name>dog</name> # 物体类别<pose>Left</pose> # 拍摄角度:front, rear, left, right, unspecified <truncated>1</truncated> # 目标是否被截断(比如在图片之外),或者被遮挡(超过15%)<difficult>0</difficult> # 检测难易程度,这个主要是根据目标的大小,光照变化,图片质量来判断<bndbox><xmin>48</xmin><ymin>240</ymin><xmax>195</xmax><ymax>371</ymax></bndbox></object><object><name>person</name><pose>Left</pose><truncated>1</truncated><difficult>0</difficult><bndbox><xmin>8</xmin><ymin>12</ymin><xmax>352</xmax><ymax>498</ymax></bndbox></object></annotation>
四、提交格式
1、Classification Task
每一类都有一个 txt 文件,里面每一行都是测试集中的一张图片,前面一列是图片名称,后面一列是预测的分数。# comp1_cls_test_car.txt, 内容如下000004 0.702732000006 0.870849000008 0.532489000018 0.477167000019 0.112426
2、Detection Task
每一类都有一个 txt 文件,里面每一行都是测试集中的一张图片,每行的格式为:<image identifier> <confidence> <left> <top> <right> <bottom>
,confidence 用来计算mAP
# comp3_det_test_car.txt,内容如下# comp3:只允许用所给训练数据,comp4:允许使用外部数据000004 0.702732 89 112 516 466000006 0.870849 373 168 488 229000006 0.852346 407 157 500 213000006 0.914587 2 161 55 221000008 0.532489 175 184 232 201
五、评估标准
PASCAL的评估标准是 mAP(mean average precision),关于 mAP 可参考以下资料: average precision性能指标(模型评估)之mAP多标签图像分类任务的评价方法-mAP周志华老师 《机器学习》 模型评估标准一节PASCAL官方给了 MATLAB 版的 mAP 评估脚本和示例代码 development kit code and documentation eg:下面是一个二分类的 P-R 曲线(precision-recall curve
),对于 PASCAL 来说,每一类
都有一个这样的 P-R曲线,P-R 曲线下面与 x 轴围成的面积称为average precision
,每个类别都有一个 AP,20个类别的 AP 取平均值
就是 mAP。六、参考资料
1、The PASCAL Visual Object Classes Homepage
2、目标检测数据集PASCAL VOC简介