视觉—语言—动作(VLA)模型与模仿学习策略训练的不只是像素。它们还依赖这些像素相对本体感觉、IMU、头部位姿与动作标签的发生时刻。一份广告写着「30 fps 双目」的数据集,时间基准仍可能是编造的。这就是 设备上记录的时间戳 与 FPS 回填(事后按标称帧率赋时)之间的差别。
本文说明概念差距、时间基准作假时会出现的失效模式,以及如何用类似 verify_timing 审计的检查验证时序。下列数字均来自可自行核验的公开样片:两条 episode、4,914 帧、合计 163.47 s(EP001 121.57 s;EP002 41.90 s),以 LeRobot v3、CC BY-NC 4.0 发布。样片的核心主张——买方也应坚持——很简单:时间戳是记录的,不是计算的。
数据集「有时间戳」的两种方式
记录时间戳(设备侧)
在记录时间基准管线中,每一帧携带曝光时(或紧耦合硬件时钟)从采集设备时钟取到的时间戳。双目左右眼硬件同步。IMU 样本打在同一条连续时钟上。位姿与视频共享一条时间线,是因为传感器真的共享了时间,而不是事后脚本假设它们共享。
在公开样片上这意味着:
- 双目彩色 每目 1920×1200,30 fps,硬件同步双目
- 逐帧时间戳 100% 设备侧覆盖,无插值
- 帧间隔 中位数 = p99 = 最大值 ≈ 33.28 ms,0 帧超规
- IMU 约 300.48 Hz,每曝光窗 10 样本,18,050 连续样本,0 处间隔大于 10 ms
- 同一时间线上的逐帧 6-DoF 头部位姿
这份清单里没有任何一项需要从「我们目标是 30 fps」发明时间。间隔统计是对设备实际行为的测量。
FPS 回填(计算时间基准)
FPS 回填是相反操作。你有一串帧(或许还有另行记录的 IMU 或动作),却没有可信的逐帧设备时间戳——或覆盖不全——于是离线 填 时间:
- 对标称 fps 使用
t_i = t_0 + i / fps - 对缺失戳做线性插值
- 录制后再用最近邻软对齐双目或 IMU
- 重编码、裁剪或拼接 episode 后重新打戳
结果列仍可能叫 timestamp。加载器仍可能画出整齐的 33.3 ms 网格。对 VLA 训练而言,该列不是时间真相的证据,而是关于时序的假设。若真实采集掉帧、漂移、暂停或软同步双眼,回填会把这些事件藏在均匀时钟后面。
因此,说数据集是「30 fps」,与说「时间戳是记录的」,回答的是不同问题。标称速率是采集目标;记录时间戳是审计轨迹。
为什么 VLA 与模仿学习在意这个差别
现代 VLA 与行为克隆栈会把动作预测条件在短视觉历史、语言,以及常常还有本体感觉或 IMU 上下文上。训练目标隐含假设:相邻帧由已知 Δt 分隔,双目对共享同一曝光瞬间,IMU / 位姿样本落在它们声称描述的曝光窗内。
当这些假设成立,时间导数(光流代理、头部角速度、动作速度)与演示物理对齐。当时间基准被回填,若干失效模式会出现——往往不会伴随响亮的训练崩溃。
1. 虚假动力学与错误动作时序
若掉帧被回填成均匀的 33.3 ms 步进,策略看到的运动在墙钟时间上比标签暗示的更快——或更慢,若重复/拉伸间隔被抹平。模仿于是学到错误的「视觉变化 → 动作幅度」映射。在富接触任务(接线、补货、插入)上,表现为接触偏早/偏晚与脆弱 rollout,即便离线动作 MSE 看起来不错。
2. 只在元数据里「同步」的双目
硬件同步双目意味着左右共享曝光触发。软同步或事后配对仍可在回填后挂在同一时间戳下交付。深度、三角测量以及任何作为 VLA 上下文的立体特征,于是混入两个略有不同的瞬间。当标定产物随数据交付时,残差指标有助于发现这一点:公开样片报告基线 ≈ 60.7 mm、Sampson 中位数 0.166 px、立体重投影 0.800 px、内点 15,811,以及标定产物 K、KB4、R1/R2、P1/P2、Q、IMU↔相机外参与 标定版本。没有记录时间基准的几何 QA 仍无法证明双目对的时间重合——但硬件同步 + 记录戳 + 残差合在一起,构成 FPS 回填更难轻易伪造的连贯故事。
3. 虚构时钟上的 IMU / 位姿融合
第一视角演示把头部运动与图像紧耦合。公开样片的 IMU 连续性(~300.48 Hz,每曝光窗 10 样本,18,050 连续样本,0 处间隔 >10 ms)只有在这些样本与帧落在同一条记录时钟上时才有用。回填视频时间却把 IMU 留在另一条日志时钟上——或把两者都插值到合成网格——会产生虚假滞后或超前。条件在 6-DoF 头部位姿上的策略于是学到虚假相关:「头看起来像这样时,手应那样做」,而位姿与像素之间的 Δt 是错的。
4. 重采样下的静默训/评偏移
团队常把演示重采样到固定训练 fps。有记录时间戳时,重采样是对真实间隔的刻意、可审计变换。有了 FPS 回填,重采样会叠加虚构:你在重采样一个从未存在过的均匀网格。分布内看起来稳定的基准,仍可能在面对不会原谅编造时序的真实机器人时钟时失败。
5. 不可复现的调试
当策略在接触事件上失败,工程师会问:接触前 100 ms 人做了什么?记录时间戳用设备时间回答。回填戳回答的是「导出器当时假设了什么」。这一差别决定你能否信任下一轮数据迭代中的 episode 手术、片段标签与多速率融合。
这些模式都不需要恶意。它们是把速率标签当作时间基准的常态副作用。
如何验证:在公开数字上做 verify_timing 式检查
你不必采信供应商的「同步 30 fps」口头保证。对照可度量分布做时序验证。公开样片的规模让这些检查具体可做。
帧间隔审计
- 加载 EP001 与 EP002 的每一帧时间戳(4,914 帧;合计 163.47 s)。
- 计算相邻间隔 Δt。
- 报告 中位数、p99 与 最大值。在本样片上三者同为 ≈ 33.28 ms,0 帧超规。
- 拒收中位数像 33.3 ms 但 p99/最大值爆开的批次——这是标称速率叙事叠加真实抖动,或修补掉帧的经典签名。
中位数/p99/最大值相同,是设备确实稳住周期的有力证据;FPS 回填可以强行做出漂亮中位数,除非你检查尾部,否则会掩盖异常。
覆盖与来源
- 要求 100% 帧携带设备侧时间戳。
- 禁止把插值作为主时间列的交付方式。
- 确认双目是 硬件同步,而不只是「后期对齐」。
若供应商无法声明「记录的,不是计算的」,在证明之前把时间列当作回填。
相对同一时钟的 IMU 连续性
- 测量 IMU 速率(样片上约 300.48 Hz)。
- 统计每曝光窗样本数(10)。
- 扫描间隔:样片显示 18,050 连续样本与 0 处间隔 >10 ms。
- 确认 6-DoF 头部位姿按该时间线逐帧交付。
靠插值「愈合」的缺口对融合物理仍是缺口;硬性「0 处间隔 >10 ms」门保持时间基准诚实。
Schema 加载作为门,而非感觉
以 LeRobot v3 交付,可通过 LeRobotDataset() 加载,并通过 Physical-Intelligence/pi-data-sharing 检查。只存在于定制 parquet 分支的时间列,容易在一次性导出里「修好」;schema 门让记录时间字段成为可验收产物的一部分。
时序之外的几何包
交付 K、KB4、R1/R2、P1/P2、Q、IMU↔相机外参与 标定版本。时序证明何时;标定证明何处。提升立体或融合 IMU 的 VLA 栈两者都需要。样片的 Sampson 0.166 px、重投影 0.800 px 与内点 15,811 是时序门的数值 QA 伴侣——不是替代品。
最小 verify_timing 式脚本于是是:加载 LeRobot v3 → 间隔直方图 → 断言中位数/p99/最大值与超规计数 → 断言时间戳覆盖与无插值标志 → IMU 间隔扫描 → 可选立体残差点检。通过/失败优于宣传册上的 fps。
SOW 里写什么,才不会误买回填
可粘贴表述,镜像公开样片:
- 双目 RGB 每目 1920×1200,30 fps,硬件同步双目。
- 帧间隔:中位数 = p99 = 最大值 ≈ 33.28 ms;0 超规。
- 时间戳:100% 设备侧,无插值——记录的,不是计算的。
- IMU ≈ 300.48 Hz,每曝光窗 10 样本,连续流 0 处间隔 >10 ms,外加逐帧 6-DoF 头部位姿。
- 标定产物 K / KB4 / R1/R2 / P1/P2 / Q / IMU↔相机 及版本;几何残差在适用处达到或优于公开参照规模。
- 以 LeRobot v3 经
LeRobotDataset()交付,通过 pi-data-sharing 检查。
这些条款不会给「30 fps」发明第二种含义。它们把速率目标与时间基准完整性分开。
下一步
若你的 VLA 或模仿管线假设帧间存在真实 Δt,请把 FPS 回填视为与设备记录时间戳不同的产品类别。自行核验公开样片:EP001 与 EP002,4,914 帧,163.47 s,LeRobot v3,CC BY-NC 4.0,Hugging Face:tatezhou/ego-stereo-cn-v1。产品与样片上下文:https://10khoursdata.com。时序门或 SOW 表述问题:tate@10khoursdata.com。
给采购与研究负责人的短版:标称 fps 是采集设置;记录时间戳才是证据。 对 VLA 训练而言,只有后者才是时间基准。
10K HoursData — 第一视角双目人类演示数据,时间戳是记录的,不是计算的。