掌桥专利:专业的专利平台
掌桥专利
首页

骨骼动作识别方法、设备及存储介质

文献发布时间:2024-04-18 19:52:40


骨骼动作识别方法、设备及存储介质

技术领域

本申请涉及行为分析技术领域,特别是涉及一种骨骼动作识别方法、设备及存储介质。

背景技术

动作识别是指对给定的动作序列数据进行分析,从中识别并判断出其包含的动作类别,被广泛应用于视频监控、人机交互、增强现实、自动驾驶等领域。随着3D动作捕捉系统的快速发展和先进的实时2D/3D姿态估计算法,基于骨骼的动作识别越来越受到工业界和学术界的关注。

目前的骨骼动作识别方法仍存在识别精度不高的问题,因此,如何提高骨骼动作识别的精度和鲁棒性,成为了本领域技术人员亟待解决的技术问题。

发明内容

本申请至少提供一种骨骼动作识别方法、设备及存储介质。

本申请第一方面提供了一种骨骼动作识别方法,方法包括:获取待识别图像,待识别图像中含有目标对象;对待识别图像中的目标对象进行关键点检测,基于关键点检测结果得到目标对象的骨骼姿态信息;将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果;基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果。

在一实施例中,待识别图像由多帧视频帧组成,关键点检测结果含有多个关键点,骨骼姿态信息包括骨骼点信息、骨骼信息、骨骼点运动信息或骨骼运动信息中的一种或多种;基于关键点检测结果得到目标对象的骨骼姿态信息,包括:从多个关键点中提取出骨骼点,对每个骨骼点进行组合,得到目标对象的骨骼点信息;和/或,对相邻骨骼点进行连接得到多条骨骼连接线,对每条骨骼连接线进行组合,得到目标对象的骨骼信息;和/或,计算相邻视频帧的骨骼点信息之间的差异,得到骨骼点运动信息;和/或,计算相邻视频帧的骨骼信息之间的差异,得到骨骼运动信息。

在一实施例中,将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果,包括:对骨骼姿态信息进行信息扩充,得到扩充骨骼姿态信息;将扩充骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果。

在一实施例中,对骨骼姿态信息进行信息扩充,得到扩充骨骼姿态信息,包括:利用邻接矩阵计算骨骼姿态信息对应的插值数据,邻接矩阵含有目标对象的骨骼的拓扑结构信息;组合骨骼姿态信息和骨骼姿态信息对应的插值数据,得到扩充骨骼姿态信息。

在一实施例中,扩充骨骼姿态信息由多个待映射元素组成,待映射元素的数量与二维网格表达式中网格的数量相等;将扩充骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果,包括:将扩充骨骼姿态信息中的待映射元素一一映射至二维网格表达式的网格中,得到网格映射结果。

在一实施例中,待识别图像由多帧视频帧组成;基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果,包括:对每个视频帧对应的网格映射结果进行空间特征提取,得到每个视频帧分别对应的空间特征;对每个空间特征进行时间特征提取,得到目标对象对应的时空特征;对时空特征进行动作识别,得到动作识别结果。

在一实施例中,目标对象对应有多种类型的骨骼姿态信息;基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果,包括:对每种类型的骨骼姿态信息的网格映射结果进行动作识别,得到每种类型的网格映射结果分别对应的初始识别结果;对每个初始识别结果进行融合,得到待识别图像对应的动作识别结果。

在一实施例中,对每个初始识别结果进行融合,得到待识别图像对应的动作识别结果,包括:获取每种类型的骨骼姿态信息对应的权重参数;利用权重参数,对每个初始识别结果进行加权求和,得到待识别图像对应的动作识别结果。

本申请第二方面提供了一种骨骼动作识别装置,装置包括:图像获取模块,用于获取待识别图像,待识别图像中含有目标对象;关键点检测模块,用于对待识别图像中的目标对象进行关键点检测,基于关键点检测结果得到目标对象的骨骼姿态信息;网格映射模块,用于将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果;动作识别模块,用于基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果。

本申请第三方面提供了一种电子设备,包括存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述骨骼动作识别方法。

本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述骨骼动作识别方法。

上述方案,通过获取待识别图像,待识别图像中含有目标对象;对待识别图像中的目标对象进行关键点检测,基于关键点检测结果得到目标对象的骨骼姿态信息;将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果,以将不规则的骨骼姿态信息转换为规则的、紧凑的网格表达;基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果,提高骨骼特征交互的效率以及动作识别精度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。

图1是本申请的一示例性实施例示出的骨骼动作识别方法涉及的一种实施环境的示意图;

图2是本申请的一示例性实施例示出的骨骼动作识别方法的流程图;

图3是本申请的一示例性实施例示出的关键点检测的示意图;

图4是本申请的一示例性实施例示出的获取骨骼点信息、骨骼信息、骨骼点运动信息以及骨骼运动信息的示意图;

图5是本申请的一示例性实施例示出的对骨骼点信息进行插值的示意图;

图6是本申请的一示例性实施例示出的动作识别网络模型的示意图;

图7是本申请的一示例性实施例示出的空间重构单元的示意图;

图8是本申请的一示例性实施例示出的通道重构单元的示意图;

图9是本申请的一示例性实施例示出的MB-TCN的示意图;

图10是本申请的一示例性实施例示出的动作识别的示意图;

图11是本申请的一示例性实施例示出的骨骼动作识别装置的框图;

图12是本申请的一示例性实施例示出的电子设备的结构示意图;

图13是本申请的一示例性实施例示出的计算机可读存储介质的结构示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。

本文中术语“和/或”,仅仅是一种描述关联对象的关联信息,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

当前基于深度学习的骨骼动作识别方法主要分为四类,基于卷积神经网络(Convolutional Neural Network,CNN)的骨骼动作识别、基于循环神经网络(RecurrentNeural Network,RNN)的骨骼动作识别、基于图卷积神经网络(Graph ConvolutionNetwork,GCN)的骨骼动作识别以及基于Transformer的骨骼动作识别。

其中,人体或动物的骨骼结构天然的就可以表示为一个图,故基于GCN的方法成为骨骼动作识别的主流方法。然而,GCN依赖于不规则的骨骼拓扑结构,被迫逐节点学习不同形状和独立的卷积核,在表述上缺乏类似CNN的特征聚合的性质。此外,GCN的感受野通常覆盖一组与目标节点具有预定义距离的相邻节点,无法交互动作上接近但拓扑结构较远的动作,如握手、拥抱等,这降低了骨骼动作识别特征交互的效率、精度以及适用性。

为了解决上述问题,本申请提供一种骨骼动作识别方法、电子设备及计算机可读存储介质。

下面对本申请实施例所提供的骨骼动作识别方法进行说明。

请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以包括终端110和服务器120,终端110和服务器120之间相互通信连接。

终端110的数量可以是一个或多个。终端110可以是摄像机、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。

服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

在一个示例中,服务器120可以为从终端110中获取到的含有目标对象的待识别图像进行动作识别处理,得到目标对象的动作识别结果,然后,服务器120可以将动作识别结果存储在本地、回传至终端110或者传输至其他终端110。

在一个示例中,终端110中安装运行有目标应用程序的客户端,如该目标应用程序可以是提供动作识别功能的应用程序。服务器120可以是该目标应用程序的后台服务器,用于为该目标应用程序的客户端提供后台服务。

本申请实施例提供的骨骼动作识别方法,各步骤的执行主体可以是终端110,如终端110中安装运行的目标应用程序的客户端,也可以是服务器120,或者由终端110和服务器120交互配合执行,即将方法的一部分步骤交由终端110执行而另一部分步骤则交由服务器120执行,本申请对此不进行限定。

可以理解的是,在本申请的具体实施方式中,涉及到待识别图像、人体图像等相关的数据,当本申请的实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要守相关国家和地区的相关法律法规和标准。

请参阅图2,图2是本申请的一示例性实施例示出的骨骼动作识别方法的流程图。该骨骼动作识别方法可以应用于图1所示的实施环境,并由该实施环境中的服务器具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。

如图2所示,骨骼动作识别方法至少包括步骤S210至步骤S240,详细介绍如下:

步骤S210:获取待识别图像,待识别图像中含有目标对象。

其中,待识别图像中含有目标对象,目标对象可以是行人、动物、机器人等,本申请对此不进行限定。

可以是数据库中预先存储有待识别图像,通过查询数据库得到待识别图像;也可以是终端实时采集视频流,并将视频流发送给服务器,服务器将接收到的视频流中的图像帧作为待识别图像,本申请不对待识别图像的获取方式进行限定。

示例性地,监控摄像头对预设区域实时进行图像采集,并将采集到的视频流发送给服务器。服务器对接收到的视频流中的图像帧进行目标检测,以检测预设区域内是否存在目标对象,若存在目标对象,则将含有目标对象的图像帧作为待识别图像,以对待识别图像进行动作识别处理。

示例性地,待识别图像是对目标视频数据进行采样后得到的。具体地,获取需要识别的动作类别,获取该动作类别对应的采样间隔,如对于运动速度较快、时间短的动作类别,设置较短的采样间隔,比如间隔为2秒,对于运动平缓、时间较长的动作类别,设置较长的采样间隔,如采集间隔为5秒;然后,基于该动作类别对应的采样间隔,对目标视频数据进行采样,得到待识别图像。

步骤S220:对待识别图像中的目标对象进行关键点检测,基于关键点检测结果得到目标对象的骨骼姿态信息。

其中,关键点是指能够表征目标对象姿态信息的点,如人的关节、头部位置等。

对待识别图像中的目标对象进行关键点检测,得到待识别图像中目标对象的关键点检测结果,该关键点检测结果由目标对象的多个关键点组成。

例如,请参阅图3,图3为本申请一示例性实施例示出的关键点检测的示意图,如图3所示,待识别图像中含有行人,将待识别图像输入至关键点检测模块对行人进行关键点检测,得到N个关键点,将这些关键点作为该行人的关键点检测结果

其中,关键点检测模块可以采用Harris角点检测算法、尺度不变特征转换(ScaleInvariant Feature Transform,SIFT)算法、加速稳健特征(Speeded Up RobustFeatures,SURF)算法等进行关键点检测,本申请对此不进行限定。

进一步地,根据关键点检测结果得到目标对象的骨骼姿态信息,骨骼姿态信息用于体现目标对象在待识别图像中的姿态。其中,骨骼姿态信息包括但不限于单个图像帧内目标对象的骨骼点信息、骨骼信息、骨骼点运动信息或骨骼运动信息中的一种或多种。

步骤S230:将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果。

由图3示出的关键点检测结果可知,检测得到的关键点是不规则的,其对应得到的骨骼姿态信息也是不规则的,若采用现有技术中的图卷积方法,无法交互动作上接近但拓扑结构较远的动作,降低了骨骼特征交互的效率。

因此,本申请将骨骼姿态信息映射至预设尺寸的二维网格表达式中,该二维网格表达式用于整合不规则的骨骼姿态信息,以将不规则的骨骼姿态信息转换为规则的、紧凑的网格表达,得到网格映射结果,该网格映射结果由多个排列整齐网格元素组成,每个网格元素中存储有映射的骨骼姿态信息。

其中,可根据实际使用场景确定二维网格表达式的尺寸,例如,在高性能需求时可以提高网格尺寸大小,以提高动作识别精度;而在高效率需求时可以选择与骨骼姿态信息中信息数量最接近的网格尺寸大小,提高动作识别推理速度。

步骤S240:基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果。

根据网格映射结果对目标对象进行动作特征提取,以得到目标对象在待识别图像中的动作特征,进而根据动作特征进行动作识别,得到动作识别结果。

其中,可以根据预先训练完成的神经网络模型进行动作特征提取以及动作识别。

例如,预先训练完成的神经网络模型含有卷积网络层和全连接层,将网格映射结果输入至卷积网络层中进行网格卷积处理,得到卷积网络层输出的动作特征,然后,将动作特征输入至全连接层进行动作识别,得到全连接层输出的属于各个动作的概率,将概率最高的动作作为目标对象的动作识别结果。

接下来对本申请的部分实施例进行进一步详细说明。

在一些实施方式中,待识别图像由多帧视频帧组成,关键点检测结果含有多个关键点,骨骼姿态信息包括骨骼点信息、骨骼信息、骨骼点运动信息或骨骼运动信息中的一种或多种;步骤S220中基于关键点检测结果得到目标对象的骨骼姿态信息,包括:

从关键点中提取出骨骼点,对每个骨骼点进行组合,得到目标对象的骨骼点信息;和/或,

对相邻关键点进行连接得到多条骨骼连接线,对每条骨骼连接线进行组合,得到目标对象的骨骼信息;和/或,

计算相邻视频帧的骨骼点信息之间的差异,得到骨骼点运动信息;和/或,

计算相邻视频帧的骨骼信息之间的差异,得到骨骼运动信息。

示例性地,请参阅图4,图4为本申请一示例性实施例示出的获取骨骼点信息、骨骼信息、骨骼点运动信息以及骨骼运动信息的示意图,如图4所示,对获取的关键点检测结果中的关键点进行预处理,得到骨骼点信息、骨骼信息、骨骼点运动信息以及骨骼运动信息。

以目标对象为人为例进行举例说明。

获取骨骼点信息:以人体结构为基础,从多个关键点中提取出预设数量的骨骼点,并对每个骨骼点进行组合,得到目标对象的骨骼点信息。

获取骨骼信息:以人体结构为基础,将相邻骨骼点连接,得到预设数量的骨骼连接线,对每条骨骼连接线进行组合,得到目标对象的骨骼信息。

获取骨骼点运动信息:将相邻视频帧的骨骼点按照时间顺序进行相减,得到骨骼点运动信息。

获取骨骼运动信息:将相邻视频帧的骨骼连接线按照时间顺序进行相减,得到骨骼运动信息。

将上述的骨骼点信息、骨骼信息、骨骼点运动信息、骨骼运动信息中的一种或多种作为骨骼姿态信息,以将该骨骼姿态信息映射至预设尺寸的二维网格表达式中。需要说明的是,若骨骼姿态信息含有多种类型,如同时含有骨骼点信息、骨骼信息、骨骼点运动信息、骨骼运动信息,则分别对骨骼点信息、骨骼信息、骨骼点运动信息、骨骼运动信息进行映射,得到骨骼点信息的网格映射结果、骨骼信息的网格映射结果、骨骼点运动信息的网格映射结果、骨骼运动信息的网格映射结果。

在一些实施方式中,步骤S230中将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果,包括:

步骤S231:对骨骼姿态信息进行信息扩充,得到扩充骨骼姿态信息。

由图4可知,骨骼姿态信息是由多个骨骼姿态元素组成,如骨骼点信息由多个骨骼点组成,骨骼信息由多个骨骼连接线组成。

但是,二维网格表达式中含有的网格的数量和骨骼姿态元素的数量可能并不相等,为了避免从骨骼姿态信息到二维网格表达式的转换过程中信息丢失,二维网格表达式中网格的数量应该设置为不少于骨骼姿态元素的数量。

以及,为了提升网格映射结果的信息表达能力,若二维网格表达式中网格的数量大于骨骼姿态元素的数量,则对骨骼姿态信息进行信息扩充,以使得最终骨骼姿态信息中骨骼姿态元素的数量与二维网格表达式中网格的数量相等。

示例性地,对骨骼姿态信息进行信息扩充,得到扩充骨骼姿态信息,包括:利用邻接矩阵计算骨骼姿态信息对应的插值数据,邻接矩阵含有目标对象的骨骼的拓扑结构信息;组合骨骼姿态信息和骨骼姿态信息对应的插值数据,得到扩充骨骼姿态信息。

其中,邻接矩阵含有目标对象的骨骼的拓扑结构信息,能有效避免无序的插值数据,可以约束信息矩阵根据现有骨骼姿态信息,使用相邻骨骼姿态元素插入新的骨骼姿态元素,有助于骨骼姿态信息到网格映射结果与拓扑先验的关联,以提升动作识别精度。

具体地,以骨骼姿态信息为骨骼点信息为例进行举例说明:

请参阅图5,图5为本申请一示例性实施例示出的对骨骼点信息进行插值的示意图,如图5所示,骨骼点信息含有17个骨骼点,二维网格表达式的大小应大于17,而由于常规卷积特征图都为正方形,因此选择二维网格表达式的尺寸为5*5,但5*5二维网格表达式的网格数量大于骨骼点数量,因此对额外的网格单元进行插值。

例如,将邻接矩阵A和信息矩阵S相乘,得到扩充矩阵,并针对扩充矩阵进行插值处理,得到插值数据,相关公式可以如下述公式(1):

公式(1)

其中,

扩充结果如图5所示,结合原始的骨骼点信息和骨骼点信息对应的插值数据,得到扩充骨骼点信息。

步骤S232:将扩充骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果。

在信息扩充之后,骨骼姿态信息中骨骼姿态元素的数量与二维网格表达式的网格数量统一,将扩充后的骨骼姿态信息映射到二维网格表达式中,即将HW个骨骼姿态元素转换成

示例性地,将扩充骨骼姿态信息中的每个骨骼姿态元素作为待映射元素组成,待映射元素的数量与二维网格表达式中网格的数量相等;将扩充骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果,包括:将扩充骨骼姿态信息中的待映射元素一一映射至二维网格表达式的网格中,得到网格映射结果。

具体地,使用下述公式(2)将扩充骨骼姿态信息映射至二维网格表达式的网格中:

公式(2)

其中,

以骨骼姿态信息为骨骼点信息为例,其映射过程如图5所示,将扩充骨骼点信息中的各个骨骼点分别一一映射至二维网格表达式的网格中,得到网格映射结果。

通过信息映射将骨骼姿态信息映射到一个规则的网格表示中,使得骨骼信息可以通过常规卷积操作进行特征学习,实现高效的特征建模,提高骨骼特征提取能力。

通过将骨骼姿态信息映射到一个规则的二维网格表达式中,在保持骨骼信息的拓扑结构的前提下,将不规则的骨骼姿态信息映射到规则的网格表示中,便于后续进行特征学习,扩大骨骼姿态信息的连接,增强骨骼姿态信息的交互。

得到网格映射结果后,根据网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果。

在一些实施方式中,待识别图像由多帧视频帧组成;步骤S240中基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果,包括:

步骤S241:对每个视频帧对应的网格映射结果进行空间特征提取,得到每个视频帧分别对应的空间特征。

空间特征是指同一视频帧内含有的骨骼姿态特征。

示例性地,对网格映射结果进行卷积处理,以对同一视频帧内的骨骼姿态信息进行融合,得到该视频帧的空间特征。

步骤S242:对每个空间特征进行时间特征提取,得到目标对象对应的时空特征。

时间特征是指多个视频帧含有的骨骼姿态特征之间的变化。

示例性地,对每个视频帧的空间特征进行维度变化、对齐等处理,然后对每个视频帧的空间特征进行时序建模,以从多个视频帧中提取得到目标对象对应的时空特征。

步骤S243:对时空特征进行动作识别,得到动作识别结果。

根据时空特征进行动作识别,以得到动作识别结果。

可选地,上述动作识别是基于预先训练完成的动作识别网络模型实现的,对进行动作识别的动作识别网络模型进行举例说明。

请参阅图6,图6为本申请一示例性实施例示出的动作识别网络模型的示意图,如图6所示,动作识别网络模型含有批量归一化(Batch Normalization,BN)层、空间通道重建卷积(Spatial and Channel reconstruction Convolution,SCConv)层、时域卷积(Multiple branches Temporal Convolutional Network,MB-TCN)层、全连接(FullyConnected ,FC)层。该动作识别网络模型的输入大小为

可选地,上述动作识别网络模型含有十层网格卷积,每次网格卷积由一个SCConv层和MB-TCN层组成,随着网络的加深,特征的通道数不断加深,时序维度不断降采样,其中L1-L4的通道数为64,时序长度不变,L5-L7的通道数为128,时序长度变为1/2,L8-L10的通道数为256,时序长度变为1/4。

对SCConv层进行详细说明:

SCConv层含有空间重构单元(Spatial Reconstruction Unit,SRU)和通道重构单元(Channel Reconstruction Unit,CRU)。在计算机视觉任务中,深度神经网络存在相当大的冗余,特征图的空间和通道维度具有高度相似性,冗余度较高,为了降低特征图的空间和通道冗余度,使用空间重构单元和通道重构单元来缓解特征冗余,并减少模型参数量和计算量,增强特征表示能力。

针对空间重构单元SRU,请参阅图7,图7为本申请一示例性实施例示出的空间重构单元的示意图,如图7所示,SRU包含分离和重构两个部分,分离操作可以将信息量大的特征图和信息量小的特征图分离出来,与空间内容相对应。

具体地,针对输入的网格映射结果,即输入特征X,先使用批量归一化GN里的缩放因子

公式(3)

最后,将输入特征X分别乘以

为了减少空间冗余,将信息量较多的特征和信息量较少的特征相加,生成信息更丰富的特征并节省空间。

具体地,采用交叉重建操作来充分组合加权两个不同的信息特征并加强它们之间的信息流,之后,将得到的交叉重构特征

针对通道重构单元CRU,请参阅图8,图8为本申请一示例性实施例示出的通道重构单元的示意图,如图8所示,CUR包含分割操作、转换操作和融合操作三个部分。

分割操作将输入的空间细化特征

转换操作将输入的

融合操作将

通过卷积的特征聚合提高骨骼姿态信息特征交互能力,并通过减少标准卷积中广泛存在的空间和通道冗余来提高卷积的性能,降低计算成本。

对MB-TCN层进行详细说明:

传统的TCN是卷积核为9的大核单分枝卷积,大核卷积大大增加了网络的计算量、参数量和硬件需求。而本申请采用多分枝的结构可以增强网络的时序建模能力,并节省计算量和参数量。

请参阅图9,图9为本申请一示例性实施例示出的MB-TCN的示意图,如图9所示,首先将SCConv层中获得的特征Y通过

通过使用多分枝时域卷积替换大核单分枝时域卷积,以增强网络的时序建模能力,节省计算量和参数量,实现了动作识别的精度和效率提升。

在一些实施方式中,目标对象对应有多种类型的骨骼姿态信息;基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果,包括:对每种类型的骨骼姿态信息的网格映射结果进行动作识别,得到每种类型的网格映射结果分别对应的初始识别结果;对每个初始识别结果进行融合,得到待识别图像对应的动作识别结果。

例如,请参阅图10,图10为本申请一示例性实施例示出的动作识别的示意图,如图10所示,骨骼姿态信息包括骨骼点信息、骨骼信息、骨骼点运动信息和骨骼运动信息,对每个类型的骨骼姿态信息分别进行动作识别,得到骨骼点信息对应的初始识别结果、骨骼信息对应的初始识别结果、骨骼点运动信息对应的初始识别结果和骨骼运动信息对应的初始识别结果。

然后,对每个初始识别结果进行融合,得到待识别图像对应的动作识别结果。

示例性地,对每个初始识别结果进行融合,得到待识别图像对应的动作识别结果,包括:获取每种类型的骨骼姿态信息对应的权重参数;利用权重参数,对每个初始识别结果进行加权求和,得到待识别图像对应的动作识别结果。

不同类型的骨骼姿态信息对动作识别的结果重要性不同,获取每种类型的骨骼姿态信息对应的权重参数,利用权重参数,对每个初始识别结果进行加权求和,得到待识别图像对应的动作识别结果。

示例地,不同类型的骨骼姿态信息对应的权重参数可以是预先设定的,如设定骨骼点信息、骨骼信息、骨骼点运动信息和骨骼运动信息分别对应的权重参数的比例为2:2:1:1。

示例地,可以根据实际应用情况灵活选择不同类型的骨骼姿态信息对应的权重参数。

例如,获取待识别图像中目标对象的图像内容质量,如根据图像清晰度、是否存在遮挡物等得到目标对象的图像内容质量,根据图像内容质量确定各个类型的骨骼姿态信息对应的权重参数。如当图像内容质量较高时,可以为骨骼点信息、骨骼信息对应的识别结果分配更高的权重;当图像内容质量较低时,可以为骨骼点运动信息和骨骼运动信息对应的识别结果分配更高的权重。

又例如,还可以根据目标对象所属的对象类型、目标对象的身高、需要识别的动作的类型等信息确定各个类型的骨骼姿态信息对应的权重参数。

通过上述实施例中对多种类型骨骼姿态信息的初始识别结果进行融合,可以有效利用骨骼信息,提高识别结果的精度。

本申请提供的骨骼动作识别方法,通过获取待识别图像,待识别图像中含有目标对象;对待识别图像中的目标对象进行关键点检测,基于关键点检测结果得到目标对象的骨骼姿态信息;将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果,以将不规则的骨骼姿态信息转换为规则的、紧凑的网格表达;基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果,提高骨骼特征交互的效率以及动作识别精度,缓解了传统图卷积无法有效表述动作上接近但拓扑结构较远的动作的问题。

图11是本申请的一示例性实施例示出的骨骼动作识别装置的框图。如图11所示,该示例性的骨骼动作识别装置1100包括:图像获取模块1110、关键点检测模块1120、网格映射模块1130和动作识别模块1140。具体地:

图像获取模块1110,用于获取待识别图像,待识别图像中含有目标对象;

关键点检测模块1120,用于对待识别图像中的目标对象进行关键点检测,基于关键点检测结果得到目标对象的骨骼姿态信息;

网格映射模块1130,用于将骨骼姿态信息映射至预设尺寸的二维网格表达式中,得到网格映射结果;

动作识别模块1140,用于基于网格映射结果对目标对象进行动作特征提取,利用提取到的动作特征进行动作识别,得到动作识别结果。

需要说明的是,上述实施例所提供的骨骼动作识别装置与上述实施例所提供的骨骼动作识别方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的骨骼动作识别装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处不对此进行限制。

请参阅图12,图12是本申请电子设备一实施例的结构示意图。电子设备1200包括存储器1201和处理器1202,处理器1202用于执行存储器1201中存储的程序指令,以实现上述任一骨骼动作识别方法实施例中的步骤。在一个具体的实施场景中,电子设备1200可以包括但不限于:微型计算机、服务器,此外,电子设备1200还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。

具体而言,处理器1202用于控制其自身以及存储器1201以实现上述任一骨骼动作识别方法实施例中的步骤。处理器1202还可以称为中央处理单元(Central ProcessingUnit,CPU)。处理器1202可能是一种集成电路芯片,具有信号的处理能力。处理器1202还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器1202可以由集成电路芯片共同实现。

请参阅图13,图13是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质1300存储有能够被处理器运行的程序指令1310,程序指令1310用于实现上述任一骨骼动作识别方法实施例中的步骤。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

技术分类

06120116335051