您现在的位置是:首页 >技术教程 >python yolov5 脚本制作(第2部分:图片标记并生成对应标签文件、数据集的训练、使用训练出来的权重文件)网站首页技术教程
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脚本制作的全部内容,如有不足之处,欢迎各位大佬在评论区做补充,最后谢谢各位观看到这里,我们下一部分见~