GAN「一生万物」, ETH、谷歌用单个序列玩转神经动作合成,入选SIGGRAPH

简介: GAN「一生万物」, ETH、谷歌用单个序列玩转神经动作合成,入选SIGGRAPH
酷炫的神经动作合成技术,单个序列就能完成。

生成逼真且多样化的人体动作是计算机图形学的长期目标。对于动作建模和合成来说,研究者通常使用概率模型来捕获有限的局部变化或利用动作捕捉(mocap)获得的大型动作数据集。在阶段设置(stage-setting)和后期处理(例如,涉及手动数据清理)中,使用动作捕捉系统捕获数据的成本很高,并且动作数据集通常是有限制的,即它们缺乏所需的骨骼结构、身体比例或样式。利用动作数据集通常需要复杂的处理,例如重新定位,这可能会在原始捕获的动作中引入错误。

近日,来自苏黎世联邦理工学院、谷歌、芝加哥大学等机构的研究者开发了一个框架 GANimator,该框架能够产生不同且逼真的动作,只使用一个单一的训练序列。这一框架大大简化了数据收集过程,同时允许创建逼真的动作变化,还可以准确地捕捉单独动作序列细节。该研究入选 SIGGRAPH 2022。


我们先来看如下效果图,左边输入的是单个动作序列,右边是生成结果:

GANimator 框架也可以处理动物类的输入:


群体动画。GANimator 框架训练了一个单一的螃蟹舞蹈序列,可以生成各种新颖的运动:

GANimator 框架也可以混合不同的序列,生成一个动作序列:

上述示例说明 GANimator 框架是生成新动作的有效工具,它可以仅使用短动作序列作为输入来合成较长、多样和高质量的动作序列。

方法概览

研究者提出的生成模型可以从单个动作序列中学习,采用的方法受到了图像领域最近使用渐进式生成的工作以及在单个示例上训练深度网络的工作的启发。接下来详细介绍分层框架、动作表征和训练流程的主要构建块。

动作表征

研究者通过一个𝑇姿势的时序集来表征动作序列,该时序集由足部关节位移 O ϵ R^𝑇×3 和关节旋转 R ϵ R^𝑇×𝐽𝑄组成,其中𝐽表示关节数,𝑄表示旋转特征数。

为了减少常见的足部滑动伪影,研究者在表征中加入了足部接触标签。并且,为了简化注释,他们还将连接特征的度量空间表示成了 M_𝑇 ≡ R^𝑇×(𝐽 𝑄+𝐶+3)。

渐进式动作生成架构

研究者提出的动作生成框架如下图 2 所示。该框架由𝑆个粗放到精细(coarse-to-fine)对抗生成网络组成,每个负责生成具有特定帧数 {𝑇_𝑖 }^𝑆_𝑖=1 的动作序列。

第一层负责纯生成,也即𝐺_1 将随机噪声𝑧_1 ϵ M_𝑇_1 映射为粗放动作序列,如下公式(1)所示。

然后,更精细层𝐺_𝑖 (2 ≤ 𝑖 ≤ 𝑆) 中的生成器通过如下公式(2)渐进式地采样 Q_1。

重复上述过程,直到最精细输出序列 Q_𝑆 ϵ M_𝑇_𝑆通过𝐺_𝑆生成。

网络构建块

首先是生成器。研究者采用的生成器𝐺_𝑖包含一个全卷积神经网络𝑔_𝑖 (·),该网络由具有一些骨骼感知卷积层和其后的非线性层。由于该网络的主要作用是添加缺失的高频细节,因此他们使用残差结构,因此对于 2 ≤ 𝑖 ≤ 𝑆,得到如下公式(4)。

下图为 3 则为生成器架构概览。

其次是鉴别器。虽然经典 GAN 架构中的鉴别器输出单个标量,指示输入被分类为「真」或「假」。但对于训练数据中单个序列的情况,这种结构会导致模式崩溃,原因是生成器通常过拟合序列。

最后是骨骼感知算子。研究者采用骨骼感知卷积作为框架基础构建块。骨骼感知算子需要一个由一组关节(顶点)和临接表(边)定义的固定骨骼拓扑。由于网络在单个序列上运行,他们调整该拓扑以匹配输入序列。这允许在任何骨骼拓扑上操作,并且不需要将输入动作重新定位到特定的骨骼结构。

损失函数

对抗性损失。研究者使用 WGAN-GP 损失来训练层𝑖,如下公式(5)所示。

重建损失。为了确保网络生成涵盖所有不同时序 patch 的变化,并且生成特定动作子集时不会崩溃,研究者要求网络从一组预定义的噪声信号 {𝑧^∗_𝑖 }^𝑆_𝑖=1 中重建输入动作。为了鼓励系统这样做,他们重新定义了重建损失,如下公式(6)所示。

接触一致性损失。由于准确的足部接触是保证动作质量的主要因素之一,研究者在框架中预测足部接触标签并使用 IK 后处理来确保接触。由于关节接触标签 L 被集成到动作表征 M 中,骨骼感知网络可以直接在 M 上操作并学习将接触标签预测为动作的一部分。

研究者注意到,接触标签的隐式学习可以导致激活和非激活接触标签转换过程中产生伪影。因此,他们提出了一种新的损失来鼓励接触标签和足部速度之间的一致性。具体地,研究者要求在每一帧中通过如下公式(7)最小化接触标签或足部速度。

训练

用于训练的完整损失如下公式(8)所示。

为了提升结果的稳健性和质量,研究者将每两个连续层组合成一个块并逐块地训练框架。

实验结果

下图 4 展示了动作序列外推能力,并与 acRNN 和经典统计模型 MotionTexture 进行了比较:可以看出,GANimator 产生了全局结构变化,姿态和过渡看起来很自然。

下表 1 为 GANimator 与 MotionTexture 和 acRNN 定量比较结果。可以看出,acRNN 由于收敛于静态位姿,覆盖范围有限,而 GANimator 生成的动作很好地覆盖了训练序列。此外,GANimator 模型在生成可信动作和保持多样性之间取得了良好的平衡。

下图展示了该模型使用两个序列进行训练。第一个序列(左)包含相对静态动作,第二个序列(右)包含较大的动作。该研究在相应的序列中可视化生成的结果(蓝色)及其修补后的最近邻(绿色)的骨骼动画。可以看出,生成的结果包含来自两个训练序列的内容(参见上述生成大象的动图)。

下图展示了该研究生成结果与输入内容相同,同时生成结果更逼真,例如人走路时手肘位置较高。

相关文章
|
机器学习/深度学习 数据采集 算法
四足动物模型控制中的模型自适应神经网络
翻译:《Mode-Adaptive Neural Networks for Quadruped Motion Control》
327 0
|
数据采集 存储 人工智能
TripoSR开源!从单个图像快速生成 3D 对象!(附魔搭社区推理实战教程)
近期,VAST团队和Stability AI团队合作发布了TripoSR,可在一秒内从单个图像生成高质量3D对象。
|
1月前
|
安全 测试技术 API
MiniMax 开源新评测集:定义Coding Agent 的生产级标准
Coding Agent常因“过程违规”遭诟病,如无视指令、破坏规范。MiniMax推出OctoCodingBench,首创面向工程可靠性的过程评估体系,揭示当前模型在多规则协同下成功率极低,呼吁行业关注“过程正确性”,推动Agent从能用走向可用。
354 5
|
10月前
|
缓存 运维 前端开发
快速定位进程性能瓶颈
这篇文章详细介绍了进程热点追踪的概念、业务痛点、解决方案以及实际案例分析,旨在帮助开发者和运维人员快速定位和解决系统性能瓶颈问题。
快速定位进程性能瓶颈
|
10月前
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。
|
11月前
|
机器学习/深度学习 人工智能 vr&ar
LHM:单图生成3D动画人!阿里开源建模核弹,高斯点云重构服装纹理
阿里巴巴通义实验室开源的LHM模型,能够从单张图像快速重建高质量可动画化的3D人体模型,支持实时渲染和姿态控制,适用于AR/VR、游戏开发等多种场景。
2820 0
LHM:单图生成3D动画人!阿里开源建模核弹,高斯点云重构服装纹理
|
人工智能 达摩院 并行计算
VideoRefer:阿里达摩院开源视频对象感知与推理框架,可集成 VLLM 提升其空间和时间理解能力
VideoRefer 是浙江大学与阿里达摩学院联合推出的视频对象感知与推理技术,支持细粒度视频对象理解、复杂关系分析及多模态交互,适用于视频剪辑、教育、安防等多个领域。
688 17
VideoRefer:阿里达摩院开源视频对象感知与推理框架,可集成 VLLM 提升其空间和时间理解能力
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
1822 12
|
C语言
C语言 网络编程(七)UDP通信创建流程
本文档详细介绍了使用 UDP 协议进行通信的过程,包括创建套接字、发送与接收消息等关键步骤。首先,通过 `socket()` 函数创建套接字,并设置相应的参数。接着,使用 `sendto()` 函数向指定地址发送数据。为了绑定地址,需要调用 `bind()` 函数。接收端则通过 `recvfrom()` 函数接收数据并获取发送方的地址信息。文档还提供了完整的代码示例,展示了如何实现 UDP 的发送端和服务端功能。
|
机器学习/深度学习 人工智能 自然语言处理