基于YOLOv5的疲劳分神驾驶检测(AutoDL云端训练部署)

       本文基于YOLOv5模型,采用10420张不同驾驶员开车时闭眼、打哈欠、接打电话、左顾右盼等驾驶行为的图片作为数据集,对YOLOv5模型进行了训练。将驾驶员的驾驶行为分为正常驾驶(Normal)、闭眼(CloseEyes)、打哈欠(Yawn)、左手打电话(LeftCall)、右手打电话(RightCall)、向左看(LookLeft)、向右看(LookRight)、向上看(LookUp)、向下看(LookDown)九个类别,对图片进行了标注和训练,数据集示例及训练结果如下所示。

 

基于YOLOv5的疲劳分神驾驶自动检测

        接下来就开始介绍具体的实现过程。本项目使用的数据集在获得授权之后将会在评论区分享给大家,数据集为10420张不同驾驶行为的图片,本人已经进行标注。具体的标注和训练过程可以参考本人的另一篇博客手把手教你用yolov5训练一个王者荣耀目标检测(最新详细教程)。本文主要介绍利用YOLOv5-master进行训练和之前YOLOv5的区别,以及如何在AutoDL云端部署。

        把数据集准备好之后,划分好训练集和验证集。将VOCdevkit文件夹放在yolov5-master文件夹下,将data文件夹下的的coco.yaml文件复制一个副本,命名为自己项目的名字,我这里命名为jbgs.yaml,修改文件中的如下内容:

        path后面的文件路径改为:./VOCdevkit,train的路径改为:images/train,val的路径改为:images/val,注释掉test,names后面的类别改为自己的分类名字,删除多余的类别,如下图所示。之后打开models文件夹,将yolov5s.yaml文件复制一份,修改成自己项目的名字,我这里改为jbgs.yaml,把nc后面的数字修改成自己的类别总数,我这里是9。

        修改好之后打开train.py,修改如下代码: 1.cfg默认路径,2.data默认路径,修改之后如下面第二幅图所示。

         准备工作至此已经做完,接下来将整个yolov5-master文件夹打包成'.zip'后缀的压缩包,后面将介绍如何在云端部署已经训练。

        进入AutoDL官网的算力市场,租一个3090的显卡,在基础镜像进行如下设置之后点击立即创建。创建好之后在容器实例里面找到刚刚创建的实例,进入JupyterLab。

        在JupyterLab里面上传我们之前打包好的yolov5-master压缩包,根据网速的不同,上传需要不同的时间,下面会有进度条显示,上传完成之后会有提示。上传完成之后,打开终端,输入如下代码进行解压:unzip yolov5-master.zip。 接下来输入conda init进行初始化,然后重新打开终端,输入cd yolov5-master切换工作目录到yolov5-master,之后输入pip install -r requirement.txt,安装yolo训练所依赖的库。

        最后输入python train.py,即可进行训练。这个过程需要下载一个Arial.ttf字体,如果网速较慢下载不下来可以自己手动下载,之后把它移动到对应的位置即可。Arial.ttf我会一并分享给大家。下载之后拖动到yolov5-master,在终端输入mv Arial.ttf /root/.config/Ultralytics/,将字体包移动到对应位置,之后再运行python train.py即可开始训练。

        训练完成之后的推理跟在本地是一样的,修改对应的代码,在终端输入python detect.py即可(参考本人上面提到的那篇博客)。最后我们可以将整个训练完之后的yolov5-master文件夹打包下载下来,在本地进行推理工作,也可以单独把权重文件下载下来进行推理。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NangoGreen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值