当前位置: 首页 > news >正文

机器学习笔记 - 在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

相关文章:

  • win10系统安装虚拟机centos
  • 从零备战蓝桥杯——二叉树及相关题目(基础篇)
  • 软件企业和双软企业的区别
  • 字节跳动安全Ai挑战赛-基于文本和多模态数据的风险识别总结
  • DRF-(10)
  • java面试-GC垃圾回收机制
  • TOREX | 如何延长设备的电池寿命?——充电IC
  • 电路方案分析(十一)低电平(5uA)V-I转化器
  • 【Hadoop生态圈】8.Flink入门教程
  • 代码整洁之道,评审问题分享记录
  • 【调研】详解Transformer结构——Attention Is All You Need
  • Linux基础组件之消息协议设计概述
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • 微服务Spring Boot 整合 Redis 分布式锁 Redission 实现优惠卷秒杀 一人一单
  • java毕业设计医护人员排班系统Mybatis+系统+数据库+调试部署
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 30秒的PHP代码片段(1)数组 - Array
  • download使用浅析
  • Fabric架构演变之路
  • JavaScript-Array类型
  • JAVA多线程机制解析-volatilesynchronized
  • MySQL数据库运维之数据恢复
  • opencv python Meanshift 和 Camshift
  • vue-router 实现分析
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 初识 webpack
  • 大型网站性能监测、分析与优化常见问题QA
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 聊聊redis的数据结构的应用
  • 前端临床手札——文件上传
  • 如何进阶一名有竞争力的程序员?
  • 实现菜单下拉伸展折叠效果demo
  • 走向全栈之MongoDB的使用
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #162 (Div. 2)
  • (2)STM32单片机上位机
  • (arch)linux 转换文件编码格式
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (java)关于Thread的挂起和恢复
  • (k8s中)docker netty OOM问题记录
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (区间dp) (经典例题) 石子合并
  • (全注解开发)学习Spring-MVC的第三天
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)Sql Server 保留几位小数的两种做法
  • (转)创业家杂志:UCWEB天使第一步
  • .axf 转化 .bin文件 的方法
  • .describe() python_Python-Win32com-Excel
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net 提取注释生成API文档 帮助文档