目标检测数据集PASCAL VOC笔记

2023-11-09

PASCAL VOC 数据集的应用领域有Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification等,它的常用版本为2007年和2012年的,PASCAL VOC 2007 和 2012 数据集组织结构一致,内容没有重复,共有20个不同类别的物体。
在这里插入图片描述

下载

PASCAL VOC的数据集可以通过这个镜像网站下载,速度很快。
打开后它的界面如下,分为2012和2007年的,每一年的分为Train/Validation Data和Test Data,这两部分都要下载下来。

在这里插入图片描述

组织结构

下载后由于训练和测试的文件夹结构都一致,我们将同一年的train/val和test解压放在同一个文件夹内,只区分不同年的。
在这里插入图片描述

每一年的内部结构如下,这里以2007年的为例:

├── Annotations 进行 detection 任务时的标签文件,xml 形式,文件名与图片名一一对应
├── ImageSets 包含三个子文件夹 Layout、Main、Segmentation,其中 Main 存放的是分类和检测的数据集分割文件
├── JPEGImages 存放 .jpg 格式的图片文件
├── SegmentationClass 存放按照图像分割的图片
└── SegmentationObject 存放按照实例分割的图片

├── Main
│   ├── train.txt 写着用于训练的图片名称, 共 2501 个
│   ├── val.txt 写着用于验证的图片名称,共 2510 个
│   ├── trainval.txt train与val的合集。共 5011 个
│   ├── test.txt 写着用于测试的图片名称,共 4952 个

其中Annotation中标注文件xml的格式如下:
在这里插入图片描述

使用

PASCAL VOC数据集在目标检测中被广为使用,我们经常能看见论文中写到使用的PASCAL VOC哪一年,哪一部分的数据集来训练,然后用哪年哪部分来测试,比如yolo(v1)中的这段表述:

We train the network for about 135 epochs on the training and validation data sets from PASCAL VOC 2007 and 2012. When testing on 2012 we also include the VOC 2007 test data for training.
我们使用PASCAL VOC 2012和2007中的train和val做训练,如果使用PASCAL VOC 2012的数据集做训练的话就把PASCAL VOC 2007的test数据集也拿去作训练。

目前的常用的组合使用的方式有下面几种:

  • 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 没有公布

PASCAL VOC 2007和2012数据集中图片和物体的详细数量统计如下:
在这里插入图片描述

参考文章:

(一)深度学习实战 | 基于PyTorch的目标检测数据加载

PASCAL VOC 数据集简介

使用了上面两篇博客的图片和描述综合来做自己的笔记。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测数据集PASCAL VOC笔记 的相关文章

  • 【计算机视觉

    文章目录 一 问题 二 个人的理解 2 1 线性层的理解 2 2 pseudo words的理解 2 2 1 详细一点 2 2 2 为什么可以使用文本嵌入空间中的技术 2 2 3 pseudo word的本质是什么 2 2 4 好处 2 2
  • 基于GroundingDINO构建目标检测数据集自动标注工具-支持COCO和VOC格式

    0 介绍 GroundingDINO是最新发布的zero shot目标检测器 在多个数据集上取得了很好的结果 在该方法的基础上 本人修复该方法自动标注的bug 并增加VOC格式 1 安装GroundingDINO 根据github提供的源码
  • 基于YOLOv8模型的烟火目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要 基于YOLOv8模型的烟火目标检测系统可用于日常生活中检测与定位烟火目标 利用深度学习算法可实现图片 视频 摄像头等方式的目标检测 另外本系统还支持图片 视频等格式的结果可视化与结果导出 本系统采用YOLOv8目标检测算法训练数据集
  • 目标检测算法之YOLOV3

    本博客中YOLO系列均为个人理解笔记 欢迎评论指出理解有误或者要讨论的地方 YOLOV3模型相比于v2来说 实质性的改进并不大 更多的是一些技术的堆叠 其并不像yolov2对于v1一样 由巨大的改变和提升 其相对于yolov2 改变在于 1
  • 使用labelme打标签,详细教程

    做图像语义分割 打标签时需要用到labelme这个工具 我总结了它的详细使用教程 目录 一 安装labelme工具 二 文件位置关系 三 labelme工具 四 labelme工具的快捷键 五 代码 将标签文件转为统一固定格式 六 总结 一
  • Pycharm上Modify Run Configuration的使用方法,带参数配置

    前言 我们在搭建yolo系列目标检测模型时 往往需要对代码进行逐步调试 及时发现错误 所以本文在pycharm的基础上 对yolov6中的infer py进行逐步调试 首先我们在conda环境一切准备就绪的情况下 能在终端tenminal中
  • 睿智的目标检测24——Keras搭建Mobilenet-SSD目标检测平台

    睿智的目标检测24 Keras搭建Mobilenet SSD目标检测平台 更新说明 学习前言 什么是SSD目标检测算法 源码下载 SSD实现思路 一 预测部分 1 主干网络介绍 2 从特征获取预测结果 3 预测结果的解码 4 在原图上进行绘
  • 目标检测入坑指南3:VGGNet神经网络

    学了蛮久的目标检测了 但是有好多细节总是忘或者模棱两可 感觉有必要写博客记录一下学习笔记和一些心得 既可以加深印象又可以方便他人 博客内容集成自各大学习资源 所以图片也就不加水印了 需要自取 本专栏会详细记录本人在研究目标检测过程中的所学所
  • 动手学CV-目标检测入门教程4:模型结构

    3 4 模型结构 本文来自开源组织 DataWhale CV小组创作的目标检测入门教程 对应开源项目 动手学CV Pytorch 的第3章的内容 教程中涉及的代码也可以在项目中找到 后续会持续更新更多的优质内容 欢迎 如果使用我们教程的内容
  • 目标检测之YOLOv1算法分析

    网络结构 卷积层 池化层 全连接层 输入 448 448 448 448 448 448大小的图片 输出 7 7
  • 【计算机视觉

    文章目录 一 检测相关 11篇 1 1 Follow Anything Open set detection tracking and following in real time 1 2 YOLO MS Rethinking Multi
  • [YOLO专题-27]:YOLO V5 小目标检测遇到的问题与常见解决办法

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 YOLO专题 27 YOLO V5 小目标检测遇到的问题与常见解决办法 文火冰糖 王文兵 的博客 CSDN博客 目录 第1章 前言 第2章
  • 从近两年的CVPR会议来看,目标检测的研究方向是怎么样的?

    Old Xie CS2EE2CS Naiyan Wang 等 85 人赞同 目前object detection的工作可以粗略的分为两类 1 使用region proposal的 目前是主流 比如RCNN SPP Net Fast RCNN
  • 二进制.bin文件切分、bintopng、write

    import numpy as np import cv2 import os Your file path file dep open r E data 3DHuman Detection withoutlabel 20180715 50
  • 全网最最最轻量级检测网络 yolo-fastest 快速上手

    文章目录 0x01 Yolo Fastest 0x02 Prepare step1 clone step2 make step3 run darknet 0x03 Train step1 获取权重文件 step2 准备数据集 step3 修
  • yolo 车辆测距+车辆识别+单目测距(双目测距)

    基于yolo目标检测算法实现的车前道路中的车辆和行人检测 并且可以估测出目标与本车之间的距离 一 视频展示 yolo车距1 订阅专栏获得源码 提供完整代码 无需看下文 二 单目测距原理 图中有一个车辆 且车辆在地面上 其接地点Q必定在地面上
  • 【DETR】3、Conditional DETR

    文章目录 一 Conditional DETR 是怎么被提出来的 二 Conditional DETR 的具体实现 2 1 框架结构 2 2 DETR 的 cross attention 和 Conditional DETR 的 cross
  • 【计算机视觉】消融实验(Ablation Study)是什么?

    文章目录 一 前言 二 定义 三 来历 四 举例说明 一 前言 我第一次见到消融实验 Ablation Study 这个概念是在论文 Faster R CNN 中 消融实验类似于我们熟悉的 控制变量法 假设在某目标检测系统中 使用了A B
  • tensorRT部署之 代码实现 onnx转engine/trt模型

    tensorRT部署之 代码实现 onnx转engine trt模型 前提已经装好显卡驱动 cuda cudnn 以及tensorRT 下面将给出Python C 两种转换方式 1 C 实现 项目属性配置好CUDA tensoeRT库 通常
  • 如何在linux系统下创建空白文本.txt文件

    如何在linux系统下创建空白文本 txt文件 跳转到要新建文本的目录下 打开终端 输入命令 最后 跳转到要新建文本的目录下 可利用cd命令在终端跳转 或者直接到要新建文件的目录文件夹中 打开终端 输入命令 touch 文本名 txt 例如

随机推荐

  • 数据结构:C语言实现二叉树的构建以及遍历操作

    使用二叉链表的存储结构存储二叉树 typedef struct BinNode int data struct BinNode lchild struct BinNode rchild BinNode BinTree BinTree bin
  • [工具使用]SqlMap

    工具使用 SqlMap SqlMap 常用指令 探测目标网站是否存在注入 查询数据库users 查询数据库passwords 查询数据库当前用户 查询当前数据库用户是否是管理员权限 列出数据库的管理员用户名 查询所有数据库 查询当前数据库
  • 利用Pycharm上传代码到GitHub

    前提 必须能正常链接上GitHub网站 并且拥有GitHub账号 在win环境或者Ubuntu环境上必须安装有git 安装好pycharm 并且有上传的代码 pycharm配置GitHub账号 首先需要将准备上传的project配置GitH
  • linux通过端口号定位进程的几种方法

    通过端口号找进程ID Pid 1 概述 日常在linux 服务器上排查问题时 会有根据端口号找对应pid 进程id 的需求 最终通过定位pid来排查问题 本文将介绍如何在linux系统上通过监听端口号找到相关的进程 2 使用netstat命
  • CNN模型 INT8 量化实现方式(一)

    当前CNN模型基本都是 float32 将其转换为 INT8 可以降低模型大小 提升速度 精度降低的也不太多 那么在实际中如何实现这个量化了 在网上找到了三种实践方法 基于腾讯的NCNN Tensorflow Nvidia 的 Tensor
  • 接口抓包,Fiddler抓包使用方法总结,入门到精通辅助实战...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • 【面向对象编程 C++】笔记(完结)

    前言 是为复习做的笔记 内容来自课本和老师的课件 不全面 第10章 类和对象 面向对象 注重过程 把事件分成小模块 类和对象的定义与访问 注意 类定义结束处有分号 类是一种类型 该类型的变量成为对象 类成员的访问特性 成员函数的定义 类内声
  • OpenCV的copyTo()函数讲解及应用

    Index 目录索引 写在前面 函数介绍 案例演示 参考文章 写在前面 继前文的setTo 函数讲解后 本文对和该函数用法类似的OpenCV中的copyTo 函数进行讲解 函数介绍 可以直接在 OpenCV参考文档 中查阅 该函数的用法为
  • MySQL高可用工具heartbeat简介

    MySQL高可用工具heartbeat简介 官网 http www linux ha org wiki Heartbeat 一 HeartBeat的作用 通过HeartBeat 可以将资源 IP以及程序服务等资源 从一台已经故障的计算机快速
  • ETL基础认知

    1 ETL基础认知 了解 问题1 如何将零散的数据 集中输入到数据仓库 ETL E 数据抽取 抽取的是其他数据源中的数据 T 数据转换 将数据转换为统一的格式 消除异常值 缺失值 对于错误的逻辑进行修改 L 数据加载 将不同数据源的数据处理
  • OpenGL GLFW入门篇 - 画矩形

    效果图 主体代码 void DrawRectangle void GLfloat xl yt xr yb w h glPushMatrix glLoadIdentity glTranslatef 0 0 0 0 0 f w 1 2 h 1
  • osgEarth中opengl版本的确定

    osgEarth VirtualProgram if defined OSG GLES2 AVAILABLE define GLSL VERSION 100 define GLSL VERSION STR 100 define GLSL D
  • 聚类算法总结

    最近整理一下聚类相关的东西 数据说明 凸集 在欧氏空间中 凸集是对于集合内的每一对点 连接该对点的直线段上的每个点也在该集合内 非凸 non convex 数据 类比上述可知 距离 相似度 首先我们要了解衡量对象间差异的方法对象可能是一个值
  • 关于带MinGW版本的codeblocks

    MinGW就是Windows移植版的GCC编译器 Codeblocks是IDE 这个软件的特点是可以让你自由选择想要使用的编译器 Code Blocks是一个免费 开源 跨平台的C C IDE 支持Windows Linux MacOSX
  • Boost电路的结构及工作原理

    Boost电路定义 Boost升压电路的英文名称为 theboostconverter 或者叫 step upconverter 是一种开关直流升压电路 它能够将直流电变为另一固定电压或可调电压的直流电 也称为直流 直流变换器 DC DCC
  • COPU陆首群教授应邀在开放原子全球开源峰会上做主旨演讲

    各位领导 各位专家 同志们 朋友们 大家下午好 祝贺开放原子开源基金会首届全球开源峰会成功举办 1970年是为人们称道的UNIX元年 也是开源在全球诞生之日 开源在全球流行至今已有52年了 自从1991年我国引进UNIX现代计算系统以来 中
  • DS内排—直插排序

    目录 题目描述 思路分析 AC代码 题目描述 给定一组数据 使用直插排序完成数据的升序排序 程序要求 若使用C 只能include一个头文件iostream 若使用C语言只能include一个头文件stdio 程序中若include多过一个
  • 在java中重复一个字符串n次的几种方法

    方法一 String format 0 n d 0 replace 0 s 方法二 new String new char n replace 0 s 方法三 JAVA 8 String join Collections nCopies n
  • (三)Unity开发Vision Pro——入门

    3 入门 1 入门 本节涵盖了几个重要主题 可帮助您加快visionOS 平台开发速度 在这里 您将找到构建第一个 Unity PolySpatial XR 应用程序的分步指南的链接 以及 PolySpatial XR 开发时的一些开发最佳
  • 目标检测数据集PASCAL VOC笔记

    PASCAL VOC 数据集的应用领域有Object Classification Object Detection Object Segmentation Human Layout Action Classification等 它的常用版