信息速览
REHAB(rehab-wearable-kinematic):120 例卒中患者标准康复任务可穿戴运动学数据集
一句话定位:REHAB 是解放军总医院与中科院苏州医工所联合发布、基于一项 120 例卒中偏瘫患者随机对照临床试验采集的可穿戴运动学数据集——用 5 个传感器节点(4 个九轴 IMU + 1 只带弯曲传感器的康复手套)在 50 Hz 下记录了 27 项 FMA-UE 标准评估动作与 16 项康复训练动作,配套双治疗师独立评分与动作类别标签,CC BY 4.0 在 Science Data Bank 公开。
§0 导读:这个数据集解决什么问题
0.1 一句话说清它是什么
如果你手上有康复动作识别、运动功能自动评分、可穿戴步态与上肢分析方面的模型,却一直找不到「真实卒中患者 + 标准临床量表标签 + 可穿戴信号」三件齐备的公开数据,REHAB 就是冲着这个空缺来的:它不是健康人在实验室做 ADL 动作的通用人体活动识别(Human Activity Recognition, HAR)数据集,而是把临床康复科真正的评估流程(Fugl-Meyer 上肢评定量表)和训练流程(16 项康复操)搬进了传感器记录里。
0.2 它填补的三个空缺
论文在 Background & Summary 里逐条列出了既有数据集的四个短板,本条目归纳为三个最要害的:
- 缺康复专属任务。UCI HAR、PAMAP2、HANDY 等经典数据集全是走路、坐下、上下楼这类日常生活活动(Activities of Daily Living, ADL),没有「肩关节外展 90°」这种临床评估动作,用它预训练的模型迁移到康复评估上会明显失真。
- 缺真实患者。IntelliRehabDS 等康复数据集病例数有限;大量大尺度运动数据集来自健康人。用健康人数据训练出来的模型,捕捉不到偏瘫患者特有的代偿动作与运动模式。
- 缺临床标签。很多运动数据集只有动作类别,没有 Brunnstrom 分期、Fugl-Meyer 评分这类临床结局标签,模型无法与量表对接。
REHAB 的对策是:真实患者(120 例)、真实临床流程(双治疗师评分)、真实康复动作(27 + 16 项),并用一套轻量、可搬回家的五节点系统采集。
0.3 与同批条目 rehab-motion-capture 的分工
本批次另有 rehab-motion-capture(光学动捕 + Kinect)条目。两者都做人体运动采集,但走的是两条互补路线:REHAB 用穿戴式惯性传感,动捕用外部视觉/光学标记。前者便宜、可带回家、天然保护隐私,但存在积分漂移与穿戴误差;后者关节位置精度高、无需在身上贴东西,但受遮挡、视场与隐私约束。本条目 §4.7 给出四维对照表,避免检索者把两者混为一谈。
0.4 怎么读这篇条目
- 只想快速判断能不能用 → 读 §1 十问十答 + 附录 A 速查卡。
- 要动手建模 → 读 §2 数据构成 + §5 加载与复现 + 附录 G 代码骨架。
- 关心临床可信度 → 读 §3 采集流程 + §4 验证与偏倚。
- 关心合规与获取 → 读 §6 许可与获取 + §10 避坑清单。
§1 数据集速览:十问十答
Q1:官方名字叫什么?有没有别名?
官方全名 REHAB: A wearable sensor–based kinematic dataset collected under standardized rehabilitation tasks from 120 post-stroke patients。论文与数据集标题都用 REHAB;Science Data Bank 的页面描述末尾另写作 REHAB-120,检索时两个词都要试。本库 slug 为 rehab-wearable-kinematic。
Q2:谁做的?发表在哪?
解放军总医院医学工程实验室(通讯作者 Kunlun He,何昆仑)牵头,联合中科院苏州生物医学工程技术研究所(Liquan Guo,郭立泉)、解放军总医院第一/第六/第八医学中心共同完成。论文 2026-08-05 在线发表于 Scientific Data(13:1136),DOI 10.1038/s41597-026-07802-2。
Q3:多少人、多少条数据?
120 例入组(两家医院各 60,随机分为试验组/对照组各 30),109 例完成两周试验。评估侧得到 222 份样本(基线 120 + 出院 109 − 7 份错误样本),每份含 27 个动作与 27 个评分;训练侧得到 4,616 条样本(原始 4,689 减 77 条错误样本),覆盖 16 个动作类别。
Q4:戴几个传感器?频率多少?
5 个节点:S1(前臂)、S2(上臂)、S3(小腿)、S4(大腿)是 MPU9250 九轴 IMU,S5 是带 5 路压阻弯曲传感器与 1 个内嵌 IMU 的康复手套。采样率约 50 Hz,ZigBee 无线回传到主机。
Q5:标签是什么?
评估侧是 27 项 FMA-UE 的 0/1/2 三级评分(两名治疗师独立打分,取均值后向上取整)组成 222×27 的评分矩阵;训练侧是动作类别 0–15。
Q6:怎么拿?要申请吗?
不需要。Science Data Bank 公开下载,DOI 10.57760/sciencedb.37018,许可 CC BY 4.0,总量约 737,301,388 字节(约 703 MiB)。
Q7:有代码吗?
有。论文给出 GitHub 仓库 https://github.com/zzzzz-123/REHAB,称涵盖数据预处理、数据集生成与模型训练。
Q8:适合做什么任务?
(a) 27 项 FMA 逐项评分预测;(b) 16 类康复动作识别;© 动作质量/完成度评估;(d) 康复前后纵向对比与恢复轨迹建模。
Q9:不适合做什么?
不适合做连续流式实时分割(数据已人工切成稳定周期)、不适合做下肢评估评分(下肢评估标签未公开)、不适合直接当作家庭场景数据(全部为临床监督采集)。
Q10:最需要注意的坑是什么?
四个:评估侧「取第 2 次重复 + 定长 150」、训练侧「截断/补零到 880」是两套不同预处理;评估与训练通道数不同不能混用;标签向上取整会抬高分级;论文写的「两周」与 ScienceDB 写的「三周」冲突(以论文两周为准)。
§2 数据构成与规格
2.1 试验设计与人群构成
这是一项注册号为 ChiCTR2200061310 的随机对照试验(Randomized Controlled Trial, RCT),标题为「远程康复训练与智能评估系统临床试验」,2022-06-20 在中国临床试验注册中心登记。流程如下:
| 阶段 | 人数 | 说明 |
|---|---|---|
| 筛查 | 369 | 两家医院合计 |
| 排除 | 249 | 231 例不符纳入标准、15 例拒绝参加、3 例其他原因 |
| 入组 | 120 | 唐都医院 60(试验 30 / 对照 30)、西安高新医院 60(试验 30 / 对照 30),计算机生成随机序列 |
| 退出 | 11 | 唐都 10 例、高新 1 例(身体不适、病情变化、不愿继续) |
| 完成 | 109 | 完成率 91%(对照 55 例、试验 54 例) |
纳入标准覆盖:CT 或 MRI 确诊卒中、年龄 30–75 岁、病程 15–180 天(亚急性期)、上下肢 Brunnstrom II–VI 期且病情稳定、认知正常能配合。排除标准包括严重认知障碍无法完成 FMA、骨折或严重肢体损伤、关节挛缩、ICF 残疾标准、严重原发病、育龄女性尿妊娠阳性、90 天内参加过其他药物/器械试验、植入有源金属器械(如心脏起搏器)。
读这组数字的第一个提醒:120 例是「入组数」,222 份评估样本不是「222 个人」,而是 120 人次基线 + 109 人次出院 − 7 份错误样本。用「患者数」去描述样本量会造成十倍级误差。
2.2 基线人群画像
| 特征 | 对照组(n=60) | 试验组(n=60) | P |
|---|---|---|---|
| 年龄(岁) | 55.82 (9.68) | 56.25 (9.83) | 0.81 |
| 男性 | 43 (71.67%) | 43 (71.67%) | >0.99 |
| 病程(天) | 61.20 (46.67) | 46.22 (36.63) | 0.15 |
| 收缩压(mmHg) | 127.47 (11.56) | 130.13 (13.73) | 0.25 |
| 舒张压(mmHg) | 81.05 (9.00) | 82.45 (9.51) | 0.41 |
| BMI(kg/m²) | 24.68 (4.08) | 24.66 (2.59) | 0.39 |
| 脑梗死型 | 37 (61.67%) | 32 (53.33%) | 0.36 |
| 高血压 | 44 (73.33%) | 43 (71.67%) | 0.84 |
| 高脂血症 | 7 (11.67%) | 4 (6.67%) | 0.53 |
| 动脉硬化性冠心病/心梗 | 10 (16.67%) | 12 (20.00%) | 0.64 |
所有基线指标组间差异均无统计学意义(P > 0.05),这正是论文主张「两组评估数据可合并」的依据。需要注意,病程均值 61.20 vs 46.22 天看似差 15 天,但 Wilcoxon 检验 P = 0.15,且两组极差都从 15 天延伸到 165–169 天,分布高度重叠。
2.3 目录结构:两级三大块
ScienceDB 上的主目录名为 REHAB(level-1),下辖两个 level-2 子目录:
REHAB/
├── Rehab_assessment/ # 康复评估(27 动作,222 份样本)
│ ├── d01_raw_data/ # 原始信号
│ │ ├── 001/ ... 222/ # 每份评估一个文件夹
│ │ │ ├── 000_1.npy # 动作 0 × 传感器配置 1
│ │ │ ├── 000_2.npy
│ │ │ ├── 000_3.npy
│ │ │ └── ... 至 026_3.npy
│ ├── d02_processed_data/ # 同结构,定长 150
│ └── Label.npy # 222 × 27 评分矩阵
└── Rehab_exercise/ # 康复训练(16 动作,4,616 样本)
├── d01_raw_data/
│ ├── 000_1.npy # 维度 d × 880 × 6
│ ├── 000_2.npy
│ └── ... 至 015_2.npy
└── d02_processed_data/
命名规则统一为 <movementID>_<sensorID>.npy:评估侧 movementID 取 000–026(对应 Table 2 的 27 项),sensorID 取 1/2/3;训练侧 movementID 取 000–015(对应 Table 3 的 16 项),sensorID 取 1/2。
2.4 通道配置:两套完全不同的特征空间
评估数据的三种传感器配置:
| sensorID | 通道数 | 通道内容 | 对应传感器 |
|---|---|---|---|
| 1 | 12 | pitch1, yaw1, roll1, ax1, ay1, az1, mx1, my1, mz1, wx1, wy1, wz1 | 上肢 S1 / 下肢 S3 |
| 2 | 13 | pitch2−pitch1, pitch2, yaw2, roll2, ax2, ay2, az2, mx2, my2, mz2, wx2, wy2, wz2 | 上肢 S2 / 下肢 S4 |
| 3 | 5 | pitch3, pitch3−pitch1, f1, f12, fall | S5 康复手套 |
训练数据的两种传感器配置:
| sensorID | 通道数 | 通道内容 | 对应传感器 |
|---|---|---|---|
| 1 | 6 | pitch1, yaw1, roll1, pitch2, yaw2, roll2 | S1+S2(上肢)/ S3+S4(下肢) |
| 2 | 6 | f1, f2, f3, f4, f5, pitch3 | S5 手套 |
这是本数据集最容易被忽略的工程设计:评估侧为了细粒度运动功能评价保留了完整九轴原始量(加速度、磁力、角速度)加欧拉角;训练侧为了长期记录减小存储负担只保留欧拉角与手指弯曲量。代价就是两侧特征空间不可直接拼接,任何「评估 + 训练联合训练」的方案都必须先做特征对齐。
2.5 样本维度与定长策略
- 评估:原始长度 N 随患者动作速度变化,不一定相同;处理后线性插值为固定 150 点(150×C)。
- 训练:原始长度不固定;处理后超过 880 点截取前 880 点,不足则末尾补零至 880 点(d×880×C),每条含 8–10 个动作周期。
- 标签:评估侧
Label.npy为 222×27,取值 {0,1,2};训练侧在文件名与目录中以动作 ID 隐式给出类别。
2.6 与库内其他可穿戴/运动类条目的规模对照
| 条目 | 人群 | 传感 | 规模 |
|---|---|---|---|
| REHAB(本条) | 卒中偏瘫 120 例 | 5 节点 IMU + 手套,50 Hz | 222 评估 + 4,616 训练 |
| stroke-scale-mimic-iii(rid 596) | 卒中(ICU) | 无传感器,量表化 | 临床记录派生 |
| gait-in-aging(rid 232) | 老年人 | 惯性/压力 | 步态序列 |
| gait-pd(rid 242) | 帕金森病 | 惯性 | 步态序列 |
| live-gaitneurokids(rid 1055) | 儿童神经系统疾病 | 视频/惯性 | 步态片段 |
| wearable-exam-stress(rid 807) | 学生 | 可穿戴生理信号 | 压力相关生理 |
REHAB 的独特性在于「患者 + 康复任务 + 临床量表标签」三者同时具备,这在库内目前没有第二个条目能完全覆盖。
2.7 目录命名的三个隐含信息
读目录名时有三件事值得留意,它们都会影响你写代码的方式。
第一,动作编号从 000 开始而不是 001。 评估侧 movementID 取 000–026 共 27 个值,训练侧取 000–015 共 16 个值。若按 1 起始遍历会漏掉第 0 个动作、并在末尾越界报错。常见症状是 FileNotFoundError: 027_1.npy 或静默少读一个动作。
第二,文件夹编号 001–222 是「评估次数」而非「患者编号」。 论文未在目录层面给出患者 ID 映射。这意味着你无法仅凭目录名判断哪两份样本来自同一患者。做按患者分组划分前,必须先解决这个映射问题(见 §5.3)。
第三,评估侧每个样本文件夹内文件数不固定。 上肢动作通常带 3 个传感器配置(_1 _2 _3),下肢动作可能是另一套映射(_1 对应 S3、_2 对应 S4)。写遍历代码时不要假设「每个文件夹恰好 27×3 = 81 个文件」,应按实际存在的文件枚举。
2.8 数据体积的构成估算
ScienceDB 记录的总量为 737,301,388 字节(约 703 MiB)。按论文给出的维度粗算,主要构成大致如下:
- 评估原始数据:222 样本 × 27 动作 × 平均约 2 个传感器配置 × 每文件约数千至数万字节。原始长度 N 随动作速度变化,单文件通常小于处理后数据。
- 评估处理后数据:222 × 27 × 配置数 × 150 × 通道数 × 8 字节(float64)。若按平均 2 配置、平均 10 通道估算,约 222×27×2×150×10×8 ≈ 1.4×10⁸ 字节量级。
- 训练原始数据:16 动作 × 2 配置 = 32 个文件,单文件维度 d×880×6,各类 d 在 212–385 之间,合计约 4,616×880×6×8×2 ≈ 3.9×10⁸ 字节量级,是体积的主要来源。
- 训练处理后数据:与原始同维度,体积相当。
这一估算说明:训练子集占了总体积的大头。若只想做评估评分任务,可以只下载 Rehab_assessment 目录,显著节省空间与时间。
2.9 两份子集在临床意义上的分工
评估子集与训练子集虽然在同一个数据集里,但服务的是两个不同的临床环节:
| 维度 | Rehab_assessment | Rehab_exercise |
|---|---|---|
| 对应临床环节 | 入院与出院时的功能评定 | 住院期间的日常训练 |
| 目标 | 量化「功能到什么程度」 | 记录「练了什么、练了多少」 |
| 标签来源 | 双治疗师 FMA-UE 评分 | 动作类别(由处方指定) |
| 标签复杂度 | 27 项 × 3 级 | 16 类单选 |
| 样本单位 | 一次完整评定(含 27 项) | 一个动作周期(880 点) |
| 参与者 | 全部 120 例 | 仅试验组 60 例 |
| 时间跨度 | 两个时点(基线、出院) | 连续两周 |
这个分工决定了:评估子集适合做「横截面预测」(用动作预测分数),训练子集适合做「纵向监测」(用动作识别算训练量)。两者结合才能支撑「康复全过程数字化」的叙事,但任何联合建模都必须先解决通道不一致的问题。
§3 采集系统与临床流程
3.1 传感系统:为什么是五个节点
系统名为 KMD-T001 远程康复训练与评估系统,由西安立邦康美度医疗科技有限公司提供,经第三方检测满足信号质量、电磁兼容(EMC)与安全要求,并取得医疗器械注册证。设计遵循两条原则:一是戴脱与操作要足够简单,便于临床落地同时保护患者隐私;二是信息量要足以支撑智能评估与训练。
这套系统本质是一个体域传感网络(Body Sensor Network, BSN):
- S1(前臂):置于腕背横纹中心上方约 10 cm。
- S2(上臂):置于肱骨外上髁上方约 8 cm。
- S3(小腿):置于髌骨下缘以下 10–20 cm。
- S4(大腿):贴于股直肌区域。
- S5(手,康复手套):5 路压阻式弯曲传感器覆盖手指屈曲(0–180°),手背内嵌一个与 S1–S4 同规格的 IMU 记录腕角。
论文明确:上肢动作激活 S1、S2、S5,下肢动作激活 S3、S4、S5。这解释了为什么评估数据的 sensorID=1 在上肢指 S1、在下肢指 S3——同一个通道编号在不同动作里映射到不同佩戴位点,读取时必须结合动作表判断。
IMU 器件参数:核心为 MPU9250(InvenSense,美国),三轴加速度计 16 位、量程设 ±2 g(低速康复动作下换取更高分辨率);三轴陀螺仪 16 位、量程 ±250°/s;三轴磁力计 14 位、量程 ±4800 μT。磁力计在这里的作用不是导航,而是提供绝对航向参考以抑制积分漂移。每次记录前 IMU 坐标系自动标定。
采样与传输:全部节点约 50 Hz 采样,ZigBee 无线汇聚到主机存储。50 Hz 对康复动作(典型周期 1–3 s)是够用的,但对快速抖动或冲击类动作会欠采样——这是本数据集后续做高频动作识别时必须记住的物理上限。
3.2 评估流程:两人四手,一环扣一环
单例评估的标准动作如下:
- 临床医生配置 BSN、标定 IMU、协助患者佩戴并核验位置。
- 治疗师 A 按顺序引导患者完成 27 项动作,每项重复 3 次,项间休息 20 秒。
- 治疗师 B 用计时器记录每项动作的起止关键时点。
- 休息间隙,两名治疗师各自独立按 FMA-UE 标准打分(0 = 无法完成或完全不协调;1 = 部分完成;2 = 完美完成)。
- 最终标签 = 两人分数的均值向上取整(ceiling)。
这套设计的用意很清楚:用双人独立评分降低单评定者偏差,用计时员的操作把「信号时间轴」和「动作语义」对齐。但它同时引入两个副作用:向上取整会让 (0,1) 组合变成 1、(1,2) 组合变成 2,整体标签略偏高;两个评分者如果不独立(比如互相看了一眼),偏差就重新回来了。
3.3 训练流程:处方驱动,因人而异
康复训练数据只在试验组(60 人)的两周干预期内采集。医生从 16 项预定义动作库中按患者功能状况挑选子集,形成个体化处方;每项动作约 10 次,项间休息 30 秒,单次训练持续 20–30 分钟。整个训练过程由一名治疗师监督。
正因为「处方个体化」,每个动作被采集的次数天然不同,这也是后续样本量在 212–385 之间波动的直接原因——不是采集失败,而是设计使然。
3.4 四步数据加工链
论文的加工链如下,每一步都改变数据形态,读数据时务必知道自己在哪一层:
- 欧拉角估计:把九轴 IMU 的加速度、角速度、磁力转换为四元数再解算 Yaw/Pitch/Roll。论文给出完整公式:由角速度 w 构造增量四元数 Δq(式 2),用 q⊗Δq 更新姿态(式 3),再按式 4–6 反解 roll/pitch/yaw。这样做的理由很直白——加速度和角速度曲线对人来说不可读,而「肩关节前屈 92°」这种姿态量既直观又可解释。
- 切分与插值:评估侧把人工记录的起止时间与信号时间戳对齐,只保留第 2 次重复作为代表周期,其余两次丢弃;随后线性插值到 150 点。训练侧则把每条信号截断或补零到 880 点,保留 8–10 个周期。
- 滤波与归一化:窗口长度 10 的滑动平均滤波去尖峰;再做零均值归一化(每通道减均值、统一方差)。论文对此的解释是,基线漂移会被网络误当成「显著特征」,必须压掉。
- 错误样本剔除:人工识别设备故障、操作失误、数据缺失造成的坏样本。评估样本 229 → 222(剔除 7 份),训练样本 4,689 → 4,616(剔除 73 条)。
3.5 质量控制的三道闸
- 人:所有操作者(治疗师与研究人员)在正式参与前接受统一培训,覆盖传感器放置、系统操作、动作引导、标准评估流程与数据记录。
- 机:每次记录前检查传感器连通性、ZigBee 传输稳定性、电池状态、信号同步与主机通信完整性。
- 后:采集后统一人工筛查 + 预处理标准化;同时全程有治疗师现场监督,减少错误动作模式与代偿动作带来的变异。
3.6 临床有效性的证据链
数据集「值不值得用」,很大程度取决于这批动作是不是真的能区分患者状态。论文给出的证据是两组 FMA 改善量的对比:
| 指标 | 对照组 | 试验组 | 组间差 | MCID |
|---|---|---|---|---|
| FMA 总分 | 41.11 → 53.09(+11.98) | 43.28 → 60.83(+17.56) | +5.58 | 2.22 |
| 上肢 FMA | 23.67 → 31.13(+7.45) | 25.48 → 36.76(+11.28) | +3.83 | 1.85 |
| 下肢 FMA | 17.44 → 21.96(+4.52) | 17.80 → 24.07(+6.28) | +1.76 | 1.26 |
三组组间差全部超过最小临床重要差异(Minimal Clinically Important Difference, MCID),论文据此认为个体化运动处方训练优于常规作业治疗。这个结论支撑的是「16 项动作库有临床意义」,而不是「数据集本身有临床疗效」——两者不能混淆。
3.7 读这组统计结果时的五点保留
保留一:两组都在改善,差异是「增量」。 对照组也涨了 11.98 分,说明常规作业治疗加物理治疗本身有效。试验组的优势是「多涨了 5.58 分」,而不是「只有试验组有效」。任何「某疗法显著优于不治疗」的解读都是错的——本试验没有空白对照。
保留二:住院本身是混杂因素。 两组都在康复大厅接受住院训练,日均活动量、作息、营养、护理都相近。这既降低了组间混杂,也意味着结果无法外推到门诊或居家康复场景。
保留三:两周的窗口很短。 亚急性期卒中患者本身处于自发恢复较快的阶段,两周内的 FMA 提升里有相当部分来自自然恢复而非干预。MCID 是比较工具,不能完全剥离自然恢复的贡献。
保留四:量表天花板的挤压。 FMA-UE 满分 66 分,若患者基线较高,改善空间有限。论文未报告基线 FMA 的分布细节,无法判断是否存在天花板效应——而 FMA 的天花板效应在文献中是有明确记载的。
保留五:多重比较未校正。 论文对总分、上肢、下肢三个指标分别做了 t 检验,未提及多重比较校正。三个指标高度相关,未校正会略增假阳性风险。不过由于三项都远超 MCID,这个风险对结论方向影响有限。
3.8 数据集复用与临床试验结论的关系
需要强调一个容易被忽视的逻辑差别:
- 临床试验回答的是「这套个体化训练方案是否有效」;
- 数据集回答的是「这批运动信号能否用来训练模型」。
两者共享同一批采集数据,但价值独立。即便你对试验结论存疑,数据集依然可用——因为数据集的核心资产是「患者真实运动信号 + 逐项临床评分」的配对,而不是「试验组比对照组好」这个因果推断。反过来也一样:试验结论再强,也不代表数据集的标签质量足以支撑高精度评分模型。
把这两件事分开看,才能在使用数据时既不神化也不轻视。
§4 技术验证、偏倚与同类区分
4.1 传感器精度验证:逐角度对照
研究者用「设定标准角度 → 读取传感器角度 → 比对误差」的方式验证了两类器件:
| 器件 | 关节/动作 | 设定角 vs 实测角(误差) | 阈值 |
|---|---|---|---|
| 康复手套 | 手指屈曲 | 30→31(+1.0°)、55→58(+3.0°)、88→90(+2.0°) | ±10° |
| IMU | 肩关节前屈 | 58.3→59(+0.7°)、92.2→90(−2.2°)、152.5→150(−2.5°)、176.8→175(−1.8°) | ±5° |
| IMU | 前臂旋后 | 35.6→37(+1.4°)、72.4→74(+1.6°) | ±5° |
| IMU | 肘关节屈曲 | 54.6→52(−2.6°)、118.8→120(+1.2°)、126.2→129(+2.8°) | ±5° |
| IMU | 肩关节外展 | 31.7→34(+2.3°)、64.2→66(+1.8°)、107.3→109(+1.7°) | ±5° |
| IMU | 膝关节屈曲 | 27.7→30(+2.3°)、48.1→50(+1.9°)、73.3→75(+1.7°) | ±5° |
所有项均判定 Passed。最大误差分别为肩屈 2.5°、前臂旋后 1.6°、肘屈 2.8°、肩外展 2.3°、膝屈 2.3°。
怎么读这张表:这是「静态设定角度下的一次性读数偏差」,不是动态跟踪误差。康复动作是连续运动,IMU 在动态段会叠加积分漂移,真实误差通常大于静态值。把 ±5° 当作绝对精度上限会过于乐观。
4.2 数据分布的合理性证据
研究者对 4,616 条训练样本逐通道提取幅度、周期、均方根、频率四类特征,先 K-means 聚类,再用 PCA 降到三维可视化,结果是清晰的「5 大类 / 16 小类」结构:
- 第 1 大类:类别 1–5(上肢复合,臂/指/腕/肩),彼此邻近;
- 第 2 大类:类别 6–8(手指与腕);
- 第 3 大类:类别 9–10(肩部);
- 第 4 大类:类别 11–13(臂);
- 第 5 大类:类别 14–16(下肢)。
论文也承认存在局部重叠,例如 6–8(指/腕)与 1–5(臂)部分交界,9–10(肩)与 11–13(臂)有交叠。这些重叠是 16 类识别任务的真实难度所在。
4.3 样本量分布:看上去均衡,实则不均衡
16 个训练动作的样本量区间为 212–385,均值约 280,标准差约 46。论文的判断是「总体较均匀、无明显偏倚」。但要注意两点:一是最大最小比接近 1.8 倍,对少数类敏感的指标(如宏平均 F1)仍会受影响;二是这种「均匀」是处方覆盖率叠加后的结果,单看某一家医院或某个功能分层的患者,分布未必同样均匀。
4.4 作者自陈的五类局限
论文 Limitations 段落非常坦率,逐条列出:
- 临床环境 ≠ 家庭环境。传感器佩戴不规范、环境变化、无人监督、动作执行不一致,都会在真实家庭场景引入额外噪声。
- 地域与人群多样性有限。全部来自中国两家康复中心。
- 入组筛选偏「能配合」的患者。严重认知障碍、重度残疾、运动功能极差者代表性不足。
- 评定者间变异。FMA 量表本身主观,治疗师引导方式与打分习惯会带来 operator 间差异。
- 评估与训练通道配置不一致,且标准评估标签主要来自上肢;下肢评估数据因完整性与组织问题尚未标准化公开。
此外还有一条隐含局限:数据是人工切分后的稳定周期,不是连续流。真实部署更常用滑窗自动分割,本数据集无法直接验证在线分割算法。
4.5 三处需要读者自己判断的地方
其一,向上取整的标签策略。 双人独立打分后取均值再 ceil,等价于「两人都打 1 才是 1,只要有一人打 2 就是 2」。这在临床上可以理解为偏保守地「往下不留余地」,但在机器学习视角会系统性抬高高分档比例,训练出的评分模型容易高估患者功能。若做回归而非分类,建议直接用 (y′+y″)/2 的连续值——但数据集只提供 ceil 后的整数,原始两列分数未公开。
其二,评估样本的「独立性」。 论文把基线与出院评估当作独立样本合并(222 = 120 + 109 − 7),理由是干预后运动学特征与标签差异显著。但同一患者的两次评估共享个体特征(体型、代偿习惯),若随机划分训练/测试集,同一患者可能同时出现在两侧,造成数据泄漏。做基准测试时必须按患者分组划分。
其三,错误样本剔除口径的透明度。 论文只给出剔除数量,未逐条说明哪些样本因何剔除。复现时无法核对,也无法排除剔除过程本身的偏倚。
4.6 与「健康人 HAR 数据集」的边界
REHAB 的 16 个训练动作与 UCI HAR 的 6 类(走、上楼、下楼、坐、站、躺)在语义上几乎不重叠。把 REHAB 当作 HAR 预训练数据、或把 HAR 模型直接搬到 REHAB 上评测,都会得出误导性结论。REHAB 的定位是「康复动作域」——动作幅度小、速度慢、伴随代偿模式,与日常活动域有本质区别。
4.7 与 rehab-motion-capture(光学动捕 + Kinect)的四维对照
同批条目 rehab-motion-capture 走的是外部视觉路线。两者不是替代关系,选型时按四个维度对照:
| 维度 | REHAB(可穿戴惯性) | rehab-motion-capture(光学动捕 + Kinect) |
|---|---|---|
| 传感原理 | 5 节点 IMU + 弯曲传感手套,测量节点自身加速度、角速度、磁场与关节角 | 光学标记点动捕测三维坐标;Kinect 类深度相机做骨骼点估计 |
| 精度与误差 | 关节角静态误差 ≤ 约 3°;动态有积分漂移;节点位置误差直接影响角度 | 光学动捕毫米级、关节中心明确;Kinect 骨骼估计在遮挡与快速动作下误差显著放大 |
| 遮挡与场景 | 无视线遮挡问题,可在床边、走廊、家中使用;不受光照影响 | 光学动捕需固定场地与相机阵列;Kinect 受遮挡、自遮挡、光照与视场限制 |
| 隐私与成本 | 不采集影像,隐私友好;硬件成本低、可搬回家 | 采集影像/深度图,隐私敏感;设备成本与场地要求高 |
| 标签来源 | 临床量表评分(FMA-UE 双人独立打分)+ 动作类别,直接对接临床结局 | 通常为动作类别或骨骼序列,临床量表标签需另行同步评定 |
一句话选型建议:要临床结局标签、要家庭可部署、要隐私,选 REHAB;要亚厘米级关节轨迹、要无标记全身运动学,选光学动捕;要低成本快速布场且能接受遮挡误差,选 Kinect。 两者也可互补——用动捕做金标准校验可穿戴系统的角度估计误差,这是 REHAB 论文自身尚未做的验证。
4.8 与视觉方案的三条交叉验证思路
如果团队同时握有两类数据,以下三条验证最容易落地,也最能说明各自的能力边界。
思路一:角度一致性检验。 取同一批受试者的同一动作,用光学动捕反解关节角,与 REHAB 式 IMU 解算角度逐帧比对,画 Bland–Altman 图看系统偏差与一致性界限。这条检验能直接回答「IMU 的 ±3° 静态精度在动态段会退化到什么程度」。
思路二:关节中心缺失的代价。 IMU 只能给朝向,无法给关节中心位置;动捕可以。把动捕数据降级为「仅有朝向」,再用逆运动学重建位置,比较重建误差。这一步的能量化「视觉方案的不可替代性」到底有多大。
思路三:隐私视角的任务等价性。 同一动作识别任务,分别在影像与 IMU 上训练,比较精度差与隐私成本。若 IMU 只损失几个百分点精度却能免除影像采集,家庭场景的选型结论就很清楚了。
这三条思路的共同前提是「同一批受试者、同一套动作协议」。REHAB 的动作定义(27 项 FMA 子项 + 16 项训练动作)在临床上足够标准,可以直接作为跨模态对照的协议模板使用。
§5 加载、任务定义与复现路径
5.1 五分钟上手
import numpy as np, os
root = "REHAB" # ScienceDB 解压后的主目录
label = np.load(os.path.join(root, "Rehab_assessment", "Label.npy"))
print(label.shape, label.min(), label.max()) # (222, 27) 0 2
s1 = np.load(os.path.join(root, "Rehab_assessment", "d02_processed_data",
"001", "000_1.npy"))
print(s1.shape) # (150, 12) 处理后定长
s2 = np.load(os.path.join(root, "Rehab_assessment", "d02_processed_data",
"001", "000_2.npy"))
print(s2.shape) # (150, 13)
s5 = np.load(os.path.join(root, "Rehab_assessment", "d02_processed_data",
"001", "000_3.npy"))
print(s5.shape) # (150, 5)
训练数据是「按动作汇总」的四维张量:
ex = np.load(os.path.join(root, "Rehab_exercise", "d02_processed_data", "000_1.npy"))
print(ex.shape) # (d, 880, 6) d = 该动作的样本条数
5.2 三个主要任务的样本定义
| 任务 | 输入 | 输出 | 样本单位 |
|---|---|---|---|
| T1 逐项 FMA 评分 | 单动作 × 单传感器的 150×C 序列(可拼接 1/2/3 三配置) | 0/1/2 三类(或回归) | 222×27 = 5,994 条动作级样本 |
| T2 康复动作识别 | 880×6(配置 1)或 880×6(配置 2),可双流融合 | 16 类 | 4,616 条 |
| T3 纵向恢复预测 | 同一患者基线 vs 出院的两组信号 | 功能改善幅度 / 变化类别 | 109 对(需自建配对) |
T1 的 5,994 是理论上限,实际需扣除标签缺失——论文未说明 222×27 矩阵是否存在未评分格,使用前应先统计每列取值分布。
5.3 划分策略:必须按患者分组
这是本条目最重要的一条工程建议。222 份样本来自 120 位患者,其中 109 人在基线与出院各出现一次(剔除后 222 份中约 109 对是同一人)。若随机按样本划分,同一患者的两次记录会横跨训练集与测试集,模型可以靠「记住这个人的动作习惯」刷高分数,而泛化能力虚高。
推荐做法:
# 伪代码:按患者 ID 分组划分
from sklearn.model_selection import GroupKFold
groups = patient_ids_of_222_samples # 需从论文补充表或文件夹顺序映射
cv = GroupKFold(n_splits=5)
for tr, te in cv.split(X, y, groups):
...
问题在于患者 ID 未在数据目录名中直接给出:文件夹只有 001–222,与患者/评估时点的映射需要参照论文补充材料。这是使用本数据集前的第一项准备工作。
5.4 评估指标建议
- T1:三分类用宏平均 F1 与 Cohen’s κ(量表任务更关心与临床医生的一致性,而不是单一准确率);回归用 MAE 与 ICC。
- T2:宏平均 F1 + 每类召回,避免被样本量大的类别主导。
- T3:与 MCID 挂钩——预测改善量是否越过 MCID 阈值,比单纯相关系数更有临床意义。
5.5 预处理的两个陷阱
陷阱一:不要对已归一化数据再做一次 z-score。 d02_processed_data 已做零均值归一化与滑动平均滤波,若再标准化会破坏相对幅度信息,尤其影响基于能量、RMS 的特征。
陷阱二:训练数据的补零区不能当有效信号。 不足 880 点的样本末尾补零,若直接喂给卷积网络,网络会把「长串零」学成某种模式。建议加 mask 通道或在池化时屏蔽尾部。
5.6 复现基线的现实预期
论文没有发布任何模型性能表格,只给了聚类可视化。这意味着本数据集目前没有官方 leaderboard,也没有可对标的 SOTA 数字。任何声称「在 REHAB 上达到某精度」的论文,其划分方式与预处理细节都必须逐项核对,否则数字不可比。
§6 许可、获取与合规
6.1 三种资产、三种门
| 资产 | 位置 | 许可 | 获取方式 |
|---|---|---|---|
| 数据集本体(约 703 MiB) | Science Data Bank,DOI 10.57760/sciencedb.37018 |
CC BY 4.0 | 公开直接下载,无需申请 |
| 论文全文 | Scientific Data 13:1136 | CC BY(Nature 系 Data Descriptor 默认) | 开放获取 |
| 代码 | GitHub zzzzz-123/REHAB |
仓库内声明(使用前请自行确认 LICENSE 文件) | 公开克隆 |
ScienceDB 页面的结构化元数据明确写有 "license": "https://creativecommons.org/licenses/by/4.0/" 与 "conditionsOfAccess": "PUBLIC",与论文 Data availability 中「publicly available」的表述一致。这是本库中获取门槛最低的一类——没有申请表单、没有 DUA、没有 embargo。
6.2 CC BY 4.0 到底允许你做什么
- 可以:商业使用、修改、再分发、用于模型训练,无需付费。
- 必须:署名(给作者、数据集标题、DOI、许可链接),并标明是否做了修改。
- 不必:开放你的衍生模型权重,也不必以相同许可发布衍生数据(那是 CC BY-SA 的要求)。
推荐引用格式(ScienceDB 提供的 BibTeX 已给出):
@data{REHAB2026,
title = {REHAB: A wearable sensor-based kinematic dataset collected under
standardized rehabilitation tasks from 120 stroke patients},
author = {Guo, Liquan and Lv, Ming and He, Kunlun and others},
year = {2026},
publisher = {Science Data Bank},
doi = {10.57760/sciencedb.37018},
version = {V1}
}
论文引用:Lv M, Gao Y, Cheng G, Wang L, Cai M, Zhou W, Guo L, He K. A wearable sensor–based kinematic dataset collected under standardized rehabilitation tasks from 120 post-stroke patients. Sci Data. 2026;13:1136. doi:10.1038/s41597-026-07802-2
6.3 数据合规的三层现实约束
第一层,患者知情同意。 论文写明:所有参与者或其法定监护人签署了「参与并同意发表去标识化数据」的书面知情同意。这是数据集能公开的前提,也意味着去标识化已由伦理委员会审核过。
第二层,运动数据的再识别风险。 惯性信号看似「不含人脸」,但步态与上肢运动模式具有相当强的个体特异性——文献中已有从加速度信号反推身份、性别、甚至键入内容的研究。论文在引言中引用了 IoT 传感器隐私推断的相关工作,说明作者对此有意识。使用者若把 REHAB 与其他含身份信息的数据做连接,可能构成再识别。
第三层,医疗器械边界。 采集系统 KMD-T001 本身是持证医疗器械。若你基于 REHAB 训练出评分模型并用于临床决策,模型本身可能落入医疗器械软件(SaMD)监管范围,这与数据集许可无关,是另一条合规线。
6.4 下载与校验实操
# 方式一:DOI 跳转
curl -L -o rehab.zip "https://doi.org/10.57760/sciencedb.37018"
# 方式二:ScienceDB 落地页手动下载
# https://www.scidb.cn/en/s/YrUnie
# 解压后先核查目录完整性
find REHAB -maxdepth 3 -type d | head
ls REHAB/Rehab_assessment/d01_raw_data | wc -l # 应为 222
ls REHAB/Rehab_exercise/d01_raw_data | wc -l # 应为 16×2 = 32
若 d01_raw_data 下文件夹数不是 222,说明下载不完整或解压异常——先解决这个,再谈建模。
6.5 与库内其他条目的获取门槛对照
| 条目 | 门槛 |
|---|---|
| REHAB | 公开直下,CC BY 4.0 |
| stroke-scale-mimic-iii(rid 596) | 派生自 MIMIC-III,需 PhysioNet 认证 |
| gait-in-aging(rid 232) | 视原始来源而定 |
| brain-wearable-monitoring(rid 1030) | 视原始来源而定 |
| big-ideas-glycemic-wearable(rid 1016) | 需注册申请 |
REHAB 在「可获取性」这一维度上属于库内最友好的一档。
6.6 二次分发的四条注意事项
CC BY 4.0 允许你再分发,但有几处容易被忽略的义务。
其一,署名要落到具体层级。 你可以把 REHAB 打包进自己的数据集或镜像站,但必须保留原作者署名、数据集标题、DOI 与许可链接。只在 README 里写一句「数据来自网络」不构成合规署名。
其二,修改要标注。 若你重采样、重切分、改了通道顺序或删掉部分子集,需要明确说明「本版本基于 REHAB 修改,修改内容为……」。把 REHAB 预处理成统一格式再发布时尤其重要——下游用户需要知道标签是否被改动过。
其三,不要附加额外限制。 不能在你再分发的版本上加「仅限非商业使用」「需申请」等条款,那会与 CC BY 的授权冲突。衍生模型可以另行许可,但原始数据部分的许可不能收紧。
其四,器械名称的使用另论。 数据是 CC BY,但 KMD-T001 是厂商产品名,在宣传材料中使用需按商标规则处理,与数据许可无关。
§7 生态位置与研究用途
7.1 在卒中康复数据版图中的坐标
卒中康复数据大致分四类,REHAB 落在第二类,且是目前少见的「大样本 + 真实患者 + 多任务」组合:
| 类型 | 代表 | 与 REHAB 的关系 |
|---|---|---|
| 临床记录/量表库 | MIMIC 派生量表数据 | 有标签无运动信号;REHAB 反过来 |
| 可穿戴运动学(患者) | REHAB、IntelliRehabDS、PrimSeq/StrokeRehab | REHAB 样本量更大、含训练动作 |
| 视觉/动捕运动学 | 光学动捕、Kinect 类康复数据、NTU RGB+D | 精度高但隐私与场地受限(见 §4.7) |
| 通用 HAR | UCI HAR、PAMAP2、HANDY | 健康人 ADL,域不匹配 |
同域中与 REHAB 最接近的是 StrokeRehab/PrimSeq 系列:同样用 9 个 IMU、同样针对卒中患者的上肢功能动作、同样基于 Schambra 等人提出的功能性动作分类学(reach / reposition / transport / stabilize / idle)。两者的关键差异在于:
- 标签层次不同:StrokeRehab 标的是亚秒级「功能原语」(functional primitive),REHAB 标的是整段临床量表评分与 16 类训练动作。
- 传感器数量不同:StrokeRehab 用 9 个 IMU 覆盖躯干与双上肢;REHAB 用 4 个 IMU + 1 只手套,覆盖患侧上肢/下肢与手。
- 任务定位不同:StrokeRehab 服务于「数动作、算训练量」;REHAB 服务于「评功能、识别训练动作」。
两者互补而不互替:要做细粒度动作计数,用 StrokeRehab 式标注;要做量表级功能评估,REHAB 的 FMA 标签更直接。
7.2 论文明确点名的四类下游任务
- 康复评估:用运动信号预测 FMA 逐项评分,减少量表评定的人力与主观性。
- 康复行为识别:识别患者在做哪一项训练动作,用于依从性监测。
- 动作质量评估:判断动作完成度与代偿程度。
- 疲劳计算:论文引言把疲劳估计列为模型可承担的职能之一。
7.3 三条可迁移的方法学经验
经验一:把「量表条目」当作数据采集的最小单元。 REHAB 不是笼统录一段康复训练视频,而是逐条对应 FMA 的 27 个条目,每个条目单独成文件、单独打分。这种「一条目一文件」的粒度,让标签与信号严格对齐,也让后来者可以只取其中若干条目做子任务。
经验二:用双人独立评分 + 明确聚合规则换取标签可信度。 无论 ceil 是否最优,至少规则是写死的、可复现的。相比「一位治疗师凭印象打一个分」,这套流程的标签噪声可控得多。
经验三:评估与训练两套场景用两套通道配置。 这不是疏漏而是权衡:评估要精细、训练要轻量。代价是跨场景迁移困难,收益是各自场景内数据质量更高。做多场景系统的团队可以借鉴这个「分场景定制通道」的思路。
7.5 训练量与依从性的量化切口
康复领域有个老问题:患者到底有没有按处方练、练了多少次。传统做法靠治疗师计数或患者自报,前者无法覆盖居家场景,后者容易高估。REHAB 的训练子集正好提供了一个可量化的切口。
论文报告的样本分布可以反推训练量:4,616 条样本、16 类动作、60 名试验组患者、两周干预期。粗算下来每位患者平均贡献约 77 条样本,按每项动作约 10 次重复计,相当于每人完成约 7–8 项动作、每周约 3–4 次训练。这个量级与「每天两次 30 分钟个体化训练」的处方相比明显偏低,说明实际执行量小于处方量——这正是依从性研究要捕捉的现象。
对算法团队来说,这个观察有三点直接用处:
- 类别不平衡是依从性的镜像。212–385 的样本量差异,本质反映的是不同动作在处方中被选中的频率差异,而不是采集缺陷。做类别平衡时若强行重采样到等量,等于抹掉了这一真实的临床信号。
- 动作识别可以直接用于计数。把模型输出按动作类别累积,即可得到「今日完成各类动作各多少次」,比人工记录更客观。这是论文引言里强调的第二个职能(康复行为识别)最直接的落地点。
- 可以与量表改善做关联。训练量(次数 × 时长)与 FMA 改善量之间是否存在剂量-效应关系,是本数据集尚未被挖掘的分析方向,但需要按患者配对、并控制基线功能水平。
需要注意的是,论文没有公开每位患者的训练日志与处方明细,因此上述反推只能给出群体层面的估计,无法落到个体。若要做剂量-效应建模,需向作者申请补充材料。
7.6 尚待补全的方向
- 下肢评估标签:论文明确尚未标准化公开,是目前最大的缺口。
- 真实家庭场景数据:全部为临床监督采集,家庭场景的噪声与佩戴误差未覆盖。
- 连续流与在线分割:目前是人工切分的稳定周期,缺少原始连续会话。
- 多模态融合:未采集肌电(EMG)、力/压力等信号,无法做肌电-运动学融合研究。
§8 与库内条目的关系
8.1 家族图谱
卒中 / 神经系统疾病
├── 临床记录与量表
│ └── stroke-scale-mimic-iii (rid 596) ← 卒中量表,无运动信号
├── 运动学 / 步态
│ ├── REHAB(本条) ← 卒中,上肢+下肢,IMU+手套
│ ├── gait-in-aging (rid 232) ← 老年步态
│ ├── gait-pd (rid 242) ← 帕金森步态
│ └── live-gaitneurokids (rid 1055) ← 儿童神经步态
└── 可穿戴其他模态
├── wearable-exam-stress (rid 807) ← 可穿戴压力/生理
├── big-ideas-glycemic-wearable (1016) ← 可穿戴血糖
└── brain-wearable-monitoring (1030) ← 可穿戴脑监测
8.2 检索路径建议
- 想找「卒中 + 运动功能」→ REHAB + stroke-scale-mimic-iii 配对看:一个有信号无 ICU 记录,一个有记录无信号。
- 想找「步态」→ REHAB 只覆盖少量下肢训练动作,不是步态数据集,应转向 gait-in-aging / gait-pd / live-gaitneurokids。
- 想找「可穿戴时序信号」→ wearable-exam-stress 与 big-ideas-glycemic-wearable 属于其他生理模态,可做跨模态迁移的负对照。
- 注意:
limuc(rid 794,溃疡性结肠炎内镜)与 IMU 缩写无关,仅因检索词碰撞被列出,勿混。
8.4 互链说明与消歧(正文,不进 frontmatter)
以下为人工消歧说明,供主会话在入库后核对互链目标是否在架(按教训 R018,此处不写死 rid 之外的说明文字进 relatedLink,frontmatter 仅保留纯 URL):
stroke-scale-mimic-iii(rid 596):同为卒中人群,但该条目是 MIMIC-III 派生的临床量表数据,不含运动信号。与本条目的关系是「互补对照」,不是同物。切勿合并。gait-in-aging(232)/gait-pd(242)/live-gaitneurokids(1055):三者均为步态类,人群分别是老年人、帕金森病、儿童神经系统疾病。REHAB 虽含 3 项下肢训练动作,但不是步态数据集,无行走任务。wearable-exam-stress(807):可穿戴生理信号(压力/考试场景),模态与用途均不同,仅共享「可穿戴」标签。cmrxmotion(687):心脏磁共振运动成像,属影像域,与运动学无关,仅因「motion」检索词碰撞被列出。limuc(794):溃疡性结肠炎内镜数据集,与 IMU(惯性测量单元)缩写无关,纯属检索词碰撞,不建议互链。
8.5 与 rehab-motion-capture 的互链建议
同批条目 rehab-motion-capture(光学动捕 + Kinect)与本条目构成「可穿戴 vs 视觉」的对照对。建议双向互链,并在两篇正文中各自引用 §4.7 的四维对照表,避免检索者把两者视为同一数据的不同版本。
需注意:该条目在本代理写作时尚未成稿(slug 目录仅有锁文件),其真实 rid 未知。按 R018,不得在 frontmatter relatedLink 中猜测其 rid,待主会话入库并确认在架 rid 后再由主会话统一回填。
8.6 三组可直接做的对照实验
实验一:域迁移的代价。 用 UCI HAR 预训练、REHAB 微调,对比从零训练,量化「健康人 ADL 域 → 卒中康复域」的迁移收益与负迁移风险。
实验二:穿戴 vs 视觉。 若 rehab-motion-capture 提供了同步或同任务的动作片段,可比较两种模态在 16 类康复动作上的可分性差异,验证 §4.7 的选型结论。
实验三:通道裁剪的鲁棒性。 评估侧有 12/13/5 三种配置,训练侧只有 6+6。把评估数据降维到训练侧的 6 通道,看性能掉多少,可量化「精细通道」的实际价值。
§9 方法学解剖:从信号到标签的六个关键决策
数据集的价值不只在于「有多少条」,更在于每一个处理决策背后的取舍。本节按数据流顺序拆解六个关键决策,便于复用者判断哪些步骤需要保留、哪些需要改写。
9.1 决策一:为什么选 IMU 而不是摄像头
论文给出的理由是隐私与便利。在家庭康复场景中,长期持续的摄像头监控会显著降低用户接受度,而可穿戴传感器不采集影像。论文同时承认,视觉方法在动作识别上「有效」,近年单目人体跟踪也降低了部署门槛——但「能采集」不等于「愿意被采集」。这个判断有现实依据:康复训练发生在卧室、客厅等私密空间,长时间视频采集的心理成本远高于戴几个传感器。
代价:IMU 只能测节点自身的运动,无法直接给出关节中心的绝对位置;要得到三维骨架需要额外的刚体模型与逆运动学,误差会累积。REHAB 的处理方式是「只报角度,不报位置」——用欧拉角描述每段肢体的朝向,用 pitch2−pitch1 这类差分通道近似关节角。
9.2 决策二:为什么用四元数而非直接积分欧拉角
论文的姿态解算流程是标准的「陀螺仪积分 + 四元数表示」:
- 四元数 q = m + xi + yj + zk,满足 i² + j² + k² = −1;
- 由角速度 w 在 Δt 内构造增量 Δq = (cos(‖w‖Δt/2), sin(‖w‖Δt/2)·ŵ);
- 更新 q_gyro = q ⊗ Δq;
- 最后按式 4–6 用 atan2 / asin 反解 roll、pitch、yaw。
用四元数的好处是避免欧拉角在万向节死锁(gimbal lock)附近的奇异性和插值不连续;用 atan2 而非 atan 是为了保证全象限正确。但论文没有说明是否做了磁力计融合校正——式 2–3 只用到角速度,磁力计与加速度计如何参与(互补滤波?Mahony/Madgwick?)在正文中未展开。这是复现姿态解算时的第一个不确定点。
9.3 决策三:为什么只保留第 2 次重复
每项评估动作重复 3 次,论文选第 2 次作为代表周期。这是一个经验性选择:第 1 次常含「摸索/预热」成分,第 3 次可能因疲劳或熟悉而变形,第 2 次相对稳定。
代价:丢弃了 2/3 的数据,也丢弃了「重复间变异」这一有价值的信息——同一动作的三次差异本身可以反映运动稳定性,对评估痉挛、震颤、疲劳都有意义。若研究者关注稳定性而非单次代表性,需要回到 d01_raw_data 并自行按时间戳切分三次重复(论文给了关键时点由治疗师记录,但时点数据本身未作为文件发布)。
9.4 决策四:150 点与 880 点两套定长
- 评估侧插值到 150 点:一个动作周期通常 1–3 秒,50 Hz 下原始长度约 50–150 点,插值到 150 基本是「拉伸到统一长度」而非压缩。
- 训练侧截断/补零到 880 点:880 点 = 17.6 秒 @50 Hz,覆盖 8–10 个周期,即单周期约 1.8–2.2 秒。这与康复训练的节奏相符。
代价:线性插值会改变信号的频率成分。对 150 点的评估数据做频域分析(如主频、谱熵)时,结果依赖于原始时长,不同患者之间不可直接比较。如果任务涉及频率特征,应当回到原始长度数据。
9.5 决策五:滑动平均窗口 10 的滤波强度
窗口长度 10 在 50 Hz 下相当于 0.2 秒的移动平均,截止频率约 2.5 Hz 量级。康复动作的主体频率在 0.3–2 Hz,因此这个窗口能有效去尖峰而保留主体波形。
代价:对包含快速成分的动作(如「指鼻试验」的快速往返、手套弯曲的瞬时变化),0.2 秒平滑会削弱峰值幅度,进而低估关节活动度。做 ROM(关节活动范围)估计时应改用原始数据或更短窗口。
9.6 决策六:零均值归一化的双刃剑
全数据集统一的零均值归一化消除了个体间基线差异(不同人的静止姿态、传感器初始朝向不同),让模型关注「相对变化」。这在小样本、跨受试者场景下几乎是必须的。
代价:幅度信息被抹平。对「患者能否把手臂抬到 90°」这类绝对幅度判断,归一化后的信号不再保留绝对角度尺度,模型可能学到「相对变化大 = 功能好」的错误关联。若要预测绝对 FMA 分数,建议在归一化前先记录每通道的均值与方差,作为附加特征一并输入。
9.7 六个决策的连带影响一览
| 决策 | 带来的好处 | 连带代价 | 何时需要回退 |
|---|---|---|---|
| IMU 而非摄像头 | 隐私友好、可家用 | 无绝对位置、动态漂移 | 需要关节轨迹时 |
| 四元数解算 | 避免万向节死锁 | 融合细节未公开,复现有不确定性 | 需要严丝合缝复现姿态时 |
| 只取第 2 次重复 | 单周期代表性好 | 丢弃重复间变异信息 | 研究稳定性/疲劳时 |
| 150 / 880 双定长 | 可直接入模 | 插值改变频域特征 | 做频域分析时 |
| 窗口 10 滑动平均 | 去尖峰有效 | 削弱快速成分与峰值 | 估计 ROM 时 |
| 零均值归一化 | 跨人可比 | 幅度信息丢失 | 预测绝对分值时 |
这张表的用法:先明确你的任务需要保留什么信息,再倒推该用 d01_raw_data 还是 d02_processed_data。绝大多数「模型效果不如预期」的问题,根源都在这一步选错了数据层。
9.8 一项尚未被论文回答的问题
论文没有报告任何「运动信号 → FMA 评分」的模型性能。这意味着这个数据集最核心的用途——自动化功能评估——目前仍是开放问题。对研究者是好消息(有空间),对工程团队是风险(没有可对标的底线)。
一个务实的起点是建立「规则基线」:用肩前屈、肘伸展等几个关键项的角度峰值做阈值判断,先得到一个粗糙的 0/1/2 分类器,再与深度学习模型对比。若深度模型打不过规则基线,问题通常出在划分方式或标签噪声,而非模型容量。
§10 避坑清单:八个已踩过的坑
以下八条按「踩中概率 × 后果严重度」排序,均来自本条目编写过程中对论文、数据集页面与同类数据集使用经验的交叉核对。坑 1–4 为数据层面,坑 5–8 为解读与合规层面。
坑 1:把 222 当成患者数
症状:论文写「222 samples」,有人直接写「222 例患者」。
真相:222 = 基线 120 + 出院 109 − 7 份错误样本,是评估次数;患者只有 120 例,完成试验 109 例。
后果:样本量与统计功效被高估近一倍,且掩盖了「同一患者出现两次」的数据泄漏风险。
正确做法:任何涉及样本量的表述都写「222 份评估样本(120 例患者)」;划分数据集时按患者分组。
坑 2:直接随机划分训练/测试集
症状:train_test_split(X, y, test_size=0.2, random_state=42) 一把梭。
真相:109 位患者在基线与出院各贡献一份样本,随机划分必然让同一人横跨两侧。
后果:测试集指标虚高,跨机构泛化能力被严重高估。
正确做法:用 GroupKFold 或按患者 ID 手动分组;若患者 ID 不可得,至少按「基线全进训练、出院全进测试」或反之做时间外推验证。
坑 3:把评估侧与训练侧的通道混着用
症状:把 Rehab_assessment 的 12/13/5 通道数据与 Rehab_exercise 的 6/6 通道数据拼成一个大张量做联合训练。
真相:两侧特征空间完全不同(一侧含原始加速度/磁力/角速度,一侧只有欧拉角与弯曲量),且传感器位点映射也不同。
后果:拼接后大量通道为 NaN 或全零,模型学到的是「数据来源」而非「动作模式」。
正确做法:先做通道对齐——评估侧取 pitch/yaw/roll 六路 + 手套 5 路,与训练侧对齐;或干脆分任务独立建模。
坑 4:忽略「向上取整」对标签分布的影响
症状:假设三分类标签大致均衡,直接按准确率汇报。
真相:ceil((y′+y″)/2) 会系统性抬高分级,0 分档样本偏少、1–2 分档偏多;且两名治疗师分歧越大,越容易落到较高档。
后果:模型学到「偏高分」的先验,临床上高估患者功能,这在康复决策中是危险方向。
正确做法:先统计 Label.npy 每列的取值分布;汇报时给出各类召回率与 κ 系数,而非单一准确率;关注「低估」与「高估」的非对称代价。
坑 5:把 50 Hz 当成「够用」
症状:直接照搬高频 HAR 的模型结构(依赖 100–200 Hz 的高频细节)。
真相:全系统约 50 Hz,对快速动作与冲击成分欠采样;再叠加 0.2 秒滑动平均,有效带宽进一步收窄。
后果:模型在 REHAB 上训练后在真实高频设备上失效,或反过来把高频设备数据降采样后丢掉关键信息。
正确做法:模型输入层明确标注采样率;若跨数据集迁移,先重采样到统一频率并做低通抗混叠。
坑 6:把「两周」当唯一口径
症状:写综述时引用 ScienceDB 页面描述「three-week rehabilitation program」。
真相:论文摘要、Methods、试验设计均写 two-week;ScienceDB 描述写 three-week,两者冲突。
后果:时间线描述错误,影响对「康复改善幅度」的解释。
正确做法:以论文为准(2 周)。引用数据集页面时若要提及该冲突,明确标注「ScienceDB 页面描述与论文不一致,以论文为准」。
坑 7:把训练数据当成「对照组的」
症状:看到 Methods 中「patients in the control group received training according to personalized training protocols」,于是认为 4,616 条训练样本来自对照组。
真相:个体化处方训练属于试验组(60 人);同段前半句已说明「训练数据在试验组接受个体化训练时采集」。
后果:试验设计理解颠倒,任何基于组别的分析全部失效。
正确做法:按试验组成稿;遇到此类句内自相矛盾,以「数据采集对象」的明确表述为准,并在引用时存照原文。
坑 8:忽略器械与临床使用边界
症状:基于 REHAB 训练评分模型,直接宣称可用于临床决策支持。
真相:CC BY 4.0 只解决「数据能不能用」,不解决「模型能不能进临床」。KMD-T001 是持证医疗器械,但你的模型不是。
后果:产品化阶段撞上 SaMD 监管,返工成本极高。
正确做法:把数据集用于研究、原型验证与算法预训练;进入临床决策链前,走独立的验证与注册路径。
§11 总结
11.1 三句话总结
- REHAB 是目前少见的「真实卒中患者 + 标准临床量表标签 + 可穿戴运动信号」三合一公开数据集,120 例患者、222 份评估样本、4,616 条训练样本,CC BY 4.0 无门槛获取。
- 它的核心工程特色是五节点轻量系统(4 IMU + 1 手套)、50 Hz、评估侧精细通道与训练侧轻量通道分设,代价是两侧特征空间不可直接混用。
- 它的主要局限同样清楚:临床环境采集、单国两家中心、标签 ceil 聚合、下肢评估标签缺失、无官方基准划分与 leaderboard。
11.2 适合谁
- 做康复动作识别、运动功能自动评分的算法团队;
- 需要「患者真实运动模式」而非「健康人 ADL」的域适应研究;
- 智能康复硬件/软件产品的原型验证团队;
- 研究可穿戴信号隐私与去标识化的方法学研究者。
11.3 不适合谁
- 需要毫米级关节轨迹的临床步态分析——请用光学动捕类数据;
- 需要下肢评估评分——本数据集下肢评估标签未公开;
- 需要连续流式数据验证在线分割——本数据集为人工切分的稳定周期;
- 需要大规模、多国、多族群泛化验证——仅两家中国康复中心。
11.4 30 秒决策卡
| 问题 | 答案 |
|---|---|
| 有临床量表标签吗 | 有,27 项 FMA-UE,0/1/2 三级 |
| 是真实患者吗 | 是,120 例卒中偏瘫 |
| 要申请吗 | 不要,CC BY 4.0 直下 |
| 多大 | 约 703 MiB |
| 能直接跑模型吗 | 能,.npy 数组 + 标签矩阵 |
| 最大的坑 | 按患者分组划分、两侧通道不可混用、标签向上取整 |
| 有无官方基准 | 无 leaderboard,无官方划分 |
FAQ(高频问答 34 问)
A. 基础认知
A1. REHAB 这个名字会不会和别的数据撞?
会。库内 rehab-motion-capture 是同批另一条目(光学动捕 + Kinect),不是同一数据集。外部还有多个名为 Rehab 的康复数据,检索时以 DOI 10.57760/sciencedb.37018 为准。
A2. 它是步态数据集吗?
不是。16 项训练动作里有 3 项下肢训练(膝屈伸、髋屈伸、踝伸+膝内外旋),但不含行走任务。做步态研究请转向 gait-in-aging / gait-pd / live-gaitneurokids。
A3. 它是影像数据集吗?
不是。全部为可穿戴惯性信号,无照片、无视频、无深度图。
A4. 为什么叫「运动学」(kinematic)而不是「动力学」(kinetic)?
因为只测运动本身(角度、角速度、加速度),没有测力/力矩。手套的弯曲传感器测的是弯曲角度,不是抓握力——这也是握力项被 FMA 剔除的原因之一。
A5. 数据是什么格式?
NumPy 的 .npy 数组,外加一个 Label.npy 标签矩阵。没有 CSV、没有 HDF5、没有 BIDS 组织。
B. 数据与获取
B1. 下载要多久?
总量约 703 MiB,普通宽带几分钟。ScienceDB 国内访问速度通常好于 HuggingFace 类站点。
B2. 需要注册账号吗?
不需要。conditionsOfAccess 为 PUBLIC。
B3. 有版本更新吗?
当前为 V1 / version 1.0.0,2026-05-22 发布。引用时应标注版本号。
B4. 有中文说明文档吗?
论文为英文。数据集页面为英文界面,未附独立中文手册。
B5. 能商用吗?
可以。CC BY 4.0 允许商业使用,只需署名。
B6. 代码仓库里有什么?
论文称含数据预处理、数据集生成与模型训练源码。本条目编写时未逐一核验文件清单与 LICENSE,使用前请自行确认。
C. 数据规格
C1. 222 是怎么算出来的?
120(基线)+ 109(出院)− 7(错误样本)= 222。
C2. 为什么训练样本是 4,616 而不是 4,689?
原始 4,689 条,剔除 73 条设备故障/操作失误/缺数据样本后为 4,616。
C3. 评估数据为什么有 12、13、5 三种通道?
对应三种传感器配置:S1(或下肢 S3)12 通道、S2(或 S4)13 通道、S5 手套 5 通道。
C4. 训练数据为什么只有 6 通道?
为长期记录减小存储负担,只保留欧拉角与手套弯曲量。
C5. 150 和 880 分别是什么?
150 是评估样本处理后的时间长度(点);880 是训练样本处理后的时间长度(点,含 8–10 个动作周期)。
C6. 采样率多少?
约 50 Hz。
C7. 原始数据和处理后数据都在吗?
都在,d01_raw_data 与 d02_processed_data 并列。
D. 标签与建模
D1. 标签是谁打的?
两名康复治疗师在评估间隙各自独立打分,取均值后向上取整。
D2. 为什么不是 0–66 的总分?
数据集提供的是逐项 0/1/2 的 27 列矩阵,不是总分。总分需自行求和(注意 27 项只是 FMA-UE 33 项的子集,求和结果不等于标准 FMA-UE 总分)。
D3. 缺失的 6 项是什么?
3 个反射项、1 个握力项、2 个协调项(论文未逐项点名具体条目编号)。
D4. 能做回归吗?
可以,但数据只给 ceil 后的整数,连续标签不可得,回归的天花板受限。
D5. 划分数据集要注意什么?
按患者分组,不能随机按样本划分。
D6. 有官方 baseline 吗?
没有。论文只给了聚类可视化,未发布模型性能表。
E. 临床与伦理
E1. 患者来自哪里?
空军军医大学唐都医院与西安高新医院,两家康复中心。
E2. 病程范围?
纳入 15–180 天(亚急性期),实际基线均值约 46–61 天。
E3. 有下肢评估评分吗?
没有。论文明确下肢评估数据尚未标准化验证,未公开。
E4. 伦理批号是什么?
唐都医院 201912-08,西安高新医院 2020-001。
E5. 试验注册号?
ChiCTR2200061310。
F. 与同类数据的区别
F1. 与 StrokeRehab/PrimSeq 的区别?
StrokeRehab 用 9 个 IMU 标亚秒级功能原语;REHAB 用 4 IMU + 手套标 27 项 FMA 评分与 16 类训练动作。
F2. 与 UCI HAR 的区别?
UCI HAR 是健康人 ADL,6 类;REHAB 是卒中患者康复动作,16 类 + 27 项评分,域完全不同。
F3. 与 rehab-motion-capture 的区别?
一个是可穿戴惯性,一个是光学动捕 + Kinect,详见 §4.7 四维对照表。
F4. 与 IntelliRehabDS 的区别?
IntelliRehabDS 病例数有限且参与者以健康人为主;REHAB 为 120 例真实患者。
F5. 可以用它预训练再做其他康复任务吗?
可以,但要注意标签体系不同(FMA 评分 vs 功能原语),迁移时通常只迁移特征提取层。
事实清单(硬事实 42 条)
以下每条均可回溯至论文正文、论文图表或 ScienceDB 页面元数据,编号供交叉引用。
身份与出处
- 官方全名:REHAB: A wearable sensor–based kinematic dataset collected under standardized rehabilitation tasks from 120 post-stroke patients。
- 论文:Scientific Data 2026;13:1136,DOI 10.1038/s41597-026-07802-2。
- 收稿 2026-02-05,接收 2026-06-29,在线发表 2026-08-05。
- 数据集 DOI:10.57760/sciencedb.37018,Science Data Bank,版本 V1 / 1.0.0。
- 数据集页面发布日期:2026-05-22。
- 落地页:https://www.scidb.cn/en/s/YrUnie。
- 代码仓库:https://github.com/zzzzz-123/REHAB。
- 通讯作者 Kunlun He(解放军总医院医学工程实验室);数据集创建者登记为 Liquan Guo(中科院苏州医工所)。
- 合作单位:解放军总医院(医学工程科、第一/第六/第八医学中心)、中科院苏州生物医学工程技术研究所、中国科学技术大学。
试验与人群
- 临床试验注册号 ChiCTR2200061310,2022-06-20 注册。
- 伦理批号:唐都医院 201912-08;西安高新医院 2020-001。
- 筛查 369 例,排除 249 例(231 不符纳入、15 拒参、3 其他)。
- 入组 120 例,两家医院各 60 例,各随机分试验组 30 / 对照组 30。
- 退出 11 例(唐都 10、高新 1),完成 109 例,完成率 91%。
- 纳入年龄 30–75 岁;病程 15–180 天;Brunnstrom II–VI 期。
- 基线年龄:对照 55.82 (9.68) vs 试验 56.25 (9.83),P=0.81。
- 基线病程:对照 61.20 (46.67) vs 试验 46.22 (36.63) 天,P=0.15。
- 脑梗死比例:对照 61.67%,试验 53.33%。
- 高血压比例:对照 73.33%,试验 71.67%。
采集系统
- 五个节点:S1 前臂、S2 上臂、S3 小腿、S4 大腿、S5 康复手套。
- S1–S4 为 MPU9250 九轴 IMU:16 位加速度计 ±2 g、16 位陀螺仪 ±250°/s、14 位磁力计 ±4800 μT。
- S5 含 5 路压阻弯曲传感器(0–180°)与 1 个同规格 IMU。
- 采样率约 50 Hz,ZigBee 无线传输。
- 设备型号 KMD-T001,西安立邦康美度医疗科技有限公司,具医疗器械注册证。
- 角度、加速度、角速度测量精度均 >95%。
- 佩戴位置:S1 腕背横纹上约 10 cm;S2 肱骨外上髁上约 8 cm;S3 髌骨下 10–20 cm;S4 股直肌区。
数据规模
- 评估样本 229 → 222(剔除 7 份)。
- 222 = 基线 120 + 出院 109 − 7。
- 训练样本 4,689 → 4,616(剔除 73 条)。
- 16 类训练动作单类样本 212–385,均值约 280,SD 约 46。
- 评估处理后定长 150 点;训练定长 880 点(含 8–10 周期)。
- 数据集总量 737,301,388 字节(约 703 MiB)。
- 评估通道数:sensorID 1/2/3 分别为 12/13/5。
- 训练通道数:sensorID 1/2 各为 6。
Label.npy形状 222×27,取值 {0,1,2}。
任务与标注
- 27 项评估动作取自 FMA-UE 33 项,剔除 3 个反射项、1 个握力项、2 个协调项。
- 每项重复 3 次取第 2 次;项间休息 20 秒。
- 双治疗师独立打分,取均值向上取整。
- 16 项训练动作,每项约 10 次,项间休息 30 秒,单次训练 20–30 分钟。
- 训练数据仅来自试验组 60 人。
验证与临床
- 传感器误差:手套 +1°~+3°(阈值 ±10°);IMU 最大约 2.8°(阈值 ±5°)。
- FMA 改善:对照 +11.98(总分)、试验 +17.56;组间差 5.58 / 3.83 / 1.76,均超 MCID 2.22 / 1.85 / 1.26。
术语表(32 条)
| 术语 | 英文 | 释义 |
|---|---|---|
| 惯性测量单元 | Inertial Measurement Unit, IMU | 集成加速度计、陀螺仪、(常含)磁力计的传感器模块,本数据集为九轴 |
| 体域传感网络 | Body Sensor Network, BSN | 佩戴于身体的多个传感器节点组成的无线网络 |
| 弯曲传感器 | Flex Sensor | 压阻式器件,弯曲角度越大电阻越大,用于手套测手指屈曲 |
| 欧拉角 | Euler Angle | 用 Yaw/Pitch/Roll 三角度描述三维朝向 |
| 四元数 | Quaternion | 用四元数表示三维旋转,避免欧拉角奇异性 |
| 万向节死锁 | Gimbal Lock | 欧拉角在某姿态下丢失一个自由度的退化现象 |
| 积分漂移 | Integration Drift | 陀螺仪积分误差随时间累积,导致姿态估计偏移 |
| 基线漂移 | Baseline Drift | 信号整体缓慢偏移,常由温度或个体差异引起 |
| 滑动平均滤波 | Moving Average Filter | 用窗口内均值平滑信号,抑制尖峰 |
| 零均值归一化 | Zero-mean Normalization | 每通道减均值、统一方差 |
| 线性插值 | Linear Interpolation | 按比例填补中间点,用于统一信号长度 |
| 零填充 | Zero-padding | 短信号末尾补零到固定长度 |
| Fugl-Meyer 上肢评定量表 | FMA-UE | 卒中后上肢运动功能量表,本数据集用其 27 个子项 |
| Brunnstrom 分期 | Brunnstrom Stage | 偏瘫恢复六阶段分期,本数据集入组为 II–VI 期 |
| 最小临床重要差异 | MCID | 患者能感知到的最小有意义改善量 |
| 随机对照试验 | RCT | 随机分组比较干预效果的试验设计 |
| 亚急性期 | Subacute Phase | 卒中后约 2 周至 6 个月 |
| 代偿动作 | Compensatory Movement | 患肢功能不足时借用其他肌群完成的替代模式 |
| 关节活动范围 | ROM | 关节可达到的活动角度范围 |
| 作业治疗 | Occupational Therapy, OT | 以日常生活活动为训练载体的康复治疗 |
| 物理治疗 | Physical Therapy, PT | 以运动与手法为主的康复治疗 |
| Bobath 技术 | Bobath Concept | 基于神经发育学的康复训练方法,本数据集训练动作 0–3 属此类 |
| 指鼻试验 | Finger-to-nose Test | 评估协调性的动作,本数据集动作 26 |
| 功能原语 | Functional Primitive | 亚秒级基本动作单元(reach/transport 等),StrokeRehab 的标注粒度 |
| 人体活动识别 | Human Activity Recognition, HAR | 从传感信号识别动作类别,通用域 |
| 日常生活活动 | Activities of Daily Living, ADL | 行走、穿衣、进食等日常动作 |
| 光学位姿捕捉 | Optical Motion Capture | 用多相机跟踪反光标记点重建三维运动 |
| 深度相机 | Depth Camera | 输出深度图的相机(如 Kinect),可估骨骼点 |
| 组间相关系数 | ICC | 衡量测量一致性的统计量 |
| Cohen’s κ | Cohen’s Kappa | 衡量评分者一致性的指标,扣除随机一致 |
| 宏平均 F1 | Macro-F1 | 各类 F1 的算术平均,对少数类敏感 |
| 分组交叉验证 | Group K-Fold | 按组(此处为患者)划分折的交叉验证,防泄漏 |
附录
附录 A:条目信息速查卡
| 项 | 内容 |
|---|---|
| 条目名 | REHAB(rehab-wearable-kinematic) |
| 一句话 | 120 例卒中患者的五节点可穿戴运动学数据集,含 27 项 FMA 评估与 16 项训练动作 |
| 论文 | Sci Data 2026;13:1136 |
| DOI | 10.1038/s41597-026-07802-2(论文)/ 10.57760/sciencedb.37018(数据) |
| 许可 | CC BY 4.0 |
| 获取 | ScienceDB 公开直下 |
| 体积 | 约 703 MiB |
| 样本量 | 222 评估 + 4,616 训练 |
| 患者数 | 120 入组 / 109 完成 |
| 模态 | 可穿戴惯性 + 弯曲传感 |
| 采样率 | 约 50 Hz |
| 标签 | FMA-UE 27 项 0/1/2;训练动作 16 类 |
| 格式 | .npy |
| 主要坑 | 患者分组划分、通道不可混用、标签向上取整 |
| 官方基准 | 无 |
附录 B:DAIMS 评估全表
DAIMS(Data and Analytics Infrastructure Maturity Score)从六个维度评估数据集的 AI-Ready 成熟度,本条目按 0–5 分打分并给依据。
| 维度 | 含义 | 得分 | 依据 |
|---|---|---|---|
| D1 可发现性(Discoverability) | 是否有稳定 DOI、规范元数据、可被检索 | 5 | 双 DOI(论文 + 数据);ScienceDB 提供 Croissant 1.0 结构化元数据、JSON-LD、关键词与引用格式;schema.org 描述完整 |
| D2 可访问性(Accessibility) | 获取门槛、是否需申请 | 5 | conditionsOfAccess=PUBLIC,无 DUA、无 embargo、无需注册;与库内需认证的 PhysioNet 派生条目相比门槛最低 |
| D3 互操作性(Interoperability) | 格式通用性、与标准体系的对接 | 3 | .npy 通用但无 BIDS-like 命名规范;通道命名(pitch1、f1、fall)为设备内部约定,需查表才能理解;无标准术语映射(如 SNOMED/LOINC) |
| D4 可复用性(Reusability) | 文档完整度、预处理透明度、可复现性 | 4 | 论文给出完整预处理公式与目录结构;代码开源;扣分项为姿态解算的磁力计融合细节未明、错误样本剔除未逐条披露 |
| D5 机器学习就绪度(ML-Readiness) | 是否可直接入模、有无划分基准 | 4 | 数组已定长、标签已成矩阵,可直接入模;扣分项为无官方 train/test 划分、无 leaderboard、无 baseline 性能表 |
| D6 治理与伦理(Governance) | 伦理审批、知情同意、许可清晰度 | 5 | 双伦理批号 + 临床试验注册号 + 去标识化发表知情同意 + CC BY 4.0 明确 |
| 综合 | — | 4.3 / 5 | 获取与治理满分,互操作与基准建设是短板 |
评分说明:D3 扣分并非苛责——.npy + 设备私有通道名是康复可穿戴领域的普遍现状,但确实提高了跨数据集融合的成本。D5 扣分同样普遍:多数临床可穿戴数据集都不发布官方划分,因为患者分组划分方式本身存在多种合理选择,强行统一反而可能误导。
附录 C:逐项证据链自证
| 关键论断 | 证据位置 |
|---|---|
| 120 例、369 筛查 | 论文 Methods「Subject and ethics statement」+ Fig. 2 |
| 222 = 120+109−7 | 论文 Technical Validation「Clinical and sample size validation」段末 |
| 27 项动作清单 | 论文 Table 2(含每项名称与分组) |
| 16 项训练动作清单 | 论文 Table 3(含分组与编号) |
| 12/13/5 通道定义 | 论文 Table 4–7 |
| 6/6 通道定义 | 论文 Table 8–10 |
| 传感器精度 ±3° | 论文 Table 11 |
| 体积 737,301,388 字节 | ScienceDB JSON-LD size.value |
| 许可 CC BY 4.0 | ScienceDB JSON-LD license |
| 版本 V1 | ScienceDB JSON-LD version |
| 2 周干预 | 论文摘要 + Methods |
| 3 周干预(冲突) | ScienceDB JSON-LD description |
附录 D:数据获取决策树
需要「卒中患者的可穿戴运动信号」?
├── 是 → 需要临床量表标签(FMA)?
│ ├── 是 → REHAB(本条)✔
│ └── 否 → 只需动作类别?→ REHAB 训练子集,或 StrokeRehab
└── 否 → 需要的是?
├── 步态 → gait-in-aging / gait-pd / live-gaitneurokids
├── 临床记录 → stroke-scale-mimic-iii
├── 关节轨迹(高精度) → 光学动捕类(见 rehab-motion-capture)
└── 其他可穿戴生理 → wearable-exam-stress / big-ideas-glycemic-wearable
附录 E:通道映射速查
评估侧(Rehab_assessment)
| sensorID | 通道序列 | 上肢物理意义 | 下肢物理意义 |
|---|---|---|---|
| 1 | pitch, yaw, roll, ax, ay, az, mx, my, mz, wx, wy, wz | S1 前臂 | S3 小腿 |
| 2 | pitch2−pitch1, pitch2, yaw2, roll2, ax2, ay2, az2, mx2, my2, mz2, wx2, wy2, wz2 | S2 上臂 | S4 大腿 |
| 3 | pitch3, pitch3−pitch1, f1, f12, fall | S5 手套(含腕角与手指弯曲) | 同左 |
训练侧(Rehab_exercise)
| sensorID | 通道序列 | 物理意义 |
|---|---|---|
| 1 | pitch1, yaw1, roll1, pitch2, yaw2, roll2 | S1+S2(上肢)或 S3+S4(下肢) |
| 2 | f1, f2, f3, f4, f5, pitch3 | S5 手套五路弯曲 + 腕 pitch |
附录 F:27 项评估动作清单(Table 2 中译)
| 编号 | 英文原名 | 中文 | 分组 |
|---|---|---|---|
| 0 | Shoulder elevation | 耸肩 | 屈肌协同 |
| 1 | Shoulder retraction | 肩后缩 | 屈肌协同 |
| 2 | Shoulder abduction (at least 90°) | 肩外展(≥90°) | 屈肌协同 |
| 3 | Shoulder external rotation | 肩外旋 | 屈肌协同 |
| 4 | Elbow flexion | 屈肘 | 屈肌协同 |
| 5 | Forearm supination | 前臂旋后 | 屈肌协同 |
| 6 | Shoulder adduction and internal rotation | 肩内收内旋 | 伸肌协同 |
| 7 | Elbow extension | 伸肘 | 伸肌协同 |
| 8 | Forearm pronation | 前臂旋前 | 伸肌协同 |
| 9 | Hand touching the lumbar spine | 手触腰椎 | 伸肌协同 |
| 10 | Shoulder flexion to 90° (elbow at 0°) | 肩前屈至 90°(肘伸直) | 上肢协同 |
| 11 | Forearm pronation/supination (shoulder 0°, elbow 90°) | 前臂旋前/旋后(肩 0°、肘 90°) | 上肢协同 |
| 12 | Forearm pronation (shoulder abduction 90°, elbow 0°) | 前臂旋前(肩外展 90°、肘伸直) | 上肢协同 |
| 13 | Forearm pronation and supination (shoulder flexion 90–180°, elbow 0°) | 前臂旋前旋后(肩前屈 90–180°、肘伸直) | 上肢协同 |
| 14 | Forearm pronation/supination (shoulder flexion 30–90°, elbow 0°) | 前臂旋前/旋后(肩前屈 30–90°、肘伸直) | 上肢协同 |
| 15 | Wrist dorsiflexion (elbow 90°, shoulder 0°) | 腕背伸(肘 90°、肩 0°) | 腕 |
| 16 | Wrist flexion and extension (elbow 90°, shoulder 0°) | 腕屈伸(肘 90°、肩 0°) | 腕 |
| 17 | Wrist dorsiflexion (elbow 0°, shoulder 30°) | 腕背伸(肘伸直、肩 30°) | 腕 |
| 18 | Wrist flexion and extension (elbow 0°, shoulder 30°) | 腕屈伸(肘伸直、肩 30°) | 腕 |
| 19 | Wrist circumduction | 腕环转 | 腕 |
| 20 | Finger flexion (all together) | 全指屈曲 | 手精细 |
| 21 | Finger extension (all together) | 全指伸展 | 手精细 |
| 22 | Thumb adduction (all joints at 0°) | 拇指内收(各关节 0°) | 手精细 |
| 23 | Thumb pinch (holding a pencil) | 拇指捏(持笔) | 手精细 |
| 24 | Grasp a cylindrical object | 握圆柱物 | 手精细 |
| 25 | Grasp a spherical object | 握球状物 | 手精细 |
| 26 | Finger-to-nose test (5 consecutive) | 指鼻试验(连续 5 次) | 复杂协调 |
附录 G:16 项训练动作清单(Table 3 中译)
| 编号 | 英文原名 | 中文 | 分组 |
|---|---|---|---|
| 0 | bobath handshake | Bobath 握手 | 上肢复合 |
| 1 | bobath flexion/extension | Bobath 屈伸 | 上肢复合 |
| 2 | bobath forward flexion/extension | Bobath 前屈伸 | 上肢复合 |
| 3 | bobath anterior/posterior rotation | Bobath 前后旋转 | 上肢复合 |
| 4 | elbow flexion and wrist compression | 屈肘并腕加压 | 上肢复合 |
| 5 | wrist flexion and extension | 腕屈伸 | 手部 |
| 6 | finger-to-finger training | 指对指训练 | 手部 |
| 7 | ball gripping | 抓球 | 手部 |
| 8 | shoulder joint internal and external | 肩关节内外旋 | 肩部 |
| 9 | breast expansion | 扩胸 | 肩部 |
| 10 | flexion-pressure rotation forward and backward | 屈曲加压前后旋转 | 肩部 |
| 11 | elbow joint flexion and touch | 屈肘触物 | 臂 |
| 12 | shoulder touch training | 摸肩训练 | 臂 |
| 13 | Ankle extension & Knee internal and external rotation | 踝伸与膝内外旋 | 臂(原文归此,语义偏下肢) |
| 14 | knee flexion and extension | 膝屈伸 | 下肢 |
| 15 | Hip flexion and extension | 髋屈伸 | 下肢 |
附录 H:加载与建模代码骨架
import numpy as np, os, glob
from sklearn.model_selection import GroupKFold
from sklearn.metrics import f1_score, cohen_kappa_score
ROOT = "REHAB"
def load_assessment(root=ROOT, processed=True):
"""返回 X: list[(n_i, C)] 与 Y: (222,27)"""
sub = "d02_processed_data" if processed else "d01_raw_data"
base = os.path.join(root, "Rehab_assessment", sub)
Y = np.load(os.path.join(root, "Rehab_assessment", "Label.npy"))
samples = []
for i in range(1, 223):
d = os.path.join(base, f"{i:03d}")
per_movement = {}
for f in glob.glob(os.path.join(d, "*.npy")):
mv, sid = os.path.basename(f)[:-4].split("_")
per_movement.setdefault(int(mv), {})[int(sid)] = np.load(f)
samples.append(per_movement)
return samples, Y
def load_exercise(root=ROOT, processed=True):
sub = "d02_processed_data" if processed else "d01_raw_data"
base = os.path.join(root, "Rehab_exercise", sub)
data = {}
for f in glob.glob(os.path.join(base, "*.npy")):
mv, sid = os.path.basename(f)[:-4].split("_")
data[(int(mv), int(sid))] = np.load(f) # (d, 880, 6)
return data
def patient_groups():
"""占位:需按论文补充材料把 001-222 映射到患者 ID。
未取得映射前,可用「基线 1-120 / 出院 121-222」的近似假设做分组,
但这只是保守估计,不等同真实分组。"""
return np.array([f"P{(i-1)%120}" for i in range(1, 223)])
# 训练集划分(按患者分组)
X = np.arange(222).reshape(-1, 1)
y = np.load(os.path.join(ROOT, "Rehab_assessment", "Label.npy"))[:, 0] # 以动作 0 为例
g = patient_groups()
for tr, te in GroupKFold(n_splits=5).split(X, y, g):
print(len(tr), len(te))
附录 I:常见误用对照表
| 误用 | 后果 | 正解 |
|---|---|---|
| 222 当作患者数 | 功效高估一倍 | 222 份样本 / 120 例患者 |
| 随机按样本划分 | 同人泄漏、指标虚高 | 按患者分组 |
| 评估+训练通道硬拼 | 大量无效通道 | 先对齐 pitch/yaw/roll 六路 |
| 对已归一化数据再标准化 | 幅度信息全失 | 直接用 d02,或回 d01 自处理 |
| 把补零区当信号 | 学到「零模式」 | 加 mask 通道 |
| 只看准确率 | 忽略类别偏斜与高估倾向 | 宏 F1 + κ + 混淆矩阵 |
| 宣称临床可用 | 触碰 SaMD 监管 | 限定为研究用途 |
附录 K:按角色阅读路径
你是算法工程师,只想知道能不能直接开跑:§1 十问十答 → §2.3 目录结构 → §5.1 五分钟上手 → §5.3 划分策略 → 附录 H 代码骨架。约 15 分钟。
你是康复科医生或治疗师,想判断数据是否可信:§3.2 评估流程 → §3.6 临床有效性 → §4.1 传感器精度 → §4.4 局限 → 附录 F 动作清单。约 20 分钟。
你是数据集调研者,在做同类对比:§2.6 规模对照 → §4.6 与 HAR 的边界 → §4.7 与动捕的对照 → §7.1 版图坐标 → §7.5 与 StrokeRehab 的差异。约 15 分钟。
你是合规或产品负责人,关心能不能用:§6 许可与获取 → §6.3 三层合规约束 → §6.6 二次分发 → 坑 8。约 10 分钟。
你是论文作者,想引用本条目:事实清单 42 条 + 附录 C 证据链 + 附录 J 双口径存照。直接按编号引用即可。
附录 L:一页速查卡(可打印)
┌─────────────────────────────────────────────────────────────┐
│ REHAB(rehab-wearable-kinematic) │
│ 120 例卒中患者 · 5 节点可穿戴 · 50 Hz · CC BY 4.0 │
├─────────────────────────────────────────────────────────────┤
│ 数据 │ 222 份评估样本(27 项 FMA,222×27 标签矩阵) │
│ │ 4,616 条训练样本(16 类动作,d×880×6) │
│ 格式 │ NumPy .npy + Label.npy │
│ 体积 │ 约 703 MiB │
│ 获取 │ doi.org/10.57760/sciencedb.37018(公开直下) │
│ 代码 │ github.com/zzzzz-123/REHAB │
├─────────────────────────────────────────────────────────────┤
│ 必做 │ ① 按患者分组划分(否则泄漏) │
│ │ ② 先查 Label.npy 每列分布 │
│ │ ③ 训练侧补零区加 mask │
│ 禁做 │ ① 222 当患者数 │
│ │ ② 评估/训练通道硬拼 │
│ │ ③ 对 d02 再做标准化 │
│ 记住 │ 无官方 leaderboard,无 baseline 性能 │
└─────────────────────────────────────────────────────────────┘
附录 M:数据质量自查清单(拿到数据后逐项打勾)
| 项 | 检查方法 | 期望结果 |
|---|---|---|
| 评估样本文件夹数 | `ls Rehab_assessment/d01_raw_data | wc -l` |
| 训练动作文件数 | `ls Rehab_exercise/d01_raw_data | wc -l` |
| 标签矩阵形状 | np.load('Label.npy').shape |
(222, 27) |
| 标签取值 | set(np.unique(Y)) |
|
| 处理后评估长度 | 任一 d02_processed_data/001/000_1.npy 的 shape[0] |
150 |
| 训练张量维度 | 任一 Rehab_exercise/d02_processed_data/000_1.npy 的后两维 |
(880, 6) |
| 训练样本总数 | 各文件 shape[0] 求和 | 4,616 |
| 单类样本区间 | 各文件 shape[0] | 212–385 |
| 缺失值 | np.isnan(X).any() |
False |
若「评估样本文件夹数」不是 222,优先排查下载完整性;若「训练样本总数」不是 4,616,优先排查是否误用了 d01 与 d02 混算。
附录 J:双口径冲突存照(3 条)
| 项 | 口径 A(论文) | 口径 B(ScienceDB) | 本条目处理 |
|---|---|---|---|
| 干预时长 | two-week(摘要 + Methods) | three-week(description) | 按论文 2 周,冲突存照 |
| 简称 | REHAB | REHAB-120(description 末句) | 以 REHAB 为主,检索时并提 |
| 训练组别 | 试验组 60 人(采集对象) | 未描述 | 按试验组,原句矛盾存照 |
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- mhealth — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- uci-har — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- gait-in-aging — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- gait-pd — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- parkinsons-disease-smartwatch — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- live-gaitneurokids — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- cops — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- sisfall — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- wisdm — 共享标签:生理信号 / 可穿戴传感 / 步态与运动 / 时序数据
- acl-jumplanding-mocap — 共享标签:生理信号 / 步态与运动 / 时序数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

