本文介绍我们发表在CVPR 2024上的工作《A Unified Diffusion Framework for Scene-aware Human Motion Estimation from Sparse Signals》。本工作旨在稀疏动捕场景下,通过VR/AR设备提供的上半身追踪信号对人体全身动作进行重建还原,在虚拟现实、游戏交互中有着广泛应用。本工作上海科技大学2022级研究生唐江南为第一作者,由汪婧雅教授以及石野教授共同指导完成。
论文地址:
https://openaccess.thecvf.com/content/CVPR2024/papers/Tang_A_Unified_Diffusion_Framework_for_Scene-aware_Human_Motion_Estimation_from_CVPR_2024_paper.pdf
代码链接:
https://github.com/jn-tang/S2Fusion
视频链接:
https://www.youtube.com/watch?v=f0y2Dv2kJcY
摘要
在增强现实与虚拟现实(AR/VR)应用中,基于头戴式显示器和手持控制器所捕获的稀疏追踪信号来估算全身人体运动具有至关重要的意义。在这一挑战中,核心难题在于
如何将稀疏观测数据映射到复杂的全身运动,这一映射过程本身充满了歧义性
。
为解决这一问题,我们提出了基于条件扩散模型(Conditional Diffusion Model)的动作生成框架
,
通过融合场景信息与稀疏追踪信号,实现对人体运动的准确估算。
首先利用周期性自动编码器提取稀疏信号中的时空关系,然后生成时间对齐特征作为附加输入。在此基础上,
继续融合场景几何和稀疏跟踪信号作为条件,使用条件扩散对从预训练的先验中提取的初始噪声运动进行多步采样,以生成准确的全身场景感知运动。
此外,我们设计场景穿透损失(Scene-penetration loss)和相位匹配损失(Phase-matching loss)来引导
的采样过程,使下半身在没有任何跟踪信号的情况下也能生成合理连贯的动作。实验结果表明,我们提出的在估计质量和平滑度等方面均优于最先进的技术。
背景:稀疏动捕场景下的人体运动生成
随着先进的 AR/VR 技术的出现,虚拟会议和游戏等应用中对生成逼真的虚拟人的需求不断增长。然而,常见的 AR/VR 设备,如 HTC Vive 和 Meta Quest Pro,仅提供来自单个头戴式显示器(HMD)和手持控制器内置惯性测量单元(IMU)的稀疏追踪信号。利用这些稀疏追踪信号生成密集的全身运动涉及到具有固有歧义的一对多映射,这使得该问题成为一个具有挑战性的任务。为了解决这个问题,研究者们采用了结合大规模运动捕捉数据和 AR/VR 设备提供的稀疏信号的数据驱动方法。
尽管先前的工作提出了各种各样的模型,如回归方法、变分自编码器(VAE)和归一化流(Normalizing flow),但是它们没有考虑周围的环境,因此都未能很好地解决一对多歧义问题,从而生成了不真实且不协调的运动。
方法
既然人体运动与周围环境密切相关,那么为什么不引入场景感知信息来减少从稀疏追踪信号估计全身运动的不确定性,从而提供更多有价值的线索呢?
因此,我们提出了
( a unified framework fusing
S
cene and sparse
S
ignals with a conditional dif
Fusion
model),一种融合场景信息与稀疏追踪信号的扩散模型框架。
给定
帧稀疏(头部以及双手)的追踪信号
以及场景点云
, 我们想要预测全身动作信号
。其中
和
分别表示输入和输出的维度,
表示场景点云中的点数。因此,
接受的条件输入为:
其中,
为使用 PointNet++ 从场景点云 提取的场景特征。
为使用周期自编码器(Periodic Autoencoder, PAE)从稀疏信号中提取的动作周期特征,虽然这些信号来自于不同的传感器,但它们的周期性变化可以反映出潜在的时间运动模式。
在
中,我们使用标准的 DDPM 采样器在 Diffusion model 中进行多步采样:
其中
是用来学习生成第
步中干净运动的网络,
表示添加的高斯噪声。为了提升采样速度,本文中使用的初始样本分布并非采样自标准高斯噪声, 而是来源于在 AMASS 数据集上预训练的基于 VAE 的动作先验模型。通过该先验模型, 我们可以将稀疏跟踪信号作为条件来采样得到初始运动样本, 这使得
Fusion 能够更快完成采样过程:
此外,我们发现缺乏下半身追踪信号会导致生成的腿部动作不真实,并且与上半身动作不协调。因此,我们设计了两个损失函数来引导
的采样过程,实现对下半身运动的灵活控制:
其中, 场景穿透损失
用来避免不真实的穿模效应, 例如人体直接穿过墙体; 相位匹配损失
通过对齐动作相位来使上半身和下半身的动作更加协调。这是因为人类倾向于同步上半身和下半身的运动以在日常活动(例如散步、跑步、跳舞等)中保持平衡。从图中, 我们可以观察到上半身和下半身的运动之间存在明显的相关性。
采样阶段的整体损失函数如下:
其中,
和
是控制损失函数强度的比例因子。在获得干净的运动样本后, 我们通过注入
的梯度来指导采样过程, 以规范下半身的运动:
完整的采样算法流程如下, 其中
实验结果
我们的方法分别在 GIMO 和 CIRCLE 等不同的数据集上取得了更好的生成效果。
我们展示了两个不同场景中生成的运动序列的结果,并在红框中突出显示了不合理的运动。可以看出,我们的方法可以生成更多相关的腿部运动,并尽可能避免不合理的场景穿透现象。
消融实验
为了验证中各组成部分对性能的作用,我们还设计了额外的实验进行研究探讨:
首先,对模型中各个组件进行消融。其中,MP 表示预先训练的运动先验,Scene 表示模型是否接收场景信息作为额外输入,PAE 表示周期性自动编码器。从结果中可以看出,当三个组件都具备时,模型达到了最好的性能。
下面是探究两种损失函数的影响。从结果中可以看出, 虽然