发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于模态引导的多图人体姿态生成方法,用于实现由模态引导的对动静态不同关节点的多图建模。
本发明的第二个目的在于提出一种基于模态引导的多图人体姿态生成装置。
本发明的第三个目的在于提出一种计算机设备。
为达上述目的,本发明第一方面实施例提出了一种基于模态引导的多图人体姿态生成方法,包括:
获取训练数据集,所述训练数据集包括人体动作序列;
将所述训练数据集输入模态引导多图模型,其中所述模态引导多图网络包括时序特征增强子网络和特征提取子网络;
通过所述时序特征增强子网络对所述人体动作序列进行裁剪,对后T帧的特征占比进行增强,获取特征增强数据集;同时通过复制最后一帧,提高输入序列中最后一帧的贡献度;
根据动作幅度将所述特征增强数据集分为多个模态子集,其中,所述多个模态子集包括静止模态子集、稳定模态子集和活跃模态子集;
通过所述特征提取子网络对所述多个模态子集分别进行建模提取特征,再根据所述动作幅度的划分方式还原至人体全局姿态序列。
另外,根据本发明上述实施例的基于模态引导的多图人体姿态生成方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,还包括:
将所述人体全局姿态序列与真实姿态序列进行比较,通过误差反传迭代地对所述模态引导多图模型进行优化,获取训练完成的模态引导多图模型。
进一步地,在本发明的一个实施例中,所述通过所述时序特征增强子网络对所述人体动作序列进行裁剪,对后T帧的特征占比进行增强,包括:
将输入序列O复制为M份子序列,并对M份子序列分别取后[T
1,T
2,…,T
m]帧,此时子序列描述为
每个裁剪后的子序列由一维卷积Cov1进行编码提取子序列特征,对第m个子序列的特征F
m的提取表示为:
进一步地,在本发明的一个实施例中,所述通过复制最后一帧,提高输入序列中最后一帧的贡献度,还包括:
将输入序列O的最后一帧PT复制为长度为T的新序列,并继续采用一维卷积提取其特征再与上述子序列特征拼接,最终得到增强终帧信息的特征FTRM,表示为:
FTRM=Concat(F1,F2,…FM,FT)。
进一步地,在本发明的一个实施例中,所述根据动作幅度将所述特征增强数据集分为多个模态子集,包括:
通过计算各关节点在相邻帧Δt内位移大小Δx来衡量该关节运动能量大小,构建不同模态关节轨迹的多图网络,根据所述多图网络将所述特征增强数据集分为静止模态子集、稳定模态子集和活跃模态子集。
进一步地,在本发明的一个实施例中,所述通过所述特征提取子网络对所述多个模态子集分别进行建模提取特征,包括:
采用图卷积层分路来构建各模态子集的关节运动规律,当建模包含K个节点的图结构数据时,图卷积层运算方式表示为:
H(p+1)=σ(A(p)H(p)W(p)),
其中,W(p)为第p层图卷积层的可学习参数,可更新矩阵A(p)为邻接矩阵学习特征H(p)内各节点之间的边权重,每层图卷积层衔接非线性激活函数σ(·)和失活操作。
进一步地,在本发明的一个实施例中,所述将所述人体全局姿态序列与真实姿态序列进行比较,通过误差反传迭代地对所述模态引导多图模型进行优化,包括:
采用MPJPE作为评价指标;具体包括取T
i+T
o长度的序列作为一个样本,并将前T
i帧输至网络,得到由预测关节点位置
组成的长度为T
o的预测序列
再与长度为t
o的真实姿态序列S按如下公式计算MPJPE:
其中,J
t,k代表真实姿态序列中第k关节在t时刻的3D坐标,
代表生成的结果序列中第k关节在t时刻的3D坐标,T
o和N分别代表输出序列长度以及人体骨架点个数。
为达上述目的,本发明第二方面实施例提出了一种基于模态引导的多图人体姿态生成装置,包括以下模块:
获取模块,用于获取训练数据集,所述训练数据集包括人体动作序列;
输入模块,用于将所述训练数据集输入模态引导多图模型,其中所述模态引导多图网络包括时序特征增强子网络和特征提取子网络;
增强模块,用于通过所述时序特征增强子网络对所述人体动作序列进行裁剪,对后T帧的特征占比进行增强,获取特征增强数据集;同时通过复制最后一帧,提高输入序列中最后一帧的贡献度
划分模块,用于根据动作幅度将所述特征增强数据集分为多个模态子集,其中,所述多个模态子集包括静止模态子集、稳定模态子集和活跃模态子集;
提取模块,用于通过所述特征提取子网络对所述多个模态子集分别进行建模提取特征,再根据所述动作幅度的划分方式还原至人体全局姿态序列。
进一步地,在本发明的一个实施例中,还包括优化模块,用于:
将所述人体全局姿态序列与真实姿态序列进行比较,通过误差反传迭代地对所述模态引导多图模型进行优化,获取训练完成的模态引导多图模型。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的基于模态引导的多图人体姿态生成方法。
本发明实施例提出的基于模态引导的多图人体姿态生成方法及装置,主要优点是:(1)提出了一种基于能量的关节识别方法,以揭示不同关节运动规律的不一致性,利用物理学能量公式区分人体相对活跃与相对静止的关节点,根据能量的不同将关节点划分为静止模态、稳定模态和活跃模态三种模态,并提出了多图网络结构来建模相同模态下关节点的关系或约束;(2)基于多图网络结构,我们设计了一个模态引导动静特征区分建模的多图网络DP-MGnet,依据人体各关节点的独有特性实现模态引导动静特征区分建模,通过关节的协作建模来完善模型对关节运动轨迹隐性规律的学习;(3)设计了一个新颖的时间强化模块(TRM),以更为可控的方式编码了人体姿态序列的时间特征,并相应地增强了后几帧尤其是序列最后一帧的特征占比,有助于网络更高效地捕捉动态规律,从而增强了模型提取时间特征关键帧信息的能力。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于模态引导的多图人体姿态生成方法和装置。
实施例1
图1为本发明实施例所提供的一种基于模态引导的多图人体姿态生成方法的流程示意图。
如图1所示,该基于模态引导的多图人体姿态生成方法包括以下步骤:
S101:获取训练数据集,训练数据集包括人体动作序列;
S102:将训练数据集输入模态引导多图模型,其中模态引导多图网络包括时序特征增强子网络和特征提取子网络;
S103:通过时序特征增强子网络对人体动作序列进行裁剪,对后T帧的特征占比进行增强,获取特征增强数据集;同时通过复制最后一帧,提高输入序列中最后一帧的贡献度;
S104:根据动作幅度将所述特征增强数据集分为多个模态子集,其中,多个模态子集包括静止模态子集、稳定模态子集和活跃模态子集;
S105:通过特征提取子网络对多个模态子集分别进行建模提取特征,再根据动作幅度的划分方式还原至人体全局姿态序列。
人体动作序列中不同关节点具有自身的运动轨迹幅度。现有大多工作将人体关节点同等地输入网络,忽略了各关节点本身的动态特性。依据人体运动习惯,肢体边缘关节点如“手腕”、“脚踝”等关节相较“脊椎”、“肩膀”等关节点往往具有更大的运动幅度,携带的动态信息也更丰富。为印证人体各关节动态差异,借鉴物理学能量公式E=0.5*mv2=0.5*m(Δx/Δt)2,来区分人体相对活跃与相对静止的关节点,即通过计算各关节点在相邻帧Δt内位移大小Δx来衡量该关节运动能量大小。针对H3.6M数据集的各关节点能量统计结果如图3所示,图中横坐标为人体关节点,纵坐标为通过Δx2衡量的平均关节轨迹能量,其中能量相对较高的关节点明显分布在四肢边缘区域,如“左手指”、“右脚趾”,能量相对较低的关节点主要分布在肢体躯干部分,如“脊椎”、“左肩”等。针对各动作类别平均序列能量统计结果如图4所示,图中横坐标为动作类别,纵坐标为通过Δx2衡量的平均该类动作样本轨迹能量,“遛狗”、“走路”等动作幅度较大的类别样本相较“吸烟”、“坐下”等动作幅度较小的类别样本具有更高的能量。这就启发了本发明数据驱动的联合建模具有不同模态关节轨迹的多图网络,并依据图5将人体关节轨迹划为静止模态、稳定模态和活跃模态三种模态。
多图网络的网络结构如图6所示,网络包含两个模块,分别为时序特征增强模块(Temporal Reinforcement Module)和模态引导的特征提取模块(Dynamic Pattern-guided Feature Extractor)。其中时序特征增强模块首先沿时间维度编码隐含层特征,提取序列中的时维特征,并增强终帧信息在输入序列中的信息占比。然后特征提取模块依据关节点运动轨迹幅度区分轨迹特征,由三路图卷积网络多图建模各模态内轨迹信息的动态规律。最后由一个全连接层给出最终生成结果。
人体动作识别任务中基于图像帧或关节点姿态帧组成的序列提炼高维语义信息环节往往将序列各帧信息视为同等地位,而姿态生成任务需继承人体运动规律生成人物后续运动轨迹。这就要求网络不仅要学习整个序列各关节的动态规律,更要切实提炼输入序列中序列末端包含的动作惯性,使生成结果更加自然,避免输入序列末端与输出序列首端之间的不连续。网络中采用了时序特征增强模块增强关键帧所携带的特征,如图7所示。研究表明,输入序列的后几帧信息记录着更接近实时的惯性规律,因而往往更占据主导地位。因此时序特征增强模块将输入序列O复制为M份子序列,并对M份子序列分别取后[T
1,T
2,…,T
m]帧,此时子序列可描述为
每个裁剪后的子序列由一维卷积Cov1进行编码提取子序列特征,对第m个子序列的特征F
m的提取可表示为:
输入序列中的最后一帧所记录的位置信息占据着最重要的地位,不仅因为未来序列的关节点轨迹是基于此帧关节点位置推导,也因为终帧与上一帧形成的位移信息最具有时效性。因此,时序特征增强模块将输入序列O的最后一帧PT复制为长度为T的新序列,并继续采用一维卷积Cov1提取其特征再与上述子序列特征拼接,最终得到增强终帧信息的特征FTRM,表示为:
FTRM=Concat(F1,F2,…FM,FT) (2)
与传统将时间维度通道扩张为固定长度的图卷积网络编码器相比,时序特征增强模块以更为可控的方式编码了时间特征,并相应地增强了后几帧尤其是序列最后一帧的特征占比,有助于网络更高效地捕捉动态规律。
进一步地,在本发明的一个实施例中,通过时序特征增强子网络对人体动作序列进行裁剪,对后T帧的特征占比进行增强,包括:
将输入序列O复制为M份子序列,并对M份子序列分别取后[T
1,T
2,…,T
m]帧,此时子序列描述为
每个裁剪后的子序列由一维卷积Cov1进行编码提取子序列特征,对第m个子序列的特征F
m的提取表示为:
进一步地,在本发明的一个实施例中,通过复制最后一帧,提高输入序列中最后一帧的贡献度,还包括:
将输入序列P的最后一帧PT复制为长度为T的新序列,并继续采用一维卷积提取其特征再与上述子序列特征拼接,最终得到增强终帧信息的特征FTRM,表示为:
FTRM=Concat(F1,F2,…FM,FT)。
进一步地,在本发明的一个实施例中,根据动作幅度将特征增强数据集分为多个模态子集,包括:
通过计算各关节点在相邻帧Δt内位移大小Δx来衡量该关节运动能量大小,构建不同模态关节轨迹的多图网络,根据多图网络将所述特征增强数据集分为静止模态子集、稳定模态子集和活跃模态子集。
基于模态引导的多图网络的特征提取模块如图6所示。人体各关节的运动幅度是受躯干连接关系影响的,在3D空间相对坐标系下,距躯干中心较近的关节往往动态特征较弱,四肢末端关节往往动态规律较强,因此由躯干中心至四肢末端的各关节运动轨迹存在可由模型区分建模的隐性规律。因此网络串联了多个特征提取模块来实现对不同模态关节轨迹的联合建模。模块按照人体运动轨迹频度,将关节点划分为以下三种模态:Level 1:静止模态(Static pattern)、Level 2:稳定模态(Inactive pattern)、Level 3:活跃模态(Active pattern)。公式可描述为:
单帧姿态内人体关节点也相应被分为三个子集:
其中N
1为躯干尺度内关节点数量,N
2为四肢尺度内关节点数量,N
3为边缘尺度内关节点数量。
接下来采用图卷积层分路来构建各尺度内的关节运动规律,沿用LTD表示方法,当建模包含K个节点的图结构数据时,图卷积层运算方式可由公式(4)表示:
H(p+1)=σ(A(p)H(p)W(p)) (4)
其中,W(p)为第p层图卷积层的可学习参数,可更新矩阵A(p)作为邻接矩阵学习特征H(p)内各节点之间的边权重。每层图卷积层衔接非线性激活函数σ(·)和失活操作。
为此,每个图的卷积层对输入关节点自身的隐含特征和关节点之间的边权重进行建模,其中各关节点在人体中并非一定存在直接连接关系。在串联图卷积层时,动静区分模块使用对称残差连接代替等距残差连接。与传统的等距连接(如图8)相比,,模块采用的对称残差连接使得每个图卷积模块的输出和输入之间的距离更近(如图9),,并且在模块末端引入了更浅层的动态特征。因此,后续模块在每个分支中可以通过前一个模块的第一个对称残差连接来继承初始特征,丰富了多粒度特征。
在训练过程中,图卷积层权重能拟合输入数据中的运动规律,然而人体姿态序列中既包含相对静态的关节点轨迹,也包括相对动态的关节点轨迹,若对人体全部关节点同时输入网络进行单图建模,则模型难以区分运动模态不同的关节点。按照动作幅度先验知识划分关节点再使用多路网络分别建模动静程度不一的轨迹信息,则可以降低网络所需拟合的运动规律的复杂度。另一方面,使用多图联合建模相较不作区分的单图网络使用了更小的关系矩阵A,还使A内的信息更容易建立空间关联。最后动静还原模块将三路特征按照之前的划分方式还原至人体全局姿态序列特征,保证后续特征耦合的空间一致性。
由于在针对不同尺度关节进行分路建模时,在同一肢体上的关节点被网络拆分后,网络无法获取所有相邻关节点的空间连接关系,导致全局空间信息丢失。因此网络在3路联合建模架构的基础上,附加了一路全局空间特征分支。该分支基于时序特征增强模块给出的特征,采用较浅的图卷积层模块引入三路建模的融合结果,因而即保持了全局空间信息的利用,又引入了较浅层的特征,减轻梯度消失。
进一步地,在本发明的一个实施例中,通过所述特征提取子网络对所述多个模态子集分别进行建模提取特征,包括:
采用图卷积层分路来构建各模态子集的关节运动规律,当建模包含K个节点的图结构数据时,图卷积层运算方式表示为:
H(p+1)=σ(A(p)H(p)W(p))
其中,W(p)为第p层图卷积层的可学习参数,可更新矩阵A(p)为邻接矩阵学习特征H(p)内各节点之间的边权重,每层图卷积层衔接非线性激活函数σ(·)和失活操作。
生成的人体姿态序列与真实姿态序列直接存在一定的误差,需要对二者进行比较从而得到误差对整个网络进行评价,通过误差反传迭代地对模型进行优化。在本发明中使用了MPJPE(Mean Per Joint Postion Error)作为模型评价指标。MPJPE作为常用的人体姿态生成评价指标可以衡量真实姿态与生成关节在欧氏空间中误差的平均值。数据集中包含多段人体动作姿态序列,划分训练集与测试集后,取T
i+T
o长度的序列作为一个样本,并将前T
i帧输至网络,得到由预测关节点位置
组成的长度为T
o的预测序列
再与长度为t
o的真实姿态序列S按如下公式(5)计算MPJPE。
J
t,k代表真实姿态序列中第k关节在t时刻的3D坐标。同理,
代表生成的结果序列中第k关节在t时刻的3D坐标。T
o和N分别代表输出序列长度以及人体骨架点个数。由于MPJPE的广泛应用,采用MPJPE作为评价指标有利于与其他人体姿态生成与预测模型进行比较。
进一步地,在本发明的一个实施例中,还包括:
将人体全局姿态序列与真实姿态序列进行比较,通过误差反传迭代地对模态引导多图模型进行优化,获取训练完成的模态引导多图模型。
进一步地,在本发明的一个实施例中,将所述人体全局姿态序列与真实姿态序列进行比较,通过误差反传迭代地对所述模态引导多图模型进行优化,包括:
采用MPJPE作为评价指标;具体包括取T
i+T
o长度的序列作为一个样本,并将前T
i帧输至网络,得到由预测关节点位置
组成的长度为T
o的预测序列
再与长度为t
o的真实姿态序列S按如下公式计算MPJPE:
其中,J
t,k代表真实姿态序列中第k关节在t时刻的3D坐标,
代表生成的结果序列中第k关节在t时刻的3D坐标,T
o和N分别代表输出序列长度以及人体骨架点个数。
基于模态引导的多图网络在H3.6M数据集上的“Phoning”、“Walking”动作定性可视化结果如图10、11所示。在“Phoning”动作中,对象保持右臂拿手机的动作,双腿向前走,左臂协调移动。此时,网络在下肢和左臂给出的结果的准确度优于其他方法。在“Walking”动作中,对象躯干保持相对静止,四肢协调摆动。本发明获得了最接近实际姿态的结果,验证了模态引导建模的重要性。
本发明实施例提出的基于模态引导的多图人体姿态生成方法,在现有人体姿态数据基础上生成未来一段时间的人体姿态序列,研究了基于模态引导的图卷积网络算法,验证图卷积网络相比卷积网络的建模特点与优势,利用图卷积的节点式运算特性由模态引导提取特征,建模人体动态信息,提出了依据人体各关节点独有特性实现的模态引导动静特征区分建模的多图网络DP-MGnet。在网络建模人体全身姿态的空间信息时,可在学习过程添加人体关节运动幅度的先验知识,划分人体动态规律尺度不同的关节点,实现了由模态引导的对动静态不同关节点的多图建模。
为了实现上述实施例,本发明还提出一种基于模态引导的多图人体姿态生成装置。
图12为本发明实施例提供的一种基于模态引导的多图人体姿态生成装置的结构示意图。
如图12所示,该基于模态引导的多图人体姿态生成装置包括:获取模块100,输入模块200,增强模块300,划分模块400,提取模块500,其中,
获取模块,用于获取训练数据集,训练数据集包括人体动作序列;
输入模块,用于将训练数据集输入模态引导多图模型,其中模态引导多图网络包括时序特征增强子网络和特征提取子网络;
增强模块,用于通过时序特征增强子网络对所述人体动作序列进行裁剪,对后T帧的特征占比进行增强,获取特征增强数据集;同时通过复制最后一帧,提高输入序列中最后一帧的贡献度;
划分模块,用于根据动作幅度将特征增强数据集分为多个模态子集,其中,多个模态子集包括静止模态子集、稳定模态子集和活跃模态子集;
提取模块,用于通过特征提取子网络对多个模态子集分别进行建模提取特征,再根据动作幅度的划分方式还原至人体全局姿态序列。
进一步地,在本发明的一个实施例中,还包括优化模块,用于:
将人体全局姿态序列与真实姿态序列进行比较,通过误差反传迭代地对模态引导多图模型进行优化,获取训练完成的模态引导多图模型。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的基于模态引导的多图人体姿态生成方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。