论文阅读-《MHFormer: Multi-Hypothesis Transformer for 3D Human Pose Estimation》

目录

1 摘要

2 介绍

3 相关工作

3.1 3D HPE

3.2 ViT

3.3 多假设方法

4 MHFormer

4.1 概述

4.2 准备阶段

4.2.1 多头自注意力机制(MSA)

4.2.2 多层感知器(MLP)

4.3 MHG-多假设生成

4.3.1 概述

4.3.2 详细解释:

4.3.2.1 输入

4.3.2.2 坐标拼接

4.3.2.3 空间位置嵌入

4.3.2.4 编码器

4.3.2.5 残差连接

4.3.2.6 LayerNorm(LN)

4.3.2.7 输出

4.3.2.8 公式描述

4.4 时间嵌入

4.5 SHR-自假设精炼

4.5.1 目的

4.5.2 组成

4.5.2.1 多假设自注意力(MH-SA)块

4.5.2.2 假设混合多层感知器(MLP)块

4.6 CHI-跨假设交互

4.6.1 组成

4.6.1.1 MH-CA

4.6.1.2 假设混合MLP

4.7 回归头

4.8 损失函数

5 实验

5.1 数据集和评估指标

5.2 实验详情

5.3 与先进方法的比较

5.3.1 Human 3.6M

5.3.2 MPI-INF-3DHP

5.4 消融实验

5.4.1 感受野的影响

5.4.2 MHG模块的参数影响

5.4.2.1 层数

5.4.2.2 假设数量

5.4.3 SHR和CHI模块的参数影响

5.4.3.1 嵌入维度

5.4.3.2 层数

5.4.3.3 最优参数

5.4.4 模型组件的影响

5.4.4.1 基线模型

5.4.4.2 多假设表示

5.4.4.3 MHG的移除

6 定性实验

7 结论

7.1 MHFormer模型概述

7.2 实验结果

7.3 局限性


1 摘要

        由于深度模糊和自遮挡,使得单目视频的3D人体姿态估计更具有挑战性。现有的大部分网略都通过时空结合来解决这个问题,但是其实3DHPE其实是一个逆问题,即存在多个可行解(即假设),要从这多个假设中找出最优解。本篇论文提出了MHFormer,它是一个基于Transformer的三阶段框架,用于从单目视频中估计3D人体姿态,通过学习多个合理姿态假设的空间-时间表征来生成这些假设。

MHFormer的主要创新点如下:

1. 多假设生成(MHG):MHFormer通过MHG模块生成多个初始姿态假设,这些假设在空间域内捕获了不同深度级别的特征,从而为后续的精细化处理提供了丰富的信息。

2. 自假设精炼(SHR):该模块通过自注意力机制(MH-SA)和混合多层感知器(MLP)来独立地精炼每个假设的特征,增强了单个假设内部的信息交流和特征表示。

3. 跨假设交互(CHI):CHI模块通过多假设交叉注意力(MH-CA)机制,实现了不同假设之间的信息交流和交互,这有助于整合多个假设的信息以产生更准确的最终姿态估计。

1. 单目视频和多目视频

单目视频(Monocular Video)指的是仅使用一个摄像头捕获的视频序列。与使用多个摄像头从不同角度同时记录的多目视频(例如立体视觉或多视角视频)不同,单目视频仅从一个视角提供信息,因此缺乏直接的深度信息和从不同视角观察的立体视觉线索。

在计算机视觉中,单目视频处理通常涉及以下挑战:

深度歧义:由于只有一个视角,单目视频不能直接提供场景中物体距离相机的深度信息,这可能导致在估计物体位置和姿态时出现歧义。

自我遮挡:视频中的物体或人可能在某些时候被自身或其他物体遮挡,这使得从单一视角观察时难以观察到被遮挡部分。

光照和纹理变化:单目视频可能受到光照条件和表面纹理的影响,这些因素可能会影响特征的检测和跟踪。

尺度变化:由于缺乏立体视觉信息,单目视频中的物体尺度变化可能难以准确估计。

2. 逆问题

“逆问题”指的是从单目视频估计3D人体姿态的任务。这是一个逆问题,因为它需要从2D图像中恢复出3D信息,而这个过程不是唯一的,存在多种可能的解决方案。他的挑战除了单目视频的挑战外,还存在了如下挑战:

2D到3D的映射:从2D图像的姿态关键点到3D空间的姿态恢复是一个不适定问题,因为不同的3D姿态可能在2D图像上投影为相同或非常相似的2D关键点。

多解性:由于上述的深度歧义和自我遮挡,从单目视频恢复3D姿态可能存在多个合理的解,而不是一个唯一的解。

 


2 介绍

现有方法的局限性

        基于单目视频的3D HPE在动作识别、人机交互和增强/虚拟现实等领域都有着广泛的应用。尽管现有的方法在2D姿态检测和 2D-to-3D lifting 方面取得很大的发展,性能也得到了很大提升,但由于2D表示中的自我遮挡和深度歧义,这个问题仍然是个很大的挑战。

        为了缓解这些问题,大多数方法侧重于探索空间和时间的关系。要么使用图卷积网络通过人体骨骼的时空图表示来估计3D姿势,要么应用纯基于transformer的模型从2D姿势序列中捕获时空信息。但是这些方法忽略了这个问题,只估计了一个单一的解决方案,这通常会导致不满意的结果,特别是当人的关节严重被阻挡时。如图1所示,图中给定一个身体部位(右臂和肘部)遮挡的帧,最新的最先进的3D HPE方法PoseFormer输出一个与2D输入不一致的单一解。相比之下,MHFormer生成与2D输入一致的多个貌似合理的假设(不同的颜色),并最终合成更准确的3D姿势(绿色)。为了便于比较,输入帧的另一个视角如“Novel View”所示

逆问题的挑战

        因为缺乏直接的深度信息,从单目视频中进行2D-to-3D lifting是一个逆问题,存在多个可行的解决方案(即假设)。最近提出的一些方法通过使用特征提取器,向现有架构中添加多个相同的输出头来生成多个假设,但这些方法未能建立不同假设特征之间的关系,这是提高模型表达能力和性能的一个重要短板。

MHFormer的核心思想

        针对三维HPE的模糊逆问题,作者认为应该首先进行一对多的映射,然后通过各种中间假设进行多对一的映射,因为这样可以丰富 特征的多样性 并更好地合成最终的三维姿态。

三阶段框架:

        MHFormer采用三阶段框架,包括:

        1. 多假设生成(MHG):模拟人体关节的内在结构信息在空间域中生成多个多层次特征。这些特征包含了从浅到深不同深度的不同语义信息,因此可以看作是多个初始表示。

        2. 自假设精炼(SHR):SHR由两个新的区块组成,第一个模块式多假设自注意力(MH-SA)和假设混合多层感知器(MLP)组成。通过自注意力机制和混合MLP来独立地精炼每个假设的特征。MH-SA的目的是为每个单独的假设内部构建自假设通信,这样可以通过特征增强来传递消息。这里的MLP主要是用于在自假设中的多个特征串联整合,然后收敛这些特征。

        3. 跨假设交互(CHI):由于SHR中的MH-SA只传递假设内部信息,因而不同假设之间的联系不够强。故在最后阶段,通过多假设交叉注意力机制(MH-CA)和混合MLP来模拟多假设特征之间的交互。MLP是在经过MH-SA处理后,用于假设交换信息的过程。这个过程涉及将多个假设的特征进行整合。具体来说,它将多个假设的特征串联起来,然后输入到MLP中,以合并(收敛)这些特征。接着,这个合并后的特征表示被均匀地分割(发散)成多个不重叠的块,形成经过精炼的假设表示。

        如图2所示,该框架更有效地模拟多假设依赖关系,同时也在假设特征之间建立更强的关系。

Transformer模型的应用

        MHFormer将多假设空间-时间特征层次明确地纳入Transformer模型中,以端到端的方式独立且相互处理身体关节的多个假设信息。

贡献

        1. MHFormer在两个具有挑战性的数据集Human3.6M和MPI-INF-3DHP上的性能显著优于先前的方法PoseFormer,特别是在Human3.6M数据集上,性能提升了3%。

        2. 提出了一种新的基于Transformer的方法MHFormer,用于处理单目视频中的3D HPE任务,并通过独立和相互之间的多假设特征通信,提供了强大的自假设和跨假设信息传递能力,建立了假设之间的强关系。


3 相关工作

3.1 3D HPE

        略

3.2 ViT

        最近,由于其强大的全局自注意力机制,Transformer模型在计算机视觉社区引起了越来越多的研究兴趣。在基本的图像分类任务中,ViT(Vision Transformer)模型提出了将标准的Transformer架构直接应用于图像块序列的方法。PoseFormer模型将纯粹的Transformer应用于捕捉人体关节之间的关联性和时间依赖性。该模型引入了一种结合了步幅卷积(strided convolutions)的Transformer架构,用于将长序列的2D姿态转换为单一的3D姿态。Strided Transformer模型引入了一种结合了步幅卷积(strided convolutions)的Transformer架构,用于将长序列的2D姿态转换为单一的3D姿态。MHFormer的工作受到了上述模型的启发,并采用了Transformer作为基础架构。但与仅使用单一表示的简单架构不同,MHFormer将多假设和多级特征层次的关键思想整合到Transformer中,这使得模型不仅具有表现力,而且更加强大。MHFormer引入了交叉注意力机制,以实现有效的多假设学习。这是对Transformer模型的一个重要扩展,它允许模型在不同的假设之间交换信息,从而提高了学习多姿态假设的能力。

3.3 多假设方法

        单目3D HPE具有很多不确定性的问题存在,意味着从2D图像恢复3D姿态可能存在多个合理的解决方案。一些研究工作通过为逆问题生成多样化的假设来实现显著的性能提升。这些方法通过考虑多种可能的姿态来处理逆问题的不确定性。Jahangiri等人通过组合模型和解剖学约束来生成与2D关键点一致的多个3D姿态候选。Wehrbein使用归一化流(normalized flows)来建模3D姿态假设的后验分布。与现有工作不同,MHFormer采用了一种先进行一对多映射(生成多个假设),然后进行多对一映射(从多个假设中合成最终姿态)的策略。这种方法允许对不同假设对应的不同特征进行有效建模,从而提高姿态表示的能力。


4 MHFormer

4.1 概述

        MHFormer旨在重建视频中心帧的3D姿态,它通过充分利用多假设特征层次结构中的空间和时间信息来实现。

        输入是一系列由现成的2D姿态检测器从视频中估计的连续2D姿态序列。

        MHFormer构建在三个主要模块之上,形成一个三阶段的处理流程:

        (1)多假设生成(MHG):负责生成多个初始姿态假设。

        (2)自假设精炼(SHR):对每个单独的假设进行精炼,以增强特征表示。

        (3)跨假设交互(CHI):在不同假设之间建立交互,以改进最终的姿态估计。

        除了这三个主要模块,MHFormer还包括两个辅助模块:

        (1)时间嵌入(Temporal Embedding):将空间域的特征转换为时间域,以捕获时间依赖性。

        (2)回归头(Regression Head):用于将处理后的特征转换为最终的3D姿态估计。

4.2 准备阶段

        由于Transformer对长距离依赖关系建模表现良好,所以本篇论文选择了Transformer作为基础架构。Transformer的基础组件为多头自注意力机制(MSA)和多层感知机(MLP)

4.2.1 多头自注意力机制(MSA)

4.2.2 多层感知器(MLP)

4.3 MHG-多假设生成

4.3.1 概述

        该模块旨在空间域内处理逆问题,生成多个不同深度的潜在空间特征。为了生成多个不同深度的特征,设计了一个级联的Transformer架构(即将多个Transformer模块顺序连接起来的网络结构,每个模块都在前一个模块的输出基础上进一步处理数据。每个Transformer模块都可以捕获不同层次的特征。第一个模块可能捕捉到较为浅层或基础的特征,而随后的模块则能够基于这些基础特征提取更深层次和复杂的信息。随着数据在级联架构中流动,特征表示逐渐变得更加抽象和高级。这意味着网络能够从原始输入中提炼出越来越有意义的信息。),允许模型捕捉到不同层次的人体关节关系,从而模拟人体关节之间的内在关系,并初始化多个姿态假设的表示。如图b所示

假设在MHG中有M个不同的假设和L1层:

4.3.2 详细解释:

        MHG(Multi-Hypothesis Generation)模块是MHFormer架构中的一个关键部分,它的目的是生成多个关于人体姿态的初始假设。针对每个阶段的具体步骤如下:

4.3.2.1 输入

        (1)输入数据:MHG模块的输入是一系列2D姿态数据,这些数据通常是从视频中通过2D姿态检测器获得的。这些2D姿态数据包含了视频中每一帧图像上人体关节的位置信息,位置信息通常以(x, y)坐标的形式给出,其中x和y分别是关节在图像上的水平和垂直位置。

        (2)序列化:这些2D姿态数据被组织成一个序列,其中每一帧的2D姿态被看作序列中的一个元素。因此,如果我们有一个视频,它包含N帧,每帧有J个关节,那么输入数据的形状就是 N * J * 2。

具体堆叠方式:对于每一帧中的 J 个关节,我们将它们的 (x, y) 坐标按顺序拼接起来形成一个长向量。这样,如果我们将所有的x坐标连起来,后面紧跟着所有的y坐标,就可以得到一个包含 2J 个元素的向量。这个向量就是该帧2D姿态的平铺表示。为了便于处理和表示,这个长向量可以进一步被重塑成一个矩阵。具体来说,如果我们将 J 个关节的 x 坐标和 y 坐标分别作为矩阵的行,那么每一行就代表一个关节的坐标,而列则代表该关节的 x 和 y 坐标。因此,每一帧的姿态信息可以用一个 J * 2的矩阵来表示,其中 J 即为关节的数量。在视频序列中,如果将每一帧的 J * 2矩阵按时间顺序堆叠起来,就可以形成一个 N * J* 2 的3D张量,其中N是帧的数量。这个3D张量就是整个视频序列的2D姿态表示。这个 N * J * 2 的张量就是MHG模块的输入。MHG模块将利用这个输入来生成多个关于3D姿态的初始假设。

4.3.2.2 坐标拼接

        对于视频中的每一帧,MHG模块将所有J个关节的(x, y)坐标拼接起来,形成一个2D姿态的表示。这样,每一帧的姿态信息就可以被表示为一个 J * 2 的矩阵。

4.3.2.3 空间位置嵌入

        为了使模型能够理解关节在人体空间中的位置关系,MHG模块使用一个可学习的空间位置嵌入层。这个嵌入层将关节坐标与额外的嵌入信息结合起来,以保留关节的空间信息。嵌入层输出的是与输入坐标同样形状的嵌入向量。这里提到的“额外的嵌入信息”可以为:

        (1)位置信息:嵌入层可能会包含一个位置编码或位置ID,它为序列中的每个关节分配一个唯一的标识符。这样,即使在不同的帧或不同的个体之间,模型也能够区分各个关节的位置。

        (2)骨骼结构信息:嵌入层可能会包含关于人体骨骼结构的信息,例如,关节之间的相对位置关系或关节之间的拓扑关系。这有助于模型理解不同关节之间的空间联系。

        (3)运动信息:嵌入层还可能包含关于关节运动模式的信息,如关节的运动范围或典型的运动方向。这可以帮助模型预测关节在执行特定动作时的位置变化。

        (4)上下文信息:嵌入层可能包含一些上下文信息,如关节在图像中的位置相对于其他物体或背景的相对位置。

        (5)先验知识:嵌入层可能还会包含一些关于人体姿态的先验知识,如解剖学约束或统计信息,这些信息有助于指导模型生成更加符合实际的姿态假设。

        在实际操作中,这些额外的嵌入信息是通过可学习的参数来实现的,模型在训练过程中会根据数据自动调整这些参数,以捕捉对姿态估计任务最有用的信息。

想象你正在用一个导航系统来追踪一个正在城市中移动的人。关节坐标就像是这个人当前的GPS坐标,而额外的嵌入信息就像是地图上的信息,比如街道的布局、建筑物的位置、交通规则等。这些信息帮助导航系统更好地理解这个人可能的移动路径和行为模式,从而提供更准确的导航指引。

4.3.2.4 编码器

        在MHG模块中,编码器是用来处理输入的2D姿态序列的。它的目的是从这些2D姿态中提取有用的特征,并将它们转换成一组组的3D姿态假设。在这一模块中使用了多头注意力机制,这个机制允许模型同时在不同的位置关注输入序列的不同部分。在姿态估计中,这意味着模型可以同时考虑身体各部分之间的关系。

4.3.2.5 残差连接

        在MHG模块中,残差连接用于确保从输入到输出的信息流不受损失。在每一层编码器之后,残差连接将该层的输入直接添加到该层的输出上。

4.3.2.6 LayerNorm(LN)

        层次归一化操作,在每个处理步骤后,使用LayerNorm来稳定训练过程,提高模型的泛化能力。

        具体作用如下:

        1. 归一化数据:LayerNorm通过对每个特征层(或者在这种情况下,每个关节的坐标表示)进行归一化,使其具有均值为0和方差为1的分布。这意味着极端的值会被“拉近”,而接近平均的值则不会有太大变化。

        2. 稳定训练:通过减少输入数据的方差,LayerNorm可以帮助稳定梯度下降过程中梯度的流动,从而加快训练速度并提高训练过程的稳定性。

        3. 提高泛化能力:归一化层可以减少模型对输入数据分布的敏感性,这有助于模型在看不见的数据上表现得更好,即提高模型的泛化能力。

        在MHG模块中,主要有三个位置使用到了LayerNorm:

4.3.2.7 输出

        MHG模块接收一系列2D姿态数据作为输入,并输出一组假设,每个假设都是对人体姿态的一种可能的3D解释。如果有M个这样的假设,输出可以表示为一个列表,其中包含M个元素,每个元素都是一个姿态假设。每个假设通常是一个矩阵,其中的行对应于视频中的帧,列对应于身体关节的3D坐标。例如,如果一个视频中有N帧,并且每个姿态假设包含J个关节的3D坐标,那么每个假设的形状将是 N * ( J · 2 )

4.3.2.8 公式描述

M:不同假设的数量

L1:MHG模块中的层数

N:视频帧的数量

J:身体关节的数量

 

4.4 时间嵌入

        由于MHG模块负责在空间域内生成初始的多假设特征,然而这些特征不足以捕获视频中的动态变化和时间依赖性,所以特地设计了两个模块:SHR模块和CHI模块,用来建立假设特征之间的关系,并且在时间域中捕获特征的时间依赖性。为了利用时间信息,需要将空间域中的特征转换到时间域。这通过以下的步骤实现:

        这一过程可以用如下公式表示:

想象一下,你正在观看一部电影,电影的每一帧就像一个快照,捕捉了一个瞬间。MHG模块就像是一个摄影师,它拍摄了一组照片(生成了多假设特征),但这些照片只是静止的图像,没有告诉你故事是如何随时间发展的。

为了理解故事的情节(捕获时间依赖性),你需要将这些静止的照片转换成一个动态的视频。这就需要两个步骤:

首先,将每张照片转换成一个包含更多信息的数字格式(使用转置操作和线性嵌入将空间域特征转换为高维特征)。

然后,为这些数字图像添加时间标签,这样就知道它们在故事中的顺序(使用时间位置嵌入)。

通过这种方式,SHR和CHI模块可以像电影剪辑师一样,将这些图像组合成一个连贯的视频,讲述一个随时间变化的故事。在MHFormer模型中,这意味着生成一个考虑了时间动态的3D姿态估计。

 

4.5 SHR-自假设精炼

SHR和CHI的联合如图4所示:

4.5.1 目的

        SHR模块的目的是精炼单个假设的特征,即改善和增强每个单独姿态假设的内部特征表示。

4.5.2 组成

4.5.2.1 多假设自注意力(MH-SA)块

        这是基于Transformer模型中的标准多头自注意力机制(MSA)的一个变种。任何两个元素都可以通过MSA相互交互,从而对远程依赖关系进行建模,与之相反,MH-SA专注于在单个假设内部捕获元素之间的依赖关系。

        MH-SA的工作流程如下:

        MH-SA块的输出是经过自注意力机制增强的特征,表示为:

        其中 l 是SHR层的索引。

4.5.2.2 假设混合多层感知器(MLP)块

        在MH-SA之后,为了促进不同假设之间的信息交流,引入了这个MLP块。

        由于多个假设在MH-SA中被独立处理,但假设之间没有信息交换。为了解决这个问题,在MH-SA之后添加了一个混合假设的MLP。

        假设混合MLP块工作流程如下:

        1.  输入阶段

        首先,所有姿态假设的特征需要被合并。这意味着将每个假设的特征向量沿着通道维度(或者特征维度,可以理解为特征向量的长度,也就是构成输入数据每个点的独立特征的数量)拼接起来。如果有M个假设,每个假设的特征维度为C,则拼接后的特征维度变为 C * M

        2.  归一化

        在将不同假设的特征合并成单一高维特征表示之后,通常会应用LayerNorm操作。

        3.  多层感知器(MLP处理)

        接着,将LayerNorm处理后的特征输入到MLP中。MLP由至少两层全连接层组成,中间夹有一个非线性激活函数,如GELU。MLP的作用是对合并后的特征进行进一步的非线性变换,这有助于模型学习不同假设之间复杂的关系和交互。

        4.   特征转换和分配

        MLP的输出是一组转换后的特征,这些特征包含了原始假设特征的混合信息。为了重新获得M个独立的假设,MLP的输出需要沿着通道维度被均匀地划分成M个部分,每个部分再次具有维度C。这一步骤有时被称为“分配”或“发散”。最终,每个划分后的块成为一个精炼后的姿态假设特征,这些特征包含了来自其他假设的信息,从而增强了每个假设的表示。

        整个过程可以用以下公式概括:

        其中,Concat表示特征合并操作,HM-MLP表示假设混合MLP

假设混合MLP块的工作可以类比为一个团队项目,其中每个团队成员(每个姿态假设)都有自己的任务(特征)。在MH-SA块中,每个成员独立地改进自己的任务,但没有与其他成员交流。为了团队协作,所有成员的任务被汇总到一起,这样每个人都可以看到整体情况。团队领导(MLP)对汇总的任务进行讨论和修改,以找到更好的解决方案。修改后的任务再次被分配给每个团队成员,现在每个成员的任务中都包含了团队智慧的结晶,亚比,jiong~

 

4.6 CHI-跨假设交互

        CHI的作用是在不同的假设之间建立联系和交互,以增强模型对3D人体姿态的理解。

4.6.1 组成

        1. 多假设交叉注意力(MH-CA):MH-CA旨在解决MH-SA(多假设自注意力)无法跨不同假设进行信息交流的问题。MH-CA由多个并行的多头交叉注意力(MCA)单元组成,用于捕捉不同假设之间的相互关系。

        2. 假设混合MLP:在MH-CA之后,使用一个假设混合多层感知器(MLP)来进一步混合和处理来自MH-CA的特征。

4.6.1.1 MH-CA

        MCA的结构与MSA(多头自注意力)类似,但它用于衡量不同假设之间的相关性。在标准的MCA配置中,键(Keys)和值(Values)使用相同的输入(即相同的假设)。然而,这种方法会导致更多的模块数量(例如,假设你有3个假设(A、B、C)。在标准的MCA配置中,为了计算A的注意力权重,你需要两个模块:一个用于A与B的比较,另一个用于A与C的比较。同样,B和C也需要各自的模块来分别与A和C进行比较。这样,总共就需要6个模块(每个比较方向一个))。在本篇论文中采取了一个更有效的策略:通过输入不同的假设交替地作为查询(Q)、键(K)和值(V)的角色,这意味着不是每个假设都有自己的键和值,而是它们可以复用其他假设的键和值。在这种方法中,多个假设交替被视为查询(Queries)、键和值,并输入到MH-CA中。如图4所示,

        MH-CA的公式可以表示为:

4.6.1.2 假设混合MLP

        同SHR,不同的是在这里不需要进行分配工作,最终将所有假设的特征聚合到一个假设表示中。

 

4.7 回归头

        在MHFormer模型的最后阶段,回归头(Regression Head)的作用是将处理后的特征转换为最终的3D姿态估计。

 

4.8 损失函数

        整个模型以端到端方式进行训练,其中损失函数使用均方误差(MSE)损失用于最小化估计和真实姿态之间的误差

其中 N 是视频中的帧数,J 是视频中每一帧中人体关节的数量,Yi 是第 n 帧中第 i 个关节的真实 3D 姿态,Xi 是第 n 帧中第 i 个关节的预测 3D 姿态。


5 实验

5.1 数据集和评估指标

        Human3.6M:MPJPE、P-MPJPE

        MPI-INF-3DHP :PCK、AUC、MPJPE

5.2 实验详情

        参数设置:实验中对MHFormer设置了:L1=4(MHG), L2=2(SHR)和L3=1(CHI层)

        GPU:GeForce RTX 3090

        优化器:Amsgrad优化器

        学习率设置:初始学习率设置为0.001,每个epoch后应用收缩因子0.95,每5个epoch后应用收缩因子0.5。

        2D姿态检测:级联金字塔网络(CPN)

5.3 与先进方法的比较

5.3.1 Human 3.6M

        MHFormer使用的输入是基于2D检测的输入,其感受野(receptive field)为351帧。在两种协议下进行了性能评估:

        1. Protocol 1(MPJPE):使用检测到的2D姿态作为输入,MHFormer在MPJPE(Mean Per Joint Position Error,平均每个关节的位置误差)上达到了43.0毫米。

        2. Protocol 2(P-MPJPE):使用 ground-truth 的2D姿态作为输入,MHFormer在MPJPE上达到了34.4毫米。

        与PoseFormer的比较:与最近提出的基于Transformer的方法PoseFormer相比,MHFormer在MPJPE上明显优于PoseFormer,改进了1.3毫米(相对提高了3%)

        定性比较:图5展示了MHFormer与PoseFormer以及基线模型(与ViT相同的架构)在一些具有挑战性的姿态上的定性比较。

        与多假设方法的比较:MHFormer还与之前生成多个3D姿态假设的方法进行了比较。MHFormer使用较少的假设数量(3个对比200个),但仍然一致性地超越了先前的工作。

5.3.2 MPI-INF-3DHP

        为了评估泛化能力,在MPI-INF-3DHP数据集上也对 MHFormer 进行了评估

        因为与Human3.6M相比,该数据集的样本更少,序列长度更短,故在这里使用9帧的2D姿态序列作为模型输入

        在MPI-INF-3DHP数据集上,MHFormer在所有评估指标上都取得了最佳性能,包括PCK(Percentage of Correct Keypoints,正确关键点的百分比)、AUC(Area Under Curve,曲线下面积)和MPJPE。结果如表3所示:

        MHFormer可以有效提高户外场景的性能

5.4 消融实验

        为了评估模型中不同组件和设计对最终性能的影响,MHFormer模型在Human3.6M数据集上进行了一系列消融实验。

5.4.1 感受野的影响

        对于基于视频的3D人体姿态估计任务,较大的感受野对于提高估计的准确性至关重要。如表4所示,通过改变输入帧的数量,发现当模型使用更多的帧时,性能提升显著。特别是,当使用ground-truth的2D姿态(GT输入)时,从9帧增加到351帧,误差降低了16.7%。为了平衡计算效率和性能,后续实验使用27帧作为感受野。

5.4.2 MHG模块的参数影响

        如表5所示:

5.4.2.1 层数

        增加MHG(Multi-Hypothesis Generation)模块的层数可以在一定程度上提高性能,但当层数超过4层时,性能增益消失。

5.4.2.2 假设数量

        增加MHG中的假设数量可以改善结果,但当使用3个假设表示时,性能趋于饱和。使用3个假设的模型比单一假设模型在误差上减少了1.7毫米。

5.4.3 SHR和CHI模块的参数影响

        如表6所示:

5.4.3.1 嵌入维度

        将嵌入维度从256增加到512可以提升性能,但超过512后性能提升不明显。

5.4.3.2 层数

        增加SHR(Self-Hypothesis Refinement)和CHI(Cross-Hypothesis Interaction)模块的层数并没有带来更多的性能增益

5.4.3.3 最优参数

        确定最优参数为L2=2(SHR),L3=1(CHI),嵌入维度C=512。

5.4.4 模型组件的影响

        如表7所示:

5.4.4.1 基线模型

        为了公平的比较,基线的结果在与MHFormer相同的层数上报告,具有不同的嵌入维数,因为MHFormer中的假设混合MLP将连接的假设特征作为输入(维数为512×3=1536)。结果表明,由于参数数量过多,MHFormer在减少过拟合和提高性能方面表现更好。

5.4.4.2 多假设表示

        在基线模型中引入多假设表示和SHR或CHI模块可以显著提高性能。

5.4.4.3 MHG的移除

        当从MHFormer中移除MHG模块时,模型只能捕获时间信息,误差显著增加,这表明学习多假设空间-时间表示对于3D姿态估计至关重要。


6 定性实验

        虽然MHFormer的主要目标不是生成多个3D姿态预测,但为了更好地观察和理解模型的行为,作者对模型进行了微调(finetune),并添加了额外的回归层来可视化中间的多个姿态假设。通过这种方式,模型能够展示在最终姿态估计之前,它所考虑的不同可能的3D姿态解决方案。这些中间假设可以为分析模型的决策过程提供洞见。

        定性结果如图6所示(即模型生成的不同姿态假设的视觉表示):

        这些结果表明,MHFormer能够在存在深度歧义、自我遮挡和2D检测器不确定性的情况下,生成多个合理的3D姿态解决方案。MHFormer通过聚合(合成)这些多假设信息来生成最终的3D姿态估计。这种方法使得最终的姿态估计更加合理和准确,因为它考虑了多个可能的姿态,而不是仅仅依赖于单一的解决方案。


7 结论

7.1 MHFormer模型概述

        1. 三阶段框架:MHFormer是一个基于Transformer的三阶段框架,专门设计来解决单目视频中3D人体姿态估计(3D HPE)的歧义逆问题。

        2. 空间域的多假设生成:在第一阶段,MHFormer生成多个姿态假设的初始表示,这些表示捕获了空间域中的人体关节关系。

        3. 时间域的跨假设通信:随后,模型在时间域中通过独立和相互的方式在这些假设之间进行通信,以增强特征表示并解决时间依赖性。

7.2 实验结果

        1. 性能优势:通过广泛的实验,MHFormer展示了其相对于传统的单假设Transformer模型的根本优势,并在两个基准数据集上实现了最先进的性能。

        2. 研究贡献:作者希望MHFormer的方法能够促进2D到3D姿态转换领域的进一步研究,特别是在考虑多种歧义性的情况下。

7.3 局限性

        1. 计算复杂性:MHFormer的一个局限性是相对较大的计算复杂性。虽然Transformer模型提供了出色的性能,但这也带来了较高的计算成本。

        2. 性能与成本的权衡:这意味着在实际应用中,可能需要在模型的性能和所需的计算资源之间做出权衡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/631618.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数学建模——建立数学模型(1)

前言 这个也是对《数学模型》(姜启源第四版)书内容的摘抄 建立数学模型 数学模型这个词汇现在越来越多地出现在现代入的 生产、工作和社会活动中.广大的科学技 术人员和应用数学工作者来说,建立数学模型是沟通摆在面前的实际问…

Redis第17讲——Redis zset结构实现滑动窗口限流

一、什么是滑动窗口限流 滑动窗口限流是一种流量控制策略,用于控制在一定时间内允许执行的操作数量或请求频率。它的工作方式类似于一个滑动时间窗口,对每个时间窗口的请求数量进行计数,并根据预先设置的限流策略来限制或调节流量&#xff0…

「AIGC算法」近邻算法原理详解

本文主要介绍近邻算法原理及实践demo。 一、原理 K近邻算法(K-Nearest Neighbors,简称KNN)是一种基于距离的分类算法,其核心思想是距离越近的样本点,其类别越有可能相似。以下是KNN算法的原理详解: 1. 算…

STM32手写寄存器的方式实现点亮LED灯

这次是从头开始学习STM32,看野火的视频开始学习,感觉需要记录的时候就要记录一下学习的心得。野火视频学习的老师讲的还是很到位的,能够学习到很多的细节之处,有时会感觉很啰嗦,但是不得不说确实很详细,只有…

cpu卡片详解(FM1208)

​ 目录 ​1. 引言 1.1 FM1208 CPU卡芯片 2. FM1208 CPU卡芯片概述 2.1 FM1208及其在智能卡中的作用 2.2 FM1208功能框图 3.FM1208的技术规格 4.FM1208工作流程 5.FM1208文件结构 6.FM1208与其他智能卡技术的比较 7.FM1208安全特性 7.1 DES/…

水泡传感器内部结构

水泡传感器内部结构: 水泡传感器放大电路 电路是基于1.6V做的TIA I2V, 也就是输出部分基于1.6V做电压的增加或减少。

OpenAI GPT-4o:开启人工智能交互新纪元

引言 在人工智能领域,OpenAI一直是创新的代名词。2024年5月14日,OpenAI再次以GPT-4o模型震撼了科技界,这款全新的旗舰生成模型不仅免费向公众开放,更以其革命性的多模态交互能力,引领我们进入了一个全新的科幻时代。 …

react 图片没有加载出来的问题

react 图片没有加载出来的问题 我原来是这样写的 <Layout><Sider><imgsrc"../images/login/topdivbg20221202.png"/></Sider><Content><Menu onClick{onClick} selectedKeys{[current]} mode"horizontal" it…

停车场车位引导系统是什么,停车场车位引导系统有哪些作用?

随着城市交通的快速发展&#xff0c;车辆的数量也在迅速增长&#xff0c;随之而来的就是停车难的问题&#xff0c;那么在城市中&#xff0c;如何合理的利用好现有资源&#xff0c;让停车资源得到合理利用呢&#xff1f;这就需要一套科学有效的智能停车场系统&#xff0c;可以帮…

MySQL单表查询案例演示

目录 一、创建数据库lianxi 二、选择数据库为lianxi 三、新建一个数据表grade&#xff0c;在grade表中插入数据 四、开始进行查询操作&#xff08;验证表中数据&#xff09; 1、查询1945班的成绩信息 2、查询1945班&#xff0c;语文成绩大于60小于90的成绩信息 3、查询学…

谷歌举办Gemini API开发者大赛;ChatGPT iOS版更新支持中文

&#x1f989; AI新闻 &#x1f680; 谷歌举办Gemini API开发者大赛&#xff0c;大奖1981款电动DeLorean 摘要&#xff1a;IT之家 5 月 15 日消息&#xff0c;在 2024 年谷歌 I/O 开发者大会上&#xff0c;谷歌宣布举办 Gemini API 开发者大赛&#xff0c;主要面向个人开发者…

NASA数据集——GES DISC 的 AIRS-CloudSat 云掩模、雷达反射率和云分类匹配 V3.2 (AIRS_CPR_MAT)

AIRS-AMSU variables-CloudSat cloud mask, radar reflectivities, and cloud classification matchups V3.2 (AIRSM_CPR_MAT) at GES DISC GES DISC 的 AIRS-CloudSat 云掩模、雷达反射率和云分类匹配 V3.2 (AIRS_CPR_MAT) 简介 这是 NetCDF-4 格式的 AIRS-CloudSat 定位子…

CET6级(笔试备考)

CET6笔试 做题技巧 备考注意 感觉考前一个月还是要多刷几套真题啊&#xff0c;刷个10套吧。 参考链接&#xff1a;https://blog.csdn.net/m0_57656758/article/details/130707582

解决GitHub提交后不显示自己的头像 显示另一个没见过的账号?

问题说明 最近换了几台电脑开发项目&#xff0c;提交到github&#xff0c;看了下提交记录&#xff0c;怎么冒出来不是我的账号头像&#xff1f; 什么鬼i 原因分析 github是按照你注册时候填的邮箱来查找账号&#xff0c;并显示在提交记录上面的。如果账号找不到头像就出不来…

深度学习500问——Chapter08:目标检测(9)

文章目录 8.5 目标检测的技巧汇总 8.5.1 Data Augmentation 8.5.2 OHEM 8.5.3 NMS&#xff1a;Soft NMS/ Polygon NMS/ Inclined NMS/ ConvNMS/ Yes-Net NMS/ Softer NMS 8.5.4 Multi Scale Training/Testing 8.5.5 建立小物体与context的关系 8.5.6 参考relation network 8.5.…

Vue3商城后台管理实战-用户登录界面设计

界面设计 此时界面的预览效果如下&#xff1a; 登录界面的完整代码如下&#xff1a; <script setup> import {reactive} from "vue/reactivity";const form reactive({username: "",password: "", })const onSubmit () > {} <…

模板初阶template

千呼万唤始出来&#xff01;我们终于迎来了C的又一个便利的东东&#xff1a;模板&#xff0c;相信通过模板的学习&#xff0c;大家一定会对于C的使用更加喜爱&#xff01; 泛型编程 当我们想写一个交换函数时&#xff0c;我们会怎么写&#xff1f;如果需要不同类型的交换函数&a…

【STM32-MX_GPIO_Init分析】

MX_GPIO_Init分析源码如下&#xff1a; __HAL_RCC_GPIOE_CLK_ENABLE源码如下&#xff1a; #define RCC ((RCC_TypeDef *) RCC_BASE) #define RCC_BASE (AHB1PERIPH_BASE 0x3800UL) #define AHB1PERIPH_BASE (PERIPH_BASE 0x00020000U…

C语言之旅:动态内存管理

目录 一.为什么要有动态内存分配 二.malloc和free 2.1 malloc 2.2 free 2. 3malloc和free的使用 三. calloc 四. raelloc 4.1 代码示例&#xff1a; 4.2 注意事项&#xff1a; 4.3 对动态开辟空间的越界访问 4.4 对非动态开辟内存使⽤free释放 4.5 使用free释放⼀块…

IC设计企业如何实现安全便捷的芯片云桌面跨网摆渡?

IC设计企业&#xff0c;主要专注于集成电路的设计。这些企业通常包括集成电路、二极管、三极管和特殊电子元件等产品的设计和生产。IC设计企业在其运营和产品设计过程中&#xff0c;会涉及和产生多种文件&#xff0c;如&#xff1a; 项目需求文档&#xff1a;这是项目启动的基础…