目录
前言
本项目通过yolov10/yolov9/yolov8/7/5训练自己的数据集实现了电动车/摩托车头盔检测,操作视频和效果展示如下:
https://www.bilibili.com/video/BV1hj411k7Rx/share_source=copy_web&vd_source=138d2e7f294c3405b6ea31a67534ae1a
一、项目环境配置
不熟悉pycharm的anaconda的大兄弟请先看这篇csdn博客,了解pycharm和anaconda的基本操作。
https://blog.csdn.net/ECHOSON/article/details/117220445
anaconda安装完成之后请切换到国内的源来提高下载速度 ,命令如下:
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
首先创建python3.8的虚拟环境,请在命令行中执行下列操作:
conda create -n yolov8 python==3.8.5
conda activate yolov8
1、pytorch安装(gpu版本和cpu版本的安装)
实际测试情况是YOLOv8在CPU和GPU的情况下均可使用,不过在CPU的条件下训练那个速度会令人发指,所以有条件的小伙伴一定要安装GPU版本的Pytorch,没有条件的小伙伴最好是租服务器来使用。GPU版本安装的具体步骤可以参考这篇文章:https://blog.csdn.net/ECHOSON/article/details/118420968。
需要注意以下几点:
1、安装之前一定要先更新你的显卡驱动,去官网下载对应型号的驱动安装
2、30系显卡只能使用cuda11的版本
3、一定要创建虚拟环境,这样的话各个深度学习框架之间不发生冲突
我这里创建的是python3.8的环境,安装的Pytorch的版本是1.8.0,命令如下:
conda install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2 # 注意这条命令指定Pytorch的版本和cuda的版本
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly # CPU的小伙伴直接执行这条命令即可
安装完毕之后,我们来测试一下GPU是否可以有效调用:
2、pycocotools的安装
pip install pycocotools-windows
3、其他包的安装
另外的话大家还需要安装程序其他所需的包,包括opencv,matplotlib这些包,不过这些包的安装比较简单,直接通过pip指令执行即可,我们cd到yolov8代码的目录下,直接执行下列指令即可完成包的安装。
pip install -r requirements.txt
二、YOLOv10/YOLOv9/YOLOv8/YOLOv7/YOLOv5电动车/摩托车头盔检测算法
1、项目介绍
我们的项目包含特别详细的read.md文件和常见问题解答,关于本项目的任何问题都能在其中找到答案,对刚接触深度学习、目标检测的小白非常友好,兄弟们放心哈。
2、图片测试效果展示
可以看到,我们实验室的项目能对图片、视频中出现的电动车、摩托车、和骑车人的头盔佩戴情况进行有效检测,且准确率较高。
三、电动车/摩托车头盔自建数据集
1、数据集介绍
我们实验室手动收集、整理、标注了TWHD (two wheeler helmet dataset)数据集,包含5448张二轮车图片和对应的xml格式标签。我们对图片中的二轮车整体(two_wheeler)、未戴头盔的人头(without_helmet)、戴头盔的人头(helmet)使用软件进行了手动标注,并按4:1的比例划分训练集与测试集。此外,为了丰富数据集背景,还融合了来自bike helmet dataset以及网络爬虫的738张图片。本数据集可直接用于训练yolo系列等神经网络,可提供给兄弟们的毕设、课设项目及企业课题进行使用。数据集展示如下:
其中“Annotations”包含了5448个手动标注的xml格式标签,“ImageSets”文件夹里面为训练集、验证集划分对应的txt,“JPEGImages”文件夹里面为5448张JPG格式的包含电动车、摩托车、头盔的图片。
四、训练曲线等介绍
我们的项目代码还能自动生成训练过程的loss损失曲线、map平均准确度曲线,不用手动画(太麻烦了,能用代码做的事尽量不手动),兄弟可以直接将这些图插入论文或课设报告中。当然,也可以自己训练,重新生成对应的图。训练结束后,这些图和训练数据会存放在根目录下的logs文件夹中。