一、前言
作者采用的数据集为作者在百度下载的共享单车图片数据,训练集共计360张(哈啰单车180张,美团单车96张,青桔单车84张),验证集共计25张,覆盖了不同的场景和光照条件。本次对目标数据集进行标注的软件是LabelImg,此软件支持YOLO的标注格式,对新手较为友好。下面我将为大家详细介绍如何从零开始创建属于我们自己的数据集(包括图片数据的下载,标注以及数据集格式)。
二、数据集图片的获取
数据集的获取主要有两种方式,第一种是去数据集网站寻找别人已经标注好的数据集,优点是方便,快捷,省去了很多麻烦,不需要自己再手动标注,但是通常找不到自己需要的数据。本文主要讲解第二种方法——自己制作数据集。
自己制作数据集只需要在图片网站下载自己想要的图片,最简单最直接的办法就是百度,将自己需要的图片下载保存到同一个文件夹即可,相信这个大家都会,就不做示例了。
三、labelImg进行图像标注
3.1 LabelImg简介
Labelmg是一个用于标注图像的开源图标注工具,主要应用于目标检测任务的数据集制作,其代码和操作可查看GitHub LabelImg。它支持手动绘制矩形框,标记图像中的对象,并将这些标注保存为不同格式的标注文件,如XML格式的Pascal VOC或TXT 格式的YOLO。
1.多格式支持:LabelImg支持生成Pascal VOC格式(XML)和YOLO格式(TXT)的标注文件。
2.多平台支持:LabelImg可以在Window,Linux和macOS上运行。
3.易于使用:该工具提供了直观的图形界面,通过简单的点击个拖动来创建和编辑标注框。还支持快捷键来加快标注速度。
4。可视化标注:LabelImg提供了图像和标注的实时可视化功能,可以及时查看并调整标注框的位置和大小。
5.自动保存:用户在完成图像标注后,LabelImg 会自动保存标注文件,减少数据丢失的风险。
6. 支持自定义类别:用户可以根据需求自定义标注类别,并在不同类别之间切换。
3.2 LabelImg下载
LabelImg可以通过GitHub仓库或通过命令行安装。本文采用Pip进行下载。由于Pip默认是从国外下载要安装的工具包,通常会因为网络错误等原因导致下载失败,为了避免下载失败,本文将Pip的国外镜像源换成了国内的阿里云。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
复制上方代码, 点击Win+R后输入cmd,点击确定,就可以在命令行粘贴代码并按下回车即可。
镜像源设置后可以通过下方代码查看。
pip config list
在命令行输入下方代码安装LabelImg。(注意LabelImg中的I是大写)
pip install labelImg
接下来在终端中输入labelImg即可打开工具。
C:\Users\29982>labelImg
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "D:\APP\python\Scripts\labelImg.exe\__main__.py", line 4, in <module>
File "D:\APP\python\Lib\site-packages\labelImg\labelImg.py", line 5, in <module>
import distutils.spawn
ModuleNotFoundError: No module named 'distutils'
如果出现上方报错,表明labelImg工具在启动时无法找到 Python 的distutils模块。distutils是一个用于构建和安装 Python 包的标准库模块,但在某些 Python 发行版中,它可能未被包含或安装。只需输入下面代码即可安装distutils模块。
pip install setuptools
安装完成后再次输入labelImg即可打开工具。
3.3 LabelImg使用教程
1.点击Open Dir选择之前保存下载图片的文件夹(建议命名为train2017)。
2.点击Change Save Dir选择一个空的文件夹(建议命名为train2017_labels)。
3.Next Image表示下一张图片。按D也可切换下一张。
4.Prev Image表示上一张图片。按A也可切换上一张。
5.点击PascalVOC切换成YOLO格式。
6.点击W然后用鼠标框选目标物体,在标签处打上同一标签,选择下一张继续重复以上操作即可。
四、 数据集格式
- images文件夹存放的主要是图片。
- images文件夹底下的train2017文件夹存放的是用来训练的图片。
- images文件夹底下的val2017文件夹存放的是用来验证的图片。
- labels文件夹存放的主要是images文件所对应的标签数据。
- labels文件夹底下的train2017文件夹存放的是用来训练的图片的标签数据。
- labels文件夹底下的val2017文件夹存放的是用来验证的图片的标签数据。
到目前为止,您已经完成了所有数据集的准备工作,接下来只需要将数据集放在YOLOv8的环境中进行训练,即可获得自己的目标检测模型了。这些方法作者将放在下期的文章中为大家逐一讲解。
如果觉得作者的内容能给你带来帮助,欢迎大家关注,原创不易,感谢大家的点赞关注,谢谢大家!关注即可获得作者的数据集。