Skip to content

基于PyTorch&YOLOv4实现的口罩佩戴检测 ⭐ 自建口罩数据集分享

License

Notifications You must be signed in to change notification settings

Bil369/MaskDetect-YOLOv4-PyTorch

Repository files navigation

基于PyTorch&YOLOv4的口罩佩戴检测

build build build build

本项目是利用YOLOv4进行口罩佩戴检测,使用PyTorch实现。虽然现在国内疫情基本得到有效遏制,但防控仍不可过于松懈,在一些公共场合佩戴口罩还是必不可少的。基于此,自己做了该项目,后续打算继续改进,争取将其运行到边缘设备上。希望本项目能给疫情常态化防控出一份力,也希望真正的新年早日到来。

数据集一部分来源于参考部分,另一部分为自己手动收集与标注,共1200张训练集,600张口罩佩戴,600张未佩戴口罩;400张测试集,200张口罩佩戴,200张未佩戴口罩。利用YOLOv4在数据集上冻结backbone训练了25个epoch,解冻后再训练了25个epoch,测试mAP为80.75%。检测效果如下: testImage_result

在NVIDIA GeForce RTX 2080 Ti上FPS大概能达到13左右。

目录

安装

数据集

链接 提取码:cgp1

依赖库

  • Python >= 3.7
  • PyTorch >= 1.4.0
  • opencv-python >= 4.2.0.32
  • Pillow >= 7.0.0

模型权重

  • COCO数据集预训练模型:链接 提取码:cp4g
  • 本项目训练权重:链接 提取码:kk47

使用

检测图片

使用Jupyter Notebook打开predict.ipynb,设置好图片路径后,运行detect_image()函数即可。

检测视频

使用Jupyter Notebook打开predict.ipynb,设置好视频路径后,运行detect_video()函数即可。

训练

下载预训练模型:

  • COCO数据集预训练模型:链接 提取码:cp4g
  • 本项目训练权重:链接 提取码:kk47

使用Jupyter Notebook打开train.ipynb,设置好数据路径、模型路径以及超参数后,即可进行训练。

评估

使用Jupyter Notebook打开eval.ipynb,设置好测试集路径后,运行即可生成detection-results和ground-truth。

再运行mAP目录下的main.py,即可计算mAP等结果。

其他

目前进展

  • CSPDarknet53
  • SPP、PAN
  • Mosaic数据增强
  • Label Smoothing
  • CIOU
  • 学习率余弦变化
  • Mish激活函数

训练&评估结果

trainloss mAP

参考

License

GPL © Bil369

About

基于PyTorch&YOLOv4实现的口罩佩戴检测 ⭐ 自建口罩数据集分享

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published