当前位置: 首页 » 资讯 » 新科技 » 正文

EyeRobot 2.0:机器人不装腕部摄像头,靠"眼睛"也能穿针引线

IP属地 中国·北京 科技行者 时间:2026-10-31 00:20:45


你有没有试过蒙住一只眼睛,用筷子夹起桌上一粒芝麻?大概率会失败好几次。现在想象一个更难的场景:你的手腕上没有装任何摄像头,你唯一能依赖的,是远远架在头顶的一个固定摄像头,距离操作对象几十厘米。你要用这双"眼睛"精确地把一根吸管插进奶茶杯盖的小孔里。

听起来几乎不可能。但这正是加州大学伯克利分校和亚马逊FAR实验室的研究者们给自己设的难题,他们做出的机器人系统叫EyeRobot 2.0,最后真的让机器人完成了插吸管、给马克笔套帽、从工具箱里拎出扳手这类精细活,而且全程只用一个固定不动的立体摄像头,一个腕部摄像头都没装。

这件事的反直觉之处在于,过去几年几乎所有做双臂精细操作的机器人系统,都把摄像头焊在了机械手腕上。这不是偶然选择,而是行业共识:手跟着看,看到哪就能抓到哪,这几乎成了精细操作的标准答案。EyeRobot 2.0团队做的,恰恰是把这个标准答案拆掉,然后证明不用它也能做到一样好,甚至在某些情况下更好。

机械手腕上的摄像头,到底好在哪里又差在哪里

先说清楚为什么大家都爱用腕部摄像头。

机械臂去抓一个东西的时候,摄像头装在手腕上,意味着无论手伸到哪里,摄像头都跟着看哪里,视野永远对准操作目标,不会因为手伸远了就看不清。这对精细操作极其友好。

但这个方案有个隐藏成本,研究者们在论文里直接点出来了:抓起来的东西经常会挡住自己的摄像头。

设想你用手抓着一个不透明的大茶杯,手腕上的"眼睛"正好被茶杯杯身挡住了,这时候你还要靠这只眼睛去看准插吸管的那个小孔,几乎是瞎摸。论文里专门测试了这种场景,在抓取物体遮挡腕部摄像头的任务里(比如拿着奶茶杯找杯盖插孔、拿着锅盖去扣锅),装了腕部摄像头的系统成功率只有22%,而EyeRobot 2.0不依赖腕部视角,成功率达到48%,足足翻了一倍多。

腕部摄像头还有个更深层的代价:它把"看"和"动"死死绑在一起。机械臂设计师要在爪子旁边塞进一个摄像头模块,这会增加设计复杂度,容易被挡住视线,还会在快速运动时产生模糊画面,让机械爪子的造型没法做得更简洁。

那不用腕部摄像头,只靠一个固定的立体摄像头,会发生什么?

论文里也做了这个对照实验,叫作"无主动注视的纯立体视觉"方案:同样的固定摄像头,同样的数据,但机器人不会主动调整视线方向,只是被动接收摄像头拍到的画面。结果是,这种方案在真实世界任务里的成功率只有27%,而加上主动注视能力之后的EyeRobot 2.0能做到67%,差了整整40个百分点。

这说明问题不在于"要不要用固定摄像头",而在于固定摄像头能不能被用好。人眼睛也是固定在头上不动的,真正起作用的是眼球会转动去追踪目标这件事。

这就引出了整篇论文的核心创意:既然问题不是摄像头位置固定,而是视线不会动,那就让视线动起来。

让机器人学会"盯着看"这件事

人在做精细动作之前,眼睛会提前几百毫秒锁定目标,这个动作在视觉科学里叫注视。

注视*:眼睛持续聚焦在某一个三维空间点上的行为,是人类视觉系统分配注意力资源的主要方式。

你穿针的时候,眼睛不会漫无目的地扫视整个桌面,而是死死盯住针眼那个小点,大脑会把更多的视觉处理资源分配给这个焦点区域,周边的东西全都模糊处理掉。这种"该花精力的地方多花,该省的地方省"的机制,研究者认为对机器人同样有用。

EyeRobot 2.0 把这个机制搬到了机器人身上,核心概念叫主动视觉注视。

主动视觉注视(Active Visual Fixation,简称AVF):机器人物理地转动两个"眼睛"(也就是两个虚拟摄像机视角),让它们同时聚焦在场景里的同一个三维点上,这个点随着任务进展实时移动。

具体怎么实现的呢?系统用的是一对立体摄像机,两只眼睛之间有固定的距离差,就像人的两只眼睛一样,可以通过三角测量算出物体的距离。注视的时候,系统会计算需要往哪个方向转多少角度,让两只"眼睛"的视线交汇在目标点上,这个过程论文里叫视觉注视伺服。

视觉注视伺服:持续调整虚拟摄像机的朝向角度和聚焦距离,让两个视角的视线始终汇聚在同一个动态目标点上的控制过程,类似人眼球肌肉不断微调方向保持凝视。

这里有个技术难题:机器人没有真的眼球,摄像头是固定焊死的。那怎么让"视线"转动?

研究者的解法很巧妙:用立体相机拍到的原始画面,通过数学上的图像变形(warping),合成出"假装摄像头转过去之后应该看到的画面"。因为旋转一个相机的光学中心而不移动它的位置,在数学上只需要对图像做投影变换,不需要重建三维场景。这个技巧让系统可以用同一套静止的立体摄像头,既采集训练数据,又模拟出各种注视角度下的画面,而不需要真的装一堆可以转动的机械眼球。

想象一下,如果没有这个合成技巧,要训练一个会转动视线的机器人,你得先造出真的能转的眼球硬件,然后每次想让机器人学习"如果我往左看会发生什么",都要物理地转一次摄像头,再采集一遍数据。这个成本高到不可接受。而这里的做法是,拿已经录好的静止画面,在电脑里"伪造"出转头之后的效果,相当于用一台固定的监控摄像头录像,事后用软件模拟出摇头特效的画面,训练数据的采集效率因此被彻底解放。

两层大脑:低层管"怎么看",高层管"看哪儿"

光会转动视线还不够,机器人还得知道该看哪里、什么时候该换地方看。

论文把这个问题拆成了两层来解决,这是整个系统设计里最体现工程智慧的部分。

第一层叫目标注视策略,它只负责一件事:给定一个物体名字(比如"黄色胶带"),把视线精确地转过去盯住它,并且持续跟踪。这个策略是用强化学习训练出来的。

强化学习(RL):一种让智能体通过不断试错、根据反馈得分调整行为来学习策略的机器学习方法,不同于靠标注数据直接模仿的监督学习。

训练这个注视策略的奖励信号来自哪里?研究者用SAM3这个图像分割模型去检测画面里的目标物体,再用立体深度估计技术FoundationStereo算出这个物体的三维坐标,把这个坐标当作"标准答案",然后让注视策略的视线越接近这个坐标,奖励越高,越远奖励越低,距离的负值直接就是奖励分数。这样训练出来的策略能以每秒30次的频率快速精准地锁定任意任务相关的物体。

第二层叫目标选择器,它要回答一个更难的问题:现在这一刻,该看哪个东西?

这个问题之所以难,是因为没人给机器人标注过"人类在插吸管之前应该先看杯子还是先看吸管"这种数据。研究者没有去雇人标注注视序列,而是设计了一个巧妙的闭环训练机制,论文称之为行为克隆-强化学习循环。

行为克隆(BC):让机器人模仿人类演示动作的学习方式,通过大量的人类操作示范数据训练出动作预测模型。

这个循环是这样运作的:目标选择器先随机挑一个要看的物体,让注视策略把视线转过去,生成这个视角下的画面;这个画面被喂给一个同步训练的抓取动作预测模型(也就是行为克隆策略);如果这个画面能让抓取动作预测得更准,目标选择器就得到正向奖励,否则就是负向奖励。

换句话说,目标选择器不是被告知"应该看哪里",而是通过不断尝试发现"看这里能让后续的抓取动作预测得更准",从而自己摸索出合理的注视顺序。这种训练出来的结果非常接近人类的直觉:论文展示了一个完整的实验画面,机器人做"套笔帽、整理笔袋、插入笔、拉拉链"这一串任务时,视线会先盯住笔帽,抓起来准备套的时候切换到笔身,套好之后又切到笔袋上。整个过程没有人工标注任何一个"现在该看哪里"的规则,全是系统自己学出来的。

这里有个细节特别有意思:系统有时候会盯着一个完全不动的静态物体,比如笔袋,哪怕它当前的任务跟笔袋毫无关系。研究者推测这是因为训练数据采集的时候,笔袋总是摆在固定位置,系统把它当成了一个空间锚点,用来帮助自己确定其他物体的相对位置。这就跟人在陌生房间里找东西时,会先确认墙角或门的位置作为参照一样,静止的东西反而成了帮助判断动态位置的坐标系。

如果没有这套两层架构会怎样?论文的消融实验给出了答案:去掉多分辨率的图像处理(也就是放大视觉焦点区域细节的机制,论文称为foveation),整体表现下降20%,在需要精细操作的任务上差距更明显。这说明"看哪里"和"看得多清楚"两件事都不能省。

foveation(中央凹视觉/视网膜中央聚焦):模仿人眼视网膜中央凹区域分辨率远高于周边区域的特点,让图像处理系统对注视点周围区域分配更高的像素分辨率,对远离注视点的区域则降低细节,从而把计算资源集中在最该关注的地方。

把动作也绑在视线上:坐标系的小心思

除了"看哪里",论文还做了一个容易被忽略但效果很显著的设计:把机器人的动作指令和自身状态感知,全部换算到以当前注视点为中心的坐标系里,而不是用一个固定不变的世界坐标系。

这个设计叫注视中心化的动作分块。

注视中心化的动作分块:把机械臂末端执行器的姿态信息和预测出来的动作序列,从固定的全局坐标系转换到一个随注视方向实时旋转的局部坐标系里表达,这个局部坐标系始终"面朝"当前盯着的那个点。

这是什么意思?简单说,普通机器人系统里,"向前移动5厘米"是相对于整个房间固定方向定义的。而在EyeRobot 2.0里,"向前移动5厘米"是相对于"我现在正盯着的那个点的方向"定义的,如果视线换了一个目标,整套坐标系就跟着转一遍,动作指令的含义也随之重新锚定。

为什么这样做有用?论文给出了一个相当震撼的数据:在仿真环境里,去掉这个注视中心化坐标系的设计,把动作换回固定的世界坐标系之后,性能直接跌到和完全不用注视能力的基线水平差不多,下降了21%。换句话说,就算你给了机器人转动视线的能力,如果它的动作输出空间不跟着视线一起转,这个能力几乎被浪费掉了。

这背后的道理可以用这样一个场景理解:假设你要教一个新手厨师颠勺,你告诉他"往东偏北15度用力翻",他听得一头雾水,因为灶台在哪个方向、他站的位置都在变,绝对方位对他毫无意义。但如果你说"朝着锅沿那个点的方向轻轻一抖",这个指令永远成立,无论他站在厨房哪个角落,无论锅摆在哪个朝向。注视中心化坐标系做的就是这件事,把"动作该往哪个方向使"这个问题,从一个需要记住绝对位置的任务,变成了一个只需要相对于"我正在看的地方"做判断的任务。这大大压缩了模型需要学习的动作分布的复杂度,在数据量有限的情况下,模型更容易学会稳定、泛化的动作模式。

如果没有这套相对坐标系设计,机器人学到的动作规律很容易"死记硬背"成训练数据里见过的那几个具体位置,一旦测试时物体摆放稍微偏离训练分布,就会出问题,这也正是论文观察到的现象:固定世界坐标系的策略,在空间分布较广的任务(比如胶带递送任务)里表现出明显的过拟合倾向。

双目视觉也有自己的用处

论文还单独验证了一件事:用两只眼睛(立体视觉)看东西,比只用一只眼睛(单目视觉)看,到底有没有必要。

研究者做了一个对照实验,把系统改成只接收一张图像,并且去掉输入里的注视点深度信息。结果显示,这个单目版本在所有真实世界任务上的平均表现比完整的双目系统差了18%。

这个结果其实不算意外,人类判断一个东西离自己多远,很大程度上也是靠两只眼睛视角之间的细微差异来完成的,闭上一只眼睛走路,你会发现自己判断台阶高度、伸手够东西的距离感明显变差。机器人要把吸管精确插进一个几毫米大小的孔里,没有深度信息几乎是在盲插,双目视觉提供的立体深度,相当于给机器人装上了判断"还差多远"的尺子。

实验怎么做的:真刀真枪跑了3000多次

研究者没有满足于在仿真环境里跑分,而是在真实机器人上做了大量物理实验,这个工作量在机器人学习论文里属于相当扎实的级别。

他们用了一台14自由度的双臂机器人,配备平行夹爪,在机械臂之间架了一个固定的立体摄像头,角度向下倾斜45度以保证能看到整张操作台。真实世界的任务包括7种,涵盖了递送胶带、给锅盖扣盖子、从工具箱拎出扳手、给马克笔套帽并拉拉链、插吸管进奶茶杯、从烤箱里取烤盘、把茶包放进杯子这些任务,每一个都需要相当精细的操控,有些还需要多个步骤连续完成(比如烤箱任务涉及开门、拉出烤架、取出烤盘、推回烤架、关门这五个连续动作)。

与此同时,他们还在MuJoCo物理仿真环境里搭建了6个简化版任务,用来做大批量、可重复的对比实验,研究者明确说这不是为了做"仿真到真实"的迁移,而是单纯为了在同一套训练流程下做更严格的方法对比。

所有基线方法和EyeRobot 2.0用的是完全相同的训练数据,这一点在论文里被反复强调,因为这保证了对比的公平性,不存在某个方法用了更好的预训练数据而赢的情况。真实世界总共跑了超过1000次物理试验,仿真环境跑了超过1800次。

| 任务类型 | 无注视纯立体方案 | 腕部+固定摄像头方案 | EyeRobot 2.0 |

| 真实世界平均成功率 | 27% | 52% | **67%** |

| 仿真平均成功率 | 54% | 75% | **74%** |

| 腕部被遮挡任务(奶茶、锅盖) | — | 约30%左右 | **约48%** |

| 带干扰物场景(扳手任务首次抓取) | 3/25 | 10/25 | **20/25** |

从这张对照表能看出几个关键点。首先,相比完全没有注视能力的纯立体视觉方案,EyeRobot 2.0在真实世界里的优势达到40个百分点,这个差距在插吸管(4%对68%)和马克笔插入笔袋(8%对44%)这类需要精细视觉判断的任务上尤其明显。其次,相比业界标准的"腕部+固定摄像头"三摄像头方案,EyeRobot 2.0在视野不被遮挡的任务上表现相当(69%对64%),但在抓取物体遮挡了腕部摄像头的场景下,反而反超了一倍多。

干扰物测试那组数据特别能说明问题。研究者故意在桌上散落一些颜色鲜艳的无关物体,测试机器人是否会被"骗"去抓错东西。结果是,装了腕部摄像头的系统,经常会伸手去抓视野里最显眼或者最大的那个东西,一旦伸手过去,腕部摄像头的视角也跟着挪走了,看不到正确目标了,于是就很难纠正回来。EyeRobot 2.0因为视觉和动作是解耦的,视线可以独立判断该看哪个物体,第一次抓取的准确率明显更高。这揭示了一个有意思的反差:把摄像头绑在手上看似"看得更准",但也意味着一旦手的方向错了,眼睛也跟着错了,纠错的机会反而变少了。

这背后其实有个更深的道理:决策和执行如果绑得太紧,一旦决策出了偏差,执行过程里很难有机会独立发现问题并修正。而把"看"和"做"适度分开,反而给系统留出了一个随时可以重新评估、重新确认目标的余地。

另外一组对照实验很有意思,研究者在仿真里同时测试了两个和真实世界对应的任务(递送胶带和放锅盖),发现仿真里的排名顺序和真实世界基本一致,但仿真有利于腕部摄像头方案,这可能是因为仿真的物理引擎比真实世界更"宽容",末端执行器相对坐标系在真实世界里更容易因为累积误差而出问题。这提醒我们,仿真实验的绝对数值不能直接套用到真实场景,但相对排名还是有参考价值的。

写在后面

读完这篇论文,让我印象最深的不是最终的成功率数字,而是那个"用软件伪造摇头效果"的小技巧。这种思路挺值得记住的:当你发现某个硬件能力太贵、太麻烦没法实现的时候,先别急着放弃,想想能不能用已有的数据、用数学变换,伪造出那个能力的"效果",再拿伪造出来的效果去训练真正需要用到它的模型。立体相机不需要真的转动就能模拟转动后的画面,这个巧思直接决定了整个研究能不能做下去。

还有一个细节值得单独说一下:论文里提到,机器人有时候会盯着一个完全静止、跟当前任务无关的物体(比如那个始终摆在固定位置的笔袋)当作空间锚点。这个现象没有被研究者刻意设计,是训练过程里自己涌现出来的。这说明强化学习在摸索"怎么看最有用"这件事上,有时候会找到一些人类设计者根本没想到的策略,这类意外发现往往比预期中的结果更值得琢磨。

这篇论文也留了几个没解决的问题。目前这套系统是针对单一任务从头训练的,换一个任务就要重新训练一遍注视策略和目标选择器。论文自己也承认,如果想让这套机制支持开放词汇的任意物体提示,可能需要引入视觉语言模型这类更通用的架构。另外,目前的注视只能定位到"物体"这个层级,还没法做到更细粒度的、物体内部某个局部区域的注视,比如盯着螺丝的某一个槽口而不是整个螺丝。这个限制意味着,如果任务需要的精度比"看准一个物体"还要再细一个量级,比如焊接电路板上一个具体的焊点,现在的系统可能还不够用。

一个值得继续追问的问题是:人类的眼睛除了会转动聚焦,还会和脖子、身体的转动配合起来工作。这篇论文明确说自己没有处理"头"或"脖子"该往哪个方向转这个问题,只处理了"眼球在一个固定头位上该怎么转"。如果未来把头部的主动移动也加进来,会不会进一步缩小机器人和人类操作能力之间的差距?

Q&A

Q1:EyeRobot 2.0是什么?

A:EyeRobot 2.0是加州大学伯克利分校等机构研发的机器人操作框架,它只用一个固定的立体摄像头,通过模拟人眼主动注视的方式,让机器人无需腕部摄像头也能完成插吸管、套笔帽等精细双臂操作任务。

Q2:EyeRobot 2.0相比传统腕部摄像头方案有什么优势?

A:在真实世界测试中,EyeRobot 2.0整体成功率达到67%,与腕部加固定摄像头方案(52%)相比更有优势;尤其当抓取物体遮挡住腕部摄像头视线时,EyeRobot 2.0的成功率是传统方案的两倍以上。

Q3:EyeRobot 2.0的注视能力是怎么训练出来的?

A:论文采用两层强化学习训练:先用三维检测和深度估计数据训练一个能精准锁定任意目标物体的底层注视策略,再通过让注视结果影响抓取动作预测准确率的闭环机制,训练上层目标选择器自主学会该看哪里、何时切换视线。

【数据支持来自天眼查App】

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。