背景技术:
1、三维人体姿态估计(3d hpe)是计算机视觉领域中重要的研究之一,其目的在于从三维空间中重建人体关键点位置。三维人体姿态估计的应用非常广泛,包括影视动漫、智能安防、医疗辅助、运动分析。三维人体姿态估计的实现方法主要分为两类:端到端的直接估计法和两阶段的姿态“提升”法。前一种方法直接从输入图像或视频中推断3d姿态;另一种首先将人类图像序列转化为二维关节点序列,然后预测三维关节点。尽管二维人体姿态估计模型的精度和泛化性都得到了显著提升,但是从二维视频图像推断三维人体姿态仍然存在着自遮挡和深度模糊等问题。
2、虽然u-net在深度学习中取得了良好的性能和应用效果,但基于卷积神经网络的u-net在处理长序列数据时往往存在泛化能力差,时空相关性建模效果差等问题。此外,时间轴上的帧序列选取问题也是三维人体姿态估计领域中的研究热点。seq2frame旨在从长序列数据中估计中心帧的关节点信息,此方法虽然降低了时间序列数据的处理复杂度,但会丢失序列中的时间信息;seq2seq旨在从f个序列帧中预测每个对应帧的姿态,但此方法在将完整的长视频帧分割成多个单帧进行单独处理时,会出现首尾两帧缺乏时间相关性的问题。
技术实现思路
1、本发明的目的是提供基于多尺度时空编码器网络的三维人体姿态估计方法,能够对视频帧中的二维人体图像进行关节点提取。
2、本发明所采用的技术方案是,基于多尺度时空编码器网络的三维人体姿态估计方法,具体按以下步骤实施:
3、步骤1,通过二维姿态检测器捕捉视频帧中的二维人体关节点,并对关节点进行预处理,馈送到姿态估计的管道中;
4、步骤2,采用序列填充模块对步骤1中的原始序列和填充序列进行关节点时空相关性的学习;
5、步骤3,采用多尺度模块对步骤2中的关节点特征信息按照人体骨架拓扑结构强化关节点特征、局部特征和全局特征不同尺度间的关联性;
6、步骤4,采用线性变换层将步骤3的高维度输出投影为三维坐标;
7、步骤5,构建损失函数,使用mpjpe对模型进行端到端的训练。
8、本发明的特点还在于:
9、步骤1具体按以下步骤实施:
10、步骤1.1,将待处理视频逐帧输入到二维姿态检测器中,得到与视频帧相对应的二维人体姿态序列;
11、步骤1.2,将二维人体姿态序列中的关节点坐标信息拉伸为一维的tensor向量,得到预处理后的关节点信息。
12、步骤2具体按以下步骤实施:
13、步骤2.1,构建序列填充模块,对步骤1.2处理后的二维姿态序列进行序列填充,填充后的序列为其中f为原始序列长度,n为填充序列长度,j为关节点数,信道大小为2;
14、通过线性投影对每个关节点的二维坐标进行空间位置嵌入,用于保留关节点在每帧中的空间位置信息:
15、
16、式中,和分别代表线性投影矩阵和空间位置嵌入矩阵,x代表关节点;
17、步骤2.2,构建空间编码器模块,对步骤2.1处理后的关节点高维特征输入到空间编码器的自注意力层中,并利用多头注意力来对关节点高维特征的位置关系进行建模:
18、
19、
20、式中,msa(·)为多头自注意力,mlp(·)为多层感知机;
21、步骤2.3,构建时间编码器模块用来提取序列xsp中空间特征表示之间的全局依赖关系,时间编码器利用线性投影矩阵对不同帧间的关节点进行时间位置嵌入,用于捕捉关节点在不同帧下的位置信息,然后利用msa和mlp对关节点时间信息进行建模,得到序列xtp;
22、步骤2.4,构建交叉编码器模块对长序列进行下采样,使序列长度保持与填充前的序列长度相同,交叉注意力对两个不同长度的序列作特征信息互补操作:
23、xtp'=xtp[n:-n] (5)
24、q=xtp'wq,k=xtpwk,v=xtpwv (6)
25、xc=msa(q,k,v)+xtp' (7)
26、式中,xtp'代表切片后的序列数据,表示线性层。
27、步骤3具体按以下步骤实施:
28、步骤3.1,根据人体关节之间的连接关系,分别设计三个尺度{s1,s2,s3},包含全部17个关节点的尺度s1在小型感受野内提取每个关节的点特征;包含11个关节点区域的尺度s2在中型感受野内提取局部特征信息;包含6个关节点区域的尺度s3在大型感受野内提取全局特征信息;
29、步骤3.2,构建特征池化矩阵,对步骤2.4处理后的关节点特征作为多尺度模块的输入,并利用特征池化矩阵将s1尺度下的17个节点区域转化为s2尺度下的11个节点区域,然后利用卷积对区域下的局部特征作自适应融合:
30、
31、式中,conv(·)代表二维卷积,代表特征池化矩阵;
32、步骤3.3,构建特征池化矩阵,将经过步骤3.2处理后的关节点特征再次进行下采样,然后利用特征池化矩阵将s2尺度下的11个节点区域转化为s3尺度下的6个节点区域,再对全局特征作自适应融合:
33、
34、x”=concat(x'0,x'1,...,x'5) (11)
35、步骤3.4,构建时空编码器,将经过步骤2.4、步骤3.2、步骤3.3处理后的多尺度特征信息xc,x'和x”分别作为时空编码器的输入,用来学习不同关节点同一帧内和相邻帧间的时空特征;
36、步骤3.5,将经过步骤3.4处理后的包含时空特征信息的多尺度输出x1,x2和x3,利用空间解池化矩阵将s3尺度下的关节点特征嵌入到s2中:
37、
38、
39、式中,表示池化矩阵的转置矩阵,stack(·)代表特征融合;
40、步骤3.6,将经过步骤3.5处理后的二维姿态序列再次上采样,并利用空间解池化矩阵将s2尺度下的关节点特征嵌入到s1中:
41、
42、步骤4中使用线性层将高维特征回归为三维姿态关节点
43、步骤5具体按以下步骤实施:
44、步骤5.1,使用标准的mpjpe最小化预测姿态和真实姿态序列之间的误差;
45、步骤5.2,构建损失函数,利用端到端的方法进行训练:
46、l=λwlw+λtlt+λmlm (18)
47、式中,lw为加权平均关节位置误差,lt为时间一致性损失,lm为平均关节速度误差,λw、λt和λm代表权重超参数。
48、本发明的有益效果时:
49、本发明基于多尺度时空编码器网络的三维人体姿态估计方法,在使用u-net网络架构提取多层次关节点语义信息的前提下,减少待预测序列的长度变化对整体关节点预测精度的影响,对视频帧中的二维人体图像进行关节点提取,并将二维关节点序列提升至三维关节点序列。
1.基于多尺度时空编码器网络的三维人体姿态估计方法,其特征在于,具体按以下步骤实施:
2.根据权利要求1所述的基于多尺度时空编码器网络的三维人体姿态估计方法,其特征在于,所述步骤1具体按以下步骤实施:
3.根据权利要求1所述的基于多尺度时空编码器网络的三维人体姿态估计方法,其特征在于,所述步骤2具体按以下步骤实施:
4.根据权利要求1所述的基于多尺度时空编码器网络的三维人体姿态估计方法,其特征在于,所述步骤3具体按以下步骤实施:
5.根据权利要求1所述的基于多尺度时空编码器网络的三维人体姿态估计方法,其特征在于,所述步骤4中使用线性层将高维特征回归为三维姿态关节点
6.根据权利要求1所述的基于多尺度时空编码器网络的三维人体姿态估计方法,其特征在于,所述步骤5具体按以下步骤实施:
