Yolo V5简单上手 - 口罩识别

本文介绍如何使用个人笔记本电脑搭建Yolo环境并进行目标检测项目。包括数据集准备、环境配置、训练模型及调整参数等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是仅使用个人笔记本电脑进行简单 yolo 项目的方法。

- 效果

 首先准备数据集:https://drive.google.com/file/d/1UwbEjnZzSO7gwsUU85a-RpDSmLmHZyP6/view?usp=sharing

 

 该数据集构成为:训练653 :测试100 :验证100

首先先创建一个项目文件

下载yolov5代码: GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLiteYOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub.https://github.com/ultralytics/yolov5

 将其解压至项目文件夹中

使用Anaconda创建yolov5的环境

conda create -n yolov5 python==3.7.0

 将路径切换至项目路径,然后安装yolov5的依赖库

pip install -r requirements.txt

 接下来使用各自喜欢的编辑器处理项目,可以用pycharm(推荐),

也可以用VScode(不推荐)(如果处理服务器上的项目的时候还是比较方便的)

这里使用VScode进行

使用VScode打开项目文件

python 环境选择: ctrl + shift + p

>python: select Interpreter

 

 

 detect.py 运行尝试

 如果在run/detect/exp 文件夹下出现该图片表示环境ok

 环境构建成功的话,接下来开始训练自己的数据集了

首先在data文件夹下创建一个yaml文件填入数据集路径,类个数,类名信息

 创建mask.yaml 输入相关内容

train: D:/yanglunfei/data/face_mask/yolov5_mask/images/train  
val: D:/yanglunfei/data/face_mask/yolov5_mask/images/val  
test: D:/yanglunfei/data/face_mask/yolov5_mask/images/test  
  
nc: 3  
  
names: ['without_mask', 'with_mask', 'mask_weared_incorrect']  

 修改train.py中的代码,指定数据集

# parser.add_argument('--data', type=str, default=ROOT / 'data/coco128.yaml', help='dataset.yaml path')  
parser.add_argument('--data', type=str, default='mask.yaml', help='dataset.yaml path')  

如果电脑不太好的话,就比如我,,会出现GPU容量不足的情况

解决方法是尽量调整数据输入量和线程,减少电脑负担,

在train文件里调小workers、batch-size

这些参数,如果还是不行那需要调整num_workers值,调整如下

workers=4

batch-size=8

在utils文件夹下的dataloaders.py文件下,搜索num_workers,调整至合适的值,我电脑太差直接归零了,一般2、4也都行

num_workers=0

 再次执行train文件就能训练了。

 如果无法使用GPU那应该是yolov5提供的pytorch是cpu版本,可以查找yolo对应pytorch的gpu版本相关命令,试过好多次,直接在anaconda的环境里执行安装相应版本就行

这是符合我电脑的

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

 训练结束后在runs/train/ 文件夹下查看结果

然后就可以修改detect文件的参数,指定自己训练好的权重、检测方式(摄像头)、data 这三个变量就行。

# parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path(s)')  
parser.add_argument('--weights', nargs='+', type=str, default='runs/train/exp5/weights/best.pt', help='model path(s)')  
# parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob, 0 for webcam')  
parser.add_argument('--source', type=str, default=0, help='file/dir/URL/glob, 0 for webcam')  
# parser.add_argument('--data', type=str, default=ROOT / 'data/coco128.yaml', help='(optional) dataset.yaml path')  
parser.add_argument('--data', type=str, default='data/yolov5_mask.yaml', help='(optional) dataset.yaml path')  

 另外,自带的detect代码没有结束的的设置,只是测试的话可以设置一个opencv的waitkey来结束进程。

 

实验效果如下

 每天一遍爱坤~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值