1 MimicPlay: Long-Horizon Imitation Learning by Watching Human Play

标题:模拟游戏:通过观看人类游戏进行的长期模拟学习
作者团队:斯坦福大学
期刊会议:CoRL
时间:2023
代码https://mimic-play.github.io/(code is coming soon)

1.1 目标问题

由于人类比遥控机器人能更快的完成长时间任务,因此启发从人类演示中学习机器人规划策略。

为了减少数据需求,采用人类与环境的交互视频作为数据。开发一个分层学习框架,从人类数据中学习潜在的规划控制方法。

1.2 方法

image.png

(1)从人类数据中学习潜在规划

给定输入:视觉观察$o_t$,未来的目标图像$g_t$,当前手部位置$l_t$
训练过程中,$g_t$被视为执行动作后的未来帧
规划期的目标是根据视频提示V生成目标图像的动作规划。

  1. 人类演示数据收集
  2. 跟踪人手三维轨迹:使用双目相机获取人手的3D轨迹,利用现成的手部检测器确定2维图像中的手部位置,然后利用双目视图重建手的3D轨迹。
  3. 学习潜在规划:使用两个卷积网络分别将当前图像和目标图像处理为低维特征,再与手部位置连接在一起,使用MLP处理为潜在规划特征。生成3D手部运动轨迹。为了处理同一个任务的不同方式的实现,使用高斯混合模型对潜在规划的轨迹分布进行建模。

(2)计划引导的多任务模仿学习

机器人的底层策略使用行为克隆算法进行训练,使用通过遥操作收集的机器人演示数据。

  1. 视频条件下的潜在规划生成:使用遥操作机器人任务视频来提示训练时潜在规划器生成相应的规划。
  2. 基于Transformer的规划引导模仿:将机器人手上相机观察和本体姿态信息处理为低维向量,再与潜在计划连接起来,通过Transformer架构来计算最终的机器人控制命令。
  3. 多任务学习

1.3 思考

李飞飞团队的作品,从视频中学习人手的运动轨迹,code is coming soon,等待后续再细看。

2 One-Shot Imitation from Observing Humans via Domain-Adaptive Meta-Learning

标题:通过领域自适应元学习观察人类的一次性模仿
作者团队:加州大学伯克利分校
期刊会议:arXiv
时间:2018
代码
官方版: https://github.com/tianheyu927/mil
Pytorch版: https://github.com/daiyk/daml_pytorch

2.1 目标问题

提出一种从人类视频中进行学习的方法,通过使用各种先前任务的人类和机器人演示数据,使机器人执行人类演示的任务。

2.2 方法

(1)问题描述

将先验知识和少量证据组合起来,形成一个人类演示的形式。从中推断出完成任务的机器人的策略参数。

(2)领域自适应元学习

能够处理从人类的视频演示中学习,学习一组参数,以便在人类演示的基础上进行梯度下降后,模型可以有效地执行新任务。

由于人类和机器人的动作无法直接对应,因此考虑学习只对策略激活起作用。

(3)学习时间适应目标

要从人类的视频中进行学习,需要捕获视频中的相关信息,例如人类的意图和任务的相关对象。要确定哪些行为正在被演示,哪些对象是相关的,通常需要同时检查多个帧来确定人类的运动。因此本文的学习适应目标将多个时间步长耦合,从多个时间步骤对策略进行操作。

此处使用卷积网络来表示自适应目标,使用递归神经网络LSTM进行时间卷积。

(4)概率解释

将学习到的自适应目标纳入到概率图模型的框架中,推断特定任务的策略参数。

2.3 思考

思路看起来很可以,就是数学推理比较复杂,很难看得懂。

3 Waypoint-Based Imitation Learning for Robotic Manipulation

标题:基于航路点的机器人操纵模拟学习
作者团队:斯坦福大学
期刊会议:arXiv
时间:2023
代码https://github.com/lucys0/awe

行为克隆BC目前有很多问题,路径点可以通过减少BC的范围来解决这个问题,但是传统路径点需要人工监督标注。

本文提出了线性运动近似的,模仿学习的自动轨迹点提取模块,将演示分解为一组轨迹点,进行线性插值,近似实现演示动作。

并且该方法可以与任务BC算法相结合,提高其成功率。

4 Building Robot Intelligence by Scaling Human Supervision

标题:通过扩展人类监督构建机器人智能
作者团队:Stanford University
期刊会议:Thesis
时间:2021

4.1 研究背景

几十年来,我们一直在想象一个机器人可以充当个人助理的世界,能够完成我们每天做的各种任务和家务,比如做饭、打扫卫生、洗衣,甚至组装橱柜。机器人领域的研究人员一直致力于实现这一梦想。然而,不幸的是,今天的自主机器人远未达到操纵能力的水平。尽管研究在使机器人能够完全自主地完成特定任务的方面取得了令人印象深刻的进展,包括拾取物体,或将它们堆叠在一起。但机器人和人类的操作能力之间存在很大差距。人类智能地使用物体,并在日常生活中以丰富的方式与它们互动,比如当我们用刀切菜做饭时,或者用螺丝刀拧紧螺丝组装橱柜时。这种有目的的与物体的互动对机器人来说是十分困难的。

作为人类,我们在一生中积累了一系列不同的先前经验,这些经验我们可以在日常生活中借鉴。此外,即使我们不知道如何做某事,我们也可以通过观看其他人的视频来快速学习,例如通过观看YouTube上其他人组装橱柜的视频来学习如何组装橱柜。这就提出了一个问题——我们是否可以类似地为机器人提供丰富多样的先前经验,并使他们能够从这些数据集中学习操作技能?

这激发了数据驱动的机器人,这是一种有用的范式,让机器人从大型数据集中学习操作。但是这种方法通常有两种变体,第一种是机器人自行收集数据,数据一开始是随机的,但会随着时间推移慢慢变好。由于机器人必须自己学习,限制了可以学习的人物的复杂性。第二种则是人类控制机器人并引导它完成任务,然是这通常是不可扩展的,因此可以收集的数据量很小,这再次限制了任务的复杂性。

相比之下,计算机数据和自然语言处理等领域已经通过大规模高质量数据集开创了前所未有的成就,我们希望在机器人技术方面看到类似的突破。

为了复制这一成功经验,并解决数据驱动机器人中任务复杂性有限的问题,我们需要解决两个关键挑战。首先,收集大规模的人类数据具有挑战性。在计算机视觉领域,注释可以由人类直接标注,很容易实现并行标注和大规模人员标注。相比之下,在机器人技术中,人类必须与机器人实时互动,引导机器人完成任务。这使得提供直观和可扩展的方法来收集来自多个人的数据变得很困难。其次,从大规模数据集中学习可能并不简单。在其他领域,我们可以训练网络预测注释,这些注释对应的都是真实的标签。然而在机器人技术中,没有一种真正的方法来执行任务,不同的人可能会收集不同的轨迹,不同的策略,我们需要确定如何从这些数据集中学习。

4.2 研究目标

第一部分,讨论了如何通过充满丰富交互的人类监督来收集大规模数据,这些数据体现了机器人的类人操作能力。包括一个为解决机器人操作中对大规模人类数据集需求构建的平台,和现实世界的数据收集。

第二部分,讨论了如何使用丰富的数据集来学习机器人操作技能。

第三部分,讨论了该方法可能的进一步拓展和应用。

4.3 收集人类操作数据

为了使数据能够捕捉人类的操作,首先数据应该在所展示的解决问题的策略的种类上是多样化的。作为人类,我们很清楚什么时候应该尝试不同的方法类实现目标,而机器人应该从所有这些策略中学习,因为在特定的情况下可能需要其中的一种。其次,数据应该包含灵巧的操作,我们希望我们的机器人了解它们如何通过武力方式操作物体来实现预期的结果。最后,数据应该是大规模的,人类非常擅长在无数情况下解决问题,但机器人还不能做到这一点。我们向他们展示的数据越多,他们也就越有可能获得这种能力。

在这一部分,我们提出了RoboTurk平台,一个数据收集平台,允许人类实时远程操作机器人。操作员在他们的网络浏览器中看到机器人的工作空间的视频流,用他们的智能手机控制机械臂,他们手机的运动与机器人的运动相耦合,可以自然地控制手臂,这使得人们可以轻松的提供任务演示,连接的过程快速而简单。实验表明,这些数据能够在多步骤操作任务上进行策略学习,并且在策略学习的过程中使用大量的演示可以在学习一致性和最终性能方面带来好处。

4.4 从大规模人类数据集中学习操作

在这一部分,我们讨论了机器人如何才能够大规模人类数据集中学习操作技能。此类数据集可能表现出巨大的多样性,并由次优解决方案组成,因此从中学习具有挑战性。我们提出了一种从大规模演示数据集中学习的新算法,即无规模交互的内隐强化IRIS算法。IRIS将控制问题分解为目标条件的低级控制器和高级目标选择机制,前者模仿短演示序列,后者为低级控制器设置目标,并选择性的组合部分次优解决方案,从而更成功的完成任务。

尽管最近在模仿学习和强化学习方面缺乏开源的人类数据集和可重复的学习方法,使得评估该领域的状态变得困难。我们对六个离线学习机器人操作算法,在五个仿真和三个不同复杂度的真实环境中进行多阶段操作任务测试。我们得到了一系列经验,包括对不同算法设计选择的敏感性,对演示质量的依赖性,以及由于训练不同的目标而导致的不同停止标准。我们还强调了从人类数据集学习的可能性,例如在当前强化学习方法范围之外的具有挑战性的多阶段任务中学习熟练策略的能力,以及轻松扩展到只有原始感官信号可用的自然、真实世界操作场景的能力。我们已经开源了我们的数据集和所有算法实现,以促进未来的研究和从人类演示数据中学习的公平比较。

4.5 使用人类数据集构建能力更强的机器人

这一部分探讨了几个不同的应用程序,使我们更接近于我们希望的机器人能够在未来能够处理的任务。主要探讨了多任务领域(如厨房),高精度操作,和需要协作的多臂操作任务。

模仿学习方法的一个常见的局限是由于训练集中的数据有限,在所展示的行为之外进行泛化是一个开放的挑战。例如在厨房场景中,我们可能希望机器人实现多种可能的配置,具有多个要操作和交互的对象,如食物、出轨、微波炉、水槽等。本章我们介绍了通过模仿进行任务泛化,这是一种新颖的模仿学习框架,使机器人能够从少量的人类演示中有效的学习复杂的现实世界操作任务。合成收集的演示中未包含的新行为。多任务领域通常呈现出一种潜在的结构,不同的任务轨迹在状态空间的公共区域相交。GTI是一个两阶段在线模仿学习算法,该算法利用交叉结构来训练目标导向的策略,这些测类推广到看不见的开始和目标状态组合。在GTI的第一阶段,我们训练了一个随机策略,该策略利用轨迹交叉点来有能力从不同的演示轨迹中组合行为在一起。在GTI的第二阶段,我们从第一阶段的无条件随机策略中收集了一小组推理,并训练一个目标导向的agent来推广到新的启动和目标配置。我们在模拟领域和现实世界中具有挑战性的长期机器人操作领域中验证了GTI。

模仿学习方法通常也很难完成高精度的操作任务,因为它们需要一系列精确的动作才能取得有意义的进展,比如机器人将pod插入咖啡机制作咖啡。经过培训的策略可能会在这些场景失败,因为行动上的微小偏差可能会导致策略进入未被演示覆盖的区域。基于干预的策略学习是解决这一问题的一种替代方案——它允许操作员监控经过训练的策略,并在遇到故障时接管控制权。 我们扩展了RoboTurk,使远程操作员能够监控和干预经过培训的政策。我们开发了一个简单的在系统收集的新数据上迭代训练策略的有效算法。我们证明,根据我们基于干预的系统和算法收集的数据训练的代理优于根据非干预演示者收集的同等数量样本训练的代理,并进一步证明,我们的方法在从具有挑战性的机器人线程任务和咖啡制作任务。

最后,虽然通过远程操作收集的人类演示中的模仿学习(IL)是教授机器人操作技能的强大范式,但它大多局限于单臂操作。然而,许多现实世界中的任务需要多个手臂,例如举起重物或组装桌子。不幸的是,将IL应用于多臂操作任务一直具有挑战性——要求人类控制多个机械臂可能会带来巨大的认知负担,而且通常最多只能控制两个机械臂。为了应对这些挑战,我们介绍了多臂RoboTurk(MART),这是一个多用户数据收集平台,允许多个远程用户同时远程操作一组机械臂,并收集多臂任务的演示。使用MART,我们从几个地理位置不同的用户那里收集了五个新的双臂和三臂任务的演示。我们表明,从这些数据中学习因此给集中式代理带来了挑战,这些代理直接尝试同时对所有机器人动作进行建模,并对数据进行全面不同的策略架构,对我们的任务具有不同的集中程度。最后,我们提出并评估了一个基本残差策略框架,该框架允许经过训练的策略更好地适应多臂操作中常见的混合协调设置,并表明用去中心化残差模型增强的集中式策略在我们的基准任务集上优于所有其他模型。

5 Understanding and Learning Robotic Manipulation Skills From Humans

标题:从人类身上理解和学习机器人操作技能
作者团队:Stanford University
期刊会议:Thesis
时间:2022
代码

5.1 背景和动机

制造机器人的性能是通过它们的精度、准确性和速度来衡量的。这导致了刚性和笨重的机器人的设计,这些机器人与人类一起工作是不安全的。他们的控制器在不使用力传感的情况下执行预先编程的轨迹,使其对位置误差高度敏感。通过使用夹具和夹具,例如装配线上的夹具,可以减少环境中的不确定性。

现实世界的环境需要低重量、人类安全、扭矩控制的机器人。如果机器人要在环境不断变化、感知能力有限的日常环境中真正发挥作用,就必须找到通过预编程轨迹控制机器人的替代方案。一种很有前途的方法是将复杂的任务划分为健壮且可重用的动作或基元。 在本文中,我们通过使用可推广的顺应原语,为在更高抽象级别上编程机器人奠定了理论和实践基础。

方法的第一步是从人类演示中收集数据。然后,我们将数据分割成在任务期间执行的动作序列——基元。接下来,我们将数据投影到一个低维和物理意义的空间中,使我们能够理解人类的策略。最后,我们将这些行为编码到能够执行任务的机器人控制器上。 此外,我们的框架利用视觉和触觉反馈,让人类处于故障恢复和持续学习的循环中。

5.2 从人类演示中学习

本文的工作属于示范学习LfD的范畴。人类在操作方面非常有能力,因此从人类演示中收集数据使学习机器人新行为的一种流行方式。事实上,我们不仅可以学习单臂行为,还可以学习双臂行为,我们的系统已经证明了这一点,并在其它工作中进行了探索。 大多数先前的工作侧重于从视觉数据中学习。而我们的工作强调在执行富含接触的任务时里和数据的重要性。

近年来,互动学习是一个不断发展的研究领域,它使人类保持在循环学习的过程中。为了实现类似的工作方式,我们的框架通过使用触觉接口使人类处于循环中,我们系统手机故障恢复数据可以与从故障中学习的工作相结合,易产生更稳健的自主行为。

5.3 机器人基本单元

在这项研究中,基元是有一个兼容的框架和一组所需的任务参数定义的。顺应性框架是一个原点和空间中的三个方向,我们沿着它们控制运动和顺应性。柔顺框架附着到要操纵的对象上。任务参数包括所需的力、力矩、位置和方向。这种与机器人无关的任务规范提供了一种有物理意义的低维表示。

基元库。生成一个由n个基元组成的库,对基本的操作技能进行编码,通过组合这些基元,可以以一种方式解决新的复杂任务,即所需基元的数量不会随着任务数量的增加而增加。广义上讲,关于运动基元的文献主要解决了三个主要的研究问题,生成运动基元,参数化基元以及将基元组合在一起以成功完成任务。

基元生成。基元的生成可以通过手动编码所需策略或者从数据中自动提取策略来实现。先前的研究已经转向人类寻求灵感,并试图提取策略。

基元参数化。参数化基元处理定义动作的方式。基元通常使用轨迹段进行参数化。用轨迹定义运动基元已经被证明是成功的,但该方法假设环境不确定性较低。

兼容基元。我们使用框架的概念来参数化我们的原始控制器。先前的研究使用了以对象为中心的任务控制器的相同概念。然而,与本文中的工作相反,仅从视觉数据中提取控制器参数,我们认为,在处理复杂任务是,考虑序列数据是有利的。在存在位置不确定性的情况下,顺从性在任务中也起着重要作用,对于接触丰富的任务,比如抓获或本文中研究的任务。例如,基元的概念,其中柔顺基元就是用于实现对小物体的鲁棒抓取。

使用基元进行规划。组合运动基元的概率方法利用了决策过程的固有不确定性,这些方法可以是完全自动化的,也可以是使用混合的方法,将自动决策算法与用户指定的图像相结合。 最近的其他方法使用语义模型来学习基于是觉得操纵任务计划,或者一些方法使用接触而不是视觉来指导决策过程。

5.4 多层控制体系结构

该体系结构由三层感知-动作反馈回路组成。每个层都以不同的抽象级别运行,并以不同的频率运行。

在最底层,完全依赖于控制器,并有助于高速率感官反馈和控制的集成,以实现安全和可预测的机器人运动。该级别向机器人电机发送命令,因此,感知动作回路必须以非常高的频率闭环。下一层向全身控制器提供输入,从而以较慢的速率运行。最后,执行计算成本高昂的感知和规划的最高抽象级别以最低的速率运行。

全身控制级别使用任务优先级。基于优先级的控制使我们在设计原始动作时能够专注于对象及其几何约束。完整的机器人行为可以被视为由具有不同优先级的不同任务组成。例如,高优先级任务可以是避免奇异配置,另一个任务可以处理障碍或摩擦约束。以类似的方式,有一项任务专门负责实现操纵对象之间所需的几何关系。此任务被编码为基元。换句话说,基本动作只涉及对象,因为任务的所有其他方面,包括非几何约束和机器人运动学,都由控制器的其他组件处理。

基于优先级的全身控制使用零空间投影来确保满足所有不同的约束。此外,操作空间公式——使用Jacobian的动态解耦逆来计算递归零空间投影——确保具有不同优先级的任务动态解耦。先前的工作也在操作原语的上下文中使用了这种分层框架。

6 Scaling Deep Robotic Learning to Broad Real-World Data

标题:将深度机器人学习扩展到广泛的真实世界数据
作者团队:Stanford University
期刊会议:Thesis
时间:2023
代码

6.1 背景

机器人的一个长期梦想是一种通用的家用机器人,它可以被放置在家庭环境中,也许是它以前从未见过的,并执行一系列有用的任务,如煮咖啡、清洁和烹饪。这样一个机器人无疑将在经济上和通过他们的帮助提高人类生活质量方面产生巨大影响。当然,这个梦想仍然是这样,在实现这个目标方面存在着无数的挑战,包括更好的机器人硬件、电池技术和传感。然而,核心挑战之一在于泛化,即机器人在新的物体、环境和任务中取得成功的能力。事实上,人类有这种能力,正是这种能力使我们能够完成像煮一杯咖啡这样的任务,即使在有新厨房和新物体的情况下也是如此。因此,相关的问题仍然存在——我们如何训练我们的机器人,使其能够广泛推广。

解决这个问题的一种方法是利用人类的直觉,以及用于机器人规划和控制的手部设计系统和表示。在这种方式中,人类定义了相关的对象类及其属性和关系(例如,颜色、形状、姿势、上方与下方等),然后可以使用状态估计技术从传感器观测中测量这些量,并且可以使用经典的搜索和运动规划方法来执行任务。然而,至关重要的是,这种方法是基于人类对相关对象、特性的规范,在某些情况下,甚至是每个环境和任务的对象的3D模型,这阻碍了这种方法在存在新对象和环境的情况下容易使用。

有一项工作研究了机器人如何在制造通用机器人时不依赖人类的直觉和手部设计,而是纯粹通过数据和自己的试错来学习行为。具体来说,深度强化学习研究了学习深度神经网络策略的问题,该策略在给定传感器观测的情况下采取行动,从而使策略通过从交互中学习来最大化一些定义的奖励。原则上,这种方法可以让机器人完全靠自己学习技能,而只有少量的成功指标。然而,在实践中,在机器人上运行深度强化学习带来了许多挑战,例如在重置和奖励方面需要人工监督。然而,最关键的是,深度强化学习通常需要在目标环境中进行数百万次在线环境交互才能进行学习,并且一旦完成,所学习的策略只对所训练的环境和数据有效。因此,标准的深度强化学习在消除了人手设计的大部分需求的同时,仍然没有立即让我们更接近能够在新环境和任务中操作的机器人。

退一步看,人们可能会从机器学习的其他领域寻找灵感,特别是过去几年里,自然语言处理和计算机视觉的研究领域取得了巨大进展。主要基于一个简单的配方::(1)大量、多样化的离线数据集,(2)自监督或廉价监督的训练目标,以及(3)表达性的端到端训练的神经网络模型。这种基础模型的范例特别令人兴奋,因为这些模型表现出了令人印象深刻的泛化——例如,来自ImageNet的视觉模型可以适应癌症检测这样的全新任务,而像BERT这样的预训练语言模型的应用范围从医学编码到视觉问答。事实上,这种概括水平正是我们希望在一个通用机器人中看到的,它可以被放入一个新的环境中,并快速地学会解决新的任务。

所以为什么这个配方还没有在机器人中实现呢?现实世界中的机器人操作带来了许多独特的挑战,这使得直接复制这一配方变得困难——我们既没有足够大和多样化的机器人交互数据集,也不清楚什么类型的学习算法或监督来源可以使我们从这些数据集中大规模学习有用的技能。本文的目标在于解决这些挑战,并在机器人操作的背景下复制大规模数据和学习的配方。具体来说,我的研究集中在回答三个广泛的问题上。首先,我们如何可伸缩地收集在物理世界中交互的机器人的大型和多样化的数据集?其次,我们如何设计能够消耗如此广泛的离线数据的自我监督强化学习算法,这些数据可能来自非专家,缺乏奖励标签,并从中学习达到看不见的目标?第三,我们如何解锁网络上存在的广泛数据来源,如人类视频和自然语言,以便在我们的机器人中进行更有效的学习?

7 Learning Perceptual Prediction: Learning From Humans and Reasoning About Objects

标题:学习感知预测:向人类学习和对物体的推理
作者团队:University of Pennsylvania
期刊会议:Thesis
时间:2023
代码

7.1 目标问题

人类在使用各种各样的感知模式进行预测时,主要关注从视觉学习。人类的视觉似乎经过了高度的优化,可以用于预测未来的视觉观测。

研究使用视觉传感器的预测也提供了许多实际优势。首先,高质量的相机很容易获得,并且尺寸、重量和功率要求都很低,这使得它们可以被包括在大多数机器人平台上,由于相机在非机器人应用中的普及,它们已经被商品化了。其次,视觉观察提供了关于环境的丰富信息,包括姿势、纹理和语义,这些信息是其他传感器无法轻易匹配的。获取大量丰富的世界信息对于使代理人能够与世界互动非常重要。

当前学习动作条件视觉预测模型的方法依赖于访问大量的具体数据,这是昂贵且耗时的,从而阻止了基于视觉预测的方法在许多应用中使用。对于机器人来说尤其如此,因为收集大量机器人数据既昂贵又耗时,而且可能不安全。现有工作表明,基于视觉预测的方法随着数据量的增加而扩展良好,因此找到新的数据来源对于使这些模型能够广泛使用至关重要。

在这篇论文中,我提出了三种不同的方法来利用非机器人数据来改进视觉预测和机器人控制。在前两项工作中,我使用人类数据来提高机器人的性能,而在第三项工作中我使用现有的非机器人数据集来实现以对象为中心的预测框架。

7.2 从人类学习

大型和多样化的真实世界数据集对于广泛的泛化和高性能至关重要。大型数据集可以通过自动化管道或人类远程操作进行收集。自动化数据收集过程可以收集非常大的数据集,但在到达环境中感兴趣的部分以及需要与环境进行大量交互方面存在问题。习得的探索策略可以提高代理达到有趣配置的能力,但这些方法仍然需要大量的探索。第二种方法是收集人类演示的远程操作轨迹。这种方法允许数据集轻松地达到有趣的和任务相关的配置。然而,它受到了影响,因为它依赖于人类来操作机器人,这需要训练有素的操作员,而且很快变得非常昂贵。通过从人类学习中汲取灵感,可以找到一种避免这两种方法困难的替代方法。

人类不仅有能力从自己与世界的互动中学习技能,也有能力通过观察他人来学习技能。考虑一个婴儿学习使用工具。为了成功地使用一个工具,它需要学习该工具如何与其他对象交互,以及如何移动工具来触发这种交互。这种直观的物理概念可以通过观察成年人如何使用工具来学习。更普遍地说,观察是关于世界以及行动如何导致结果的强大信息来源。然而,在存在身体差异的情况下(例如成人身体和婴儿身体之间),利用观察是具有挑战性的,因为演示者和观察者的行为之间没有直接对应关系。来自神经科学的证据表明,人类可以有效地推断出这种对应关系,并利用它们从观察中学习。

利用对人类的观察提供了大幅增加可用数据的规模和有用性的机会。与自主收集的数据不同,人类数据可以只关注配置空间中有趣的部分,避免危险或无聊的交互。与通过远程操作收集的数据集不同,人类数据集可以具有更大的规模。公开可用的人类数据集,如Ego4D或SomethingSomething,包含数十万个视频和数千小时的镜头,分布在数百个任务和数十个地点。这些数据集与自主收集的数据集的大小相当],并比通过远程操作收集的数据集中的大小高出一到两个数量级。更重要的是,从人类的无行动观察中学习,开启了从互联网上公开生成的视频中学习的可能性,比如YouTube上的视频,这些视频提供了更多数量级的数据。目前的方法只能将这些数据的有限子集用于特定任务,但我们的工作为更广泛的利用提供了一步。

在这篇论文中,我们考虑了这样一个问题:主体能否学会利用自己的互动和其他主体的被动观察来解决任务?我们在两个环境中探讨了这个问题,第一个是学习动作条件视觉预测模型,第二个是端到端强化学习策略。

在第3章中,我们提出了一种使用人类的无动作数据和主体自己的探索来执行强化学习的方法。我们提出了克服野外人类数据和模拟机器人数据之间的域转换的方法,将动作添加到无动作的人类数据中,以及估计人类数据的奖励的方法。通过利用在现实世界中收集的人类视频,我们能够加快模拟机器人代理的学习速度。

7.3 对象推理

虽然从人类观察中学习可以获得大量数据,但它并不能回答应该学习什么的问题。我们重点学习端到端模型,这些模型直接从传感器输入映射到预测的未来帧或内部结构很少的期望动作。通过为任务选择正确的归纳偏差集,并利用在非机器人数据上预训练的现有模型,我们应该能够用更少的数据训练我们的模型,并实现更高的性能。正确设计学习问题的结构也可以使模型更容易地用于下游任务。我们关注的是假设世界是由物体组成的简单归纳偏见。

大多数用于操纵的动态交互可以通过将场景分解为对象来建模。虽然有些材料,如液体或颗粒介质,不容易被表示为对象,但大多数操作任务都涉及操作离散对象。分拣箱子、重组房间,甚至喝杯咖啡,这些任务主要由与离散对象的交互控制。

以对象为中心的预测模型在预测和困难任务方面表现出了成功的性能。通过将场景分解为离散对象,这些预测模型可以在更长的时间范围内保持每个对象的内聚性。此外,通过将世界状态内部表示为对象集合,以对象为中心的预测模型可以轻松地与规划者对接,并提供一个非常可解释的界面,有助于调试和验证。

8 Affordances from Human Videos as a Versatile Representation for Robotics

标题:人类视频作为机器人的通用表示
作者团队:CMU, Meta AI
期刊会议:CoRL
时间:2023
代码https://robo-affordances.github.io/

8.1 目标问题

从人类视频中学习可操作的动作表示,该模型在未来帧的监督下预测接触点和轨迹路径点。

论文主要关注三个问题:

  1. 如何表示可操作性?
  2. 如何以数据驱动和可扩展的方式学习这种表示?
  3. 如何实现跨机器人的视觉启发的方法部署?

对应这三个问题,本文提出了以下三种观点:

  1. 接触点和接触之后的轨迹是比较好的机器人操作的表示方法;
  2. 利用了自我中心的数据集,聚焦于所有有人类的帧,来预测接触点和接触之后的轨迹,通过使用现成的工具来估计自我运动、人体姿势和手-物体交互;
  3. 实现了一种称为Vision-Robotics Bridge(VRB)的方法,实现这些功能与不同类型机器人的无缝集成。

8.2 方法

(1)可操作性表示

提取人类启示的最自然的方式是观察人们如何与世界互动。常规的思路是从视频中准确模拟人类的运动,但这导致了一个以人为中心的模型,很不容易推广,因为人类的形态和机器人完全不同。

因此本文采用机器人需求驱动的第一性原理,机器人的本体的信息通常是已知的,因此使用运动规划达到3D空间中的点是很容易实现的,关键难点在于与环境的互动位置在哪里,以及接触之后如何移动。

受此启发,采用接触点 $c$ 和接触之后的轨迹 $\tau$ 作为视觉启发的简单操作表示,可以很容易的传递给机器人。其中 $\tau=f(I_t,h_t)$,$I_t$ 是时间步长 $t$ 的图像,$h_t$ 是像素空间中人手位置。

(2)从自我中心的视频中学习操作

接下来的问题是如何处理视觉输入的人体或手,从人类视频中提取接触点 $c$ 和轨迹 $\tau$。

  1. 从人类视频中提取操作

对于给定的视频 $V$,例如人开门,使用现有的手部对象检测模型,对每一帧图像 $I_t$ 生成手的2D边界框和离散接触变量 $o_t$,使用这些信息,我们可以过滤每个图像中 $o_t$ 表示接触的帧,从而找到发生接触的第一个时间步长 $t_{contanct}$。

手的像素空间位置构成了接触之后的轨迹 $\tau$,为了提取接触点,我们使用手边界框以及颜色分割来找到手与其他物体边界框相交的点,利用高斯混合模型拟合这些接触点。

同时要考虑,一个人打开门的时候,人手不仅会移动,相机也会移动,需要补偿相机的运动,使用但应矩阵来解决这一问题,通过匹配连续帧之间的特征来获得单应性矩阵,产生变换后的轨迹。

需要完成视觉的转移,即训练视频中包含人手,但机器人任务中的视角不会有,因此考虑将所有的可操作性映射回第一帧,即人类还没有进入场景时。如果人总在视频中,要么将人裁剪出去,要么丢弃。

  1. 训练模型

以输入图像为条件,训练模型预测接触点和接触后的轨迹。然而由于学习的任务是多模态的,比如人从桌子上拿起杯子可能是要喝水或者倒到其他地方,因此考虑建立空间概率分布,预测多个heatmap处理这一问题。

输入图像使用ResNet进行编码,给出潜在空间表示,然后使用卷积层将这个潜在表示投影到K个概率分割中,得到GMM均值的标签的估计。

image.png

为了估计接触后的轨迹,本文使用基于Transformer的预测。给定场景中,人类可能与许多对象进行交互,这些对象可能不存在在训练数据中,因此我们通过对接触点周围进行采样来解决,实现更好的泛化。

(3)机器人学习

本文用于引导现有的机器人学习方法,考虑了四种不同的机器人模式。

image.png

  1. 离线数据采集中的模仿学习

给定一个图像输入,模型产生接触点和轨迹,我们将这一组数据存储在数据集中。收集到足够的数据后,我们使用模仿学习来控制策略,实现特定的任务。

  1. 自由奖励的探索

目标是发现尽可能多的不同技能,然而现实中从头开始探索效率太低了,因为机器人可能会花费大量时间尝试探索,但仍然无法学习有意义的技能来解决人类想要的任务。

我们考虑先收集数据,然后对所有轨迹进行排序。对于后续的数据采集从高度探索性的轨迹开始进行引导,进一步探索。

  1. 目标条件的学习

利用已知的知识,例如打开的门的图像,监督其进行探索学习。

  1. 可操作性作为动作空间

将机器人在连续空间中的操作,以空间的方式进行参数化,为每个位置分配一个基元。通过学习获得大量预测,利用GMM拟合到这些轨迹点上,获得离散的接触点和轨迹,机器人只需要在这个空间上进行搜索。