验证
已验证的内容
三个分析器被逐行移植到 Python,并在已知真值的模拟小鼠上运行(脚本在仓库的 Tools/validation/ 中)。
步态
模拟小跑:20 cm/s、4 Hz、占空比 0.60、后肢支撑面宽度 3 cm、关键点噪声 1–2 像素:
| 指标 | 真值 | RodentLimb |
|---|---|---|
| 步幅 | 5.00 cm | 5.00 cm |
| 步频 | 4.00 Hz | 4.00 Hz |
| 占空比(100 fps) | 0.60 | 0.59 |
| 占空比(30 fps) | 0.60 | 0.70 |
| 后肢支撑面宽度 | 3.0 cm | 2.98–3.00 cm |
| 后肢步长 | 25 像素 | 25.6 像素 |
| 鼻尖侧向摆动 | 0.133 BL | 0.129 BL |
| 参考速度下的步幅(混合速度) | 50.0 像素 | 50.2 像素 |
| 相位 LH→RH / LH→RF(小跑) | 0.5 / 0 | 0.49–0.52 / 0.00–0.01 |
| 步态模式(小跑) | 小跑 | 28 个步幅中 26 个判为小跑 |
| 以 40 °/s 转向时的步幅 | 排除 | 保留 0 个 |
支撑相检测的默认设置(取前后两步中较小的位移;支撑相速度比 0.8)就是依据这些模拟选定的。30 fps 时占空比约有一帧的偏差,App 在低于 50 fps 时会提示。
悬尾
模拟 6 分钟测试,随机交替挣扎与不动,不动时带呼吸运动,噪声 0.8 像素:不动时间 163.5 秒,真值 165.4 秒;潜伏期 5.7 秒,真值 5.6 秒;逐帧一致率 99.2%。
圆筒
模拟仰视实验,脚本设定 9 次竖立(左先、右先、双爪):9 / 9 全部判对;在 3 像素噪声加 20% 爪检测丢失时同样如此。
模拟验证不能说明的
模拟检验的是分析方法,而不是姿态模型在你的视频上的表现。在研究中使用结果前:
- 在“回放”中检查几段视频的叠加效果。
- 盲法人工评分一部分动物(例如 10%),对比不动时间、触壁次数和步态指标。
- 确定与人工评分最一致的参数,应用到所有记录,并在文中报告(方法描述导出中已包含)。
- 圆筒实验请复核触壁列表,修改会被保存并计数。
在方法部分报告一致性(例如相关系数或 Bland–Altman 图)。
