PascalVOC 数据集

简介: Pascal VOC challenge 是一个非常流行的数据集,用于构建和评估图像分类、对象检测和分割的算法。

Pascal VOC challenge 是一个非常流行的数据集,用于构建和评估图像分类、对象检测和分割的算法。


官网数据集镜像:https://pjreddie.com/projects/pascal-voc-dataset-mirror/

一、Challenge

Pascal VOC challenge 的目标就是从存在于现实场景中的许多可视对象类别中识别出对象(即不预先分割的对象)。全部有二十个类:
person, bird, cat, cow, dog, horse, sheep, aeroplane, bicycle, boat, bus, car, motorbike, train, bottle, chair, dining table, potted plant, sofa, tv / monitor

(一)主要任务

有五个主要任务:

  1. 分类:对于每一个类,在一张测试图片中预测该类至少一个对象是否存在。
  2. 检测:对于每一个类,在一张测试图片中预测该类的每一个对象的边界框(bounding box)。
  3. 分割:对于测试图片每一个像素,如果像素不属于20个指定类中的一个,则预测包含该像素或“背景”的对象的类。
  4. 动作分类:对于每个动作类别,预测测试图片中的指定的人(由其边界框指示)是否正在执行相应的动作。其中有 10 个动作类别:
  • jumping; phoning; playing a musical instrument; reading; riding a bicycle or motorcycle; riding a horse; running; taking a photograph;using a computer; walking
  1. 大尺度识别:这个任务又 ImageNet 组织者执行。更多可查看其官网。

二、DATA

里面有一个 VOC2007 ,另一个是 VOC2012 。
进去里面有 5 个文件夹:
VOC2012
├──Annotations
├──ImageSets
 ├──Action
 ├──Layout
 ├──Main
 └──Segmentation
├──JPEGImage
├──SegmentationClass
└──SegmentationObject

Annotations:存放 xml 文件,每个文件对应 JPEGImage 里面的一张图片
ImageSets:存放记录各个人物正负样本的 txt 文件
JPEGImage:存放图片,每张图片都有对应的编号
SegmentationClass:存放分割图片,按类分,相同的类用同一个颜色表示
SegmentationObject:存放分割图片,按物体分,不同的物体用不同的颜色表示

三、Annotations

xml 是可扩展标记语言,文件里面内容大概如下:

<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>                                     //bounding box
      <xmin>174</xmin>                           //左上角的 x 坐标
      <ymin>101</ymin>                           //左上角的 y 坐标
      <xmax>349</xmax>                           //右下角的 x 坐标
      <ymax>351</ymax>                           //右下角的 y 坐标
    </bndbox>
</annotation>

里面指定了文件夹,文件名字,图片的长宽和深度,还有边界框(bounding box)及物体类别。

四、ImageSets

ImageSets 里面指定了每一张图片为正样本还是负样本,例如 Main 目录里面的 aeroplane_train.txt 内容如下:

2008_000008 -1
2008_000015 -1
2008_000019 -1
2008_000023 -1
2008_000028 -1
2008_000033  1
2008_000036 -1
2008_000037  1
2008_000041 -1
2008_000045 -1
2008_000053 -1
2008_000060 -1
...

前面的 2008_000008 代表了图片的名称,后面的 1 或 -1 代表了这张图片是正样本还是负样本。

目录
相关文章
|
7月前
|
机器学习/深度学习 JSON 算法
如何在自定义数据集上训练 YOLOv8 实例分割模型
在本文中,我们将介绍微调 YOLOv8-seg 预训练模型的过程,以提高其在特定目标类别上的准确性。Ikomia API简化了计算机视觉工作流的开发过程,允许轻松尝试不同的参数以达到最佳结果。
【yolo训练数据集】标注好的垃圾分类数据集共享
【yolo训练数据集】标注好的垃圾分类数据集共享
2237 132
【yolo训练数据集】标注好的垃圾分类数据集共享
|
2月前
|
PyTorch 算法框架/工具
数据集学习笔记(三):调用不同数据集获取trainloader和testloader
本文介绍了如何使用PyTorch框架调用CIFAR10数据集,并获取训练和测试的数据加载器(trainloader和testloader)。
41 4
数据集学习笔记(三):调用不同数据集获取trainloader和testloader
|
4月前
|
计算机视觉
数据集介绍
【8月更文挑战第9天】数据集介绍。
105 1
|
4月前
分割数据集,并对数据集进行预处理
【8月更文挑战第8天】分割数据集,并对数据集进行预处理。
39 1
|
5月前
|
机器学习/深度学习 数据采集 存储
数据集
【7月更文挑战第10天】数据集
328 1
|
5月前
|
机器学习/深度学习 自然语言处理 算法
什么是数据集的分类?
【7月更文挑战第10天】什么是数据集的分类?
579 1
|
XML 数据挖掘 数据格式
|
机器学习/深度学习 前端开发 测试技术
数据集相关知识
数据集相关知识
312 0
|
存储 编解码 数据安全/隐私保护
ISPRS Vaihingen 数据集解析
ISPRS Vaihingen 数据集解析
1247 0
ISPRS Vaihingen 数据集解析