基于关键点与网格顶点互补增强的3D人体姿态估计方法
未命名
08-27
阅读:84
评论:0

基于关键点与网格顶点互补增强的3d人体姿态估计方法
技术领域
1.本发明涉及计算机视觉技术领域,具体涉及基于关键点与网格顶点互补增强的3d人体姿态估计方法。
背景技术:
2.人体姿态估计是计算机视觉在过去几十年中最重要的任务之一,是机器理解人体动作的基础。它的目标是识别、定位图像/视频中的所有人体的预设关键点(如肘部、手腕等),使得人体的姿态、运动数据化。该技术通常以人体关键点坐标或姿态参数对姿态进行描述,可应用于如人机交互、虚拟现实、智能监控、体育竞技等诸多技术领域。
3.过去一段时间,2d人体姿态估计一直是计算机视觉领域的主要研究内容。然而,2d人体姿态估计存在一些局限性:由于最终估计结果为人体关键点在二维图像上的坐标,因此无法准确描述关键点在三维空间中的具体位置以及肢体的旋转和形状信息。3d人体姿态估计的目标是推断出人体关键点在三维空间中的坐标,实现更准确和真实的姿态表示。因此,通过将姿态信息转化到三维空间,研究者可以获得更多关于人体姿态、空间结构和运动状态的详细信息,为相关领域的研究和应用提供更广阔的可能性。
4.基于2d检测结果进行3d重构的方法在3d人体姿态估计中占据了重要位置。现有方法先利用有效的2d姿态估计网络输出2d人体关键点坐标,然后将2d坐标输入三维重建网络生成重构的三维姿态。但是,3d人体关键点坐标也有其局限性,只表示了人体关键点在空间中的位置分布,不能准确描述人体在空间中的姿态。现有的方法是额外添加一个回归参数化的人体模型的网络,使得预测结果由3d人体关键点坐标转换为人体参数模型。其中,蒙皮多人线性模型(smpl)人体网格重建方法中常用的模型,该模型可以获得关节旋转和人体形状以及关节坐标。在该模型下可以对人体的关键点坐标,体型以及肢体旋转角度进行更详细的描述。
5.现有方法通过smpl回归网络生成人体模型时,输入信息通常是3d人体关键点坐标的嵌入特征以及骨干网输出特征信息。然而,现有基于图像的方法可以从静态图像中较合理地预测输出,但由于是基于图像进行设计并训练的,连续视频帧中的帧间连续性被破坏,难以实现在连续视频帧中对运动的人体进行连续、平滑的建模估计,导致3d人体姿态估计的连续性不好。同时,生成的3d人体关键点坐标只能准确地描述人体关键点在空间中的位置分布,而却缺少肢体旋转以及体型的描述,使得smpl参数回归网络在肢体旋转和体型的构建上存在信息缺失和拟合难度大等问题,导致生成的最终模型不够准确。因此,如何设计一种能够提高3d人体姿态估计的连续性和准确性的方法是亟需解决的技术问题。
技术实现要素:
6.针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种基于关键点与网格顶点互补增强的3d人体姿态估计方法,能够实现在连续视频帧中对运动的人体进行连续、平滑的建模估计,并且能够改善smpl参数回归网络在肢体旋转和体型的构建上
存在的信息缺失和拟合难度大等问题,从而能够提高smpl参数回归和3d人体姿态估计的连续性和准确性。
7.为了解决上述技术问题,本发明采用了如下的技术方案:
8.基于关键点与网格顶点互补增强的3d人体姿态估计方法,包括:
9.s1:获取待估计的连续视频帧;
10.s2:将连续视频帧输入训练后的回归预测模型,输出各个视频帧的smpl模型参数;
11.回归预测模型的处理步骤如下:
12.s201:将连续视频帧输入骨干网,提取各个视频帧的关键点热度图以及浅层特征和最终层特征;
13.s202:依次将各个视频帧的关键点热度图转换为2d关键点坐标和2d关键点特征;然后根据各个视频帧的2d关键点特征学习关键点的时空相关性,生成对应的3d关键点坐标;
14.s203:根据各个视频帧的浅层特征和最终层特征进行多尺度特征处理,生成对应的部分3d顶点热度图;然后将各个视频帧的部分3d顶点热度图转换为对应的3d顶点坐标;
15.s204:根据各个视频帧的3d关键点坐标和3d顶点坐标生成关键点-顶点嵌入特征;
16.s205:将各个视频帧的关键点-顶点嵌入特征输入smpl参数回归模块中,输出对应的smpl模型参数;
17.s3:基于各个视频帧的smpl模型参数构建对应的smpl模型,作为各个视频帧估计的3d人体姿态模型。
18.优选的,对连续视频帧进行数据预处理,得到单人裁剪后的连续视频帧,进而将单人裁剪后的连续视频帧输入骨干网。
19.优选的,通过如下步骤生成视频帧的3d关键点坐标:
20.s2021:通过βsoftargmax函数将视频帧的关键点热度图转换为对应的2d关键点坐标;
21.s2022:通过线性嵌入将2d关键点坐标转换为高维度的2d关键点特征;
22.s2023:将高维度的2d关键点特征输入时空堆叠注意力模块,在时间层面和空间层面多次利用注意力机制提取不同视频帧中相同关键点间的特征和相同视频帧中不同关键点间的特征以反复学习关键点的时空相关性,生成对应的时空加权3d关键点特征;
23.s2024:根据时空加权3d关键点特征生成对应的3d关键点坐标。
24.优选的,时空堆叠注意力模块包括多个堆叠的时空注意力模块;前一时空注意力模块输出的特征作为后一时空注意力模块的输入,最后一个时空注意力模块输出的特征作为时空加权3d关键点特征;
25.每个时空注意力模块包括如下处理步骤:
26.1)在时间层面,首先将输入的特征在关键点层面进行拆分,使得关键点之间解除耦合,进而在时间层面聚合得到包含时间信息的高维时间特征;其次高维时间特征经过层归一化在时间层面调整数据的分布,再经过多层感知机结构的mlp层进一步提取特征;最后经过层归一化后由多头注意力模块对相同关键点的时间相关性进行建模,捕捉关键点的运动轨迹,生成时间注意力加权后的特征;
27.2)在空间层面,对时间注意力加权后的特征在时间层面解除耦合,在空间层面聚
合以生成蕴含空间信息的高维时空特征;其次高维时空特征经过层归一化在空间层面调整数据的分布,再经过多层感知机结构的mlp层进一步提取特征;最后经过层归一化后由多头注意力模块对关键点之间的空间关系进行建模,捕捉关键点之间的位置依赖,生成时空注意力加权后的特征;
28.3)将时空注意力加权后的特征维度变换至与输入特征的维度一致。
29.优选的,通过如下步骤生成视频帧的3d顶点坐标:
30.s2031:通过顶点回归模块对浅层特征和最终层特征进行多尺度特征提取,得到部分网格顶点的特征信息,进而根据部分网格顶点的特征信息生成对应的部分3d顶点热度图h
3d
;
31.s2032:将部分3d顶点热度图与权重系数相乘并进行归一化,生成归一化后的3d顶点热度图;
32.s2033:通过βsoftargmax函数将归一化后的3d顶点热度图换为对应的3d顶点坐标。
33.优选的,顶点回归模块包括依次首尾连接的3d卷积层、三个堆叠的3d残差块、最大池化层、3d残差块、最大池化层、3d残差块、最大池化层、两个堆叠的3d残差块、3d残差块、上采样层、3d残差块、上采样层、3d残差块、上采样层、3d残差块、3d卷积层、1
×1×
1卷积层;
34.3d卷积层由一层3d卷积、批归一层和relu激活函数组成;
35.3d残差块先经过一层卷积层,再经过3d卷积和批次归一化,最后将结果与输入相加后输入relu激活层;
36.最大池化层执行步幅为2的3d最大池化操作;
37.上采样层由步幅为2的三维反卷积层、批次归一化层和relu激活函数组成。
38.优选的,通过如下公式计算生成3d顶点坐标:
[0039][0040][0041]
式中:表示第n个网格顶点在三维空间的坐标,即3d顶点坐标;表示第n个网格顶点的3d顶点热度图;表示归一化后第n个网格顶点的3d顶点热度图;ω表示设置的权重系数;n表示网格顶点坐标的索引号;r=[r
x
,ry,rz],表示三维空间坐标为(x,y,z)处的坐标。
[0042]
优选的,首先通过线性变换将各个视频帧的3d关键点坐标和3d顶点坐标转换为对应的3d关键点嵌入特征和3d顶点嵌入特征;然后连接各个视频帧的3d关键点嵌入特征和3d顶点嵌入特征连接形成关键点-顶点嵌入特征。
[0043]
优选的,smpl模型参数包括旋转参数θ∈r
24
×3、体型参数β∈r
10
和相机参数kc∈r3。
[0044]
优选的,通过如下损失函数训练回归预测模型:
[0045]
l=l
pose
+l
mesh
;
[0046]
l
mesh
=l
param
+l
pose
′
;
[0047]
式中:l表示回归预测模型的总损失;l
pose
表示生成的3d关键点坐标与标签坐标之
间的l1距离;l
mesh
表示预测smpl参数的损失函数;l
param
表示参数θ和β与标签参数之间的l1距离;l
pose
′
表示构建的smpl模型的网格坐标与标签之间的l1距离。
[0048]
本发明中基于关键点与网格顶点互补增强的3d人体姿态估计方法与现有技术相比,具有如下有益效果:
[0049]
本发明通过回归预测模型预测连续视频帧的smpl模型参数,进而基于smpl模型参数构建3d人体姿态模型。一方面,本发明回归预测模型的时空注意力模块在时间层面和空间层面分别利用注意力机制分布提取不同视频帧中相同关键点间的特征和相同视频帧中不同关键点间的特征,使得能够有效利用关键点坐标的时间一致性和关键点之间的相关性(即连续视频帧的帧间一致性)来将2d关键点转换为3d关键点坐标,进而能够实现在连续视频帧中对运动的人体进行连续、平滑的建模估计,从而能够提高smpl参数回归和3d人体姿态估计的连续性。另一方面,本发明在利用时空注意力进行人体姿态估计的基础上,通过顶点回归模块提取人体网格顶点的特征信息并生成各个网格顶点的3d顶点坐标,使得能够利用3d关键点坐标和3d顶点坐标回归最终的smpl模型参数,实现了关键点与网格顶点的互补增强,补充了人体关键点骨架中缺失的肢体旋转和人体形状等信息,能够改善smpl参数回归网络在肢体旋转和体型的构建上存在的信息缺失和拟合难度大等问题,使得smpl模型回归更加准确且更加切合图像本身,并减少了对特征提取模块的依赖,从而能够提高smpl参数回归和3d人体姿态估计的准确性。
附图说明
[0050]
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
[0051]
图1为本发明3d人体姿态估计算法的逻辑框图;
[0052]
图2为回归预测模型的网络结构图;
[0053]
图3为单个时空注意力模块的网络结构图;
[0054]
图4为顶点回归模块的网络结构图;
[0055]
图5为本发明方法在3dpw上的可视化结果;
[0056]
图6为本发明方法在huaman3.6上的可视化结果;
[0057]
图7为vertattpose(a)与mpsnet(b)在huaman3.6上的可视化比较结果;
[0058]
图8为网格顶点可视化示意图。
具体实施方式
[0059]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件能够以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
[0060]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
b,liu d,et al.deep high-resolution representation learning for human pose estimation或li c,lee g h.from synthetic to real:unsupervised domain adaptation for animal pose estimation中公开的smpl参数回归器),该smpl参数回归模块通过关键点-顶点嵌入特征f估计smpl模型参数。
[0076]
需要说明的是,图2中所示的关键点嵌入ek和顶点嵌入ev可以理解为是扩充信息后的特征。原本的坐标只有3维的信息:x、y、z。嵌入特征在其基础上对维度进行扩展,通过拟合训练的方式挖掘其中额外的信息,该过程通过简单的全连接层得到。
[0077]
s3:基于各个视频帧的smpl模型参数构建对应的smpl模型,作为各个视频帧估计的3d人体姿态模型。
[0078]
本发明通过回归预测模型预测连续视频帧的smpl模型参数,进而基于smpl模型参数构建3d人体姿态模型。一方面,本发明回归预测模型的时空注意力模块在时间层面和空间层面分别利用注意力机制分布提取不同视频帧中相同关键点间的特征和相同视频帧中不同关键点间的特征,使得能够有效利用关键点坐标的时间一致性和关键点之间的相关性(即连续视频帧的帧间一致性)来将2d关键点转换为3d关键点坐标,进而能够实现在连续视频帧中对运动的人体进行连续、平滑的建模估计,从而能够提高smpl参数回归和3d人体姿态估计的连续性。另一方面,本发明在利用时空注意力进行人体姿态估计的基础上,通过顶点回归模块提取人体网格顶点的特征信息并生成各个网格顶点的3d顶点坐标,使得能够利用3d关键点坐标和3d顶点坐标回归最终的smpl模型参数,实现了关键点与网格顶点的互补增强,补充了人体关键点骨架中缺失的肢体旋转和人体形状等信息,能够改善smpl参数回归网络在肢体旋转和体型的构建上存在的信息缺失和拟合难度大等问题,使得smpl模型回归更加准确且更加切合图像本身,并减少了对特征提取模块的依赖,从而能够提高smpl参数回归和3d人体姿态估计的准确性。
[0079]
本发明的回归预测模型在3dpw以及human3.6m上进行了实验的验证,结果表明与现有方法相比,本发明方法预测的3d人体模型更加贴合。作为代价,则是模型参数和计算量较现有方法增加较多。
[0080]
具体实施过程中,采用的骨干网为resnet-50,其框架为单人姿态估计网络,因此将连续视频帧输入骨干网之前,需要对连续视频帧进行数据预处理,即对连续视频帧进行数据预处理,得到单人裁剪后的连续视频帧,进而将单人裁剪后的连续视频帧输入骨干网。
[0081]
数据预处理包括:对于连续视频帧中的同一人体目标,通过从当前视频帧中获得的人体检测框进行定位(通过人体检测器对视频帧进行检测生成对应的人体检测框),在某些检测结果中,远离人体中心的四肢(如手掌、脚等)不能完全包含在检测框中,导致对该部分的关键点估计不正确,为了避免上述情况和保证连续视频帧中同一的人体具有相同的视角,将人体检测框放大了25%,使得检测框可以完全包含检测到的人体;然后利用当前帧中放大后的人体检测框对连续的多帧视频帧进行裁剪,得到单人裁剪后的连续视频帧,进而将单人裁剪后的连续视频帧送入骨干网提取关键点热度图和关键点特征。
[0082]
本发明通过连续视频帧进行数据预处理即视频帧裁剪,能够得到单人裁剪后的连续视频帧,使得连续视频帧中定位的人体能够保持在相同的区域,有利于骨干网更好的提取关键点热度图以及浅层特征和最终层特征,从而能够进一步提高后续smpl参数回归和3d人体姿态估计的准确性。
[0083]
具体实施过程中,设计时空注意力模块的动机如下:现有的方法主要在空间中将所有关键点的2d坐标进行关联,因为相邻关键点大多存在与同一骨骼上,彼此之间的位置会相互影响。但输入由原本的图像转化为关键点坐标后,网络很难将单独的坐标与坐标之间建立联系,因此单一的在空间上利用关键点位置信息改进有限。而在时间层面,人体的同一关键点的位置不会突变,且往往基于上个时刻的位置运动。可利用时间信息对关键点信息进行纠正修正,平滑关键点的运动轨迹,减少因个别关键点定位错误带来的负面印象。因此本发明的时空注意力模块在时间和空间两个层面对嵌入后的坐标关键点特征分开进行学习,以捕捉不同关键点自身的运动轨迹。
[0084]
本发明设计的时空注意力模块由多个时空注意力模块堆叠构成,其中单个时空注意力模型由一个时间注意力模块和空间注意力模块组成构成。时间注意力模块关注不同帧之间相同关键点之间的注意力,空间注意力关注同一帧中不同关键点之间的注意力,二者联合关注每个关键点的时间和空间相关性。时间和空间注意力模块具有相同的注意力结构,但由于变换了输入特征通道,使得网络可以计算不同的注意力特征。
[0085]
时空堆叠注意力模块通过如下步骤生成视频帧的3d关键点坐标:
[0086]
s2021:通过βsoftargmax函数将视频帧的关键点热度图转换为对应的2d关键点坐标。
[0087]
本实施例中,各个视频帧的2d关键点坐标表示为c
n,k
∈rn×k×2,n为视频帧的帧数,k为关键点个数。
[0088]
s2022:通过线性嵌入(或全连接层)将2d关键点坐标转换为高维度的2d关键点特征dm为特征维数;本实施例中,线性嵌入将低维度的2d坐标转化为高维度特征,增加其信息含量,同时便于后续处理。
[0089]
s2023:将高维度的2d关键点特征输入时空堆叠注意力模块,在时间层面和空间层面多次利用注意力机制提取不同视频帧中相同关键点间的特征和相同视频帧中不同关键点间的特征以反复学习关键点的时空相关性,生成对应的时空加权3d关键点特征。
[0090]
即2d关键点特征经过时空加权生成3d关键点特征。本实施例采用的注意力机制是现有成熟手段。
[0091]
注意力机制一般包括两个步骤:计算注意力权重和应用注意力权重。在计算注意力权重时,可以使用各种算法,例如softmax、sigmoid、max等等。计算出的注意力权重可以直接应用于特征图上,或者在通道维度上进行重新加权。本实施例中,使用的注意力模块也是基于以上两个步骤进行计算的,先通计算出特征在每个像素位置或通道上的注意力权重,然后将注意力系数赋予所属的特征,得到注意力加权后的结果。
[0092]
输入特征先经过三个卷积层,以得到三个的特征v、k、q,或是由一个卷积层生成3倍与输入张量通道数的特征,然后再拆分为v、k、q 3个特征。其中v作为进一步处理后的特征,k、q用于计算相似系数。具体计算过程可分为两步:先利用k、q计算归一化注意力系数,然后将v与计算好的注意力系数相乘,得到注意力加权后的结果。其过程可由如下公式组成:
[0093][0094]
[0095]s×v→fout
;
[0096]
式中f
in
为输入特征,f
out
为注意力加权后的特征,t表示转置操作,其中v、k、q的形状与输入特征相同。上述操作为单次注意力计算,一般情况下会单注意力主要集中关注某个特征。实际应用中网络应该关注的特征点不局限于1,如人体姿态估计中的检测目标为多个人体关键点。多头注意力在基于上述注意力网络结构,使用相同结构但不同参数的注意力权重计算模块对其进行多次计算,其目的是希望网络能够对输入张量中的不同特征进行关注。多头注意力中的头为模块中注意力的个数,即计算注意力系数的次数。最终的输出结果将多头的注意力结果进行加权合并,使得网络最终不只限于对某种单一的特征进行注意力加权,可提取更多的特征并对不同特征进行注意力加权。
[0097]
s2024:根据时空加权3d关键点特征生成对应的3d关键点坐标。
[0098]
本实施例中,首先由1
×1×
1卷积将3d关键点坐标转换为3d关键点热度图,然后使用βsoftargmax函数由3d关键点热度图生成对应的3d关键点坐标。
[0099]
结合图3所示,时空堆叠注意力模块包括多个堆叠的时空注意力模块;前一时空注意力模块输出的特征作为后一时空注意力模块的输入,最后一个时空注意力模块输出的特征作为时空加权3d关键点特征;
[0100]
每个时空注意力模块包括如下处理步骤:
[0101]
1)在时间层面,首先将输入的特征x
in
在关键点层面进行拆分,使得关键点之间解除耦合,进而在时间层面聚合得到包含时间信息的高维时间特征其次高维时间特征经过层归一化在时间层面调整数据的分布,再经过多层感知机结构的mlp层进一步提取特征;最后经过层归一化后由多头注意力模块对相同关键点的时间相关性进行建模,捕捉关键点的运动轨迹,生成时间注意力加权后的特征。
[0102]
2)在空间层面,对时间注意力加权后的特征在时间层面解除耦合,在空间层面聚合以生成蕴含空间信息的高维时间特征其次高维时间特征经过层归一化在空间层面调整数据的分布,再经过多层感知机结构的mlp层进一步提取特征;最后经过层归一化后由多头注意力模块对关键点之间的空间关系进行建模,捕捉关键点之间的位置依赖,生成时空注意力加权后的特征x
out
。
[0103]
需要说明的是,图3中涉及的如下公式中的b表示批次、n表示帧数、k表示关键点个数、dm表示嵌入特征的维数。
[0104]
x
in
=b
×n×k×dm
;
[0105]
x
t
=(b
×
k)
×n×dm
;
[0106]
x
out
=b
×n×k×dm
;
[0107]
xs=(b
×
n)
×k×dm
。
[0108]
3)将特征x
out
的维度变换至与输入特征x
in
的维度一致。
[0109]
现有方法只对单一的时间或空间进行建模,尽管利用时空信息,但网络只着重于利用部分特征信息,在信息的使用上不够充分。本发明设计的时空注意力模块由多个时空注意力模块堆叠构成,时间注意力关注不同帧之间相同关键点之间的注意力,空间注意力关注同一帧中不同关键点之间的注意力,二者联合关注每个关键点的时间和空间相关性,使得能够反复对关节点的时空相关性进行学习,同时使用多头时空注意力模块同时在时间
和空间层面提取特征,在时间和空间充分利用了关键点之间的相关性,多个模块重复堆叠使对特征进行反复提取,能更好地获得其中的相关特征,从而能够进一步提高后续smpl参数回归和3d人体姿态估计的准确性。
[0110]
具体实施过程中,顶点回归模块的设计动机如下:smpl模型本质上使用3d顶点组成的网格对人体的形状和姿态进行描述,而模型本身由模型参数表示。现有基于smpl模型的方法大多使用3d人体关键点坐标回归smpl模型参数。但生成的3d人体关键点坐标上只能准确地描述人体关键点在空间中的位置分布,却缺少肢体旋转以及体型的描述。这使得smpl参数回归网络在肢体的旋转和人体形状的构建上存在信息缺失,拟合难度大等问题。通常的做法是增加数据集的多样性和数据或是改进smpl模型结构增强其拟合能力,但这会增加人工数据处理成本和网络参数量和训练成本。有鉴于此,本发明采用了一个额外的多尺度分支网络用于估计smpl模型的部分3d顶点坐标,这些顶点用于补充人体关键点中缺失的体型和肢体旋转信息,使得smpl参数回归模块可以更好的学习。
[0111]
顶点回归模块通过如下步骤生成视频帧的3d顶点坐标:
[0112]
s2031:通过顶点回归模块对浅层特征和最终层特征进行多尺度特征提取,得到部分网格顶点(即人体模型顶点)的特征信息,进而根据部分网格顶点的特征信息生成对应的部分3d顶点热度图h
3d
;
[0113]
本实施例中,对浅层特征和最终层特征进行多尺度特征提取采用的是现有成熟手段。其中,不同尺度即不同分辨率的特征,低分辨率的特征经过下采样,语义信息表征能力强,但是特征图的分辨率低,几何信息的表征能力弱(空间几何特征细节缺乏);高分辨率的特征几何细节信息表征能力强,虽然分辨率高,但是语义信息表征能力弱。通过将二者进行结合可以实现互补增强,提高网络提取信息的能力。
[0114]
3d顶点的数量根据实际需求设置。
[0115]
s2032:将部分3d顶点热度图h
3d
与权重系数相乘ω并进行归一化,生成归一化后的3d顶点热度图;
[0116]
本实施例中,权重系数ω通过实验进行设置,可设置为160。
[0117]
s2033:通过βsoftargmax函数将归一化后的3d顶点热度图换为对应的3d顶点坐标。
[0118]
结合图4所示,顶点回归模块由3d卷积层、3d残差块、最大池化层、上采样层和1
×1×
1卷积层组成,包含2个基本3d卷积层、11个3d残差块、3个最大池化层、3个上样本层和一个1
×1×
1卷积层。
[0119]
顶点回归模块包括依次首尾连接(首尾连接是指前一模块的输出端与后一模块的输入端连接)的3d卷积层、三个堆叠的3d残差块、最大池化层、3d残差块、最大池化层、3d残差块、最大池化层、两个堆叠的3d残差块、3d残差块、上采样层、3d残差块、上采样层、3d残差块、上采样层、3d残差块、3d卷积层、1
×1×
1卷积层。
[0120]
即顶点回归模块通过上述网络结构实现多尺度特征提取和部分3d顶点热度图生成。
[0121]
3d卷积层由一层3d卷积、批归一层和relu激活函数组成;
[0122]
3d残差块先经过一层卷积层,再经过3d卷积和批次归一化,最后将结果与输入相加后输入relu激活层;
[0123]
最大池化层执行步幅为2的3d最大池化操作;
[0124]
上采样层由步幅为2的三维反卷积层、批次归一化层和relu激活函数组成。
[0125]
热度图计算坐标通常有两种做法:argmax操作和soft-argmax操作。其中通过argmax函数可以准确获得热度图中最大值的坐标,但其本身是不可导函数,无法计算其梯度,因此使用该方法往往不能实现端到端训练。soft-argmax将热度图归一化处理,然后将归一后的热度图与对应坐标值相乘后求和则得到原本最大值的坐标。理想情况下由于原本最大值处的值接近与1,其他则接近与0,相乘求和后仅有最大值处坐标保留,其他均因值接近与0而可被忽略,因此可以计算最大值坐标,且该函数可导。而实际预测的3d热度图中的最大值不一定远远大于其他值,因此直接使用soft-argmax通常不够准确。因为最大值的概率不够大,使得其他较大值会对坐标的计算产生影响。
[0126]
由于smpl参数回归模块的输入通常是人体关键点坐标,现有结果是网格顶点的三维顶点热度图,为了使模型能够端到端训练,本发明使用加权后的3d soft-argmax函数计算顶点坐标,即让热度图先乘以权重系数ω以扩大最大值与其他值之间的差距,然后在通过soft-argmax操作完成坐标的获取。
[0127]
通过如下公式计算生成3d顶点坐标:
[0128][0129][0130]
式中:表示第n个网格顶点在三维空间的坐标,即3d顶点坐标;表示第n个网格顶点的3d顶点热度图;表示归一化后第n个网格顶点的3d顶点热度图;ω表示设置的权重系数;n表示网格顶点坐标的索引号;r=[r
x
,ry,rz],表示三维空间坐标为(x,y,z)处的坐标。
[0131]
本发明的顶点回归模块根据关键点特征提取人体网格顶点的特征信息,并生成各个网格顶点的3d顶点坐标,使得能够利用3d关键点坐标和3d顶点坐标回归最终的smpl模型参数,实现了关键点与网格顶点的互补增强,补充了人体关键点骨架中缺失的肢体旋转和人体形状等信息,能够改善smpl参数回归网络在肢体旋转和体型的构建上存在的信息缺失和拟合难度大等问题,使得smpl模型回归更加准确且更加切合图像本身,并减少了对特征提取模块的依赖。
[0132]
具体实施过程中,smpl模型不再是人体骨架,而是由6890个顶点构成的蒙皮模型,其蒙皮为三维网格,由3维空间中的3顶点连线构成。由于网格顶点数目众多,直接回归难度较大,因此使用数据量较少的模型参数描述生成的人体模型。
[0133]
本发明中smpl模型参数包括旋转参数θ∈r
24
×3、体型参数β∈r
10
和相机参数kc∈r3;θ用于描述模型中的子类肢体相对于父类肢体的旋转角度;β用于描述人体的形状大小,如高矮胖瘦等;kc用于投影计算。
[0134]
本发明使用数据量较少的模型参数描述生成的人体模型,使得回归预测模型的回归目标由6890个顶点转化为实际上的85个参数,有效降低了网络的计算量。
[0135]
具体实施过程中,由于网络先生成3d关键点坐标与smpl顶点坐标,然后再由二者
g,chang j y,et al.beyond static features for temporally consistent 3d human pose and shape from a video),mps-net(来自wei w l,lin j c,liu t l,et al.capturing humans in motion:temporal-attentive 3d human pose and shape estimation from monocular video)在3dpw数据集上定量比较的结果。图5展示了本发明的方法在3dpw数据集上正视、测视、背视和遮挡下的可视化结果,比较指标为相比之下拥有更高的精度。
[0147]
表1本发明方法与其他方法在3dpw上的定量比较结果
[0148][0149]
基于human3.6m数据集的结果:本发明的模型在human3.6m数据上进行了评估,评估指标为mpjpe,pa-mpjpe和acc-err。
[0150]
表2显示了本发明方法与现有基于多帧的方法vibe、meva、tcmr、mps-net在human3.6m定量比较的结果。图6显示了本发明方法在human3.6m数据集中正视、测视、背视和遮挡下的可视化结果。
[0151]
表2本发明的方法与不同的方法在human3.6m上的定量比较结果
[0152][0153]
本发明模型的计算量和复杂性:由于不同的算法平台和大多数算法都不是开源的,本发明无法准确地知道其模型的运行效率。因此,本实验比较了模型参数和计算复杂性,以间接说明成本。表3显示了本发明的方法和代表性竞争对手vibe、meva和tcmr的参数与计算复杂度。由于本发明提出的网络相比于之前的网络额外添加了顶点回归模块,因此模型参数量和计算量要多于比较的方法。
[0154]
表3本发明方法与不同的方法在浮点数运算和参数量上的定量比较结果
[0155]
[0156]
为了直观地展示本发明方法的性能,图7显示了与mpsnet(来自wei w l,lin j c,liu t l,et al.capturing humans in motion:temporal-attentive 3d human pose and shape estimation from monocular video)在不同视角下的比较情况。与mpsnet相比,本发明方法的结果更准确:在正面视角中,mpsnet使用人体关键点坐标作为特征回归模型参数,由于关键点缺少旋转信息,使得估计出的模型脚步呈现一个奇怪的姿态。同理,在正面了背面视角中,本发明提出的方法所估计的模型姿态更为贴合所预测的人体,这说明了额外的顶点回归提供了有效的旋转信息,完善的信息使得预测结果更加准确。
[0157]
3、消融实验
[0158]
为了减少训练时间,本实验在数据集3dpw上进行消融实验,以验证本发明方法中每个模块的有效性。消融模块包括顶点回归模块、时间空间注意力融合。实验表明,所设计的模块在提高输出精度方面是有效的。
[0159]
时空注意力模块:在这个消融设置中,本实验探讨了不同注意机制对最终输出姿态的影响。本实验去除了时空模块中的时间注意机制,仅使用空间注意力机制进行特征提取。从表4中可以看到acc-err由7.5变化为28.3。这是由于空间注意力只捕捉单帧中的关键点直接的依赖,忽略了不同时刻关键点之间的位置影响,使得表示输出平滑度下降了。当去除空间注意力机制,只使用时间注意力机制时,各个指标均有下降,且网络性能优于只采用单空间注意力的网络,这是由于使用了基于2d骨干网提取的2d坐标为输入信息。2d骨干网在提取时主要针对单帧在多尺度层面进行特征提取,一定程度上利用了关键点之间的空间信息,因此单一的空间注意力机制对网络的性能提升有限。添加时间注意力机制实质上是利用多帧信息对输出进行平滑,减少了因某个2d检测误差带来的影响。
[0160]
同时,本实验也探讨了时空注意力模块堆叠的个数带来影响。级联堆叠的时空注意力模块个数由2、4和8,每增加一次堆叠网络性能都会有一定程度的提升,某一方面试由于网络参数与层数的增加增强了网络的拟合能力,这也说明反复进行特征提取能够使得数据建立中间特征的时间、空间依赖,使得最终输出精度提升。
[0161]
顶点回归模块:在此设置中,本实验将探讨顶点回归模块对网络性能的影响。实验中采用了两种设置:去除顶点回归模块和顶点个数的选择。
[0162]
去除顶点回归模块的结果见表4,只使用8个堆叠时空注意力模块的网络相比于完整的网络,其精度存在一定程度的下降。这说明额外的回归的顶点能够对后面smpl参数的回归起到补充作用。同时也探讨了顶点回归个数对网络性能的影响,回归顶点的个数开始设定为34,后续逐渐增加为原来的两倍直至392,最后直接回归smpl模型所有的顶点(6890)。从表4中可以看出,当添加额外顶点时,网络性能有所提升,说明额外的顶点可以补充关键点所不具备的旋转和体型信息。而当回归的顶点数目逐渐增加时,网络性能呈现先增加,后减少的现象。这是由于少量的顶点确实可以补充信息,同时提出的顶点回归模块可以较好地生成对应的顶点。但当回归的顶点数目增加直至所有的顶点时,由于顶点回归模块是一个网络参数量较少的模块,其本身的结构和参数不能支持其回归如此庞大的对象,所以其估计的顶点的精度下降,进而导致最终的网络预测精度下降。这进一步说明了应选择合适数目的顶点,能恰好补充人体关键点所不具备的信息,同时网络本身又能完成该复杂度的任务。
[0163]
表4本发明方法中不同模块在3dpw上进行的消融研究
[0164][0165]
图8为所选择网格顶点可视化结果。图中可以直观的看出:34、68个顶点只覆盖模型中的一小部分,因此其对缺失信息的补充效果有限;136个顶点在人体模型的各个部位均有出现,因此其对信息的补充效果好于前者;272个顶点覆盖了大部分的人体,相比于前者信息更加完备,但是由于数目众多,所设计的顶点回归模块不足以满足其需求,需要额外的计算量和参数量,因此预测精度下降。
[0166]
最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。
技术特征:
1.基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于,包括:s1:获取待估计的连续视频帧;s2:将连续视频帧输入训练后的回归预测模型,输出各个视频帧的smpl模型参数;回归预测模型的处理步骤如下:s201:将连续视频帧输入骨干网,提取各个视频帧的关键点热度图以及浅层特征和最终层特征;s202:依次将各个视频帧的关键点热度图转换为2d关键点坐标和2d关键点特征;然后根据各个视频帧的2d关键点特征学习关键点的时空相关性,生成对应的3d关键点坐标;s203:根据各个视频帧的浅层特征和最终层特征进行多尺度特征处理,生成对应的部分3d顶点热度图;然后将各个视频帧的部分3d顶点热度图转换为对应的3d顶点坐标;s204:根据各个视频帧的3d关键点坐标和3d顶点坐标生成关键点-顶点嵌入特征;s205:将各个视频帧的关键点-顶点嵌入特征输入smpl参数回归模块中,输出对应的smpl模型参数;s3:基于各个视频帧的smpl模型参数构建对应的smpl模型,作为各个视频帧估计的3d人体姿态模型。2.如权利要求1所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于:步骤s201中,对连续视频帧进行数据预处理,得到单人裁剪后的连续视频帧,进而将单人裁剪后的连续视频帧输入骨干网。3.如权利要求1所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于,步骤s202中,通过如下步骤生成视频帧的3d关键点坐标:s2021:通过βsoftargmax函数将视频帧的关键点热度图转换为对应的2d关键点坐标;s2022:通过线性嵌入将2d关键点坐标转换为高维度的2d关键点特征;s2023:将高维度的2d关键点特征输入时空堆叠注意力模块,在时间层面和空间层面多次利用注意力机制提取不同视频帧中相同关键点间的特征和相同视频帧中不同关键点间的特征以反复学习关键点的时空相关性,生成对应的时空加权3d关键点特征;s2024:根据时空加权3d关键点特征生成对应的3d关键点坐标。4.如权利要求3所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于:步骤s2023中,时空堆叠注意力模块包括多个堆叠的时空注意力模块;前一时空注意力模块输出的特征作为后一时空注意力模块的输入,最后一个时空注意力模块输出的特征作为时空加权3d关键点特征;每个时空注意力模块包括如下处理步骤:1)在时间层面,首先将输入的特征在关键点层面进行拆分,使得关键点之间解除耦合,进而在时间层面聚合得到包含时间信息的高维时间特征;其次高维时间特征经过层归一化在时间层面调整数据的分布,再经过多层感知机结构的mlp层进一步提取特征;最后经过层归一化后由多头注意力模块对相同关键点的时间相关性进行建模,捕捉关键点的运动轨迹,生成时间注意力加权后的特征;2)在空间层面,对时间注意力加权后的特征在时间层面解除耦合,在空间层面聚合以生成蕴含空间信息的高维时空特征;其次高维时空特征经过层归一化在空间层面调整数据的分布,再经过多层感知机结构的mlp层进一步提取特征;最后经过层归一化后由多头注意
力模块对关键点之间的空间关系进行建模,捕捉关键点之间的位置依赖,生成时空注意力加权后的特征;3)将时空注意力加权后的特征维度变换至与输入特征的维度一致。5.如权利要求1所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于,步骤s203中,通过如下步骤生成视频帧的3d顶点坐标:s2031:通过顶点回归模块对浅层特征和最终层特征进行多尺度特征提取,得到部分网格顶点的特征信息,进而根据部分网格顶点的特征信息生成对应的部分3d顶点热度图;s2032:将部分3d顶点热度图与权重系数相乘并进行归一化,生成归一化后的3d顶点热度图;s2033:通过βsoftargmax函数将归一化后的3d顶点热度图换为对应的3d顶点坐标。6.如权利要求5所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于:顶点回归模块包括依次首尾连接的3d卷积层、三个堆叠的3d残差块、最大池化层、3d残差块、最大池化层、3d残差块、最大池化层、两个堆叠的3d残差块、3d残差块、上采样层、3d残差块、上采样层、3d残差块、上采样层、3d残差块、3d卷积层、1
×1×
1卷积层;3d卷积层由一层3d卷积、批归一层和relu激活函数组成;3d残差块先经过一层卷积层,再经过3d卷积和批次归一化,最后将结果与输入相加后输入relu激活层;最大池化层执行步幅为2的3d最大池化操作;上采样层由步幅为2的三维反卷积层、批次归一化层和relu激活函数组成。7.如权利要求5所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于,通过如下公式计算生成3d顶点坐标:征在于,通过如下公式计算生成3d顶点坐标:式中:表示第n个网格顶点在三维空间的坐标,即3d顶点坐标;表示第n个网格顶点的3d顶点热度图;表示归一化后第n个网格顶点的3d顶点热度图;ω表示设置的权重系数;n表示网格顶点坐标的索引号;r=[r
x
,r
y
,r
z
],表示三维空间坐标为(x,y,z)处的坐标。8.如权利要求1所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于:步骤s204中,首先通过线性变换将各个视频帧的3d关键点坐标和3d顶点坐标转换为对应的3d关键点嵌入特征和3d顶点嵌入特征;然后连接各个视频帧的3d关键点嵌入特征和3d顶点嵌入特征连接形成关键点-顶点嵌入特征。9.如权利要求1所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于:步骤s205中,smpl模型参数包括旋转参数θ∈r
24
×3、体型参数β∈r
10
和相机参数k
c
∈r3。10.如权利要求9所述的基于关键点与网格顶点互补增强的3d人体姿态估计方法,其特征在于:通过如下损失函数训练回归预测模型:
l=l
pose
+l
mesh
;l
mesh
=l
param
+l
pose
′
;式中:l表示回归预测模型的总损失;l
pose
表示生成的3d关键点坐标与标签坐标之间的l1距离;l
mesh
表示预测smpl参数的损失函数;l
param
表示参数θ和β与标签参数之间的l1距离;l
pose
′
表示构建的smpl模型的网格坐标与标签之间的l1距离。
技术总结
本发明具体涉及基于关键点与网格顶点互补增强的3D人体姿态估计方法,包括:通过回归预测模型输出各个视频帧的SMPL模型参数;回归预测模型的处理步骤包括:通过骨干网提取关键点热度图以及浅层特征和最终层特征;依次将关键点热度图转换为2D关键点坐标和2D关键点特征,提取时空特征生成3D关键点坐标;通过多尺度特征处理生成部分3D顶点热度图并转换为3D顶点坐标;生成键点-顶点坐嵌入特征,并通过SMPL参数回归模块输出SMPL模型参数;基于各个视频帧的SMPL模型参数构建SMPL模型。本发明能够实现在连续视频帧中对运动的人体进行连续、平滑的建模估计,并且能够改善SMPL参数回归网络在肢体旋转和体型的构建上存在的信息缺失和拟合难度大等问题。和拟合难度大等问题。和拟合难度大等问题。
技术研发人员:潜丽妃 罗玲 姜宗伯 仲元红 徐乾锋 黄智勇 韩术 钟代笛 周庆
受保护的技术使用者:重庆大学
技术研发日:2023.06.28
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/