AI计算机视觉笔记十六:yolov5训练自己的数据集

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本文介绍了一种利用云服务器AutoDL训练疲劳驾驶行为检测模型的方法。由于使用本地CPU训练效率低下,作者选择了性价比高的AutoDL云服务器。首先,从网络获取了2000多张疲劳驾驶行为图片并使用labelimg软件进行标注。接着,详细介绍了在云服务器上创建实例、上传数据集和YOLOv5模型、修改配置文件以及开始训练的具体步骤。整个训练过程耗时约3小时,最终生成了可用于检测的模型文件。

一般情况下,大部分人的电脑都是没有cpu的,cpu也是可以训练的,但花费的时间太长,实际200张图片,使用CPU训练300轮花了3天,本章记录使用云服务器来训练自己的数据集。

使用的云服务器是AutoDL,一直在使用,性价比还是比较高的。

AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

训练疲劳驾驶行为检测

一、准备数据集

数据集可以自己拍照,也可以网上找,博主在网上找到了一份疲劳驾驶行为的图片,直接拿过来用了,共有2千多张。

image.png
准备好数据后需要数据标注,数据标注是大部分人工智能算法得以有效运行的关键环节。数据标注的过程是通过人工贴标的方式,为机器系统可供学习的样本。yolov5标注使用的是labelimg软件。

需要数据集,下方评论或@博主。标注数据是在本地电脑操作,标注后才把数据上传到云服务器训练

二、labelimg

1、激活环境

conda activate yolo
image.png

2、安装labelimg

使用pip 安装
pip install labelimg
安装后,在终端输入labelimg启动软件
image.png

3、标注

标记完成的数据请按照下面的格式进行放置,方便程序进行索引。 colo128 ├─ images │ ├─ test # 下面放测试集图片 │ ├─ train # 下面放训练集图片 │ └─ val # 下面放验证集图片 └─ labels ├─ test # 下面放测试集标签 ├─ train # 下面放训练集标签 ├─ val # 下面放验证集标签

3.1 打开图片及设置标注文件保存的目录并设置自动保存,这里需要主要选择yolo格式
image.png

3.2 开始标注,画框,标记目标的label,crtl+s保存,然后d切换到下一张继续标注,不断重复重复
image.png
标注完成后,把colo128打包压缩下,准备上传到服务器。

三、训练数据集

1、注册AutoDL

自行注册,云服务可以按时收费,也可以其他方式,自己选择。

2、创建实例

image.png
配置选择,选择的是3090,也可以其他,我比较喜欢就是直接选择好社区镜像,就给你创建好环境

image.png
创建后开启,可以通过多种方式登录,为了方便,直接使用JupyterLab
image.png

3、上传数据集和下载YOLOV5-5.0

删除环境自带的yolov5版本,然后下载yolov5-5.0版本,并上传到服务器,可以直接拖进去,并把标注好的数据也一并上传。
image.png

4、修改配置文件

博主是 基于colo128配置文件训练的,这里需要修改两个文件

修改文件一:复制yolov5-5.0/data/colo128.yaml为pilao_coco128.yaml

修改一:数据集路径
train: ../coco128/images/train2017/ # 128 images
val: ../coco128/images/train2017/ # 128 images

number of classes
修改,原本是80,修改成3
nc: 3
修改二:class names即标注的类,数据集标注了3类,所以修改成3类,colo128是80类
class names
names: [ 'closed_eye','closed_mouth','open_eye']
修改文件二:复制yolov5-5.0/models/yolov5s.yaml为pilao_yolov5s.yaml

注意不一定是yolov5s.yaml,这是训练时参考的模型,可以是其他的,自行了解

parameters
修改,原本是80,修改成3
nc: 3 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple

5、训练

python train.py --img 640 --batch 16 --epochs 300 --data ./data/pilao_coco128.yaml --cfg ./models/pilao_yolov5s.yaml

image.png
看到进度,已经在运行了,训练了大概3个多小时。

最后可以在runs/train/expX/weights目录下看到生成了两个pt文件

image.png

6、测试

python detect.py --source data/images/zidane.jpg --weights runs/train/exp2/weights/best.pt
路径自行修改。

相关文章
|
11月前
|
机器学习/深度学习 人工智能 算法
AI 基础知识从 0.6 到 0.7—— 彻底拆解深度神经网络训练的五大核心步骤
本文以一个经典的PyTorch手写数字识别代码示例为引子,深入剖析了简洁代码背后隐藏的深度神经网络(DNN)训练全过程。
1570 56
|
9月前
|
机器学习/深度学习 人工智能 JSON
PHP从0到1实现 AI 智能体系统并且训练知识库资料
本文详解如何用PHP从0到1构建AI智能体,涵盖提示词设计、记忆管理、知识库集成与反馈优化四大核心训练维度,结合实战案例与系统架构,助你打造懂业务、会进化的专属AI助手。
1364 6
|
12月前
|
机器学习/深度学习 人工智能 数据可视化
基于YOLOv8的AI虫子种类识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于YOLOv8与PyQt5开发,实现虫子种类识别,支持图片、视频、摄像头等多种输入方式,具备完整训练与部署流程,开箱即用,附带数据集与源码,适合快速搭建高精度昆虫识别系统。
基于YOLOv8的AI虫子种类识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
12月前
|
机器学习/深度学习 人工智能 API
AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架,涵盖全参数/PEFT训练与分布式优化
AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架,涵盖全参数/PEFT训练与分布式优化
|
9月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2237 87
|
10月前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
1738 89
|
9月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
854 30
|
9月前
|
设计模式 人工智能 自然语言处理
3个月圈粉百万,这个AI应用在海外火了
不知道大家还记不记得,我之前推荐过一个叫 Agnes 的 AI 应用,也是当时在 WAIC 了解到的。
884 2

热门文章

最新文章