当前位置: 首页 > 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…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

STM32标准库-ADC数模转换器

文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”&#xff1a;输入模块&#xff08;GPIO、温度、V_REFINT&#xff09;1.4.2 信号 “调度站”&#xff1a;多路开关1.4.3 信号 “加工厂”&#xff1a;ADC 转换器&#xff08;规则组 注入…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...