具身智能专题:人手视频能直接拿来训灵巧手吗?RoboTok把人手演示检索出来再训

(1)《三年面试五年模拟》AIGC / LLM / AI Agent 算法工程师与开发工程师求职面试秘籍,独家资源见 WeThinkIn/AIGC-Interview-Book,欢迎 Star!

(2)AIGC / LLM / AI Agent 算法岗与开发岗求职面试内推学习社群 ,涵盖 AIGC、LLM 大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI 等方向的最新面试干货与核心知识,欢迎加入(https://t.zsxq.com/33pJ0)!


论文标题:RoboTok: An Internet-Scale Data Engine for Human Demonstration Retrieval and Dexterous Manipulation Learning

论文作者:莱斯大学RobotPI Lab与NVIDIA

发表时间:2026年9月2日


目录

本文要点

(1)RoboTok是莱斯大学RobotPI实验室和NVIDIA在2026年9月发布的数据引擎,输入一段人的操作视频,从网络片段里找回手部运动相近的人类演示,用来训练灵巧手策略。

(2)10万条Action100M片段上mAP@20为0.353 ,Recall@20为0.996 ,最强基线STRAP只有0.007和0.12。

(3)做法上两点最值得看,只凭手腕轨迹估计躯干坐标系,以及用DTW监督去学一个可余弦检索的运动空间。

(4)短板在相机几乎不许动,公开材料停在10万条轨迹,项目页的真机结果还没放出来,双臂交接的未见物体上还输给随机检索。

(5)文末附GitHub README的训练命令和模型卡的权重加载写法。


莱斯大学RobotPI实验室和NVIDIA在2026年9月2日把RoboTok的技术报告挂上arXiv。我把HTML版、GitHub README和Hugging Face模型卡对着读了一遍,想看运动空间怎么学、查询时怎么搜。

机器人演示一直贵。Open X-Embodiment、DROID把平行夹爪的数据堆了起来,灵巧手和人手形态接近,缺的是覆盖长尾操作的人手运动。

RoboTok拿一段人的操作视频当查询,从网络视频里把手部运动相近的片段找回来,再拿去训灵巧手策略。

截至2026年9月16日,Hugging Face论文页有122个赞。

一、互联网人手视频检索框架

机器人学习吃演示。采一份新任务的真机数据贵,场景一换又得重采。从已有数据里检索相似片段,是近几年常见的省钱办法。

FlowRetrieval用光流找运动相近的演示,STRAP拿视觉基础模型特征做子轨迹匹配,HAND先按画面过滤再比二维手路径。这几家主要在固定的机器人语料里搜,操作对象也多是平行夹爪。

互联网上的人手视频每天都在长。HowTo100M、Action100M覆盖的物体、视角和动作,专门搭采集场很难铺到同样宽。麻烦在于,画面像不代表手在做同一件事。

报告自己写,据他们所知RoboTok是第一个专门从互联网人手视频里挖灵巧操作演示的检索框架。查询是人手视频,比的是躯干坐标系里的三维手轨迹。

二、跨视频手部姿态归一化

训练数据来自Action100M里已经筛过含人体动作的片段。再自动留下时长4到8秒、相机几乎不动、左右手各至多一只的片段,重叠时优先留长的。

最后拿到10万 条。其中1万条训练全程不碰,只当评测查询。

每段用WiLoR按每秒5帧估三维手关键点,MoGe-2补度量深度,缺的帧用HaWoR填上。得到的还是相机坐标系里的手,换个机位就对不上。

他们另训了一个很轻的躯干估计器,只吃两只手腕的轨迹,预测演示者一个静止的躯干坐标系。人被挡住也没关系,只要手还在。轨迹进了这个坐标系,才谈得上跨视频比运动。

三、DTW监督的余弦检索运动空间

DTW是动态时间规整。两条手部轨迹快慢不同,它先把时间轴拉开再累加姿态距离,得到运动有多像的分数。

理想检索就是按这个分数取最近的K条。对10万条每条都算一遍,查询时扛不住。

他们把DTW当成离线老师,训一个轻量编码器,把轨迹映到单位球面上,让内积大小尽量保住DTW给出的远近次序。查询时变成余弦近邻。新片段过一次编码器就能进索引,不必重训。

语料10万条,随机抽一个196的批次几乎碰不到DTW意义上的近邻。他们按锚点组批,每个锚点取DTW最近的20条当相关集。

从里面抽2个正例,再在相关集外侧紧挨着抽1个难分的反例,49组凑满196。损失是集合项加排序项,前者管谁该进邻域,后者管邻域里谁该排前面。

模型卡把编码器写清楚了。输入形状是[T, 126],21个关节乘三维坐标乘两只手,最长42帧,一层4头交叉注意力,压成256维向量。检索权重11MB,躯干估计器9.9MB。

四、Action100M上mAP@20达0.353

评测有两份语料。一份是上述10万条里留出的1万条查询,相关集定为DTW最近的20条,这份没有传感器级真值,报告称为伪真值。

另一份是AssemblyHands的831条双手装配片段,带传感器级三维手标注,相关集定为最近的5条。

方法 语料mAP@20 语料DTW代价@20 AssemblyHands mAP@5 AssemblyHands DTW代价@5
Random 0.0000 4.776 0.0025 1.911
Flow 0.0004 6.612 0.0131 1.850
HAND 0.0009 4.528 0.0214 1.830
STRAP 0.0071 4.044 0.1330 1.304
RoboTok 0.3531 1.333 0.2614 1.095
GT上界 1.000 1.145 1.000 0.966

RoboTok的mAP@20是0.353 ,STRAP只有0.007。Recall@20是0.996,几乎每条查询都能在前20里捞到对应的DTW近邻。Kendall τ是0.487,说明捞回来的邻居次序也对得上。

DTW代价按米计。RoboTok前20的均值1.333米,真近邻1.145米,随机4.776米,比真近邻贵16%。Flow那一栏比随机还差,光流在这份三维轨迹任务上基本没帮上忙。

AssemblyHands上排序不变。mAP@5是0.261,STRAP是0.133。DTW代价1.095米,真近邻0.966米,比最优贵13%。这份标注更硬,差距收窄了,但仍压过所有对照方法。

报告表2里还列了Recall@k、nDCG@20、CKNNA@20,正文只留上面这些。定性例子是切菜刀,RoboTok按手轨迹找回相似切法,基线更容易被场景和物体带跑。

五、VTDexManip检索驱动策略

检索回来的片段得能帮上策略,数字才站得住。

他们在VTDexManip仿真里用PPO从头训。策略输入是本体感觉和指尖力,观察窗3步,不用相机画面。

检索片段只进奖励,没有机器人演示,也没有动作标签。方法之间的差别,只来自找回了哪些片段。

原始设定把手钉在固定位置,还配了稠密任务奖励。报告说这个设定已经饱和。六项任务里RoboTok在五项上超过该基准最好的预训练基线,见物体平均高出7.45%,未见物体高出5.83%。

输的两项值得单独记。桌面重定向的见物体上,VT-JointPretrain是85.0,RoboTok是82.6。双臂交接的未见物体上,随机检索是42.1,RoboTok是34.8。

他们又改了三项更依赖手腕运动的任务,放开三维手部位移,去掉大量稠密奖励。八个随机种子,每个物体试100次。

下面只写均值,标准差见报告表5。

任务 划分 Base HAND STRAP RoboTok
拧瓶盖 见物体 0.1 59.5 59.0 77.3
拧瓶盖 未见物体 0.0 27.0 25.0 38.1
拧水龙头 见物体 1.0 6.8 0.0 44.8
拧水龙头 未见物体 1.7 2.6 0.0 10.9
拨杆滑动 见物体 0.8 19.5 8.4 79.3
拨杆滑动 未见物体 2.1 25.2 6.5 58.3

困难设定上差距才拉开。拧瓶盖见物体77.3% ,比HAND高17.8个百分点。拧水龙头见物体44.8%,HAND只有6.8。拨杆滑动见物体79.3,HAND是19.5。

未见水龙头仍只有10.9,检索能把探索从接近零拉起来,泛化还远没做完。

项目页写着真机视频和真机数字即将放出。报告正文没有真机成功率,这一项按未报告处理。

六、本地部署与推理实践

以下两段分别来自GitHub README和Hugging Face模型卡。

仓库说明依赖装好后进入retrieval_training训练,配置路径相对仓库根目录,也可用ABMR_PROJECT_ROOT改根。

CUDA机器把faiss-cpu换成faiss-gpu。DTW核是numba的CUDA实现,需要GPU。

留出划分是按片段做的随机切分,同一视频的不同片段可能分到两边,README让去config.py看这条提醒。仓库默认配置里batch_size是210,论文正文写的是196,复现时以仓库为准。

bash 复制代码
pip install -r requirements.txt
cd retrieval_training
python train.py --config configs/default.yaml
python -m pytest tests/ -q

轨迹文件要放到outputs/training_data/depth_grounded_clip_keypoints.pt。模型卡上这份eval_data/torso_relative_clip_keypoints.pt是6.5GB。train.py第一次跑会按设计把轨迹和DTW邻居缓存算出来。

加载已有权重复用模型卡示例。

python 复制代码
import torch

ckpt = torch.load("models/best_abs_retrieval_model.pt", map_location="cpu", weights_only=True)
ckpt["head_state_dict"]   # encoder weights
ckpt["config"]            # full training configuration

vn = torch.load("models/body_pose_est.pt", map_location="cpu", weights_only=True)
vn["model"]               # torso estimator weights

代码仓库是MIT。检索权重和轨迹点是Action100M的衍生材料,走FAIR非商业研究许可,模型和由它们得到的结果都限非商业研究。管身体的MANO和SMPL-H没随包提供,要自己去MPI-IS登记。

七、总结与思考

把网络人手视频当成可检索的运动库,比再搭一个采集场更对路。灵巧手缺的往往是某种拧、拔、交接在各种物体上的变体,这些变体人已经拍过了,缺的是按手怎么动把它们找回来。

躯干坐标系这个设计我买账。网络视频里人经常只露出一双手,按整段人体去归一化会直接废掉。只拿手腕去估一个静止躯干,等于承认查询条件很脏,这比很多实验室数据集诚实。

检索表要打折看。10万条语料上的真值就是DTW本身,编码器的训练目标也是复现DTW邻域,mAP从0.007跳到0.353,有一部分是在考自己出的题。

AssemblyHands有传感器级标注,那张表更硬一些。下游策略才是更像人话的证据,困难设定上HAND和STRAP几乎探不出拧水龙头,RoboTok能探到44.8%。

短板也明白。所谓互联网规模,公开出来的是过滤后的10万条近静态相机片段,查询时并没有去爬全网。结论里自己把移动相机列成下一步,第三视角和第一视角的晃动视频现在进不来。

公开产物是11MB检索器和6.5GB关键点,没有原始视频。你能复现的是在这份轨迹库上训练和检索,不能把RoboTok直接当成YouTube搜索框。

双臂交接未见物体上随机检索更高,说明运动近邻不等于任务近邻。仿真奖励还在追踪重定向后的手姿态,离用检索视频去训能看图的策略,中间还有一段没写完。


参考链接

相关推荐
商业看点解说1 小时前
小型创业团队开发 AI Agent 产品,哪些云平台可以降低模型接入与基础设施门槛?
大数据·人工智能
weixin_446260851 小时前
ReAct‑MCTS:蒙特卡洛树搜索增强的ReAct智能体用于长视界交互式任务
人工智能
子非鱼eva1 小时前
昇腾开源仓Issue分析解答-mindspore精选(三)·主仓与mindformers长尾收官
人工智能·ai·gitcode
roman_日积跬步-终至千里1 小时前
【AI Agent架构】AI Agent 架构设计核心思路
人工智能
霍格沃兹测试学院-小舟畅学1 小时前
我用 AI 把 Swagger 变成 500 条 pytest 用例,回归从 3 天到 3 小时
人工智能·测试工具
Dawson Zhu1 小时前
大模型 Agent 记忆系统五大技术路线解析与工程选型指南
人工智能·语言模型·架构·aigc·agi
AI砖家1 小时前
AI 编程面试 20 题:Codex、Claude Code 与 AI 工具使用全攻略
人工智能·语言模型·ai编程·claude·codex
H0311169851 小时前
移动应用数据平台资料整理:月狐数据、易观千帆、艾瑞咨询
人工智能
成为深度学习高手1 小时前
EMAformer:给Transformer披上嵌入铠甲增强时间序列预测
人工智能·深度学习·数据挖掘