SafetyHelmetWearing-Dataset
收藏资源简介:
安全帽佩戴检测数据集,包含7581张图像,其中有9044个安全帽佩戴对象(正例)和111514个普通头部对象(未佩戴或负例)。数据集中的正例对象来自谷歌或百度,并通过LabelImg手动标注。部分负例对象来自SCUT-HEAD数据集,我们对原SCUT-HEAD数据集进行了一些修正,使其可以直接加载为标准的Pascal VOC格式。
Hard Hat Wearing Detection Dataset consists of 7581 images, including 9044 hard hat wearing objects (positive samples) and 111514 regular head objects (without hard hats, i.e., negative samples). The positive samples are sourced from Google or Baidu, and were manually annotated with LabelImg. Some negative samples are derived from the SCUT-HEAD dataset, and we have revised the original SCUT-HEAD dataset to allow it to be directly loaded in the standard Pascal VOC format.
SafetyHelmetWearing-Dataset(安全帽佩戴检测数据集)
简介
SHWD 数据集用于安全帽佩戴和人头检测,包含 7581 张图像,其中有 9044 个佩戴安全帽的对象(正样本)和 111514 个未佩戴安全帽的对象(负样本)。正样本来自谷歌或百度,手动标注使用 LabelImg 工具。部分负样本来自 SCUT-HEAD,并对原始数据进行了修正,使其可以直接加载为 Pascal VOC 格式。此外,还提供了一些使用 MXNet GluonCV 预训练的模型。
数据集和模型下载
数据集
模型
基准测试
| 模型 | darknet | mobile1.0 | mobile0.25 |
|---|---|---|---|
| map | 88.5 | 86.3 | 75.0 |
如何使用数据集
数据集标注为 Pascal VOC 格式:
---VOC2028
---Annotations
---ImageSets
---JPEGImages
任务包含两个对象类别:“hat”(正样本)和“person”(负样本)。
如何运行
依赖
确保安装了 MXNet、GluonCV 和 OpenCV。
使用预训练模型进行测试
有两种推理方式:
第一种方式
从链接下载模型:
运行 "python test_yolo.py" 并设置选项,如: --network: darknet/mobile1.0/mobile0.25 网络,默认 darknet53; --threshold: 过滤对象的置信度; --gpu: 使用 GPU 或 CPU,默认 GPU; --short: 原始图像的短边输入尺寸。
第二种方式,使用 mxnet symbol 进行推理
下载 symbol 模型:
运行 "python test_symbol.py"
注意事项
- 提供了三种不同大小的 yolo 模型,默认使用 darknet53。
- 参数 "short" 表示原始图像的短边输入尺寸,可根据需要调整。
- 超参数 "threshold" 表示检测的置信度,可根据不同任务调整。
如何训练
在 "train_yolo.py" 文件中设置数据集路径,例如:
train_dataset = VOCLike(root=D:VOCdevkit, splits=[(2028, trainval)]) val_dataset = VOCLike(root=D:VOCdevkit, splits=[(2028, test)])
然后设置训练选项并开始训练:
python train_yolo.py --batch-size 4 -j 4 --warmup-epochs 3
注意事项
- 训练 yolo 时常见的问题是梯度爆炸,尝试更多 epoch 进行预热或使用较小的学习率。
- 数据集加载在 CPU 上花费较多时间,如果有多个 CPU 核心,可以增加 "-j" 的数量以提高训练速度。
- 如果在 Windows 上训练,程序有时会卡住,请参考相关讨论。如果在 Linux 上训练,确保有足够的共享内存。




