机器学习笔记 - 在Vehicles数据集上训练 YOLOv5 目标检测器

Posted 坐望云起

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记 - 在Vehicles数据集上训练 YOLOv5 目标检测器相关的知识,希望对你有一定的参考价值。

一、yolov5源码下载 

https://github.com/ultralytics/yolov5https://github.com/ultralytics/yolov5

         下图显示了五种 YOLOv5 变体,从为在移动和嵌入式设备上运行而构建的最微型 YOLOv5 nano 模型开始,到另一端的 YOLOv5 XLarge。我们这里将使用基本模型 YOLOv5s,它在准确性和速度之间提供了较好的平衡。

二、下载数据集

        该数据集仅包含 627 个用于对象检测的各种车辆类别的图像,例如CarBusAmbulanceMotorcycleTruck。这些图像来自Open Images开源计算机视觉数据集。

        数据集网页地址,这个网站还是非常不错的数据集汇集地,值得探索一下,另外建议使用下面的两个方式下载。

Vehicles-OpenImages Object Detection DatasetDownload 627 free images labeled with bounding boxes for object detection.https://public.roboflow.com/object-detection/vehicles-openimages        1、可以使用如下命令下载

        2、也可以直接从百度网盘下载

链接:https://pan.baidu.com/s/1qa5iI9-uBhYGzp7BMPx0rw?pwd=cpgi 
提取码:cpgi

三、准备训练

        注意不要放在中文路径内。

1、准备数据

        创建data.yml,可以放在data目录下

path: 'vehicles'
train: 'train'
val: 'valid'
nc: 5
names: ['Ambulance', 'Bus', 'Car', 'Motorcycle', 'Truck']

2、训练超参数和模型配置

        YOLOv5 有大约 30 个超参数用于各种训练设置。这些定义在hyp.scratch-low.yaml用于从头开始的低增强 COCO 训练,放置在/data目录。训练数据超参数如下所示,这对于产生良好的结果非常重要,因此请确保在开始训练之前正确初始化这些值。对于本教程,我们将简单地使用默认值,从头开始针对 YOLOv5 COCO 训练进行了优化。

3、运行train.py脚本

        默认会下载yolov5s.pt文件,如果下载缓慢可以手动下载放到根目录下。

        目录结构如下。

         开始训练,运行完成会提示保存位置,

 4、运行验证脚本

        主要修改两个参数,一个是data.yaml,另一个是训练完得到的best.pt的路径。

parser.add_argument('--data', type=str, default=ROOT / 'data/data.yaml', help='dataset.yaml path')
parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'runs/train/exp19/weights/best.pt', help='model path(s)')

四、代码下载

ml_toolset/案例102 使用yolov5训练vehicles数据集 at main · bashendixie/ml_toolset · GitHubContribute to bashendixie/ml_toolset development by creating an account on GitHub.https://github.com/bashendixie/ml_toolset/tree/main/%E6%A1%88%E4%BE%8B102%20%E4%BD%BF%E7%94%A8yolov5%E8%AE%AD%E7%BB%83vehicles%E6%95%B0%E6%8D%AE%E9%9B%86

五、其它参考

机器学习笔记 - 使用pytorch + yolov5训练自定义数据集_坐望云起的博客-CSDN博客学习使用pytorch版本的yolo5模型进行自定义数据的目标识别训练。https://skydance.blog.csdn.net/article/details/122563689

以上是关于机器学习笔记 - 在Vehicles数据集上训练 YOLOv5 目标检测器的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记1:《机器学习》第二章 模型评估与选择

李弘毅机器学习课程笔记:机器/深度学习入门

深度学习笔记:利用预训练模型之特征提取训练小数据集上的图像分类器

机器学习:验证数据集与交叉验证

数据分析训练-Pima印第安人数据集上的机器学习-分类算法(根据诊断措施预测糖尿病的发病)

机器学习笔记:过拟合