制作自己的YOLOV5数据集(是否佩戴口罩检测)

1,106 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

每天都有新的发现,这篇博文首先讲一下如何制作自己的数据集,为后面训练自己的YOLOV5先打下基础。在python环境安装好的前提下,输入下面的代码安装制作数据集的工具。

pip install labelimg

安装过程如下所示。

屏幕截图 2022-05-26 084828.png

如果想提高速度,也可以在安装指令中指定数据源。

pip install labelimg -i https://pypi.doubanio.com/simple

然后将需要标注的数据集,按照下面的目录结构放入到指定的文件夹中。,首先建立两个文件目录,images存放图片数据,labels存放标签数据。

屏幕截图 2022-05-26 085222.png

文件夹的下级目录,如下图所示。一共有三个目录,分别存放训练数据,测试数据跟验证数据。

4.png

每个目录下名字自己设置,也可以按照我的进行命名,如下图所示,以train为例。

51.png

下面说一下labels目录,其结构与images结构相同,主要是使用labelimg标注过程中会产生标签数据,其目的就是存储标签数据。

29.png

上述准备工作都准备完成,下面我们利用labelimg进行数据标注。首先在终端输入下面的代码打开labelimg工具

labelimg

第一次打开大概是这个样子。

屏幕截图 2022-05-26 090009.png

首先,我们点击"open dir",选择刚刚images文件夹下的的train目录;然后点击"change save dir"选择labels文件夹下面的train目录。选择完成后,会自动加载images文件夹下train目录的第一张图片,如下所示。

50.png

我们主要是标注是否佩戴口罩,如果佩戴口罩标注为mask,没戴口罩标注为face。所以按照下面指示,首先点击标记1区域,选择标注数据集的类型,由于我们需要标记yolo格式,所以选择yolo,然后点击标记2区域,就是框选需要识别的区域,并在标记完弹出的框中输入标记的类型(mask、face)

58.png

标记过程如下所示

9001.png

9001.png

每标记完一张图片点击"next image"即可进行下一张的标记,每次标记完一张图片最好都“ctrl+s”保存一下。标记完成后,labels下面的train目录就自动生成了数据。如下所示。

222.png

其中classes.txt是标注的种类,结果如下。

318.png

然后每个标签对应的与图像的名字一致,主要是存放了标签类型与标记框的信息,如下所示。

屏幕截图 2022-05-26 091440.png

其他的测试集与验证集的标注方法与训练集相同,这里不再一一赘述,需要说明的是数据集最好多一些图片,不然训练的结果非常差劲,所以数据集的标注也是一件非常重要而且繁琐的事情。