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

news2024/9/25 19:23:28

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

 说明:该博客来源于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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT学习记录散件

fromLocal8Bit() qt中fromLocal8Bit()函数可以设置编码。 因为QT默认的编码是unicode&#xff0c;不能显示中文的 而windows默认使用&#xff08;GBK/GB2312/GB18030&#xff09; 所以使用fromLocal8Bit()函数&#xff0c;可以实现从本地字符集GB到Unicode的转换&#xff0c;从…

32-Golang中的map

Golang中的map基本介绍基本语法map声明的举例map使用的方式map的增删改查操作map的增加和更新map的删除map的查找map的遍历map切片基本介绍map排序map的使用细节基本介绍 map是key-value数据结构&#xff0c;又称为字段或者关联数组。类似其它编程语言的集合&#xff0c;在编程…

2023美赛ABCDEF思路汇总

注&#xff1a;以下每个题思路仅是个人所想所做&#xff0c;不代表他人。由于时间仓促完成这么多&#xff0c;难免有不足之处&#xff0c;还请谅解。 文章目录A题第一大问第二大问B题第一问第二问第三问C题第一问第二问第三问第四问D题第一问第二问第三问第四问第五问E题第一问…

#Paper Reading# Language Models are Unsupervised Multitask Learners

论文题目: Language Models are Unsupervised Multitask Learners 论文地址: https://life-extension.github.io/2020/05/27/GPT技术初探/language-models.pdf 论文发表于: OpenAI 2019 论文所属单位: OpenAI 论文大体内容&#xff1a; 本文主要提出了GPT-2&#xff08;Gener…

Visual Studio 2022: 增加对虚幻引擎的支持

自 Visual Studio 2022 发布以来&#xff0c;我们一直专注于为游戏和大型项目开发人员提供一系列生产力和性能改进。今天&#xff0c;我们很高兴与大家分享下一组专门用来提高虚幻引擎开发效率的功能。我们听到并看到了来自你&#xff08;我们的游戏开发人员&#xff09;的大量…

Spring MVC之 一次请求响应的过程

Spring MVC 会创建两个容器&#xff0c;其中创建Root WebApplicationContext 后&#xff0c;调用其refresh()方法会触发刷新事件&#xff0c;完成 Spring IOC 初始化相关工作&#xff0c;会初始化各种 Spring Bean 到当前容器中我们先来了解一个请求是如何被 Spring MVC 处理的…

2023最新文件快递柜系统网站源码 | 匿名口令分享 | 临时文件分享

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 2023最新文件快递柜系统网站源码 | 匿名口令分享 | 临时文件分享 很多时候&#xff0c;我们都想将一些文件或文本传送给别人&#xff0c;或者跨端传递一些信息&#xff0c;但是我们又不…

自抗扰控制ADRC之三种微分跟踪器TD仿真分析

目录 前言 1 全程快速微分器 1.1仿真分析 1.2仿真模型 1.3仿真结果 1.4结论 2 Levant微分器 2.1仿真分析 2.2仿真模型 2.3仿真结果 3.非线性跟踪微分器——韩教授 3.1仿真分析 3.2小结 4.总结 前言 工程上信号的微分是难以得到的&#xff0c;所以本文采用微分器…

重磅 | 小O软件新品【鲸鱼地图】发布

千呼万唤始出来.......&#xff0c;小O系列软件又添新品【鲸鱼地图】&#xff01;&#xff01;&#xff01; 2023年新年伊始&#xff0c;小O就投入到新品研发工作中&#xff0c;秉承“发现地理价值”理念&#xff0c;为用户提供更加好用、易用的地图软件产品&#xff0c;经过春…

【C语言】编程初学者入门训练(完结)

文章目录1. 实践出真知2. 我是大V3. 有容乃大4. 小飞机5. 缩短2进制6. 十六进制转十进制7. printf的返回值8. 成绩输入输出9. 学生基本信息输入输出10. 字符圣诞树11. ASCII码12. 出生日期输入输出13. 按照格式输入并交换输出14. 字符转ASCII码15. 计算表达式的值16. 计算带余除…

Java特性之设计模式【策略模式】

一、策略模式 概述 在策略模式&#xff08;Strategy Pattern&#xff09;中&#xff0c;一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式 在策略模式中&#xff0c;我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略…

Matlab数学建模常用算法及论文插图绘制模板资源合集

最近有很多朋友咨询我关于Matlab论文插图绘制方面的问题。 问了一下&#xff0c;这些朋友中&#xff0c;除了写博士论文的&#xff0c;大部分都是要参加美赛的。 这让我突然想起&#xff0c;自己曾经为了水论文&#xff0c;购买过一批Matlab数学建模的资料。 想了想&#xf…

EMIF转AXI-Lite接口

最近想用DSP对FPGA里的IP进行配置&#xff0c;感觉没有什么特别好的办法。如果能像Zynq一样直接有能够配置外设的AXI-Lite接口就好了。EMIF是DSP的外部存储器访问接口&#xff0c;支持对存储器的同步或异步访问。在我现有的条件下&#xff0c;利用EMIF接口配置FPGA内部的寄存器…

2023河南省第二届职业技能大赛郑州市选拔赛“网络安全”项目比赛样题任务书

2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书 一、竞赛时间 共计360分钟。 竞赛任务书内容 2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书 A模块基础设施设置/安全加固&#xff08;200分&#xff09; A-1&…

如何安全存储企业文件?

信息时代的到来&#xff0c;企业文件的安全存储越来越被企业管理者看重。常见的企业文件存储是借用第三方工具&#xff0c;如企业网盘&#xff0c;这种方法性价比高&#xff0c;而且也比较安全&#xff0c;被各大企业所喜爱。市面上的企业网盘类工具不胜枚举&#xff0c;该如何…

O(1)调度器:Linux2.6版本的核心算法

上一章学习了O(n)调度器的设计&#xff0c;以及它的核心算法&#xff0c;其主要思路如下&#xff1a; O(n)调度器采用一个Runqueue运行队列来管理所有可运行的进程&#xff0c;在主调度schedule函数中选择一个优先级最高&#xff0c;也就是时间片最大的进程来运行&#xff0c;…

2019蓝桥杯真题完全二叉树的权值 C语言/C++

题目描述 给定一棵包含 N个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从 上到下、从左到右的顺序依次是 A_1, A_2, A_N&#xff0c;如下图所示&#xff1a; 现在小明要把相同深度的节点的权值加在一起&#xff0c;他想知道哪个深度的节点 权值之和最…

力扣2241. 设计一个 ATM 机器

力扣上的一个中等难度的题&#xff0c;之所以写一篇博客记录下来&#xff0c;是因为貌似触发了力扣的彩蛋&#xff0c;第一次遇见&#xff0c;感觉挺有意义的。 题目如下&#xff1a; 一个 ATM 机器&#xff0c;存有 5 种面值的钞票&#xff1a;20 &#xff0c;50 &#xff0c…

手把手教你使用gdb调试器

所谓调试&#xff0c;指的是对编好的程序用各种手段进进行查错和排非错的过程。进行这种查错处理时&#xff0c;下面将讲解如何使用gdb进行程序的调试。 gdb 简介 gdb是一个功能强大的调试工具&#xff0c;可以用来调试C程序或C程序。在使用这个工具进行程序调试时&#xff0…

nodejs学习-4:nodejs连接mongodb和相关操作

1. express生成器生成express模板 前提需要首先下载好&#xff1a;express-generator&#xff0c;命令如下(全局安装) npm install -g express-generator生成模板命令如下&#xff1a; express 项目名称 --viewejs // --view 参数表示前端界面使用的引擎&#xff0c;这里使用…