我们提出了一个统一的视角来处理各种以人为中心的视频任务,通过从大规模和异质的数据资源中学习人类运动表示。具体来说,我们提出了一个预训练阶段,在该阶段,一个运动编码器被训练来从嘈杂的部分2D观察中恢复底层的3D运动。通过这种方式获得的运动表示结合了几何、运动学和物理知识,可以轻易地转移到多个下游任务。我们使用一种双流空间-时间转换器(DSTformer)神经网络实现运动编码器。它能全面而灵活地捕获骨骼关节之间的长距离空间-时间关系,如当从头开始训练时,展现出了迄今为止最低的3D姿态估计错误。此外,我们提出的框架通过简单地微调预训练的运动编码器,并附加一个简单的回归头(1-2层),在所有三个下游任务中都取得了最新的表现,这证明了所学习的运动表示的通用性。
这篇论文的主要贡献是提出了一种新的方法来学习人类运动的表现形式,然后将这种学习到的表现形式应用到不同的任务中。在预训练阶段,作者训练一个模型来从噪声和部分的2D观测中恢复3D的人类动作。然后,这个模型可以在后续的任务中进行微调以适应特定的任务。这种方法的一个重要特点是它使用了双流空间-时间转换器网络,该网络能够在空间和时间上捕获人体骨骼的关系。这使得模型能够在训练时,就能够展现出非常低的3D姿态估计错误。

理解并感知人类的活动长久以来一直是机器智能的核心追求。为此,研究人员定义了各种任务来从视频中估算关于人的语义标签,例如骨架关键点、动作类别和表面网格。虽然在这些任务上取得了显著的进展,但他们往往被视为独立的问题进行建模,而非相互连接的问题。例如,空间时间图卷积网络(ST-GCN)已经被用来建模人体关节在3D姿势估计和动作识别中的时空关系,但这些模型之间的联系尚未被充分探索。直觉上,这些模型应该都已经学会了识别典型的人体运动模式,尽管他们是为不同的问题设计的。然而,当前的方法未能挖掘和利用这些任务之间的共性。理想情况下,我们可以开发一种统一的、面向人的视频表示,可以在所有相关任务中共享。
开发这样的表示的一个重大挑战是可用数据资源的异质性。动作捕捉(Mocap)系统提供由标记和传感器获得的高保真度3D运动数据,但捕捉视频的外观通常受限于简单的室内场景。动作识别数据集提供了动作语义的注释,但它们要么不包含人体姿势标签,要么只具有日常活动的有限动作。相比之下,户外视频提供了外观和运动的广泛和多样化的范围。然而,获取精确的2D姿势注释需要消耗大量的精力,获取3D关节位置的真实数据几乎是不可能的。因此,大多数现有的研究都专注于使用单一类型的人体运动数据来解决特定的任务,而无法享受其他数据资源的优点。
在这项工作中,我们为学习人类运动表示提供了新的视角。关键的想法是,我们可以从异质数据资源中以统一的方式学习到通用的人类运动表示,并以统一的方式利用该表示来处理不同的下游任务。我们提出了一个两阶段的框架,包括预训练和微调,如图1所示。在预训练阶段,我们从多样化的运动数据源中提取2D骨架序列,并用随机的遮罩和噪声对其进行破坏。随后,我们训练运动编码器从损坏的2D骨架中恢复3D运动。这个具有挑战性的预文本任务本质上需要运动编码器i)从其时间移动中推断出潜在的3D人体结构;ii)恢复错误和缺失的观察结果。以这种方式,运动编码器隐式地捕获了人类运动的常识,如关节连接、解剖约束和时间动态。在实践中,我们提出了双流空时变换器(DSTformer)作为运动编码器来捕获骨架关键点之间的长程关系。我们假设从大规模和多样化的数据资源中学习到的运动表示可以在不同的下游任务中共享,并提高其性能。因此,对于每个下游任务,我们使用任务特定的训练数据和监督信号以及一个简单的回归头(regression head) 来调整预训练的运动表示。
总的来说,本工作的贡献是三方面的:1)我们提供了通过学习人类运动表示解决各种面向人的视频任务的新视角。2)我们提出了一种预训练方法,利用大规模但异质的人体运动资源,学习通用的人体运动表示。我们的方法可以同时利用3D mocap数据的精度和户外RGB视频的多样性。3)我们设计了一个双流Transformer网络,配备了串联的空时自注意力块,可以作为人体运动建模的通用骨架。实验表明,上述设计使得可以将通用的人体运动表示转移到多个下游任务,超越了任务特定的最先进的方法。
这个研究提供了一个全新的视角,旨在通过学习人体运动表示来解决多种面向人类的视频任务。为了达到这个目标,作者提出了一个两阶段的框架,包括预训练和微调。预训练阶段是利用各种异质数据资源来训练一个能从噪声和部分2D观察中恢复3D运动的运动编码器。这个阶段的训练要求模型能够理解和捕获人体运动的基本规律,如关节连接,解剖约束和时间动态。为此,作者提出了双流空时变换器(DSTformer),这是一个能够捕获骨架关键点间长距离关系的神经网络。预训练阶段完成后,将对每个下游任务进行微调,只需简单的回归头,便可以调整预训练的运动表示。这项工作的主要贡
献包括提供了一种新视角来解决面向人的视频任务,提出了一种能够充分利用大规模异质数据的预训练方法,以及设计了一个可以作为人体运动建模的通用神经网络。
上图显示了2D到3D转换的网络架构。给定一个输入2D骨骼序列,我们首先将其投影到一个高维特征,然后添加可学习的空间位置编码和时间位置编码。然后我们使用序列到序列模型DSTformer计算特征,其中N是网络深度。我们使用带有tanh激活函数的线性层来计算动作表示。最后,我们对动作表示进行线性变换来估计3D动作。这里,T表示序列长度,J表示身体关节的数量。Cin、Cf、Ce、Cout分别表示输入、特征、嵌入和输出的通道数量。我们首先介绍DSTformer的基本构建块,即带有多头自注意力(MHSA)的空间和时间块,然后解释DSTformer架构设计。
空间多头自注意力(S-MHSA)旨在模拟同一时间步内关节之间的关系。我们使用自注意力来获取每个head的查询、键和值。
时间多头自注意力(T-MHSA)旨在模拟一个身体关节在时间步中的关系。它的计算过程与S-MHSA相似,只是MHSA应用于每个关节的时间特征,并在空间维度上并行化。
我们在设计统一预训练框架时,主要解决两个关键挑战:1) 如何通过通用的预训练任务学习强大的运动表示。2) 如何利用各种格式的大规模但异构的人体运动数据。
对于第一个挑战,我们借鉴了语言[12, 29, 88]和视觉[7, 35]建模的成功实践,来构建监督信号,即遮蔽部分输入,并使用编码的表示来重建整个输入。需要注意的是,这种**“填空”任务在人体运动分析中自然存在,即从2D视觉观察中恢复丢失的深度信息,也就是3D人体姿态估计**。受此启发,我们利用大规模的3D动捕数据[74],并设计了一个2D到3D提升的预训练任务。我们首先通过正交投影3D运动来提取2D骨骼序列。然后,我们通过随机遮蔽和添加噪声来破坏,从而产生被破坏的2D骨骼序列,这些序列也类似于2D检测结果,因为它包含遮挡、检测失败和错误。对关节级和帧级的遮罩应用特定的概率。我们使用上述的运动编码器获取运动表示E并重建3D运动。然后,我们计算?和GT 3D运动?之间的关节损失L3D。我们还加入了速度损失LO,这是遵循之前的工作[87, 132]。3D重建损失因此由原论文内容给出。
对于第二个挑战,我们注意到2D骨骼可以作为一种通用媒介,因为它们可以从各种运动数据源中提取出来。我们进一步将户外RGB视频纳入2D到3D提升框架进行统一预训练。对于RGB视频,2D骨骼?可以通过手动注释[3]或2D姿态估计器[14, 101]给出,而提取的2D骨骼的深度通道本质上是“被遮蔽的”。同样,我们添加额外的遮罩和噪声来降级?(如果?已经包含检测噪声,只应用遮罩)。由于这些数据没有可用的3D运动GT?,我们应用一个加权的2D重投影损失,该损失由?计算。
其中,?是估计的3D运动?的2D正交投影,而δ ∈ RT×J是由可视性注释或2D检测置信度给出。
总的预训练损失由公式?计算。
概述部分描述了方法的总体设计和具体实现。首先,作者们描述了他们的两阶段方法,包括预训练阶段和微调阶段。他们使用的输入数据是2D骨骼序列,这是因为这种类型的数据能够从各种运动源中可靠地提取,并且对于变化有很好的鲁棒性。
然后,他们介绍了他们的网络架构,即DSTformer,它是一种序列到序列的模型,适用于处理时间序列数据。他们在这个网络中使用了空间和时间的多头自注意力(MHSA),以分别捕捉帧内和帧间的关节交互。
统一预训练部分描述了统一预训练的方法,主要解决了两个关键问题。首先,作者们使用一个“填空”任务,这种任务在人体运动分析中是自然存在的,来学习强大的运动表示。这个任务的目标是从2D视觉观察中恢复丢失的深度信息,也就是3D人体姿态估计。其次,他们采用了一种将2D骨骼作为通用媒介的方法,从各种运动数据源中提取信息,并对2D骨骼进行预训练,这样的话,骨骼的2D到3D的转换就可以用来做统一的预训练。
任务特定的微调部分描述了任务特定的微调方法。作者们对所学习到的特征进行了微调,以适应特定的任务,如3D姿态估计,基于骨架的动作识别和人体网格恢复。为了适应这些任务,他们在预训练的网络上增加了一些简单的修改,如增加线性层或使用MLP,然后对网络进行端到端的微调。在每个任务中,他们都采用了一种适应性的方法,如在3D姿态估计中,他们简单地重用了预训练网络,在基于骨架的动作识别中,他们对不同的人和时间步进行了全局平均池化,然后将结果输入到MLP中。在人体网格恢复中,他们使用SMPL模型,并采用一种针对每一帧的姿态参数回归的方法。
我们从两个数据集Human3.6M [37] 和AMASS [74] 中收集了丰富并且真实的3D人体动作数据。Human3.6M [37] 是一个常用的室内3D人体姿态估计数据集,包含了360万视频帧,视频中的专业演员们在进行日常行动。参照之前的工作 [76, 87],我们使用1、5、6、7、8号被试进行训练,使用9、11号被试进行测试。AMASS [74] 集成了大部分现有的基于标记的运动捕捉(Mocap)数据集 [1,2,5,11,15,18,33,36,51,68,71,75,82,95,108,109],并使用了统一的表示方法。在预训练阶段,我们并未使用两个数据集的图像或2D检测结果,因为Mocap数据集通常不提供原始视频。相反,我们使用正交投影获取未被污染的2D骨架。我们还结合了两个野外RGB视频数据集PoseTrack [3](已注释)和InstaVariety [41](未注释)以提高运动的多样性。我们将人体关键点的定义与Human3.6M对齐,并根据 [27] 将摄像机坐标校准到像素坐标。我们随机零化15%的关节,并从高斯和均匀分布的混合中 [17] 抽样噪声。我们首先只在3D数据上进行30个epoch的训练,然后在3D数据和2D数据上进行60个epoch的训练,这遵循了课程学习的做法 [9, 116]。
在预训练阶段,研究人员使用两个不同的数据集:Human3.6M和AMASS,这两个数据集都包含了大量的3D人体动作数据。他们还引入了两个野外的RGB视频数据集PoseTrack和InstaVariety,以增加训练数据的多样性。为了处理数据集的不同,研究人员将数据集中的关键点定义进行了统一,并且将摄像机坐标校准为像素坐标。此外,他们在训练中引入了噪声和随机失活,这是为了使模型更鲁棒。
我们进一步探索了用预训练的人体运动表示学习动作语义的可能性。我们使用了NTU-RGB+D人体动作数据集,它包含了60个动作类别的57K个视频,我们按照数据集的交叉主题(X-Sub)和交叉视图(X-View)划分。此数据集还有一个扩展版本,NTU-RGB+D-120,包含了120个动作类别的114K个视频。我们按照建议的单次动作识别协议在NTU-RGB+D-120上进行操作。对于这两个数据集,我们都使用HRNet来提取2D骨架。同样,我们训练了一个随机初始化的模型以供比较。如表2(左)所示,我们的方法在和最先进方法的比较中表现得相当好或者更好。值得注意的是,预训练阶段对于性能的提升起到了很大的作用。
此外,我们深入探讨了在单次设定中的应用,这对于实际应用非常重要。实际应用往往需要在特定领域如教育、体育和医疗中进行精细的动作识别。然而,这些场景中的动作类别通常不在公开数据集中定义。因此,只有这些新动作类别的有限注释可用,使得准确识别变得具有挑战性。我们在评估集上对20个新类别,每个类别只有1个标记视频的结果进行报告。辅助集包含了其他100个类别,这些类别的所有样本都可以使用。我们利用监督对比学习技术在辅助集上训练模型。对于一批辅助数据,同类别的样本在动作嵌入空间中被拉近,而不同类别的样本被推远。在评估期间,我们计算测试样本和示例之间的余弦距离,并使用1-最近邻来确定类别。表2(右)显示,我们提出的模型在比较中显著优于最先进的方法。此外,值得注意的是,我们的预训练模型在经过1-2轮微调后就达到了最优性能。我们的结果表明,预训练阶段在学习一种对新的下游任务具有很好泛化能力的强健的运动表示方面是有效的,即使在数据注释有限的情况下也是如此。
这个小节主要探讨了利用预训练的人体运动表示进行动作识别的可能性,并使用了NTU-RGB+D数据集进行验证。这个数据集是一个用于动作识别的大型数据集,包含了丰富的动作类别和视频。作者们发现,预训练的人体运动表示模型在动作识别任务上有很好的性能,甚至在有限的数据注释下也表现出了强大的泛化能力。
我们在Human3.6M和3DPW数据集上进行实验,并在训练期间加入了COCO数据集。我们按照以前的做法,保持了两个数据集的训练和测试划分。我们按照公共实践报告了14个通过JM(θ, β)获得的关节的MPJPE(毫米)和PA-MPJPE(毫米)。PA-MPJPE在翻译、旋转和比例对齐后计算MPJPE。我们进一步报告了由M(θ, β)生成的网格的平均每顶点误差(MPVE)(毫米),这度量了在对齐根关节后,估计的顶点和GT顶点之间的平均距离。值得注意的是,大多数先前的作品在训练期间使用了除COCO之外的更多数据集,如LSP,MPI-INF3DHP等,而我们没有。表3证明了我们的微调模型在Human3.6M和3DPW数据集上都提供了有竞争力的结果,超过了所有最先进的基于视频的方法,包括MAED,特别是在MPVE误差上。然而,我们注意到,仅从稀疏的2D关键点估计全身网格是一个病态问题,因为它缺乏人体形状信息。考虑到这一点,我们提出了一种混合方法,利用了我们的框架(连贯运动)和基于RGB的方法(精确形状)的优势。我们引入了一个可以轻易与现有的基于图像/视频的方法结合的细化模块,类似于以前的工作。具体来说,我们的细化模块是一个MLP,它接收我们预训练的运动表示和初始预测的组合,回归关节旋转的残差。我们的方法有效地改进了最先进的方法,并达到了迄今为止的最低误差。
这一节主要介绍了在人体网格恢复任务上的实验情况。人体网格恢复是一个3D任务,它需要从2D图片中估计出3D的人体姿态。
在这项任务上,预训练的人体运动表示模型同样展现出了很好的性能。然而,由于只从稀疏的2D关键点中估计全身网格是一个非常困难的问题,因此作者们采取了一种混合方法,结合了预训练的人体运动表示和基于RGB的方法,进一步改善了人体网格恢复的结果。