智能监控地铁站内人员危险行为关键点检测数据集YOLOv11 地铁人员检测、人体关键点检测、姿态估计、危险行为识别、摔倒检测、车站安防

智能监控地铁站内人员危险行为关键点检测数据集,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 类别对应表

序号英文类别中文释义
0fall_down摔倒
1lying_down躺卧
2sitting坐卧
3standing正常站立

1.3 各子集目标分布

子集摔倒(fall_down)躺卧(lying_down)坐卧(sitting)正常站立(standing)
训练集53435088633
验证集345515174
测试集3714

1.4 关键点可见性统计

子集不可见(v=0)被遮挡(v=1)完全可见(v=2)
训练集136136425785
验证集899453692
测试集046209

1.5 类别列表代码

names=["fall_down","lying_down","sitting","standing"]

二、应用场景

  1. 地铁安防监控:站内摄像头实时识别摔倒、躺卧等危险行为,自动预警,保障乘客人身安全。
  2. 轨道交通智能运维:地铁、车站、枢纽等场所人员姿态分析,异常行为实时上报。
  3. 人体关键点算法研发:姿态估计、行为识别、关键点检测模型训练、学术研究与竞赛。
  4. 公共区域安防系统:商场、车站、楼道等室内场所人员异常行为监测。
  5. 边缘设备部署:嵌入式摄像头、智能网关搭载模型,实现本地实时检测。

三、YOLOv11 关键点检测 训练&推理代码

3.1 环境依赖安装

pipinstallultralytics torch opencv-python numpy

3.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.yaml

3.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("关键点检测推理完成")