项目简介
本项目是基于Python和YOLOv5的口罩检测系统,借助深度学习技术达成对图像和视频里佩戴口罩情况的自动检测。项目涵盖从数据标注、模型训练、评估到图形界面应用的全流程方案,可用于大作业、毕业设计或实际应用场景。
项目的主要特性和功能
- 口罩检测模型训练:以YOLOv5算法为基础,支持从数据标注到模型训练的全流程操作,能高效训练出高精度的口罩检测模型。
- 多种检测模式:支持图片检测、视频检测与摄像头实时检测,可灵活适应不同应用场景。
- 图形化界面:利用PyQt5构建用户友好的图形界面,便于用户进行实时检测和结果展示。
- 模型评估与优化:提供模型性能评估工具,支持自动计算mAP、召回率、精度等指标,助力用户优化模型性能。
- 数据增强与超参数优化:支持数据增强技术和超参数进化,进一步提升模型的泛化能力和检测精度。
安装使用步骤
1. 环境配置
确保已安装Anaconda和PyCharm,并配置好Python环境。按以下步骤配置项目所需环境: ```bash conda create -n yolo5 python==3.8.5 conda activate yolo5
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2
pip install -r requirements.txt pip install pyqt5 pip install labelme ```
2. 数据准备
用labelimg
工具对口罩检测数据集进行标注,标注完成后按以下目录结构放置数据集:
YOLO_Mask
└─ score
├─ images
│ ├─ test # 测试集图片
│ ├─ train # 训练集图片
│ └─ val # 验证集图片
└─ labels
├─ test # 测试集标签
├─ train # 训练集标签
├─ val # 验证集标签
3. 模型训练
在项目根目录下执行以下命令开始训练模型:
bash
python train.py --data mask_data.yaml --cfg mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 4 --device cpu
训练完成后,模型将保存在runs/train/exp
目录下。
4. 模型评估
使用以下命令对训练好的模型进行评估:
bash
python val.py --data data/mask_data.yaml --weights runs/train/exp_yolov5s/weights/best.pt --img 640
5. 模型使用
通过以下命令使用训练好的模型进行检测: ```bash python detect.py --weights runs/train/exp_yolov5s/weights/best.pt --source data/images/fishman.jpg
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt --source file.mp4
python detect.py --weights runs/train/exp_yolov5s/weights/best.pt --source 0 ```
6. 图形界面应用
修改window.py
文件中的模型路径,然后运行以下命令启动图形界面:
bash
python window.py
通过图形界面,用户能实时查看摄像头或视频流中的口罩检测结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】