论文阅读-《Global-to-Local Modeling for Video-Based 3D Human Pose and Shape Estimation》

目录

1  摘要

1.1 挑战

1.2 改进

1.3 创新点

2  介绍

2.1 挑战

2.2 解决

2.3 贡献

3  相关工作

3.1 基于图像的人体姿态估计

3.2 基于视频的人体姿态估计

4  方法

4.1  GMM(Global Motion Modeling)

4.1.1 全局Transformer

4.1.2 Masked Pose and Shape Estimation (MPSE) 

4.1.3 Human Prior Padding 人体先验填充策略

4.1.4 迭代回归器

4.2 LPC(Local Parameter Correction)

4.2.1 局部变压器

4.2.2 分层空间相关回归器 HSCR 

4.2.3 损失函数

5  实现细节

6  实验

6.1 评估指标 (Evaluation Metrics)

6.2  数据集 (Datasets)

6.3 与最先进方法的比较 (Comparison with State-of-the-art Methods)

6.4 消融实验 (Ablation Studies)

6.5 定性评估 (Qualitative Evaluation)

7  结论


1  摘要

1.1 挑战

视频中的3D人体姿态和形状估计主要依赖于两个关键指标:

  • 帧内精度 (Intra-frame accuracy):确保每一帧的人体姿态和形状估计准确。

  • 帧间平滑性 (Inter-frame smoothness):确保连续帧之间的姿态和形状转换自然、平滑。

现有的最先进方法通常将这两个指标当作统一的问题处理,采用单一的建模结构(如RNN或基于注意力的块)来设计网络。然而,这种方法难以在学习短期和长期时间相关性之间取得平衡,容易导致:全局位置偏移(如人体在视频中的位置不准确)、时间不一致性(视频中的动作不连贯)、局部细节不足(人体网格的细节不够精细)等问题。

1.2 改进

本文提出了GLoT模型,通过结构化解耦长短期的时间相关性来解决上述问题。首先GLoT引入了全局Transformer,用于长时间依赖的建模。它采用了一种Masked Pose and Shape Estimation策略,通过随机屏蔽部分帧的特征来促使模型学习帧间的相关性。这有助于模型从长时间跨度上更好地捕捉人体运动的一致性。其次通过引入了局部Transformer,用于提取人体网格的局部细节。局部Transformer与全局Transformer通过交叉注意力机制进行交互,确保局部和全局信息的有效融合。最后通过层次空间关联回归器(HSCR)进一步优化帧内的估计,通过解耦的全局-局部表示和隐式运动学约束来增强细节的准确性。

1.3 创新点

  • 全局到局部Transformer (GLoT) 模型架构:GLoT模型创新性地将长短期时间相关性解耦,分别通过全局Transformer和局部Transformer进行处理。全局Transformer专注于长时间依赖的全局运动建模,而局部Transformer则专注于短期依赖的局部细节捕捉。通过交叉注意力机制协同工作,模型能够同时处理帧间的平滑性和帧内的细节准确性。

  • Masked Pose and Shape Estimation (MPSE) 策略:在全局Transformer中引入了一种新颖的Masked Pose and Shape Estimation策略,通过随机屏蔽部分帧的特征来逼迫模型更好地学习帧间的相关性。这种策略帮助全局Transformer从更长远的时间跨度中提取一致的人体运动信息,从而改进了全局位置估计和运动连续性。(Tips:之前在P-STMO模型中见过类似思想)

  • 层次空间关联回归器 (HSCR):GLoT引入的HSCR通过对人体的运动学约束进行建模,进一步提升了局部细节的精度。HSCR不仅依赖于全局Transformer的结果,还结合局部Transformer生成的细节信息,分层地调整人体的关节和姿态,确保了每一帧的人体网格更加精确。

  • 减少模型参数:相比以往的方法,GLoT在保持或提升模型性能的前提下,显著减少了模型的参数量。尤其在3DPW等数据集上,GLoT在多项指标上优于其他最新的方法。

2  介绍

从单目视频中自动恢复人体网格序列的技术已经逐渐应用到了各个领域,在增强现实(AR)、虚拟现实(VR)、机器人和计算机图形学等领域具有广泛应用,除此之外还可以减少对运动捕捉设备和手动3D标注的依赖,为下游任务(如3D头像动画等)提供人体运动模板。

2.1 挑战

1. 提升人体模型精确性

目前现有技术主要通过参数化的人体模型(如SMPL)来表示人体的关节和形状结构,尽管现有方法可以利用深度神经网络来回归这些参数化模型的参数,但如何有效地将深度神经网络与参数化模型相结合,从而利用“多知识表示”来提高估计的准确性,仍然是一个亟待解决的问题。

  • 深度神经网络在捕捉人体的姿态和形状时可以提取大量视觉特征。
  • 参数化模型(如SMPL)使用先验的人工模型,通过参数化变量来控制人体的形状和姿态。这些模型定义了清晰的关节和形状结构,但需要精确的参数来产生合适的3D人体网格。

2. 时间序列依赖性

在视频中3D人体网格恢复的过程中,核心挑战在于如何有效地处理时间依赖性,即模型需要同时捕捉短期和长期的时间相关性(Temporal correlations),它要求既要保持帧内的准确性,又要保持帧间的平滑过渡。现有的主流方法(如VIBE、TCMR和MPS-Net)试图通过深度网络来同时建模长短期的时间相关性,但这种方法存在一定的局限性。

  • VIBE (2020):VIBE采用了递归神经网络(RNN),这种网络擅长处理时间序列问题,能够通过隐藏状态记住前几帧的信息来捕捉人体运动的短期和长期相关性。

    • 局限性:RNN虽然擅长处理短期时间依赖,但对于长期的全局依赖表现较差。RNN-based方法容易出现全局位置偏移问题,即人体在视频中的位置可能不准确或不稳定。
  • TCMR (2021):TCMR采用了RNN-based时序编码器来捕捉时间序列中的时间依赖性,同时使用注意力机制来整合不同时间段的帧特征。

    • 局限性:虽然这种方法能够改善帧间的平滑性,但RNN模型本身倾向于依赖局部时间信息,忽略了视频中的全局位置,因此全局一致性较差。
  • MPS-Net (2022):MPS-Net使用基于注意力的时序编码器和多步的注意力聚合机制来建模视频中的长时间依赖。这种方法在处理长时间序列时表现较好,能够捕捉到人体网格在视频中的全局运动。

    • 局限性:MPS-Net在长时间依赖的处理上具有优势,但其局部细节不足,即它在每一帧内的局部姿态和形状估计不够精确,导致人体网格的形状和视频中的人体不完全一致。

这类模型将长短期的时间相关性统一建模,导致网络很难在这两者之间取得平衡。RNN模型往往专注于局部依赖,忽视了全局位置的准确性;而基于注意力的模型虽然能够处理长时间依赖,但缺乏足够的局部细节。这种不平衡使得模型在预测SMPL参数时很难同时满足精细的帧内网格结构和全局的运动一致性需求。

2.2 解决

为了解决在视频3D人体网格恢复任务中要同时保持帧内精度与帧间平滑性的挑战,GLoT提出了解耦短期与长期时间建模的方法。GLoT主要可以分为两个部分:

  • 全局运动建模(Global Motion Modeling  GMM):该部分使用一个全局Transformer,通过引入一种**Masked Pose and Shape Estimation (MPSE)**策略,专注于捕捉长距离的时间依赖性(如全局位置的准确性和运动的连续性)。MPSE通过随机屏蔽部分帧的特征,迫使模型预测这些被屏蔽帧的SMPL参数,从而帮助全局Transformer学习帧间的一致性。

  • 局部参数校正(Local Parameter Correction  LPC):这部分通过局部Transformer和层次空间关联回归器(Hierarchical Spatial Correlation Regressor, HSCR)来处理短期依赖和帧内的局部细节。局部Transformer处理中间帧及其附近的帧,将中间帧作为查询,匹配全局Transformer编码器的记忆,生成解耦后的全局-局部表示。HSCR则利用人体运动学结构对局部网格进行精细校正,确保局部形状和姿态的准确性。

在全局-局部协同建模的帮助下,GLoT避免了全局位置移动,并补充了帧内人体网格的局部细节:

通过全局与局部的协同建模,GLoT模型的优势可以汇总如下:

  • 帧内精度与帧间平滑性:GLoT在提高帧内人体网格结构的精确度的同时,显著改善了帧间的运动连续性。这一优势在常用的3DPW、MPI-INF-3DHP和Human3.6M数据集上得到了验证。

  • 模型性能:与之前最先进的方法相比(如MPS-Net),GLoT在几个关键评估指标上都有显著提升,包括PA-MPJPE(通过Procrustes对齐后的关节位置误差)、MPJPE(关节位置误差)和MPVPE(顶点位置误差),分别减少了1.5 mm、3.6 mm和3.4 mm。同时,GLoT保持了最小的加速度误差(Accel),这表明其在帧间平滑性上也具备领先性能。

  • 模型参数量减少:相比其他模型,GLoT显著减少了参数量,同时保持了高效的性能,这使得该模型更适合在资源有限的环境中应用。如图2所示:

2.3 贡献

  1. 解耦建模的首次尝试:GLoT首次在视频中3D人体姿态和形状估计任务中成功实现了短期和长期时间相关性的解耦建模,解决了现有方法在处理这类任务时的平衡问题。

  2. 全局与局部的协同建模:通过全局运动建模局部参数校正的结合,模型可以分别学习帧间的全局依赖性和帧内的局部细节,从而提高整体预测的准确性。

  3. 性能提升与参数优化:在多种广泛使用的数据集上的实验表明,GLoT不仅在准确性上超越了之前的最先进方法,还通过减少模型参数量提升了效率,达到了更好的平衡。

3  相关工作

3.1 基于图像的人体姿态估计

1. 基于SMPL回归的方法

  • Kanazawa et al. (2018) 提出了一个名为Human Mesh Recovery (HMR) 的端到端框架,旨在通过SMPL模型预测人体的形状和3D关节角度。该方法引入了对抗训练,提升了模型的效果。

  • 其他方法则将先验知识与卷积神经网络(CNN)相结合,以估计SMPL参数。这些先验知识包括2D关节热图、人体轮廓、语义人体部分分割、多尺度上下文以及人体运动学的先验知识。例如:

    • Li et al. (2021) 通过引入3D姿态估计分支来使用逆运动学。

    • Kolotouros et al. (2019) 将基于优化和基于回归的两种方法统一到一个通用框架中。

2. 直接回归人体网格的方法

  • 另一类方法则不依赖参数化的SMPL模型,直接回归人体网格。这些方法通常在图像上获得良好的结果,但在处理视频序列时容易导致人体运动不稳定。

3.2 基于视频的人体姿态估计

基于视频的人体姿态和形状估计主要采用基于SMPL的回归方法。

  1. SMPL模型:SMPL(Skinned Multi-Person Linear model)是一种流行的基于模型的人体姿态和形状估计方法。它通过线性变换来描述人体的姿态和形状,但可能在处理复杂动作和非标准姿势时存在局限性。

  2. HMMR:HMMR(Human Motion and Mesh Recovery)是一种从视频中学习人体动态表示的方法,能够预测未来的帧。这种方法有助于理解人体运动的长期动态,但可能在预测准确性和实时性方面面临挑战。

  3. 运动先验:通过引入大规模动作捕捉数据集的运动先验,可以帮助模型学习更合理的人体运动结构。然而,这种方法可能会受到数据集局限性的影响,并且可能难以适应未在数据集中见过的动作或场景。

  4. 时间一致性:在视频序列中保持时间一致性是一个挑战,因为人体运动是复杂的,并且可能会有快速或不规则的变化。MEVA、TCMR和MPS-Net等方法通过不同的技术来提高时间一致性,但仍然可能存在问题,如全局位置偏移和运动不一致性。

  5. MEVA:MEVA(Motion Encoding Variational Autoencoder)使用VAE来编码运动序列,并生成粗糙的人体网格序列,然后通过残差连接进行细化。这种方法有助于生成更加平滑和连贯的运动序列,但可能需要大量的计算资源。

  6. TCMR:TCMR(Temporal Convolutional Mesh Regression)使用GRU对不同长度的视频输入进行编码,并整合中帧及其前后帧。这种方法有助于提高时间编码的效率,但可能在处理长视频序列时遇到挑战。

  7. MPS-Net:MPS-Net(Multi-Person Shape and Pose Estimation Network)通过非局部运动连续性注意力模块和分层注意力特征整合模块来提高时间一致性和准确性。这种方法在处理多人场景和复杂动作时可能更加有效,但可能需要更复杂的网络结构和更多的训练数据。

4  方法

本文提出了一个名为Global-to-Local Transformer (GLoT) 的新框架,它由全局运动建模 (Global Motion Modeling, GMM)局部参数校正 (Local Parameter Correction, LPC) 两个分支组成,用于处理视频中的3D人体姿态和形状估计任务。

总体过程如下:

1. 输入:一个包含T帧的RGB视频,表示为 I = \left \{I_t \right \}_{t=1}^{T}​。

2. 模型首先通过一个预训练的ResNet-50 提取静态特征。ResNet-50负责从每一帧中提取高维特征 S = \{s_t\}_{t=1}^{T},其中 s_t \in \mathbb{R}^{2048} 表示每一帧的2048维特征向量。(在此过程中,ResNet-50是预训练的,模型不会进一步训练该网络,提取的静态特征会存储在磁盘中)

3. 这些静态特征接着会被传递到GMM模块中。GMM处理视频中的全局时间依赖性,捕捉人体运动的长期模式。

4. 另一部分特征被传递到LPC模块中。LPC专注于人体网格的局部细节校正,确保每一帧的人体姿态和形状都能准确匹配。

4.1  GMM(Global Motion Modeling)

4.1.1 全局Transformer

全局Transformer基于自注意力机制(self-attention),擅长捕捉长时间的全局依赖性。它特别适合用于建模人体运动的长时间依赖,并且有助于保持时间上的一致性(temporal consistency)。

4.1.2 Masked Pose and Shape Estimation (MPSE) 

该策略通过随机屏蔽部分静态特征(static tokens),然后仅预测这些被屏蔽帧的SMPL参数。这个策略能够帮助全局Transformer更好地挖掘帧间的人体运动相关性。未被屏蔽的特征用于预测被屏蔽帧的参数,模型通过学习这些帧间的关联性,提升对全局一致性和人体运动的理解。

4.1.3 Human Prior Padding 人体先验填充策略

1. 目的:在全局Transformer中,为了减少计算成本,模型不会对被屏蔽的token进行编码。由于部分特征被屏蔽,模型在解码阶段需要使用某种形式的填充来替代这些被屏蔽的token。

2. 填充策略:作者提出使用SMPL均值模板(SMPL mean template)作为填充token。这一均值模板代表了SMPL参数分布的平均值,与随机采样的人体姿态相比,它与实际姿态的平均差异最小。

3. 原因:由于Transformers是基于残差连接的堆叠结构,因此,如果输入的初始化状态与输出的预测差异较小,模型的学习将变得更加容易和稳定。使用SMPL均值作为初始输入,有助于减少训练过程中的误差积累。

4. 实现过程:为了将SMPL均值模板转换为合适的输入形式,模型使用了一个多层感知机(MLP)来进行维度变换。转换后的模板被称为SMPL token,用于填充被屏蔽的位置。因为预处理阶段已经将每一帧人体解析成2048维特征向量,为了方便填充,这里使用MLP作为维度转换,将SMPL的平均模板(一个低维的表示)映射到一个更高维的空间,以便于与全局Transformer模型的其他部分进行交互。同时,MLP将SMPL模板转换为一个“SMPL token”,这个token可以作为Transformer模型的初始化输入,有助于模型从接近最终输出的初始状态开始学习。

  1. 输入:首先,将SMPL的平均模板作为MLP的输入。这个模板是一个包含人体模型参数的向量,如关节位置、骨骼长度等。

  2. 隐藏层:MLP包含多个隐藏层,每一层都通过非线性激活函数(如ReLU)来增加模型的表达能力。这些层可以学习到从SMPL模板到更复杂特征的映射。

  3. 输出:MLP的输出是一个转换后的向量,这个向量被用作Transformr模型的输入。这个输出向量包含了从SMPL模板中提取的特征,并且已经调整到了适合Transformer处理的维度。

  4. 集成到模型:将MLP的输出作为“SMPL令牌”集成到全局Transformer模型中。在解码阶段,这个令牌被用来填充被掩码的位置,帮助模型预测人体的姿态和形状。

  5. 全局角度:在全局运动建模中,MLP的输出(SMPL令牌)被用于初始化Transformer模型的输入。这样,模型可以从一个接近于最终预测结果的状态开始学习,这有助于减少学习过程中的残差差异,提高学习效率。在解码阶段,MLP输出的SMPL令牌被用来填充被掩码的位置,使得Transformer模型能够利用这些信息来预测人体的姿态和形状。

SMPL平均模板是指在SMPL模型中,所有可能的人体姿态和形状的平均状态。这个模板是通过分析大量的人体扫描数据,计算出各种参数的平均值而得到的。

在进行人体姿态和形状估计时,SMPL平均模板可以作为初始估计,帮助算法从一个合理的起点开始搜索最优解,从而减少模型在搜索最优姿态和形状时的计算量,因为平均模板已经接近于许多常见姿态。

4.1.4 迭代回归器

迭代回归器基于HMR提出的模型,通过逐步回归残差的方式来优化人体姿态和形状的估计。每次迭代从SMPL均值参数开始,然后逐步调整参数,以使预测结果更加精确。尽管回归器可能忽略一些局部细节(如人体的运动学结构),但它非常适合用作全局-局部框架中的初始全局估计。此初始估计能够为后续的局部参数校正提供稳固的基础。

原理

迭代回归器是一种用于逐步优化预测结果的算法,它从一组初始参数(如SMPL的平均参数)开始,逐步回归或调整模型的参数,减少每一步预测和真实值之间的残差。这个过程可以表述为一个多步的优化问题:

  • 初始参数:迭代回归器从SMPL均值参数开始。SMPL均值表示一个平均的人体姿态和形状,能够作为初始状态,帮助模型在预测的早期阶段避免偏差过大的问题。

  • 逐步回归:每次迭代中,回归器基于之前的预测,计算新的残差(即真实值与预测值的差异),并利用这些残差来更新SMPL参数。这一过程不断重复,直到参数收敛到更精确的估计值为止。

4.1.5 GMM完整流程

  • 特征屏蔽:首先,模型随机屏蔽部分帧的特征(即“静态token”)。例如,设定屏蔽比例 \alpha,剩下未屏蔽的特征构成 S_l \in R^{(1-\alpha)T \times 2048}

    • S_l:表示输入序列的静态特征(static features)的一个子集。在这里,它代表未被屏蔽(masked)的部分特征序列。

    • \mathbb{R}^{(1 - \alpha)T \times 2048}:这个表达式描述了矩阵的形状:

      • (1 - \alpha)T:指未被屏蔽的帧数。其中,\alpha 是屏蔽比例(mask ratio),T 是总帧数。

        • \alpha 代表了屏蔽的比例,比如说,如果屏蔽比例是0.2(即 20% 的帧被屏蔽),那么(1 - \alpha)T 表示剩下的 80% 的帧。

        • 如果 T 是视频的总帧数,那么 (1 - \alpha)T 表示剩下的未屏蔽帧数。

      • 2048:每一帧的静态特征向量的维度。在这篇文章中,静态特征是通过预训练的ResNet-50提取的,ResNet-50的输出特征维度为2048。

  • 全局编码器:将未屏蔽的特征输入到全局Transformer的编码器部分。

  • 解码阶段:在解码阶段,使用经过MLP转换的SMPL token填充被屏蔽的特征。整个序列被送入全局解码器,生成长时间依赖的表示。

  • 迭代回归:在长时间依赖的表示生成后,模型将应用迭代回归器,逐步优化SMPL参数。具体来说,SMPL参数 \Theta^l = \{ \theta^l, \beta^l, \phi^l \},其中:

    • \theta (姿态参数)控制关节的旋转:这些参数定义了人体的24个关节的旋转,通常以6D或9D形式表示;

    • \beta(形状参数) 控制人体的形状:这些参数用于控制人体的形状变化,通常基于10个到20个主成分分析(PCA)维度;

    • \phi (伪摄像头参数)是伪摄像头参数,用于将3D坐标投影到2D平面,辅助通过丰富的2D数据进行弱监督训练,特别是在训练过程中可以通过2D标注数据作为监督信号来优化模型。

    • 其中,\theta^l \in \mathbb{R}^{T\times (24 \times 6)},\beta ^l \in \mathbb{R}^{T \times 10},\phi ^l \in \mathbb{R}^{T \times 3}

4.2 LPC(Local Parameter Correction)

这一部分由两个组件构成:局部变换器(local transformer)和分层空间相关性回归器(Hierarchical Spatial Correlation Regressor,简称 HSCR)。

4.2.1 局部变压器

局部变换器的目标是捕捉给定视频中帧之间的短期局部细节,特别是在人体运动中,当前帧的姿态往往会受到其相邻帧的影响。Local Transformer的主要步骤如下:

  • 邻近帧选择 (Nearby Frame Selection):模型从整个视频序列中选择中间帧附近的若干帧,形成一个局部时间窗口,称为 S^s。这些邻近帧包含了与中间帧相关的短期运动信息。

  • 局部编码器 (Local Encoder):选定的邻近帧 S^s 作为输入,传入局部编码器。局部编码器负责对这些短期的时序依赖进行编码,提取出对人体姿态和形状具有精细刻画能力的局部特征表示。编码后的特征不仅包括了局部的运动信息,还保留了人体网格的细节特征,为后续的解码过程提供了重要的输入。其中:

    • S^s = \left \{ s_t \right \}_{t=\frac{T}{2} - \omega}^{\frac{T}{2} + \omega}, s_t \in \mathbb{R}^{2048}\omega 为附近帧的长度

  • 局部解码器 (Local Decoder)

    • 解码器的主要任务是将局部编码器生成的特征与全局模型生成的特征进行整合。为此,局部解码器使用了交叉注意力机制,将局部特征(mid-token)与全局特征(从Global Motion Modeling部分中获得的)进行关联。

    • 交叉注意力机制可以形式化地表示为:

      • \text{CrossAtten}(Q^{\text{mid}}_s, K_l, V_l) = \text{Softmax}\left(\frac{Q^{\text{mid}}_s K_l^T}{\sqrt{C}}\right) V_l

      • 其中,Q_{mid}^s 是局部解码器中的查询(query)向量,它与全局编码器的键(key)和值(value)矩阵 K_lV_l 进行对齐。

      • 这一交叉注意力机制使得局部解码器不仅可以捕捉局部细节,还能够借助全局信息来提升整体的姿态和形状估计。

  • 生成全局-局部解耦表示 (Decoupled Global-Local Representation)

    • 解码器输出的结果是一个整合了全局和局部信息的表示 f_{gl}。该表示能够同时保留长时间跨度的运动一致性和细致的局部几何特征。

4.2.2 分层空间相关回归器 HSCR 

之前的工作中都使用了HMR的回归量来估计SMPL参数,然而这种方法忽略了人体固有的关节相关性,即运动学结构。尽管迭代回归器可以很好地估计SMPL参数,但它仍然需要局部细节来创建运动合理且呈现准确的人体网格。

在论文中,受[39]的启发,作者提出了一个分层空间相关回归器(Hierarchical Spatial Correlation Regressor,HSCR),其核心思想是利用人体的运动学结构来提高3D人体姿态估计的准确性。然而,在人体姿态估计中,关节的位置和姿态不仅受到局部信息的影响,还与整个身体的运动学结构紧密相关。直接根据局部视图回归关节的姿态参数 \theta 可能会导致模型陷入局部最优解,因为它缺乏对整个身体结构的全局认识。

为了避免模型陷入局部最优,HSCR将初始的全局预测和解耦后的全局-局部表示一起输入回归器。这种做法确保了模型在调整局部细节时,不会丢失整体的结构信息,从而从全局到局部的角度来优化姿态估计。

除此之外,HSCR特别注重学习关节之间的层次化相关性。人体的每一个关节并不是独立存在的,它的姿态和位置会受到其祖先关节的约束。通过对这些相关性的建模,HSCR能够生成更为合理和一致的姿态估计。

Hierarchical Spatial Correlation Regressor (HSCR) 是局部参数修正部分的另一关键组件,旨在利用人体的运动学结构来进一步修正由全局和局部模型生成的初始估计值

其具体设计如下:

人体运动学结构 (Human Kinematic Structure)

HSCR 依赖于人体的运动学结构,这是一种基于关节层次的约束关系。每个关节的旋转和位置不仅取决于它自身的运动,还受到其祖先关节的约束。例如,在估计一个手腕关节的位置时,需要逐步考虑其上层关节(如肩关节和肘关节)的影响。

如上图,图中展示了人体的骨骼结构,标示了关节的位置和它们之间的层级关系。每个关节的位置(如图中的第10号关节,即脚踝)不仅受自身参数的影响,还受到其上游祖先关节(ancestral joints)的影响。在图中,第10号关节的祖先关节包括了0号(骨盆)、1号(腰椎)、4号(膝关节)和7号(小腿)的关节。

分层回归 (Hierarchical Regression)

  • 对于每一个关节,HSCR 会逐步回归关节的旋转参数 \theta,并将这些参数与全局估计 \theta ^l 和局部修正 \theta ^s 相结合。

  • 每个关节的位置和旋转初始来自于全局估计,记作 \theta ^l。这部分通过先前的Global Motion Modeling(全局运动建模)部分生成。

  • HSCR从人体运动学的层次结构出发,认为当前关节的姿态不仅依赖于它自己的信息,还受到其祖先关节的约束。在回归第10号关节的位置时,首先需要计算和汇总它的祖先关节(0, 1, 4, 7)的信息。具体来说,HSCR将这些祖先关节的姿态参数(\theta ^s_0\theta ^s_1\theta ^s_4\theta ^s_7)进行拼接(Concat),生成一个综合的祖先关节特征表示 \theta ^{a_j}:

    • \theta^{a_j}_i = \text{Concat}\left(\{\theta^s_{i,j}\}_{j=1}^{\text{len}(a_j)}\right)

    • 其中:

      • \theta ^{a_j} 表示通过当前关节的祖先关节的信息组合形成的向量,是通过连接所有祖先关节的旋转参数(从关节0、1、4、7)得到的

      •  len(a_j)表示这些祖先关节的数量

      • \theta ^s_i 是最终修正后的关节旋转参数。

  • 之后利用全局-局部解耦表示 f_{gl}(包含全局和局部信息),以及祖先关节的表示 \theta ^{aj}\theta ^l_i表示GMM全局阶段得到的第i个关节的全局估计结果,HSCR生成当前关节的局部修正值 \theta ^s_i。这一过程通过一个多层感知器(MLP)来完成:

    •  \theta^s_i = M_{\theta^s_i}(f_{gl}, \theta^{a_j}_i, \theta^l_i)

    • 这个MLP函数负责将全局-局部信息和祖先关节的层次化信息结合,生成当前关节的局部修正值 \theta ^s_i。这个修正值包含了对全局估计的细化和优化,确保关节的姿态符合局部的实际情况。

全局-局部联合修正 (Global-Local Joint Correction)

最后,HSCR 将全局初始估计 \theta ^l 和局部修正结果 \theta ^s 进行联合,生成最终的姿态和形状参数 \theta ^r,并进一步修正人体网格的形状参数 \beta 和相机参数 \phi

  • HSCR将全局估计 \theta ^l局部修正值 \theta ^s 进行相加,得到修正后的姿态参数 \theta ^r

    • \theta^r = \theta^l + \theta^s

  • 除了姿态参数 θ,HSCR 还对形状参数 β相机参数 ϕ 进行修正:

    • 形状参数 β 控制着人体网格的整体形状,比如高矮胖瘦等;

    • 相机参数 ϕ 用于将3D坐标投影到2D空间,从而在图像中表现出合理的视觉效果。

    • \quad \beta^r = \beta^l + M_{\beta}(f_{gl}, \beta^l), \quad \phi^r = \phi^l + M_{\phi}(f_{gl}, \phi^l)

  • 通过这些修正,HSCR 能够生成更加精确和合理的人体姿态估计结果,尤其是在考虑人体各关节的运动学约束时。

4.2.3 损失函数

1. L2损失函数(L2 Loss)

定义:

L2损失函数用于最小化模型预测的3D或2D关节位置与真实关节位置之间的平方差异,是一种标准的回归损失函数。它的形式如下:

\mathcal{L}_{\text{L2}} = \sum_{i=1}^{N} || \hat{y}_i - y_i ||^2_2

其中,\hat{y}_i 是模型的预测值,y_i 是真实值,N 是样本的数量。

作用:

  • L2损失可以直接衡量预测关节的位置与真实关节位置之间的距离,确保模型能够在3D/2D关节预测上生成尽可能接近真实姿态的数据。

  • 它的平方误差形式会对较大的误差施加更大的惩罚,从而促使模型更加关注大幅度的偏差。

模型应用场景:

  • GMM(Global Motion Modeling)阶段:在全局建模中,L2损失用于优化SMPL参数 \Theta^l 和3D/2D关节位置。通过应用L2损失,模型能够在长时依赖关系下生成较为准确的全局姿态和形状估计。

  • LPC(Local Parameter Correction)阶段:L2损失同样被用于局部修正阶段,只不过在此阶段,它仅对中间帧的预测进行优化,进一步提升姿态估计的精度。

2. 速度损失(Velocity Loss

定义:

速度损失函数通过约束帧与帧之间的关节位置变化(即关节的运动速度)来保持运动的连续性和一致性。其定义如下:

\mathcal{L}_{vel\_2d} = \sum_{t=1}^{T-1} m_t || (jt_{2d}^{t+1} - jt_{2d}^{t}) - (gt_{2d}^{t+1} - gt_{2d}^{t}) ||_2\mathcal{L}_{vel\_3d} = \sum_{t=1}^{T-1} m_t || (jt_{3d}^{t+1} - jt_{3d}^{t}) - (gt_{3d}^{t+1} - gt_{3d}^{t}) ||_2

其中,jt_{2d}^{t+1}jt_{3d}^{t+1} 是预测的关节位置,gt_{2d}^{t+1}gt_{3d}^{t+1} 是真实关节位置。

作用:

  • 速度损失通过约束模型对关节运动的预测,确保预测的帧与帧之间的变化与真实运动变化一致,进而保持人体姿态在时间维度上的平滑性和一致性。

  • 这种损失能够帮助模型更好地捕捉人体的长时间依赖性,避免突然的、不合理的姿态变化。

模型应用场景:

  • GMM阶段:在全局建模中,速度损失被用于帮助模型学习全局时间序列的一致性,确保人体姿态在视频中流畅地过渡。

  • 掩蔽位置:这种损失只在那些被掩蔽的位置上计算,从而让模型能够更好地处理部分数据缺失的情况。

3. 掩蔽位置损失(Masked Location Loss)

定义:

掩蔽位置损失是一种特殊的损失策略,模型只在被掩蔽的位置上计算损失。掩蔽的位置通过一个掩蔽向量 M 控制,M 向量中的元素在被掩蔽的帧上为1,否则为0。其形式为:

\mathcal{L}_{\text{masked}} = \sum_{t=1}^{T-1} m_t \cdot \text{loss}(jt^t, gt^t)

作用:

  • jt^t 是第 t 帧的预测关节位置(2D或3D),gt^t 是第 t 帧的真实关节位置(2D或3D)

  • m_t 是掩蔽向量 M 中的一个元素,m_t = 1 表示该帧被掩蔽,m_t = 0 表示该帧未被掩蔽。只有当 m_t = 1 时,该帧会参与损失的计算

  • \text{loss}(jt^t, gt^t)  表示该帧的L2损失(预测值与真实值的平方误差)

  • 掩蔽位置损失的核心作用是让模型通过训练学会在缺失部分数据的情况下,仍然能够生成准确的预测。这种方法可以提升模型的鲁棒性。

  • 通过对随机掩蔽位置的训练,模型被迫学习全局和局部的时间依赖性,从而能够更好地弥补部分帧的缺失。

应用场景:

  • Masked Pose and Shape Estimation策略:在全局建模中,掩蔽位置损失的引入是为了让模型通过预测被掩蔽帧的姿态,学习不同帧之间的相互依赖。通过随机掩蔽若干帧,模型能够通过其余未掩蔽的帧推测出缺失的帧,增强了模型捕捉长时依赖的能力。

5  实现细节

总述:

  • 输入长度 T = 16 帧,mini-batch 大小 N = 64,学习率初始化为 1e-4,使用 Adam 优化器 结合 Cosine Annealing 调度器Linear Warm-up 技术进行优化。

  • 模型在 Nvidia Tesla V100 GPU 上进行训练,以确保高效的计算性能。

  • 通过 最近邻填充(Nearest Padding) 技术,处理序列边界的帧预测问题,确保输入序列的一致性。

1. 输入序列长度 T = 16

  • 模型的输入序列长度设置为 16 帧,表示每次处理的视频片段中包含16个连续的帧。

  • 这个选择参考了之前的方法(如TCMR [4]),因为使用一个固定长度的输入序列可以平衡模型的计算复杂度与时序依赖性的捕捉。

2. Mini-batch 大小 N = 64

  • Mini-batch 是深度学习中用来分批训练模型的技术,每次使用一部分数据进行梯度更新,减小训练的内存需求。

  • 在此模型中,mini-batch 大小设置为64,即每次训练模型时处理64个样本。

3. 学习率(Learning Rate)设置为 1e-4

  • 学习率 是深度学习中的关键超参数,控制模型每次更新时步伐的大小。较小的学习率可以使模型逐步学习,避免大的震荡。

  • 学习率被初始化为 1e-4,也就是 0.0001,这是一个常见的选择,能够让模型稳定地进行训练。

4. 优化器:Adam with Cosine Annealing Scheduler and Linear Warm-up

  • 模型使用了 Adam 优化器,这是广泛使用的优化算法,能够根据一阶和二阶梯度信息自适应调整学习率。

  • Cosine Annealing 是一种学习率调度器,在训练的初期使用较高的学习率,随着训练的进行,学习率逐渐减小,模拟余弦函数的下降趋势。这种方法能够在训练后期更好地收敛模型。

  • Linear Warm-up 则是在训练的最初阶段逐步增加学习率,避免模型在开始时因学习率过大而不稳定。

5. 硬件环境

  • 模型是在一块 Nvidia Tesla V100 GPU 上训练的。这是一块高性能的GPU,专门用于深度学习任务,具有大规模并行计算能力和较大的显存容量。

6. 边界问题与最近邻填充(Nearest Padding)

  • 由于模型预测的是输入序列中的中间帧,在某些情况下,中间帧的预测结果可能会落在视频片段的边界之外(例如当输入序列长度较短时)。

  • 为了解决这个问题,作者使用了最近邻填充(Nearest Padding)。具体操作是,当边界帧的前后帧不足时,通过复制最接近的边界帧来填补缺失部分。例如,当处理第0帧时,会复制第0帧来填补它前面的帧,确保序列的长度一致。

6  实验

6.1 评估指标 (Evaluation Metrics)

GLoT 模型采用以下评估指标:

  • MPJPE (Mean Per Joint Position Error):每个关节位置的平均误差,评估 3D 人体姿态估计的准确性。

  • PA-MPJPE (Procrustes-aligned MPJPE):应用 Procrustes 分析对齐后,计算每个关节位置的平均误差,以消除旋转、缩放和平移影响。

  • MPVPE (Mean Per Vertex Position Error):每个顶点位置的平均误差,评估人体网格重建的准确性。

  • Accel (加速度误差):用于验证帧间的平滑性,衡量模型在时间序列中保持运动连续性的能力。

6.2  数据集 (Datasets)

模型训练使用的主要数据集包括:

  • 3DPW:真实场景中的 3D 人体姿态估计数据集。

  • Human3.6M:大规模 3D 人体动作捕捉数据集。

  • MPI-INF-3DHP:基于图像的 3D 人体姿态估计数据集。

  • InstaVariety:用于扩展模型的训练多样性。

6.3 与最先进方法的比较 (Comparison with State-of-the-art Methods)

GLoT 模型在多个数据集上超过了现有的最先进方法,如 MPS-NetVIBETCMR,并在以下指标上表现出色:

3DPW 数据集上,GLoT 模型的 PA-MPJPE、MPJPE、MPVPE 和 Accel 指标分别比 MPS-Net 降低了 1.5 mm、3.6 mm、3.4 mm 和 0.8 mm/s²,表明其在捕捉长时依赖和局部细节方面的有效性。

这部分还分析了现有方法的问题,比如 VIBE、TCMR 和 MPS-Net 由于采用单一建模结构,无法同时很好地处理长时和短时依赖,导致全局位置漂移和局部细节不足。

6.4 消融实验 (Ablation Studies)

  • GMM 和 LPC:消融实验表明,GLoT 中的 Global Motion Modeling (GMM) 分支单独使用时已经能够提供与 MPS-Net 相当的性能,结合 Local Parameter Correction (LPC) 分支后,模型在帧内和帧间的平滑性和准确性上有显著提升。

  • Masked Pose and Shape Estimation 策略:通过随机掩蔽静态特征来训练模型,掩蔽比例对模型性能有显著影响,50% 的掩蔽比例获得了最佳的性能。

  • 不同掩蔽标记类型:使用 SMPL 标记的掩蔽策略表现最佳,这是因为 SMPL 标记提供了人体网格的先验,有助于模型学习人体固有的结构。

  • Hierarchical Spatial Correlation Regressor (HSCR):相比于残差连接,HSCR 显著减少了 PA-MPJPE、MPJPE 和 MPVPE,验证了它在捕捉人体运动学约束方面的有效性。

  • 附近帧长度的影响:实验表明,当附近帧长度设置为 4 时,模型的表现最佳,这意味着局部 Transformer 的输入帧数约为全局 Transformer 的一半。

6.5 定性评估 (Qualitative Evaluation)

  • HSCR 的可视化验证:通过可视化研究,显示了 HSCR 能够纠正全局估计中的运动学错误,验证了该方法的有效性。

  • 掩蔽姿态和形状估计策略的可视化:全局 Transformer 在使用掩蔽策略后更加关注附近的帧,说明该策略有效捕捉了长时依赖。

  • 与之前方法的比较:通过对比,GLoT 模型在全局位置和局部细节方面的估计优于 TCMR 和 MPS-Net。

  • 互联网视频上的定性结果:验证了 GLoT 模型能够在挑战性互联网视频中成功捕捉人体运动。

7  结论

GLoT 模型通过全局到局部的建模策略,成功解决了长时依赖和局部细节捕捉的难题,并且在多个基准数据集上超越了现有的最先进方法。消融实验和定性研究进一步证明了其框架中各个组成部分(如 GMM、LPC、HSCR 和掩蔽策略)的有效性。

1. 核心贡献

  • Global-to-Local Modeling (GLoT):GLoT 是一种针对基于视频的 3D 人体姿态和形状估计的全局到局部建模方法。它通过结合深度神经网络和人体的先验结构来捕捉长时依赖(long-range global dependency)和局部细节,包括:

    • 全局位置(global location):确保在长视频序列中人体的姿态和位置保持一致性。

    • 运动一致性(motion consistency):保证帧与帧之间的运动平滑和连续。

    • 帧内人体网格(intra-frame human meshes):细化局部人体姿态和网格细节,提升每一帧的姿态和形状重建精度。

  • 全局与局部的协同建模:GLoT 的设计通过全局-局部合作建模(global-local cooperative modeling),使得模型能够同时捕捉长时依赖和局部细节,达到更好的 3D 人体姿态和形状估计效果。

2. 数据集表现

  • GLoT 在三个广泛使用的数据集上达到了最先进的性能(state-of-the-art performance)

    • 3DPW:真实场景下的 3D 人体姿态数据集。

    • Human3.6M:大规模 3D 人体动作捕捉数据集。

    • MPI-INF-3DHP:基于图像的 3D 人体姿态估计数据集。

3. 潜在应用

  • 处理真实世界互联网视频的潜力:GLoT 在处理自然场景(in-the-wild)的互联网视频时表现出潜力,这对于 3D 人体网格的注释和下游任务中的动作序列模板生成具有重要意义。具体潜在应用包括:

    • 3D 网格标注:GLoT 可以帮助自动化标注 3D 人体网格,减少手工标注的工作量。

    • 动作序列模板生成:GLoT 可以为下游任务(如虚拟现实、动作分析、动画生成等)提供各种人体运动的序列模板。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值