当前位置: 首页 > article >正文

《PhysDiff: Physics-Guided Human Motion Diffusion Model》ICCV2023

摘要

论文提出了一种新颖的物理引导的运动扩散模型(PhysDiff),它通过在扩散过程中加入物理约束来生成物理上可信的人类动作。现有的运动扩散模型在生成过程中往往忽视了物理法则,导致生成的动作包含诸如悬浮、脚滑动和地面穿透等明显的伪影。PhysDiff 通过使用基于物理的运动投影模块,在扩散步骤中将去噪后的动作投影到物理上可信的动作空间中,从而显著提高了生成动作的物理合理性。

概述

拟解决的问题:现有的运动扩散模型在生成人类动作时,由于没有考虑物理法则,常常产生物理上不可信的动作,如悬浮、脚滑动和地面穿透等。这严重影响了生成动作的质量,并限制了它们在动画、游戏和虚拟现实等实际应用中的使用。

创新之处:

  1. 物理引导的运动扩散:PhysDiff 模型通过在扩散过程中引入物理法则,提高了动作的物理合理性。
  2. 基于物理的运动投影模块:提出了一种新的模块,使用物理模拟器中的运动模仿来实现动作的物理合理性投影。
  3. 迭代应用物理和扩散:通过在扩散过程中多次迭代应用物理投影和去噪,使动作保持在物理合理空间的同时,接近数据分布。

方法

给定一些条件信息c,如文本或动作标签,我们的目标是生成一个物理上合理的人体运动x^{1:H}=\left \{ x^{h} \right \}_{h=1}^{H},长度为H。生成的运动中的每个x^{h}\in \mathbb{R}^{J\times D}由J个关节的d维特征表示,这些特征可以是关节位置或角度。我们提出了一个物理引导的去噪扩散模型(PhysDiff)用于人体运动生成。从一个有噪声的运动x^{1:H}_{T}开始,PhysDiff建立去噪分布模型,对扩散时间步长T到s (s < T)的运动进行去噪,迭代应用该模型将运动去噪为一个干净的运动x^{1:H}_{0},成为最终输出x^{1:H}。模型中的一个关键组件是基于物理的运动投影模块P_{\pi },它执行物理约束。它利用运动模仿策略π来模拟物理模拟器中扩散步骤的去噪运动,并使用模拟运动来进一步指导扩散过程。

 3.1 物理引导的运动扩散

运动扩散模型是一种生成模型,它通过逐步减少输入数据中的噪声来生成数据。这个过程可以被看作是从高噪声数据 x_{T}​ 逐步恢复到干净数据 x_{0} 的过程,其中 T 表示最大的扩散时间步。

在传统的运动扩散模型中,去噪过程可能生成物理上不可信的动作。为了解决这个问题,PhysDiff模型引入了物理引导的去噪过程,其中包含了一个物理基础的运动投影模块 P_{\pi }

P_{\pi }模块使用物理模拟器中的运动模仿策略 π 来强制执行物理约束。具体来说,这个模块将去噪步骤中产生的中间动作 \widetilde{x}^{1:H}​ 投影到物理上可信的动作空间中。投影后的动作 \widehat{x}^{1:H}=P_{\pi }\left ( \widetilde{x}^{1:H} \right ) 被用于下一个扩散步骤。

物理投影不应在每个扩散步骤都执行,因为物理模拟计算成本较高,频繁投影会显著增加计算负担。因此,作者提出了一种策略,优先在噪声水平较低的后期步骤中进行物理投影。具体策略如下:

  • 早期步骤:在扩散过程的早期,不进行物理投影,允许模型根据数据分布生成动作,而不立即强制物理合理性。
  • 后期步骤:随着扩散过程的进行,逐渐增加物理投影的频率。在这些步骤中,动作已经较为清晰,物理投影可以有效地修正动作,提高物理合理性。

在扩散过程的早期步骤中,噪声水平较高,生成的动作样本往往更接近训练数据的均值,而均值动作通常物理合理性较差。在这些步骤中应用物理投影可能会将动作推向与数据分布更远的方向,从而阻碍扩散过程。

 3.2 基于物理的运动投影

运动投影模块 P_{\pi } 的主要目的是将扩散过程中生成的中间动作 \widetilde{x}^{1:H}​ 映射到一个物理上可信的空间。这个映射通过在物理模拟器中模仿动作来实现,确保生成的动作遵循物理定律,如重力、动量和接触反应。

人类运动模仿的任务可以表述为一个马尔可夫决策过程(MDP)。MDP由状态、行为、过渡动态、奖励函数和折扣因子组成的元组M=\left ( S,A,T,R,\gamma \right )定义。角色代理在物理模拟器中根据动作模仿策略\pi \left ( a^{h}|s^{h} \right )进行操作,该策略模拟给定当前状态s^{h}选择动作a^{h}的分布。状态s^{h}包含角色的物理状态(例如关节角度、速度、位置)以及输入动作的下一个姿势\widetilde{x}^{h+1}。在状态中包含\widetilde{x}^{h+1}通知策略π选择一个可以在模拟器中模拟\widetilde{x}^{h+1}的动作a^{h}。agent从初始状态s^{1}开始,从策略π中迭代采样一个动作a^{h},具有过渡动态T\left ( s^{h+1}|s^{h},a^{h} \right )的模拟器生成下一个状态s^{h+1},我们可以从中提取模拟姿态\widehat{x}^{h+1}。通过运行策略H步,我们可以得到物理模拟的运动\widehat{x}^{1:H}。 

训练。在训练过程中,还会根据模拟运动\widehat{x}^{1:H}与真实运动\overline{x}^{1:H}的匹配程度为角色分配奖励r^{h}。请注意,运动模仿策略π是在大型运动捕捉数据集上训练的,在这些数据集上可以获得高质量的地面真值运动。我们使用强化学习(RL)来学习策略π,其目标是最大化预期收益,这意味着尽可能接近地模仿真实运动。我们采用标准的RL算法来求解最优策略。

奖励。奖励函数的设计是为了鼓励模拟运动\widehat{x}^{1:H}与真实值\overline{x}^{1:H}相匹配。在这里,我们使用“·”来表示真量。每个时间步的奖励r^{h}由4个子奖励组成:

状态。代理状态s^{h}由角色当前的物理状态,输入动作的下一个姿态,以及角色属性向量ψ组成。角色的物理状态包括其关节角度、关节速度、刚体位置、旋转、线速度和角速度。对于输入位姿,状态s^{h}包含了agent在关节角度、刚体位置和旋转上的不同。使用差异通知策略它需要补偿的位姿残差。所有的特征都在角色的头部坐标中计算,以保证旋转和平移的不变性。由于我们的字符基于SMPL身体模型,属性ψ包含性别和SMPL形状参数,以允许策略控制不同的字符。

行动。我们使用比例导数(PD)控制器的目标关节角作为动作表示,这使得在先前的工作中观察到的鲁棒运动模仿成为可能。我们还在动作空间中添加了残余力,以稳定角色并补偿任何动态不匹配。

策略。我们使用参数化高斯策略\pi \left ( a^{h}|s^{h} \right )=N\left ( \mu _{\theta }\left (s^{h} \right ),\Sigma \right ),其中平均作用\mu _{\theta }由参数为θ的简单多层感知器(MLP)网络输出,Σ为固定对角协方差矩阵。注意,我们在推理过程中直接使用平均作用\mu _{\theta }来去除噪声,从而获得更好的仿真性能。

结论

PhysDiff 模型在大规模人类动作数据集上实现了最先进的运动质量,并显著提高了物理合理性。此外,论文还对物理引导扩散的不同时间步策略进行了广泛的实验分析,提供了关于如何在物理合理性和运动质量之间取得平衡的见解。尽管模型在推理速度上可能比现有技术慢,但未来的工作可以通过更快的物理模拟器或改进物理基础投影来加速模型。论文还指出,将物理法则应用于扩散模型的训练过程,可能会进一步提升模型学习到的分布质量。


http://www.kler.cn/a/302943.html

相关文章:

  • 前端请求后端php接口跨域 cors问题
  • UVC 输出视频格式修改和windows下数据分析
  • flink sql + kafka + mysql 如何构建实时数仓
  • C++,STL 054(24.11.13)
  • 第74期 | GPTSecurity周报
  • HarmonyOS Next星河版笔记--界面开发(4)
  • Rust使用Actix-web和SeaORM库开发WebAPI通过Swagger UI查看接口文档
  • 若依框架使用MyBatis-Plus中的baseMapper的方法报错Invalid bound statement (not found):
  • 中电金信:金融级数字底座“源启”:打造新型数字基础设施 筑牢千行百业数字化转型发展基石
  • sponge创建的服务与dtm连接使用etcd、consul、nacos进行服务注册与发现
  • GPT-4与ChatGPT:人工智能对话的新时代【含国内可用gpt】
  • 红帽7—tomcat的部署方法
  • Unity3D Android多渠道极速打包方案详解
  • [000-01-008].第05节:OpenFeign高级特性-请求/响应压缩
  • 【油猴脚本】00003案例 Tampermonkey油猴脚本引入css 库,油猴脚本css库的使用
  • web基础之RCE
  • Ansible简单部署与使用
  • Debian项目实战——环境搭建篇
  • ctfshow-web入门-sql注入(web244-web247)error 报错注入
  • java项目之基于Spring Boot智能无人仓库管理源码(springboot+vue)
  • 《JavaEE进阶》----14.<SpringMVC配置文件实践之【验证码项目】>
  • 【聊聊AI编程必不可少的NLTK及其punkt、punkt_tab安装】
  • Python | Leetcode Python题解之第395题至少有K个重复字符的最长子串
  • WRF-LES与PALM微尺度气象大涡模拟、PALM静态数据预备、PALM驱动数据预报、PALM模拟
  • 软件交付文档
  • NAND NOR FLASH闪存产品的学习记录