# 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