AI计算机视觉笔记一:YOLOV5疲劳驾驶行为检测

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: 如何使用云服务器AutoDL进行深度学习模型的训练,特别是针对YOLOV5疲劳驾驶行为训练检测

若该文为原创文章,转载请注明原文出处。

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

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

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

一、准备数据集

数据集可以自己拍照,也可以网上找,博主在网上找到了一份疲劳驾驶行为的图片,直接拿过来用了,共有2千多张。
image.png
准备好数据后需要数据标注,数据标注是大部分人工智能算法得以有效运行的关键环节。数据标注的过程是通过人工贴标的方式,为机器系统可供学习的样本。yolov5标注使用的是labelimg软件。

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

二、labelimg

1、激活环境

conda activate yolo

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

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

2、创建实例

配置选择,选择的是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文件

6、测试

python detect.py --source data/images/zidane.jpg --weights runs/train/exp2/weights/best.pt

路径自行修改。

相关文章
|
5天前
|
人工智能 测试技术 API
AI计算机视觉笔记二十 九:yolov10竹签模型,自动数竹签
本文介绍了如何在AutoDL平台上搭建YOLOv10环境并进行竹签检测与计数。首先从官网下载YOLOv10源码并创建虚拟环境,安装依赖库。接着通过官方模型测试环境是否正常工作。然后下载自定义数据集并配置`mycoco128.yaml`文件,使用`yolo detect train`命令或Python代码进行训练。最后,通过命令行或API调用测试训练结果,并展示竹签计数功能。如需转载,请注明原文出处。
|
5天前
|
机器学习/深度学习 人工智能 PyTorch
AI计算机视觉笔记三十二:LPRNet车牌识别
LPRNet是一种基于Pytorch的高性能、轻量级车牌识别框架,适用于中国及其他国家的车牌识别。该网络无需对字符进行预分割,采用端到端的轻量化设计,结合了squeezenet和inception的思想。其创新点在于去除了RNN,仅使用CNN与CTC Loss,并通过特定的卷积模块提取上下文信息。环境配置包括使用CPU开发板和Autodl训练环境。训练和测试过程需搭建虚拟环境并安装相关依赖,执行训练和测试脚本时可能遇到若干错误,需相应调整代码以确保正确运行。使用官方模型可获得较高的识别准确率,自行训练时建议增加训练轮数以提升效果。
|
5天前
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
|
5天前
|
人工智能 并行计算 测试技术
AI计算机视觉笔记三十一:基于UNetMultiLane的多车道线等识别
该项目基于开源数据集 VIL100 实现了 UNetMultiLane,用于多车道线及车道线类型的识别。数据集中标注了六个车道的车道线及其类型。项目详细记录了从环境搭建到模型训练与测试的全过程,并提供了在 CPU 上进行训练和 ONNX 转换的代码示例。训练过程约需 4 小时完成 50 个 epoch。此外,还实现了视频检测功能,可在视频中实时识别车道线及其类型。
|
4天前
|
机器学习/深度学习 人工智能 搜索推荐
AI技术在现代医疗领域的革命性应用
随着人工智能技术的飞速发展,其在医疗领域的应用也日益广泛。本文将从AI技术在医疗诊断、治疗和健康管理等方面的应用入手,探讨其如何改变传统医疗模式,提高医疗服务质量和效率。同时,我们也将关注AI技术在医疗领域面临的挑战和未来发展趋势。
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
赋能百业:多模态处理技术与大模型架构下的AI解决方案落地实践
【9月更文挑战第4天】赋能百业:多模态处理技术与大模型架构下的AI解决方案落地实践
赋能百业:多模态处理技术与大模型架构下的AI解决方案落地实践
|
3天前
|
机器学习/深度学习 人工智能 编解码
深入探索AI文生语音技术的奥秘:从文本输入到逼真语音输出的全链条语音合成过程解析
【9月更文挑战第2天】深入探索AI文生语音技术的奥秘:从文本输入到逼真语音输出的全链条语音合成过程解析
 深入探索AI文生语音技术的奥秘:从文本输入到逼真语音输出的全链条语音合成过程解析
|
5天前
|
机器学习/深度学习 存储 人工智能
AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
【9月更文挑战第1天】AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章
【9月更文挑战第10天】本文将探讨人工智能(AI)的基本原理、应用领域以及未来发展趋势。我们将通过一个简单的代码示例来展示AI的基本概念,并讨论如何将这些概念应用于实际问题中。最后,我们将展望AI的未来发展方向,并探讨它可能对社会带来的影响。
19 8
|
3天前
|
机器学习/深度学习 人工智能 自动驾驶
AI与未来:探索智能技术的新纪元
【9月更文挑战第9天】本文将探讨人工智能(AI)的发展历程、现状和未来趋势。我们将从AI的基本概念入手,逐步深入到其在各个领域的应用,以及它对社会的影响。最后,我们将展望AI的未来,探讨其可能带来的变革。