23 实验方法论 · 误差分析与对照实验
为什么学这个(项目关联)
这篇毕设的含金量一半来自实验方法。两个对照实验(编码器 vs ArUco、四种标定方法互比)都是可迁移的通用方法论——你以后调任何硬件、做任何选型,都能用同一套框架。这也是把本项目”融入开发体系”最直接的部分。
知识点清单
1. 对照实验设计(原文范式)
- 单一变量:同一测试协议下只换被比较的对象(编码器/ArUco;四种标定)
- 场景覆盖:不止测理想情况——原文测了 标定 / 自然抓取 / 快速开合 / 低光照 四个场景,专门覆盖极端工况
- 明确协议:一分钟自然抓取、66 秒统计窗、“一帧有效 = 两个标记均检测到”……先定义清楚再测
- 结论带决策:不止报告数字,给出选型结论与代价分析(编码器的额外硬件清单 vs 收益)
2. 误差统计量工具箱
| 统计量 | 定义/用途 | 原文应用 |
|---|---|---|
| RMSE | 均方根误差,综合精度 | 标定误差表 |
| bias | 系统性偏移(均值) | “平均偏差仅 x,不存在固定偏移” |
| SD | 离散度 | bias ± SD 报告 |
| 95% 帧区间 | 分位数区间,覆盖绝大多数帧 | 标记-编码器读数差 |
| 帧间抖动 | 相邻帧差分,稳定性指标 | 编码器≈0 vs ArUco 明显 |
| 99 分位误差半径 | 最坏情况视角 | bootstrap 仿真输出 |
- 分位数思维:关注尾部(最差单次)而非均值——原文明确”关注最差单次标定结果,而不是平均值”
3. Bootstrap 蒙特卡洛仿真(原文的评估核心)
- 目的:估计”一次标定结果离真值多远”——但真值未知
- 做法:
- 10 次独立标定 → 均值当”代理真值”
- 对标定输入数据(快照对)做有放回重采样 / 对参数协方差采样 → 仿真大量”虚拟单次标定”
- 统计虚拟结果到代理真值的距离分布 → 99 分位 = 误差半径
- 同时评估”用均值当真值”本身引入的不确定性
- 局限(原文诚实声明):抓不住全局固定 bias(Quest 追踪系统误差、打印偏差)——仿真离散 ≠ 方法学正确
- 均值平均效应:10 次结果的平均把随机误差压低 ~1/√10 量级
4. 无真值时的验证策略(组合拳)
1. 重复性(自身离散):bootstrap 分位误差
2. 一致性(互相偏差):方法两两之差 vs 各自离散范围
→ 偏差 > 离散 ⇒ 存在系统 bias,需要解释来源
3. 物理校验:正交性检验(重力姿态)、支点间距 vs CAD 尺寸
4. 可视化校验:CAD 渲染 vs 实物照片多视角
5. 已知约束检验:贴齐标定实测光轴倾角 vs 设计值
- 原文的偏差溯源示范:手眼偏差 ← “理论倾角 ≠ 实测倾角”这一环
5. 数据呈现技巧(学原文的表达)
- 直方图 + 分段标注(1798 帧分三段:1461/279/56)
- 按运动速度分桶的误差分布(图 2:慢/中/快 str/s)→ 揭示”误差随速度上升”
- 表格统一格式:单次误差 / 10 次平均误差 ×(平移,旋转)
- 每张图有明确的坐标定义(“闭合百分比 0=全开 100=全闭”)
6. 复刻时的实验管理
- 每次实验记录:日期、协议、原始数据路径、分析脚本、结论一句话
- 版本化:数据不覆盖,结论可追溯(对接知识库”实践记录”小节)
学习资源
| 资源 | 用途 |
|---|---|
| 任意概率统计教材的参数估计章节 | 基础 |
| 检索 “bootstrap resampling uncertainty estimation” | bootstrap |
| 原文的表格与图注 | 表达范式 |
实践任务
- 💻 用 numpy 实现 bootstrap:对一组含噪测量的均值/分位数做重采样,画置信区间
- 💻 给 16 嵌入式 - AS5600 编码器与 XIAO ESP32C6 的标定数据算 RMSE/bias/95% 区间,按原文表格格式呈现
- 💻 设计并执行一个自己的对照实验(任选:两种滤波、两种电源、两种打印材料),按”单一变量 + 极端工况 + 分位数报告”执行
- ✍️ 把”无真值验证五件套”做成自己的检查清单卡片
掌握标准(自测)
- 能区分 bias / 随机误差 / 方法学偏差,并说出各自怎么检测
- 能手写 bootstrap 流程并解释它抓不住固定 bias 的原因
- 能按原文范式设计一个三场景以上对照实验
- 养成”报告最差情况 + 分位数”的习惯
关联笔记
- 应用对象:16 嵌入式 - AS5600 编码器与 XIAO ESP32C6、19 视觉基础 - 相机模型与内参标定、21 标定系统 - 手眼标定、22 标定系统 - 支点标定、重力姿态与Quest-标记标定
- 原文对应章节:01 - 原文存档 - Dream-UMI 开发手记 全文实验部分
实践记录
(学习时在这里追加:日期 / 做了什么 / 踩坑 / 疑问)