人体动作生成任务旨在生成逼真的人体动作序列,以满足娱乐、虚拟现实、机器人技术等领域的需求。传统的生成方法包括 3D 角色创建、关键帧动画和动作捕捉等步骤,其存在诸多限制,如耗时较长,需要专业技术知识,涉及昂贵的系统和软件,不同软硬件系统之间可能存在兼容性问题等。随着深度学习的发展,人们开始尝试使用生成模型来实现人体动作序列的自动生成,例如通过输入文本描述,要求模型生成与文本要求相匹配的动作序列。随着扩散模型被引入这个领域,生成动作与给定文本的一致性不断提高。
然而,生成动作的自然程度离使用需求仍有很大差距。为了进一步提升人体动作生成算法的能力,本文在 MotionDiffuse [1] 的基础上提出了 ReMoDiffuse 算法(图 1),通过利用检索策略,找到高相关性的参考样本,提供细粒度的参考特征,从而生成更高质量的动作序列。
通过巧妙地将扩散模型和创新的检索策略融合,ReMoDiffuse 为文本指导的人体动作生成注入了新的生命力。经过精心构思的模型结构,ReMoDiffuse 不仅能够创造出丰富多样、真实度高的动作序列,还能有效地满足各种长度和多粒度的动作需求。实验证明,ReMoDiffuse 在动作生成领域的多个关键指标上表现出色,显著地超越了现有算法。
方法介绍
ReMoDiffuse 主要由两个阶段组成:检索和扩散。在检索阶段,ReMoDiffuse 使用混合检索技术,基于用户输入文本以及预期动作序列长度,从外部的多模态数据库中检索出信息丰富的样本,为动作生成提供强有力的指导。在扩散阶段,ReMoDiffuse 利用检索阶段检索到的信息,通过高效的模型结构,生成与用户输入语义一致的运动序列。
为了确保高效的检索,ReMoDiffuse 为检索阶段精心设计了以下数据流(图 2):
图 2:ReMoDiffuse 的检索阶段
扩散过程(图3.c)由正向过程和逆向过程两个部分组成。在正向过程中,ReMoDiffuse 逐步将高斯噪声添加到原始动作数据中,并最终将其转化为随机噪声。逆向过程专注于除去噪声并生成逼真的动作样本。从一个随机高斯噪声开始,ReMoDiffuse 在逆向过程中的每一步都使用语义调制模块(SMT)(图3.a)来估测真实分布,并根据条件信号来逐步去除噪声。这里 SMT 中的 SMA 模块将会将所有的条件信息融入到生成的序列特征中,是本文提出的核心模块。