1. 项目背景与意义
自动扶梯作为现代公共场所的重要运输设备,其安全问题一直备受关注。据统计,全球每年因自动扶梯使用不当导致的意外事故高达数千起,其中大部分是由于乘客的危险行为造成的。传统的人工监控方式存在效率低、反应慢等问题,而基于计算机视觉的智能监控系统能够有效解决这些痛点。
我们团队历时6个月,采集并标注了这套"电梯扶梯危险行为检测数据集"。这个数据集专门针对自动扶梯场景中的10类典型危险行为进行标注,采用业界通用的YOLO格式,可直接用于目标检测模型的训练和评估。在实际应用中,基于该数据集训练的模型可以实时监测扶梯运行状态,及时发现危险行为并发出预警,显著提升公共场所的安全管理水平。
2. 数据集详解
2.1 数据采集与标注
数据集构建过程中,我们采用了多源数据采集策略:
- 实地采集:在多个商场、地铁站等公共场所,使用高清摄像头拍摄不同时段、不同角度的扶梯监控视频
- 公开数据:从网络获取部分公开的扶梯监控视频素材
- 模拟场景:在实验室环境中模拟部分危险行为场景
所有视频素材经过逐帧提取后,由专业标注团队进行筛选和标注。标注过程中特别注意以下几点:
- 确保每个危险行为实例都被准确标注
- 对于遮挡、模糊等情况,要求标注可见部分
- 多人协作标注时,定期进行交叉检查以保证一致性
2.2 类别定义与分布
数据集包含的10类危险行为定义如下:
| 类别编号 | 危险行为 | 定义说明 | 典型场景 |
|---|---|---|---|
| 0 | 逆行 | 乘客逆向行走或站立 | 常见于儿童玩耍或紧急情况 |
| 1 | 摔倒 | 乘客失去平衡跌倒 | 老人或携带重物者多发 |
| 2 | 攀爬扶手 | 攀爬扶梯侧面扶手 | 儿童危险行为 |
| 3 | 轮椅上扶梯 | 轮椅直接进入扶梯 | 残障人士不当使用 |
| 4 | 携带大件行李 | 携带超大或超重行李 | 车站、机场常见 |
| 5 | 婴儿车上扶梯 | 婴儿车直接进入扶梯 | 家长安全意识不足 |
| 6 | 衣物卷入 | 衣物被扶梯缝隙夹住 | 长裙、围巾等易发 |
| 7 | 手伸出扶手外 | 手部超出扶手范围 | 儿童好奇行为 |
| 8 | 头伸出扶手外 | 头部超出扶手范围 | 儿童危险行为 |
| 9 | 鞋子卷入 | 鞋类被扶梯缝隙夹住 | 软底鞋、拖鞋易发 |
数据集中各类别的样本分布存在一定不均衡性,这是实际场景中各类行为发生频率的真实反映。我们在数据增强策略中特别考虑了这一点,确保模型对所有类别都有良好的检测能力。
3. 数据集技术细节
3.1 数据格式与结构
数据集严格遵循YOLO格式标准,目录结构如下:
dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ │ ├── train/ │ ├── val/ │ └── test/ └── data.yaml每个标注文件对应同名的图像文件,采用.txt格式存储,每行表示一个目标实例:
<class_id> <x_center> <y_center> <width> <height>其中坐标值均为归一化后的相对值(0-1范围)。
3.2 数据划分策略
我们采用7:2:1的比例将数据集划分为:
- 训练集:1940张图像(2215个标注框)
- 验证集:554张图像(626个标注框)
- 测试集:278张图像(327个标注框)
划分时特别注意:
- 确保每个子集中都包含所有类别
- 同一场景的不同帧不会被分到不同子集
- 测试集完全独立,不参与任何训练过程
3.3 数据质量控制
为确保标注质量,我们实施了三重质检流程:
- 初级标注员完成初步标注
- 高级标注员进行复核和修正
- 最终由项目负责人抽样检查
对于边界模糊的案例,我们建立了明确的标注规范:
- 部分遮挡目标:标注可见部分
- 多人重叠:尽量分开标注
- 模糊目标:超过50%可辨识则标注
4. 数据集使用指南
4.1 快速开始
使用本数据集训练YOLO模型的基本流程:
- 下载并解压数据集
- 准备YOLO训练环境(推荐使用ultralytics/yolov5)
- 修改data.yaml中的路径配置
- 开始训练:
python train.py --data data.yaml --cfg yolov5s.yaml --weights yolov5s.pt --batch-size 164.2 数据增强建议
针对本数据集特点,推荐采用以下增强策略:
- 基础增强:随机翻转、旋转、色彩调整
- 针对小目标:适度放大图像
- 针对样本不均衡:过采样少数类别
- 针对遮挡问题:模拟遮挡增强
示例增强配置(YOLOv5):
augmentations: hsv_h: 0.015 # 色相增强 hsv_s: 0.7 # 饱和度增强 hsv_v: 0.4 # 明度增强 degrees: 10 # 旋转角度 translate: 0.1 # 平移 scale: 0.5 # 缩放 shear: 0.0 # 剪切 perspective: 0.0001 # 透视变换 flipud: 0.0 # 上下翻转 fliplr: 0.5 # 左右翻转 mosaic: 1.0 # 马赛克增强 mixup: 0.1 # MixUp增强4.3 模型训练技巧
基于我们的实践经验,分享几个关键训练技巧:
- 学习率设置:
- 初始学习率:0.01
- 使用余弦退火调度
- warmup epochs设为3
- 损失函数调整:
- 适当增加小目标损失的权重
- 对样本少的类别增加分类损失权重
- 训练策略:
- 先冻结骨干网络训练100轮
- 解冻后全网络训练300轮
- 最后微调50轮
5. 基准测试结果
我们在YOLOv5s模型上进行了基准测试,结果如下:
5.1 整体性能
| 指标 | 数值 |
|---|---|
| mAP@0.5 | 0.872 |
| mAP@0.5:0.95 | 0.643 |
| Precision | 0.891 |
| Recall | 0.832 |
| F1-score | 0.861 |
5.2 各类别性能
| 类别 | AP@0.5 | 常见误检 |
|---|---|---|
| 逆行 | 0.912 | 正常行走 |
| 摔倒 | 0.843 | 蹲下休息 |
| 攀爬扶手 | 0.901 | 扶握扶手 |
| 轮椅上扶梯 | 0.856 | 婴儿车 |
| 大件行李 | 0.879 | 多人拥挤 |
| 婴儿车 | 0.834 | 轮椅 |
| 衣物卷入 | 0.801 | 衣物飘动 |
| 手伸出 | 0.762 | 挥手动作 |
| 头伸出 | 0.793 | 转头动作 |
| 鞋子卷入 | 0.821 | 鞋子移动 |
5.3 性能优化建议
根据混淆矩阵分析,建议从以下方面改进模型:
- 增加"轮椅"和"婴儿车"的区分特征
- 优化"摔倒"与"蹲下"的判别
- 提升小目标(如手、头)的检测灵敏度
6. 实际应用案例
6.1 智能监控系统集成
在某商场部署的案例中,我们将训练好的模型集成到现有监控系统:
- 使用NVIDIA Jetson Xavier NX作为边缘计算设备
- 处理1080P视频流,帧率15FPS
- 检测到危险行为后,触发以下响应:
- 现场语音提醒
- 控制室弹窗报警
- 自动保存事件录像
系统上线3个月后,扶梯事故率下降62%,效果显著。
6.2 模型优化经验
在实际部署中,我们总结了几点重要经验:
- 边缘设备上使用TensorRT加速,推理速度提升3倍
- 针对特定场景微调模型,准确率可再提升10-15%
- 设置合理的检测阈值(建议0.4-0.6)平衡误报和漏报
7. 常见问题与解决方案
7.1 数据相关问题
Q:如何处理类别不均衡? A:我们采用以下组合策略:
- 过采样少数类别图像
- 在损失函数中增加类别权重
- 针对性设计增强方法
Q:标注不一致怎么办? A:建议:
- 建立详细的标注规范文档
- 定期组织标注员培训
- 引入多人标注-投票机制
7.2 模型训练问题
Q:小目标检测效果差? A:可以尝试:
- 提高输入图像分辨率
- 使用专门的小目标检测层
- 增加针对小目标的增强
Q:模型过拟合怎么办? A:建议措施:
- 增加正则化(Dropout, L2等)
- 使用更丰富的数据增强
- 早停策略
7.3 部署应用问题
Q:如何提高推理速度? A:有效方法包括:
- 模型量化(FP16/INT8)
- 使用TensorRT优化
- 调整输入尺寸
Q:如何处理误报? A:我们采用:
- 多帧验证机制
- 结合行为时序分析
- 场景特定的规则过滤
8. 未来改进方向
基于当前数据集和实际应用反馈,我们计划在以下方面进行改进:
- 数据层面:
- 增加更多光照变化的场景
- 收集更多罕见危险行为样本
- 添加多视角同步数据
- 标注层面:
- 引入细粒度行为分级标注
- 增加时间连续性的标注信息
- 提供实例分割标注
- 模型层面:
- 开发轻量化专用模型
- 探索视频时序建模方法
- 研究多模态融合检测
这套数据集将持续更新维护,我们欢迎研究机构和企业在遵守使用协议的前提下,共同推动自动扶梯安全技术的发展。