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

目标检测三大数据格式VOC,YOLO,COCO的详细介绍

注:本文仅供学习,未经同意请勿转载

 说明:该博客来源于xiaobai_Ry:2020年3月笔记

对应的PDF下载链接在:待上传

目录

目标检测常见数据集总结

 V0C数据集(Annotation的格式是xmI)

A.  数据集包含种类:

B.  V0C2007和V0C2012的区别:

C.  数据集格式:

D.  标注信息是用xmI文件组织的如下:

E.  各文件部分展示

COCO数据集(Annotation的格式是json)


目标检测常见数据集总结

这里先总结一下,我自己看完这三个常见目标检测数据集:

 V0C数据集(Annotation的格式是xmI)

A.  数据集包含种类:

一共包含了20类。一共包含了20类。Person,bird, cat, cow, dog, horse, sheep,aeroplane, bicycle, boat, bus, car, motorbike, train, bottle, chair, dining table, potted plant, sofa, tv/monitor.

B.  V0C2007和V0C2012的区别:

(图片来源于某博客,忘记是哪个博客了,如果博友知道,方便告诉,我补上链接)

VOC2007中包含9963张标注过的图片, 由train/val/test三部分组成, 共标注出24,640个物体。

对于检测任务,VOC2012的trainval/test包含08-11年的所有对应图片。 trainval有11540张图片共27450个物体。

C.  数据集格式:

. ├── Annotations 【Annotations下存放的是xml文件,每个xml对应JPEGImage中的一张图片描述

   |                              了图片信息】

  ├── ImageSets【包含三个子文件夹 Layout、Main、Segmentation】

  │   ├── Action【Action下存放的是人的动作(例如running、jumping等等)】

  │   ├── Layout 【Layout下存放的是具有人体部位的数据】

  │   ├── Main 【Main下存放的是图像物体识别的数据,总共分为20类。】

  │   └── Segmentation 【Segmentation下存放的是可用于分割的数据】

  ├── JPEGImages 【主要提供的是PASCAL VOC所提供的所有的图片信息,包括训练图片,测

                                     试图片

  |

  |

                   这些图像就是用来进行训练和测试验证的图像数据。注:是没有标记时的

                    原图

  ├── SegmentationClass 【存放按照 class 分割的图片;目标检测不需要】

  └── SegmentationObject【存放按照 object 分割的图片;目标检测不需要】

D.  标注信息是用xmI文件组织的如下:

	<annotation><folder>VOC2007</folder><filename>000001.jpg</filename>  # 文件名 <source><database>The VOC2007 Database</database><annotation>PASCAL VOC2007</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>

E.  各文件部分展示

        (1)JPEGImages:

        

         (2)Annotations

COCO数据集(Annotation的格式是json)

        图像来源链接:点击此处

A.  总类别:

        80类

B.  文件说明:

        3种标注类型,使用json文件存储,每种类型包含了训练和验证
        object instances(目标实例): 也就是目标检测object detection;object keypoints(目标上的关键点);
image captions(看图说话)

C.  数据格式:

	{"info": info,"licenses": [license],"images": [image],"annotations": [annotation],}info{"year": int,"version": str,"description": str,"contributor": str,"url": str,"date_created": datetime,}license{"id": int,"name": str,"url": str,} image{"id": int,"width": int,"height": int,"file_name": str,"license": int,"flickr_url": str,"coco_url": str,"date_captured": datetime,}

D.  与Voc的区别:

        和VOC相比,coco数据集,小目标多、单幅图片目标多、物体大多非中心分布、更符合日常环境,所以coco检测难度更大。

YOLO数据集(Annotation的格式是txt

A.   数据格式:

        会直接把每张图片标注的标签信息保存到一个txt文件中

B.  数据说明:

        0 0.521000 0.235075 0.362000 0.450249

        0 0.213000 0.645522 0.418000 0.519900

        0 0.794000 0.665423 0.376000 0.470149

  • 每一行代表标注的一个目标
  • 第一个数代表标注目标的标签,第一目标circle_red,对应数字就是0
  • 后面的四个数代表标注框的中心坐标和标注框的相对宽和高

 注:keras版yolov3训练格式是name box class这种形式

数据集格式的转换(以上三种数据集格式:xmI,json,txt的相互转换)

A.  VocyoIo(xmItxt)的互

参考的博客:

把LabelImg标注的YOLO格式标签转化为VOC格式标签_吾爱北方的母老虎-CSDN博客_voc计算公式

把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签_点亮~黑夜的博客-CSDN博客

B.  三者的互转

参考的博客:

a. 推荐博客1

VOC、COCO、YOLOv3 的 .json .xml .txt 标签文件内容,格式转换_轮子去哪儿了-CSDN博客_去voc

VOC、COCO、YOLOv3 的 .json .xml .txt 标签文件内容,格式转换_轮子去哪儿了的博客-CSDN博客_json转xml yolov3

b. 推荐博客2

yolo格式、voc格式、coco格式相互转换(xml,json,txt)_qq_38109843的博客-CSDN博客_yolo格式

yolo格式、voc格式、coco格式相互转换(xml,json,txt)_三寸光阴___的博客-CSDN博客

额外

python 下json转xml、html,xml转json_weixin_42081389的博客-CSDN博客_python html转json

python 下json转xml、html,xml转json_zhaojiafu666的博客-CSDN博客

相关文章:

目标检测三大数据格式VOC,YOLO,COCO的详细介绍

注&#xff1a;本文仅供学习&#xff0c;未经同意请勿转载 说明&#xff1a;该博客来源于xiaobai_Ry:2020年3月笔记 对应的PDF下载链接在&#xff1a;待上传 目录 目标检测常见数据集总结 V0C数据集(Annotation的格式是xmI) A. 数据集包含种类: B. V0C2007和V0C2012的区别…...

SpringBoot实现统一返回接口(除AOP)

起因 关于使用AOP去实现统一返回接口在之前的博客中我们已经实现了&#xff0c;但我突然突发奇想&#xff0c;SpringBoot中异常类的统一返回好像是通过RestControllerAdvice 这个注解去完成的&#xff0c;那我是否也可以通过这个注解去实现统一返回接口。 正文 这个方法主要…...

ChatGpt - 基于人工智能检索进行论文写作

摘要 ChatGPT 是一款由 OpenAI 训练的大型语言模型,可用于各种自然语言处理任务,包括论文写作。使用 ChatGPT 可以帮助作者提高论文的语言流畅度、增强表达能力和提高文章质量。在写作过程中,作者可以使用 ChatGPT 生成自然语言的段落、句子、单词或者短语,作为启发式的写…...

实例三:MATLAB APP design-多项式函数拟合

一、APP 界面设计展示 注:在左侧点击数据导入,选择自己的数据表,如果数据导入成功,在右侧的空白框就会显示数据导入成功。在多项式项数右侧框中输入项数,例如2、3、4等,点击计算按钮,右侧坐标框就会显示函数图像,在平均相对误差下面的空白框显示平均相对误差。...

springboot多种方式注入bean获取Bean

springboot动态注入bean1、创建Bean(demo)2、动态注入Bean3、通过注解注入Bean4、通过config配置注入Bean5、通过Import注解导入6、使用FactoryBean接口7、实现BeanDefinitionRegistryPostProcessor接口1、创建Bean(demo) Data public class Demo(){private String name;publi…...

Markdown及其语法详细介绍(全面)

文章目录一、基本语法1.标题2.段落和换行3.强调4.列表5.链接6.图片7.引用8.代码9.分割线10表格二、扩展语法1.标题锚点标题 {#anchor}2.脚注3.自动链接4.任务列表5.删除线6.表情符号7.数学公式三、Markdown 应用1.文档编辑2.博客写作3.代码笔记四、常见的工具和平台支持 Markdo…...

在Linux和Windows上安装sentinel-1.8.5

记录&#xff1a;380场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;安装sentinel-1.8.5。在Windows上操作系统上&#xff0c;安装sentinel-1.8.5。Sentinel是面向分布式、多语言异构化服务架构的流量治理组件。版本&#xff1a;JDK 1.8 sentinel-1.8.5 CentOS 7.9官网地址…...

面试攻略,Java 基础面试 100 问(十)

StringBuffer、StringBuilder、String区别 线程安全 StringBuffer&#xff1a;线程安全&#xff0c;StringBuilder&#xff1a;线程不安全。 因为 StringBuffer 的所有公开方法都是 synchronized 修饰的&#xff0c;而 StringBuilder 并没有 synchronized 修饰。 StringBuf…...

Zero-shot(零次学习)简介

zero-shot基本概念 首先通过一个例子来引入zero-shot的概念。假设我们已知驴子和马的形态特征&#xff0c;又已知老虎和鬣狗都是又相间条纹的动物&#xff0c;熊猫和企鹅是黑白相间的动物&#xff0c;再次的基础上&#xff0c;我们定义斑马是黑白条纹相间的马科动物。不看任何斑…...

51单片机简易电阻电感电容RLC测量仪仿真设计

51单片机简易电阻电感电容RLC测量仪仿真( proteus仿真程序讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0040 51单片机简易电阻电感电容RLC测量仪仿真51单片机最小系统的相关知识复位…...

[软件工程导论(第六版)]第6章 详细设计(课后习题详解)

文章目录1 假设只有SEQUENCE和DO-WHILE两种控制结构&#xff0c;怎样利用它们完成 IF THEN ELSE操作&#xff1f;2 假设只允许使用SEQUENCE和IF-THEN-ELSE两种控制结构&#xff0c;怎样利用它们完成DO WHILE操作&#xff1f;3 画出下列伪码程序的程序流程图和盒图&#xff1a;4…...

【2.19】算法题2:贪心算法、动态规划、分治

题目&#xff1a;给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。子数组 是数组中的一个连续部分。方法一&#xff1a;贪心算法原理&#xff1a;若当前指针所指元素之前的和小…...

【Redis】Redis 发布订阅通信模式 ( 发布订阅模式 | 订阅频道 | 发布消息 | 接收消息 )

文章目录一、发布订阅模式二、订阅频道三、发布消息四、接收消息一、发布订阅模式 Redis 中 存在一种 发布订阅 消息通信模式 : 消息发布者 : 负责发送消息 , 订阅者需要订阅该发布者频道 ;消息订阅者 : 负责接收消息 ; 订阅者 先 订阅 发布者频道 , 当 发布者 发布消息时 , …...

VNCTF 2023复现

文章目录象棋王子电子木鱼BabyGo象棋王子 签到题&#xff0c;直接在源码中找就ok。 找到一处编码&#xff0c;在控制台输出。 flag为&#xff1a;flag{w3lc0m3_t0_VNCTF_2023~~~} 电子木鱼 需要先理清代码逻辑。 存在三个路由。 一&#xff1a;/路由用来查看当前的功德数量…...

python基础知识有哪些需要背(记住是基础知识)我是初学者

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;一个有趣的事情&#xff0c;一个有趣的事情&#xff0c;今天让我们一起来看看吧&#xff01; 1、python基础知识有哪些需要背&#xff08;记住是基础知识&#xff09;我是初学者 或看好Python的广阔前景&#xff0c;或…...

Linux下TCP连接断开后不释放的解决办法

问题&#xff1a;在开发测试时发现断开与服务器端口后再次连接时拒绝连接。 分析&#xff1a;服务器上查看端口占用情况&#xff0c;假设端口为8888。 netstat -anp |grep 8888 发现端口8888端口显示被占用&#xff08;ip为本机ip确定是上次连接&#xff09;且状态为ESTABLI…...

1.关于嵌入式开发软件工程师的理解

学习嵌入式软件开发&#xff0c;首先要学会使用工具&#xff0c; 包括各种语言&#xff0c;C语言、FPGA、C等各种工具软件&#xff0c;各种芯片开发的IDE环境各种操作系统&#xff0c;Vxworks、Linux、Freertos等计算机基础&#xff0c;基本的框架结构&#xff0c;网络通信等编…...

1760字,让你拿捏 [‘列表‘]

如约而至&#xff0c;紧接着第一篇文章&#xff0c;小编将会陆续把自己精心做的全套Python笔记依次发放给大家&#xff0c;便于大家学习Python、期末备考、巩固基础等(这几期是公众号小插曲&#xff0c;后期发放编程技术的话主要还是会围绕Java来展开&#xff0c;感谢小伙伴们的…...

A562基于android的养老APP

需求信息&#xff1a; 1&#xff1a;家庭信息管理,包括家庭成员基本情况、性别、年龄、关系、工作单位、联系方式&#xff08;手机号码、微信等&#xff09;&#xff1b; 2&#xff1a;个人健康数据管理,包括姓名、性别、年龄、关系、原工作单位、联系方式&#xff08;手机号码…...

java面试题-并发基础

1.多线程的出现是要解决什么问题的? 本质什么?提高程序性能&#xff1a;单线程程序只能按照固定的顺序依次执行每个任务&#xff0c;无法同时处理多个任务。多线程技术可以在同一时间内执行多个任务&#xff0c;从而提高程序的运行效率和响应速度。提高程序的并发性&#xff…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...