CVPR2023 | 新方法EgoEgo无需配对视频即可预测3D人体运动

CVPR2023 | 新方法EgoEgo无需配对视频即可预测3D人体运动

首页角色扮演代号ego手游更新时间:2024-05-11

作者:PCIPG-XK | 来源:3D视觉工坊

在公众号「3D视觉工坊」后台,回复「原论文」可获取论文pdf、代码、视频链接。

添加*dddvisiona,备注:姿态估计,拉你入群。文末附行业细分群。

从以自我为中心的视频序列中预测 3D 人体运动在人类行为理解中发挥着至关重要的作用,并且在 VR/AR 中具有多种应用。然而,天真地学习以自我为中心的视频和人体动作之间的映射是具有挑战性的,因为放置在用户头部的前置摄像头通常无法观察到用户的身体。此外,通过配对的自我中心视频和 3D 人体动作收集大规模、高质量的数据集需要精确的动作捕捉设备,这通常将视频中的场景种类限制在类似实验室的环境中。为了消除配对自我中心视频和人体运动的需要,我们提出了一种新方法,通过自我头部姿势估计进行自我身体姿势估计(EgoEgo),它将问题分解为两个阶段,通过头部运动作为中间表示连接。EgoEgo 首先集成 SLAM 和学习方法来估计准确的头部运动。随后,利用估计的头部姿势作为输入,EgoEgo 利用条件扩散产生多个看似合理的全身运动。这种头部和身体姿势的分离消除了使用配对的自我中心视频和 3D 人体运动训练数据集的需要,使我们能够分别利用大规模自我中心视频数据集和动作捕捉数据集。此外,为了进行系统基准测试,我们开发了一个合成数据集 AMASS-Replica-Ego-Syn (ARES),其中包含配对的自我中心视频和人体运动。在 ARES 和真实数据上,我们的 EgoEgo 模型的表现明显优于当前最先进的方法。

从以自我为中心的视频中估计 3D 人体运动对于 VR/AR 中的应用至关重要,该视频记录了使用前置单目摄像头从第一人称视角观察到的环境。然而,天真地学习以自我为中心的视频和全身人体动作之间的映射是具有挑战性的,原因有两个。首先,对这种复杂的关系进行建模很困难;与第三人称视频的重建运动不同,人体通常在以自我为中心的视频的视野之外。二、学习这个映射需要一个大规模、多样化的数据集,其中包含配对的以自我为中心的视频和相应的 3D 人体姿势。创建这样的数据集需要细致的数据采集仪器,不幸的是,目前不存在这样的数据集。因此,现有的工作仅适用于运动和场景多样性有限的小规模数据集。我们引入了一种通用且稳健的方法 EgoEgo,仅根据不同场景的以自我为中心的视频来估计全身人体运动。我们的关键思想是使用头部运动作为中间表示,将问题分解为两个阶段:根据输入的以自我为中心的视频进行头部运动估计,以及根据估计的头部运动进行全身运动估计。对于大多数日常活动,人类具有非凡的能力来稳定头部,使其与身体的质心对齐,这使得头部运动成为全身运动估计的绝佳特征。更重要的是,我们方法的分解消除了从配对的自我中心视频和人体姿势中学习的需要,从而能够从大规模、单模态数据集的组合中学习(例如,仅具有自我中心视频或 3D 人体姿势的数据集),这是普遍且容易获得的。这里也推荐「3D视觉工坊」新课程。

第一阶段,从以自我为中心的视频中估计头部姿势,类似于定位问题。然而,由于未知的重力方向以及估计空间与真实 3D 世界之间的比例差异,直接应用最先进的单目 SLAM 方法会产生不令人满意的结果。我们提出了一种混合解决方案,利用 SLAM 和基于学习变压器的模型,从以自我为中心的视频中实现更加准确的头部运动估计。在第二阶段,我们基于以预测的头部姿势为条件的扩散模型生成全身运动。最后,为了评估我们的方法并训练其他基线,我们构建了一个包含配对自我中心视频和 3D 人体运动的大规模合成数据集,这对于未来的视觉运动技能学习和模拟到真实迁移的工作也很有用。我们的工作有四个主要贡献。

第三人称视频的运动估计。近年来,第三人称视角下的图像和视频的 3D 姿态估计得到了广泛的研究。这个方向主要有两个典型类别。一种是直接从图像和视频中回归关节位置。另一种采用参数人体模型从图像或视频中估计身体模型参数。最近,学习的运动先验被应用于解决抖动、缺乏全局轨迹以及丢失关节或框架的问题。此外,在视频运动估计中强制实施物理约束。与可以看到全身的第三人称视频相比,在以自我为中心的视频中身体关节大多不可见,这对这个问题提出了重大挑战。尽管从自我中心的角度看不到身体关节,但环境如何变化的视觉信息提供了强烈的信号来推断头部如何移动。在这项工作中,我们建议使用头部姿势作为中间表示来连接以自我为中心的视频和全身运动。以自我为中心的视频进行运动估计。以自我为中心的视频的姿势估计受到越来越多的关注。部署鱼眼相机等特殊硬件来根据捕获的图像预测全身姿势。虽然在鱼眼相机拍摄的图像中通常可以看到身体关节,但图像的失真构成了重大挑战。江等人将标准相机部署到人体胸部,并提出一种隐式运动图匹配方法来根据输入视频预测全身运动。You2Me通过观察相机视图中第二人称的交互姿势来预测全身运动。为了实现通过头戴式摄像头估计和预测物理上合理的运动的目标,EgoPose 开发了一个 Deep-RL 框架来学习控制策略来估计当前姿势并预测未来姿势。后续工作 Kinpoly集成了运动学和动力学来预测与已知物体相互作用的物理上合理的运动。虽然他们的方法在收集的数据集中取得了令人印象深刻的结果,但它无法处理数据分布之外的场景和运动。这项工作旨在建立一个更通用和更强大的框架,仅从以自我为中心的视频中推断全身运动。为了验证在更广义的场景和运动中的有效性,我们还引入了一种合成与不同 3D 场景中的动作捕捉数据相对应的以自我为中心的视频的方法,以进行定量评估。稀疏传感器的运动估计。一些工作不是从视频中估计运动,而是探索从稀疏的传感器输入中重建人体运动。TransPose 提出了一个实时管道来预测来自 6 个 IMU 传感器的全身运动,包括头部、躯干、左/右臂和左/右小腿。后续工作 PIP 进一步包括运动学估计器之上的 PD 控制器,以在重建过程中引入物理约束。TIP遵循相同的传感器设置并部署基于变压器的模型以有效地利用 IMU 序列信息。LoBSTr 研究的传感器较少。给定来自 4 个关节(头部、左/右手、躯干)的跟踪器信息,他们提出了一个基于 RNN 的模型,用于根据过去的上半身关节信号推断下半身运动。最近的进展进一步放宽了仅对头部和手部信号的输入限制。在这项工作中,我们不依赖惯性传感器的任何观测。相反,我们的目标是开发一种仅具有以自我为中心的视频输入的解决方案。

我们的方法 EgoEgo 从单眼自我中心视频序列中估计 3D 人体运动。如图 2 所示,我们的关键思想是利用头部运动:首先根据以自我为中心的视频估计头部运动,然后根据头部运动估计全身运动。我们证明头部运动是全身运动估计的一个出色特征,并且是一种紧凑的中间表示,可以将挑战减少为两个更简单的子问题。这种解开还允许我们在第一阶段利用带有头部运动(但没有全身运动)的大规模以自我为中心的视频数据集,并在第二阶段利用单独的 3D 人体运动数据集(但没有以自我为中心的视频)。

注释。我们将全身运动表示为 ,将从前置头戴式摄像头捕获的以自我为中心的图像表示为,其中是序列长度,是姿势状态的维度, 是图像的大小。我们引入头部运动 作为中间表示,以桥接输入自我中心视频和输出人体运动,其中 是头部姿势的维度。

从以自我为中心的视频中估计头部运动可以被视为相机定位问题。然而,我们观察到三个问题,阻碍我们直接应用最先进的单目 SLAM 方法 来解决我们的问题。首先,估计的头部姿势的重力方向是未知的。因此,结果不能直接输入全身运动估计器,因为它期望在重力方向为 的坐标系中表达头部姿势。其次,单目 SLAM 估计的平移与现实世界的距离相比并不按比例。第三,单目 SLAM 在估计相对头部旋转方面往往不如平移准确。基于这些观察,我们提出了一种混合方法,利用 SLAM 和学习模型来实现比单独使用最先进的 SLAM 更准确的头部姿势估计。首先,我们开发了一个基于 Transformer 的模型 GravityNet,根据 SLAM 计算的旋转和平移轨迹来估计重力方向。我们通过将估计的重力方向与 3D 世界中的真实重力方向对齐来旋转 SLAM 平移。此外,根据从以自我为中心的视频中提取的光流特征,我们的方法学习了一个模型 HeadNet 来估计头部旋转和平移距离。HeadNet 的预测平移距离用于重新缩放 SLAM 估计的平移。直接使用HeadNet预测的头部旋转来代替SLAM估计的旋转。图 2 总结了我们生成头部姿势的过程。单目 SLAM。我们采用 DROID-SLAM 来估计以自我为中心的视频中的摄像机轨迹。DROIDSLAM 是一种基于学习的方法,用于估计相机姿态轨迹并同时重建环境的 3D 地图。通过对相机姿态和深度进行循环迭代更新的设计,与之前的 SLAM 系统相比,它展示了更出色、更稳健的结果 。重力方向估计。我们引入 GravityNet 来根据头部姿势序列 预测重力方向 。重力方向g由单位矢量表示。头部姿势输入 由 3D 头部平移、由连续 6D 旋转向量表示的头部旋转、头部平移差值和由计算的头部旋转差值组成,其中 表示头部旋转矩阵在时间步。我们采用基于变压器的架构,由两个自注意力块组成,每个自注意力块都有一个多头注意力层,后面跟着一个位置前馈层。我们将变压器的第一个输出输入 MLP 来预测重力方向 g。我们在大规模运动捕捉数据集 AMASS上训练 GravityNet。然而,AMASS 中的运动序列具有正确的重力方向 。为了模拟单目 SLAM 预测头部姿势的分布,我们对每个 AMASS 序列中的头部姿势应用随机尺度和随机旋转,以生成用于重力估计的训练数据。训练期间使用重力向量的 损失。基于 GravityNet 的预测,我们计算旋转矩阵 来对齐预测 和。然后我们将 应用于 SLAM 翻译,表示为并得到,其中 。头部姿势估计。我们提出 HeadNet 从光流特征序列 预测距离 序列和头部旋转 。光流特征由预训练的 ResNet-18提取。我们部署与 GravityNet 相同的模型架构。由于单目SLAM系统的比例可能与真实的不一致在人类移动的 3D 世界中,我们使用 HeadNet 来预测连续时间步之间的平移差的向量范数,表示为 ,其中 表示标量值。对于单目 SLAM 生成并通过对齐重力方向旋转的每个相机平移序列,给定相机平移轨迹,我们计算 和 之间的距离 为 . 我们将距离序列的平均值设为 。类似地,我们计算预测距离序列的平均值。比例计算公式为 。我们将尺度 s 乘以预测的平移 并使用 作为我们的全局头部平移结果。该网络还预测头部框架中的头部角速度 。我们对预测的角速度进行积分以生成相应的旋转 。在推理过程中,我们假设给定第一个头部方向,并对预测的头部角速度进行积分来估计后续的头部方向。HeadNet的训练损失定义为:。 表示平移距离的 损失。 表示角速度的 损失。 表示旋转损失其中 表示使用预测角速度的积分旋转, 表示地面真实旋转矩阵,表示单位矩阵。

从头部姿势预测全身姿势不是一对一映射问题,因为不同的全身运动可能具有相同的头部姿势。因此,我们使用条件生成模型来制定任务。受到扩散模型最近在图像生成中取得的成功的启发,我们部署扩散模型来生成以头部姿势为条件的全身姿势。我们使用去噪扩散概率模型(DDPM)中提出的公式,该公式也已应用于运动生成和运动插值任务的一些并发工作中。我们将首先介绍我们的数据表示,然后详细介绍条件扩散模型的公式。

时间 时的身体姿势 由全局关节位置 () 和全局关节旋转 () 组成。我们采用广泛使用的SMPL模型作为骨架,关节数量为 22。为了在扩散模型中方便表示,我们使用来表示一系列身体姿势 噪声级 。扩散模型的高级思想是设计一个前向扩散过程,将高斯噪声添加到已知方差表的原始数据中,并学习一个去噪模型,在给定正态分布的采样 的情况下逐步去噪 个步骤,以生成 。具体来说,扩散模型由正向扩散过程和反向扩散过程组成。前向扩散过程逐渐将高斯噪声添加到原始数据中。它是使用 个步骤的马尔可夫链来制定的,如下公式所示:每个步骤由使用 的方差表决定,并定义为为了生成以头部姿势为条件的全身运动,我们需要反转扩散过程。相反的过程可以近似为具有学习均值和固定方差的马尔可夫链:、 其中表示神经网络的参数,是头部条件。学习到的平均值(为了简洁,我们在方程中使用 )可以表示如下,其中 和 是固定参数, 是 的预测:学习均值可以重新参数化为学习预测原始数据 。训练损失定义为 的重建损失:如图 3 所示,在去噪步骤 中,我们将噪声级别 处的头部姿势条件 与身体姿势表示 连接起来,并结合噪声嵌入作为变压器的输入模型,并估计。

我们的方法不需要配对训练数据。尽管如此,出于基准测试的目的,我们开发了一种方法来自动合成具有各种配对的以自我为中心的视频和人体动作的大型数据集。在 3D 场景中生成运动。为了生成包含以自我为中心的视频和真实人体运动的数据集,我们使用大规模运动捕捉数据集 AMASS 和 3D 场景数据集 Replica 。我们将场景网格从副本转换为有符号距离场 (SDF) 以进行穿透计算。我们将 AMASS 的每个序列划分为 150 帧的子序列。对于每个子序列,基于 Replica 提供的语义注释,我们将第一个姿势放置在随机位置,脚与地板接触。然后我们按照 Wang 等人的方法计算穿透损耗。对于该序列中的每个姿势。我们凭经验将阈值设置为2,并且仅保留穿透损失小于阈值的姿势。具体来说,对于由参数化人体模型表示的时间 的人体网格 ,我们将 表示为顶点 的有符号距离。穿透损耗定义为合成现实的以自我为中心的图像。通过检测 3D 场景的渗透而产生的运动序列为摄像机姿势轨迹提供了渲染合成自我中心视频的能力。AI Habitat 是一个用于实体代理研究的平台,支持给定相机轨迹和 3D 场景的快速渲染。我们将头部姿势轨迹输入平台,并在以自我为中心的视图中合成逼真的图像。我们以 30 fps 生成 1,664,616 帧,即 18 个场景中大约 15 小时的运动。我们将合成数据集命名为 AMASS-Replica-Ego-Syn (ARES),并在图 4 中显示了我们的合成数据集中的一些示例。

除了人类感知研究之外,我们还对我们的方法与五个常用的人体运动重建指标的基线进行了评估和比较。我们还进行消融研究来分析我们方法每个阶段的性能以及模型中的设计选择。

**AMASS-Replica-Ego-Syn (ARES) **是我们的合成数据集,其中包含合成的自我中心视频和地面真实运动。ARES 包含 18 个场景、约 15 小时的动作。我们从训练中删除了 5 个场景作为未见过的场景。训练数据集由 13 个不同场景的约 120 万帧组成。测试数据集包含来自 5 个未见过的场景的 34、850 帧。AMASS 是一个大规模动作捕捉数据集,包含约 45 小时的不同动作。我们按照 HuMoR 分割训练和测试数据。**Kinpoly-MoCap **由使用头戴式摄像头捕获的以自我为中心的视频和使用动作捕捉设备捕获的相应 3D 动作组成。整个动作大约持续80分钟。由于它使用动作捕捉设备,因此以自我为中心的视频仅限于单个实验室场景。**Kinpoly-RealWorld **包含使用 iPhone ARKit 捕获的配对自我中心视频和头部姿势。与在实验室场景中捕获的 Kinpoly-MoCap 不同,KinpolyRealWorld 提供野外的以自我为中心的视频。**GIMO **由以自我为中心的视频、眼睛注视、3D 运动和扫描的 3D 场景组成。该数据集是使用收集的Hololens、iPhone 12 和基于 IMU 的运动捕捉套件可用于研究由眼睛注视引导的运动预测任务。我们使用 15 个场景进行训练,4 个场景进行测试。Evaluation Metrics.

训练数据。我们使用 ARES、KinplyRealWorld 和 GIMO 提供的配对自我中心视频和头部姿势来训练 HeadNet。请注意,这些数据集中的身体运动不用于训练 HeadNet。我们的 GravityNet 和条件扩散模型都是在 AMASS 上训练的。对于下面的基线,我们使用配对的以自我为中心的视频和 ARES 中的地面真实运动来训练它们。基线。我们将我们的方法与两个基线 PoseReg 和 Kinpoly 进行比较。PoseReg 将一系列光流特征作为输入,并使用 LSTM 模型来预测每个时间步的姿势状态。位姿状态由根平移、根方向、关节旋转以及相应的速度(包括所有关节的根线速度和角速度)组成。KinpolyOF 提出了一种每步回归模型来根据光流特征估计全身运动。因为我们的问题只允许以自我为中心的视频作为输入,所以我们选择仅具有光流特征作为输入的 Kinpoly 选项,而不依赖于依赖于附加知识的地面真实头部姿势和动作标签。结果。我们将 EgoEgo 的完整流程与 ARES、Kinpoly-MoCap 和 GIMO 上的基线方法 PoseReg 和 Kinpoly-OF 进行比较,如表 1 所示。我们表明,我们的 EgoEgo 优于所有在所有三个数据集上都有很大的基线。我们在图 5 中显示了定性结果。我们生成的运动更好地保留了根轨迹。与基线相比,我们的方法还可以生成更加动态和真实的运动。

基线。我们将我们的混合方法与 DROID-SLAM 的预测结果进行比较。为了公平比较,我们通过将 SLAM 的第一个预测头部姿势与地面真实头部姿势对齐来对 SLAM 轨迹应用旋转。我们在 AMASS 训练分割上训练 GravityNet。对于 HeadNet,我们分别在 ARES、Kinpoly-RealWorld 和 GIMO 上进行训练,以评估不同数据集。结果。我们评估了三个数据集上的头部姿势估计,如表 2 所示。我们在 ARES 上显示了更准确的头部旋转预测结果,并在真实捕获的数据上显示了可比较的结果。由于真实捕获的数据规模有限(Kinpoly-RealWorld包含20分钟的训练视频,GIMO包含30分钟的训练视频),我们相信未来大规模真实捕获的发展可以进一步改进头部旋转预测具有头部姿势的数据集。总体而言,我们的混合方法结合了 HeadNet 的准确旋转预测和重力对齐 SLAM 结果的重新缩放平移,并产生更准确的头部姿势估计结果作为第二阶段的输入。这里也推荐「3D视觉工坊」新课程。

基线。我们将用于全身姿势估计的条件扩散模型与两个基线 AvatarPoser 和 Kinpoly-Head 进行比较。AvatarPoser 将头部和手部姿势作为输入来预测全身运动。我们从输入中删除手部姿势,并将其修改为仅包含头部姿势输入的设置。Kinpoly-Head 是我们对 Kinpoly 模型的修改变体,仅将头部姿势作为输入。基线和我们的方法都是在 AMASS 的训练分割上使用高质量的运动捕捉数据进行训练的。基线。我们将用于全身姿势估计的条件扩散模型与两个基线 AvatarPoser 和 Kinpoly-Head 进行比较。AvatarPoser 将头部和手部姿势作为输入来预测全身运动。我们从输入中删除手部姿势,并将其修改为仅包含头部姿势输入的设置。Kinpoly-Head 是我们对 Kinpoly 模型的修改变体,仅将头部姿势作为输入。基线和我们的方法都是在 AMASS 的训练分割上使用高质量的运动捕捉数据进行训练的。结果。我们在 AMASS 测试集上评估基线和我们的方法,如表 3 所示。由于我们的模型是生成式的,因此同一头部姿势输入有多个合理的预测。为了进行定量比较,我们为每个头部姿势输入生成 200 个样本,并使用 MPJPE 最小的样本作为结果。``

头部姿势估计中组件的影响。我们研究了表 4 中头部姿势估计中每个组件的影响。我们展示了用于对齐重力方向的旋转和学习的比例都可以有效地改善头部平移结果。头部姿势对全身姿势估计的影响。我们比较以预测的头部姿势和地面真实头部姿势作为输入的全身姿势估计结果。表5显示,地面真实头部姿势显着改善了全身姿势估计,这表明通过开发预测更准确头部姿势的方法,可以进一步改善全身姿势估计。头部姿势估计中组件的影响。我们研究了表 4 中头部姿势估计中每个组件的影响。我们展示了用于对齐重力方向的旋转和学习的比例都可以有效地改善头部平移结果。头部姿势对全身姿势估计的影响。我们比较以预测的头部姿势和地面真实头部姿势作为输入的全身姿势估计结果。表5显示,地面真实头部姿势显着改善了全身姿势估计,这表明通过开发预测更准确头部姿势的方法,可以进一步改善全身姿势估计。

作为评估的一部分,我们还进行了两项人类感知研究。第一个是评估以自我为中心的视频预测的全身运动的质量,第二个是评估根据地面真实头部姿势预测的全身运动的质量。在这两项研究中,我们比较了四种类型的运动:来自我们的自我和两个基线的结果,以及基本事实。对于第一个人类研究,每次都会向用户呈现两个动作和一个以自我为中心的视频,并要求用户选择哪个更合理。在第二项人体研究中,用户会看到两个动作,并被要求选择一个看起来更自然、更真实的动作。由于有 10 个示例,并且两个动议可能来自四个来源,因此我们为每个研究设置了 60 个问题。每个问题均由 20 名 Amazon Mechanical Turk 工人回答. 如图 6(a) 所示,对于以自我为中心的视频进行全身估计,与基线相比,98% 和 69% 的工作人员更喜欢我们的结果。此外,与真实结果相比,34% 的回答更喜欢我们的结果(请注意,完美的输出将达到 50%),这表明人们无法轻易区分我们的结果和真实结果运动。如图 6(b) 所示,对于根据头部姿势进行全身估计,与基线相比,88% 和 79% 的工作人员更喜欢我们的结果。

我们提出了一个通用框架来估计以自我为中心的视频中的全身运动。关键是将问题分解为两个阶段。我们从以自我为中心的视频中预测头部姿势,并输入第一阶段的输出来估计第二阶段的全身运动。此外,我们还开发了一种混合解决方案,可以在单目 SLAM 的基础上产生更准确的头部姿势。我们还提出了一个条件扩散模型,可以根据预测的头部姿势生成各种高质量的全身运动。为了在大规模数据集中对不同方法进行基准测试,我们提出了一种数据生成管道来合成具有配对自我中心视频和 3D 人体运动的大规模数据集。与之前的工作相比,我们在合成数据集和真实捕获的数据集上都展示了出色的结果。

1、DDPM:https://speech.ee.ntu.edu.tw/~hylee/ml/ml2023-course-data/DiffusionModel (v2).pdf, https://speech.ee.ntu.edu.tw/~hylee/ml/ml2023-course-data/DDPM (v7).pdf

2、Transformer: https://zhuanlan.zhihu.com/p/105080984

3、SMPL模型:https://www.jianshu.com/p/e2289076c3c2

4、DROID-SLAM:https://zhuanlan.zhihu.com/p/434471738


查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved