NVIDIA放大招了!Action-GPT:利用GPT实现任意文本生成动作!
浏览量: 483
时间: 2023-03-23 03:15
关键词: 扩散模型,文本视频,虚拟现实,语言模型

但是之前的Stable Diffusion生成高清图片无法做到精准控制,需要在多个结果里进行挑选。最近,ControlNet和T2I-Adapter等模型的出现使AIGC又开始爆火,热度甚至超过Stable Diffusion刚发布的时候,这种对扩散模型进行条件引导的方法使得AIGC离实际落地又近了一步。
除了文本生成图片,也有许多其他的文本引导生成任务,例如基于文本生成视频,基于文本生成动作,这些研究在诸如娱乐,虚拟现实和机器人等领域均有大量应用。
不同与Stable Diffusion这些以文生图的模型,今天要介绍的Action-GPT[1]是近日挂在arxiv上的一基于文本的生成动作的论文,论文名称:Action-GPT: Leveraging Large-scale Language Models for Improved and Generalized Action Generation。
方法
之前的动作生成方法大多是在一个固定类别集合上生成固定类型动作,很难泛化到其他类别描述上。而最近的方法则侧重于约束文本条件生成动作,通过联合优化的运动和语言表征。
Action-GPT是一种插即用的框架,可用于将大型语言模型 (LLM) 合并到基于文本的动作生成模型中。鉴于当前的动作短语运动捕捉数据集包含最少的和最重要的信息, Action-GPT首先通过为 LLM 精心制作prompt提示,生成更丰富、更细粒度的动作描述,再利用这些详细描述来代替原始动作短语,从而更好的对齐文本和运动空间。

图1:Action-GPT框架图
具体来说,Action-GPT主要由Text Encoder,Motion Encoder,Motion Decoder组成,其中Text Encoder,Motion Encoder分别将文本序列和动作序列编码为特征向量。
给定一个动作短语x,首先使用prompt函数 fprompt(x)生成一个合适的prompt文本xprompt。然后将xprompt输入到大规模语言模型(GPT-3)中获取包含更细粒度动作细节的多个动作描述Di。

图2:prompt函数与GPT-3生成的结果
然后利用一个Description Embedder获得每个Di相应的深度文本表征vi,再利用Embedding Aggregator进行融合后输入到Text Encoder中。
在训练期间,动作姿势序列 H1, ..., HN 由Motion Encoder处理,然后将两个Encoder输出的结果输入到VAE中得到Zt和Zm,训练阶段将两者进行对齐。在推理过程中,采样的文本嵌入被提供给运动解码器,运动解码器输出生成动作序列。
数据
本次研究使用的训练数据集为大规模BABEL数据集 ,其中的语言标注描述了 mocap 序列中正在进行的动作。包括来自 AMASS 数据集的约 43 小时的 mocap 序列的动作标注。

图3:BABEL数据集
结果
经过实验表明,基于MotionCLIP, TEMOS以及TEACH三种方法,Action-GPT框架在BABEL测试集上的结果均有较大提升:

图4:BABEL测试集性能对比

图5:BABEL中的结果示例
除此之外,Action-GPT更强大的能力在于零样本生成(Zero-Shot Generations)。利用GPT-3的强大语言能力,Action-GPT还可以根据未见过的文本短语生成动作序列 。