智能监控地铁站内人员危险行为关键点检测数据集,1005张,提供yolo关键点检测格式文件
YOLO 关键点数据集统计信息
总图像数: 1005
图像尺寸: 640×640
关键点配置: 17 个点, 维度=3 (x,y,可见性)
类别总数: 4
类别名称: [‘fall_down’, ‘lying_down’, ‘sitting’, ‘standing’]
[TRAIN 集]
图像数量: 904
图像尺寸: 640×640
目标数量:
fall_down(0): 534 个
lying_down(1): 350 个
standing(3): 633 个
sitting(2): 88 个
关键点可见性:
v=0(不可见): 136
v=1(被遮挡): 1364
v=2(完全可见): 25785
[VALID 集]
图像数量: 91
图像尺寸: 640×640
目标数量:
standing(3): 174 个
fall_down(0): 34 个
lying_down(1): 55 个
sitting(2): 15 个
关键点可见性:
v=0(不可见): 89
v=1(被遮挡): 945
v=2(完全可见): 3692
[TEST 集]
图像数量: 10
图像尺寸: 640×640
目标数量:
lying_down(1): 7 个
fall_down(0): 3 个
standing(3): 4 个
sitting(2): 1 个
关键点可见性:
v=0(不可见): 0
v=1(被遮挡): 46
v=2(完全可见): 209
一、数据集信息表格
1.1 基础总览
| 项目 | 详情 |
|---|---|
| 数据集名称 | 地铁站内人员危险行为关键点检测数据集 |
| 总图像数量 | 1005 张 |
| 图像尺寸 | 640×640 |
| 标注格式 | YOLO 关键点检测格式 |
| 关键点配置 | 单目标17个关键点,维度(x,y,可见性) |
| 类别总数 | 4类 |
| 训练集 | 904 张 |
| 验证集 | 91 张 |
| 测试集 | 10 张 |
1.2 类别对应表
| 序号 | 英文类别 | 中文释义 |
|---|---|---|
| 0 | fall_down | 摔倒 |
| 1 | lying_down | 躺卧 |
| 2 | sitting | 坐卧 |
| 3 | standing | 正常站立 |
1.3 各子集目标分布
| 子集 | 摔倒(fall_down) | 躺卧(lying_down) | 坐卧(sitting) | 正常站立(standing) |
|---|---|---|---|---|
| 训练集 | 534 | 350 | 88 | 633 |
| 验证集 | 34 | 55 | 15 | 174 |
| 测试集 | 3 | 7 | 1 | 4 |
1.4 关键点可见性统计
| 子集 | 不可见(v=0) | 被遮挡(v=1) | 完全可见(v=2) |
|---|---|---|---|
| 训练集 | 136 | 1364 | 25785 |
| 验证集 | 89 | 945 | 3692 |
| 测试集 | 0 | 46 | 209 |
1.5 类别列表代码
names=["fall_down","lying_down","sitting","standing"]二、应用场景
- 地铁安防监控:站内摄像头实时识别摔倒、躺卧等危险行为,自动预警,保障乘客人身安全。
- 轨道交通智能运维:地铁、车站、枢纽等场所人员姿态分析,异常行为实时上报。
- 人体关键点算法研发:姿态估计、行为识别、关键点检测模型训练、学术研究与竞赛。
- 公共区域安防系统:商场、车站、楼道等室内场所人员异常行为监测。
- 边缘设备部署:嵌入式摄像头、智能网关搭载模型,实现本地实时检测。
三、YOLOv11 关键点检测 训练&推理代码
3.1 环境依赖安装
pipinstallultralytics torch opencv-python numpy3.2 数据集配置文件metro_pose.yaml
path:./metro_pose_datasettrain:images/trainval:images/valtest:images/test# 类别数nc:4# 类别名称names:0:fall_down1:lying_down2:sitting3:standing# 关键点配置:17个关键点,每个点 (x,y,visibility)kpt_shape:[17,3]3.3 数据集目录结构
metro_pose_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ # YOLO 关键点标注 txt 文件 │ ├── train/ │ ├── val/ │ └── test/ └── metro_pose.yaml3.4 训练代码train_metro_pose.py
fromultralyticsimportYOLOdeftrain_metro_pose():# 加载 YOLOv11n 关键点检测模型model=YOLO("yolov11n-pose.yaml")model.train(data="metro_pose.yaml",epochs=80,imgsz=640,batch=8,device="cpu",# GPU环境改为 device=0workers=4,patience=12,amp=True,mosaic=1.0,project="runs/train",name="metro_person_pose",exist_ok=True)print("训练完成,权重保存至 runs/train/metro_person_pose/weights")if__name__=="__main__":train_metro_pose()3.5 推理测试代码predict_metro_pose.py
fromultralyticsimportYOLO# 加载训练完成的最优权重model=YOLO("runs/train/metro_person_pose/weights/best.pt")if__name__=="__main__":# 单张图片检测 + 关键点绘制res=model("test.jpg",save=True,conf=0.25)# 批量图片检测# res = model("./test_images/", save=True, conf=0.25)# 视频/摄像头实时姿态检测# res = model(0, save=True, conf=0.25)print("关键点检测推理完成")