首页> 中国专利> 一种基于广义图卷积和强化学习的人体骨架动作识别方法

一种基于广义图卷积和强化学习的人体骨架动作识别方法

摘要

本发明提出了一种基于广义图卷积和强化学习的人体骨架动作识别方法。本发明构建人体骨架序列矩阵,构建预定义骨架图,将训练集送入到广义图卷积网络中进行特征提取,利用全局平均池化对特征进行聚合,利用全连接层分类器对特征进行分类,根据损失函数更新网络参数;结合训练后的广义图卷积网络、分类器,广义图卷积学习到的特征,构建特征选择网络来自适应地选择时间维上对识别有用的特征,并利用强化学习方法进行训练。本发明针对人体骨架动作识别任务,设计了一个广义图卷积网络,用于捕获任意结点间的相关依赖,以提取结点间更丰富的关联特征。同时设计了一种特征选择网络,用于选择时间维上对识别有用的特征,从而实现更精确的动作识别。

著录项

  • 公开/公告号CN112597883A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN202011526101.4

  • 发明设计人 姚剑;许哲源;汪颖夫;涂静敏;

    申请日2020-12-22

  • 分类号G06K9/00(20060101);G06K9/46(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构42222 武汉科皓知识产权代理事务所(特殊普通合伙);

  • 代理人许莲英

  • 地址 430072 湖北省武汉市武昌区珞珈山武汉大学

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本发明属于视频图像处理技术领域,特别是涉及一种基于广义图卷积和强化学习的人体骨架动作识别方法。

背景技术

人体行为识别技术在视频监控,视频检索以及人机交互等方向有着十分广泛的应用。相较于RGB视频,人体骨架序列具有旋转不变性,光照不变性等优良性质,因此基于骨架序列的动作识别在面对复杂场景时具有显著优势。而如今随着深度传感器和人体姿态估计算法的发展,获取人体的骨架序列也变得越来越容易。

早先的传统方法主要是针对人体骨架设计对人体动作或人体-对象交互有概况性的特征描述符。一般而言,这类特征应具有平移,旋转不变性,以及对时序数据有较强的鲁棒性。虽然这类算法不需要大量数据用于学习,可以快速对识别任务进行针对性的部署。但识别精度差,容易受环境和场景的影响,当面对复杂场景或复杂动作时难以是被准确识别。

随着深度学习技术在计算机视觉领域的发展,基于深度学习的方法也被逐步应用于人体骨架动作识别。其主要分为基于递归神经网络(Recurrent Neural Network,RNN),基于卷积神经网络(Convolutional Neural Network,CNN)和基于图卷积神经网络的方法(Graph Convolutional Neural Network,GCN)。

基于递归神经网络的方法将骨架表示成一个向量序列作为神经网络的输入,通过学习各种递归神经网络来学习骨架在时序上的关联特征。长短期记忆网络(Long-ShortTerm Memory,LSTM)目前被认为是处理长时序关联的一种较好的方法,能够有效解决普通递归神经网络中存在的梯度弥散等问题,因此这类方法也被有效迁移到人体骨架动作识别中。然而这类方法忽略了骨架的空间结构信息,因此在识别精度上还无法达到实际应用的标准。

基于卷积神经网络的方法将骨架表示为一副虚拟的图像,“长宽”分别为时间维数与关节结点数,通过参数共享的方式学习骨架动作在时空上的关联特征。其中,骨架的空间坐标和相邻帧骨架的运动向量通常作为输入特征,以双流的形式利用卷积神经网络分别学习动作的空间和时间特征。这类方法虽然特征学习能力很强,但依然没有利用骨架本身的结构特性。

基于图卷积的方法将骨架视为一个时空关联的图,其各帧的骨架结点为图的结点,骨架物理上相邻的结点之间以及同一结点相邻帧之间构成图的边。这种数据表达方式能更清晰直观的描述一个骨架序列。且图卷积能将卷积神经网络扩展到非欧式数据中,因此被用来在上述骨架图中提取时空关联的特征。这种特征同时包含了骨架的空间结构和时序信息,因此能够取得不错的识别效果。

目前,虽然基于图卷积的方法已经取得了不错的效果,但依然存在两个问题:图卷积只能提取局部的关联特征而不能获取结点间的长距离依赖。图卷积在最后对特征在时间维上采用全局平均池化的方式聚合,而时间维上并非每个特征都对最后的预测结果有用。本发明对骨架获取方式没有限制,适用于基于结构光、多目视觉、飞行时间距离原理等方法的深度相机。本发明对数据维度没有限制,2D或3D的骨架数据都能作为网络的输入。

发明内容

为了解决上述提到的问题并且进一步提升人体骨架动作识别的效果,本发明提出了一种基于广义图卷积和强化学习的人体骨架动作识别方法,具体包括以下步骤:

步骤1:构建人体骨架序列矩阵,将人体骨架序列矩阵中每个元素定义为动作序列图像中人体关节点的三维坐标,进一步对动作序列图像中人体关节点的三维坐标进行中心化处理、对齐处理;

步骤2:构建预定义骨架图;

步骤3:将训练集送入到广义图卷积网络中进行特征提取,利用全局平均池化对特征进行聚合,利用全连接层分类器对特征进行分类,根据标签计算损失函数,通过反向传播梯度下降的方式更新网络参数,循环上述过程得到训练后的广义图卷积网络、训练后的分类器;

步骤4:结合步骤3中训练后的广义图卷积网络、训练后的分类器,广义图卷积学习到的特征,构建特征选择网络来自适应地选择时间维上对识别有用的特征,并利用强化学习方法进行训练。

步骤5:将步骤1中得到的待识别的骨架数据作为网络输入,通过训练后的广义图卷积网络提取到大小为(N,C,T,V)的高维特征,经过空间平均池化后特征维度变为(N,C,T);进一步由训练后的特征选择网络对每个特征进行选择,输出一个大小为(N,T)的布尔矩阵,1代表该特征选来最终识别,0代表丢弃;通过平均池化对选择的特征进行特征聚合,送入训练后的分类器得到分类结果。

作为优选,步骤1所述构建人体骨架序列矩阵为:

构建大小为(T,V,M)的三维矩阵;

步骤1所述将人体骨架序列矩阵中每个元素定义为动作序列图像中人体关节点的三维坐标

步骤1所述人体骨架序列矩阵中每个元素为动作序列图像中人体关节点的三维坐标,具体定义为:

data

其中,T为动作序列图像帧的数量,V为人体中关节点的数量,M为人的数量,data

步骤1所述对动作序列图像中人体关节点的三维坐标进行中心化处理为:

各关节点的三维坐标减去骨架重心处节点的三维坐标,即:

data

其中,T为动作序列图像帧的数量,V为人体中关节点的数量,M为人的数量,data

步骤1所述对动作序列图像中人体关节点的三维坐标进行对齐处理为:

将骨架坐标旋转,使得左肩、右肩构成的连线与x轴平行,即

其中,

作为优选,步骤2所述构建预定义骨架图为:

继而可获得每个节点的邻接节点集,本发明将每个节点v的邻接节点分为节点自身子集、邻接节点中离重心的距离比该节点更近的点子集、邻接节点中离重心的距离比该节点更远的点子集;

所述节点自身子集为:

其中,1≤v≤V,1≤t≤T,1≤m≤M;

所述邻接节点中离重心的距离比该节点更近的点子集为:

其中,1≤v,v′,v

所述邻接节点中离重心的距离比该节点更远的点子集为:

其中,1≤v,v′,v

作为优选,步骤3所述将训练集送入到广义图卷积网络中进行特征提取,利用全局平均池化对特征进行聚合为:

步骤3所述其中广义图卷积网络中的每一个模块都由广义图生成模块和广义图卷积模块构成;

在广义图生成模块中,每一层提取的特征都为一个(N,C

通过计算其相似度的方式来度量各节点之间的依赖关系,将每个节点的特征f

1≤k≤N,1≤t≤T,1≤v≤V,1≤m≤M.通过下式计算节点

(a)

(b)

(c)

(d)

(e)

其中,每个节点的表征特征

最后,采用softmax函数得到归一化的广义图:

步骤3中的广义图卷积模块由一层图卷积和一层时序卷积构成;

对于图卷积层,运算方式如下式:

其中,f

在每一个广义图卷积之后,都会额外增加一个批量标准化层和激活函数层。批量标准化层用来加快网络的训练和收敛以及减少过拟合;激活函数层使用ReLU(RectifiedLinear Unit)用来增加网络的非线性。最后加上一个时序卷积层就构成了广义图卷积模块,也是本发明中主要的特征提取模块。

步骤3所述利用全连接层分类器对特征进行分类为:

步骤3中得到的广义图卷积用于提取人体骨架的高维特征f

步骤3中所述根据标签计算损失函数,通过反向传播梯度下降的方式更新网络参数,循环上述过程得到训练后的广义图卷积网络、训练后的分类器为:

根据标签利用交叉熵损失函数计算预测结果和标签之间的损失,通过反向传播梯度下降的方式更新网络参数,循环上述过程得到训练后的广义图卷积网络、训练后的分类器。

构建预定义骨架图步骤4中所述的训练后的广义图卷积网络、训练后的分类器,广义图卷积学习到的特征为:

结合步骤3中训练后的广义图卷积网络、训练后的分类器,以及广义图卷积学习到的特征f

步骤4中所述的构建特征选择网络来自适应地选择时间维上对识别有用的特征为:

特征选择网络由LSTM和多层感知机(MLP)构成,并以此来对提取的特征序列建模,特征选择网络的输入为每个时刻的特征f

f

其中g

步骤4中所述的利用强化学习进行训练为:

本发明利用强化学习方法对步骤4中的特征选择网络π进行训练,其设置奖励机制,通过采样的方式来制定策略以最大化奖励的期望。由于识别结果在所有特征完成选择后才会产生,因此奖励函数设置如下:

其中,c

其中状态值函数V

在训练步骤4中的特征选择网络时,本发明通过构造一个和选择网络相同的网络模型来估计值函数,通过梯度下降法最小化下式来更新值函数的网络参数:

其中ψ为值函数的参数。在当前值函数下,通过计算当前策略所获得的奖励以及值函数预测的期望奖励来判断当前选择是否比默认策略更好,并通过策略梯度下降方法对网络参数进行更新:

其中g即为当前的下降梯度,Q

本发明针对人体骨架动作识别任务,设计了一个广义图卷积网络,用于捕获任意结点间的相关依赖,以提取结点间更丰富的关联特征。同时设计了一种特征选择网络,用于对提取到的特征在时间维上进行筛选,以便筛选出更有效的特征,从而实现更精确的动作识别。

附图说明

图1:本发明的骨架图与子集划分方式。

图2:本发明广义图卷积结构图。

图3:本发明特征选择网络结构图。

图4:本发明整体流程图。

图5:本发明方法流程图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合图1至图5介绍本发明的具体实施方式为:

本发明设计了一个广义图卷积网络(Generalized Graph Convolution Network,GGCN)以及一个特征选择网络(Feature Selection Network),并以此为基础实现了一种基于深度学习和强化学习的人体骨架动作识别方法。

本发明测试于Ubuntu16.04操作系统,Python3.6.9程序语言,Pytorch1.0 Stable开源深度学习框架,并使用了一颗GTX 1080Ti的图形处理器和CUDA9.0(通用并行计算架构)加速神经网络计算。

步骤1:构建人体骨架序列矩阵,将人体骨架序列矩阵中每个元素定义为动作序列图像中人体关节点的三维坐标,进一步对动作序列图像中人体关节点的三维坐标进行中心化处理、对齐处理;

将微软的Kinect相机获取的人体骨架序列构建为一个大小为(3,T,V,M)的矩阵;

步骤1所述构建人体骨架序列矩阵为:

构建大小为(T,V,M)的三维矩阵;

步骤1所述将人体骨架序列矩阵中每个元素定义为动作序列图像中人体关节点的三维坐标

步骤1所述人体骨架序列矩阵中每个元素为动作序列图像中人体关节点的三维坐标,具体定义为:

data

其中,T=300为动作序列图像帧的数量,V=25为人体中关节点的数量,M=2为人的数量,data

步骤1所述对动作序列图像中人体关节点的三维坐标进行中心化处理为:

各关节点的三维坐标减去骨架重心处节点的三维坐标,即:

data

其中,T为动作序列图像帧的数量,V为人体中关节点的数量,M为人的数量,data

步骤1所述对动作序列图像中人体关节点的三维坐标进行对齐处理为:

将骨架坐标旋转,使得左肩、右肩构成的连线与x轴平行,即

其中,

步骤2:构建预定义骨架图;

如图1所示,本发明将人体骨架的关节点构成以关节点为节点,各关节之间的骨架为边的图,将骨架图中边的集合记为E;

继而可获得每个节点的邻接节点集,本发明将每个节点v的邻接节点分为节点自身子集、邻接节点中离重心的距离比该节点更近的点子集、邻接节点中离重心的距离比该节点更远的点子集;

所述节点自身子集为:

其中,1≤v≤V,1≤t≤T,1≤m≤M;

所述邻接节点中离重心的距离比该节点更近的点子集为:

其中,1≤v,v′,v

所述邻接节点中离重心的距离比该节点更远的点子集为:

其中,1≤v,v′,v

步骤3:将训练集送入到广义图卷积网络中进行特征提取,利用全局平均池化对特征进行聚合,利用全连接层分类器对特征进行分类,根据标签计算损失函数,通过反向传播梯度下降的方式更新网络参数,循环上述过程得到训练后的广义图卷积网络、训练后的分类器;

步骤3所述将训练集送入到广义图卷积网络中进行特征提取,利用全局平均池化对特征进行聚合为:

步骤3所述其中广义图卷积网络中的每一个模块都由广义图生成模块和广义图卷积模块构成;

在广义图生成模块中,每一层提取的特征都为一个(N,C

通过计算其相似度的方式来度量各节点之间的依赖关系,将每个节点的特征f

1≤k≤N,1≤t≤T,1≤v≤V,1≤m≤M.通过下式计算节点

(a)

(b)

(c)

(d)

(e)

其中,每个节点的表征特征

最后,采用softmax函数得到归一化的广义图:

步骤3中的广义图卷积模块由一层图卷积和一层时序卷积构成;

对于图卷积层,运算方式如下式:

其中,f

在每一个广义图卷积之后,都会额外增加一个批量标准化层和激活函数层。批量标准化层用来加快网络的训练和收敛以及减少过拟合;激活函数层使用ReLU(RectifiedLinear Unit)用来增加网络的非线性。最后加上一个时序卷积层就构成了广义图卷积模块,也是本发明中主要的特征提取模块。

步骤3所述利用全连接层分类器对特征进行分类为:

步骤3中得到的广义图卷积用于提取人体骨架的高维特征f

步骤3中所述根据标签计算损失函数,通过反向传播梯度下降的方式更新网络参数,循环上述过程得到训练后的广义图卷积网络、训练后的分类器为:

根据标签利用交叉熵损失函数计算预测结果和标签之间的损失,通过反向传播梯度下降的方式更新网络参数,循环上述过程得到训练后的广义图卷积网络、训练后的分类器。

步骤4:结合步骤3中训练后的广义图卷积网络、训练后的分类器,广义图卷积学习到的特征,构建特征选择网络来自适应地选择时间维上对识别有用的特征,并利用强化学习方法进行训练。

步骤4中所述的训练后的广义图卷积网络、训练后的分类器,广义图卷积学习到的特征为:

结合步骤3中训练后的广义图卷积网络、训练后的分类器,以及广义图卷积学习到的特征f

步骤4中所述的构建特征选择网络来自适应地选择时间维上对识别有用的特征为:

特征选择网络由LSTM和多层感知机(MLP)构成,并以此来对提取的特征序列建模,如图3所示。我们的特征选择网络的输入为每个时刻的特征f

f

其中g

步骤4中所述的利用强化学习进行训练为:

本发明利用强化学习方法对步骤4中的特征选择网络π进行训练,其设置奖励机制,通过采样的方式来制定策略以最大化奖励的期望。由于识别结果在所有特征完成选择后才会产生,因此奖励函数设置如下:

其中,c

其中状态值函数V

在训练步骤4中的特征选择网络时,本发明通过构造一个和选择网络相同的网络模型来估计值函数,通过梯度下降法最小化下式来更新值函数的网络参数:

其中ψ为值函数的参数。在当前值函数下,通过计算当前策略所获得的奖励以及值函数预测的期望奖励来判断当前选择是否比默认策略更好,并通过策略梯度下降方法对网络参数进行更新:

其中g即为当前的下降梯度,Q

步骤5:如图4所示,将步骤1中得到的待识别的骨架数据作为网络输入,通过训练后的广义图卷积网络提取到大小为(N,C,T,V)的高维特征,经过空间平均池化后特征维度变为(N,C,T);进一步由训练后的特征选择网络对每个特征进行选择,输出一个大小为(N,T)的布尔矩阵,1代表该特征选来最终识别,0代表丢弃;通过平均池化对选择的特征进行特征聚合,送入训练后的分类器得到分类结果。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属领域的技术人员可以对所描述的具体实施例替换成其他区域,做各种各样的修改或补充,或采用相似方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号