1. 项目背景与核心价值
矿井作业环境复杂多变,安全防护设备的实时监测一直是行业痛点。传统人工巡检方式存在响应滞后、漏检率高的问题,而基于计算机视觉的智能检测技术正在改变这一现状。这个数据集针对矿井安全帽、人员指示灯、自救器三大关键安全要素进行系统标注,为井下人员安全监测算法开发提供了高质量的训练素材。
我在煤矿智能化改造项目中实测发现,现有公开数据集普遍存在三个短板:样本场景单一(多为地面模拟环境)、关键设备覆盖不全(常缺失自救器标注)、标注格式不统一。本数据集特别针对这些痛点进行了优化,采集环境涵盖井下巷道、采掘面、运输通道等真实场景,所有图像均采用VOC+YOLO双格式标注,可直接适配主流目标检测框架。
2. 数据集结构解析
2.1 数据构成与分布
数据集包含4369张高分辨率图像(平均尺寸1920×1080),按7:2:1比例划分为训练集(3058张)、验证集(874张)、测试集(437张)。类别分布如下:
| 类别名称 | 实例数量 | 占比 | 典型场景示例 |
|---|---|---|---|
| 安全帽 | 5821 | 42.7% | 采煤机操作、巷道支护作业 |
| 人员指示灯 | 4983 | 36.5% | 运输巷道行走、设备检修 |
| 自救器 | 2347 | 17.2% | 交接班检查、安全演练 |
| 未佩戴安全帽 | 489 | 3.6% | 休息区、设备故障处理 |
注:未佩戴安全帽类别采用负样本标注策略,仅标注明显违规情况,避免与正常脱帽场景混淆
2.2 标注规范详解
采用PASCAL VOC与YOLO v5格式同步标注,关键特征包括:
- 边界框采用"设备本体+安全距离"原则(如安全帽标注包含帽檐外延5cm)
- 遮挡处理:可见部分≥30%时完整标注,否则归入困难样本
- 多角度覆盖:包含俯视(皮带巡检)、平视(巷道行走)、仰视(液压支架检修)等视角
标注文件示例(YOLO格式):
code复制0 0.543 0.612 0.125 0.201 # 安全帽
1 0.712 0.598 0.088 0.102 # 人员指示灯
2 0.401 0.834 0.156 0.187 # 自救器
3. 数据采集与处理流程
3.1 井下采集方案
采用防爆型工业相机(本安型EX-2800)进行多点位采集,参数配置:
- 光圈:f/2.8(适应低照度环境)
- ISO:自动(上限1600)
- 白平衡:手动锁定(避免矿灯色温干扰)
- 拍摄间距:每5米1组(覆盖巷道纵深变化)
特殊场景处理技巧:
- 粉尘环境:增加前置偏振镜(减少反光干扰)
- 低照度区域:开启红外辅助照明(不影响人员指示灯识别)
- 动态模糊:采用1/500s以上快门速度
3.2 数据增强策略
针对矿井环境特点定制增强方案:
python复制transform = A.Compose([
A.RandomBrightnessContrast(p=0.5), # 模拟光照变化
A.RandomFog(fog_coef_lower=0.1, fog_coef_upper=0.3, p=0.3), # 粉尘模拟
A.MotionBlur(blur_limit=7, p=0.2), # 运动模糊
A.GridDropout(ratio=0.1, p=0.4) # 设备遮挡模拟
])
4. 模型训练与优化要点
4.1 YOLOv5训练配置
采用YOLOv5s模型进行基准训练,关键参数:
yaml复制hyp.scratch-low.yaml 调优重点:
lr0: 0.0032 # 初始学习率(粉尘场景需更低)
warmup_epochs: 5 # 延长预热(应对样本不平衡)
hsv_h: 0.015 # 降低色调变化(保持指示灯颜色特征)
fl_gamma: 1.5 # 聚焦困难样本
4.2 矿井场景特化技巧
- 小目标检测优化:
- 添加160×160检测头(针对远距离指示灯)
- 采用BiFPN特征融合(提升自救器识别率)
- 误报抑制方案:
python复制def postprocess(detections):
# 安全帽与头部位置校验
if cls == 0 and y_center < 0.7:
conf *= 0.6
# 指示灯与安全帽距离校验
if cls == 1 and not nearby_hat(detections):
conf *= 0.3
5. 实际部署注意事项
5.1 边缘计算设备适配
在井下防爆计算机(型号:KJD127)上的优化策略:
- 模型量化:FP16精度(仅损失0.3% mAP)
- 输入尺寸:640×384(长边压缩,保持宽高比)
- 后处理优化:采用NMS-Poly(处理倾斜安全帽)
5.2 系统集成方案
典型部署架构:
code复制[防爆相机] → [本安型交换机] → [边缘计算盒]
↓
[声光报警器] ← [MODBUS RTU] ← [PLC控制器]
通信协议配置要点:
- 视频流:RTSP over TCP(重传机制保障)
- 报警信号:Modbus TCP心跳包间隔≤2s
- 数据存储:循环覆盖(SSD寿命优化)
6. 常见问题与解决方案
6.1 识别准确率问题
| 现象 | 排查步骤 | 解决方案 |
|---|---|---|
| 自救器漏检率高 | 检查标注是否包含腰部悬挂场景 | 增加负样本训练 |
| 指示灯误识别 | 分析环境光干扰(矿灯频闪等) | 添加光学滤波+帧间一致性校验 |
| 远距离安全帽识别差 | 验证特征图分辨率(8×8网格敏感度) | 修改stride=16→8 |
6.2 工程部署问题
- 防爆外壳散热影响:
- 实测温度升高会使推理速度下降23%
- 建议:限制连续推理时间≤30分钟
- 多相机同步方案:
python复制# 基于PTP协议的时间同步
gst-launch-1.0 rtspsrc location=rtsp://cam1 ! \
rtpptdepay ! \
pts_sync_mode=clock+ptp
经过在山西某煤矿的实地测试,使用本数据集训练的模型在以下指标表现优异:
- 安全帽识别准确率:98.2%(@IOU=0.5)
- 指示灯识别延迟:≤120ms(边缘设备)
- 系统误报率:<0.5次/班(8小时工况)