1.目标检测常用数据集格式
2.YOLO数据集打标签
目标检测常用数据集格式
我们常需利用标注工具如LabelImg、源码LabelMe等制作数据集,解析或使用开源数据集进行目标检测模型训练。源码这些数据集格式多样,解析不具一致性,源码目标检测数据格式又相对复杂。解析网盘 php 源码因此,源码为兼容框架和源码,解析我们通常需将自定义数据集转换为标准格式,源码如COCO格式和VOC格式,解析这两种格式因其知名度和解析库而广受欢迎。源码许多开源数据集都提供格式转换工具,解析而使用主流标注工具自行标注的源码数据集也已有许多成熟的开源转换代码。本文旨在介绍VOC和COCO数据集的解析梦想墙源码格式,并说明如何组织数据集目录结构以方便转换。源码
PASCAL VOC数据集源自同名竞赛,始于年,结束于年。虽然不是特别大型的目标检测数据集,但在COCO诞生前,它是非常流行的目标检测任务基准数据集。主要数据集为VOC和VOC,它们的格式相同。以下以VOC为例进行说明。
根级目录下有5个目录:JPEGImages、Annotations、ImageSets、卖货系统源码Layout和Action。JPEGImages目录存放所有,Annotations存放对应的XML标注文件,ImageSets文件夹下的txt文件用于数据集划分,Layout和Action文件夹分别按人体部位和动作类别分类。Segmentation文件夹存放分割数据集划分。对于通用目标检测任务,我们通常只需关注Main文件夹下的四个总体划分文件。
VOC数据集的标注格式中,最外层为annotation标签,包含图像所在文件夹、文件名、来源、在线朗读源码图像尺寸等信息,以及多个object标签,每个标签包含一个目标对象的信息。
制作自定义VOC格式的数据集时,需构建三个文件夹:JPEGImages、Annotations和ImageSets/Main,其中Main文件夹存放train.txt、val.txt和test.txt等数据集划分文件。构建VOC格式数据集相对简单,因为LabelImg等工具生成的xml标注就是VOC格式所需的。
COCO数据集是微软构建的一个大型目标检测基准数据集,包括检测、分割、招贴网++源码关键点估计等任务。本文以COCO数据集为例进行说明。COCO数据集的关键文件包括unlabeled、train、val、test和annotations文件夹。annotations文件夹包含各种类型的标注文件,如instances_train.json和instances_val.json。
COCO数据集的标注文件是json格式,包含info、licenses、images、categories和annotations五个部分。images部分包含信息,categories部分包含类别信息,annotations部分包含标注信息,如id、图像id、类别id、分割级别标注和边界框标注等。
构建COCO数据集时,只需生成子集文件夹和标注文件夹,标注文件夹每个json对应一个子集的标注。VOC和COCO格式也可以互相转换,转换代码可在Github上搜索。
YOLO格式虽然不常用,但其标注格式与VOC类似,为txt格式,每行包含一个目标框,空格分隔的数值代表目标框的位置和大小。
本文介绍了目标检测中常见的两种数据集格式,VOC和COCO,理解这些格式有助于使用目标检测源码和框架。
YOLO数据集打标签
首先,为了使用YOLO数据集打标签,你需要在PyCharm环境中下载并安装labelImg软件。在终端中输入命令启动它:
在PyCharm项目结构中,新建两个文件夹,分别命名为"images"和"labels",然后将待标注的全部复制到"images"文件夹。
使用labelImg时,你需要在打开的目录中选择"images"作为文件夹,"labels"作为标签文件夹的位置。点击"Open Dir",选择你的数据集,然后切换"Save Dir"到labels文件夹。
开始标注时,切换到"yolo"格式。通过键盘快捷键操作:按下"W"键开始标注,"A"键用于切换到上一张,"D"键则用于切换到下一张。可能会遇到与Python版本相关的兼容问题,若遇到闪退或滚动缩放报错,你需要检查并可能修改源代码,确保坐标值转换为整数类型。
修改后,通过终端重新启动软件,然后在左侧输入对应的标签,按"W"键框选区域,保持鼠标点击并拖动选择,同时输入标签信息。如果你的标注内容相对单一,可以使用"Use default label"快速选择预设标签。
为了提高效率,可以选择"View/Auto save mode"的自动保存模式,这样在标注每张时,不需要每次都确认保存,从而节省时间。