# MaskDetect
基于深度学习的口罩佩戴检测,Keras-YOLOv3 实现。
## Preview
![nomask_sample](VOC_data/VOC_mask/test_img/01_out_show.png)
![rightmask_sample](VOC_data/VOC_mask/test_img/02_out.jpg)
## 测试
### 下载模型文件
#### 大数据集上训练的模型
目前在大数据集上的训练效果并不是很好,考虑是正负样本的规模差距过大导致,正在尝试通过上采样 / 下采样的方式处理数据集不均衡问题。** 如果你的需求是直接使用训练好的模型,我更建议使用初代模型。**
#### 初代数据集上训练的模型
模型文件存储在百度云上:[MaskDetect_model(提取码: yphs)](https://pan.baidu.com/s/1L9g8dvM8tn0wZkHM47lsfw)
模型文件对应说明如下:
| 模型文件 | 说明 |
|-----------------------------|--------------|
| trained\_weights\_final\.h5 | 在初代数据集上训练的模型 |
| yolo\_weights\.h5 | YOLO 官方预训练模型 |
下载后,请将模型文件放在 `model_data` 目录下。
请注意修改 `voc_annotation.py` 及 `model_data/voc_classes.txt` 中类名为 `rightmask` `wrongmask` `nomask`。
### 开始测试
对于图片:`python3 yolo_video.py [OPTIONS...] --image`
对于视频:`python3 yolo_video.py [video_path] [output_path (optional)]`
`yolo_video.py` 完整的选项可以通过 `python3 yolo_video.py --help` 查看。
## 训练
### 准备数据集
你需要按照 VOC 数据集的格式准备数据集,`VOC_data/VOC_mask` 目录用于存放数据。
```sh
VOC_mask
├─data_list # 存放数据集列表文件,建议由 create_dataset.py 生成
├─img # 存放图片文件
├─label # 存放图片标签,xml 格式
└─test_img # 存放了两个样例,与训练无关。
```
### 修改类名
修改根目录下的 `voc_annotation.py` 中第 7 行的 classes 数组为数据对应类别。
修改 `model_data` 目录下的 `voc_classes.txt` 为数据对应类别。
### 处理数据并生成索引
`VOC_data/VOC_mask` 目录下的 `data_proc.py` 可以帮助处理数据集,完成统一命名和数据对应,如果数据集格式本身就规范,则没有必要使用它。
将图片放入 `img` 目录,将标签放入 `label` 目录之后,运行 `VOC_data/VOC_mask` 目录下的 `create_dataset.py`,该程序将在 `data_list` 目录下生成 `test.txt` `train.txt` `trainval.txt` `val.txt` 这四个列表文件。
在根目录下,运行 `voc_annotation.py`,程序将在根目录下生成用于训练的数据列表。
### 开始训练
在根目录下,运行 `train.py` 进行训练。可以根据情况修改 `train.py` 中的参数。
## 细节
### 环境
训练及测试的环境如下:
* **Python:** 3.6.9
* **Keras:** 2.2.0
* **TensorFlow:** 1.6.0
### 数据集
#### 更新数据集(12385 张)
我们正在使用新的更大的数据集进行训练,新的数据集的组成如下:
| 人脸样本类别 | 数量 |
|-|-|
| 有口罩人脸样本 | 7056 个 |
| 无口罩人脸样本 | 20318 个 |
| 共计 | 27374 个 |
| 图片类别 | 数量 |
|-|-|
| 仅包含有口罩样本的图片 | 3943 张 |
| 仅包含无口罩样本的图片 | 8110 张 |
| 包含有口罩、无口罩样本的图片 | 329 张 |
| 共计 * | 12385 张 |
\* 包含 3 张未处理的无效样本(`03580` `05301` `06124`)
新的数据集是下面三个开源数据集的联合数据集,在这里向他们的贡献表示感谢:
* 更新版的 [hikariming/virus-mask-dataset](https://github.com/hikariming/virus-mask-dataset)
* AIZOO 开源的口罩数据集
* [hamlinzheng](https://github.com/hamlinzheng) 开源的口罩数据集
#### 初代数据集(147 张)
训练使用的数据集:[hikariming/virus-mask-dataset](https://github.com/hikariming/virus-mask-dataset)
数据集分为三个类:正确佩戴口罩(rightmask)、错误佩戴口罩(wrongmask)、未佩戴口罩(nomask)。经过数据清洗后,剩余 147 个有效样本用于训练和评估。
### 训练
考虑迁移学习,在 YOLO 官方预训练的权重上继续训练 100 轮,loss 降至 23 左右。
### 不足
用于训练的数据规模并不是很大,达到的训练效果比较有限,实测还是存在比较多的漏测现象,尤其是对 rightmask 和 wrongmask 的区分效果不是很好。如果有更大规模的数据集用于训练应该会有更好的效果。
## 引用及致谢
训练使用了 hikariming, AIZOO, hamlinzheng 公开的口罩检测数据集
Keras-YOLOv3 框架来自:[qqwweee/keras-yolo3](https://github.com/qqwweee/keras-yolo3)
在此表示感谢!
没有合适的资源?快使用搜索试试~ 我知道了~
基于深度学习的口罩识别检测系统源码 数据集 模型.zip
共70个文件
py:15个
sample:13个
txt:12个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 105 浏览量
2023-03-14
16:25:49
上传
评论
收藏 28.72MB ZIP 举报
温馨提示
基于深度学习的口罩识别检测系统源码 数据集 模型.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于深度学习的口罩识别检测系统源码 数据集 模型.zip (70个子文件)
_mask_val.txt 80KB
voc_annotation.py 1KB
yolo_video.py 2KB
_mask_train.txt 1.54MB
detect_batch.py 795B
font
FiraMono-Medium.otf 124KB
SIL Open Font License.txt 4KB
VOC_data
VOC_mask
data_log.py 305B
test_img
02.jpg 19KB
01_out.jpg 523KB
01_out_show.png 144KB
02_out.jpg 95KB
01.png 1.23MB
mask_00025_o1.jpg 63KB
data_list
val.txt 10KB
test.txt 42KB
trainval.txt 52KB
train.txt 209KB
data_proc.py 2KB
create_dataset.py 822B
coco_annotation.py 1KB
.git
index 4KB
HEAD 23B
refs
heads
master 41B
remotes
origin
HEAD 32B
objects
pack
pack-367802c9ccf27db789919cfa170b4f567e000396.idx 13KB
pack-367802c9ccf27db789919cfa170b4f567e000396.pack 26.05MB
description 73B
packed-refs 114B
info
exclude 240B
logs
HEAD 182B
refs
heads
master 182B
remotes
origin
HEAD 182B
hooks
post-update.sample 189B
prepare-commit-msg.sample 1KB
commit-msg.sample 896B
pre-receive.sample 544B
update.sample 4KB
pre-commit.sample 2KB
pre-rebase.sample 5KB
applypatch-msg.sample 478B
fsmonitor-watchman.sample 5KB
push-to-checkout.sample 3KB
pre-applypatch.sample 424B
pre-push.sample 1KB
pre-merge-commit.sample 416B
config 302B
model_data
yolo_anchors.txt 71B
coco_classes.txt 18B
tiny_yolo_anchors.txt 51B
voc_classes.txt 18B
_mask_test.txt 313KB
convert.py 10KB
darknet53.cfg 6KB
yolov3.cfg 9KB
yolov3-tiny.cfg 2KB
kmeans.py 4KB
train_bottleneck.py 11KB
train.py 8KB
yolo3
utils.py 4KB
__init__.py 0B
model.py 17KB
__pycache__
utils.cpython-35.pyc 4KB
model.cpython-35.pyc 14KB
__init__.cpython-35.pyc 125B
model.cpython-36.pyc 13KB
__init__.cpython-36.pyc 126B
utils.cpython-36.pyc 4KB
README.md 5KB
yolo.py 9KB
共 70 条
- 1
资源评论
- 2301_816192372023-12-11果断支持这个资源,资源解决了当前遇到的问题,给了新的灵感,感谢分享~
oligaga
- 粉丝: 51
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 120 240 VAC_ASD-4D5 -ASD-006.IGS
- WinCHM.exe CHM 文档编辑器
- FileGeeCNP.exe
- record record record record record record record record record
- Android 启动提示Android 正在升级...提示源码分析
- pojie-drawio-confluence-plugin-9.5.8.obr
- 信息学奥赛2020年NOIP真题
- SunloginClient-15.1.0.58718-x64.exe
- 信息学奥赛2021年NOIP真题
- 星辰语义大模型TeleChat超详细部署文档手册
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功