这是一个基于 OpenPi 架构的机器人离线推理、轨迹可视化及性能评估工具集。它通过远程推理、数据回传与多维度评估,实现了从“原始图像”到“精度报告”的全流程闭环。
inference/
├── inference_main.py # [核心] 推理脚本,通过 SSH 隧道调用远端服务
├── plot_comparison.py # [绘图] 生成 GT/Base/Novel 三方对比轨迹图
├── eval_batch_metrics.py # [评估] 批量计算 MSE 误差,生成 CSV 报告
├── train9/ # 数据文件夹示例
│ ├── GT.txt # 真实动作序列
│ ├── infer_chunk40.txt # Base 模型预测结果
│ ├── novelinfer_chunk40.txt # Novel 模型预测结果
│ └── compare_chunk40.png # <--- 执行 plot_comparison.py 后的产出
└── separate_evaluation_chunk40.csv # <--- 执行 eval_batch_metrics.py 后的产出
运行 plot_comparison.py 后,系统会生成一张包含 8 个子图的高清对比图。它展示了机器人 7 个关节及 1 个夹爪随时间步变化的轨迹。
- 黑色实线 (GT):专家录制的标准动作。
- 红色虚线 (Base):基础模型预测动作。
- 蓝色点划线 (Novel):新算法/模型预测动作。
- 视觉参考:Y 轴刻度间隔固定为
0.1,方便观察微小偏差。
该图片由核心推理脚本 inference_main.py 在处理每个 trainX 文件夹时自动生成。它记录了模型在特定 CHUNK_SIZE(分块大小)下的实时表现。
- 生成时机:远程推理成功并保存
.txt数据后自动绘制,用于即时验证推理有效性。 - 颜色说明:
- 绿色实线 (GT):原始专家演示数据。
- 红色虚线 (Pred):当前模型(Base)生成的预测轨迹。
- 功能定位:主要用于快速检查模型是否“跑飞”或是否存在明显的时延偏移。
运行 eval_batch_metrics.py 后,会在根目录生成汇总报表。该表通过均方误差 (MSE) 量化了模型的改进效果。
报告示例(部分字段):
| Folder | Base_Joints_MSE | Novel_Joints_MSE | Joints_Impr_% | Joints_Winner | Gripper_Winner |
|---|---|---|---|---|---|
| train0 | 0.00123456 | 0.00104500 | +15.35% | <font color="blue">NOVEL</font> | NOVEL |
| train1 | 0.00098520 | 0.00112000 | -13.68% | <font color="red">BASE</font> | NOVEL |
| train9 | 0.00145000 | 0.00120000 | +17.24% | <font color="blue">NOVEL</font> | NOVEL |
字段说明:
- Impr_%: 计算公式为
$(Base - Novel) / Base \times 100$ 。正数表示 Novel 模型精度更高。- Winner: 自动标注在该文件夹下表现更优的模型。
- 执行推理:
确保 SSH 隧道配置正确,运行
python inference_main.py生成预测数据。 - 可视化验证:
运行
python plot_comparison.py查看单条轨迹的拟合详情。 - 批量打分:
运行
python eval_batch_metrics.py获取所有训练文件夹的统计性能。
- 坐标轴自适应:绘图脚本会自动在数据上下限留出 10% 的空白,防止曲线贴边。
- 编码说明:CSV 文件使用
utf-8-sig编码,支持 Excel 直接打开无乱码。

