您现在的位置是:首页 >技术教程 >python yolov5 脚本制作(第2部分:图片标记并生成对应标签文件、数据集的训练、使用训练出来的权重文件)网站首页技术教程

python yolov5 脚本制作(第2部分:图片标记并生成对应标签文件、数据集的训练、使用训练出来的权重文件)

Chat blanc 2024-06-28 12:01:02
简介python yolov5 脚本制作(第2部分:图片标记并生成对应标签文件、数据集的训练、使用训练出来的权重文件)

一、图片标记

训练数据集所需要用到的图片需要大家自行去获取,这里我就以yolo文件自带的两张图片做范例来演示一下如何去对图片进行标记

1、对图片进行标记用到的是labelimg这个工具,安装方法:pip install labelimg;使用方法:可以在命令行终端中输入 labelimg 命令启动 labelimg 工具,开始进行图像标注的工作。(因为我个人用的是pycharm里面的terminal启动的,所以就在此演示一下怎么启动和进行标注)

注:在开始以下操作前需要在data文件夹下创建labels文件夹,存放标注后生成的标签文件(.txt文件)(必要)
在这里插入图片描述
2、输入labelimg后按enter进入pyqt5界面,选择Open Dir(“Open Dir”(打开目录)功能用于打开包含要标注图像的文件夹。它允许我们一次性加载多个图像,并在一个界面中逐个进行标注。)
在这里插入图片描述
3、选择你要标注的图片文件夹,我这里默认就用了yolo里面自带的图片文件夹去训练
在这里插入图片描述
4、点击选择文件夹就可以显示出下图的效果了
在这里插入图片描述
5、类别选择成yolo;点击Create RectBox;对图片上需要标注的地方进行标注;命名标签(我这里标注了头所以就命名了head)
在这里插入图片描述
6、命名标签完毕后按下ctrl+s保存一下当前标签,然后点击 Next Image 就可以对下一张图片继续进行标注了,标注方法和前面都是一致的;当所有的图片标注完成并保存后就可以在data文件里面看到每张图片对应的标签文件;以上是如何对图片进行标注并生成对应的标签文件方法。

二、 训练自己的数据集

1、在data文件夹下复制并粘贴coco128.yaml,将coco128.yaml改个文件名,我这里用的是aibot所以最后得到aibot.yaml文件
在这里插入图片描述
2、将yaml文件里面的内容改成适合自己的内容,如下图(仅作参考,自行操作时根据实际情况填写)
在这里插入图片描述
3、通过Github https://github.com/ultralytics/yolov5 下载 YOLOv5n 模型(因为YOLOv5n模型具有更多的参数和计算复杂度。它在准确性方面可能会比YOLOv5s更好,所以我们选择它)
在这里插入图片描述
4、下载好后将下载好的模型放入pycharm里面的youlov5文件夹内,这样我们就能拥有一个yolov5n的模型了
在这里插入图片描述
5、到这里为止,我们需要准备的(yaml文件、权重文件)都已经准备好了,接下来就可以开始进入训练环节了

在这里插入图片描述
找到train.py文件,翻到parse_opt方法,根据自己的实际情况更改有注释部分的代码参数,训练的轮次越多效果会越好,当然有时候你指定的次数过高也跑不到你指定的次数,因为它训练的效果已经很不错了它就会自动停止训练了

6、当调试台出现以下信息就证明已经开始训练了
在这里插入图片描述
7、这个界面表示训练已经完成了,训练的结果被保存在runs rainexp这个路径下了
在这里插入图片描述
以上是如何实现一个自己的训练集的详细方法,在实际操作时请根据自己的实际情况进行操作

三、使用训练出来的权重文件进行图像检测

1、训练结束后会在 D:yolov5-6.0 uns rainexpweights 这个目录下生成训练好的权重文件,复制best.pt这个权重文件的路径
请添加图片描述
2、将其配置在detect.py文件的weights行就可以开始运行了在这里插入图片描述
3、运行完成后会在 runs/detect/exp4 这个路径下产生识别的结果,这里我展示一下我训练了900次后的识别结果

请添加图片描述
识别出来的阈值还是可以的,以上就是有关于yolov5脚本制作的全部内容,如有不足之处,欢迎各位大佬在评论区做补充,最后谢谢各位观看到这里,我们下一部分见~

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。