微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 互联网上有几亿条人类动手做事的视频,机器人却还在为几百条示范数据发愁

互联网上有几亿条人类动手做事的视频,机器人却还在为几百条示范数据发愁

2026-09-28 13:46
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-09-28 13:46 • 科技行者

你有没有想过,YouTube 上那些切菜、拧瓶盖、织毛衣的视频,其实是一座没人挖过的金矿?

机器人学习这件事,一直卡在一个很朴素的矛盾上。你想让一个机器手学会拧瓶盖,最直接的办法是找人示范几百次,用遥操作设备手把手教。可这种数据太贵了,一个任务收集几百条演示动辄要花几天甚至几周,而现实世界里值得机器人学的任务成千上万,从拧螺丝到织毛衣到剥橙子,根本收不完。这就是所谓的长尾问题。

长尾问题:现实任务的分布像一条长长的尾巴,少数常见任务占了大部分数据,但绝大多数任务只在尾巴末端零星出现,传统数据收集方式很难覆盖到这些稀疏但真实存在的场景。

于是有人想到一个看似很自然的主意:既然人类每天都在网上传自己做饭、修东西、手工的视频,能不能直接从这些视频里"抠"出可用的示范动作,喂给机器人?这个想法并不新鲜,但真正做起来会发现一个大坑:视频里的手在动,可摄像机角度千变万化,有人从正面拍,有人从侧面拍,有人手被桌子挡住一半,画面里的场景更是五花八门。你要是单纯比较画面像不像,很容易被表面的视觉相似性骗了。两个视频看起来风马牛不相及,比如一个人在厨房切菜、另一个人在工作台钻孔,它们手部的运动轨迹可能高度相似;反过来,两段视频背景几乎一样,动作却可能完全不同。

这就是这篇论文要解决的核心问题:如何让机器只凭"手在三维空间里怎么动"这一件事,就能从海量互联网视频里挑出真正管用的示范,而不被摄像机角度、场景外观这些干扰项带偏。

研究团队给这套系统起名叫 RoboTok,一个持续运转的互联网级数据引擎。你给它一段人类做某个动作的查询视频,它会从索引好的海量网络视频库里,返回一批手部运动模式最相似的片段,供机器人策略训练使用。

为什么不能直接比"看起来像不像"

先说说过去的人是怎么做这件事的。

有一类方法叫 FlowRetrieval,靠光流信息去匹配动作相似的演示,但它只能在固定的机器人数据集里检索,没法直接用人类视频当查询。

光流:视频里相邻两帧之间像素移动的方向和速度场,常被用来粗略估计画面中物体或手部的运动趋势。

还有一类叫 STRAP,用视觉基础模型提取的图像特征做动态时间规整对齐,来找机器人子轨迹,但它同样局限在特定机器人语料库里,没有显式的运动表征。另一个叫 HAND 的方法则更进一步,先靠视觉相似度筛选自采集的机器人玩耍数据,再匹配二维的手部和机械臂末端路径,但它依赖固定的自采数据,而且只用了二维图像空间的运动信息,没有真正的三维手部姿态。

这些方法有个共同的短板:它们要么依赖某个固定的机器人数据集当"素材库",没法真正对接开放的互联网视频;要么用的是图像空间里的二维运动线索,摄像机一转视角,同一个动作在画面上的轨迹就完全变了样。这就像你想认出两个人走路姿势是不是一样,结果你比较的却是他们在监控录像里投在墙上的影子,一旦摄像头位置变了,影子的形状也全变了,你压根没法判断这两个人走路姿势到底像不像。

真正该比较的是三维空间里手腕、指节实实在在的运动,而不是它们投影到某个摄像机平面上产生的二维痕迹。RoboTok 的核心洞察正是这一点:手部动作只有换算到一个以人体为中心的参考系里,才具备可比性。

把手的动作"钉"在身体上:以人为中心的坐标系

具体怎么做?RoboTok 先从 Action100M 这个大型互联网视频语料库里筛选候选片段。

Action100M:一个已经预先筛选出包含人类动作内容的大规模互联网视频数据集,为后续研究提供了原始素材来源。

筛选标准很实际:片段长度控制在4到8秒,摄像机基本静止不晃动,画面里最多出现一左一右两只手,避免多人多手造成混乱。筛完之后,团队用一个叫 WiLoR 的模型以每秒5帧的频率提取三维手部关键点,一共21个关节点。

但这里有个技术细节值得展开说说。WiLoR 重建出来的手部姿态是在所谓"弱透视相机模型"下得到的,简单说就是没有真实的深度尺度信息,你没法知道这只手到底离镜头多远。于是团队又引入了 MoGe-2 模型来估计真实的度量深度,把手部姿态转换到有真实物理尺度的相机坐标系里。中间遇到遮挡、检测缺失的地方,再用 HaWoR 模型把断掉的轨迹补全。

做到这一步,你得到的是一串挂在相机坐标系下的三维手部轨迹,看似已经很完整了,但依然没法直接跨视频比较,因为不同视频的相机架设方式完全不同。这时候最关键的一步来了:团队训练了一个轻量级模型,只靠观察到的手腕运动轨迹,就能反推出这个人的躯干大概朝向哪个方向、处于什么姿态,即便视频里压根看不到这个人的身体,只露出一双手在忙活。

这个设计非常巧妙,因为很多网络视频,尤其是那种第一视角或近景手工教程,往往只拍到手和操作台,身体根本不入镜。如果 RoboTok 死板地要求必须先看到完整人体才能确定参考系,那能用的视频数量会大打折扣。反过来想,如果你去五金店问一个正在修锁的老师傅"你现在肩膀朝哪个方向",他可能会愣一下,但只要你看他两只手怎么配合、怎么用力,其实就能猜出他身体大致的朝向和站姿,不需要非得看到他整个人。RoboTok 这个躯干估计模型干的就是类似的事,从手的动作反推身体的参考系,这样即便原始视频只拍到手,也能把动作"钉"进一个统一的、以人为中心的坐标系里,不同视频之间才终于有了可比较的共同尺子。

这个模型的训练借鉴了 EgoInfinity 项目的做法,并适配到 SMPL-H 人体模型上。

SMPL-H:一种参数化的人体和手部三维形状与姿态表示模型,常用于从视频或传感器数据中重建逼真的人体动作。

有了这套以人为中心的坐标系,剩下的问题就变成了:怎么衡量两条轨迹到底像不像。

用动态时间规整当"标准答案",训练一个能快速检索的模型

轨迹之间的相似度,论文选用了一种叫动态时间规整(DTW)的经典算法。

动态时间规整(DTW):一种比较两个时间序列相似度的算法,它允许序列在时间轴上局部拉伸或压缩,从而能够对齐执行速度不同但动作本质相同的两段序列,比如一个人切菜切得快、另一个人切得慢,DTW依然能把对应的动作阶段匹配起来。

这就好比你听两个人唱同一首歌,一个唱得快一个唱得慢,你不会因为节奏不同就认为这是两首不同的歌,你会自动在脑子里把慢的地方拉长、快的地方压缩,去对比旋律本身像不像。DTW 干的就是这件事,只不过对象换成了手部姿态序列。

问题是,DTW 计算量很大,如果每次检索都要拿查询视频和数据库里几十万条轨迹逐一算一遍 DTW,那互联网级别的检索根本跑不起来。于是团队想了个办法:先用 DTW 在训练阶段算出一批"标准答案",也就是哪些轨迹彼此相似、哪些不相似,然后训练一个轻量级的编码器,让它学会把相似的轨迹映射到向量空间里离得近的位置,不相似的推开。

这个编码器由一个positional encoding配合轻量级的交叉注意力网络构成,把每条轨迹压缩成一个归一化的向量。训练时用的批次构造也很讲究,不是随机抽样,而是围绕每个锚点轨迹,取它按 DTW 排名前20的近邻中挑两个当正样本,再挑一个刚好排在前20名之外的当"边界负样本",这样模型学到的不是笼统的"像不像",而是精确到排名边界的细腻区分。

训练目标结合了两种损失:一种叫集合损失,确保真正相似的轨迹分数排在前面;另一种叫排序损失,确保这些相似轨迹内部的相对顺序也和 DTW 给出的排名一致。

有了这个训练好的编码器,检索这件事就被彻底简化了。数据库里所有轨迹只需要提前过一遍编码器,算出向量存起来,之后新来一条查询视频,只要编码一次,再做个余弦相似度的最近邻搜索就行,完全不用再现场跑 DTW。这就像图书馆提前把每本书按内容编了索引号,你要找书直接查索引号定位,而不是每次都把全馆的书翻一遍去比对内容。如果没有这套编码索引机制,RoboTok 面对上百万条视频轨迹时根本没法做到"实时检索还能持续扩容",新视频来了也只需要过一次编码器就能直接加入索引库,不需要重新训练整个系统。

检索质量到底好不好:数字说话

团队在两个语料库上做了评测。第一个是 RoboTok 自己的训练语料库,10000条留出的视频作为查询,剩下近10万条当候选池;第二个是外部数据集 AssemblyHands,包含831条带传感器级三维手部标注的双手装配视频,用来测试跨数据集的泛化能力。

结果相当悬殊。在 RoboTok 语料库上,用 mAP@20 这个指标衡量,也就是排名前20的检索结果里有多少是真正相关的、并且排序合理,RoboTok 得分是0.3531,而此前表现最好的基线方法 STRAP 只有0.0071,差了将近50倍。Recall@20 更夸张,RoboTok 达到0.996,几乎每次查询都能在前20个结果里找到真正相似的轨迹,而 STRAP 只有0.12左右。

用 DTW 对齐代价这个更直观的指标来看,RoboTok 检索出来的前20个结果平均对齐代价是1.333米,而理论最优(也就是真实的 DTW 排名前20)是1.145米,只高出16%,说明 RoboTok 找到的已经非常接近理论上限了;而随机抽取的对照组对齐代价高达4.776米,差了三倍多。

在完全没见过的 AssemblyHands 数据集上,RoboTok 依然领先所有指标,mAP@5 达到0.261,是第二名 STRAP(0.133)的近两倍。这说明这套方法不是死记硬背了训练语料库里的特定模式,而是真正学到了跨数据集通用的运动相似性判断能力。

有意思的是,虽然训练时只优化了局部前20名的排序,论文里的图表显示,这套嵌入空间在更大范围(比如前100、前500个近邻)里依然保持了良好的组织结构,这说明模型学到的不只是死记硬背的局部规律,而是某种更普遍的运动表示。

检索出来的数据到底有没有用:机器人策略训练实测

光是检索得准还不够,最终要看这些检索出来的人类视频,能不能真的帮机器人学会干活。

团队在 VTDexManip 这个灵巧操作仿真基准上做了测试,涵盖拧瓶盖、拧水龙头、扳杠杆等任务。训练时不用任何机器人示范或动作标签,用的是强化学习算法 PPO,检索到的人类演示只通过奖励函数间接影响策略学习:如果机器人当前的手部状态和检索到的示范库里的状态越接近,就获得额外的引导奖励。

PPO:一种常用的强化学习优化算法,通过限制每次策略更新的幅度来保证训练过程稳定,广泛用于机器人控制和游戏智能体训练。

在原始的 VTDexManip 任务设定下,RoboTok 引导的策略在六个任务里的五个上超过了此前报告的最佳预训练基线,平均在已见物体上领先7.45%,未见物体上领先5.83%。

但真正拉开差距的是团队自己加难的版本。他们把手部运动从原本受限的固定姿态改成完全自由的三维控制,同时去掉了大量人工设计的密集奖励塑形,这样一来任务的探索难度大幅提升,更接近真实世界里那种没有人为简化的复杂场景。在这个更难的设定下,拧瓶盖任务上 RoboTok 达到77.3%的成功率,比第二名 HAND 方法高出17.8个百分点;拧水龙头任务上 RoboTok 是44.8%,比第二名高38个百分点;扳杠杆任务上 RoboTok 达到79.3%,比第二名高出接近60个百分点。这种差距不是小打小闹的优化,而是量级上的领先,说明当任务变难、奖励线索变少的时候,检索到的示范质量高不高,直接决定了策略能不能学会。

这就好比两个学生准备考试,一个手里的复习资料是精挑细选、和考试内容高度对应的真题集,另一个拿到的是随便找来的、题型对不上的习题册。平时小测验难度不大,两人成绩可能差不了太多,但一旦遇到真正的难题,能不能靠平时练的那份资料把思路迁移过来,差距立刻就显现出来了。

写在后面

读完这篇论文,最让我意外的其实不是检索准确率的数字有多漂亮,而是那个"只靠手腕轨迹反推躯干朝向"的设计。这是一个很反直觉的取舍:明明看不到人的身体,却硬是要去估计一个身体坐标系。换个思路想,这其实是在承认一个现实,互联网上绝大多数手部操作视频根本不会完整拍到人,与其等一个从来不会出现的完美数据,不如换个办法从已有的信息里挖出等价的东西。这种"用手推身体"的思路,某种程度上和人类自己理解他人动作的方式很像,我们看别人做事,很少真的先确认对方身体朝向再判断动作,而是动作本身就已经暗含了身体的信息。

另一个值得琢磨的地方是,RoboTok 在检索质量评测上赢得非常干脆,但在最难的机器人任务里,比如未见物体上的拧水龙头,成功率也只有10.9%,虽然比基线的几乎为零好太多,但离真正可用的水平还有相当距离。这说明检索这件事解决的是"找到相关数据"的问题,但找到之后怎么用好这些数据、怎么从模仿人类动作过渡到机器人真正稳健的操作策略,仍然是一段没走完的路。

论文最后提了一句,未来要把这套方法扩展到带移动摄像机的视频,包括第三人称和第一视角的演示。这句话背后其实藏着一个更大的野心:如果这套系统真能做到不挑摄像机、不挑视角、持续从整个互联网抓取新视频自动扩容,那机器人学习的数据来源可能就不再是那个需要人工采集、永远补不完的长尾清单,而是一条随着互联网本身增长而不断变大的活水源头。这个设想能走多远,还得看后续有没有人真的把移动摄像机这个坑填上。

Q&A

Q1:RoboTok是什么?

A:RoboTok是一个互联网级别的数据引擎,给定一段人类操作演示视频作为查询,它能从海量网络视频中检索出手部运动模式相似的片段,为机器人灵巧操作策略训练提供示范数据。

Q2:RoboTok和STRAP、HAND这些方法比起来有什么不同?

A:STRAP和HAND依赖固定的机器人数据集或二维图像运动线索,而RoboTok直接用三维手部轨迹在以人为中心的坐标系下比较动作相似度,不受摄像机视角和场景外观干扰,检索准确率上大幅领先这些基线方法。

Q3:RoboTok检索到的人类视频真的能帮机器人学会操作任务吗?

A:能。在更难的仿真任务设定下,RoboTok引导的强化学习策略在拧瓶盖、拧水龙头、扳杠杆等任务上成功率大幅超过其他检索方法,部分任务领先幅度接近60个百分点。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-