矿井作业环境复杂且危险性高,人员安全防护设备的规范佩戴直接关系到矿工生命安全。传统人工巡检方式存在效率低、覆盖不全等问题,而基于计算机视觉的智能监测系统正逐渐成为行业刚需。这个开源数据集正是为解决这一痛点而生——它提供了经过专业标注的矿井作业场景图像数据,覆盖安全帽、自救器、人员、指示器等关键目标,识别准确率可达96.3%,支持YOLO、COCO JSON、Pascal VOC XML三种主流标注格式。
我在参与某煤矿智能化改造项目时,曾花费两个月时间采集和标注数据集。实测发现,市面通用数据集在矿井环境下识别率普遍低于70%,主要因为:
这个数据集的价值在于:
数据集包含12,847张高清图像(1920×1080分辨率),采集自3个不同类型的煤矿井下环境。具体分布:
| 场景类型 | 图像数量 | 主要特征 |
|---|---|---|
| 主运输巷道 | 5,212 | 相对开阔,多人协同作业场景 |
| 综采工作面 | 4,305 | 设备密集,粉尘浓度高 |
| 掘进工作面 | 3,330 | 光照条件差,目标遮挡严重 |
采集设备采用防爆型工业相机(型号Hikvision DS-2CD3系列),固定安装在矿用本安型云台。为保障数据多样性,设置了以下采集策略:
标注过程严格执行三级质检流程,关键标注规则包括:
安全帽标注要点
自救器标注特殊处理
我们开发了专门的标注辅助工具来自动检测常见错误:
python复制def validate_annotation(ann):
# 检查安全帽与人体的位置关系
if ann['class'] == 'helmet':
person_boxes = [b for b in ann['frame'] if b['class'] == 'person']
if not any(check_overlap(ann, p, threshold=0.3) for p in person_boxes):
raise AnnotationError("安全帽未与人体关联")
# 自救器尺寸合理性检查
if ann['class'] == 'self_rescuer':
w, h = ann['width'], ann['height']
if w*h < 2500: # 像素面积阈值
raise AnnotationError("自救器标注尺寸过小")
数据集提供三种格式的转换脚本,核心转换逻辑如下:
YOLO格式注意事项
COCO JSON扩展字段
json复制{
"annotations": [{
"category_id": 2,
"attributes": {
"helmet_color": "red",
"is_wearing_correctly": true
}
}]
}
Pascal VOC关键改进
在YOLOv5s、Faster R-CNN、RetinaNet三个主流框架上的性能对比:
| 模型 | mAP@0.5 | 推理速度(FPS) | 显存占用(MB) |
|---|---|---|---|
| YOLOv5s | 0.927 | 58 | 1,024 |
| Faster R-CNN | 0.941 | 23 | 2,348 |
| RetinaNet | 0.903 | 34 | 1,562 |
实测发现YOLOv5s在边缘计算设备(如Jetson Xavier NX)上表现最优。推荐训练配置:
yaml复制# yolov5s_helmet.yaml
nc: 5 # helmet, person, self_rescuer, indicator, reflective_strip
depth_multiple: 0.33
width_multiple: 0.50
anchors:
- [12,16, 19,36, 40,28] # 针对小目标优化
- [36,75, 76,55, 72,146]
- [142,110, 192,243, 459,401]
数据增强策略
python复制def add_mining_dust(img):
img = cv2.GaussianBlur(img, (3,3), 0)
noise = np.random.normal(0, 15, img.shape).astype('uint8')
return cv2.addWeighted(img, 0.85, noise, 0.15, 0)
小目标检测优化
类别不平衡处理
在防爆型AI摄像头(如Hikvision DS-2CD7系列)上的部署流程:
bash复制python export.py --weights best.pt --include onnx --img 640 --device 0
bash复制trtexec --onnx=best.onnx --fp16 --saveEngine=best_fp16.engine
误报问题处理
漏检问题优化
性能调优记录
基于该数据集训练的模型可应用于以下典型场景:
实时安全监控系统
智能巡检机器人
培训考核系统
在实际部署中,建议增加以下改进:
训练过程中有个容易被忽视的细节:矿井环境下金属结构会产生磁场干扰,可能导致设备时钟漂移。我们通过在图像中嵌入GPS时间戳(即便在井下无法定位也保持时钟同步),解决了多摄像头时标对齐问题。这个小技巧使跨视角跟踪准确率提升了18%。