1.一种基于骨骼和图像特征的姿态重建交互行为理解方法,其特征在于,具体步骤如下:S1、数据集的构建和预处理;
S11、数据集构建:骨骼特征的提取,首先通过改进的OpenPose算法提取人体二维骨骼信息,然后分别通过遮挡预测网络和三维人体姿态估计生成完整的三维人体骨骼数据作为骨骼数据;其中,一种遮挡情况下的三维人体姿态估计算法步骤如下:S111、数据集的预处理:数据集包含两个部分,一是基于生成对抗式插补网络实现对三维人体姿态的遮挡预测,实验所需要使用COCO人体姿态数据集;二是将二维人体姿态数据映射为三维人体姿态数据,实验所需使用的数据集为公开数据集Human3.6M数据集;
S112、生成对抗式插补网络:通过建立生成对抗式插补网络,对缺失人体骨骼关键点进行预测,获取完整的人体骨骼关键点信息;
S113、构建姿态遮挡预测网络架构:在训练判别器时,需要首先固定住生成器,通过引入生成器预测的缺失数据和原始的真实数据输入到判别器中,计算误差并反向传播,更新判别器的参数;在训练生成器时,需要固定住判别器网络,将生成器输出的预测值作为负样本,输入到判别器中,根据判别器的误差,反向传播更新生成器的参数;
S114、三维人体姿态估计:基于非线性模块和OWM模块网络学习三维人体姿态数据的映射关系;
S115、实验分析验证:实验分为遮挡预测实验和三维人体姿态估计两部分进行,其中,遮挡预测实验通过计算真实数据与预测缺失数据的均方根误差等指标进行评估,三维人体姿态估计实验通过计算预测三维坐标与真实坐标误差进行评估;
S2、骨骼特征提取:首先通过引入Bahdanau注意力神经网络,以获取具有不同权重的人体姿态骨骼数据;然后通过图卷积神经网络建立人体姿态有向图模型,用以提取精准的骨骼特征;
其中,骨骼特征提取的步骤如下:
S21、骨骼特征权重网络:对步骤S1输入的三维姿态数据,对其进行基本的初始化权重分布,设置注意力权重由激活函数归一化得到,具体公式如下所示:
其中值score为输入与输出之间的关联函数,其定义如下所示:
其中v表示偏移向量,是模型中可以训练的参数,xi表示输入矩阵向量,rj为特征概率,可得不同骨骼点的特征权重如式下所示:wij=v*αij;
S22、图卷积网络:卷积层操作由信号x和信号g的卷积运算可得,其中信号x表示输入的图信息,信号g表示卷积核,二者的卷积操作通过傅里叶变换得到,其中F函数表示傅里叶变换,用以将信号映射到傅里叶域中,如下所示:x*g=F-1(F(x)⊙F(g));
S3、图像特征提取:首先在获取到三维骨骼数据的同时,保留二维骨骼数据,用于获取图像中的人体区域,提取有效图像特征;然后引入骨骼扩张系数λ作为可训练参数,通过神经网络进行训练;
在图像特征提取中,每个编码器分别由两个子模块构成:多头注意力模块和前馈神经网络模块,如下所示:z′l=MSA(LN(zl-1))+zl-1,l=1,...L;
zl=MSA(LN(z′l))+z′l,l=1,...L;
S4、特征融合与重建:在获取到相同维度的骨骼特征和图像特征后,将二者特征融合共同输入到分类网络中;
在特征融合与重建中,Wide模块由线性模块y=wTx+b形式构成,其中x表示输入特征向量,其形式为x=[x1,x2...,xn],w=[w1,w2,...,wn]为模型训练参数,b表示模型偏置项;输入的融合特征包括原始输入特征和转换后的特征向量,其中转换特征由叉积变换得到,如下所示,其中cki表示布尔变量,即第i个若是第k个变换φk的一部分,则为1,否则为0:
其中前向传播的具体含义如下所示,其中a(l+1)表示第l+1层的输出,σ表示激活函数:a(l+1)=σ(W(l)a(l)+b(l));
通过损失函数计算损失,优化模型参数,通过小批次梯度下降优化算法;其中y表示预测类别标签,σ表示激活函数,φ(x)表示叉积变换,x表示输入特征向量,模型的最终输出概率表达式如下所示:
S5、实验评估验证:在步骤S5实验评估验证中,模型训练环境建立在Windows10环境下,使用CUDA 10.1建立GPU环境进行训练,Python3.6.5作为编译器。