当前位置: 首页 > article >正文

Python----目标检测(PASCAL VOC数据集)

一、PASCAL VOC数据集

        PASCAL VOC(Visual Object Classes)数据集是计算机视觉领域中广泛使用的一个 标准数据集,用于目标检测、图像分割、图像分类、动作识别等任务。该数据集由 PASCAL(Pattern Analysis, Statistical Modelling and Computational Learning) 网络主办的年度挑战赛推出,旨在推动视觉对象识别技术的发展。

PASCAL VOC 数据集可以通过官方网站下载,每个版本的图像和标注文件都可以独立获取:

The PASCAL Visual Object Classes Homepage

2012年数据集下载

        2012 年 PASCAL 视觉对象类挑战赛 (VOC2012)

1.1、数据集的版本

        PASCAL VOC 数据集从2005年开始发布,最常用的版本包括2007、2010和2012年 版本。每个版本包含不同数量的图像和注释。

VOC2007:包括5011张训练图像和4952张测试图像,总共9963张图像。包含20 个类别。

VOC2010:图像数量比VOC2007更多,并增加了更多复杂的场景。

VOC2012:进一步增加了数据集的大小和多样性,包含11530张训练和验证图像 (未公开test)。

1.2、数据集类别

PASCAL VOC 数据集包括以下20个类别(其他类、动物类、交通工具类、家具 类):

1. Person(人)

2. Bird(鸟)

3. Cat(猫)

4. Cow(牛)

5. Dog(狗)

6. Horse(马)

7. Sheep(羊)

8. Aeroplane(飞机)

9. Bicycle(自行车)

10. Boat(船)

11. Bus(公共汽车)

12. Car(汽车)

13. Motorbike(摩托车)

14. Train(火车)

15. Bottle(瓶子)

16. Chair(椅子)

17. Dining table(餐桌)

18. Potted plant(盆栽植物)

19. Sofa(沙发)

20. TV/monitor(电视/监视器)

1.3、 PASCAL VOC任务

1. 目标检测:识别图像中的所有目标,并给出每个目标的类别和边界框。

2. 图像分类:给出整幅图像的类别标签。

3. 语义分割:对图像中的每个像素进行分类,标注其所属类别。

4. 动作识别:识别图像中人物的动作类别。

1.3.1、分类/检测图像示例

1.3.2、语义分割

定义:

        语义分割的目标是将图像中的每个像素分类到预定义的类别中,而不区分同一类别中 的不同个体。

特点:

        类别级别分类:每个像素被分配到一个类别,例如,所有的汽车像素被分类为“汽 车”。

        不区分实例:同一类别的不同个体在结果中不区分,例如,图像中所有的汽车像 素都被标记为“汽车”,而不会区分它们属于不同的汽车。

例子:

        在一张包含两只猫和一只狗的图片中,语义分割的结果是将所有猫的像素标记为 “猫”,将狗的像素标记为“狗”,而不会区分两只不同的猫。

应用:

        自动驾驶汽车中的道路和障碍物检测。

        医学图像处理中的组织和器官分割。

1.3.3、实例分割 

定义:

        实例分割的目标是将图像中的每个像素不仅分类到预定义的类别中,还要区分同一类 别中的不同个体。

特点:

        类别级别和实例级别分类:每个像素不仅被分配到一个类别,还被分配到一个实 例,例如,不仅区分“汽车”,还区分每辆不同的汽车。

        区分实例:同一类别的不同个体在结果中被区分开来,例如,图像中两辆不同的 汽车会被标记为“汽车1”和“汽车2”。

例子:

        在一张包含两只猫和一只狗的图片中,实例分割的结果是将两只猫分别标记为“猫1” 和“猫2”,并将狗标记为“狗”。

应用:

        机器人视觉中的对象识别和抓取。

        计算机视觉中的多对象跟踪和分析。

1.4、数据集结构 

PASCAL VOC 数据集的文件结构通常包括以下几个部分:

        JPEGImages:存放所有图像文件,格式为JPEG。

        Annotations:存放图像的标注文件,格式为XML。每个XML文件对应一张图 像,包含图像中每个对象的类别、边界框坐标等信息。

        ImageSets:包含不同任务(如Main、Segmentation、Layout、Action)下的 训练、验证和测试集的划分文件。

                 Main:用于分类和检测任务。

                Segmentation:用于分割任务。

                Layout:用于物体布局任务。

                Action:用于动作识别任务。

1.5、标注文件示例

<annotation>  <!-- 文件夹名称 -->  <folder>VOC2012</folder>  <!-- 图像文件名 -->  <filename>2007_000033.jpg</filename>  <!-- 图像来源信息 -->  <source>  <database>The VOC2007 Database</database> <!-- 数据库名称 -->  <annotation>PASCAL VOC2007</annotation> <!-- 数据集名称 -->  <image>flickr</image> <!-- 图像来源平台 -->  </source>  <!-- 图像尺寸信息 -->  <size>  <width>500</width> <!-- 图像宽度 -->  <height>366</height> <!-- 图像高度 -->  <depth>3</depth> <!-- 图像深度(RGB三通道) -->  </size>  <!-- 是否进行过分割,1表示是 -->  <segmented>1</segmented>  <!-- 第一个对象(飞机) -->  <object>  <name>aeroplane</name> <!-- 对象类别:飞机 -->  <pose>Unspecified</pose> <!-- 姿态:未指定 -->  <truncated>0</truncated> <!-- 未截断 -->  <difficult>0</difficult> <!-- 不是难以识别的对象 -->  <bndbox>  <xmin>9</xmin> <!-- 边界框左上角X坐标 -->  <ymin>107</ymin> <!-- 边界框左上角Y坐标 -->  <xmax>499</xmax> <!-- 边界框右下角X坐标 -->  <ymax>263</ymax> <!-- 边界框右下角Y坐标 -->  </bndbox>  </object>  <!-- 第二个对象(飞机) -->  <object>  <name>aeroplane</name> <!-- 对象类别:飞机 -->  <pose>Left</pose> <!-- 姿态:向左 -->  <truncated>0</truncated> <!-- 未截断 -->  <difficult>0</difficult> <!-- 不是难以识别的对象 -->  <bndbox>  <xmin>421</xmin> <!-- 边界框左上角X坐标 -->  <ymin>200</ymin> <!-- 边界框左上角Y坐标 -->  <xmax>482</xmax> <!-- 边界框右下角X坐标 -->  <ymax>226</ymax> <!-- 边界框右下角Y坐标 -->  </bndbox>  </object>  <!-- 第三个对象(飞机,部分被截断) -->  <object>  <name>aeroplane</name> <!-- 对象类别:飞机 -->  <pose>Left</pose> <!-- 姿态:向左 -->  <truncated>1</truncated> <!-- 被截断 -->  <difficult>0</difficult> <!-- 不是难以识别的对象 -->  <bndbox>  <xmin>325</xmin> <!-- 边界框左上角X坐标 -->  <ymin>188</ymin> <!-- 边界框左上角Y坐标 -->  <xmax>411</xmax> <!-- 边界框右下角X坐标 -->  <ymax>223</ymax> <!-- 边界框右下角Y坐标 -->  </bndbox>  </object>  
</annotation>  

相关文章:

Python----目标检测(PASCAL VOC数据集)

一、PASCAL VOC数据集 PASCAL VOC&#xff08;Visual Object Classes&#xff09;数据集是计算机视觉领域中广泛使用的一个 标准数据集&#xff0c;用于目标检测、图像分割、图像分类、动作识别等任务。该数据集由 PASCAL&#xff08;Pattern Analysis, Statistical Modelling …...

LabVIEW汽车CAN总线检测系统开发

CAN&#xff08;ControllerArea Network&#xff09;总线作为汽车电子系统的核心通信协议&#xff0c;广泛应用于动力总成、车身控制、辅助驾驶等系统。基于 LabVIEW 开发 CAN 总线检测系统&#xff0c;可充分利用其图形化编程优势、丰富的硬件接口支持及强大的数据分析能力&am…...

MySQL数据库基础 -- SQL 语句的分类,存储引擎

目录 1. 什么是数据库 2. 基本使用 2.1 进入 mysql 2.2 服务器、数据库以及表的关系 2.3 使用案例 2.4 数据逻辑存储 3. SQL 语句分类 4. 存储引擎 4.1 查看存储引擎 4.2 存储引擎的对比 1. 什么是数据库 安装完 MySQL 之后&#xff0c;会有 mysql 和 mysqld。 MySQL …...

二元Logistic回归

二元Logistic回归 在机器学习领域&#xff0c;二元Logistic回归是一种非常经典的分类模型&#xff0c;广泛用于解决具有两类标签的分类问题。Logistic回归通过逻辑函数&#xff08;Sigmoid函数&#xff09;将预测结果映射到概率值&#xff0c;并进行分类。 一、Logistic回归 …...

如何从容应对面试?

引言 简历通过了&#xff0c;终于获得这次来之不易面试机会的你&#xff0c;是不是又在思考以下问题&#xff1a;基本礼仪都包括哪些方面&#xff1f;如何在群面中打动面试官&#xff1f;有什么注意事项&#xff1f;在面试的过程中&#xff0c;我们不单单要懂得面试技巧&#…...

如何使用GIT管理项目代码

介绍 ​ Git是目前世界上最流行甚至最好的开源分布式版本控制系统&#xff0c;不论是很小的项目还是很大的项目&#xff0c;它都能有效并且高效的处理项目版本管理&#xff0c;初衷是为了帮助管理linux内核代码而开发的一个开放源码的版本控制软件。 GIT常用分支名称 分支分…...

RHCE 练习三:架设一台 NFS 服务器

一、题目要求 1、开放 /nfs/shared 目录&#xff0c;供所有用户查询资料 2、开放 /nfs/upload 目录&#xff0c;为 192.168.xxx.0/24 网段主机可以上传目录&#xff0c;并将所有用户及所属的组映射为 nfs-upload,其 UID 和 GID 均为 210 3.将 /home/tom 目录仅共享给 192.16…...

【android bluetooth 协议分析 01】【HCI 层介绍 9】【ReadLocalSupportedCommands命令介绍】

1. HCI_Read_Local_Supported_Commands 命令介绍 1. 命令介绍&#xff08;Description&#xff09; HCI_Read_Local_Supported_Commands 是 HCI 层中非常重要的查询命令。它允许 Host&#xff08;如 Android 系统中的 Bluetooth stack&#xff09;获取 Controller&#xff08;…...

stm32实战项目:无刷驱动

目录 系统时钟配置 PWM模块初始化 ADC模块配置 霍尔接口配置 速度环定时器 换相逻辑实现 主控制循环 系统时钟配置 启用72MHz主频&#xff1a;RCC_Configuration()设置PLL外设时钟使能&#xff1a;TIM1/ADC/GPIO时钟 #include "stm32f10x.h"void RCC_Configu…...

python打卡训练营打卡记录day30

一、导入官方库 我们复盘下学习python的逻辑&#xff0c;所谓学习python就是学习python常见的基础语法学习你所处理任务需要用到的第三方库。 1.1标准导入&#xff1a;导入整个库 这是最基本也是最常见的导入方式&#xff0c;直接使用import语句。 # 方式1&#xff1a;导入整…...

2025年- H33-Lc141 --148. 排序链表(快慢指针,快指针先出发一步)--Java版

1.题目描述 2.思路 时间空间复杂度分别为 O(nlogn) 和 O(1)&#xff0c;根据时间复杂度想到二分法&#xff0c;从而联想到归并排序&#xff1b;对数组做归并排序的空间复杂度为 O(n)&#xff0c;分别由新开辟数组 O(n) 和递归函数调用 O(logn) 组成&#xff0c;而根据链表特性…...

【prometheus+Grafana篇】基于Prometheus+Grafana实现Oracle数据库的监控与可视化

&#x1f4ab;《博主主页》&#xff1a; &#x1f50e; CSDN主页 &#x1f50e; IF Club社区主页 &#x1f525;《擅长领域》&#xff1a;擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(MongoDB)有了…...

板凳-------Mysql cookbook学习 (四)

综合对比与选择建议 维度 PHP Java Python Ruby Perl 学习门槛 低&#xff08;适合新手&#xff09; 高&#xff08;语法复杂&#xff09; 低&#xff08;语法简洁&#xff09; 中&#xff08;需理解 Rails 理念&#xff09; 中&#xff08;特殊语法&#xf…...

【D1,2】 贪心算法刷题

文章目录 不同路径 II整数拆分 不同路径 II 初始化的时候不能整列初始化为1&#xff0c;因为如果有障碍物&#xff0c;后面的都不能到达 也不能整列初始化为0&#xff0c;因为状态转移的时候第一行第一列都没有检查&#xff0c;因此不能部分初始化 整数拆分 需要考虑几种情况…...

算法题(150):拼数

审题&#xff1a; 本题需要我们将数组中的数据经过排序&#xff0c;使得他们拼接后得到的数是所有拼接方案中最大的 思路&#xff1a; 方法一&#xff1a;排序贪心 贪心策略1&#xff1a;直接排序 如果我们直接按照数组数据的字典序进行排序&#xff0c;会导致部分情况出错 eg&…...

Denoising Score Matching with Langevin Dynamics

在自然图像等复杂数据集中&#xff0c;真实数据往往集中分布在一个低维流形上&#xff0c;概率密度函数的梯度&#xff08;即得分函数&#xff09;难以定义与估计。为缓解该问题&#xff0c;SMLD 提出使用不同强度的高斯噪声对数据进行扰动&#xff0c;扰动后的数据不再集中于低…...

Docker构建 Dify 应用定时任务助手

概述 Dify 定时任务管理工具是一个基于 GitHub Actions 的自动化解决方案&#xff0c;用于实现 Dify Workflow 的定时执行和状态监控。无需再为缺乏定时任务支持而感到困扰&#xff0c;本工具可以帮助设置自动执行任务并获取实时通知&#xff0c;优化你的工作效率。 注意&…...

mongodb管理工具的使用

环境&#xff1a; 远程服务器的操作系统&#xff1a;centOS stream 9; mongoDB version:8.0; 本地电脑 navicat premium 17.2 ; 宝塔上安装了mongoDB 目的&#xff1a;通过本地的navicat链接mongoDB,如何打通链接&#xff0c;分2步&#xff1a; 第一步&#xff1a;宝塔-&…...

第2篇 水滴穿透:IGBT模块的绝对防御体系

引言:从《三体》水滴到功率模块的哲学思考 科幻映照现实:三体探测器"水滴"的绝对光滑表面 → IGBT模块的可靠性设计哲学行业现状痛点:2023年OEM质量报告显示,电控系统23%的故障源自功率模块技术演进悖论:开关频率提升与可靠性保障的永恒博弈 一、基础理论:IGBT…...

LVGL(lv_dropdown下拉列表控件)

文章目录 🔧 一、基本概念🚀 二、创建一个 Dropdown🧰 三、常用函数1. 设置选项2. 获取选项3. 设置当前选中项4. 获取当前选中项索引5. 获取当前选中项文本🎨 四、样式与模式设置方向(最多显示多少项)设置显示模式设置提示文本📞 五、事件回调🧪 六、使用示例📌…...

2.微服务-配置

引入springcloud的pom配置 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/></parent> <dependencyManagemen…...

python实现pdf转图片(针对每一页)

from pdf2image import convert_from_path import ospdf_file rC:\Users\\Desktop\拆分\产权证.pdf poppler_path rC:\poppler-24.08.0\Library\bin # 这里改成你自己的路径output_dir rC:\Users\\Desktop\拆分\output_images os.makedirs(output_dir, exist_okTrue)image…...

C语言练手磨时间

167. 两数之和 II - 输入有序数组 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 <…...

数字图像处理——图像压缩

背景 图像压缩是一种减少图像文件大小的技术&#xff0c;旨在在保持视觉质量的同时降低存储和传输成本。随着数字图像的广泛应用&#xff0c;图像压缩在多个领域如互联网、移动通信、医学影像和卫星图像处理中变得至关重要。 技术总览 当下图像压缩JPEG几乎一统天下&#xff…...

验证器回调中value值没有数据

复杂的响应式&#xff0c;导致回调中value值没有数据&#xff0c;最终还是通过手动判断获取值处理 原理没有搞清楚&#xff0c;为什么回调中value没有值背景&#xff1a;动态增加了form表单的字段&#xff0c;通过for循环处理的。对每个新增的字段还要添加字段验证其。就出现了…...

Python | 需求预测模型

目录 需求预测 1.方法选择 2.颗粒度选择 3.在医药行业的应用 预测模型 1.模型对比 2.Prophet 3.Holt-Winters 需求预测 1.方法选择 方法 适用范围分类移动平均法中小企业、SKU较少的卖家低成本预测方案Excel趋势线预测中小企业、SKU较少的卖家低成本预测方案季节性系数法中小企…...

双指针算法:原理与应用详解

文章目录 一、什么是双指针算法二、双指针算法的适用场景三、双指针的三种常见形式1. 同向移动指针2. 相向移动指针3. 分离指针 四、总结 一、什么是双指针算法 双指针算法&#xff08;Two Pointers Technique&#xff09;是一种在数组或链表等线性数据结构中常用的高效算法技…...

打造灵感投掷器:我的「IdeaDice」开发记录

我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起源&#xff1a;我只是想“摇”出点灵感 有时候面对写作或者做产品设计&#xff0c;我会卡在「不知道从哪开始…...

2025ICPC邀请赛南昌游记

滚榜时候队伍照片放的人家的闹麻了&#xff0c;手机举了半天 。 最后银牌700小几十罚时&#xff0c;rank60多点。 参赛体验还行&#xff0c;队长是福建人&#xff0c;说感觉这个热度是主场作战哈哈哈哈。空调制冷确实不太行吧。 9s过A是啥&#xff0c;没见过&#xff0c;虽然…...

python重庆旅游系统-旅游攻略

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…...