# Masks
**Repository Path**: bruce-9614/masks
## Basic Information
- **Project Name**: Masks
- **Description**: No description available
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-06-23
- **Last Updated**: 2025-07-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Masks
#### 介绍
本项目是我为了完成仲恺-数科-22级信计专业的数据挖掘课程的课程设计而创建的,项目基于YOLOv8s实现了一个简单的口罩检测系统,目前共训练了12次,平均每轮次数为100轮(大概),能够对图片和视频中佩戴口罩的人员进行检测。项目包含数据集准备、模型训练、模型评估和目标检测等功能。
#### 项目结构
````
.
├── Datas
│ ├── all_mask # 原始口罩数据集
│ ├── new_mask_data # 新增的口罩数据集
│ └── mask_dataset # 处理后的数据集,包含训练集和验证集
│ ├── train # 训练集
│ │ ├── images # 训练集图像
│ │ └── labels # 训练集标签
│ └── val # 验证集
│ ├── images # 验证集图像
│ └── labels # 验证集标签
├── runs
│ └── detect # 训练结果保存目录
├── Test # 待检测的图片/视频目录
├── Results # 检测结果保存目录
├── data.yaml # 数据集配置文件
├── prepare_dataset.py # 数据集准备脚本,划分训练集和验证集
├── find_latest_run.py # 查找最新的训练结果目录
├── train.py # 模型训练和评估脚本
├── dataset_statistics.py # 数据集统计脚本,绘制统计直方图
├── detect.py # 目标检测脚本,对图片和视频进行检测
├── create_config.py # 创建数据集配置文件
└── requirements.txt # 项目依赖文件
````
#### 安装教程
1. 在运行本项目之前,请确保你已经创建并激活了 Anaconda 虚拟环境 Masks_env(非必要,但是推荐这样做,可以使该项目有专属开发环境而不受其他项目影响)。
2. 然后,配置项目使用Anaconda 虚拟环境 Masks_env
3. 然后,在根目录中直接使用此命令安装项目所需的依赖: pip install -r requirements.txt
#### 各文件功能解释
1. 数据相关
prepare_dataset.py:将 Datas/all_mask 和 Datas/new_mask_data 中的数据划分成训练集和验证集,并复制到 Datas/mask_dataset 目录下。
create_config.py:创建 data.yaml 配置文件,指定数据集的路径和类别信息。
dataset_statistics.py:统计训练集和验证集中戴口罩和未戴口罩的样本数量,并绘制统计直方图。
2. 模型相关
find_latest_run.py:查找 runs/detect 目录下最新的训练结果目录。
train.py:训练 YOLOv8 模型,支持继续训练和从头开始训练。训练完成后,会评估模型的 mAP 值,并选择最佳模型。
detect.py:使用训练好的模型对图片和视频进行目标检测,并将结果保存到 Results 目录下。
#### 使用说明
1. 准备数据集 运行prepare_dataset.py准备数据集:
2. 训练模型 运行train.py训练模型:
3. 进行目标检测 运行detect.py进行目标检测:
4. 查看数据集统计信息 运行dataset_statistics.py查看数据集统计信息并绘制直方图:
#### 注意事项
1. 请确保 Datas/all_mask 和 Datas/new_mask_data 目录中包含图片和对应的标签文件(.txt 文件且数据符合YOLO格式)。
2. 在训练模型之前,请确保 data.yaml 配置文件中的路径信息正确。
3. 如果需要继续训练之前的模型,请确保 runs/detect 目录下存在最新的训练结果。
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request