
基于 YOLOv8 的口罩检测 Web 系统一、项目简介本项目基于 YOLOv8 实现口罩佩戴状态检测并在原有 Python / PyQt 程序基础上提供本机 Web 使用方式。项目包含 Web 入口、图片视频摄像头检测、模型训练、训练结果可视化、模型文件管理和本地检测记录等能力适用于校园、公共场所等口罩佩戴识别场景的课程设计与演示。项目实际包含web_main.pyWeb 服务入口、main.py检测程序、train.py训练脚本、visualize.py训练结果可视化以及login_window.py、main_window.py等桌面端界面文件模型目录中提供 YOLOv8、YOLOv11、YOLO26 的基础权重和项目训练结果目录。二、系统功能1.1 用户端功能本地登录与使用入口系统保留本地账号登录能力用户登录后进入识别管理页面。Web 端在本机浏览器访问桌面端可通过 PyQt 窗口启动和使用满足不同演示方式需求。图片识别用户可上传常见格式图片进行口罩佩戴检测。模型推理后在结果图中绘制目标框、类别名称和置信度并统计检测目标数量、平均置信度、最高置信度和类别分布结果图和 CSV 明细可用于保存或导出。视频识别用户可上传本地视频系统按设定的抽帧步长执行逐帧检测。处理任务在后台完成前端可查看任务进度完成后查看结果视频、检测统计摘要和类别分布。摄像头实时识别浏览器可调用本机摄像头进行实时检测页面动态叠加识别框和统计信息。用户可开始、暂停识别并截图摄像头会话可作为检测记录归档。1.2 管理功能检测历史管理系统记录图片、视频和摄像头三类检测任务的时间、类型和统计信息。用户可按关键词查询历史、查看详情、导出 CSV 明细或清空历史历史记录侧重保存检测数据而非重复保存原始媒体文件。模型加载与参数调整系统可加载项目内已有权重或上传兼容模型文件后切换当前检测模型。用户可调整置信度阈值conf、交并比阈值iou和最大检测数量max_det图片、视频和摄像头识别共用当前模型配置。模型训练与结果查看train.py用于基于数据集训练检测模型visualize.py用于查看训练结果。系统可读取训练过程中的 Precision、Recall、mAP 等指标及结果图表便于对不同训练结果进行比较。三、技术栈层级技术说明检测模型YOLOv8、Ultralytics口罩佩戴状态目标检测后端与服务Python、FastAPI、Uvicorn本机 Web 检测服务桌面端PyQt6本地登录与窗口界面图像处理OpenCV、NumPy图片、视频帧处理数据处理Pandas、Matplotlib统计明细与训练结果可视化深度学习PyTorch、Torchvision模型加载与训练四、项目结构c213/ ├── web_main.py# Web 服务与页面入口├── main.py# 检测程序入口├── login_window.py# PyQt 登录窗口├── main_window.py# PyQt 主界面├── train.py# YOLO 模型训练脚本├── visualize.py# 训练结果可视化脚本├── requirements.txt# Python 依赖├── data/# 数据集与配置├── train/# 训练相关目录├── web_models/# Web 端模型文件管理目录├── yolov8n.pt、yolo11n.pt、yolo26n.pt# 基础模型权重└── 数据集说明.md五、环境要求Python 3.9PyTorch、Ultralytics、OpenCVFastAPI、Uvicorn、python-multipart可选本机摄像头六、模型与数据准备项目数据集和配置位于data目录训练脚本使用相应的数据配置训练模型。可将训练得到的最佳权重放入项目模型目录或通过 Web 模型管理功能加载基础权重文件可用于初始化训练或检测。七、系统启动pipinstall-rrequirements.txt python web_main.py启动后在浏览器访问服务页面即可进行图片、视频或摄像头识别。八、模型训练python train.py训练后可运行python visualize.py查看训练指标与图表。九、默认账号项目使用本地账号数据未提供可确认的默认账号。十、业务流程说明9.1 图片、视频与摄像头识别流程用户选择图片、视频或摄像头输入并选定当前模型和检测阈值。系统读取媒体数据调用 YOLO 模型推理生成目标框、类别和置信度结果图片立即返回结果视频任务按帧处理并反馈进度摄像头持续展示实时结果。检测完成后系统保存任务类型和统计数据用户可查看历史记录或导出识别明细。9.2 模型训练与部署流程用户准备数据集后运行训练脚本训练过程产生模型权重和指标文件。通过可视化脚本或 Web 训练结果页面查看 Precision、Recall、mAP 等指标选择合适权重加载到模型管理模块供后续各类识别任务使用。十一、交付内容Web、PyQt 桌面端、训练与可视化完整源码。数据集说明、训练配置和模型权重文件。项目说明文档包含检测功能、环境和启动步骤。本项目为个人原创结构清晰功能完整适合计算机视觉方向课程设计、毕业设计和项目演示使用。有定制化需求可以评论或私信作者。个人网址https://michael-jay.pages.dev/