口罩检测数据集-1591张图片疫情防控管理 智能门禁系统 公共场所安全监控

口罩检测数据集-1591张图片

  • 已发布目标检测数据集合集(持续更新)
  • 口罩检测数据集介绍
    • 数据集概览
      • 包含类别
    • 应用场景
    • 数据样本展示
    • 文件结构与使用建议
      • 使用建议
    • 技术标签
  • YOLOv8 训练实战
    • 1. 环境配置
  • 安装 YOLOv8 官方库 ultralytics
    • 2. 数据准备
      • 2.1 数据标注格式(YOLO)
      • 2.2 文件结构示例
      • 2.3 创建 data.yaml 配置文件
    • 3. 模型训练
      • 关键参数补充说明:
    • 4. 模型验证与测试
      • 4.1 验证模型性能
      • 关键参数详解
      • 常用可选参数
      • 典型输出指标
      • 4.2 推理测试图像
    • 5. 自定义推理脚本(Python)
    • 6. 部署建议

在这里插入图片描述

已发布目标检测数据集合集(持续更新)

数据集名称 图像数量 应用方向 博客链接
电网巡检检测数据集 1600 张 电力设备目标检测 点击查看
火焰 / 烟雾 / 人检测数据集 10000张 安防监控,多目标检测 点击查看
高质量车牌识别数据集 10,000 张 交通监控 / 车牌识别 点击查看
农田杂草航拍检测数据集 1,200 张 农业智能巡检 点击查看
航拍绵羊检测数据集 1,700 张 畜牧监控 / 航拍检测 点击查看
️ 热成像人体检测数据集 15,000 张 热成像下的行人检测 点击查看
安全背心检测数据集 3,897 张 工地安全 / PPE识别 点击查看
火箭检测数据集介绍 12,000 张 智慧医疗 / 养老护理 点击查看
⚡ 绝缘子故障检测数据集 2,100张 无人机巡检/智能运维 点击查看
交通标志检测数据集 1866张 智能驾驶系统/地图数据更新 点击查看
道路交通标志检测数据集 2,000张 智能地图与导航/交通监控与执法 点击查看

每篇文章附带模型指标、训练思路与推理部署建议,欢迎点赞收藏支持~

口罩检测数据集介绍

数据集概览

本项目是专注于人脸口罩佩戴检测的计算机视觉数据集,共包含约 1,591 张图像,旨在训练深度学习模型实现公共场所、室内外等多种场景下人员口罩佩戴状态的精准检测与识别。

  • 图像数量:1,591 张
  • 类别数:2 类
  • 适用任务:目标检测(Object Detection)
  • 适配模型:YOLOv5、YOLOv8、Faster R-CNN、SSD 等主流框架

包含类别

类别 描述
mask 佩戴口罩的人脸
no-mask 未佩戴口罩的人脸

数据集覆盖口罩佩戴与未佩戴两种状态,能够显著提升模型在实际应用场景下的检测准确性。

应用场景

该数据集非常适用于以下场景与研究方向:

  • 疫情防控管理
    实时监测公共场所人员口罩佩戴情况,确保防疫措施落实到位。

  • 智能门禁系统
    集成到门禁设备中,自动检测进入人员是否佩戴口罩,提升安全管理水平。

  • 公共场所安全监控
    医院、学校、商场等场所的智能监控系统,实现自动化合规检查。

  • 健康合规检查
    企业、机构等场所的健康管理系统,辅助人工进行快速筛查。

  • 人脸识别预处理
    作为人脸识别系统的预处理步骤,提高口罩遮挡情况下的识别准确率。

  • 智慧城市管理
    支撑城市公共卫生管理、应急响应以及智慧化治理系统。

数据样本展示

以下展示部分数据集内的样本图片(均带有目标检测框):

口罩检测数据集-1591张图片疫情防控管理 智能门禁系统 公共场所安全监控_第1张图片

数据集包含多种真实场景下的图像:

  • 室内外不同环境的人脸图像
  • 不同光照条件下的检测样本
  • 多角度、多姿态的人脸数据
  • 单人和多人场景的混合样本

场景涵盖日常生活、工作场所、公共区域等多种环境,数据多样性良好,有助于训练出具备鲁棒性的检测模型。

文件结构与使用建议

项目通常包含如下文件结构:

mask-detection-dataset/
├── images/
│   ├── train/
│   │   ├── 0001.jpg
│   │   ├── 0002.jpg
│   │   └── ...
│   ├── val/
│   │   ├── 0001.jpg
│   │   ├── 0002.jpg
│   │   └── ...
│   └── test/
│       ├── 0001.jpg
│       ├── 0002.jpg
│       └── ...
├── labels/
│   ├── train/
│   │   ├── 0001.txt
│   │   ├── 0002.txt
│   │   └── ...
│   ├── val/
│   │   ├── 0001.txt
│   │   ├── 0002.txt
│   │   └── ...
│   └── test/
│       ├── 0001.txt
│       ├── 0002.txt
│       └── ...
├── data.yaml
└── README.md

使用建议

  1. 数据预处理

    • 建议对图像进行尺寸归一化(如 640x640)
    • 可应用数据增强技术:旋转、翻转、亮度调整等
    • 确保训练/验证/测试集的合理划分
  2. 模型训练优化

    • 针对召回率较低的问题,可以调整损失函数权重
    • 使用多尺度训练提升检测效果
    • 考虑使用预训练模型进行迁移学习
  3. 实际部署建议

    • 根据具体应用场景进行模型微调
    • 在边缘设备部署时考虑模型压缩和加速
    • 建立持续的性能监控和模型更新机制
  4. 质量保证

    • 定期验证模型在新场景下的表现
    • 收集困难样本进行模型改进
    • 建立人工审核机制确保检测准确性

技术标签

计算机视觉 目标检测 口罩检测 疫情防控 深度学习 YOLO 公共安全 智能监控


注意: 本数据集适用于研究和商业用途,使用时请确保遵守相关的数据使用协议和隐私保护规定。

YOLOv8 训练实战

本教程介绍如何使用 YOLOv8 对目标进行识别与检测。涵盖环境配置、数据准备、训练模型、模型推理和部署等全过程。


1. 环境配置

建议使用 Python 3.8+,并确保支持 CUDA 的 GPU 环境。

# 创建并激活虚拟环境(可选)
python -m venv yolov8_env
source yolov8_env/bin/activate  # Windows 用户使用 yolov8_env\Scripts\activate

安装 YOLOv8 官方库 ultralytics

pip install ultralytics

2. 数据准备

2.1 数据标注格式(YOLO)

每张图像对应一个 .txt 文件,每行代表一个目标,格式如下:

    

所有值为相对比例(0~1)。

类别编号从 0 开始。

2.2 文件结构示例

datasets/
├── images/
│   ├── train/
│   └── val/
├── labels/
│   ├── train/
│   └── val/

2.3 创建 data.yaml 配置文件

path: ./datasets
train: images/train
val: images/val

nc: 11
names: ['Bent_Insulator', 'Broken_Insulator_Cap', '', ...]

3. 模型训练

YOLOv8 提供多种模型:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。可根据设备性能选择。

yolo detect train \
  model=yolov8s.pt \
  data=./data.yaml \
  imgsz=640 \
  epochs=50 \
  batch=16 \
  project=weed_detection \
  name=yolov8s_crop_weed
参数 类型 默认值 说明
model 字符串 - 指定基础模型架构文件或预训练权重文件路径(.pt/.yaml
data 字符串 - 数据集配置文件路径(YAML 格式),包含训练/验证路径和类别定义
imgsz 整数 640 输入图像的尺寸(像素),推荐正方形尺寸(如 640x640)
epochs 整数 100 训练总轮次,50 表示整个数据集会被迭代 50 次
batch 整数 16 每个批次的样本数量,值越大需要越多显存
project 字符串 - 项目根目录名称,所有输出文件(权重/日志等)将保存在此目录下
name 字符串 - 实验名称,用于在项目目录下创建子文件夹存放本次训练结果

关键参数补充说明:

  1. model=yolov8s.pt

    • 使用预训练的 YOLOv8 small 版本(平衡速度与精度)
    • 可用选项:yolov8n.pt(nano)/yolov8m.pt(medium)/yolov8l.pt(large)
  2. data=./data.yaml

    # 典型 data.yaml 结构示例
    path: ../datasets/weeds
    train: images/train
    val: images/val
    names:
      0: Bent_Insulator
      1: Broken_Insulator_Cap
      2: ...
      3: ...
    

4. 模型验证与测试

4.1 验证模型性能

yolo detect val \
  model=runs/detect/yolov8s_crop_weed/weights/best.pt \
  data=./data.yaml
参数 类型 必需 说明
model 字符串 要验证的模型权重路径(通常为训练生成的 best.ptlast.pt
data 字符串 与训练时相同的 YAML 配置文件路径,需包含验证集路径和类别定义

关键参数详解

  1. model=runs/detect/yolov8s_crop_weed/weights/best.pt

    • 使用训练过程中在验证集表现最好的模型权重(best.pt
    • 替代选项:last.pt(最终epoch的权重)
    • 路径结构说明:
      runs/detect/
      └── [训练任务名称]/
          └── weights/
              ├── best.pt   # 验证指标最优的模型
              └── last.pt   # 最后一个epoch的模型
      
  2. data=./data.yaml

    • 必须与训练时使用的配置文件一致
    • 确保验证集路径正确:
      val: images/val  # 验证集图片路径
      names:
        0: crop
        1: weed
      

常用可选参数

参数 示例值 作用
batch 16 验证时的批次大小
imgsz 640 输入图像尺寸(需与训练一致)
conf 0.25 置信度阈值(0-1)
iou 0.7 NMS的IoU阈值
device 0/cpu 选择计算设备
save_json True 保存结果为JSON文件

典型输出指标

Class     Images  Instances      P      R      mAP50  mAP50-95
all        100       752      0.891  0.867    0.904    0.672
crop       100       412      0.912  0.901    0.927    0.701
weed       100       340      0.870  0.833    0.881    0.643

4.2 推理测试图像

yolo detect predict \
  model=runs/detect/yolov8s_crop_weed/weights/best.pt \
  source=./datasets/images/val \
  save=True

5. 自定义推理脚本(Python)

from ultralytics import YOLO
import cv2

# 加载模型
model = YOLO('runs/detect/yolov8s_crop_weed/weights/best.pt')

# 推理图像
results = model('test.jpg')

# 可视化并保存结果
results[0].show()
results[0].save(filename='result.jpg')

6. 部署建议

✅ 本地运行:通过 Python 脚本直接推理。

Web API:可用 Flask/FastAPI 搭建检测接口。

边缘部署:YOLOv8 支持导出为 ONNX,便于在 Jetson、RKNN 等平台上部署。

导出示例:

yolo export model=best.pt format=onnx

总结流程

阶段 内容
✅ 环境配置 安装 ultralytics, PyTorch 等依赖
✅ 数据准备 标注图片、组织数据集结构、配置 YAML
✅ 模型训练 使用命令行开始训练 YOLOv8 模型
✅ 验证评估 检查模型准确率、mAP 等性能指标
✅ 推理测试 运行模型检测实际图像目标
✅ 高级部署 导出模型,部署到 Web 或边缘设备

你可能感兴趣的:(数据集,目标跟踪,人工智能,计算机视觉,目标检测,pytorch)