一种行为识别方法及装置与流程

专利2022-05-09  49


本发明涉及计算机视觉(computervision)技术领域,尤其涉及一种基于人体肢体点检测的连续行为的识别方法、一种实施该识别方法的识别装置,以及一种对应的计算机可读存储介质。



背景技术:

姿态识别技术是计算机科学技术领域的一项新兴技术,能够基于人体图像来自动识别其中被识别者的面部表情、身体姿势和手指动作,并输出对应的姿态分类结果,对智能控制、安防监控、体育竞技、影视娱乐、教育辅助等多个领域都具有巨大的商业价值。

现有的姿态识别技术主要基于包含人体姿态的静态图像本身来实施。这些方案普遍需要以大量图像中的像素组合方式为训练样本来训练深度学习模型,并基于待识别图像中所有像素的特征数据来识别图像中被识别者的姿态,因此存在特征维度高、数据处理量大的缺陷,而且无法满足各领域对识别人体连续行为的实际需求。

为了克服上述缺陷,本领域亟需一种连续行为的识别技术,用于根据多帧连续图像来识别人体的连续行为动作,从而进一步满足智能控制、安防监控、体育竞技、影视娱乐、教育辅助等多个领域对动态行为的实际识别需求,以扩大人体识别技术的应用范围。



技术实现要素:

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之前序。

为了克服上述缺陷,本发明提供了一种行为识别方法、一种行为识别装置,以及一种计算机可读存储介质。

本发明的第一方面提供的上述行为识别方法包括以下步骤:获取识别对象的多帧连续图像;提取所述识别对象在各所述图像中的姿态特征;按时间顺序联合所述识别对象的各所述姿态特征,以获取所述识别对象在所述多帧连续图像中的行为特征;以及将所述行为特征输入预先训练的行为分析模块,以识别所述识别对象在所述多帧连续图像中的行为。通过实施该行为识别方法,本发明能够根据多帧连续图像来识别人体的连续行为动作,从而进一步满足智能控制、安防监控、体育竞技、影视娱乐、教育辅助等多个领域对动态行为的实际识别需求,以扩大人体识别技术的应用范围。

根据本发明的第二方面提供的上述行为识别装置包括存储器及处理器。所述处理器连接所述存储器,并被配置用于实施本发明的第一方面所提供的行为识别方法。通过实施该行为识别方法,该行为识别装置能够根据多帧连续图像来识别人体的连续行为动作,从而进一步满足智能控制、安防监控、体育竞技、影视娱乐、教育辅助等多个领域对动态行为的实际识别需求,以扩大人体识别技术的应用范围。

根据本发明的第三方面提供的上述计算机可读存储介质,其上存储有计算机指令。所述计算机指令被处理器执行时,可以实施本发明的第一方面所提供的行为识别方法。通过实施该行为识别方法,该计算机可读存储介质能够根据多帧连续图像来识别人体的连续行为动作,从而进一步满足智能控制、安防监控、体育竞技、影视娱乐、教育辅助等多个领域对动态行为的实际识别需求,以扩大人体识别技术的应用范围。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1示出了根据本发明的一些实施例所提供的行为识别方法的流程示意图。

图2a及图2b分别示出了根据本发明的一些实施例所提供的置信度图的示意图。

图3示出了根据本发明的一些实施例所提供的关联图的示意图。

图4示出了根据本发明的一些实施例所提供的端到端网络结构示意图。

图5示出了根据本发明的一些实施例所提供的人体关键点的示意图。

图6示出了根据本发明的一些实施例所提供的人体边界框的示意图。

图7示出了根据本发明的一些实施例所提供的行为分析模块的示意图。

图8示出了根据本发明的一些实施例所提供的lstm单元的示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合优选实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。

如上所述,现有的姿态识别技术主要基于包含人体姿态的静态图像本身来实施。这些方案普遍需要以大量图像中的像素组合方式为训练样本来训练深度学习模型,并基于待识别图像中所有像素的特征数据来识别图像中被识别者的姿态,因此存在特征维度高、数据处理量大的缺陷,而且无法满足各领域对识别人体连续行为的实际需求。

为了克服上述缺陷,本发明提供了一种行为识别方法、一种行为识别装置,以及一种计算机可读存储介质。

在一些非限制性的实施例中,本发明的第一方面提供的上述行为识别方法可以由本发明的第二方面提供的上述行为识别装置来实施。具体来说,本发明的第二方面提供的上述行为识别装置可以包括存储器及处理器。该存储器包括但不限于本发明的第三方面提供的上述计算机可读存储介质,其上存储有计算机指令。该处理器连接该存储器,并被配置用于执行该存储器上存储的计算机指令,以实施第一方面提供的上述行为识别方法。

以下将结合一些行为识别方法的实施例来描述上述行为识别装置的工作原理。本领域的技术人员可以理解,这些行为识别方法的实施例只是本发明提供的一些非限制性的实施方式,旨在清楚地展示本发明的主要构思,并提供一些便于公众实施的具体方案,而非用于限制该行为识别装置的工作方式。相对地,该行为识别装置也只是本发明提供的一种非限制性的实施方式,不对这些行为识别方法的实施主体构成限制。

请参考图1,图1示出了根据本发明的一些实施例所提供的行为识别方法的流程示意图。

如图1所示,在本发明的一些实施例中,上述行为识别装置中可以配置有姿态估计(poseestimate)模块以及行为分析模块13,其中,该姿态估计模块进一步包括肢体点生成模块11以及姿态特征生成模块12。在实施上述行为识别方法的过程中,行为识别装置的处理器可以首先获取识别对象的多帧连续图像101~132。该多帧连续图像101~132可以是由ip摄像头或usb摄像头等普通摄像头采集的实时连续图像,也可以是从视频文件获取到的缓存连续图像。之后,处理器可以将获取的多帧连续图像101~132依次输入该肢体点生成模块11,以获取识别对象的多个肢体点201~218在各帧图像101~132中的坐标信息。再之后,处理器可以将识别对象的多个肢体点201~218的坐标信息输入该姿态特征生成模块12,以提取该识别对象在各帧图像中的姿态特征。再之后,处理器可以按时间顺序联合该识别对象的各姿态特征,以获取该识别对象在该多帧连续图像中的行为特征。最后,处理器可以将获取的该行为特征输入预先训练的行为分析模块13,以识别该识别对象在该多帧连续图像中的行为。

具体来说,在一些实施例中,上述肢体点生成模块11可以基于多张置信度图(confidencemap)来获取识别对象的多个肢体点201~218在各帧图像101~132中的坐标信息。请参考图2a及图2b,图2a及图2b分别示出了根据本发明的一些实施例所提供的置信度图的示意图。

在图2a及图2b所示的实施例中,响应于输入一帧带有识别对象的图像(例如:图像101),肢体点生成模块11可以生成多张关于该帧图像101的置信度图,并以这些置信度图来表示该识别对象的各肢体点在该帧图像101中的位置。具体来说,肢体点生成模块11输出的置信度图的层数可以和人体肢体点201~218的类别数相同。每张置信度图可以对应人体的一类实体点201~218。

例如,在图2a所示的实施例中,置信度图对应识别对象的左手肘207。

该置信度图可以通过调节亮度的方式表示各像素点关于左手肘207的置信度,从而分别在两个识别对象的左手肘207的位置形成一个置信度的峰值。如此,肢体点生成模块11即可根据该置信度图中两个置信度峰值的位置,分别确定两个识别对象的左手肘207在该帧图像101中的坐标信息。

又例如,在图2b所示的实施例中,置信度图对应识别对象的左肩205。

该置信度图可以通过调节亮度的方式表示各像素点关于左肩205的置信度,从而分别在两个识别对象的左肩205的位置形成一个置信度的峰值。如此,肢体点生成模块11即可根据该置信度图中两个置信度峰值的位置,分别确定两个识别对象的左肩205在该帧图像101中的坐标信息。

依此类推,肢体点生成模块11可以分别根据每帧图像101~132对应的多张置信度图中的置信度峰值,确定识别对象的各类肢体点201~218在各帧图像101~132中的坐标信息,在此不再赘述。

本领域的技术人员可以理解,上述一张置信度图中包括两个识别对象并包括两个置信度峰值的方案,只是本发明提供的一种非限制性的实施例,旨在清楚地展示本发明的主要构思,并提供一种便于公众实施的具体方案,而不对本发明的保护范围构成限制。可选地,在另一些实施例中,若一帧图像中只有一个识别对象,则其对应的每张置信度图中应当只有一个峰值。同样地,在其他些实施例中,若一帧图像中n个识别对象,则其对应的每张置信度图中也应当有n个峰值。

之后,针对图像中只有一个识别对象的实施例,处理器可以直接根据该识别对象的各肢体点201~218在该帧图像中的坐标信息,确定该识别对象在该帧图像中的姿态特征。然而,对于图2a及图2b所示的图像中包括多个识别对象的实施例,处理器需要进一步采用多张关联图(partaffinityfields)来判断图像中各肢体点201~218所述的识别对象,才能分别根据每个识别对象的各肢体点201~218在该帧图像中的坐标信息,确定各识别对象在该帧图像中的姿态特征。

请参考图3,图3示出了根据本发明的一些实施例所提供的关联图的示意图。

如图3所示,在本发明的一些实施例中,响应于输入一帧带有识别对象的图像(例如:图像101),肢体点生成模块11还可以生成多张关于该帧图像101的关联图,并以这些关联图来表示该帧图像101中各肢体点201~218之间的连接关系。具体来说,肢体点生成模块11输出的关系图的层数可以和各人体肢体点201~218组成的肢体段数相同。每张关系图可以对应人体的一类肢体段。

针对图3所示的左肩205及左手肘207的实施例,该关联图可以通过调节亮度值的方式表示各像素点所处肢体的方向向量。具体来说,在图3所示的关联图中,每两个肢体点(例如:206及207)之间都有一个亲和区域。该亲和区域中的每一个像素点都带有一个2d向量来描述其方向。如果一个像素点不在识别对象左大臂(即连接左肩206及左手肘207的肢体)上,那么这点的亮度值可以较低。反之,若一个像素点处在识别对象左大臂(即连接左肩206及左手肘207的肢体)上,那么这点的亮度值可以较高,甚至达到峰值。图3中两个识别对象的左大臂高亮表示其在该关联图中存在具体有意义的值,其值的大小指示左肩206到左手肘207的方向向量的单位向量。如此,肢体点生成模块11即可根据该关联图中的两段关联度峰值的位置,分别确定两个左肩206及两个左手肘207的连接关系,进而根据各关联图中的各段关联度峰值逐一连接各肢体点201~218,以确定各肢体点201~218所属的识别对象。

本领域的技术人员可以理解,上述一张关联图中包括两个识别对象并包括两段关联度峰值的方案,只是本发明提供的一种非限制性的实施例,旨在清楚地展示本发明的主要构思,并提供一种便于公众实施的具体方案,而不对本发明的保护范围构成限制。可选地,在另一些实施例中,若一帧图像中只有一个识别对象,则其对应的每张关联图中应当只有一段峰值。同样地,在其他些实施例中,若一帧图像中n个识别对象,则其对应的每张关联图中也应当有n段峰值。

在本发明的一些实施例中,上述基于多张置信度图及多张关联图来确定各识别对象的各肢体点201~218在各帧图像中坐标信息的方案,可以基于一种预先训练的端到端神经网络模型来实现。请参考图4,图4示出了根据本发明的一些实施例所提供的端到端网络结构示意图。

在图4所示的实施例中,肢体点生成模块11采用了端到端的神经网络方法,其使用经过一些自定义的网络裁剪vgg19分类网络作为特征提取网络,图中的f表示特征提取网络的结果。如图4所示,特征提取网络的核心部分分为上下两路结构,其上半部分的卷积层模块用于输出上述置信度图(s),而其下半部分的卷积层模块用于输出各肢体点的关联图(l)。上下两路的损失函数都是计算预测和理想值之间的l2损失。进一步地,特征提取网络可以分为多个步骤(stage)来实施,每一个步骤结束之后,置信度图(s)及关联图(l)都需要和结果(f)合并。

本领域的技术人员可以理解,尽管图4只示出了两个特征提取网络的两个步骤,但这只是为了方便说明各步骤之间的关系而做出的省略。在本发明的一些实施例中,特征提取网络可以使用5个步骤来获取对应于各帧图像的置信度图(s)及关联图(l)。可选地,在另一些实施例中,特征提取网络也可以根据肢体点识别的精度需求,适当地调整步骤的数量以同样获取到对应于各帧图像的置信度图(s)及关联图(l)。

进一步地,由于训练样本数据集的数据格式是人体各肢体点的位置坐标,而训练时的损失函数是置信度图和关联图的l2损失函数,技术人员需要在训练时对训练样本的数据集进行格式转换,将各肢体点的标注数据转化为对应的置信度图和关联图,并在测试时将特征提取网络输出的置信度图和关联图转化为肢体点的坐标信息。如此,肢体点生成模块11即可基于上述方法训练的特征提取网络,根据输入的rgb三通道图像输出人体各肢体点201~218在该图像中的位置坐标。

请参考图5,图5示出了根据本发明的一些实施例所提供的人体关键点的示意图。

如图5所示,在本发明的一些实施例中,肢体点生成模块11可以根据一帧输入的图像,输出一个识别对象的鼻201、胸202、右肩203、右肘204、右腕205、左肩206、左肘207、左腕208、右胯209、右膝210、右踝211、左胯212、左膝213、左踝214、右眼215、左眼216、右耳217及左耳218等多个肢体点。姿态特征生成模块12可以基于其中右肩203、右肘204、右腕205、左肩206、左肘207、左腕208、右胯209、右膝210、右踝211、左胯212、左膝213、左踝214等多个关于四肢的肢体点的坐标信息来生成人体的姿态特征,以供行为分析模块13识别人体四肢的连续行为。

如图1所示,在获取多帧连续图像101~132中每个识别对象的各肢体点203~214的坐标信息后,处理器可以分别将各识别对象的各肢体点203~214的坐标信息输入姿态特征生成模块12,以确定各识别对象在各帧图像101~132中的姿态特征。

以第二帧图像102为例,响应于输入一帧图像102的多个肢体点的坐标信息,姿态特征生成模块12可以首先根据识别对象的右肩203及右肘204的坐标信息,确定识别对象的右大臂的角度信息a21;根据识别对象的右肘204及右腕205的坐标信息,确定识别对象的右小臂的角度信息a22;根据识别对象的左肩206及左肘207的坐标信息,确定识别对象的左大臂的角度信息a23;根据识别对象的左肘207及左腕208的坐标信息,确定识别对象的左小臂的角度信息a24;根据识别对象的右胯209及右膝210的坐标信息,确定识别对象的右大腿的角度信息a25;根据识别对象的右膝210及右踝211的坐标信息,确定识别对象的右小腿的角度信息a26;根据识别对象的左胯212及左膝213的坐标信息,确定识别对象的左大腿的角度信息a27;并根据识别对象的左膝213及左踝214的坐标信息,确定识别对象的左小腿的角度信息a28。可以理解的是,上述角度信息a21~a28可以指示对应肢体相对于水平方向、竖直方向,或任意一个自定义的标准方向的夹角。这些角度信息a21~a28可以表征各段肢体在该帧图像102中的角度。在一些实施例中,肢体与标准方向的夹角可以统一规定为肢体与标准方向的右侧夹角,并以反三角函数(arctan)来表示,以保证角度信息的数据统一性。

之后,姿态特征生成模块12可以将上述角度信息a21~a28分别与前一帧图像101中各段肢体n的角度信息a11~a18求差值,即δa2n=|a2n-a1n|,以计算各段肢体n对应于该第二帧图像102的角度差值信息δa21~δa28。这些角度差值信息δa21~δa28可以表征各段肢体n在两帧图像101、102之间的角度变化量,以及各段肢体的角度变化速率。

此外,姿态特征生成模块12还可以将各段肢体n的末端肢体点(例如:右大臂末端的右肘204)作为定位肢体点pn,并计算本帧图像102中各定位肢体点p2n的坐标位置(x2n,y2n)与前一帧图像101中各对应定位肢体点p1n的坐标位置(x1n,y1n)的欧几里得距离,即以作为各段肢体2n对应于本帧图像102的肢体点差值信息δp21~δp28。这些肢体点差值信息δp21~δp28可以表征各段肢体n在两帧图像101、102之间的位置变化量,以及各段肢体n的位置变化速率。

可选地,在另一些实施例中,姿态特征生成模块12也可以将各段肢体n的首端肢体点(例如:右大臂首端的右肩203)作为定位肢体点pn,并计算本帧图像102中各定位肢体点p2n的坐标位置(x2n,y2n)与前一帧图像101中各对应定位肢体点p1n的坐标位置(x1n,y1n)的欧几里得距离,以作为各段肢体2n对应于本帧图像102的肢体点差值信息δp21~δp28。

再之后,姿态特征生成模块12可以按顺序联列上述各段肢体n对应于本帧图像102的角度信息a2n、角度差值信息δa2n,及肢体点差值信息δp2n,以作为该识别对象在本帧图像102中的姿态特征,即(a21,δa21,δp21,…,a28,δa28,δp28)。针对上述由12个关于四肢的肢体点203~214构成8段肢体的实施例,各识别对象在各帧图像101~132中的姿态特征的维度都是24维。

相比于现有技术基于待识别图像中所有像素的特征数据来识别图像中被识别者的姿态的方案,本发明可以根据少数几个肢体点201~218的坐标信息识别出识别对象的姿态,对存在小面积遮挡的多人场景具有更好的识别效果。

本领域的技术人员可以理解,上述仅基于右肩203、右肘204、右腕205、左肩206、左肘207、左腕208、右胯209、右膝210、右踝211、左胯212、左膝213、左踝214等多个关于四肢的肢体点的坐标信息来识别人体的连续行为的方案,只是本发明提供的一种非限制性的实施方式,旨在清楚地展示本发明的主要构思,并提供一种便于公众实施的具体方案,而非用于限制本发明的保护范围。可选地,在另一些实施例中,姿态特征生成模块12还可以进一步基识别对象的鼻201、胸202、右眼215、左眼216、右耳217、左耳218,以及其他肢体点的坐标信息来生成人体的姿态特征,以供行为分析模块13进一步识别关于人体头部、表情或其他方面的连续行为。

本领域的技术人员还可以理解,上述以角度信息、角度差值信息及肢体点差值信息来构建识别对象在各帧图像中的姿态特征,不仅可以显著地表征四肢在连续行为中的各种姿态,还可以真实地表征四肢在连续行为中转动及位移的速率,从而提升行为识别结果的准确率。可选地,在另一些实施例中,技术人员也可以基于本发明的构思,针对人体头部、表情或其他方面的连续行为的识别需求,选用其他关于肢体点和/或肢体的数据来构建姿态特征,以保障行为识别结果的准确率。

如上所述,本发明需要基于多帧连续图像来识别人体的连续行为动作。在一些实施例中,为了应对图像中同时包括多个识别对象的情况,本发明的第二方面提供的上述行为识别装置中可以进一步配置有追踪模块,用于对多帧连续图像中的多个识别对象进行追踪,以分别确定各识别对象在每帧图像中的姿态。

具体来说,追踪模块可以首先根据肢体点生成模块11的输出结果,确定每一帧图像101~132中包含几个识别对象,并确定每个识别对象的所有肢体点201~218的坐标信息。之后,追踪模块可以在各帧图像101~132中,根据属于同一识别对象的多个肢体点的坐标信息,分别确定各识别对象在各帧图像101~132中的人体边界框。

请参考图6,图6示出了根据本发明的一些实施例所提供的人体边界框的示意图。

如图6所示,在一些实施例中,追踪模块可以首先根据各肢体点201~218的坐标最大值和坐标最小值(例如:xmax=x207,xmin=x204,ymax=y215,ymin=x214),确定一个包围所有肢体点201~218的矩形。之后,追踪模块可以将常规人体的肩膀宽度乘以一个预设的比例系数以生成一个向外扩张值,并根据该向外扩张值扩大矩形的面积以得到该识别对象的人体边界框。

在获得每帧图像101~132中每个识别对象的人体边界框之后,追踪模块可以首先计算第一帧图像101中包含的多个识别对象(例如:第一识别对象o11及第二识别对象o12)的人体边界框在第一帧图像101中占据的坐标范围ao11及ao12。之后,追踪模块可以将第二帧图像102中各识别对象的人体边界框,分别与第一帧图像101中的各人体边界框做交并比(intersectionoverunion,iou)运算,以计算第二帧图像102中各识别对象的人体边界框与第一帧图像101中的各人体边界框的重合度。

具体来说,假设第二帧图像102中包括三个识别对象o21、o22及o23。追踪模块可以首先计算识别对象o21的人体边界框在第二帧图像102中占据的坐标范围ao21,再将坐标范围ao21与坐标范围ao11做交集(即ao21∩ao11)以计算两者的重合面积,并将坐标范围ao21与坐标范围ao11做并集(即ao21∪ao11)以计算两者的合并面积。之后,追踪模块可以以上述重合面积为被除数,并以上述合并面积为除数,计算识别对象o21与识别对象o11的人体边界框的交并比,即以表征两个人体边界框的重合度。同样地,追踪模块还可以如上所述地计算识别对象o21与识别对象o12的人体边界框的交并比,即iou21-12,以表征两个人体边界框的重合度,在此不再赘述。

在确定识别对象o21的人体边界框与第一帧图像101中各识别对象o11及识别对象o12的人体边界框的交并比之后,追踪模块可以将交并比iou21-11与交并比iou21-12进行比较,并将其中较大者对应的人体边界框确定为候选边界框。之后,追踪模块可以利用预先训练的卷积神经网络,先对识别对象o21的人体边界框中的图像做特征提取以获取长度为128维的第一编码特征(encodefeature)再对上述候选边界框中的图像做特征提取以获取长度为128维的第二编码特征并计算该第一编码特征与该第二编码特征的余弦值以验证两个人体边界框中图像的相似程度。

若第一编码特征与第二编码特征的余弦值cosθ大于或等于预设的余弦阈值,追踪模块可以判断两个人体边界框中的图像指示同一个识别对象,从而将第二帧图像102中的识别对象o21确定为第一帧图像101中的识别对象o11以达到对象追踪的效果。反之,若第一编码特征与第二编码特征的余弦值cosθ小于预设的余弦阈值,追踪模块可以判断两个人体边界框中的图像指示不同的识别对象,进而判断第二帧图像102中的识别对象o21是新出现的识别对象。

依此类推,追踪模块还可以如上所述地逐一判断第二帧图像102中的识别对象o22及o23是否是第一帧图像101中出现过的识别对象o11或o12,以完成第一帧图像101到第二帧图像102的对象追踪。进一步地,追踪模块还可以如上所述地对第三帧图像103、第四帧图像104直至第三十二帧图像132中包含的识别对象进行对象追踪,以确定每一个识别对象在各帧图像101~132中的姿态。

如图1所示,在确定同一个识别对象在各帧图像101~132中的姿态后,行为识别装置的处理器可以按时间顺序联合该识别对象在在各帧图像101~132中的姿态特征p101~p132,以获取该识别对象在多帧连续图像101~132中的行为特征,例如(a11,δa11,δp11,…,a18,δa18,δp18,…,an1,δan1,δpn1,…,an8,δan8,δpn8…,a321,δa321,δp321,…,a328,δa328,δp328)。在该实施例中,行为特征的维度可以为32×24维。之后,行为识别装置的处理器可以将获取行为特征输入预先训练的行为分析模块13,以识别该识别对象在多帧连续图像101~132中实施的连续行为。

请参考图7,图7示出了根据本发明的一些实施例所提供的行为分析模块的示意图。

如图7所示,在本发明的一些实施例中,行为分析模块13可以是一个基于长短期记忆(longshort-termmemory,lstm)网络来实现的分类网络模型。技术人员可以将全连接输入层71、长短期记忆(lstm)模块721~722及全连接输出层73依次连接,以构建行为分析模块13,其中,每个长短期记忆(lstm)模块721~722中可以包括多个长短期记忆(lstm)单元。

上述长短期记忆网络(lstm)是一种为了解决一般的循环神经网络(recurrentneuralnetwork,rnn)存在的长期依赖问题而专门设计出来的时间循环神经网络。由于独特的设计结构,长短期记忆(lstm)网络适合于处理和预测时间序列中间隔和延迟非常长的重要事件,具有比循环神经网络(rnn)及隐马尔科夫模型(hmm)更好的表现。请进一步参考图8,图8示出了根据本发明的一些实施例所提供的lstm单元的示意图。

如图8所示,每个长短期记忆网络(lstm)单元中可以包括短期记忆单元长期记忆单元sigmoid激活函数正弦激活函数遗忘门(forgetgate)ft=σ(xtuf ht-1wf)、输入门(inputgate)it=σ(xtui ht-1wi)、输出门(outputgate)ot=σ(xtuo ht-1wo),以及ht=tanh(ct)*ot。在图8所示的实施例中,每个lstm单元的单元结构体(cellstruct)c和h都会作为下一个lstm单元的输入,而h将作为本lstm单元的输出。在上述公式中,u和w是长短期记忆网络的待训练参数。

在构建行为分析模块13时,技术人员可以首先确定行为分析模块13的识别帧率。该识别帧率是指行为分析模块13主要面向的待识别图像的帧率。之后,技术人员可以结合视频内容中每个行为动作的平均持续时间,确定识别连续行为动作的单位帧数,进而确定每个lstm模块721~722中包括的lstm单元的数量。

在一些实施例中,针对帧率为25帧/秒的搏击视频,技术人员可以首先统计这些视频中识别对象每个动作(例如:行走、挥拳、踢腿等四肢动作)的持续时间。以每个动作的平均持续时间为1.3秒为例,技术人员可以根据该25帧/秒的识别帧率及大约1.3秒的行为持续时间,确定行为分析模块13的识别单位为32帧/行为,从而分别采用32个级联的lstm单元来构建一个lstm模块721~722。之后,技术人员可以将上述全连接输入层71、第一lstm模块721、第二lstm模块722及上述全连接输出层73依次连接,以构建上述行为分析模块13。

在完成行为分析模块13的构建后,技术人员还可以选用大量帧率为25帧/秒的搏击视频样本来训练行为分析模块13中各lstm单元的学习参数u和w,以使行为分析模块13具备根据输入的多帧连续图像输出对应行为分类的功能。

具体来说,技术人员可以首先将上述搏击视频样本以32帧连续图像为一组的方式进行分组,再逐一对识别对象在这32帧连续图像中实施的行为进行分类标注。之后,技术人员可以将各组连续图像作为输入,并将其对应的分类标注作为输出,通过反复的迭代与网络的修改确定收敛效果最好的学习参数u和w,以使行为分析模块13具备正确分类的功能。训练分类网络的具体方法属于本领域的现有技术,在此不再赘述。

进一步地,在一些实施例中,技术人员还可以以组为单位地对各组搏击视频样本进行随机的镜像翻转以获取多组新的搏击视频样本,并采用这些新的搏击视频样本与原来的视频样本一起训练行为分析模块13,从而通过增加训练样本数据的多样性的方式,提升行为分析模块13的对连续行为的识别准确度。

基于以上描述可知,相比于现有技术直接以图像中像素点的组合方式为训练数据(例如:224*224*3),本发明基于姿态估计(poseestimate)模块输出的姿态特征来训练分类网络,因此训练数据的维度(32*24)更小。通过采用这些维度较小的训练数据来训练分类网络,不但可以加快模型的训练速度、降低模型的训练难度,还能有效避免显存溢出等常见于现有技术的问题。

在完成行为分析模块13的构建及训练后,行为分析模块13即可具备根据输入的多帧连续图像输出对应行为分类的功能。如此,响应于从上述32帧连续图像101~132获取的行为特征行为分析模块13可以首先通过全连接输入层71对输入的行为特征进行高维的映射,再将全连接输入层71的输出数据输入第一lstm模块721,由第一lstm模块中的32个lstm单元级联地对该输出数据进行第一次处理。之后,行为分析模块13可以将第一lstm模块721的32个lstm单元输出的第一结果输入第二lstm模块722的32个lstm单元,再由第二lstm模块722中的32个lstm单元对第一结果进行第二次级联处理,并从第二lstm模块722的最后一个lstm单元获取其输出的第二结果。再之后,行为分析模块13可以将该最后一个lstm单元输出的第二结果输入全连接输出层72,由全连接输出层73根据该第二结果确定概率最大的行为分类作为结果输出。

本领域的技术人员可以理解,上述包括两个串联的lstm模块721~722的行为分析模块13,只是本发明提供的一种非限制性的实施方式,旨在清楚地展示本发明的主要构思,并提供一种能够综合识别速率、识别准确率等多种因素的优选方案,而非用于限制本发明的保护范围。

可选地,在另一些实施例中,行为分析模块也可以只包括一个lstm模块,或包括三个以上的lstm模块,并同样达到对识别对象的连续行为进行识别分类的效果。具体来说,针对只有一个lstm模块的实施例,行为分析模块可以将全连接输入层的输出数据输入lstm模块,先由该lstm模块中的多个lstm单元级联对该输出数据进行处理,再将最后一个lstm单元输出的结果输入全连接输出层,由全连接输出层根据该结果确定一个对应的行为分类。

进一步地,在本发明的一些实施例中,若待识别视频中包含多于一个识别单位(即32帧)的连续图像,行为识别装置的处理器可以首先根据识别帧率(即25帧/秒),从该多帧连续图像中选取第一至第三十二帧的待识别图像以生成对应的行为特征并根据该行为特征来判断识别对象在该第一至第三十二帧的待识别图像中实施的行为。在一些实施例中,行为分析模块13可以在输出行为分类结果的同时,输出对象行为属于该行为分类的概率值。若概率值大于或等于预设的概率阈值,处理器可以判定识别对象在该第一至第三十二帧的待识别图像中实施了对应于该行为分类结果的行为。反之,若概率值小于预设的概率阈值,处理器可以判定识别对象在该第一至第三十二帧的待识别图像中没有实施任何已知的行为。

在完成对第一至第三十二帧待识别图像的行为识别之后,处理器可以从这32帧待识别图像中去除第一帧图像,并从原来的多帧连续图像中补入第三十三帧图像,以更新这32帧待识别图像。之后,行为识别装置可以如上所述地获取识别对象在上述第二至第三十三帧待识别图像中的行为特征并将该行为特征输入行为分析模块13以确定一个新的行为分类结果及其对应的概率值。同样地,处理器可以将该新的行为分类结果对应的概率值与预设的概率阈值进行比较,以判断识别对象是否在上述第二至第三十三帧待识别图像中实施了对应的行为。

依此类推,行为识别装置可以如上所述地不断从多帧连续图像中更新待识别图像、获取其对应的行为特征并以此确定识别对象是否实施了对应的行为,直到完成对多帧连续图像中所有图像的识别,从而逐一确定识别对象在多帧连续图像中实施过的所有行为。

进一步地,考虑到行为持续时间对行为识别结果准确度的影响,待识别的多帧连续图像的帧率应当与行为分析模块13的识别帧率相同。为此,在一些实施例中,响应于获取到多帧连续图像,行为识别装置的处理器可以首先对获取的多帧连续图像的实际帧率进行检测。若获取的多帧连续图像的实际帧率大于行为分析模块13的识别帧率,处理器可以优选地从该多帧连续图像中平均地抽出多帧图像,以将其实际帧率降低到行为分析模块13的识别帧率。或者,若获取的多帧连续图像的实际帧率小于行为分析模块13的识别帧率,处理器可以优选地向多帧连续图像中平均地加入多帧重复于前一帧图像的图像,以将其实际帧率提升到行为分析模块13的识别帧率。如此,即使待识别图像的实际帧率与行为分析模块13的识别帧率不匹配,本发明提供的上述行为识别装置也能准确地识别图像中识别对象实施的连续行为。

本领域的技术人员可以理解,上述针对25帧/秒的搏击视频确定识别单位为32帧/行为的方案,只是本发明提供的一种非限制性的实施方式,旨在清楚地展示本发明的主要构思,并提供一种便于公众实施的具体方案,而非用于限制本发明的保护范围。可选地,在另一些实施例中,技术人员也可以根据待识别图像n帧/秒的帧率,以及待识别图像中m秒/行为的平均持续时间,将行为分析模块13的识别单位确定为n*m帧/行为,以保证行为识别装置对连续行为的识别准确度。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将可理解,信息、信号和数据可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

尽管上述的实施例所述的处理器可以通过软件与硬件的组合来实现的。但是可以理解,该处理器也可以单独在软件或硬件中加以实施。对于硬件实施而言,该处理器可以在一个或多个专用集成电路(asic)、数字信号处理器(dsp)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、用于执行上述功能的其它电子装置或上述装置的选择组合来加以实施。对软件实施而言,该处理器可以通过在通用芯片上运行的诸如程序模块(procedures)和函数模块(functions)等独立的软件模块来加以实施,其中每一个模块可以执行一个或多个本文中描述的功能和操作。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。


技术特征:

1.一种行为识别方法,其特征在于,包括以下步骤:

获取识别对象的多帧连续图像;

提取所述识别对象在各所述图像中的姿态特征;

按时间顺序联合所述识别对象的各所述姿态特征,以获取所述识别对象在所述多帧连续图像中的行为特征;以及

将所述行为特征输入预先训练的行为分析模块,以识别所述识别对象在所述多帧连续图像中的行为。

2.如权利要求1所述的行为识别方法,其特征在于,所述提取所述识别对象在各所述图像中的姿态特征的步骤包括:

获取所述识别对象的多个肢体点在各所述图像中的坐标信息;以及

根据所述多个肢体点的坐标信息确定所述识别对象在各所述图像中的姿态特征。

3.如权利要求2所述的行为识别方法,其特征在于,所述获取所述识别对象的多个肢体点在各所述图像中的坐标信息的步骤包括:

将各所述图像分别输入姿态估计模块,以分别获取每帧所述图像对应的多张置信度图,其中,每张所述置信度图对应一类所述肢体点;以及

根据每帧所述图像的各所述置信度图中的置信度峰值,确定所述识别对象的各类对应肢体点在各所述图像中的坐标信息。

4.如权利要求2所述的行为识别方法,其特征在于,所述根据所述多个肢体点的坐标信息确定所述识别对象在各所述图像中的姿态特征的步骤包括:

根据每两个相邻的所述肢体点确定所述识别对象的一段肢体,以确定所述识别对象的多段所述肢体;

根据各段所述肢体的第一肢体点及第二肢体点在一帧所述图像中的坐标信息,确定各段所述肢体对应于该帧图像的角度信息;

根据各段所述肢体对应于该帧图像及前一帧图像的角度信息,计算各段所述肢体对应于该帧图像的角度差值信息;

根据各段所述肢体的所述第一肢体点在该帧图像及所述前一帧图像中的坐标信息,计算各段所述肢体对应于该帧图像的肢体点差值信息;以及

根据所述识别对象的各段所述肢体对应于该帧图像的角度信息、角度差值信息及肢体点差值信息,确定所述识别对象在该帧图像中的姿态特征。

5.如权利要求4所述的行为识别方法,其特征在于,所述肢体点包括:左腕、左肘、左肩、右腕、右肘、右肩、左踝、左膝、左胯、右踝、右膝及右胯,

所述肢体包括:左小臂、左大臂、右小臂、右大臂、左小腿、左大腿、右小腿及右大腿。

6.如权利要求3所述的行为识别方法,其特征在于,所述多帧连续图像中包括多个所述识别对象,所述获取所述识别对象的多个肢体点在各所述图像中的坐标信息的步骤还包括:

将各所述图像分别输入所述姿态估计模块,以分别获取每帧所述图像对应的多张关联图,其中,每张所述关联图指示从一段肢体的第一肢体点到其第二肢体点的方向信息;以及

根据每帧所述图像的各所述关联图,确定各段对应肢体的所述第一肢体点及所述第二肢体点所属的识别对象。

7.如权利要求2所述的行为识别方法,其特征在于,所述获取所述识别对象的多个肢体点在各所述图像中的坐标信息的步骤包括:

根据属于同一所述识别对象的所述多个肢体点在一帧所述图像中的坐标信息,确定所述识别对象在该帧图像中的人体边界框;

将该帧图像中所述识别对象的人体边界框,分别与前一帧图像中的各人体边界框做交并比运算,以计算该帧图像中所述识别对象的人体边界框与所述前一帧图像中的各所述人体边界框的重合度;以及

根据所述重合度对所述识别对象在各所述图像中的位置进行追踪。

8.如权利要求7所述的行为识别方法,其特征在于,所述根据所述重合度对所述识别对象在各所述图像中的位置进行追踪的步骤包括:

在所述前一帧图像中,将与该帧图像中所述识别对象的人体边界框的重合度最大的人体边界框确定为候选边界框;

对该帧图像中所述识别对象的人体边界框中的图像做特征提取,以获取第一编码特征;

对所述候选边界框中的图像做特征提取,以获取第二编码特征;

计算所述第一编码特征与所述第二编码特征的余弦值;以及

响应于所述余弦值大于或等于预设的余弦阈值,将该帧图像中的所述识别对象确定为所述前一帧图像中所述候选边界框对应的识别对象。

9.如权利要求1所述的行为识别方法,其特征在于,还包括以下步骤:

确定所述行为分析模块的识别帧率;

根据所述识别帧率及待识别行为的持续时间,以对应数量的lstm单元构建lstm模块;

以全连接输入层、所述lstm模块及全连接输出层构建所述行为分析模块;以及

根据多组符合所述识别帧率的行为图像样本及其对应的标注数据训练所述行为分析模块,以使其具备根据输入的多帧连续图像输出对应行为分类的功能,其中,每组所述行为图像样本中包括多帧连续图像样本,每帧所述图像样本中包括至少一个识别对象样本,所述标注数据指示各所述识别对象样本在该组所述行为图像样本中的行为分类。

10.如权利要求9所述的行为识别方法,其特征在于,所述根据多组符合所述识别帧率的行为图像样本及其对应的标注数据训练所述行为分析模块的步骤包括:

对多组所述行为图像样本进行随机的镜像翻转,以获取多组新的行为图像样本;以及

根据多组所述行为图像样本及多组所述新的行为图像样本,训练所述行为分析模块。

11.如权利要求9所述的行为识别方法,其特征在于,所述按时间顺序联合所述识别对象的各所述姿态特征,以获取所述识别对象在所述多帧连续图像中的行为特征的步骤包括:

根据所述识别帧率,从所述多帧连续图像中选取对应数量的待识别图像;以及

将各所述待识别图像中所述识别对象的各段肢体的角度信息、角度差值信息及肢体点差值信息按时间顺序联列,以获取所述识别对象在所述对应数量的待识别图像中的行为特征。

12.如权利要求11所述的行为识别方法,其特征在于,所述将所述行为特征输入预先训练的行为分析模块,以识别所述识别对象在所述多帧连续图像中的行为的步骤包括:

将所述识别对象在所述对应数量的待识别图像中的行为特征输入所述全连接输入层,对输入的所述行为特征进行高维的映射;

将所述全连接输入层的输出数据输入所述lstm模块,由所述lstm模块中的多个所述lstm单元级联对所述输出数据进行处理;以及

将最后一个所述lstm单元输出的结果输入所述全连接输出层,由所述全连接输出层根据所述结果确定一个对应的行为分类。

13.如权利要求12所述的行为识别方法,其特征在于,所述以全连接输入层、所述lstm模块及全连接输出层构建所述行为分析模块的步骤包括:

以一层所述全连接输入层、两个所述lstm模块及一层所述全连接输出层构建所述行为分析模块。

14.如权利要求13所述的行为识别方法,其特征在于,所述将所述全连接输入层的输出数据输入所述lstm模块,由所述lstm模块中的多个所述lstm单元级联对所述输出数据进行处理的步骤包括:

将所述全连接输入层的输出数据输入第一lstm模块,由所述第一lstm模块中的多个所述lstm单元级联对所述输出数据进行第一次处理;以及

将多个所述lstm单元输出的第一结果输入第二lstm模块的多个所述lstm单元,由所述第二lstm模块中的多个所述lstm单元级联对所述第一结果进行第二次处理,并获取所述第二lstm模块的最后一个所述lstm单元输出的第二结果。

15.如权利要求12所述的行为识别方法,其特征在于,还包括以下步骤:

获取所述行为分类的概率值;以及

响应于所述概率值大于或等于预设的概率阈值,确定所述识别对象在所述对应数量的待识别图像中进行了对应于所述行为分类的行为。

16.如权利要求15所述的行为识别方法,其特征在于,还包括以下步骤:

从所述对应数量的待识别图像中去除第一帧图像,并从所述多帧连续图像中补入未被选取的第一帧图像,以更新所述对应数量的待识别图像;

获取所述识别对象在更新后的各所述待识别图像中的行为特征;

将所述识别对象在更新后的各所述待识别图像中的行为特征输入所述行为分析模块,以确定一个新的行为分类,并获取其概率值;

重复更新所述待识别图像、获取更新后的所述行为特征,以及确定所述新的行为分类及其概率值的步骤,直到完成对所述多帧连续图像中所有图像的识别;以及

根据大于或等于所述概率阈值的概率值,确定所述识别对象在对应的多帧待识别图像中进行了对应于其行为分类的行为。

17.如权利要求11所述的行为识别方法,其特征在于,在所述按时间顺序联合所述识别对象的各所述姿态特征,以获取所述识别对象在所述多帧连续图像中的行为特征的步骤之前,所述行为识别方法还包括以下步骤:

获取所述多帧连续图像的实际帧率;以及

若所述实际帧率大于所述识别帧率,则从所述多帧连续图像中平均地抽出多帧图像,以将所述实际帧率降低到所述识别帧率,和/或若所述实际帧率小于所述识别帧率,则向所述多帧连续图像中平均地加入多帧重复于前一帧图像的图像,以将所述实际帧率提升到所述识别帧率。

18.一种行为识别装置,其特征在于,包括:

存储器;以及

处理器,所述处理器连接所述存储器,并被配置用于实施如权利要求1~17中任一项所述的行为识别方法。

19.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时,实施如权利要求1~17中任一项所述的行为识别方法。

技术总结
本发明涉及一种行为识别方法及装置,以及一种计算机可读存储介质。该行为识别方法包括以下步骤:获取识别对象的多帧连续图像;提取所述识别对象在各所述图像中的姿态特征;按时间顺序联合所述识别对象的各所述姿态特征,以获取所述识别对象在所述多帧连续图像中的行为特征;以及将所述行为特征输入预先训练的行为分析模块,以识别所述识别对象在所述多帧连续图像中的行为。通过实施该行为识别方法,本发明能够根据多帧连续图像来识别人体的连续行为动作,从而进一步满足智能控制、安防监控、体育竞技、影视娱乐、教育辅助等多个领域对动态行为的实际识别需求,以扩大人体识别技术的应用范围。

技术研发人员:程斌
受保护的技术使用者:希亚思(上海)信息技术有限公司
技术研发日:2021.04.15
技术公布日:2021.07.02

转载请注明原文地址:https://doc.8miu.com/read-350032.html

最新回复(0)