压缩过后的多个跌倒检测数据集+帧级标签
收藏资源简介:
## 数据集总览 | 维度 | Le2i | MCFD | UP-Fall | |------|------|------|------| | 全称 | Le2i Fall Detection | Multi-Camera Fall Detection | UP-Fall Detection | | 视频数 | 190 | 192 (24场景×8摄像头) | 66 (1人×11活动×3次×2摄像头) | | 是否有跌倒 | ✅ (96 fall / 94 non-fall) | ✅ (25 段跌倒) | ✅ (5 种跌倒 + 6 种 ADL) | | 多视角 | ❌ 单目 | ✅ 8 摄像头同步 | ✅ 2 摄像头同步 | | 受试者 | 多人(老年人) | 多人(年轻人) | 1 人(年轻人) | | 场景 | 6 个房间 | 24 个工业场景 | 1 个室内环境 | | 视频编码 | h264 CRF 23 | mpeg4 (原始) | h264 CRF 23 | | 大小 | 74 MB | 3.53 GB | 60 MB | | 标注格式 | JSON (视频级 + 帧级) | JSON (逐帧段级) | CSV (逐帧) + JSON | | 来源 | 公开数据集 | 公开数据集 | ModelScope: `yangkailiang12/fall_up` | --- ## 1. Le2i 跌倒数据集 ### 目录结构 ``` Le2i/ ├── le2i_split.json # 训练/测试划分 + 帧级标注 ├── Coffee_room_01/Coffee_room_01/*.mp4 # 48 视频 ├── Coffee_room_02/Coffee_room_02/*.mp4 # 22 视频 ├── Home_01/Home_01/*.mp4 # 30 视频 ├── Home_02/Home_02/*.mp4 # 30 视频 ├── Lecture_room/Lecture room/*.mp4 # 27 视频 (⚠️ 无 fall 标注) └── Office/Office/*.mp4 # 33 视频 (⚠️ 无 fall 标注) ``` ### 标注格式 (`le2i_split.json`) ```json { "Home_01_Home_01_Videos_video (16)": { "split": "train", "is_fall": true, "scene": "Home_01", "n_frames": 264, "ctx_start": 177, "fall_start": 186, "fall_end": 199, "leak": 7 } } ``` | 字段 | 说明 | |------|------| | `split` | `"train"` / `"test"` | | `is_fall` | 是否含跌倒 | | `n_frames` | 视频总帧数 | | `fall_start` / `fall_end` | 跌倒起止帧(仅 fall 视频) | | `ctx_start` | 有效上下文起始帧 | ### 数据划分 | 集合 | 视频数 | Fall | Non-Fall | |------|:---:|:---:|:---:| | Train | 149 | 75 | 74 | | Test | 41 | 21 | 20 | ### 注意事项 - **Office 和 Lecture_room 无 fall 标注**,当前训练/测试已排除这两个场景 - 原始为 rawvideo (17 GB),已压缩为 h264 CRF 23 (74 MB) - 视频分辨率:320×240, 25 fps --- ## 2. MCFD 多视角跌倒数据集 ### 目录结构 ``` MCFD/ ├── annotations.json # 全部标注(24 场景 × 8 摄像头) ├── technicalReport.pdf # 原始技术报告 └── dataset/ ├── chute01/cam{1-8}.avi # 场景 1, 8 摄像头 ├── chute02/... └── chute24/cam{1-8}.avi ``` ### 标注格式 (`annotations.json`) 每个场景包含 `segments` 数组和 `falls` 数组: ```json { "1": { "camera_ref": 11, "segments": [ {"start": 874, "end": 1011, "code": 1, "label": "Walking"}, {"start": 1080, "end": 1108, "code": 2, "label": "Falling"}, {"start": 1109, "end": 1285, "code": 3, "label": "Lying on ground"} ], "falls": [{"start": 1080, "end": 1108}] } } ``` ### 活动标签(9 类) | code | 标签 | code | 标签 | |:---:|------|:---:|------| | 1 | Walking | 6 | Moving up | | **2** | **Falling** 🔴 | 7 | Sitting | | 3 | Lying on ground | 8 | Lying on sofa | | 4 | Crouching | 9 | Moving horizontally | | 5 | Moving down | | | ### 数据统计 | 属性 | 值 | |------|------| | 场景数 | 24 (chute01–chute24) | | 每场景摄像头 | 8 (cam1–cam8, 360° 覆盖) | | 含跌倒场景 | 23/24 (Scene 24 无跌倒) | | 总跌倒段 | 25 段(每段约 20–70 帧,1–3 秒) | | 视频编码 | mpeg4, 720×480, 120 fps | | 训练/验证/测试 | 20 / 2 / 2 场景 | ### 注意事项 - **8 个摄像头存在帧同步延迟**:标注基于 `camera_ref` 的帧索引,其余摄像头需做 delay 修正 - 正样本极少(~20 个正样本,极度类不平衡),训练时建议使用 FocalLoss - 原始已是 mpeg4 有损压缩,无需再次压缩 --- ## 3. UP-Fall 跌倒检测数据集 ### 目录结构 ``` UP-Fall/ ├── label_summary.json # 全局元数据 └── upfall_avi/Subject1/ ├── Activity1/Trial{1-3}/ │ ├── Subject1Activity1Trial{N}Camera{1,2}.mp4 │ └── Subject1Activity1Trial{N}_simple.csv ├── ... └── Activity11/Trial{1-3}/... ``` ### 活动标签 | # | 标签 | 类型 | # | 标签 | 类型 | |:---:|------|:---:|:---:|------|:---:| | 1 | fall_forward_hands | 🔴 跌倒 | 7 | standing | 🟢 ADL | | 2 | fall_forward_knees | 🔴 跌倒 | 8 | sitting | 🟢 ADL | | 3 | fall_backwards | 🔴 跌倒 | 9 | picking_object | 🟢 ADL | | 4 | fall_sideward | 🔴 跌倒 | 10 | jumping | 🟢 ADL | | 5 | fall_sitting_chair | 🔴 跌倒 | 11 | laying | 🟢 ADL | | 6 | walking | 🟢 ADL | | | | ### 标注格式 (CSV) 逐帧标注,`frame,Tag` 两列: ```csv frame,Tag 1,7 2,7 ... 58,7 ← 站立 59,1 ← 开始前向倒 ... 112,1 ← 跌倒动作 113,11 ← 躺地 ... 195,11 ``` **跌倒序列规律**:Tag `7(站立)` → `1~5(跌倒动作)` → `11(躺地)` **ADL 序列**:Tag 全程恒定(=活动编号),如 Activity7(站立) 全部标记为 7 ### 数据统计 | 属性 | 值 | |------|------| | 受试者 | Subject1 (1 人) | | 活动数 | 11 (5 跌倒 + 6 ADL) | | 每活动试验 | 3 次 (Trial1/2/3) | | 摄像头 | 2 (Camera1/Camera2) | | 总视频 | 66 | | 视频编码 | h264 CRF 23, 640×480, 18 fps | | 原始编码 | ffv1 无损 (11 GB) → h264 CRF 23 (60 MB) | ### 注意事项 - **仅 1 个受试者**,不适合单独训练,建议作为跨域评测或辅助验证 - CSV 为逐帧活动标签,跌倒检测需自行转换为二分类(Activity1-5 → fall) - 同时提供 `label_summary.json`(包含 FPS=18、分辨率 640×480、完整 trial 清单) --- ## 快速开始 ### 下载 ```python from modelscope.hub.api import HubApi from modelscope.msdatasets import MsDataset api = HubApi() api.login('YOUR_ACCESS_TOKEN') ds = MsDataset.load('yangkailiang12/fall_detection_compress') ``` ### 加载 Le2i ```python import json with open('Le2i/le2i_split.json') as f: split = json.load(f) # 遍历视频:split['videos'] → {video_name: {split, is_fall, fall_start, fall_end, ...}} ``` ### 加载 MCFD ```python import json with open('MCFD/annotations.json') as f: ann = json.load(f) # ann['scenarios'] → {scene_id: {segments, falls, camera_ref}} ``` ### 加载 UP-Fall ```python import pandas as pd # 读取逐帧标注 csv = pd.read_csv('UP-Fall/upfall_avi/Subject1/Activity1/Trial1/Subject1Activity1Trial1_simple.csv') # 跌倒帧 = csv[csv['Tag'].isin([1,2,3,4,5])] ``` --- ## 版本历史 | 日期 | 版本 | 变更 | |------|------|------| | 2026-06-30 | v1.0 | 初始版本:Le2i (h264 压缩)、MCFD (原始 mpeg4)、UP-Fall (h264 压缩 + CSV) | --- ## 许可 各数据集遵循其原始许可协议。详见各数据集原始出处: - Le2i: [Le2i Fall Detection Dataset](http://le2i.cnrs.fr/Fall-detection-dataset) - MCFD: [Multi-Camera Fall Dataset](https://www.iro.umontreal.ca/~labimage/Dataset/) - UP-Fall: [UP-Fall Detection Dataset](https://sites.google.com/up.edu.mx/har-up/)



