参与:刘晓坤、张倩、王淑婷作者:Xue Bin (Jason) Peng 和 Angjoo Kanazawa

不再需要动作捕捉,伯克利推出「看视频学杂技」的AI智能体

伯克利曾经提出 DeepMimic 框架,让智能体模仿参考动作片段来学习高难度技能。但这些参考片段都是经过动作捕捉合成的高度结构化数据,数据本身的获取需要很高的成本。而近日,他们又更进一步,提出了可以直接模仿 Youtube 视频人物高难度动作的新框架 SFV。

从 YouTube 视频中学习技能的智能体。

通过 SFV 学习到的智能体动作还原度很高,并且有很好的泛化至新环境的能力,例如从平地泛化到不规则地形。当然,仍然存在一些难以模仿的动作,例如某某鬼畜骑马舞。

无论是像洗手这样的日常任务还是惊人的杂技表演,人类都可以通过观察他人来学习一些令人难以置信的技能。随着 YouTube 等开源视频数据的激增,现在我们比以往任何时候都更容易找到感兴趣技能的视频片段。每分钟都会有 300 小时的视频传到 YouTube 上。但是,对机器人来说,从这些海量的视频中学习技能仍是一项非常艰巨的任务。大多数模仿学习方法都需要简洁的表征,比如从动作捕捉(mocap)中记录的表征。但是获取 mocap 数据相当麻烦,通常需要大量仪器。Mocap 系统容易局限于遮挡较小的室内环境,这会限制能够记录的技能类型。所以,如果智能体可以从视频片段中学习技能就再好不过了。

使用 Mocap 捕捉演员动作并复现 3D 角色的动作(电影《指环王》)。

在本文中,我们展示了一个从视频中学习技能的框架(SFV)。通过将计算机视觉领域最先进的技术与强化学习相结合,我们的系统使智能体能够从视频中学习各种技能。给定一个单目视频,视频中有人表演侧手翻或后空翻等动作,我们的智能体能够学习在物理模拟中再现该技能的策略,而无需任何手动姿势注释。

从视频中学习全身动作技能的问题在计算机图形学中受到了一些关注。以前的技术通常依赖于手工制作的控制结构,这些结构对要做的动作加了很大的限制。因此,这些方法限制了可以学习的技能类型,由此产生的动作也看起来非常不自然。最近,深度学习技术在 Atari 游戏和简单的机器人任务中进行视觉模仿取得了不错的结果。但是这些任务在演示和智能体的环境之间通常只有适度的领域变化,且主要是在动态相对简单的任务上进行持续控制。

框架

该框架包括三个阶段:姿势估计、动作重建和动作模仿。输入视频首先接受第一阶段姿势估计的处理,预测每一帧中角色的姿势。接下来,动作重建阶段将姿势估计结果固化为参考动作,并修复姿势估计结果可能带来的失真。最后,将参考动作输入到动作模仿阶段,利用强化学习训练智能体模仿动作。

整个流程包含三个步骤:姿势估计、动作重建及动作模仿。执行特定动作的人物视频片段和智能体模型充当输入,并学习一种控制策略,使智能体能够在物理模拟中再现该动作。

姿势估计

我们在一个给定的视频片段中使用一个基于视觉的姿势估计器来预测动作执行者在每一帧中的姿势 q_t hat。姿势估计器建立在人体网格恢复(human mesh recovery)的基础上,后者使用弱监督对抗性方法来训练姿势估计器以预测单目图像中的姿势。虽然需要姿势相关注释来训练姿势估计器,但一旦训练完毕,姿势估计器就可以应用于没有任何标注的新图像。

基于视觉的姿势估计器用于预测人物在每一帧中的姿势

动作重建

由于姿势估计器针对每个视频帧独立预测人物的姿势,因此各帧之间的预测可能不一致,导致出现抖动噪声。而且,尽管基于视觉的姿势估计器在近些年取得了显著进展,但它们仍然偶尔出一些大错,导致出现一些奇怪姿势。这些噪声可以呈现物理上无法模仿的姿势。因此,动作重建阶段的作用就是减轻这些噪声,以产生一些物理上更加可行的参照,使智能体更加容易模仿。为了做到这一点,我们优化了一种新的参考动作,以实现以下目标:

公式中的 l_p(Q hat) 使得参考动作与原始姿势预测更加接近,L_sm(Q hat) 使得相邻帧的姿势更加相似,以生成更加连贯的动作。此外,W_p 和 W_sm 是不同损失的权重

这一过程可以显著提高参考动作的质量,并且可以修复原始姿势预测里的大量噪声。

动作重建前后的参考动作对比。动作重建修复了一些失真,使参考动作更加流畅。

动作模仿

现在我们得到了参考动作  ,接下来我们将训练智能体模仿该技能。动作模仿阶段使用与模拟 mocap 数据类似的强化学习方法。奖励函数鼓励策略将每一帧 t 中模仿智能体的姿势和重建参考动作 q^_t 之间的区别最小化,这种简单的方法效果非常的好,智能体能够学习多种高难度杂技技巧,且每个技巧都仅通过一次视频展示习得。

智能体通过模仿视频片段学习多种技巧。

结果

总之,我们的智能体可以从 Youtube 的多种视频剪辑中学习 20 多种不同的技能。

我们的框架可以从视频演示中学习大量的技能组合。

即使智能体的形态和视频中的人物通常很不相同,其学习到的策略仍然可以重现很多种技能。作为更加极端的形态差异的示例,我们还可以训练一个虚拟的 Atlas 机器人来模仿人类的视频剪辑中的动作。

虚拟仿真机器人(Atlas)可以通过模仿视频剪辑学习多种动作组合。

使用虚拟智能体的一个好处是我们可以利用模仿过程来将其行为泛化到新环境中。这里我们模拟了让智能体学习适应不规则地形的动作,其中原始的视频剪辑记录的是在平地上的人物动作。

智能体在不规则的地形中也能做出模仿动作。

即使新环境和原始视频的环境很不相同,学习算法依然发展出了非常合理的策略来应对新的环境。

总而言之,我们的框架真的仅仅是使用了任何人都能想到用来解决视频模仿问题的明显方法。关键在于将问题分解为更好掌控的组成,为这些组成选择正确的方法,并有效地将它们整合到一起。然而,视频模仿技能仍然是一个极有挑战性的问题,目前仍然有大量的视频剪辑是我们无法重现的。

灵巧的舞步,例如江南 Style,仍然是很难模仿的。

但令人鼓舞的是,仅通过整合已有的技术,我们就能在这个难题上走出一大步。

论文:SFV: Reinforcement Learning of Physical Skills from Videos

基于动作捕捉的数据驱动的智能体可以生成高度自然的动作,而且与物理模拟相结合时可以提供对物理干扰、环境变化和形态差异的自然过程响应。动作捕捉仍然是最流行的动作数据来源,但是收集 mocap 数据通常需要配备大量仪器的环境和表演者。在本文中,我们提出了一种方法,使智能体能从视频中学习技能(SFV)。该方法基于深度姿势估计和深度强化学习,允许数据驱动的模仿利用网络上的大量公开视频片段,如 YouTube 上的视频。这有可能通过查询所需动作的视频记录来实现快速而简单的人物控制器设计。所产生的控制器对干扰具有鲁棒性,能够适应新设置,执行基本的对象交互,并能通过强化学习重新定位新形态。我们还进一步证明,该方法可以通过对观察到的姿势进行初始化得到的学习控制器进行正向模拟,进而根据静止图像预测人物的可能动作。我们的框架能够学习各种动态技能,包括运动、杂技和武术。

原文链接:https://bair.berkeley.edu/blog/2018/10/09/sfv/

入门BAIR伯克利强化学习
51
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

模仿学习技术

模仿学习(Imitation Learning)背后的原理是是通过隐含地给学习器关于这个世界的先验信息,就能执行、学习人类行为。在模仿学习任务中,智能体(agent)为了学习到策略从而尽可能像人类专家那样执行一种行为,它会寻找一种最佳的方式来使用由该专家示范的训练集(输入-输出对)。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
这篇文章很棒!想法直观,方法踏实,效果惊艳:“关键在于将问题分解为更好掌控的组成,为这些组成选择正确的方法,并有效地将它们整合到一起。”——感觉受到鼓舞!