微软提出使用人手运动视频直接教机器人完成任意的新方法,这种方法使用 GPT-4V 分解视频中的作为,结合大语言模型生成对应的行为表述并作为任意列表,训练机器人只需要动动手就能完成。
如何将语言 / 视觉输入转换为机器人作为?
训练自定义模型的方法已经过时,基于最近大语言模型(LLM)和视觉语言模型(VLM)的技术进展,通过 prompt 工程使用 ChatGPT 或 GPT-4 等通用模型才是时下热门的方法。
这种方法绕过了海量数据的收集和对模型的训练过程,展示出了强大的灵活性,而且对不同机器人硬件更具适应性,并增强了系统对研究和工业应用的可重用性。
特别是最近出现了通用视觉大模型(VLM),如 GPT-4V,将这些视觉系统集成到任意布局中,为开发基于多模态人类指令的任意布局器提供了可能性。
在近期微软的一篇论文中,研究者利用 GPT-4V 和 GPT-4(图 1)分别作为最新的 VLM 和 LLM 的范例,提出了一种多模态任意布局器。该系统可以接受内容为人类行为的视频和文本指令等输入,甚至可以同时接受二者,并输入标记化的任意布局(即一系列连贯的任意步骤)。
论文地址:https://arxiv.org/pdf/2311.12015.pdf
代码即将公开:https://microsoft.github.io/GPT4Vision-Robot-Manipulation-Prompts/
当视觉数据可用时,系统会根据任意布局重新综合视频,并在每个任意和视频之间建立时空上的对应关系。这一过程可以提取对机器人执行有价值的各种本领信息,如接近物体的方式、抓握类型、避免碰撞的路径点和上肢姿势等。
最后,本领(affordance)信息和任意布局被编译成独立于硬件的可执行文件,以 JSON 格式保存。本文对模型从事了定性综合,并确认了输入的任意布局在多个真实机器人上的可操纵性。
技术细节
本文提出的系统由两个串联的部分组成(图 2):
第一部分是标记任意布局器,将人类行为的教学视频、文本或两者共同作为输入,然后输入一系列的机器人作为。在这里,文本输入也包括对 GPT-4V 鉴别结果的反馈,以便从事修正。为用户提供对鉴别结果从事反馈的机会,可以得到更加鲁棒的操纵作为输入,换句话说,当系统任意用户操纵不准确时,还能有机会重新输入。
第二部分是本领综合器,负责综合视频以确定任意发生的时间和地点,然后提取高效执行任意所需的本领信息。
在这一系统中,输入的视频是人类执行作为的演示,让机器人去复制。本研究实验中假定视频的粒度为抓握 – 操纵 – 开释。
A. 标记任意布局器
标记任意布局器由三个部分组成:1) 视频综合;2) 场景综合;3) 任意布局。
最初,当输入 RGB 视频时,视频综合使用 GPT-4V 来鉴别视频中人类所做的作为,并将其转录为人与人交流中使用的文本指令(例如,请扔掉这个空罐子)。在视频综合中,考虑到模型 token 的限制和延迟,本文采用了视频帧定时采样的方法,并将抽到的帧输入 GPT-4V。然后由用户对输入文本从事检查和编辑。如果不提供视频输入,则在此阶段向系统提供文本指令。图 3 显示了视频综合器的示例,表明 GPT-4V 可以成功地从帧中理解人的作为。
接下来,场景综合器根据这些指令和工作情况的第一帧视频数据或图像,将预期的工作情况编译成文本信息。这些情况信息包括 GPT-4V 鉴别的物体名称列表、物体的可抓取属性以及物体之间的空间关系。虽然这些计算过程在 GPT-4V 中是一个黑盒,但这些信息是根据 GPT-4V 的知识和输入的图像 / 文本输入的。
图 4 显示了场景综合器的示例。如图所示,GPT-4V 成功地选择了与操纵相关的工具。例如,当人类在桌子上移动垃圾桶时,输入中包含了桌子,而在打开冰箱的任意中则忽略了桌子。这些结果表明,场景综合器可以根据人类的操纵对场景信息从事编码。
根据给定的文本指令和情况信息,任意布局器会输入一系列任意。
具体来说,本文设计了一个 prompt,让 GPT-4 将给定指令分解为一系列机器人任意 。本文又根据 Kuhn-Tucker 理论,建立了一套必要且充分的机器人操纵物体的作为。
表 I 显示了本文在 prompt 中包含的任意集和解释。在这里,任意参数的名称是基于对 GPT-4V 的理解,以开放词汇格式给出的。在后续阶段,这些名称将通过本领综合器与视频结合起来。此外,这些前 / 后条件用于强制 GPT-4 输入连贯的任意序列,而不是根据视频中的意象从事验证。
为了确保对 GPT-4 模型理解的透明度,任意布局器被设计为输入任意解释、操纵后的估计情况和操纵摘要,以及一组任意布局。此外,任意布局器还是一个有状态的系统,可在 GPT-4 模型的 token 限制范围内保持过去对话的历史记录。因此,用户可以根据任意布局器的输入,通过语言反馈来修改和确认输入。图 5 显示了任意布局器的计算结果示例。结果表明,一套量身定制的 prompt 可以产生合理的文本指示、情况描述和标记任意布局。
B. Affordance 综合器
Affordance 综合器利用来自标记任意布局器的知识对给定视频从事重新综合,以获取机器人有效执行任意所需的本领信息。
具体来说,它根据任意的性质和物体名称,重点综合手与物体之间的关系。它能鉴别视频中抓取和开释的时刻和位置,并将这些时刻和位置与任意序列对齐。这些瞬间可作为锚点,用于鉴别每项任意所必需的本领。本文之前的研究《Verbal Focus-of-Attention System for Learning-from-Observation》已经证明了「关注焦点 」在检测作为抓取和开释方面的有效性。
1) 通过关注人手来检测抓取和开释的作为:起初,模型将一系列视频按固定的时间间隔分割成视频片断。然后使用手部检测器和图像分类器对每个视频片断的开始和结束帧从事综合,以确定物体是否被抓(图 6)。视频片断被分为以下几种模式:
在第一帧中没有任何东西被抓住,但在最后一帧中却有东西被抓住的片断表示发生了抓取。
在第一帧中有东西被握住,而在最后一帧中没有东西被握住的片断表示发生了开释。
其他片断则被归类为包含其他类型作为的片断。
通过这种分类,综合器可以确定哪些视频片断包含抓握和松开的实例。为此,研究者开发了基于 YOLO 的手部检测器和鉴别器 ,并已将该模型开源(https://github.com/ultralytics/ultralytics)。
2) 通过关注手与物体的交互,实现检测抓取和开释的时空位置。然后,模型将重点放在抓取视频片断上,综合抓取物体的位置和时间。本文使用 Detic(一种开放式词汇工具检测器)来搜索视频中的候选工具,正如标记任意布局器所鉴别的那样,当鉴别出多个候选工具时,视频片断中最靠近手部的工具将被视为抓取工具。这是通过比较手部检测器在抓取视频片断的每一帧中检测到的每个候选工具的边界框与手部之间的距离来确定的。图 7 展示了物体检测的计算过程。在「抓取」视频片断中,手与物体在空间上最接近的时刻被确定为抓取时刻。类似的计算也应用于开释视频片断,以确定开释的时间。
图 8 显示了将果汁罐从货架底部移到顶部的操纵计算过程。
3) 本文将抓取和松开的瞬间看作任意序列与视频对齐的锚点,对齐后,视觉综合器会提取以下信息,包括:
抓取任意的本领:1)接近物体的方向信息,以避免与情况发生碰撞。2)抓取类型还包含人类如何有效的执行操纵。
手部移动的本领:1)手移动过程中的航点信息,以避免情况碰撞。
开释任意的本领:1)开释物体后手的撤离方向信息,以避免情况碰撞。
拾取任意的本领:1)矢量化的离开方向信息,以尽量减少物体与平面之间不必要的力。
放置任意的本领:1)朝物体靠近方向的信息,以避免情况碰撞。
旋转任意的本领:1)旋转轴的方向。2) 旋转中心的位置。3)旋转角度。
滑动任意的本领:1)滑动运动的位移。
表面移动任意的本领:1)与表面垂直的轴。
除了这些本领外,上臂和前臂在抓取、开释和每个时刻的姿态也被编码为一对离散的方向向量。这些向量可作为计算多自由度手臂逆运动学的约束条件,确保机器人不会在人类周围摆出意想不到的姿势。值得注意的是,虽然这些本领为许多控制器提供了可行的信息,但机器人的实际执行可能还需要力反馈等额外信息。获取这些本领信息的具体方法可参见研究者之前的论文(https://arxiv.org/abs/2008.01513)。
实验结果
研究者将模型从事了封装,并设计了网页访问接口,如图 9 所示。
该模型允许用户上传预先录制的教学演示,并让 GPT-4V 和 GPT-4 对任意模型从事编码。然后,研究者测试了机器人能否通过在各种场景下获得的视频从事一次尝试操纵。此处研究者介绍了几个执行示例。实验测试了两个机器人:第一个是 Nextage 机器人(川田机器人公司出品)其手臂有六个自由度;第二个是 Fetch 移动机械手(Fetch 机器人公司出品),其手臂有七个自由度。机器人上还装有一个四指机械手,即 Shadow Dexterous Hand Lite(Shadow Robotics)。机器人的技能是通过强化学习训练出来的。所有实验结果将可以在其官方代码库中访问(代码即将公布)。