CN110490035A - 人体骨架动作识别方法、系统及介质 - Google Patents
人体骨架动作识别方法、系统及介质 Download PDFInfo
- Publication number
- CN110490035A CN110490035A CN201910411801.XA CN201910411801A CN110490035A CN 110490035 A CN110490035 A CN 110490035A CN 201910411801 A CN201910411801 A CN 201910411801A CN 110490035 A CN110490035 A CN 110490035A
- Authority
- CN
- China
- Prior art keywords
- joint
- action
- movement
- indicate
- indicates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
Abstract
本发明提供了一种人体骨架动作识别方法、系统及介质,包括:数据获取步骤:获取人体骨架数据;动作结构图推断步骤:根据获取的人体骨架运动数据,推断不同关节之间的连接关系,构建以关节为点和以连接关系为边的动作结构图;动作结构特征提取步骤:将获得的动作结构图引入由空间图卷积和时间卷积构成的深度模型中,提取关节的动作语义信息;动作分析与识别步骤:根据提取的关节地动作语义信息,实现动作识别。本发明建模节点在动作中的关系,从而更好地捕捉运动模式,不仅局限于人体的骨架结构,本发明挖掘了动作中关节在运动时的关系,以及关节与生物结构中远距离节点之间的关系,泛化了图结构。
Description
技术领域
本发明涉及视频分析与模式识别领域,具体地,涉及人体骨架动作识别方法、 系统及介质。
背景技术
人体动作识别在视频监控、人机交互和虚拟现实等领域具有广泛应用。其中, 骨架动作是一种人体动作的表达方式,可通过运动学相机采集,被表示为一系列的 关节和骨骼。骨架数据能够有效地表达动作,且具有抗噪能力强,数据维度低等优 势。利用骨架数据进行动作识别具有广泛的应用。
目前的人体骨架动作识别的方法通常是把每一时刻的关节坐标拼接在一起,用特征提取方法来对整个动作序列进行分析。随着深度学技术的发展,卷积神经网络 与循环神经网络也常被用于自动地提取动作特征。然而,在动作的进行过程中,不 同关节之间是有相互依赖的关系的,而这些方法无法挖掘关节之间的依赖。
为了捕捉关节之间的依赖,图可以被用于关节之间的关系建模。图是一种无规 则形状的拓扑结构,在骨架数据中,关节可以被表示为图中的节点,而关节之间的 关系可用图中的边来表示,因此,关节之间的关系得到建模,而关节特征也可以基 于关系互相影响。有方法提出将关节表示为图的节点,将骨骼表示为图的边,可以 有效地捕捉人体结构中邻近关节之间的运动关系。然而,这种建模方式只考虑了在 人体生物学结构中邻近关节之间的关系,对于不同的动作而言,生物结构距离较远 的关节可能会存在更强的语义关系,例如在行走过程中,双手和双脚是在协同运动 的,即动作关系,这种关系比腕关节与肘关节之间的关系更加强烈;另一方面,一 个关节可能与在一定生物结构距离范围内的关节均有关系,例如肩关节与同侧上臂, 即结构关系。基于动作-结构关系,可以建立更加泛化的动作-结构图,从而更精确 地建模人体在运动过程中节点之间的关系。
图卷积网络(Graph Convolutional Network,简称GCN)是近年得到发展的一 类在图结构上进行运算的网络,能有效利用节点关系提取节点特征。其基本思想是 将节点信息在边上进行传播,某个节点可以聚集邻居节点的特征来更新自身特征。 在动作-结构图上,利用GCN可以基于关节关系,提取节点的动作语义特征,从而 更准确地捕捉动作的模式。
实际研究中,本发明着重于解决人体骨架动作识别中的两个核心困难:1)如何 根据动作推断关节之间有效的关系;2)骨架数据的特征远比普通的视频数据稀疏, 在特征提取的过程中有效地保留信息则会对改善动作识别。如何克服上述两个困难, 能够让该模型更充分地提取动作信息,对提升人体骨架动作识别效果具有重要意义。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种人体骨架动作识别方法、系统及介质。
根据本发明提供的一种人体骨架动作识别方法,包括:
数据获取步骤:获取人体骨架数据;
动作结构图推断步骤:根据获取的人体骨架运动数据,推断不同关节之间的连接关 系,构建以关节为点和以连接关系为边的动作结构图;
动作结构特征提取步骤:将获得的动作结构图引入由空间图卷积和时间卷积构成的 深度模型中,提取关节的动作语义信息;
动作分析与识别步骤:根据提取的关节地动作语义信息,实现动作识别。
优选地,所述动作结构图推断步骤包括:
动作连接推断步骤:基于变分自编码器,提出一个包含了编码器和解码器的结构,可自动地在动作中推断动作连接,获得关节动作关系Aact;
结构连接获取步骤:将人体中的每个关节与其生物结构与生物结构中预设距离范围 内的关节建立连接,获得结构关系A;
动作结构图构建步骤:根据获得的关节动作关系Aact、结构关系A,获得动作结构图。
优选地,所述动作连接推断步骤:
所述编码器将动作编码至动作关系图Aact,编码器将任意关节在各时刻的位置连接 为一个向量,先令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k 次迭代中,反复地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特 征和关节i及j之间的连接特征,分别表示为和计算过程如下:
其中,
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i, j分别指人体任意两个关节编号,k表示关节特征传播的次数编号;
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节 特征传播的次数编号;
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节 特征传播的次数编号;
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关 节特征传播的次数编号;
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的连接特征表达进行聚合,以更新关节i的特征表达;
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
fe (k)表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
⊕表示向量拼接操作;
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;
F(·)表示是一种进行特征聚合的运算,包括求平均与最大池化等方法;
经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算, 得到动作连接拓扑张量Aact∈Rn×n×C,其中R表示实数集合,n表示关节个数,C表示连 接类型的种类数,n×n×C表示张量的维度,即Aact是由实数构成的n×n×C维张量; 其中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的概率,在 动作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关节特征的 传播和动作语义特征的提取,其计算方式如下:
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有 C种连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率,其中i,j表 示关节编号;
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特征传播总次数;
τ表示温度超参数,可控制采样样本的离散化的程度;
RC表示C维实数向量,即关节之间的动作连接的可能取值共有C类;
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比例,其中e表示自然对数的底;
r是一个随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布,其分布的概率密度函数为:
其中,
x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;
τ是一个温度超参数,可控制采样样本的离散化的程度;
由此得到任意两个节点之间的任意类型的动作连接张量Aact,即关节动作关系Aact。
优选地,所述动作连接推断步骤:
所述解码器基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的 动作,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征,再通过特征聚合获得所有节点特征,将其作为输入送入门限 循环单元网,得到每个时刻的动作状态,进一步得到t+1时刻的动作预测值;
设xi t∈R3为关节i在t时刻的位置,解码器的运算为:
其中,
表示t时刻关节i和关节j之间的连接特征,由关节i和关节j在t时刻的空 间位置和决定,其中i,j表示关节编号,t表示动作进行的时间;
C表示关节之间由推断得到的动作连接类型共设定为C种;
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c 表示连接属于的类型;
表示关节i在t时刻的空间坐标;
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行 的时刻;
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动 作进行的时刻;
R3表示所有三维实数向量的集合;
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;
GRU(·)表示门限循环单元;
将GRU网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值, 再以高斯分布进行采样,获得预测关节位置,所述以高斯分布进行采样:
表示关节i在第t+1时刻的空间位置预测值;
N表示高斯分布的符号;
σ表示高斯分布的标准差;
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵。
优选地,所述动作连接推断步骤的优化目标函数包括:重建过程中的极大似然和推 断过程中的分布逼近,即:
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数;
n表示关节总数;
T表示生成总时长;
表示关节i在t时刻的位置估计值;
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合;
A(0) act:,:,c是Aact:,:,c的先验概率分布;
约束Aact:,:,c,使之更具有稀疏性,可提取更有效的特征,Aact:,:,c可被命名为连接类 型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积AGC,捕获关节在运动中的依赖,首先将动作图邻接矩阵利用动作图度矩阵进行归一化,即:
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应 关节包含的所有连接概率值的总和;
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为:
其中,
Xact表示通过动作图卷积运算得到的所有关节的输出特征;
AGC表示动作图卷积运算,对输入的关节特征进行操作,可得到卷积后的输出关节特征;
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号;
表示n×dout维的矩阵集合,表示Xact属于该集合;
dout表示每个关节的输出特征的维度。
优选地,所述结构连接获取步骤:
将每个关节与其生物结构较远的邻居关节建立联系,获得结构关系A,即骨架图的邻接矩阵A,对骨架图的邻接矩阵A利用度矩阵进行归一化:
其中,
表示归一化的结构连接关系的图邻接矩阵;
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度;
A表示骨架图的邻接矩阵;
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节点与其生物结构为l的邻居之间的连接,求归一化邻接矩阵的L阶多项式,其中多 项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作,给 定输入特征Xin∈Rn×din,通过结构图卷积SGC得到人体结构方面的响应特征Xstruc∈Rn×dout, 该操作的公式表达如下:
其中,
Xstruc表示人体结构方面的响应特征;
Mstruc(p,l)表示重要性权重矩阵;
Wstruc(p,l)表示网络映射权重矩阵;
表示归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居和关节的远心邻居;
表示矩阵元素相乘。
优选地,所述动作结构特征提取步骤:
根据获得的动作结构图,深度模型通过动作结构图卷积操作和时间卷积操作,提取 关节的动作语义信息;
所述动作结构图卷积操作指:将动作图卷积操作和结构图卷积操作进行凸组合,获 得到ASGC操作,该ASGC操作运算如下:
其中,
Xout表示ASGC运算得到的关节输出特征,即关节的动作语义信息;
λ表示超参数,控制两种操作对最终特征得影响,λ∈[0,1];
时间卷积操作T-CN指采用时间轴上的卷积操作来提取动作的时变特征,对每个关节共享权重,降低过拟合的发生;
一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是AS-GCN模型的基础。
优选地,所述动作分析与识别步骤:
对于动作语义信息Xout,将所有关节在所有时间上的特征做平均池化,得到动作的整体特征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别 的识别结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即:
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
y为动作的类别标签;
为AS-GCN模型对动作类别的识别结果;
对于未来动作预测任务,在动作语义特征的基础上,建立未来动作预测器,对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维度, 在末端直接输出每个关节的预测位置,通过最小化预测的未来动作与实际未来动作之间 的均方误差,以实现未来动作的预测;
对于含有n个3D关节,时长为T’的待预测动作片段,真实的未来动作X∈Rn×3×T’ 与预测得到的动作之间的均方误差,其中,R表示实数集合,其维度为n×3 ×T’,即X和均为由实数构成的n×3×T’维张量;
则优化目标可以表示为:
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
n表示3D关节数量;
T’表示时长;
表示第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
Xi,d,t表示第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
每个关节在空间和时间上的每个维度均被用于计算均方误差;
将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为:
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成;
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
α是超参数,调节训练过程中动作识别和动作预测的权重。
根据本发明提供的一种人体骨架动作识别系统,包括:
数据获取模块:获取人体骨架数据;
动作结构图推断模块:根据获取的人体骨架运动数据,推断不同关节之间的连接关 系,构建以关节为点和以连接关系为边的动作结构图;
动作结构特征提取模块:将获得的动作结构图引入由空间图卷积和时间卷积构成的 深度模型中,提取关节的动作语义信息;
动作分析与识别模块:根据提取的关节地动作语义信息,实现动作识别;
所述动作结构图推断模块包括:
动作连接推断模块:基于变分自编码器,提出一个包含了编码器和解码器的结构,可自动地在动作中推断动作连接,获得关节动作关系Aact;
结构连接获取模块:将人体中的每个关节与其生物结构与生物结构中预设距离范围 内的关节建立连接,获得结构关系A;
动作结构图构建模块:根据获得的关节动作关系Aact、结构关系A,获得动作结构图;
所述动作连接推断模块:
所述编码器将动作编码至动作关系图Aact,编码器将任意关节在各时刻的位置连接 为一个向量,先令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k 次迭代中,反复地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特 征和关节i及j之间的连接特征,分别表示为和计算过程如下:
其中,
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i, j分别指人体任意两个关节编号,k表示关节特征传播的次数编号;
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节 特征传播的次数编号;
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节 特征传播的次数编号;
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关 节特征传播的次数编号;
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的连接特征表达进行聚合,以更新关节i的特征表达;
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示向量拼接操作;
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;
F(·)表示是一种进行特征聚合的运算,包括求平均与最大池化等方法;
经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算, 得到动作连接拓扑张量Aact∈Rn×n×C,其中R表示实数集合,n表示关节个数,C表示连 接类型的种类数,n×n×C表示张量的维度,即Aact是由实数构成的n×n×C维张量; 其中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的概率,在 动作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关节特征的 传播和动作语义特征的提取,其计算方式如下:
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有 C种连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率,其中i,j表 示关节编号;
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特 征传播总次数;
τ表示温度超参数,可控制采样样本的离散化的程度;
RC表示C维实数向量,即关节之间的动作连接的可能取值共有C类;
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比例,其中e表示自然对数的底;
r是一个随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布,其分布的概率密度函数为:
其中,
x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;
τ是一个温度超参数,可控制采样样本的离散化的程度;
由此得到任意两个节点之间的任意类型的动作连接张量Aact,即关节动作关系Aact;
所述动作连接推断模块:
所述解码器基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的 动作,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征,再通过特征聚合获得所有节点特征,将其作为输入送入门限 循环单元网,得到每个时刻的动作状态,进一步得到t+1时刻的动作预测值;
设xi t∈R3为关节i在t时刻的位置,解码器的运算为:
其中,
表示t时刻关节i和关节j之间的连接特征,由关节i和关节j在t时刻的空 间位置和决定,其中i,j表示关节编号,t表示动作进行的时间;
C表示关节之间由推断得到的动作连接类型共设定为C种;
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c 表示连接属于的类型;
表示关节i在t时刻的空间坐标;
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行 的时刻;
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动 作进行的时刻;
R3表示所有三维实数向量的集合;
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;
GRU(·)表示门限循环单元;
将GRU网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值, 再以高斯分布进行采样,获得预测关节位置,所述以高斯分布进行采样:
表示关节i在第t+1时刻的空间位置预测值;
N表示高斯分布的符号;
σ表示高斯分布的标准差;
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵;
所述动作连接推断模块的优化目标函数包括:重建过程中的极大似然和推断过程中 的分布逼近,即:
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数;
n表示关节总数;
T表示生成总时长;
表示关节i在t时刻的位置估计值;
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合;
A(0) act:,:,c是Aact:,:,c的先验概率分布;
约束Aact:,:,c,使之更具有稀疏性,可提取更有效的特征,Aact:,:,c可被命名为连接类 型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积AGC,捕获关节在运动中的依赖,首先将动作图邻接矩阵利用动作图度矩阵进行归一化,即:
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应 关节包含的所有连接概率值的总和;
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为:
其中,
Xact表示通过动作图卷积运算得到的所有关节的输出特征;
AGC表示动作图卷积运算,对输入的关节特征进行操作,可得到卷积后的输出关节特征;
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号;
表示n×dout维的矩阵集合,表示Xact属于该集合;
dout表示每个关节的输出特征的维度;
所述结构连接获取模块:
将每个关节与其生物结构较远的邻居关节建立联系,获得结构关系A,即骨架图的邻接矩阵A,对骨架图的邻接矩阵A利用度矩阵进行归一化:
其中,
表示归一化的结构连接关系的图邻接矩阵;
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度;
A表示骨架图的邻接矩阵;
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节点与其生物结构为l的邻居之间的连接,求归一化邻接矩阵的L阶多项式,其中多 项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作,给 定输入特征Xin∈Rn×din,通过结构图卷积SGC得到人体结构方面的响应特征Xstruc∈Rn×dout, 该操作的公式表达如下:
其中,
Xstruc表示人体结构方面的响应特征;
Mstruc(p,l)表示重要性权重矩阵;
Wstruc(p,l)表示网络映射权重矩阵;
表示归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居和关节的远心邻居;
表示矩阵元素相乘;
所述动作结构特征提取模块:
根据获得的动作结构图,深度模型通过动作结构图卷积操作和时间卷积操作,提取 关节的动作语义信息;
所述动作结构图卷积操作指:将动作图卷积操作和结构图卷积操作进行凸组合,获 得到ASGC操作,该ASGC操作运算如下:
其中,
Xout表示ASGC运算得到的关节输出特征,即关节的动作语义信息;
λ表示超参数,控制两种操作对最终特征得影响,λ∈[0,1];
时间卷积操作T-CN指采用时间轴上的卷积操作来提取动作的时变特征,对每个关节共享权重,降低过拟合的发生;
一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是AS-GCN模型的基础;
所述动作分析与识别模块:
对于动作语义信息Xout,将所有关节在所有时间上的特征做平均池化,得到动作的整体特征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别 的识别结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即:
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
y为动作的类别标签;
为AS-GCN模型对动作类别的识别结果;
对于未来动作预测任务,在动作语义特征的基础上,建立未来动作预测器,对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维度, 在末端直接输出每个关节的预测位置,通过最小化预测的未来动作与实际未来动作之间 的均方误差,以实现未来动作的预测;
对于含有n个3D关节,时长为T’的待预测动作片段,真实的未来动作X∈Rn×3×T’ 与预测得到的动作之间的均方误差,其中,R表示实数集合,其维度为n×3 ×T’,即X和均为由实数构成的n×3×T’维张量;
则优化目标可以表示为:
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
n表示3D关节数量;
T’表示时长;
表示第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
Xi,d,t表示第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
每个关节在空间和时间上的每个维度均被用于计算均方误差;
将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为:
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成;
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
α是超参数,调节训练过程中动作识别和动作预测的权重。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序 被处理器执行时实现上述中任一项所述的人体骨架动作识别方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明建模节点在动作中的关系,从而更好地捕捉运动模式,不仅局限于人 体的骨架结构,本发明挖掘了动作中关节在运动时的关系,以及关节与生物结构中 远距离节点之间的关系,泛化了图结构。
2、本发明利用泛化的图结构和AS-GCN,可以提取动作的动作语义信息,本发明 利用语义信息实现了动作的识别,另外,本发明利用语义信息可实现未来动作的预 测。
3、本发明在骨架动作识别任务中,本发明获得了目前最高的准确率;另外,本 发明可以以较低的误差预测未来动作片段,且保留了更多的骨架动作信息,辅助提 升动作识别表现。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的流程框架示意图。
图2为本发明提供的动作连接推断模块AIM示意图。
图3为本发明提供的AS-GCN单位块结构示意图。
图4为本发明提供的AS-GCN模型结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人 员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于 本发明的保护范围。
根据本发明提供的一种人体骨架动作识别方法,包括:
数据获取步骤:获取人体骨架数据;
动作结构图推断步骤:根据获取的人体骨架运动数据,推断不同关节之间的连接关 系,构建以关节为点和以连接关系为边的动作结构图;
动作结构特征提取步骤:将获得的动作结构图引入由空间图卷积和时间卷积构成的 深度模型中,提取关节的动作语义信息;
动作分析与识别步骤:根据提取的关节地动作语义信息,实现动作识别。
具体地,所述动作结构图推断步骤包括:
动作连接推断步骤:基于变分自编码器,提出一个包含了编码器和解码器的结构,可自动地在动作中推断动作连接,获得关节动作关系Aact;
结构连接获取步骤:将人体中的每个关节与其生物结构与生物结构中预设距离范围 内的关节建立连接,获得结构关系A;
动作结构图构建步骤:根据获得的关节动作关系Aact、结构关系A,获得动作结构图。
具体地,所述动作连接推断步骤:
所述编码器将动作编码至动作关系图Aact,编码器将任意关节在各时刻的位置连接 为一个向量,先令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k 次迭代中,反复地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特 征和关节i及j之间的连接特征,分别表示为和计算过程如下:
其中,
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i, j分别指人体任意两个关节编号,k表示关节特征传播的次数编号;
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节 特征传播的次数编号;
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节 特征传播的次数编号;
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关 节特征传播的次数编号;
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的连接特征表达进行聚合,以更新关节i的特征表达;
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示向量拼接操作;
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;
F(·)表示是一种进行特征聚合的运算,包括求平均与最大池化等方法;
经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算,得到动作连接拓扑张量Aact∈Rn×n×C,其中R表示实数集合,n表示关节个数,C表示连接 类型的种类数,n×n×C表示张量的维度,即Aact是由实数构成的n×n×C维张量;其 中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的概率,在动 作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关节特征的传 播和动作语义特征的提取,其计算方式如下:
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有 C种连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率,其中i,j表 示关节编号;
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特 征传播总次数;
τ表示温度超参数,可控制采样样本的离散化的程度;
RC表示C维实数向量,即关节之间的动作连接的可能取值共有C类;
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比例,其中e表示自然对数的底;
r是一个随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布,其分布的概率密度函数为:
其中,
x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;
τ是一个温度超参数,可控制采样样本的离散化的程度;
由此得到任意两个节点之间的任意类型的动作连接张量Aact,即关节动作关系Aact。
具体地,所述动作连接推断步骤:
所述解码器基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的 动作,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征,再通过特征聚合获得所有节点特征,将其作为输入送入门限 循环单元网,得到每个时刻的动作状态,进一步得到t+1时刻的动作预测值;
设xi t∈R3为关节i在t时刻的位置,解码器的运算为:
其中,
表示t时刻关节i和关节j之间的连接特征,由关节i和关节j在t时刻的空 间位置和决定,其中i,j表示关节编号,t表示动作进行的时间;
C表示关节之间由推断得到的动作连接类型共设定为C种;
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c 表示连接属于的类型;
表示关节i在t时刻的空间坐标;
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行 的时刻;
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动 作进行的时刻;
R3表示所有三维实数向量的集合;
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;
GRU(·)表示门限循环单元;
将GRU网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值, 再以高斯分布进行采样,获得预测关节位置,所述以高斯分布进行采样:
表示关节i在第t+1时刻的空间位置预测值;
N表示高斯分布的符号;
σ表示高斯分布的标准差;
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵。
具体地,所述动作连接推断步骤的优化目标函数包括:重建过程中的极大似然和推 断过程中的分布逼近,即:
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数;
n表示关节总数;
T表示生成总时长;
表示关节i在t时刻的位置估计值;
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合;
A(0) act:,:,c是Aact:,:,c的先验概率分布;
约束Aact:,:,c,使之更具有稀疏性,可提取更有效的特征,Aact:,:,c可被命名为连接类 型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积AGC,捕获关节在运动中的依赖,首先将动作图邻接矩阵利用动作图度矩阵进行归一化,即:
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应 关节包含的所有连接概率值的总和;
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为:
其中,
Xact表示通过动作图卷积运算得到的所有关节的输出特征;
AGC表示动作图卷积运算,对输入的关节特征进行操作,可得到卷积后的输出关节特征;
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号;
表示n×dout维的矩阵集合,表示Xact属于该集合;
dout表示每个关节的输出特征的维度。
具体地,所述结构连接获取步骤:
将每个关节与其生物结构较远的邻居关节建立联系,获得结构关系A,即骨架图的邻接矩阵A,对骨架图的邻接矩阵A利用度矩阵进行归一化:
其中,
表示归一化的结构连接关系的图邻接矩阵;
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度;
A表示骨架图的邻接矩阵;
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节点与其生物结构为l的邻居之间的连接,求归一化邻接矩阵的L阶多项式,其中多 项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作,给 定输入特征Xin∈Rn×din,通过结构图卷积SGC得到人体结构方面的响应特征Xstruc∈Rn×dout, 该操作的公式表达如下:
其中,
Xstruc表示人体结构方面的响应特征;
Mstruc(p,l)表示重要性权重矩阵;
Wstruc(p,l)表示网络映射权重矩阵;
表示归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居和关节的远心邻居;
表示矩阵元素相乘。
具体地,所述动作结构特征提取步骤:
根据获得的动作结构图,深度模型通过动作结构图卷积操作和时间卷积操作,提取 关节的动作语义信息;
所述动作结构图卷积操作指:将动作图卷积操作和结构图卷积操作进行凸组合,获 得到ASGC操作,该ASGC操作运算如下:
其中,
Xout表示ASGC运算得到的关节输出特征,即关节的动作语义信息;
λ表示超参数,控制两种操作对最终特征得影响,λ∈[0,1];
时间卷积操作T-CN指采用时间轴上的卷积操作来提取动作的时变特征,对每个关节共享权重,降低过拟合的发生;
一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是AS-GCN模型的基础。
具体地,所述动作分析与识别步骤:
对于动作语义信息Xout,将所有关节在所有时间上的特征做平均池化,得到动作的整体特征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别 的识别结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即:
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
y为动作的类别标签;
为AS-GCN模型对动作类别的识别结果;
对于未来动作预测任务,在动作语义特征的基础上,建立未来动作预测器,对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维度, 在末端直接输出每个关节的预测位置,通过最小化预测的未来动作与实际未来动作之间 的均方误差,以实现未来动作的预测;
对于含有n个3D关节,时长为T’的待预测动作片段,真实的未来动作X∈Rn×3×T’ 与预测得到的动作之间的均方误差,其中,R表示实数集合,其维度为n×3 ×T’,即X和均为由实数构成的n×3×T’维张量;
则优化目标可以表示为:
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
n表示3D关节数量;
T’表示时长;
表示第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
Xi,d,t表示第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
每个关节在空间和时间上的每个维度均被用于计算均方误差;
将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为:
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成;
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
α是超参数,调节训练过程中动作识别和动作预测的权重。
本发明提供的人体骨架动作识别系统,可以通过本发明给的人体骨架动作识别方法 的步骤流程实现。本领域技术人员可以将所述人体骨架动作识别方法,理解为所述人体骨架动作识别系统的一个优选例。
根据本发明提供的一种人体骨架动作识别系统,包括:
数据获取模块:获取人体骨架数据;
动作结构图推断模块:根据获取的人体骨架运动数据,推断不同关节之间的连接关 系,构建以关节为点和以连接关系为边的动作结构图;
动作结构特征提取模块:将获得的动作结构图引入由空间图卷积和时间卷积构成的 深度模型中,提取关节的动作语义信息;
动作分析与识别模块:根据提取的关节地动作语义信息,实现动作识别;
所述动作结构图推断模块包括:
动作连接推断模块:基于变分自编码器,提出一个包含了编码器和解码器的结构,可自动地在动作中推断动作连接,获得关节动作关系Aact;
结构连接获取模块:将人体中的每个关节与其生物结构与生物结构中预设距离范围 内的关节建立连接,获得结构关系A;
动作结构图构建模块:根据获得的关节动作关系Aact、结构关系A,获得动作结构图;
所述动作连接推断模块:
所述编码器将动作编码至动作关系图Aact,编码器将任意关节在各时刻的位置连接 为一个向量,先令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k 次迭代中,反复地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特 征和关节i及j之间的连接特征,分别表示为和计算过程如下:
其中,
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i, j分别指人体任意两个关节编号,k表示关节特征传播的次数编号;
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节 特征传播的次数编号;
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节 特征传播的次数编号;
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关 节特征传播的次数编号;
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的 连接特征表达进行聚合,以更新关节i的特征表达;
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
fe (k)表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示向量拼接操作;
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;
F(·)表示是一种进行特征聚合的运算,包括求平均与最大池化等方法;
经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算,得到动作连接拓扑张量Aact∈Rn×n×C,其中R表示实数集合,n表示关节个数,C表示连接 类型的种类数,n×n×C表示张量的维度,即Aact是由实数构成的n×n×C维张量;其 中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的概率,在动 作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关节特征的传 播和动作语义特征的提取,其计算方式如下:
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有 C种连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率,其中i,j表 示关节编号;
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特 征传播总次数;
τ表示温度超参数,可控制采样样本的离散化的程度;
RC表示C维实数向量,即关节之间的动作连接的可能取值共有C类;
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比例,其中e表示自然对数的底;
r是一个随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布,其分布的概率密度函数为:
其中,
x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;
τ是一个温度超参数,可控制采样样本的离散化的程度;
由此得到任意两个节点之间的任意类型的动作连接张量Aact,即关节动作关系Aact;
所述动作连接推断模块:
所述解码器基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的 动作,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征,再通过特征聚合获得所有节点特征,将其作为输入送入门限 循环单元网,得到每个时刻的动作状态,进一步得到t+1时刻的动作预测值;
设xi t∈R3为关节i在t时刻的位置,解码器的运算为:
其中,
表示t时刻关节i和关节j之间的连接特征,由关节i和关节j在t时刻的空 间位置和决定,其中i,j表示关节编号,t表示动作进行的时间;
C表示关节之间由推断得到的动作连接类型共设定为C种;
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c 表示连接属于的类型;
表示关节i在t时刻的空间坐标;
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行 的时刻;
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动 作进行的时刻;
R3表示所有三维实数向量的集合;
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;
GRU(·)表示门限循环单元;
将GRU网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值, 再以高斯分布进行采样,获得预测关节位置,所述以高斯分布进行采样:
表示关节i在第t+1时刻的空间位置预测值;
N表示高斯分布的符号;
σ表示高斯分布的标准差;
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵;
所述动作连接推断模块的优化目标函数包括:重建过程中的极大似然和推断过程中 的分布逼近,即:
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数;
n表示关节总数;
T表示生成总时长;
表示关节i在t时刻的位置估计值;
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合;
A(0) act:,:,c是Aact:,:,c的先验概率分布;
约束Aact:,:,c,使之更具有稀疏性,可提取更有效的特征,Aact:,:,c可被命名为连接类 型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积AGC,捕获关节在运动中的依赖,首先将动作图邻接矩阵利用动作图度矩阵进行归一化,即:
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应 关节包含的所有连接概率值的总和;
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为:
其中,
Xact表示通过动作图卷积运算得到的所有关节的输出特征;
AGC表示动作图卷积运算,对输入的关节特征进行操作,可得到卷积后的输出关节特征;
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号;
表示n×dout维的矩阵集合,表示Xact属于该集合;
dout表示每个关节的输出特征的维度;
所述结构连接获取模块:
将每个关节与其生物结构较远的邻居关节建立联系,获得结构关系A,即骨架图的邻接矩阵A,对骨架图的邻接矩阵A利用度矩阵进行归一化:
其中,
表示归一化的结构连接关系的图邻接矩阵;
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度;
A表示骨架图的邻接矩阵;
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节点与其生物结构为l的邻居之间的连接,求归一化邻接矩阵的L阶多项式,其中多 项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作,给 定输入特征Xin∈Rn×din,通过结构图卷积SGC得到人体结构方面的响应特征Xstruc∈Rn×dout, 该操作的公式表达如下:
其中,
Xstruc表示人体结构方面的响应特征;
Mstruc(p,l)表示重要性权重矩阵;
Wstruc(p,l)表示网络映射权重矩阵;
表示归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居和关节的远心邻居;
表示矩阵元素相乘;
所述动作结构特征提取模块:
根据获得的动作结构图,深度模型通过动作结构图卷积操作和时间卷积操作,提取 关节的动作语义信息;
所述动作结构图卷积操作指:将动作图卷积操作和结构图卷积操作进行凸组合,获 得到ASGC操作,该ASGC操作运算如下:
其中,
Xout表示ASGC运算得到的关节输出特征,即关节的动作语义信息;
λ表示超参数,控制两种操作对最终特征得影响,λ∈[0,1];
时间卷积操作T-CN指采用时间轴上的卷积操作来提取动作的时变特征,对每个关节共享权重,降低过拟合的发生;
一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是AS-GCN模型的基础;
所述动作分析与识别模块:
对于动作语义信息Xout,将所有关节在所有时间上的特征做平均池化,得到动作的整体特征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别 的识别结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即:
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
y为动作的类别标签;
为AS-GCN模型对动作类别的识别结果;
对于未来动作预测任务,在动作语义特征的基础上,建立未来动作预测器,对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维度, 在末端直接输出每个关节的预测位置,通过最小化预测的未来动作与实际未来动作之间 的均方误差,以实现未来动作的预测;
对于含有n个3D关节,时长为T’的待预测动作片段,真实的未来动作X∈Rn×3×T’ 与预测得到的动作之间的均方误差,其中,R表示实数集合,其维度为n×3 ×T’,即X和均为由实数构成的n×3×T’维张量;
则优化目标可以表示为:
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
n表示3D关节数量;
T’表示时长;
表示第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
Xi,d,t表示第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关 节编号,d为关节坐标维度编号,t为预测时刻;
每个关节在空间和时间上的每个维度均被用于计算均方误差;
将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为:
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成;
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体 的未来姿态;
α是超参数,调节训练过程中动作识别和动作预测的权重。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序 被处理器执行时实现上述中任一项所述的人体骨架动作识别方法的步骤。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
如图1所示,一种面向人体骨架动作识别的动作-结构图卷积神经网络模型与方法, 其特征在于包括:
数据获取步骤:获取学界公开的人体骨架数据集,或通过深度相机等设备获取人体 骨架运动数据;
关节关系推断步骤:对获取到的人体骨架数据,根据其动作和物理结构推断不同关 节之间的连接关系,构建以关节为点和以连接关系为边的图;
动作-结构特征提取步骤:将得到的图引入由空间图卷积和时间卷积构成的深度模 型中,提取每个关节的动作语义信息;
动作分析与识别步骤:由关节动作语义信息,实现动作识别。
所述关节关系推断步骤,其中:对人体骨架运动数据,根据其动作和物理结构推断
不同关节之间的连接关系,构建以关节为点和以连接关系为边的图。
所述人体骨架运动数据包括人体中的主要关节点随时间变化的空间位置,骨架数据 能够有效地描述动作特征,并且对环境噪声具有鲁棒性。
所述关节关系推断步骤:根据获取的人体骨架运动数据,推断不同关节之间的连接 关系,构建以关节为点和以连接关系为边的动作结构图。
动作结构图包含两部分:动作图和结构图。
首先,对于动作图,在不同动作中,任意两关节之间可能存在不同的连接关系,需对所有关系进行有效推断。由于只能得到每个关节的运动特征,故假设关节之间的关系 只能通过两个关节的特征来决定。令关节之间连接关系的特征为两个关节特征经过拼接 并通过非线性映射得到的结果;为了获得某个关节与更广范围内的更多关节之间的依赖, 可将得到的关系特征针对某个关节进行平均值计算,从而将其他关节的特征传播给该关 节以更新该关节的特征。经过“关节-连接-关节-连接”的多次传播,可以得到最终的 连接特征,其包含了一个较大范围内众多关节的运动特征,由此即可实现动作连接特征 的推断,并转化为动作图;
另一方面,对于结构图,我们根据人体天然的结构,令关节为图的点,骨头为图的边,形成一阶结构图,此外,我们将每个关节与其在骨架上更远距离的点进行连接,可 构成高阶结构图,以此建模更远距离的关节关系。
所述动作-结构特征提取步骤,其中:将得到的图引入由空间图卷积和时间卷积构
成的深度模型中,提取每个关节的动作语义信息。
所述得到的图是根据权利要求2所述推断得到的动作-结构图。根据动作-结构图,构建基于空间图卷积操作和时间卷积操作的特征提取模型,以提取关节和动作的语义信息。
所述动作-结构特征提取步骤:将获得的动作结构图和各个关节的运动坐标引入由空 间图卷积和时间卷积构成的深度模型中,提取关节的动作语义信息。
当得到动作结构图和各关节的运动坐标时,将关节的在每一时刻的运动坐标视为动 作在每一时刻的初始特征,对初始特征进行非线性映射,再将其按照图的结构进行传播和聚合,即空间图卷积运算,以提取所有节点间的空间关系;得到空间关系后,再用时 间轴上的卷积操作对时序特征进行卷积聚合,即时间卷积;
所述动作分析与识别步骤,其中:所述关节动作语义信息是根据所述动作-特征提取 步骤提取得到,在该特征基础上实现动作识别,以及其他任务。
关节关系由两个方面推断得到:动作关系和结构关系。
对于动作关系,本发明设计了动作连接推断模块(Actional Inference Module,简称AIM)。本发明中的AIM基于变分自编码器,提出了一个编码器和一个解码器,可以 自动地在动作中推断动作连接。其中编码器输入每个关节随时间变化的位置序列,迭代 地传播关节之间的关系,学习任意两个关节之间的关系特征;解码器通过学到的关系特 征来重构动作。
所述编码器将动作编码至动作关系图Aact,元素Aacti,j,c表示第i个关节与第j个关节之间以c类型连接的概率。为了提取连接特征,编码器将两端关节的特征进行拼接, 表示为两关节之间的动作关系特征,而关节特征除了其本身的位置特征之外,汇聚了与 其连接的所有关系特征。具体做法是,将任意关节在各时刻的位置连接为一个向量,先 令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k次迭代中,反复 地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特征和关节ij之 间的连接特征,分别表示为和最终,会利用第K次迭代得到的连接特征进行 动作连接的推断。运算被表示为
其中,
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节特征传播的次数编号。
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节特征传 播的次数编号
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关节特 征传播的次数编号
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i,j分别指人体任意两个关节编号,k表示关节特征传播的次数编号
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的连接 特征表达进行聚合,以更新关节i的特征表达。
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传 播后所使用的提取器。
fe (k)表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k 次特征传播后所使用的提取器。
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法。
表示向量拼接操作。
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;F(·)表示是一种进行 特征聚合的运算,包括求平均与最大池化等方法;表示拼接操作。经过K次迭代,编 码器输出的连接特征被输入至一个Gumbel softmax运算,得到动作连接拓扑张量Aact∈Rn×n×c,其中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的 概率。在动作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关 节特征的传播和动作语义特征的提取,其计算方式即
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有C种 连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率。其中i,j表示关 节编号。
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特征传 播总次数。
r表示随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布。
τ表示温度超参数,可控制采样样本的离散化的程度。
RC表示C维实数向量,即关节之间的动作连接的可能取值有C类。
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比 例,其中e表示自然对数的底;r是一个随机向量,元素独立同分布地采样于Gumbel(0,1) 分布,其分布的概率密度函数为:
其中x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;τ是一个温度超参数,可控制采样样本的离散化的程度。
由此,可以得到任意两个节点之间的任意类型的动作连接张量Aact。
所述解码器,其功能是基于编码器得到的关节动作关系状态和某时刻的动作,预测 下一时刻的动作。具体地,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征;再通过特征聚合获得所有节点特征,将 其作为输入送入门限循环单元网,得到每个时刻的动作状态,有此进一步得到t+1时刻 的动作预测值。设xi t∈R3为关节i在t时刻的位置,解码器的运算为
其中,
表示t时刻关节i和关节j之间的连接特征,它由关节i和关节j在t时刻的空间位置和决定,其中i,j表示关节编号,t表示动作进行的时间。
C表示关节之间由推断得到的动作连接类型共设定为C种。
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c表示连接属于的类型。
表示关节i在t时刻的空间坐标。
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻。
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行的时刻。
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动作进 行的时刻。
R3表示所有三维实数向量的集合。
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;GRU(·)表示门限循环单元。最后,将GRU 网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值,再以如下 高斯分布进行采样,可得到预测关节位置。
表示关节i在第t+1时刻的空间位置预测值。
N表示高斯分布的符号
σ表示高斯分布的标准差,本发明中设为0.1。
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵。
所述动作连接推断模块的优化目标函数包含两项:重建过程中的极大似然和推断过 程中的分布逼近。
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数
n表示关节总数。
T表示生成总时长
表示关节i在t时刻的位置估计值
C表示推断的动作连接种类
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合。
A(0) act:,:,c是Aact:,:,c的先验概率分布。实验证明,约束Aact:,:,c,使之更具有稀疏性,有助于 提取更有效的特征。Aact:,:,c可被命名为连接类型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积(AGC),捕获关节在运动中的依赖。在AGC种,首 先将动作图邻接矩阵利用动作图度矩阵进行归一化,即
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应关节 包含的所有连接概率值的总和。
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为
其中,
Xact表示通过“动作图卷积运算”得到的所有关节的输出特征;
AGC表示“动作图卷积运算”,对输入的关节特征进行操作,可得到卷积后的输出关节特 征。
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号。
表示n×dout维的矩阵集合,表示Xact属于该集合
dout表示每个关节的输出特征的维度
利用AIM,可以得到有效的动作关系,而在动作识别任务中,AIM编码器部分将被继续 训练,获得更加有效的动作关系。
所述结构关系,本发明提出结构连接提取器,直接将每个关节与其生物结构较远的 邻居关节建立联系。对骨架图的邻接矩阵A,利用度矩阵进行归一化,得到
其中,
表示归一化的结构连接关系的图邻接矩阵。
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度。
A表示图的邻接矩阵。
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节 点与其生物结构为l的邻居之间的连接。求归一化邻接矩阵的L阶多项式,其中多项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作。给定输 入特征Xin∈Rn×din,通过结构图卷积(SGC)可以得到人体结构方面的响应特征Xstruc∈Rn×dout,该操作的公式表达如下:
其中Mstruc (p,l)为重要性权重矩阵,Wstruc (p,l)为网络映射权重矩阵,两者均可被训练,为 归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居 和关节的远心邻居,为矩阵元素相乘。划分后的邻接矩阵为运算提供了良好的初始化, 使得输出结果在可控的范围内。
所述动作-结构特征提取步骤,其特征在于,所述动作-结构图卷积操作利用动作-结构图,构成模型的单个运算单位,包含两种操作:动作-结构图卷积(ASGC)和时间 卷积网络(T-CN)。具体地,对于ASGC,将动作关系和结构关系共同考虑,可以捕获更 加丰富的关节间关系以及人体动作特征。做法是将动作图卷积操作(AGC)和结构图卷 积操作(SGC)进行凸组合,得到ASGC,该运算可以表示为
其中,
Xout表示ASGC运算得到的关节输出特征。
λ∈[0,1]为超参数,控制两种操作对最终特征得影响。一个非线性激活函数,如整流 线性单元(ReLU)可用来进一步增加特征非线性。在时间变化方面,本发明采用时间轴上的卷积操作来提取动作的时变特征,该卷积操作被称为T-CN,可对每个关节共享权重,降低过拟合的发生。
由一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是 AS-GCN模型的基础。
所述动作分析与识别步骤,其特征在于,所述模型包含一个特征提取部分和两个输 出端,分别用于人体骨架动作识别和未来动作预测。
对于动作特征提取部分,多个AS-GCN运算块被串行地拼接起来,每个AS-GCN运算块共享一套动作-结构邻接矩阵。
为了实现人体骨架动作识别和未来动作预测,AS-GCN模型包含两个输出端。对于动 作识别任务,建立动作类别分类器,由动作的动作语义特征可直接得到动作识别结果。对于动作语义特征X,将所有关节在所有时间上的特征做平均池化,得到动作的整体特 征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别的识别 结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率。
y为动作的类别标签,
为AS-GCN模型对动作类别的判别。
对于未来动作预测任务,在动作动作语义特征的基础上,建立未来动作预测器。对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维 度,在末端直接输出每个关节的预测位置。通过最小化预测的未来动作与实际未来动作 之间的均方误差,以实现未来动作的预测。对于含有n个3D关节,时长为T’的待预测 动作片段,真实的未来动作X∈Rn×3×T’与预测得到的动作之间的均方误差,即 优化目标可以表示为
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体的未 来姿态。
n表示3D关节数量;
T’表示时长;
表示(烦请补充,谢谢!)第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关节编号,d为关节坐标维度编号,t为预测时刻。
Xi,d,t表示(烦请补充,谢谢!)第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关节编号,d为关节坐标维度编号,t为预测时刻。
每个关节在空间和时间上的每个维度均被用于计算均方误差。
最终,将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成。
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率。
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体的未 来姿态。
α是超参数,调节训练过程中动作识别和动作预测的权重。
一种面向人体骨架动作识别的动作-结构图卷积神经网络模型与方法,其特征在于:
动作-结构关系推断模块:对动作关系,采用基于变分自编码器框架的动作关系推断模块进行推断;对结构关系,基于人体骨架提取节点的远距离邻接节点;
动作特征提取模块:基于动作-结构关系图,建立多层动作-结构图卷积操作和时间 卷积操作,以提取骨架动作的动作语义特征;
动作识别与动作预测模块:利用动作语义特征,实现进一步的动作识别和未来动作 预测;
优选例2:
本发明的目的在于提出一种能够捕获人体各关节之间更丰富的运动关系信息的人 体骨架动作识别模型,称为动作-结构图卷积网络(AS-GCN)。通过AS-GCN,可以在人体骨架运动数据中提取丰富且有效的语义信息,进一步,可实现动作识别与未来动作预测。
根据本发明提供的一种人体骨架动作识别模型,包括以下步骤:
人体骨架动作数据收集步骤:利用动力学相机对人体动作进行捕捉并整理标注,搜 集网络上的公开数据集或在彩色的视频数据集上利用姿态估计工具提取人体的骨骼数据;
动作-结构图的推断步骤:对于运动中的关节动作关系,设计动作连接推断模块(AIM),推断不同关节之间的关系类型,对于动作中的关节结构关系,直接将每个关节 与生物结构中一定距离范围内的关节建立连接;
人体骨架动作语义特征提取步骤:基于动作-结构图,设计AS-GCN,提取骨架动作的语义信息;
人体骨架动作识别与预测步骤:利用动作语义信息进行动作识别以及未来动作预测。
具体地,动作-结构图的推断步骤主要包括两点:对动作关系的推断和对结构关系的提取。为了分析本发明,先将人体结构考虑为一个图,假设每个关节为图的节点,每 根骨头为图的边,每条边连接了两个生物结构相邻的节点。具体地,先以骨架结构建立 图G(V,E),其中V为n个关节构成的节点集合,E为m根骨骼构成的边集合。图G的含 自连接的邻接矩阵为A∈{0,1}n×n,如果第i个节点与第j个节点有连接,则A的第i 行第j列的元素为1,否则为0;此外,A的对角线元素均为1。令对角矩阵D∈Nn×n为A 的度矩阵,即Di,i=∑jAi,j。进一步,将人体骨架图可根据每个节点的空间位置分为三个 子集:根节点本身、近心邻居:比根节点离人体重心更近的邻居和远心邻居:比根节点 离重心更远的邻居。该集合表示为P={“根”,“近心”,“远心”}。令x∈Rn×3×T为 各关节在各时刻的3D位置,Xt=x:,:,t为各关节在t时刻的位置,xt i=xi,:,t为第i个节点 在t时刻的位置。基于人体在运动时的动作信息和人体自身的结构信息,可以得到更加 泛化的图结构,这种结构能有效捕获更加丰富的关节关系和特征。
对于动作关系,取决于动作并且可能存在于任意两个关节之间,需由动作的模式中 进行推断。因此,本发明设计了动作连接推断模块(AIM)。人体在运动时,生物结构距 离较远的关节往往会协同运动,即关节之间存在非物理的依赖。为了有效地推断动作关 系,本发明中的AIM基于变分自编码器(Varitional Auto-encoder,简称VAE)的方法, 提出了一个编码器和一个解码器,可以自动地在动作中推断动作连接,如图2所示。其 中编码器通过输入每个关节随时间变化的位置序列,迭代地传播关节之间的关系来学习 任意两个关节之间的关系特征;解码器通过学到的关系特征来重构动作。使用AIM推断 得到的动作关系作为初始动作关系,并输入到AS-GCN的关节特征提取网络中进行运算。 进一步,动作关系会在AS-GCN模型的训练中被调整,同时训练AIM中编码器的参数, 以获得更有效的动作关系。
对于AIM编码器,其功能是在给定动作序列的情况下,估计任意两个关节之间的关系状态。假设编码器可以被表示为encode(·),则动作关系图Aact=encode(x) ∈[0,1]n×n×C,其中C为动作连接的类型数,元素Aacti,j,c表示第i个关节与第j个关节之 间以c类型连接的概率。为了提取连接特征,编码器将两端关节的特征进行拼接,表示 为两关节之间的动作关系特征,而关节特征除了其本身的位置特征之外,汇聚了与其连 接的所有关系特征。具体做法是,将任意关节在各时刻的位置连接为一个向量,先令其 等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k次迭代中,反复地在 关节和其间的关系中传递特征信息,即
其中fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机(Multi-layer Perceptron,简称MLP);F(·)表示是一种进行特征聚合的运算,包括求平均与最大池 化等方法;表示拼接操作。可以看出,编码器将两个关节特征经过映射后进行拼接,由此得到两关节之间动作关系的特征;然后,再将一个关节周围所有的连接特征进行聚合,以更新关节特征。经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算,即
其中,softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之 和的比例,其中e表示自然对数的底;r是一个随机向量,每个元素独立同分布地采样 于Gumbel(0,1)分布;τ是一个温度超参数,可控制采样样本的离散化的程度,本发明 将其设定为0.5。由此,可以得到任意两个节点之间的任意类型的动作关系状态概率。
为了获取有效的动作关系,需保证可通过推断得到的动作关系重构动作,故提出AIM 解码器。对于AIM解码器,其功能是基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的动作,设解码器为decode(·),则各关节的预测位置 Xt+1=decode(Xt,...,X1,Aact),其中Xt表示所有关节在t时刻的3D位置。具体地,解码器 先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动 作关系特征;再通过特征聚合获得所有节点特征,将其作为输入送入门限循环单元网络 (Gated RecurrentUnit,简称GRU),得到每个时刻的动作状态,由此进一步得到t+1 时刻的动作预测值。设xi t∈R3为关节i在t时刻的位置,解码器的运算为
其中fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;GRU(·)表示门限循环单元。解码器 先通过对连接特征进行加权求和,再聚合得到关节特征。由此,可以作为GRU网络在每 一时刻的输入特征。最后,将GRU网络输出特征输入输出网络fout(·),估计未来动作 中每个关节的位置均值,再以均值为协方差矩阵为σ2I的高斯分布进行采样,可 得到预测关节位置。
在实际的模型训练过程中,先将AIM与训练若干轮,获得有效的动作关系,随后再通过 整个模型的端到端训练对动作关系进行调整。假设动作关系具由稀疏的先验概率分布进 行约束,以获得更加稀疏的动作关系。AIM的优化目标函数包含两项:重建过程中的极大似然和推断过程中的分布逼近。
其中A(0) act:,:,c是Aact:,:,c的先验概率分布。实验证明,约束Aact:,:,c,使之更具有稀疏性,有 助于提取更有效的特征。我们使用softmax操作以保证Aact:,:,c归一化。为了保证连接的 稀疏性,对c=0,令其为“空连接”,即关节之间没有连接,比设置较大的先验概率 (A(0) act:,:,0=0.95),而其他类型c=1,2,...,C被较低的先验概率约束(A(0) act:,:,c=0.05/C),所有类型的概率之和为1。在AIM的训练阶段,只对c=1,2,...,C等类型的关系进行训 练。将大批量样本输入AIM,并最小化优化函数,以得到有效的动作连接。令 Aact (c)=Aact:,:,c∈[0,1]n×n为第c种类型动作连接的概率,即表示第c种动作图的拓扑结构。
基于推断得到的动作连接,定义动作图卷积(AGC),使用动作连接捕获关节在运动中的依赖。在AGC种,首先将动作图的邻接矩阵利用动作图度矩阵进行归一化,即
其中Dact (c)是Aact (c)的度矩阵。给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为
其中Wact (c)为可以被训练的网络参数。利用AIM,可以初步得到有效的动作关系,而在动 作识别任务中,动作关系将被进一步调整,AIM的编码器部分也将被继续训练,以获得更加有效的动作关系。
对于结构关系,本发明提出结构连接提取器,即直接将每个关节与其生物结构较远 的邻居关节建立联系。提取方式如下:对骨架图的邻接矩阵A,利用度矩阵的倒数进行归一化,以获得图上信息的概率化传播,并保证在信息传播时的稳定性,得到
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节 点与其生物结构为l的邻居之间的连接。求归一化邻接矩阵的L阶多项式,其中多项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作。给定输 入特征Xin∈Rn×din,通过结构图卷积(SGC)可以得到响应特征Xstruc∈Rn×dout,该操作的公 式表达如下:
其中Mstruc (p,l)为重要性权重矩阵,Wstruc (p,l)为网络映射权重矩阵,两者均可被训练,ο为矩 阵元素相乘。划分后的邻接矩阵为运算提供了良好的初始化,使得输出结果在可控的范 围内。
基于动作-结构图,本发明提出动作-结构图卷积网络(AS-GCN)。AS-GCN以单个运算块为单位,每个运算块包含两种操作:动作-结构图卷积(ASGC)和时间卷积网络(Temporal-Concolutional Network,简称T-CN)。其中ASGC旨在空间角度,利用更泛 化的拓扑结构,建模关节之间更丰富的依赖;而T-CN关注于时间变化,对每一帧动作 与其邻近时间范围内的动作帧进行运算,以获得每个关节在时间变化上的特征。具体地, 对于ASGC,将动作关系和结构关系共同考虑,可以捕获更加丰富的关节间关系以及人体 动作特征。做法是将动作图卷积操作(AGC)和结构图卷积操作(SGC)进行凸组合,得 到ASGC,该运算可以表示为
其中,λ∈[0,1]为超参数,控制两种操作对最终特征得影响。可证明,ASGC操作是一 个线性系统,它有效地保留了动作和结构信息,比如当动作特征很强时,它能够在ASGC的输出特征种得到体现。一个非线性激活函数,如整流线性单元(ReLU)可用来进一步 增加特征非线性。
为了获得人体动作随时间变化的信息,需考虑视频的帧与帧之间的关系。本发明采 用时间轴上的卷积操作来提取动作的时变特征,该卷积操作被称为时间卷积网络。T-CN可以对每个关节共享相同的权重,以保证特征提取的一致性,并且降低过拟合的发生。
由一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,在运算块中,还包 含批标准化,非线性激活ReLU以及残差连接等操作,结构如图3所示。AS-GCN运算块 是AS-GCN模型的基础,AS-GCN模型包含一个特征提取部分和两个输出端,分别用于人 体骨架动作识别和未来动作预测。
对于动作特征提取部分,做法是将多个AS-GCN运算块串行地拼接起来,其中每个AS-GCN运算块共享一套动作邻接矩阵和结构邻接矩阵。具体地,特征提取模块的结构如 图4所示。以此方式,该部分能够通过反复运行多次的ASGC和T-CN操作,提取人体骨 架动作的动作语义特征,并用于动作识别和未来动作预测。
为了实现人体骨架动作识别和未来动作预测,AS-GCN模型包含两个输出端,分别输 出上述两种任务的结果。对于动作识别任务,建立动作类别分类器,由动作的动作语义特征可直接得到动作识别结果。对于动作语义特征,将所有关节在所有时间上的特征求 平均,得到动作的整体特征,再将其输入一个线性多分类器,即可获得对动作类别的识 别结果。该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即
其中y为动作的类别标签,为AS-GCN模型对动作类别的判别。
对于未来动作预测任务,在动作动作语义特征的基础上,建立未来动作预测器。对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维 度,在末端直接输出每个关节的预测位置。通过最小化预测的未来动作与实际未来动作 之间的均方误差,以实现未来动作的预测。对于含有n个3D关节,时长为T’的待预测 动作片段,真实的未来动作X∈Rn×3×T’与预测得到的动作之间的均方误差,即 优化目标可以表示为
其中,每个关节在空间和时间上的每个维度均被用于计算均方误差。
最终,将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为
minLAS-GCN=Lrecog+αLpred
其中,α是控制损失项比重的超参数,调节训练过程中动作识别和动作预测的权重,选 取合适的超参数对优化模型和提升模型表达效果至关重要。在模型的训练种,所有模型 参数均以不同的学习率被调整。对于AS-GCN的特征提取网络、动作分类器和未来动作预测器,初始其学习率为0.1,每经过20次训练集遍历降低至10%;对于AIM部分,将 学习率保持为0.0005。
综上,可以训练出完整AS-GCN模型,并实现人体骨架动作的识别和预测。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、 装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系 统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以 被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件 内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以 是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上 述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改, 这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的 特征可以任意相互组合。
Claims (10)
1.一种人体骨架动作识别方法,其特征在于,包括:
数据获取步骤:获取人体骨架数据;
动作结构图推断步骤:根据获取的人体骨架运动数据,推断不同关节之间的连接关系,构建以关节为点和以连接关系为边的动作结构图;
动作结构特征提取步骤:将获得的动作结构图引入由空间图卷积和时间卷积构成的深度模型中,提取关节的动作语义信息;
动作分析与识别步骤:根据提取的关节地动作语义信息,实现动作识别。
2.根据权利要求1所述的人体骨架动作识别方法,其特征在于,所述动作结构图推断步骤包括:
动作连接推断步骤:基于变分自编码器,提出一个包含了编码器和解码器的结构,可自动地在动作中推断动作连接,获得关节动作关系Aact;
结构连接获取步骤:将人体中的每个关节与其生物结构与生物结构中预设距离范围内的关节建立连接,获得结构关系A;
动作结构图构建步骤:根据获得的关节动作关系Aact、结构关系A,获得动作结构图。
3.根据权利要求2所述的人体骨架动作识别方法,其特征在于,所述动作连接推断步骤:
所述编码器将动作编码至动作关系图Aact,编码器将任意关节在各时刻的位置连接为一个向量,先令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k次迭代中,反复地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特征和关节i及j之间的连接特征,分别表示为和计算过程如下:
其中,
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i,j分别指人体任意两个关节编号,k表示关节特征传播的次数编号;
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节特征传播的次数编号;
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节特征传播的次数编号;
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关节特征传播的次数编号;
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的连接特征表达进行聚合,以更新关节i的特征表达;
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示向量拼接操作;
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;
F(·)表示是一种进行特征聚合的运算,包括求平均与最大池化等方法;
经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算,得到动作连接拓扑张量Aact∈Rn×n×C,其中R表示实数集合,n表示关节个数,C表示连接类型的种类数,n×n×C表示张量的维度,即Aact是由实数构成的n×n×C维张量;其中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的概率,在动作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关节特征的传播和动作语义特征的提取,其计算方式如下:
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有C种连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率,其中i,j表示关节编号;
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特征传播总次数;
τ表示温度超参数,可控制采样样本的离散化的程度;
RC表示C维实数向量,即关节之间的动作连接的可能取值共有C类;
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比例,其中e表示自然对数的底;
r是一个随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布,其分布的概率密度函数为:
其中,
x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;
τ是一个温度超参数,可控制采样样本的离散化的程度;
由此得到任意两个节点之间的任意类型的动作连接张量Aact,即关节动作关系Aact。
4.根据权利要求3所述的人体骨架动作识别方法,其特征在于,所述动作连接推断步骤:
所述解码器基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的动作,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征,再通过特征聚合获得所有节点特征,将其作为输入送入门限循环单元网,得到每个时刻的动作状态,进一步得到t+1时刻的动作预测值;
设xi t∈R3为关节i在t时刻的位置,解码器的运算为:
其中,
表示t时刻关节i和关节j之间的连接特征,由关节i和关节j在t时刻的空间位置和决定,其中i,j表示关节编号,t表示动作进行的时间;
C表示关节之间由推断得到的动作连接类型共设定为C种;
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c表示连接属于的类型;
表示关节i在t时刻的空间坐标;
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行的时刻;
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动作进行的时刻;
R3表示所有三维实数向量的集合;
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;
GRU(·)表示门限循环单元;
将GRU网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值,再以高斯分布进行采样,获得预测关节位置,所述以高斯分布进行采样:
表示关节i在第t+1时刻的空间位置预测值;
N表示高斯分布的符号;
σ表示高斯分布的标准差;
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵。
5.根据权利要求4所述的人体骨架动作识别方法,其特征在于,所述动作连接推断步骤的优化目标函数包括:重建过程中的极大似然和推断过程中的分布逼近,即:
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数;
n表示关节总数;
T表示生成总时长;
表示关节i在t时刻的位置估计值;
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合;
A(0) act:,:,c是Aact:,:,c的先验概率分布;
约束Aact:,:,c,使之更具有稀疏性,可提取更有效的特征,Aact:,:,c可被命名为连接类型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积AGC,捕获关节在运动中的依赖,首先将动作图邻接矩阵利用动作图度矩阵进行归一化,即:
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应关节包含的所有连接概率值的总和;
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为:
其中,
Xact表示通过动作图卷积运算得到的所有关节的输出特征;
AGC表示动作图卷积运算,对输入的关节特征进行操作,可得到卷积后的输出关节特征;
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号;
表示n×dout维的矩阵集合,表示Xact属于该集合;
dout表示每个关节的输出特征的维度。
6.根据权利要求5所述的人体骨架动作识别方法,其特征在于,所述结构连接获取步骤:
将每个关节与其生物结构较远的邻居关节建立联系,获得结构关系A,即骨架图的邻接矩阵A,对骨架图的邻接矩阵A利用度矩阵进行归一化:
其中,
表示归一化的结构连接关系的图邻接矩阵;
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度;
A表示骨架图的邻接矩阵;
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节点与其生物结构为l的邻居之间的连接,求归一化邻接矩阵的L阶多项式,其中多项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作,给定输入特征Xin∈Rn×din,通过结构图卷积SGC得到人体结构方面的响应特征Xstruc∈Rn×dout,该操作的公式表达如下:
其中,
Xstruc表示人体结构方面的响应特征;
Mstruc(p,l)表示重要性权重矩阵;
Wstruc(p,l)表示网络映射权重矩阵;
表示归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居和关节的远心邻居;
表示矩阵元素相乘。
7.根据权利要求6所述的面向人体骨架动作识别的动作及结构图卷积神经网络模型与方法,其特征在于,所述动作结构特征提取步骤:
根据获得的动作结构图,深度模型通过动作结构图卷积操作和时间卷积操作,提取关节的动作语义信息;
所述动作结构图卷积操作指:将动作图卷积操作和结构图卷积操作进行凸组合,获得到ASGC操作,该ASGC操作运算如下:
其中,
Xout表示ASGC运算得到的关节输出特征,即关节的动作语义信息;
λ表示超参数,控制两种操作对最终特征得影响,λ∈[0,1];
时间卷积操作T-CN指采用时间轴上的卷积操作来提取动作的时变特征,对每个关节共享权重,降低过拟合的发生;
一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是AS-GCN模型的基础。
8.根据权利要求7所述的人体骨架动作识别方法,其特征在于,所述动作分析与识别步骤:
对于动作语义信息Xout,将所有关节在所有时间上的特征做平均池化,得到动作的整体特征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别的识别结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即:
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
y为动作的类别标签;
为AS-GCN模型对动作类别的识别结果;
对于未来动作预测任务,在动作语义特征的基础上,建立未来动作预测器,对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维度,在末端直接输出每个关节的预测位置,通过最小化预测的未来动作与实际未来动作之间的均方误差,以实现未来动作的预测;
对于含有n个3D关节,时长为T’的待预测动作片段,真实的未来动作X∈Rn×3×T’与预测得到的动作之间的均方误差,其中,R表示实数集合,其维度为n×3×T’,即X和均为由实数构成的n×3×T’维张量;
则优化目标可以表示为:
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体的未来姿态;
n表示3D关节数量;
T’表示时长;
表示第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关节编号,d为关节坐标维度编号,t为预测时刻;
Xi,d,t表示第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关节编号,d为关节坐标维度编号,t为预测时刻;
每个关节在空间和时间上的每个维度均被用于计算均方误差;
将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为:
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成;
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体的未来姿态;
α是超参数,调节训练过程中动作识别和动作预测的权重。
9.一种人体骨架动作识别系统,其特征在于,包括:
数据获取模块:获取人体骨架数据;
动作结构图推断模块:根据获取的人体骨架运动数据,推断不同关节之间的连接关系,构建以关节为点和以连接关系为边的动作结构图;
动作结构特征提取模块:将获得的动作结构图引入由空间图卷积和时间卷积构成的深度模型中,提取关节的动作语义信息;
动作分析与识别模块:根据提取的关节地动作语义信息,实现动作识别;
所述动作结构图推断模块包括:
动作连接推断模块:基于变分自编码器,提出一个包含了编码器和解码器的结构,可自动地在动作中推断动作连接,获得关节动作关系Aact;
结构连接获取模块:将人体中的每个关节与其生物结构与生物结构中预设距离范围内的关节建立连接,获得结构关系A;
动作结构图构建模块:根据获得的关节动作关系Aact、结构关系A,获得动作结构图;
所述动作连接推断模块:
所述编码器将动作编码至动作关系图Aact,编码器将任意关节在各时刻的位置连接为一个向量,先令其等于节点的初始特征:对第i个关节,其初始特征为pi (0),在第k次迭代中,反复地在关节和其间的关系中传递特征信息,得到第k次迭代时的关节i特征和关节i及j之间的连接特征,分别表示为和计算过程如下:
其中,
表示关节i和关节j之间的连接在第k+1次特征传播时的特征表达,其中i,j分别指人体任意两个关节编号,k表示关节特征传播的次数编号;
k表示,在动作连接推断中,关节特征相互传播的次数编号;
表示关节i在第k次特征传播时的特征表达,其中i指关节编号,k表示关节特征传播的次数编号;
表示关节j在第k次特征传播时的特征表达,其中j指关节编号,k表示关节特征传播的次数编号;
表示关节i在第k+1次特征传播时的特征表达,其中i指关节编号,k表示关节特征传播的次数编号;
表示所有与关节i相关的连接特征表达的集合,用于进一步将与关节i相关的连接特征表达进行聚合,以更新关节i的特征表达;
表示用于提取关节特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
表示用于提取关节之间连接特征的特征提取器,形式为多层感知机,k表示在第k次特征传播后所使用的提取器;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示向量拼接操作;
fv(·)和fe(·)是用来得到关节与关节间关系特征的多层感知机;
F(·)表示是一种进行特征聚合的运算,包括求平均与最大池化等方法;
经过K次迭代,编码器输出的连接特征被输入至一个Gumbel softmax运算,得到动作连接拓扑张量Aact∈Rn×n×C,其中R表示实数集合,n表示关节个数,C表示连接类型的种类数,n×n×C表示张量的维度,即Aact是由实数构成的n×n×C维张量;其中第i,j,c个元素Aacti,j,c表示关节i和关节j之间的动作连接类型为类型c的概率,在动作识别中,该动作连接拓扑张量表示了所有推断得到的动作连接,被用于关节特征的传播和动作语义特征的提取,其计算方式如下:
其中,
Aacti,j表示i,j两个关节之间的动作连接的推断结果,是一个C维向量,表示共有C种连接类型,每个元素表示关节i,j之间动作连接为该类型c的概率,其中i,j表示关节编号;
表示经过K次特征传播后,i,j两个关节之间连接的特征表达,其中K表示特征传播总次数;
τ表示温度超参数,可控制采样样本的离散化的程度;
RC表示C维实数向量,即关节之间的动作连接的可能取值共有C类;
softmax(·)是一种运算,定义为向量每个元素的e指数占所有元素的e指数之和的比例,其中e表示自然对数的底;
r是一个随机向量,该向量的每个元素均独立同分布地采样于Gumbel(0,1)分布,其分布的概率密度函数为:
其中,
x表示r中的任意一个元素,f(x)即为在Gumbel(0,1)分布中,取得x的概率;
τ是一个温度超参数,可控制采样样本的离散化的程度;
由此得到任意两个节点之间的任意类型的动作连接张量Aact,即关节动作关系Aact;
所述动作连接推断模块:
所述解码器基于编码器得到的关节动作关系状态和某时刻的动作,预测下一时刻的动作,解码器先将t时刻的输入动作中的所有关系特征依据Aacti,j,c进行加权求和,以获得加权后的动作关系特征,再通过特征聚合获得所有节点特征,将其作为输入送入门限循环单元网,得到每个时刻的动作状态,进一步得到t+1时刻的动作预测值;
设xi t∈R3为关节i在t时刻的位置,解码器的运算为:
其中,
表示t时刻关节i和关节j之间的连接特征,由关节i和关节j在t时刻的空间位置和决定,其中i,j表示关节编号,t表示动作进行的时间;
C表示关节之间由推断得到的动作连接类型共设定为C种;
Ai,j,c表示i,j两个关节之间的动作连接的推断种类,其中i,j表示关节编号,c表示连接属于的类型;
表示关节i在t时刻的空间坐标;
表示关节i在t时刻的特征表达,其中i指关节编号,t表示动作进行的时刻;
F(·)表示一种进行特征聚合的运算,包括求平均与最大池化等方法;
表示关节i在t+1时刻的运动状态,其中i表示关节编号,t+1表示动作进行的时刻;
表示关节i在t+1时刻的位置平均预测值,其中i表示关节编号,t+1表示动作进行的时刻;
R3表示所有三维实数向量的集合;
fv (c)(·),fe (c)(·)和fout(·)均为多层感知机;
GRU(·)表示门限循环单元;
将GRU网络输出特征输入输出网络fout(·),估计未来动作中每个关节的位置均值,再以高斯分布进行采样,获得预测关节位置,所述以高斯分布进行采样:
表示关节i在第t+1时刻的空间位置预测值;
N表示高斯分布的符号;
σ表示高斯分布的标准差;
I表示单位矩阵,用于实现多维高斯分布的协方差矩阵;
所述动作连接推断模块的优化目标函数包括:重建过程中的极大似然和推断过程中的分布逼近,即:
其中,
LAIM(Aact)表示最小化动作生成损失的目标函数;
n表示关节总数;
T表示生成总时长;
表示关节i在t时刻的位置估计值;
Aact:,:,c表示任意两个关节点之间含类型c的动作连接概率值的集合;
A(0) act:,:,c是Aact:,:,c的先验概率分布;
约束Aact:,:,c,使之更具有稀疏性,可提取更有效的特征,Aact:,:,c可被命名为连接类型c的动作图邻接矩阵,表示为
基于动作连接,定义动作图卷积AGC,捕获关节在运动中的依赖,首先将动作图邻接矩阵利用动作图度矩阵进行归一化,即:
其中,
表示动作连接为类型c的归一化的动作邻接矩阵;
表示动作连接为类型c的动作邻接矩阵;
Dact (c)是Aact (c)的度矩阵,所述度矩阵是一个对角矩阵,对角线上的每个元素表示对应关节包含的所有连接概率值的总和;
给定输入关节位置Xin,则通过AGC运算的输出关节特征Xact可表示为:
其中,
Xact表示通过动作图卷积运算得到的所有关节的输出特征;
AGC表示动作图卷积运算,对输入的关节特征进行操作,可得到卷积后的输出关节特征;
Xin表示所有关节的输入特征;
表示动作连接为类型c的归一化的动作邻接矩阵;
Wact (c)表示对于第c类动作连接的被训练的网络参数,其中c表示动作连接类型编号;
表示n×dout维的矩阵集合,表示Xact属于该集合;
dout表示每个关节的输出特征的维度;
所述结构连接获取模块:
将每个关节与其生物结构较远的邻居关节建立联系,获得结构关系A,即骨架图的邻接矩阵A,对骨架图的邻接矩阵A利用度矩阵进行归一化:
其中,
表示归一化的结构连接关系的图邻接矩阵;
D-1表示图的度矩阵,为一个对角矩阵,对角线上每个元素表示该行对应节点的度;
A表示骨架图的邻接矩阵;
将归一化后的邻接矩阵按与重心的距离进行划分,并分别求其l次幂,即可提取每个节点与其生物结构为l的邻居之间的连接,求归一化邻接矩阵的L阶多项式,其中多项式的系数包含了可训练的模型参数和输入特征,即可得到结构关系的图卷积操作,给定输入特征Xin∈Rn×din,通过结构图卷积SGC得到人体结构方面的响应特征Xstruc∈Rn×dout,该操作的公式表达如下:
其中,
Xstruc表示人体结构方面的响应特征;
Mstruc(p,l)表示重要性权重矩阵;
Wstruc(p,l)表示网络映射权重矩阵;
表示归一化的结构连接关系的图邻接矩阵的第p个划分,p包含关节本身、关节的近心邻居和关节的远心邻居;
表示矩阵元素相乘;
所述动作结构特征提取模块:
根据获得的动作结构图,深度模型通过动作结构图卷积操作和时间卷积操作,提取关节的动作语义信息;
所述动作结构图卷积操作指:将动作图卷积操作和结构图卷积操作进行凸组合,获得到ASGC操作,该ASGC操作运算如下:
其中,
Xout表示ASGC运算得到的关节输出特征,即关节的动作语义信息;
λ表示超参数,控制两种操作对最终特征得影响,λ∈[0,1];
时间卷积操作T-CN指采用时间轴上的卷积操作来提取动作的时变特征,对每个关节共享权重,降低过拟合的发生;
一个ASGC操作和一个T-CN操作可构成一个AS-GCN运算块,AS-GCN运算块是AS-GCN模型的基础;
所述动作分析与识别模块:
对于动作语义信息Xout,将所有关节在所有时间上的特征做平均池化,得到动作的整体特征,再将其输入一个由单层神经网络构成的线性多分类器,即可获得对动作类别的识别结果该部分的优化目标为最小化预测类别与目标类别之间的交叉熵,即:
其中
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
y为动作的类别标签;
为AS-GCN模型对动作类别的识别结果;
对于未来动作预测任务,在动作语义特征的基础上,建立未来动作预测器,对动作的语义特征,未来动作预测器进一步通过AS-GCN运算提取特征并逐渐压缩特征维度,在末端直接输出每个关节的预测位置,通过最小化预测的未来动作与实际未来动作之间的均方误差,以实现未来动作的预测;
对于含有n个3D关节,时长为T’的待预测动作片段,真实的未来动作X∈Rn×3×T’与预测得到的动作之间的均方误差,其中,R表示实数集合,其维度为n×3×T’,即X和均为由实数构成的n×3×T’维张量;
则优化目标可以表示为:
其中,
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体的未来姿态;
n表示3D关节数量;
T’表示时长;
表示第i个关节的3D坐标的第d个维度在t时刻的位置预测值,其中i为关节编号,d为关节坐标维度编号,t为预测时刻;
Xi,d,t表示第i个关节的3D坐标的第d个维度在t时刻的位置真实值,其中i为关节编号,d为关节坐标维度编号,t为预测时刻;
每个关节在空间和时间上的每个维度均被用于计算均方误差;
将两个优化目标进行线性求和,同步进行优化,构成AS-GCN的总体优化目标,表示为:
min LAS-GCN=Lrecog+αLpred
其中,
LAS-GCN表示AS-GCN模型总体的优化目标,由两个目标函数通过加权求和的方式构成;
Lrecog表示动作识别目标函数,其目的是让模型对输入动作有更高的识别准确率;
Lpred表示动作预测目标函数,其目的是让模型在基于输入动作的情况下,预测人体的未来姿态;
α是超参数,调节训练过程中动作识别和动作预测的权重。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的人体骨架动作识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910411801.XA CN110490035A (zh) | 2019-05-17 | 2019-05-17 | 人体骨架动作识别方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910411801.XA CN110490035A (zh) | 2019-05-17 | 2019-05-17 | 人体骨架动作识别方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110490035A true CN110490035A (zh) | 2019-11-22 |
Family
ID=68546188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910411801.XA Pending CN110490035A (zh) | 2019-05-17 | 2019-05-17 | 人体骨架动作识别方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490035A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191520A (zh) * | 2019-12-10 | 2020-05-22 | 北京大学 | 用于动作识别的人体骨架压缩方法、装置以及设备 |
CN111199216A (zh) * | 2020-01-07 | 2020-05-26 | 上海交通大学 | 面向人体骨架的运动预测方法及系统 |
CN111325141A (zh) * | 2020-02-18 | 2020-06-23 | 上海商汤临港智能科技有限公司 | 交互关系识别方法、装置、设备及存储介质 |
CN111339845A (zh) * | 2020-02-13 | 2020-06-26 | 福州大学 | 自动区分并增强时空特征的图卷积神经网络的人体动作识别方法 |
CN111460960A (zh) * | 2020-03-27 | 2020-07-28 | 重庆电政信息科技有限公司 | 一种运动分类及计数方法 |
CN111539941A (zh) * | 2020-04-27 | 2020-08-14 | 上海交通大学 | 帕金森病腿部灵活性任务评估方法及系统、存储介质及终端 |
CN111931549A (zh) * | 2020-05-20 | 2020-11-13 | 浙江大学 | 一种基于多任务非自回归解码的人体骨架的动作预测方法 |
CN112446923A (zh) * | 2020-11-23 | 2021-03-05 | 中国科学技术大学 | 人体三维姿态估计方法、装置、电子设备及存储介质 |
CN112597883A (zh) * | 2020-12-22 | 2021-04-02 | 武汉大学 | 一种基于广义图卷积和强化学习的人体骨架动作识别方法 |
CN112711664A (zh) * | 2020-12-31 | 2021-04-27 | 山西三友和智慧信息技术股份有限公司 | 一种基于tcn+lstm的文本情感分类方法 |
CN113065529A (zh) * | 2021-05-10 | 2021-07-02 | 清华大学 | 基于关节组间关联建模的动作识别方法与系统 |
CN113255402A (zh) * | 2020-02-10 | 2021-08-13 | 深圳绿米联创科技有限公司 | 动作识别方法、装置以及电子设备 |
CN113436703A (zh) * | 2021-07-02 | 2021-09-24 | 上海交通大学 | 基于神经网络的运动步数数据的运动模式推断方法及系统 |
CN113780075A (zh) * | 2021-08-05 | 2021-12-10 | 深兰科技(上海)有限公司 | 骨架动作图生成方法、生成装置、计算机设备及介质 |
CN116434335A (zh) * | 2023-03-30 | 2023-07-14 | 东莞理工学院 | 动作序列识别和意图推断方法、装置、设备及存储介质 |
CN116434335B (zh) * | 2023-03-30 | 2024-04-30 | 东莞理工学院 | 动作序列识别和意图推断方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103941869A (zh) * | 2014-04-21 | 2014-07-23 | 云南电网公司普洱供电局 | 一种基于动作元的体感姿势识别方法 |
CN109446923A (zh) * | 2018-10-10 | 2019-03-08 | 北京理工大学 | 基于训练特征融合的深度监督卷积神经网络行为识别方法 |
CN109492581A (zh) * | 2018-11-09 | 2019-03-19 | 中国石油大学(华东) | 一种基于tp-stg框架的人体动作识别方法 |
CN109522793A (zh) * | 2018-10-10 | 2019-03-26 | 华南理工大学 | 基于机器视觉的多人异常行为检测与识别方法 |
-
2019
- 2019-05-17 CN CN201910411801.XA patent/CN110490035A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103941869A (zh) * | 2014-04-21 | 2014-07-23 | 云南电网公司普洱供电局 | 一种基于动作元的体感姿势识别方法 |
CN109446923A (zh) * | 2018-10-10 | 2019-03-08 | 北京理工大学 | 基于训练特征融合的深度监督卷积神经网络行为识别方法 |
CN109522793A (zh) * | 2018-10-10 | 2019-03-26 | 华南理工大学 | 基于机器视觉的多人异常行为检测与识别方法 |
CN109492581A (zh) * | 2018-11-09 | 2019-03-19 | 中国石油大学(华东) | 一种基于tp-stg框架的人体动作识别方法 |
Non-Patent Citations (1)
Title |
---|
MAOSEN LI,ET.AL: ""Actional-Structural Graph Convolutional Networks for Skeleton-based Action Recognition"", 《ARXIV:1904.12659V1 [CS.CV]》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191520A (zh) * | 2019-12-10 | 2020-05-22 | 北京大学 | 用于动作识别的人体骨架压缩方法、装置以及设备 |
CN111191520B (zh) * | 2019-12-10 | 2023-02-07 | 北京大学 | 用于动作识别的人体骨架压缩方法、装置以及设备 |
CN111199216A (zh) * | 2020-01-07 | 2020-05-26 | 上海交通大学 | 面向人体骨架的运动预测方法及系统 |
CN111199216B (zh) * | 2020-01-07 | 2022-10-28 | 上海交通大学 | 面向人体骨架的运动预测方法及系统 |
CN113255402A (zh) * | 2020-02-10 | 2021-08-13 | 深圳绿米联创科技有限公司 | 动作识别方法、装置以及电子设备 |
CN111339845A (zh) * | 2020-02-13 | 2020-06-26 | 福州大学 | 自动区分并增强时空特征的图卷积神经网络的人体动作识别方法 |
CN111339845B (zh) * | 2020-02-13 | 2022-06-10 | 福州大学 | 区分并增强时空特征的图卷积神经网络人体动作识别方法 |
CN111325141A (zh) * | 2020-02-18 | 2020-06-23 | 上海商汤临港智能科技有限公司 | 交互关系识别方法、装置、设备及存储介质 |
CN111325141B (zh) * | 2020-02-18 | 2024-03-26 | 上海商汤临港智能科技有限公司 | 交互关系识别方法、装置、设备及存储介质 |
CN111460960A (zh) * | 2020-03-27 | 2020-07-28 | 重庆电政信息科技有限公司 | 一种运动分类及计数方法 |
CN111539941B (zh) * | 2020-04-27 | 2022-08-16 | 上海交通大学 | 帕金森病腿部灵活性任务评估方法及系统、存储介质及终端 |
CN111539941A (zh) * | 2020-04-27 | 2020-08-14 | 上海交通大学 | 帕金森病腿部灵活性任务评估方法及系统、存储介质及终端 |
CN111931549B (zh) * | 2020-05-20 | 2024-02-02 | 浙江大学 | 一种基于多任务非自回归解码的人体骨架的动作预测方法 |
CN111931549A (zh) * | 2020-05-20 | 2020-11-13 | 浙江大学 | 一种基于多任务非自回归解码的人体骨架的动作预测方法 |
CN112446923A (zh) * | 2020-11-23 | 2021-03-05 | 中国科学技术大学 | 人体三维姿态估计方法、装置、电子设备及存储介质 |
CN112597883B (zh) * | 2020-12-22 | 2024-02-09 | 武汉大学 | 一种基于广义图卷积和强化学习的人体骨架动作识别方法 |
CN112597883A (zh) * | 2020-12-22 | 2021-04-02 | 武汉大学 | 一种基于广义图卷积和强化学习的人体骨架动作识别方法 |
CN112711664B (zh) * | 2020-12-31 | 2022-09-20 | 山西三友和智慧信息技术股份有限公司 | 一种基于tcn+lstm的文本情感分类方法 |
CN112711664A (zh) * | 2020-12-31 | 2021-04-27 | 山西三友和智慧信息技术股份有限公司 | 一种基于tcn+lstm的文本情感分类方法 |
CN113065529B (zh) * | 2021-05-10 | 2022-05-06 | 清华大学 | 基于关节组间关联建模的动作识别方法与系统 |
CN113065529A (zh) * | 2021-05-10 | 2021-07-02 | 清华大学 | 基于关节组间关联建模的动作识别方法与系统 |
CN113436703B (zh) * | 2021-07-02 | 2022-07-15 | 上海交通大学 | 基于神经网络的运动步数数据的运动模式推断方法及系统 |
CN113436703A (zh) * | 2021-07-02 | 2021-09-24 | 上海交通大学 | 基于神经网络的运动步数数据的运动模式推断方法及系统 |
CN113780075A (zh) * | 2021-08-05 | 2021-12-10 | 深兰科技(上海)有限公司 | 骨架动作图生成方法、生成装置、计算机设备及介质 |
CN113780075B (zh) * | 2021-08-05 | 2024-04-23 | 深兰科技(上海)有限公司 | 骨架动作图生成方法、生成装置、计算机设备及介质 |
CN116434335A (zh) * | 2023-03-30 | 2023-07-14 | 东莞理工学院 | 动作序列识别和意图推断方法、装置、设备及存储介质 |
CN116434335B (zh) * | 2023-03-30 | 2024-04-30 | 东莞理工学院 | 动作序列识别和意图推断方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110490035A (zh) | 人体骨架动作识别方法、系统及介质 | |
Rahmatizadeh et al. | Vision-based multi-task manipulation for inexpensive robots using end-to-end learning from demonstration | |
CN107253195B (zh) | 一种运载机器人手臂操控自适应混合学习映射智能控制方法及系统 | |
Alaloul et al. | Data processing using artificial neural networks | |
CN109460553B (zh) | 一种基于门限卷积神经网络的机器阅读理解方法 | |
CN108846384A (zh) | 融合视频感知的多任务协同识别方法及系统 | |
CN109829541A (zh) | 基于学习自动机的深度神经网络增量式训练方法及系统 | |
CN110794842A (zh) | 基于势场的强化学习路径规划算法 | |
CN105956601B (zh) | 一种基于轨迹模仿的机器人汉字书写学习方法 | |
CN111079561A (zh) | 一种基于虚拟训练的机器人智能抓取方法 | |
CN108549844A (zh) | 一种基于多层分形网络和关节亲属模式的多人姿态估计方法 | |
CN107179077B (zh) | 一种基于elm-lrf的自适应视觉导航方法 | |
CN110223785A (zh) | 一种基于深度学习的传染病传播网络重构方法 | |
CN111199216B (zh) | 面向人体骨架的运动预测方法及系统 | |
CN113239897B (zh) | 基于时空特征组合回归的人体动作评价方法 | |
CN116959094A (zh) | 一种基于时空图卷积网络的人体行为识别方法 | |
CN115659275A (zh) | 非结构化人机交互环境中的实时准确轨迹预测方法及系统 | |
Pore et al. | On simple reactive neural networks for behaviour-based reinforcement learning | |
CN109062811A (zh) | 一种基于神经风格迁移的测试用例生成方法 | |
CN113240714B (zh) | 一种基于情境感知网络的人体运动意图预测方法 | |
Oliva et al. | Graph neural networks for relational inductive bias in vision-based deep reinforcement learning of robot control | |
García-Vico et al. | A preliminary analysis on software frameworks for the development of spiking neural networks | |
CN114863562A (zh) | 多足机器人的运动学习方法、装置、电子设备及存储介质 | |
Reinhart | Reservoir computing with output feedback | |
Lu et al. | Dynamic evolution analysis of desertification images based on BP neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191122 |