# 基于PyTorch&YOLOv4的口罩佩戴检测
![build](https://img.shields.io/badge/build-passing-success)
![build](https://img.shields.io/badge/python-v3.7-ff68b4)
![build](https://img.shields.io/badge/pytorch-1.4.0-orange)
![build](https://img.shields.io/badge/license-GPL-blue)
本项目是利用YOLOv4进行口罩佩戴检测,使用PyTorch实现。虽然现在国内疫情基本得到有效遏制,但防控仍不可过于松懈,在一些公共场合佩戴口罩还是必不可少的。基于此,自己做了该项目,后续打算继续改进,争取将其运行到边缘设备上。希望本项目能给疫情常态化防控出一份力,也希望真正的新年早日到来。
数据集一部分来源于参考部分,另一部分为自己手动收集与标注,共1200张训练集,600张口罩佩戴,600张未佩戴口罩;400张测试集,200张口罩佩戴,200张未佩戴口罩。利用YOLOv4在数据集上冻结backbone训练了25个epoch,解冻后再训练了25个epoch,测试mAP为80.75%。检测效果如下:
![testImage_result](testImage_result.png)
在NVIDIA GeForce RTX 2080 Ti上FPS大概能达到13左右。
## 目录
- [基于PyTorch&YOLOv4的口罩佩戴检测](#基于pytorchyolov4的口罩佩戴检测)
- [目录](#目录)
- [安装](#安装)
- [数据集](#数据集)
- [依赖库](#依赖库)
- [模型权重](#模型权重)
- [使用](#使用)
- [检测图片](#检测图片)
- [检测视频](#检测视频)
- [训练](#训练)
- [评估](#评估)
- [其他](#其他)
- [目前进展](#目前进展)
- [训练&评估结果](#训练评估结果)
- [参考](#参考)
- [License](#license)
## 安装
### 数据集
[链接](https://pan.baidu.com/s/12lynrRjSlNkkWeB3lKAlMw) 提取码:cgp1
### 依赖库
- Python >= 3.7
- PyTorch >= 1.4.0
- opencv-python >= 4.2.0.32
- Pillow >= 7.0.0
### 模型权重
- COCO数据集预训练模型:[链接](https://pan.baidu.com/s/1JDclXgxDmA06Mv6hrRB5Sw) 提取码:cp4g
- 本项目训练权重:[链接](https://pan.baidu.com/s/1opAbsydKnS1WWN9rgaH5IA) 提取码:kk47
## 使用
### 检测图片
使用Jupyter Notebook打开predict.ipynb,设置好图片路径后,运行detect_image()函数即可。
### 检测视频
使用Jupyter Notebook打开predict.ipynb,设置好视频路径后,运行detect_video()函数即可。
### 训练
下载预训练模型:
- COCO数据集预训练模型:[链接](https://pan.baidu.com/s/1JDclXgxDmA06Mv6hrRB5Sw) 提取码:cp4g
- 本项目训练权重:[链接](https://pan.baidu.com/s/1opAbsydKnS1WWN9rgaH5IA) 提取码:kk47
使用Jupyter Notebook打开train.ipynb,设置好数据路径、模型路径以及超参数后,即可进行训练。
### 评估
使用Jupyter Notebook打开eval.ipynb,设置好测试集路径后,运行即可生成detection-results和ground-truth。
再运行mAP目录下的main.py,即可计算mAP等结果。
## 其他
### 目前进展
- [x] CSPDarknet53
- [x] SPP、PAN
- [x] Mosaic数据增强
- [x] Label Smoothing
- [x] CIOU
- [x] 学习率余弦变化
- [x] Mish激活函数
### 训练&评估结果
![trainloss](total_loss.png)
![mAP](mAP/output/mAP.png)
## 参考
- 部分数据集来源:
- https://github.com/hikariming/virus-mask-dataset
- https://www.kesci.com/home/dataset/5e958c69e7ec38002d033362
- YOLOv4 PyTorch基于:https://github.com/bubbliiiing/yolov4-pytorch
- mAP计算:https://github.com/Cartucho/mAP
## License
[GPL](https://github.com/Bil369/MaskDetect-YOLOv4-PyTorch/blob/master/LICENSE) © [Bil369](https://github.com/Bil369)
好家伙VCC
- 粉丝: 2370
- 资源: 9142
最新资源
- DK2300P、L系列过程控制仪表230403
- (多电平逆变器)级连H桥五电平逆变器-VSG(同步机)控制,基于五电平逆变器的VSG构网型逆变器控制,采用LCL型滤波器,电压电流双闭环控制 1.VSG控制 2.中点电位平衡控制 3.电压电流双闭环
- 根据列号获得excel列号,根据列名获得excel列号
- MATLAB用于仿真处理不同模式光束,如贝瑟光束,一阶高斯光束 同事生成激光光束的干涉条纹
- 《图解Python数据结构与算法》代码.zip
- 圆形自动贴附sw18可编辑全套技术资料100%好用.zip
- DK6500L系列三相TFT液晶多功能仪表221101
- 基于SSM(Spring、Spring MVC、MyBatis)的果蔬商城系统
- my java note file
- comsol 拓扑优化 普通插值,双目标函数 k、CP 、ro 插值 热源 600W,尺寸 50*50*5mm 优化后,最大问题 351K( 75℃)符合芯片的温升设计要求
- 震动机文件(sw18可编辑+工程图+bom)全套技术资料100%好用.zip
- (OC) MJExtension 数据转模型
- c#使用wpf开发的植物大战僵尸数学版,帮助小朋友更有兴趣的锻炼一年级数学 里面包含部分图片和音效素材
- 指甲分割标注数据集Yolo
- 代码文件数和代码行数统计
- 2022最新总裁导航系统源码全开源版本下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈