ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

具身智能Ego训练数据验收指南:从时间同步到VLA模型实测的完整检查清单

具身智能Ego训练数据验收指南:从时间同步到VLA模型实测的完整检查清单

具身智能这波浪潮起来之后,Ego 视角训练数据的采购成了很多团队绕不开的一环。自己做采集?一套多传感器硬同步设备加上采集人员、场景协调、标注清洗,周期长、成本高,而且很多长尾场景根本覆盖不到。所以越来越多团队选择直接向数据供应商采购现成的 Ego 训练数据,尤其是面向 VLA 模型训练的那种第一人称操作数据。但问题来了:钱花出去了,数据拿到手,怎么判断这批货到底值不值?验收环节如果只看供应商给的几页说明文档,后面训练时模型不收敛、动作抖动、时序错乱,回头再扯皮就晚了。这篇就聊聊我在实际验收 Ego 训练数据时踩过的坑、总结的检查清单,以及那些供应商不会主动告诉你的细节。不管你是刚接触具身智能数据采购的新人,还是已经踩过几次坑的老手,下面这些内容应该都能帮你少走弯路。

1. 先搞清楚你买的到底是什么类型的数据

验收的第一步不是打开文件看,而是回到采购合同和技术协议,把数据的类型定义对齐。Ego 训练数据这个词太宽泛了,不同供应商给的东西可能完全不是一回事。我见过最离谱的情况是,采购方以为买的是带动作标签的第一人称操作轨迹,结果供应商交付的是一堆纯视频片段,连时间戳对齐都没做。

1.1 Ego 视角数据的三种常见形态

从目前市场上的供给来看,Ego 训练数据大致分三类。第一类是纯视觉流数据,就是头戴设备或眼镜相机拍的第一人称视频,可能带 IMU,但没有手部姿态和动作标签。这类数据适合做视觉表征预训练,但直接拿来训 VLA 模型是不够的。第二类是视觉加手部姿态数据,视频流配上手部关键点或 MANO 参数,能还原操作动作,这是目前 VLA 训练最主流的形态。第三类是全模态数据,在第二类基础上再加深度图、点云、力触觉、眼动等模态,适合做多模态融合研究。

验收时你要对照合同确认:交付的是哪一类?模态清单是否完整?每个模态的采样率是多少?这些参数直接决定了数据能不能用在你当前的训练流程里。比如你的 VLA 模型输入需要 30fps 的 RGB 加手部姿态,供应商给的是 15fps,那要么降采样你的模型输入,要么做帧插值,都是额外的工程成本。

1.2 数据格式与你的训练管线是否兼容

格式问题看似小事,实际验收时经常翻车。常见的 Ego 数据交付格式有 ROS bag、HDF5、LeRobot 数据集格式、以及自定义的文件夹结构加 JSON 标注。ROS bag 适合原始传感器流,但解析需要 ROS 环境;HDF5 适合大规模数值存储,读取效率高;LeRobot 格式是近两年社区推的比较多的,和 HuggingFace 生态衔接好。

我个人的建议是,在采购前就明确要求供应商按你现有训练管线的格式交付,或者至少提供格式转换脚本。如果供应商说"我们只出 ROS bag,你们自己转",那验收时你就要额外花时间验证转换后的数据是否丢帧、时间戳是否还对得上。这个转换工作量往往被低估,一个中等规模的数据集转格式加校验,两三个人干一周很正常。

1.3 场景与任务分布是否匹配你的目标

数据类型对了,还要看内容分布。Ego 数据的价值很大程度上取决于场景多样性。如果你要训的是厨房操作相关的 VLA,结果供应商给的数据 80% 是桌面抓取和摆放,那这批数据的实际可用比例就很低。验收时要让供应商提供任务分布统计表,包括场景类别、操作对象类别、动作类型、每类的片段数量和总时长。

这里有个经验:不要只看供应商给的统计表,要自己抽样统计。我遇到过统计表写"厨房场景占比 35%",实际抽样 200 个片段发现只有 12% 是真正的厨房操作,剩下的是在厨房桌子上做别的任务。统计口径的差异很常见,自己抽一遍心里才有底。

2. 时间同步与传感器对齐:Ego 数据最容易出问题的地方

Ego 数据和多传感器硬同步触发是绕不开的技术点。第一人称采集设备通常同时跑 RGB 相机、深度相机、IMU、手部追踪模块,这些传感器的时钟源如果不统一,后期对齐就是灾难。验收时这一块必须重点查,因为它是隐性问题,不跑训练根本发现不了。

2.1 检查时间戳的单调性与一致性

拿到数据后第一件事,写个脚本把所有模态的时间戳拉出来,检查三件事:时间戳是否单调递增、不同模态的时间戳范围是否一致、相邻帧的时间间隔是否稳定。单调性出问题通常意味着采集时时钟回拨或者数据拼接时顺序错了。范围不一致说明某些模态可能中途掉线或者起止时间没对齐。

时间间隔的稳定性尤其重要。RGB 标称 30fps,实际间隔应该在 33ms 左右波动,如果出现大量 100ms 以上的间隔,说明采集时丢帧严重。我一般会统计间隔的分布,看 P95 和 P99 的值,如果 P99 超过标称间隔的 3 倍,这批数据就要打问号了。

2.2 跨模态对齐精度的验证方法

光看时间戳还不够,要验证实际对齐精度。一个实用的方法是找数据里的快速运动片段,比如手快速挥动或者物体被快速拿起放下的时刻,然后检查 RGB 帧和手部姿态数据在这个时刻是否同步。如果手部姿态比 RGB 慢了三四帧,视觉上就是手已经到位了但姿态数据还在半路,这种数据训出来的模型动作会有延迟感。

更严格的做法是用硬件同步信号验证。有些采集设备会记录一个同步触发信号,所有传感器在这个信号到来时同时采样。如果数据里带这个信号通道,直接检查各模态在触发点附近的对齐情况就行。如果没带,就只能靠运动片段做定性判断,精度会差一些。

2.3 丢帧与补帧的处理策略

丢帧在 Ego 数据采集里几乎不可避免,关键是供应商怎么处理的。有的供应商直接丢弃丢帧的片段,有的做插值补帧,有的原样保留。验收时要问清楚处理策略,并且抽样检查。插值补帧的数据要特别小心,因为插出来的帧在视觉上可能看不出问题,但动作标签如果是插值来的,物理合理性就存疑了。

我的做法是要求供应商在数据里标注每帧的来源:原始帧、插值帧、还是重复帧。这样训练时可以给插值帧更低的权重,或者直接过滤掉。如果供应商不提供这个信息,验收时至少要用光流或者帧间差异做一遍检测,把异常帧标出来。

3. 动作标签与语言标注的质量核查

VLA 模型训练对动作标签和语言指令的质量要求很高。动作标签不准,模型学出来的动作就是歪的;语言标注和动作不匹配,模型就无法建立语言到动作的正确映射。这一块是验收的重头戏,也是最耗时间的部分。

3.1 手部姿态数据的精度与连续性

手部姿态数据常见的有三种表示:关节角度、关键点坐标、MANO 参数。不管哪种,验收时要检查精度和连续性。精度方面,可以找一些已知几何关系的动作来验证,比如手指捏合时指尖距离应该接近零,手掌平放时各关节角度应该在合理范围。如果数据里出现手指穿透手掌、关节角度超出物理极限的情况,说明追踪质量有问题。

连续性方面,主要看有没有跳变。手部追踪在遮挡时容易丢失,丢失后重新捕获可能产生位置跳变。验收时计算相邻帧手部姿态的差异,把差异超过阈值的帧标出来,看看这些帧是不是集中在遮挡场景。如果跳变帧占比超过 5%,这批数据的动作标签质量就堪忧了。

3.2 语言指令的粒度与多样性

语言标注这块,首先要看粒度。粗粒度的指令像"拿起杯子",细粒度的像"用右手拇指和食指捏住杯子把手,缓慢抬起至胸前"。VLA 训练通常需要中等偏细的粒度,太粗了模型学不到细节,太细了标注成本高且容易过拟合。验收时抽样看指令的平均长度、动词和名词的分布,判断粒度是否符合你的需求。

多样性也很关键。如果所有指令都是"拿起 X""放下 X""移动 X"这种模板化的表达,模型学到的语言理解能力就很有限。好的数据集应该有丰富的表达方式,包括不同的句式、同义词、甚至一些口语化的描述。我一般会统计指令的 unique 比例和词汇丰富度,作为多样性的粗略指标。

3.3 语言与动作的时序对齐

这是最容易被忽略但影响很大的点。语言指令是什么时候发出的?是动作开始前、动作过程中、还是动作结束后?指令对应的是整个片段还是片段中的某个子动作?这些对齐关系如果不清楚,训练时模型就不知道语言该对应哪段动作。

验收时要检查数据里有没有指令时间戳或者指令作用范围的标注。理想情况下,每条指令应该标注它对应的起始帧和结束帧。如果供应商只给了片段级的指令,那你要评估这种粗对齐是否满足你的训练需求。对于长片段多步骤的任务,片段级指令往往不够用。

4. 数据清洗与预处理的验收要点

供应商交付的数据通常已经过一轮清洗和预处理,但这一轮的质量参差不齐。验收时要把清洗流程问清楚,并且抽样验证清洗效果。有些供应商的"清洗"只是删了几个明显坏的片段,离真正可训练的数据还有距离。

4.1 无效片段与异常值的识别

无效片段包括:全黑或全白帧、严重模糊、相机被遮挡、采集设备剧烈晃动导致画面不可用等。验收时可以用简单的图像统计指标做批量筛查,比如计算每帧的亮度均值、方差、拉普拉斯算子响应,把异常帧标出来。然后看这些异常帧在数据里的分布,如果集中在某些片段,说明这些片段整体质量差。

异常值方面,动作标签的异常值要重点查。比如手部位置突然跳到画面外、关节角度出现 NaN 或无穷大、速度超过物理可能的上限等。这些异常如果不处理,训练时会导致梯度爆炸或者模型学到错误的动作模式。

4.2 隐私与敏感信息的处理

Ego 数据是第一人称视角,很容易拍到人脸、屏幕内容、个人物品等敏感信息。验收时要确认供应商是否做了隐私处理,比如人脸模糊、屏幕内容遮挡、敏感物品过滤。如果数据里还有清晰的人脸或者可识别的个人信息,这批数据的使用就有合规风险。

我一般会抽样看几百个片段,重点检查有没有人脸、有没有屏幕、有没有文字信息。如果发现未处理的敏感信息,要么要求供应商重新处理,要么自己在训练前加一道过滤。这个工作量不小,但合规问题不能省。

4.3 数据划分与泄漏检查

如果供应商已经帮你划分了训练集、验证集、测试集,验收时要检查划分是否合理。常见的问题是数据泄漏:同一个场景、同一个操作对象、甚至同一个采集 session 的片段被分到了不同的集合里。这样验证集和测试集的指标会虚高,实际部署时性能掉得厉害。

检查方法是看片段 ID 和 session ID 的分布。如果训练集和验证集里有相同 session 的片段,基本可以判定有泄漏。正确的划分应该按 session 或者按场景划分,确保不同集合之间的独立性。如果供应商没做 session 级别的划分,验收时要么要求重划,要么自己按 session 重新分。

5. 实测验证:用一小部分数据跑通训练流程

前面都是静态检查,最后一步是动态验证:拿一小部分数据,跑一遍你的训练流程,看能不能正常跑通、loss 是否正常下降、模型是否有基本的学习能力。这一步最能暴露隐性问题。

5.1 小规模过拟合测试

选 10 到 20 个片段,用你的 VLA 模型跑过拟合测试。正常情况下,模型应该能在这小批数据上快速过拟合,loss 降到很低,动作预测和 ground truth 基本吻合。如果连过拟合都做不到,说明数据本身有问题,比如标签和输入不对应、时间对齐错了、或者数据格式解析有误。

过拟合测试还有个作用:验证数据加载和预处理管线。有时候数据本身没问题,但你的 dataloader 解析错了字段,或者归一化参数用错了,也会导致训练异常。小规模测试能快速定位这类问题。

5.2 动作预测的可视化检查

过拟合之后,把模型预测的动作和 ground truth 做可视化对比。对于手部姿态,可以画关节轨迹曲线;对于末端执行器,可以画位置和姿态的时间序列。重点看预测和真值在时间上是否对齐、在幅度上是否一致。如果预测的动作整体滞后或超前,说明时序对齐有问题;如果幅度差很多,说明归一化或者标签尺度有问题。

可视化还能发现一些微妙的问题,比如模型学到了平均动作而不是条件动作。如果预测的轨迹很平滑但和真值差异大,可能是语言条件没起作用,模型在盲目输出。这时候要回头检查语言标注和动作的对应关系。

5.3 与供应商指标的交叉验证

供应商通常会提供一些质量指标,比如追踪精度、标注一致率等。验收时要用自己的测试结果和这些指标交叉验证。如果供应商说追踪精度 95%,但你实测发现 20% 的帧有明显跳变,那就要质疑指标的统计口径。常见的口径差异包括:只在追踪成功的帧上统计、排除了遮挡场景、用了宽松的阈值等。

交叉验证不是要否定供应商,而是要把实际可用性搞清楚。有些指标看起来漂亮,但实际训练时该出问题还是出问题。我一般会把自己的测试结果和供应商指标并列,差异大的地方重点排查,搞清楚是统计口径问题还是数据本身问题。

6. 验收文档与后续支持

验收不只是技术活,也是流程活。把验收过程文档化,既是对本次采购的交代,也是后续扯皮的依据。同时要明确供应商的后续支持范围,比如发现问题后的修复周期、补充数据的条件等。

6.1 验收报告的必备内容

验收报告至少包含:数据基本信息(规模、模态、格式、场景分布)、各项检查的结果(时间同步、动作标签、语言标注、清洗质量)、实测验证结果(过拟合测试、可视化对比)、发现的问题清单及严重程度、以及验收结论(通过、有条件通过、不通过)。

问题清单要具体,不能只写"部分数据质量不佳",要写清楚是哪些片段、什么问题、影响范围多大。有条件通过的情况下,要明确整改要求和复验标准。这份报告后面如果走到商务纠纷,就是最直接的证据。

6.2 供应商后续支持的谈判要点

采购合同里通常有质保期和售后条款,但具体到数据这种非标品,很多细节要单独谈。我建议明确这几点:发现质量问题后的响应时间、修复或补充数据的周期、修复后是否需要重新验收、以及如果问题严重到无法使用时的退款或换货条款。

还有一个容易被忽略的点:数据更新。具身智能发展很快,今天可用的数据半年后可能就不够用了。如果供应商后续有新增数据或者质量改进,老客户能不能以优惠条件获取?这个可以在合同里预留条款,避免后面重新走采购流程。

6.3 数据版本管理与复现性

最后提一个工程上的点:数据版本管理。验收通过的数据要打上版本号,记录验收时的各项指标和测试结果。后续如果供应商更新了数据,或者你自己做了清洗和筛选,都要有版本记录。这样模型训练结果才能复现,出了问题也能追溯到具体的数据版本。

我见过团队因为数据版本混乱,同一个模型在不同时间训练出完全不同的结果,排查了一周才发现是中间换了一批数据。这种坑完全可以通过版本管理避免。建议用 DVC 或者类似的工具管理数据版本,和代码版本对应起来。

数据采购的验收说到底就一句话:别信文档,信实测。供应商给的说明再漂亮,自己抽样跑一遍才知道真实水平。Ego 数据尤其如此,因为它的质量问题往往是隐性的,不跑到训练阶段根本暴露不出来。把上面这些检查点过一遍,虽然不能保证百分之百没问题,但至少能把大部分坑提前排掉。剩下的,就靠训练过程中持续监控和迭代了。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进