人体位姿识别方法及装置与流程

文档序号:18466785发布日期:2019-08-17 02:33阅读:350来源:国知局
人体位姿识别方法及装置与流程

本申请涉及图像识别技术领域,尤其涉及人体位姿识别方法及装置。



背景技术:

人体位姿识别在计算机视觉、模式识别、人工智能等领域中,已经成为一个极具意义的研究热点,其具有广阔的应用领域,包括虚拟现实、生物力学、游戏、医疗健康等人机交互领域。

现有技术存在以下两种对视频中人体位姿进行识别的方法:

在第一种识别方法中,利用深度传感器估计视频中人体骨架,从而确定出人体位姿,采用上述方法得到的人体骨架噪声较多,从而识别出的人体位姿并不准确,并且由于深度传感器使用环境的局限性,仅适用于室内。

在第二种识别方法中,随机裁剪出视频中的影像并进行位姿识别,采用上述方法容易导致视频中的场景和物体过拟合,从而导致识别出的人体位姿不准确。

综上所述,无论是采用上述第一种识别方法还是第二种识别方法,均存在人体位姿识别结果不准确的技术问题。



技术实现要素:

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种人体位姿识别方法及装置。

根据本申请的第一个方面,提供了一种人体位姿识别方法,包括:

从待识别视频中裁剪出包含人体的人体形态区域;

在所述人体形态区域对所述人体进行位姿识别,得到第一位姿识别结果和与所述人体对应的人体骨架数据;

基于所述人体骨架数据识别所述人体的位姿,得到第二位姿识别结果;

基于所述第一位姿识别结果和所述第二位姿识别结果,确定所述人体的位姿。

根据本申请的第二个方面,提供了一种人体位姿识别装置,包括:

裁剪模块,用于从待识别视频中裁剪出包含人体的人体形态区域;

第一输出模块,用于在所述人体形态区域对所述人体进行位姿识别,得到第一位姿识别结果和与所述人体对应的人体骨架数据;

第二输出模块,用于基于所述人体骨架数据识别所述人体的位姿,得到第二位姿识别结果;

确定模块,用于基于所述第一位姿识别结果和所述第二位姿识别结果,确定所述人体的位姿。

根据本申请的第三个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一个方面的人体位姿识别方法。

根据本申请的第四个方面,提供了一种电子设备,所述电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

所述处理器,用于执行上述第一个方面的人体位姿识别方法。

根据本申请的人体位姿识别方法及装置,通过从待识别视频中裁剪出包含人体的人体形态区域,并在人体形态区域对人体进行位姿识别,得到第一位姿识别结果和与人体对应的人体骨架数据。接着基于人体骨架数据识别人体的位姿,得到第二位姿识别结果。最终,结合第一位姿识别结果和第二位姿识别结果确定人体的位姿。由于在确定人体位姿的过程中,不仅考虑根据人体形态区域得到的第一位姿识别结果,还会在第一位姿识别结果的基础上结合根据人体骨架数据得到的第二位姿识别结果进行分析,通过第一位姿识别结果和第二位姿识别结果共同去确定人体的位姿,不仅能够降低人体骨架噪声,而且也不会过拟合视频中的场景和其他物体,有效地提高了人体位姿识别的准确性。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常表示相同部件或步骤。

图1是本申请的人体位姿识别方法所对应的系统框图。

图2是本申请的人体位姿识别方法所对应的神经网络结构图。

图3是本申请实施例提供的人体位姿识别方法的流程示意图。

图4是本申请利用i3d模型在人体形态区域对人体进行位姿识别输出与人体对应的人体骨架数据过程的示意性流程图。

图5是本申请利用3d卷积神经网络获得与一个人体特征图对应的人体骨架坐标过程的示意性流程图。

图6是本申请根据热图确定人体关键点在人体特征图中的坐标过程的示意性流程图。

图7是本申请获得偏置向量过程的示意性流程图。

图8是本申请利用2d卷积神经网络基于人体骨架数据识别人体的位姿,得到第二位姿识别结果过程的示意性流程图。

图9是本申请一实施例的人体位姿识别装置的结构示意图。

图10是本申请的第二输出模块903的结构示意图。

图11是本申请的第一输出模块902的结构示意图。

图12是本申请的人体骨架坐标获得子模块9022的结构示意图。

图13是本申请的人体关键点确定单元90222的结构示意图。

图14是本申请另一实施例的人体位姿识别装置的结构示意图。

图15是本申请的位姿识别子模块9031的结构示意图。

图16是本申请另一实施例的人体位姿识别装置的结构示意图。

图17是本申请的确定模块904的结构示意图。

图18是本申请一示例性实施例提供的电子设备的结构图。

其中,11为人体检测框,12为i3d模型,13为反卷积层,14为2d卷积神经网络,21为视频图像,22为第一位姿识别结果,23为人体特征图,24为第一中间数据,25为第二中间数据,26为第三中间数据,27为第四中间数据,28为第五中间数据,29为第二位姿识别结果。

具体实施方式

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

申请概述

如上所述,现有技术在对视频中人体位姿进行识别时存在识别结果不准确的技术问题。

基于上述技术问题,本申请提供的人体位姿识别方法及装置,首先从待识别视频中裁剪出包含人体的人体形态区域。其次在人体形态区域对人体进行位姿识别,得到第一位姿识别结果和与人体对应的人体骨架数据。再基于人体骨架数据识别人体的位姿,得到第二位姿识别结果。最后基于第一位姿识别结果和第二位姿识别结果,确定人体的位姿。

这样,由于在确定人体位姿的过程中,不仅考虑根据人体形态区域得到的第一位姿识别结果,还会在第一位姿识别结果的基础上结合根据人体骨架数据得到的第二位姿识别结果进行分析,通过第一位姿识别结果和第二位姿识别结果共同去确定人体的位姿,不仅能够降低人体骨架噪声,而且也不会过拟合视频中的场景和其他物体,有效地提高了人体位姿识别的准确性。

在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

示例性系统

图1示出了本申请的人体位姿识别方法的系统框图,根据该系统框图可知:首先,待识别视频经过裁剪后得到人体形态区域,人体形态区域为人体检测框11内的区域。接着,利用i3d模型12对人体进行位姿识别,该位姿识别过程具体包括:基于rgb分类(rgb-basedactionrecognition)、人体位姿估计(poseestimation)和基于人体骨架分类(pose-basedactionrecognition)。其中,利用反卷积层13进行人体位姿估计,利用2d卷积神经网络14进行基于人体骨架分类。在通过上述位姿识别过程获得第一位姿识别结果和第二位姿识别结果后,将第一位姿识别结果和第二位姿识别结果进行融合,最终确定出人体的位姿。

图2示出了本申请的人体位姿识别方法中与各个位姿识别阶段所对应的神经网络结构图,根据该神经网络结构图可知:在裁剪出人体形态区域后,若人体形态区域包含的视频图像21的数据结构为8×7×7×2048,8×7×7×2048表示:时间维度为8、高度维度为7、宽度维度为7、数据特征为2048。在对该视频图像21进行处理的过程中,首先,将该视频图像21输入至i3d模型12进行位姿识别,获得第一位姿识别结果22和人体骨架数据。其中,第一位姿识别结果22的数据特征为2048。而获得人体骨架数据的过程包括以下步骤:首先,拆分出8个人体特征图23,每个人体特征图23的数据结构为7×7×2048,7×7×2048表示:高度维度为7、宽度维度为7、数据特征为2048。接着,对每个人体特征图23进行两次反卷积升维。在第一次反卷积升维后得到第一中间数据24,第一中间数据24的数据结构为14×14×256,14×14×256表示:高度维度为14、宽度维度为14、数据特征为256。在第二次反卷积升维后得到第二中间数据25,第二中间数据25的数据结构为28×28×256,28×28×256表示:高度维度为28、宽度维度为28、数据特征为256。然后,根据第二中间数据获得包含各个人体关键点对应的热图和补偿数据的第三中间数据26,第三中间数据26的数据结构为28×28×(3×17),28×28×(3×17)表示:高度维度为28、宽度维度为28、热图和补偿数据共对应3个通道、人体关键点数量为17。进一步,通过对第三中间数据26进行分析处理能够获得人体骨架数据。接着,将人体骨架数据转换为人体骨架张量并添加目标置信度得到第四中间数据27,第四中间数据27的数据结构为8×17×3,8×17×3表示:时间维度为8、人体关键点数量为17、xy两个方向坐标和目标置信度共对应3个通道。然后,将第四中间数据27转换为2d卷积神经网络14能够处理的第五中间数据28,第五中间数据28的数据结构为8×17×512,8×17×512表示:时间维度为8、人体关键点数量为17、数据特征为512。最后,将第五中间数据28输入至2d卷积神经网络14进行位姿识别,得到第二位姿识别结果29。

示例性方法

图3是本申请一示例性实施例提供的人体位姿识别方法的流程示意图。本实施例可应用在电子设备上,该电子设备为具有分析处理图像能力的终端设备,例如,手机、平板电脑或计算机等终端设备。如图3所示,包括如下步骤:

步骤301,从待识别视频中裁剪出包含人体的人体形态区域。

步骤302,在人体形态区域对人体进行位姿识别,得到第一位姿识别结果22和与人体对应的人体骨架数据。

步骤303,基于人体骨架数据识别人体的位姿,得到第二位姿识别结果29。

步骤304,基于第一位姿识别结果22和第二位姿识别结果29,确定人体的位姿。

根据本申请的人体位姿识别方法及装置,通过从待识别视频中裁剪出包含人体的人体形态区域,并在人体形态区域对人体进行位姿识别,得到第一位姿识别结果22和与人体对应的人体骨架数据。接着基于人体骨架数据识别人体的位姿,得到第二位姿识别结果29。最终,结合第一位姿识别结果22和第二位姿识别结果29确定人体的位姿。由于在确定人体位姿的过程中,不仅考虑根据人体形态区域得到的第一位姿识别结果22,还会在第一位姿识别结果22的基础上结合根据人体骨架数据得到的第二位姿识别结果29进行分析,通过第一位姿识别结果22和第二位姿识别结果29共同去确定人体的位姿,不仅能够降低人体骨架噪声,而且也不会过拟合视频中的场景和其他物体,有效地提高了人体位姿识别的准确性。

对于步骤301而言,在本申请中,利用人体检测器对待识别视频进行人体检测。人体检测器能够将人体区域通过人体检测框11进行标识,参见图1。人体检测框11为图像中包含人体的最小外接矩形。人体检测框11内的区域即为从待识别视频中裁剪出的包含人体的人体形态区域。对于人体检测器如何从待识别视频中裁剪出人体形态区域,属于现有技术,本申请对此不做限定。

对于步骤302而言,本申请采用i3d(inflated3dconvnet)模型12实现。i3d模型12是基于人体视频集合训练而得到的模型。在本申请中,将步骤301得到的人体形态区域作为i3d模型12的输入,经过i3d模型12将会输出第一位姿识别结果22和人体骨架数据。对于待识别视频中的每一帧图像而言,均会得到一个第一位姿识别结果22和一个人体骨架数据。其中,图1中的基于rgb分类对应于获得第一位姿识别结果22的过程,图1中的人体位姿估计对应于获得人体骨架数据的过程。

对于如何利用i3d模型12在人体形态区域对人体进行位姿识别输出第一位姿识别结果22,下面给出详细说明:

本申请的i3d模型12通过将resnet-50的2d卷积核扩展成3d卷积核得到,扩展后的包含3d卷积核的神经网络也被称为3d卷积神经网络。其中,2d卷积核为高度(h)×宽度(w),其仅包含高度和宽度两个维度。参见图2,3d卷积核为时间(t)×h×w,其不仅包含高度维度和宽度维度,还包含时间维度。3d卷积核相较于2d卷积核而言,除了能够捕捉到人体位姿特征,还能够捕捉到时间特征,进而建立人体位姿特征和时间特征之间的关系,最终识别出视频每一时刻人体的位姿,提高了位姿识别结果的准确性。

进一步来讲,本申请的i3d模型12由两个反卷积层13和两个1×1卷积层构成,最后一个卷积层作为输出,同时连接全局池化层和全连接层。对于反卷积层13而言,两个反卷积层13分别由256个滤波器构成,每个反卷积层13的卷积核大小为4×4,步长为2,在反卷积层13后接入归一化层和relu激活函数。对于1×1卷积层而言,两个1×1卷积层并行放置。

具体来讲,若将步骤301得到的人体形态区域用数据集来表示,中包含n帧图像且包含n种类别,yi∈{1,k,n}为第i个样本的标签,从而根据如下公式(1)获得第一位姿识别结果22:

其中,yrgb(yi)为i3d行为类别预测向量yrgb的第yi维,lr为第一位姿识别结果22。

结合图2来讲,在裁剪出人体形态区域后,若人体形态区域包含的视频图像21的数据结构为8×7×7×2048,8×7×7×2048表示:时间维度为8、高度维度为7、宽度维度为7、数据特征为2048。那么,将该视频图像21输入至i3d模型12进行位姿识别,获得第一位姿识别结果22,第一位姿识别结果22的数据特征为2048。

对于如何利用i3d模型12在人体形态区域对人体进行位姿识别,输出与人体对应的人体骨架数据,如图4所示,在上述图3所示实施例的基础上,包括如下步骤:

步骤401:将人体形态区域拆分为多个人体特征图23。

步骤402:利用3d卷积神经网络分别获得与每个人体特征图23对应的人体骨架坐标。

步骤403:将与各个人体特征图23对应的各个人体骨架坐标作为人体骨架数据。

本申请在拆分得到多个人体特征图23之后,通过利用3d卷积神经网络分别获得与每个人体特征图23对应的人体骨架坐标,并将人体骨架坐标作为人体骨架数据,以供后续根据人体骨架数据进行位姿识别,由于3d卷积神经网络包含的3d卷积核除了能够捕捉到人体位姿特征,还能够捕捉到时间特征,从而能够提高位姿识别结果的准确性。

具体来讲,首先,在步骤401中,针对人体形态区域对待识别视频进行拆分,得到若干人体特征图23,其中,待识别视频中的每一帧图像都会对应存在一个人体特征图23,人体特征图23为该帧图像中人体形态区域所包含的图像。其次,在步骤402中,在得到多个人体特征图23之后,经过3d卷积神经网络的处理分别获得与每个人体特征图23对应的人体骨架坐标。最后,在步骤403中,将各个人体特征图23对应的人体骨架坐标作为人体骨架数据。其中,人体骨架由若干人体关键点组成,人体关键点又被称为人体骨骼关键点,其能够反映人体骨骼信息。通常,人体关键点包含头、颈、肩、肘、手、臀、膝和脚等部位。人体骨架坐标为人体骨架包含的若干人体关键点的坐标的集合。例如,若预设的人体关键点包含头、颈和肩,那么人体骨架坐标包含头的坐标、颈的坐标和肩的坐标。

针对步骤402而言,对于如何利用3d卷积神经网络获得与一个人体特征图23对应的人体骨架坐标,如图5所示,在上述图4所示实施例的基础上,包括如下步骤:

步骤501:利用3d卷积神经网络获得与人体特征图23中各个人体关键点对应的热图。

步骤502:根据各个热图,分别确定各个人体关键点在人体特征图23中的坐标。

步骤503:根据各个人体关键点在人体特征图23中的坐标,获得与人体特征图23对应的人体骨架坐标。

本申请通过分别获得各个人体关键点所对应的热图,并结合热图分析确定人体关键点在人体特征图23中的坐标,再由各个人体关键点在人体特征图23中的坐标获得人体骨架坐标,由于热图能够直观准确地反映出人体关键点特征,因此,利用热图确定出的人体骨架坐标更加准确。

具体来讲,在本申请中,利用3d卷积神经网络获得人体特征图23中各个人体关键点对应的热图(heatmap)。其中,每个人体关键点对应一幅热图,每幅热图表示对应的人体关键点所在位置的可能性,一幅热图也即一个通道。例如,若一幅人体特征图23包含有p个人体关键点,那么将会获得p个热图,并且存在p个通道。结合图2来讲,在获得热图的过程中,首先,若拆分出8个人体特征图23,每个人体特征图23的数据结构为7数据结构为7×7×2048,7×7×2048表示:高度维度为7、宽度维度为7、数据特征为2048。接着,对每个人体特征图23进行两次反卷积升维。在第一次反卷积升维后得到第一中间数据24,第一中间数据24的数据结构为14×14×256,14×14×256表示:高度维度为14、宽度维度为14、数据特征为256。在第二次反卷积升维后得到第二中间数据25,第二中间数据25的数据结构为28×28×256,28×28×256表示:高度维度为28、宽度维度为28、数据特征为256。然后,根据第二中间数据获得包含各个人体关键点对应的热图和补偿数据的第三中间数据26,第三中间数据26的数据结构为28×28×(3×17),28×28×(3×17)表示:高度维度为28、宽度维度为28、热图和补偿数据共对应3个通道、人体关键点数量为17,最后,从第三中间数据26中提取出人体关键点对应的热图。

在获得热图之后,针对步骤502而言,对于如何根据热图确定人体关键点在人体特征图23中的坐标,如图6所示,在上述图5所示实施例的基础上,可包括如下步骤:

步骤601:利用与热图对应的训练像素点目标,获得热图中各个像素点归属于人体关键点的概率。

步骤602:将概率中最大值对应的像素点的坐标,确定为人体关键点的第一坐标。

步骤603:对第一坐标叠加偏置向量,获得人体关键点的第二坐标。

步骤604:基于热图和人体特征图23之间的比例关系,对第二坐标进行放大,获得人体关键点在人体特征图23中的坐标。

本申请通过对像素点进行预先训练得到训练像素点目标,再根据训练像素点目标确定热图中各个像素点归属于人体关键点的概率,将概率最大的像素点的坐标作为人体关键点的第一坐标,同时考虑到坐标的偏置,在第一坐标上叠加偏置向量得到第二坐标,将第二坐标作为人体关键点的坐标,因此能够提高得到的人体关键点坐标的准确性,进而间接地提高了最终位姿识别的准确性。

在具体实施过程中,假设热图上的每个像素点i的二维坐标为xi,i∈{1,k,q},i为像素点的索引,q为热图上像素点的总数量,第k个人体关键点在热图上的坐标为lk。若m为与第k个人体关键点的可信区域相对应的预设可信半径,则当||xi-lk||≤m,意味着像素点xi在以第k个人体关键点为圆心半径为m的圆形区域内,即,像素点xi在第k个人体关键点的可信区域内。进而神经网络对像素点xi的期望概率输出为hk(xi)=1。其中,hk(xi)反映的是第k个人体关键点在像素点xi处的可能性,hk(xi)的数值越大则可能性越高。

进一步,在本申请中,对应热图预先训练有训练像素点目标,训练像素点目标为是一张非0即1的图。当||xi-lk||≤m时,其他情况下等于0。通过指定对像素点xi和人体关键点求解二分类问题,最小化hk(xi)和差的绝对值,即可在训练过程中监督神经网络输出hk(xi)接近从而学习得到第k个人体关键点在像素点xi处的可能性,也即像素点归属于人体关键点的概率。接着,将概率值最大的像素点确定为人体关键点,并根据该像素点的坐标确定人体关键点的坐标。具体地,可以采用argmax操作获得概率值最大的像素点的坐标,执行argmax操作的公式参见以下公式(2):

其中,通过上述公式(2)得到的坐标为第一坐标。在获得第一坐标之后,对于如何确定人体关键点的坐标,存在以下两种实施方式。在第一种实施方式中,可以直接将第一坐标作为人体关键点的坐标。但是,采用第一种实施方式往往存在较大的误差。因此,本申请提供第二实施方式,在该实施方式中,对第一坐标添加偏置向量,得到第二坐标,将第二坐标当作人体关键点的坐标。由于第二种实施方式考虑到坐标的偏置,因此能够提高得到的人体关键点坐标的准确性,进而间接地提高了最终位姿识别的准确性。

进一步来讲,对于如何获得偏置向量,如图7所示,包括如下步骤:

步骤701:利用3d卷积神经网络获得与人体关键点对应的补偿数据。

步骤702:基于人体关键点的预测坐标和热图中像素点的坐标之间的差值,对补偿数据进行归一化处理,获得偏置向量。

在具体实施过程中,在利用3d卷积神经网络获得人体特征图23中各个人体关键点对应的热图的同时,利用3d卷积神经网络还可以获得人体特征图23中各个人体关键点对应的补偿数据(offset)。其中,每个人体关键点对应一个补偿数据,补偿数据表示每个像素点位置相对于人体关键点的偏置,每个补偿数据包含两个通道,分别对应于坐标系的x方向和y方向,当存在p个人体关键点时,则补偿数据存在2p个通道。结合图2来讲,补偿数据是与热图同时获取得到的,因此,获得补偿数据的过程与获得热图的过程相似,即:首先,若拆分出8个人体特征图23,每个人体特征图23的数据结构为7×7×2048,7×7×2048表示:高度维度为7、宽度维度为7、数据特征为2048。接着,对每个人体特征图23进行两次反卷积升维。在第一次反卷积升维后得到第一中间数据24,第一中间数据24的数据结构为14×14×256,14×14×256表示:高度维度为14、宽度维度为14、数据特征为256。在第二次反卷积升维后得到第二中间数据25,第二中间数据25的数据结构为28×28×256,28×28×256表示:高度维度为28、宽度维度为28、数据特征为256。然后,根据第二中间数据获得包含各个人体关键点对应的热图和补偿数据的第三中间数据26,第三中间数据26的数据结构为28×28×(3×17),28×28×(3×17)表示:高度维度为28、宽度维度为28、热图和补偿数据共对应3个通道、人体关键点数量为17。最后,从第三中间数据26中提取出人体关键点对应的补偿数据。

在获得补偿数据之后,基于人体关键点的预测坐标和热图中像素点的坐标之间的差值,对补偿数据进行归一化处理,即,对每一个像素点位置和人体关键点预测2doffset向量fk(xi)=lk-xi。在训练时,对每个像素点位置和人体关键点求解回归问题,最小化fk(xi)和lk-xi差的绝对值,求解得到偏置向量fk(xi)。进而,在步骤603中,对第一坐标叠加偏置向量fk(xi),得到第二坐标。

进一步,由于热图是人体特征图23经过分辨率压缩后得到的图像,通常,人体特征图23的空间分辨率为224×224,热图和补偿数据的空间分辨率为28×28。因此,在步骤604中,根据热图和人体特征图23之间的比例关系,对第二坐标进行放大,可以获得人体关键点在人体特征图23中的坐标,该坐标能够准确地反映人体关键点在人体特征图23中的位置。

通过上述过程获得人体关键点在人体特征图23中的坐标之后,执行步骤503。在步骤503中,与人体特征图23对应的人体骨架坐标包含各个人体关键点在人体特征图23中的坐标。

本申请在获得人体骨架数据之后,执行步骤303,步骤303对应于图1中的基于人体骨架分类。对于步骤303而言,本申请利用2d卷积神经网络14基于人体骨架数据识别人体的位姿,得到第二位姿识别结果29,由于根据人体骨架数据捕捉人体位姿,因此能够准确地识别出人体位姿。如图8所示,在上述图3所示实施例的基础上,步骤303可包括如下步骤:

步骤801:将人体骨架数据转换为人体骨架张量。

步骤802:向人体骨架张量中添加目标置信度,其中,目标置信度通过对每个热图进行最大池化获得。

步骤803:将添加有目标置信度的人体骨架张量输入至2d卷积神经网络14,得到第二位姿识别结果29。

本申请通过将人体骨架数据转换为人体骨架张量,并结合对热图进行最大池化后获得的目标置信度,将添加有目标置信度的人体骨架张量作为2d卷积神经网络14的输入,进而获得第二位姿识别结果29,能够提高利用人体骨架数据识别得到的人体位姿的准确性。

在具体实施过程中,首先将包含人体骨架坐标的人体骨架数据转换为2xtxk的人体骨架张量,k为人体关键点的数量,t为待识别视频中图像帧的数量。接着,一个额外的目标置信度被添加到人体骨架张量上,目标置信度通过对每个热图进行最大池化获得。然后,将添加有目标置信度的人体骨架张量输入至2d卷积神经网络14进行位姿识别,2d卷积神经网络14也即2dcnn。由于输入的位姿序列维度小,因此可以使用2dcnn中的池化操作去掉,将步长为2的卷积层替换为步长为1,最后接入全局池化层和全连接层。最终预测使用交叉熵损失优化,通过以下公式(3)得到第二位姿识别结果29:

其中,ypaction(yi)是2dcnn的类别预测向量ypaction的第yi维,lpaction为第二位姿识别结果29。

结合图2来说,将人体骨架数据转换为人体骨架张量并添加目标置信度得到第四中间数据27,第四中间数据27的数据结构为8×17×3,8×17×3表示:时间维度为8、人体关键点数量为17、xy两个方向坐标和目标置信度共对应3个通道。然后,将第四中间数据27转换为2d卷积神经网络14能够处理的第五中间数据28,第五中间数据28的数据结构为8×17×512,8×17×512表示:时间维度为8、人体关键点数量为17、数据特征为512。最后,将第五中间数据28输入至2d卷积神经网络14进行位姿识别,得到第二位姿识别结果29。

为了衡量神经网络的输出预测值和实际值之间的差距,并依据差距修正预测值,使得预测值更贴近实际值,对于本申请的人体位姿识别方法而言,还包括以下步骤:

获取在人体形态区域对人体进行位姿识别的过程中的第一任务损失;以及,获取基于人体骨架数据识别人体的位姿的过程中的第二任务损失。

具体来讲,在执行步骤302在人体形态区域对人体进行位姿识别的过程中,利用以下公式(4)获取第一任务损失:

其中,lh(θ)为第一任务损失,θ为3d卷积神经网络学习参数,r为smoothl1损失,k为人体关键点的数量。smoothl1可以通过以下公式(5)获得:

同时,在执行步骤303获取基于人体骨架数据识别人体的位姿的过程中,利用以下公式(6)获得第二任务损失:

其中,lo(θ)为第二任务损失,公式六的偏置损失函数是每个像素点位置处的smoothl1损失的和,偏置损失只对离每个人体关键点半径为m的圆内的位置求解。

进一步,在获得第一任务损失和第二任务损失之后,对于步骤304而言,基于第一位姿识别结果22、第二位姿识别结果29、第一任务损失和第二任务损失,确定人体的位姿。

具体来讲,根据第一任务损失和第二任务损失能够获得目标位姿估计损失,目标位姿估计损失通过以下公式(7)获得:

lp=λhlh(θ)+λolo(θ)公式(7)

其中,lp为目标位姿估计损失,λh和λo为平衡权重,平衡权重用于平衡第一任务损失和第二任务损失,λh和λo均取0.5。而人体的位姿通过以下公式(8)获得:

l=λ1lr+λ2lp+λ3lpaction公式(8)

其中,l为人体的位姿,λ1,λ2和λ3分别是三个任务的损失,默认为1。

本申请通过利用第一任务损失和第二任务损失对第一位姿识别结果22和第二位姿识别结果29进行修正,能够使得最终确定出的人体位姿更加准确。

示例性装置

基于同一发明构思,本申请实施例还提供一种人体位姿识别装置,如图9所示,该装置包括:

裁剪模块901,用于从待识别视频中裁剪出包含人体的人体形态区域。

第一输出模块902,用于在所述人体形态区域对所述人体进行位姿识别,得到第一位姿识别结果和与所述人体对应的人体骨架数据。

第二输出模块903,用于基于所述人体骨架数据识别所述人体的位姿,得到第二位姿识别结果。

确定模块904,用于基于所述第一位姿识别结果和所述第二位姿识别结果,确定所述人体的位姿。

其中,第二输出模块903,如图10所示,包括:

位姿识别子模块9031,用于利用2d卷积神经网络基于所述人体骨架数据识别所述人体的位姿,得到所述第二位姿识别结果。

其中,第一输出模块902,如图11所示,包括:

拆分子模块9021,用于将所述人体形态区域拆分为多个人体特征图;

人体骨架坐标获得子模块9022,用于利用所述3d卷积神经网络分别获得与每个所述人体特征图对应的人体骨架坐标;

确定子模块9023,用于将与各个所述人体特征图对应的各个所述人体骨架坐标作为所述人体骨架数据。

其中,人体骨架坐标获得子模块9022,如图12所示,包括:

热图获得单元90221,用于利用所述3d卷积神经网络获得与所述人体特征图中各个人体关键点对应的热图;

人体关键点确定单元90222,用于根据各个所述热图,分别确定各个所述人体关键点在所述人体特征图中的坐标;

骨架坐标获得单元90223,用于根据各个所述人体关键点在所述人体特征图中的坐标,获得与所述人体特征图对应的所述人体骨架坐标。

其中,人体关键点确定单元90222,如图13所示,包括:

概率获得子单元902221,用于利用与所述热图对应的训练像素点目标,获得所述热图中各个像素点归属于所述人体关键点的概率;

坐标确定子单元902222,用于将所述概率中最大值对应的像素点的坐标,确定为所述人体关键点的第一坐标;

叠加子单元902223,用于对所述第一坐标叠加偏置向量,获得所述人体关键点的第二坐标;

放大子单元902224,用于基于所述热图和所述人体特征图之间的比例关系,对所述第二坐标进行放大,获得所述人体关键点在所述人体特征图中的坐标。

其中,如图14所示,所述装置还包括:

补偿数据获得模块905,用于利用所述3d卷积神经网络获得与所述人体关键点对应的补偿数据;

数据处理模块906,用于基于所述人体关键点的预测坐标和所述热图中像素点的坐标之间的差值,对所述补偿数据进行归一化处理,获得所述偏置向量。

其中,位姿识别子模块9031,如图15所示,包括:

数据转换单元90311,用于将所述人体骨架数据转换为人体骨架张量;

添加单元90312,用于向所述人体骨架张量中添加目标置信度,其中,所述目标置信度通过对每个所述热图进行最大池化获得;

位姿识别单元90313,用于将添加有所述目标置信度的所述人体骨架张量输入至2d卷积神经网络,得到所述第二位姿识别结果。

其中,如图16所示,所述装置还包括:

损失获取模块907,用于获取在所述人体形态区域对所述人体进行位姿识别的过程中的第一任务损失;以及,获取基于所述人体骨架数据识别所述人体的位姿的过程中的第二任务损失;

其中,确定模块904,如图17所示,包括:

确定子模块9041,用于基于所述第一位姿识别结果、所述第二位姿识别结果、所述第一任务损失和所述第二任务损失,确定所述人体的位姿。

示例性电子设备

下面,参考图18来描述根据本申请实施例的电子设备。

图18图示了根据本申请实施例的电子设备的框图。

如图18所示,电子设备1801包括一个或多个处理器18011和存储器18012。

处理器18011可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1801中的其他组件以执行期望的功能。

存储器18012可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器18011可以运行所述程序指令,以实现上文所述的本申请的各个实施例的人体位姿识别方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备1801还可以包括:输入装置18013和输出装置18014,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,该输入装置18013可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置18013可以是通信网络连接器。

此外,该输入设备18013还可以包括例如键盘、鼠标等等。

该输出装置18014可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备18014可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图18中仅示出了该电子设备1801中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1801还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的人体位姿识别方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的人体位姿识别方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1