一种人体动作识别方法和视觉增强处理系统与流程

文档序号:21084271发布日期:2020-06-12 16:47阅读:192来源:国知局
一种人体动作识别方法和视觉增强处理系统与流程

本发明实施例涉及图像处理技术领域,尤其涉及一种人体动作识别方法和视觉增强处理系统。



背景技术:

当今社会,在视频监控、增强现实技术(augmentedreality,ar)、虚拟现实技术(virtualreality,vr)、手语识别、计算行为科学和消费者行为分析等领域,对人体动作行为的监测、识别和分析都有着广泛的需求。

然而,由于人的个性特征,不同人做相同的动作差异可能较大。而且,人又是在实时运动的,且运动是不明确的,即不知道人要做什么动作。现有技术中的人体动作识别技术无法同时兼顾精确性需求和实时性需求。



技术实现要素:

本发明实施例提供一种人体动作识别方法和视觉增强处理系统,以解决现有的人体动作识别技术无法同时兼顾精确性需求和实时性需求的问题。

为解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种人体动作识别方法,应用于视觉增强处理系统,包括:

获取待处理图像;

检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息;

根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态;

根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像。

优选的,所述根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像的步骤包括:

若检测到一帧待处理图像中包含预设人体动作中的第一姿态,确定所述一帧待处理图像为初始帧待处理图像;

若检测到所述初始帧待处理图像之后的连续n帧待处理图像均不包含所述预设人体动作中任一姿态,确定所述n帧待处理图像中的最后一帧待处理图像为最终帧待处理图像;其中,所述n为大于1的正整数;

确定从所述初始帧待处理图像开始,至所述最终帧待处理图像结束的连续帧待处理图像为所述序列帧待处理图像。

优选的,所述获取待处理图像的步骤包括:

获取摄像头采集的图像;

将所述图像缩放至预设尺寸,将缩放后的图像转换为预设格式,得到所述待处理图像。

优选的,所述获取待处理图像的步骤包括:

获取摄像头采集图像的采集帧速率;

根据所述采集帧速率,确定所述视觉增强处理系统的处理帧速率。

优选的,所述确定所述视觉增强处理系统的处理帧速率的步骤包括:

若所述采集帧速率大于所述视觉增强处理系统的最大处理速率,将所述采集帧速率除以预设正整数,得到所述处理帧速率,所述处理帧速率为预设处理帧速率至所述最大处理速率中任一数值。

优选的,所述检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息的步骤包括:

根据所述采集帧速率和所述处理帧速率,得到确定关键帧待处理图像和非关键帧待处理图像的原则;

根据所述原则,确定当前帧待处理图像为所述关键帧待处理图像或所述非关键帧待处理图像;

若所述当前帧待处理图像为所述关键帧待处理图像,采用第一预设算法检测人体骨骼节点,确定检测出的人体骨骼节点所属的目标对象;

若所述当前帧待处理图像为所述非关键帧待处理图像,采用第二预设算法跟踪在关键帧待处理图像中检测出的目标对象,检测所述非关键帧待处理图像中所述目标对象的位置;根据所述目标对象的位置,利用第一算法模型检测人体骨骼节点。

优选的,所述根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态的步骤包括:

采用与人体的每一姿态类别对应的分类器,识别所述待处理图像中的人体姿态。

优选的,所述识别所述序列帧待处理图像中目标区域的人体动作的步骤包括:

根据序列帧待处理图像中的所述人体骨骼节点信息和识别出的人体姿态,提取所述目标区域的区域直方图特征,跟踪所述目标区域中的目标对象;

采用第二算法模型,识别所述目标对象的人体动作。

优选的,所述获取待处理图像的步骤之后,还包括:

获取所述待处理图像中的目标区域,每一所述目标区域对应一目标对象,每一所述目标对象对应多个所述人体骨骼节点。

优选的,所述识别所述待处理图像中目标区域的人体动作的步骤包括:

若所述待处理图像包括至少两个所述目标区域,获取每一所述目标区域的置信度;

识别所述待处理图像中置信度最高的预设个数目标区域的人体动作。

优选的,所述根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作的步骤之后,还包括:

若检测到所述目标区域中的预设人体动作,生成与所述预设人体动作对应的指示信息;

在所述目标区域显示所述指示信息。

优选的,所述预设人体动作包括单一动作和/或组合动作;

所述检测到所述目标区域中的预设人体动作的步骤包括:

若在所述目标区域连续检测到与所述单一动作对应的人体姿态,判定检测到所述目标区域中的所述单一动作;

和/或

采用第二算法模型,检测到所述目标区域中的所述组合动作。

第二方面,本发明实施例还提供了一种视觉增强处理系统,包括:

第一获取模块,用于获取待处理图像;

人体姿态识别模块,用于检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息;根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态;

人体动作识别模块,用于根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像。

优选的,所述人体动作识别模块,用于若检测到一帧待处理图像中包含预设人体动作中的第一姿态,确定所述一帧待处理图像为初始帧待处理图像;若检测到所述初始帧待处理图像之后的连续n帧待处理图像均不包含所述预设人体动作中任一姿态,确定所述n帧待处理图像中的最后一帧待处理图像为最终帧待处理图像;其中,所述n为大于1的正整数;确定从所述初始帧待处理图像开始,至所述最终帧待处理图像结束的连续帧待处理图像为所述序列帧待处理图像。

优选的,所述第一获取模块,用于获取摄像头采集的图像;将所述图像缩放至预设尺寸,将缩放后的图像转换为预设格式,得到所述待处理图像。

优选的,所述第一获取模块,用于获取摄像头采集图像的采集帧速率;根据所述采集帧速率,确定所述视觉增强处理系统的处理帧速率。

优选的,所述第一获取模块,用于若所述采集帧速率大于所述视觉增强处理系统的最大处理速率,将所述采集帧速率除以预设正整数,得到所述处理帧速率,所述处理帧速率为预设处理帧速率至所述最大处理速率中任一数值。

优选的,所述人体姿态识别模块,用于根据所述采集帧速率和所述处理帧速率,得到确定关键帧待处理图像和非关键帧待处理图像的原则;根据所述原则,确定当前帧待处理图像为所述关键帧待处理图像或所述非关键帧待处理图像;若所述当前帧待处理图像为所述关键帧待处理图像,采用第一预设算法检测人体骨骼节点,确定检测出的人体骨骼节点所属的目标对象;若所述当前帧待处理图像为所述非关键帧待处理图像,采用第二预设算法跟踪在关键帧待处理图像中检测出的目标对象,检测所述非关键帧待处理图像中所述目标对象的位置;根据所述目标对象的位置,利用第一算法模型检测人体骨骼节点。

优选的,所述人体姿态识别模块,用于采用与人体的每一姿态类别对应的分类器,识别所述待处理图像中的人体姿态。

优选的,所述人体动作识别模块,用于根据序列帧待处理图像中的所述人体骨骼节点信息和识别出的人体姿态,提取所述目标区域的区域直方图特征,跟踪所述目标区域中的目标对象;采用第二算法模型,识别所述目标对象的人体动作。

优选的,所述视觉增强处理系统还包括:

第二获取模块,用于获取所述待处理图像中的目标区域,每一所述目标区域对应一目标对象,每一所述目标对象对应多个所述人体骨骼节点。

优选的,所述人体动作识别模块,用于若所述待处理图像包括至少两个所述目标区域,获取每一所述目标区域的置信度;识别所述待处理图像中置信度最高的预设个数目标区域的人体动作。

优选的,所述视觉增强处理系统还包括:

生成模块,用于若检测到所述目标区域中的预设人体动作,生成与所述预设人体动作对应的指示信息;

显示模块,用于在所述目标区域显示所述指示信息。

优选的,所述预设人体动作包括单一动作和/或组合动作;

所述生成模块,用于若在所述目标区域连续检测到与所述单一动作对应的人体姿态,判定检测到所述目标区域中的所述单一动作;和/或,采用第二算法模型,检测到所述目标区域中的所述组合动作。

第三方面,本发明实施例还提供了一种视觉增强处理系统,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的人体动作识别方法的步骤。

第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的人体动作识别方法中的步骤。

在本发明实施例中,通过检测待处理图像中的人体骨骼节点,识别待处理图像中的人体姿态,根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别序列帧待处理图像中目标区域的人体动作,识别人体动作的精确性高,且识别速度快,能够同时满足用户对精确性和实时性的需求。

附图说明

图1为本发明实施例一的人体动作方法流程示意图;

图2为本发明一具体应用场景中检测人体骨骼节点的流程示意图;

图3为本发明一具体应用场景中识别人体姿态的流程示意图;

图4为本发明一具体应用场景中识别人体动作的流程示意图;

图5为本发明一具体应用场景的人体动作识别方法的流程示意图;

图6为本发明实施例二的视觉增强处理系统的结构示意图;

图7为本发明实施例三的视觉增强处理系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1是本发明实施例一的人体动作识别方法的流程示意图,该方法应用于视觉增强处理系统,包括:

步骤11:获取待处理图像;

步骤12:检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息;

步骤13:根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态;

步骤14:根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像。

本发明实施例中,通过检测待处理图像中的人体骨骼节点,识别待处理图像中的人体姿态,根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别序列帧待处理图像中目标区域的人体动作,识别人体动作的精确性高,且识别速度快,能够同时满足用户对精确性和实时性的需求。

本发明实施例中,所述视觉增强处理系统优选为ar设备,如:ar眼镜、ar眼罩或ar头盔。

在本发明的其他一些实施例中,所述人体动作识别方法也可以应用于其他图像处理设备,例如:包含摄像头的跳舞机或电视机等。

本发明实施例中,可以在unity中执行步骤11,以多线程的方式将待处理图像分发到机器学习算法平台,在机器学习算法平台中的人体姿态识别模块执行步骤12和步骤13,人体动作识别模块执行步骤14。

优选的,所述机器学习算法平台为基于卷积神经网络框架(convolutionalarchitectureforfastfeatureembedding,caffe)的机器学习算法平台。

本发明实施例中,步骤11包括:

获取摄像头采集的图像;

将所述图像缩放至预设尺寸,将缩放后的图像转换为预设格式,得到所述待处理图像。

其中,预设尺寸为后续步骤(即步骤12、步骤13和步骤14)所需尺寸,预设格式为后续步骤所需格式。

具体而言,摄像头每采集到一帧图像,可以采用双线性差值方法快速将这一帧图像缩放至预设尺寸,再将缩放后的图像转换为预设格式,如:在开源计算机视觉库(opensourcecomputervisionlibrary,opencv)中矩阵头(cvmat)所对应的格式。从而,得到所述待处理图像。

本发明实施例中,步骤11包括:

获取摄像头采集图像的采集帧速率;

根据所述采集帧速率,确定所述视觉增强处理系统的处理帧速率。

也就是说,根据摄像头采集图像的采集帧速率确定处理帧速率。

具体的,所述确定所述视觉增强处理系统的处理帧速率的步骤包括:

若所述采集帧速率大于所述视觉增强处理系统的最大处理速率,将所述采集帧速率除以预设正整数,得到所述处理帧速率,所述处理帧速率为预设处理帧速率至所述最大处理速率中任一数值。

其中,所述预设处理帧速率可以根据实际需求设定,更加灵活方便。

具体而言,可以根据视觉增强处理系统的能力确定处理帧速率。举例来说,一视觉增强处理系统的处理能力至多为50帧/秒(即视觉增强处理系统的最大处理速率为50帧/秒),若该视觉增强处理系统的摄像头的采集帧速率大于50帧/秒,可以通过将采集帧速率除以预设正整数,和/或,将采集帧速率减去指定正整数等方式,控制该视觉增强处理系统处理待处理图像的处理帧速率在10-50帧/秒之间(即预设处理帧速率为10帧/秒)。

从而,可以启动一个线程运行人体姿态识别模块,按照处理帧速率将待处理图像输入至该人体姿态识别模块。

在本发明的一些优选实施例中,步骤12包括:

所述检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息的步骤包括:

根据所述采集帧速率和所述处理帧速率,得到确定关键帧待处理图像和非关键帧待处理图像的原则;

根据所述原则,确定当前帧待处理图像为所述关键帧待处理图像或所述非关键帧待处理图像;

若所述当前帧待处理图像为所述关键帧待处理图像,采用第一预设算法检测人体骨骼节点,确定检测出的人体骨骼节点所属的目标对象;

若所述当前帧待处理图像为所述非关键帧待处理图像,采用第二预设算法跟踪在关键帧待处理图像中检测出的目标对象,检测所述非关键帧待处理图像中所述目标对象的位置;根据所述目标对象的位置,利用第一算法模型检测人体骨骼节点。

举例来说,若采集帧速率为80帧/秒,处理帧速率为40帧/秒,可以得到每获取2帧待处理图像,只能处理这2帧待处理图像中的1帧待处理图像,才能保证图像的采集和待处理图像的处理实时同步。从而,可以确定关键帧待处理图像和非关键帧待处理图像的原则为:关键帧待处理图像和非关键帧待处理图像交替出现,如:第1帧待处理图像是关键帧待处理图像,第2帧待处理图像是非关键帧待处理图像,第3帧待处理图像是关键帧待处理图像,第4帧待处理图像是非关键帧待处理图像,……,以此类推。

针对关键帧待处理图像,可以采用第一预设算法检测人体骨骼节点,获取人体骨骼节点信息,进而采用第三算法模型确定出人体骨骼节点所属的目标对象,即哪些人体骨骼节点属于哪个人。例如:关键帧待处理图像中有2个人a和b,采用第一预设算法检测出若干人体骨骼节点,采用第三算法模型,可以分别将a、b的人体骨骼节点各自合并为完整的人体骨架。

针对非关键帧待处理图像,由于关键帧待处理图像和非关键帧待处理图像间的时间间隔很短,关键帧待处理图像中的目标对象的移动距离较小,可以提取在关键帧待处理图像中检测到的目标对象的信息(如:位置),利用第二预设算法对在关键帧待处理图像中检测到的所有目标对象进行跟踪,如:跟踪关键帧待处理图像中的a和b,获得非关键帧待处理图像中a和b的位置,再利用第一算法模型获得非关键帧待处理图像中a和b的骨骼节点。

进一步的,针对非关键帧待处理图像,可以根据在关键帧待处理图像中检测到的目标对象的信息,提取待检测区域(即在关键帧待处理图像中检测到的目标对象所在区域)的梯度方向直方图(histogramoforientedgradient,hog)特征,确定重采样方案,搜索、检测出非关键帧待处理图像中目标对象的位置。

可选的,所述人体骨骼节点包括以下19个骨骼节点中的至少之一:嘴、左右眼、左右耳、颈椎、左右肩、左右肘、左右手腕、脊椎、左右臀、左右膝盖和左右踝。

本发明实施例中,也可以根据预设时间间隔,确定关键帧待处理图像和非关键帧待处理图像。

例如:相邻两帧关键帧待处理图像之间的预设时间间隔为0.1秒。先获取一帧关键帧待处理图像,间隔0.1秒后,再获取一帧关键帧待处理图像,将获取的这两帧关键帧待处理图像之间的待处理图像确定为非关键帧待处理图像。

所述预设时间间隔可以根据实际需求设定,以确保图像处理的实时性和准确性。

优选的,第一预设算法为openpose算法。

优选的,第二预设算法为粒子滤波算法。

优选的,第三算法模型为部分亲和字段(partaffinityfield,paf)估计模型。

优选的,第一算法模型为hourglass网络模型。

在图2所示的具体应用场景中,将序列帧待处理图像21分为关键帧待处理图像211和非关键帧待处理图像212,针对关键帧待处理图像211,采用openpose算法,检测人体骨骼节点,并采用paf估计模型确定出人体骨骼节点所属的目标对象,得到关键帧待处理图像211的检测结果,包括:人体骨骼节点信息。针对非关键帧待处理图像212,采用粒子滤波算法,提取出关键帧待处理图像211中检测出的目标对象的信息,确定重采样方案,搜索、检测出非关键帧待处理图像212中目标对象的位置,进而,检测出非关键帧待处理图像212中目标对象的骨骼节点,得到非关键帧待处理图像212的检测结果。

优选的,关键帧待处理图像的检测结果和非关键帧待处理图像的检测结果包括人体骨骼节点信息。

本发明实施例中,所述人体骨骼节点信息包括以下至少之一:人体骨骼节点的名称、人体骨骼节点的位置、相邻人体骨骼节点间连线的方向、人体骨骼节点的置信度、人体骨骼节点所属的目标对象。

在本发明的一些优选实施例中,步骤13包括:

采用与人体的每一姿态类别对应的分类器,识别所述待处理图像中的人体姿态。

其中,所述姿态类别包括:头部姿态、手部姿态、腿部姿态和/或全身姿态。

所述分类器为支持向量机(supportvectormachine,svm)分类器。

具体而言,在图3所示的应用场景中,可以先根据人体姿态所涉及的关键骨骼节点不同,将人体姿态识别分为四类,即:头部姿态识别、手部姿态识别、腿部姿态识别和全身姿态识别;然后,根据不同姿态类别,获取目标对象相应的人体骨骼节点信息,将训练好的多种姿态的svm分类器应用于不同类别的人体姿态识别。

优选的,所述采用与人体的每一姿态类别对应的分类器,识别所述待处理图像中的人体姿态的步骤之后,还包括:

将人体姿态的识别结果保存至一队列中,所述队列的长度根据人体动作识别所需的最大长度确定。

举例来说,若一目标对象连续挥手1秒,判定检测到该目标对象的挥手动作。且相邻两帧关键帧待处理图像之间的时间间隔为0.1秒,可以设定队列的长度为10,当检测到连续10帧关键帧待处理图像中的一目标对象的与挥手对应的人体姿态,判定检测到该目标对象的挥手动作。

可选的,设定队列的长度为50。

在本发明的一些优选实施例中,步骤11之后,还包括:

获取所述待处理图像中的目标区域,每一所述目标区域对应一目标对象,每一所述目标对象对应多个所述人体骨骼节点。

具体而言,目标区域即为人所在区域,每个目标区域中都包括一个人,每个人又对应多个人体骨骼节点。

优选的,所述识别所述待处理图像中目标区域的人体动作的步骤包括:

若所述待处理图像包括至少两个所述目标区域,获取每一所述目标区域的置信度;

识别所述待处理图像中置信度最高的预设个数目标区域的人体动作。

举例来说,待处理图像中包括6个人,每个人对应一目标区域,确定置信度最高的5个目标区域,识别这5个目标区域中的人的动作。

当然,在本发明的其他一些实施例中,也可以识别待处理图像中清晰度最高和/或完整度最高的预设个数目标区域的人体动作。

在本发明的一些优选实施例中,步骤14包括:

若检测到一帧待处理图像中包含预设人体动作中的第一姿态,确定所述一帧待处理图像为初始帧待处理图像;

若检测到所述初始帧待处理图像之后的连续n帧待处理图像均不包含所述预设人体动作中任一姿态,确定所述n帧待处理图像中的最后一帧待处理图像为最终帧待处理图像;其中,所述n为大于1的正整数;

确定从所述初始帧待处理图像开始,至所述最终帧待处理图像结束的连续帧待处理图像为所述序列帧待处理图像。

举例来说,要检测人的挥手动作,若检测到抬手的姿态(挥手的第一个姿态为抬手),将抬手姿态所在的那一帧待处理图像确定为初始帧待处理图像。若检测到初始帧待处理图像之后的连续n帧待处理图像均不包含预设人体动作中任一姿态(挥手的任一姿态:抬手的姿态、手向左动的姿态、手向右动的姿态和手放下的姿态),确定这n帧待处理图像中的最后一帧待处理图像为最终帧待处理图像,从初始帧待处理图像开始,至最终帧待处理图像结束的连续帧待处理图像为序列帧待处理图像。检测序列帧待处理图像中是否包含预设人体动作的多个姿态(挥手动作的姿态:抬手的姿态、手向左动的姿态、手向右动的姿态、手放下的姿态)。若序列帧待处理图像中包含预设人体动作的全部姿态,则能检测到该预设人体动作;若序列帧待处理图像中并未包含预设人体动作的全部姿态,则不能检测到该预设人体动作,如:只检测到初始帧待处理图像中抬手的姿态,并没有在序列帧待处理图像中初始帧待处理图像的后续帧待处理图像检测到手向左动的姿态、手向右动的姿态和手放下的姿态,则在该序列帧待处理图像中没有检测到挥手的动作。

其中,n可以根据实际需求确定,更加灵活方便。如:考虑到人在做动作时可能会有停顿,可以设定n为10,检测到预设人体动作的第一姿态(即检测到初始帧待处理图像)之后,只有检测到初始帧待处理图像之后的连续10帧待处理图像都不包含预设人体动作的任一姿态,将这10帧待处理图像中的最后一帧待处理图像确定为最终帧待处理图像。

在本发明的一些优选实施例中,所述识别所述序列帧待处理图像中目标区域的人体动作的步骤包括:

根据序列帧待处理图像中的所述人体骨骼节点信息和识别出的人体姿态,提取所述目标区域的区域直方图特征,跟踪所述目标区域中的目标对象;

采用第二算法模型,识别所述目标对象的人体动作。

在图4所示的应用场景中,可以在序列帧待处理帧图像41中的初始帧待处理图像确定预设个数(如:5个)目标区域。根据检测序列帧待处理帧图像41得到的检测信息42(包括检测出的人体骨骼节点与识别出的人体姿态),提取这5个目标对象的人体骨骼节点信息(包括:人体骨骼节点的位置、相邻人体骨骼节点连线的方向、人体骨骼节点的置信度),和姿态识别结果(如:抬手、手向左动、手向右动、手放下的姿态),提取这5个目标区域的区域直方图特征,采用第三预设算法跟踪这5个目标对象,应用第二算法模型,识别这5个目标对象的人体动作。

优选的,所述第三预设算法为粒子滤波算法。

优选的,所述第二算法模型为长短期记忆网络(longshort-termmemory,lstm)模型。

优选的,若序列帧待处理图像中的初始帧待处理图像包含的目标区域的个数小于或等于预设个数,可以在初始帧待处理图像之后的后续帧待处理图像确定新的目标区域,即增加新的目标对象进行跟踪。

优选的,若在初始帧待处理图像之后的后续帧待处理图像中,目标区域对应的目标对象消失(即某个人消失在镜头中),可以剔除该目标对象,确定新的目标区域,即增加新的目标对象进行跟踪。

优选的,跟踪的目标区域的个数之和小于或等于预设个数。例如,始终保持跟踪不超过5个人。

在本发明的一些优选实施例中,步骤14之后,还包括:

若检测到所述目标区域中的预设人体动作,生成与所述预设人体动作对应的指示信息;

在所述目标区域显示所述指示信息。

也就是说,检测到预设人体动作,将与预设人体动作对应的指示信息叠加显示在相应的显示区域内。

优选的,所述指示信息包括:所述预设人体动作的标签、位置和/或概率值。

例如:在序列帧待处理图像中检测到一目标对象的摇头动作,在该目标对象的头部显示一文字内容为“摇头”的标签。

优选的,所述预设人体动作包括单一动作和/或组合动作;

所述检测到所述目标区域中的预设人体动作的步骤包括:

若在所述目标区域连续检测到与所述单一动作对应的人体姿态,判定检测到所述目标区域中的所述单一动作;

和/或

采用第二算法模型,检测到所述目标区域中的所述组合动作。

具体而言,将人体动作分为单一动作与组合动作。单一动作指动作的主要特征只涉及某一固定人体姿态(如:举手、下蹲等),而组合动作则涉及多个人体姿态(如挥手、翻跟头等)。从而,单一动作与组合动作的识别过程也不同。当待检测动作为单一动作(如:举手)时,若连续检测到某一目标对象与举手对应的人体姿态,判定检测到该目标对象的举手动作。当待检测动作为组合动作(如:挥手)时,可采用lstm算法模型,检测目标区域中的组合动作。

请参阅图5,图5是本发明的一具体应用场景的人体动作识别方法的流程示意图,具体步骤如下:

步骤51:获取视频数据;

可以在unity中读取摄像头采集的视频数据,针对视频数据中的每一帧待处理图像,将其转换为指定的格式,分发至基于caffe的机器学习算法平台。

步骤52:人体姿态识别;

可以根据openpose算法与粒子滤波算法,检测每一帧待处理图像的人体骨骼节点,获取人体骨骼节点信息;提取、筛选出与人体姿态对应的人体骨骼节点信息,采用svm分类器,进行人体姿态识别。

步骤53:人体动作识别;

可以根据步骤52获取的人体骨骼节点信息和识别出的人体姿态,提取目标区域的区域直方图特征,采用lstm模型进行目标区域的人体动作识别。

步骤54:进行人体姿态信息、人体动作信息的交互。

在基于caffe的机器学习算法平台识别出人体姿态、人体动作后,将人体姿态信息、人体动作信息返回至unity中,可以在目标区域显示与识别出的人体姿态、人体动作对应的指示信息,以进行人体姿态信息、人体动作信息的交互。

请参阅图6,图6是本发明实施例二的视觉增强处理系统的结构示意图,该视觉增强处理系统60包括:

第一获取模块61,用于获取待处理图像;

人体姿态识别模块62,用于检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息;根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态;

人体动作识别模块63,用于根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像。

本发明实施例中,通过检测待处理图像中的人体骨骼节点,识别待处理图像中的人体姿态,根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别序列帧待处理图像中目标区域的人体动作,识别人体动作的精确性高,且识别速度快,能够同时满足用户对精确性和实时性的需求。

优选的,所述人体动作识别模块63,用于若检测到一帧待处理图像中包含预设人体动作中的第一姿态,确定所述一帧待处理图像为初始帧待处理图像;若检测到所述初始帧待处理图像之后的连续n帧待处理图像均不包含所述预设人体动作中任一姿态,确定所述n帧待处理图像中的最后一帧待处理图像为最终帧待处理图像;其中,所述n为大于1的正整数;确定从所述初始帧待处理图像开始,至所述最终帧待处理图像结束的连续帧待处理图像为所述序列帧待处理图像。

优选的,所述第一获取模块61,用于获取摄像头采集的图像;将所述图像缩放至预设尺寸,将缩放后的图像转换为预设格式,得到所述待处理图像。

优选的,所述第一获取模块61,用于获取摄像头采集图像的采集帧速率;根据所述采集帧速率,确定所述视觉增强处理系统的处理帧速率。

优选的,所述第一获取模块61,用于若所述采集帧速率大于所述视觉增强处理系统的最大处理速率,将所述采集帧速率除以预设正整数,得到所述处理帧速率,所述处理帧速率为预设处理帧速率至所述最大处理速率中任一数值。

优选的,所述人体姿态识别模块62,用于根据所述采集帧速率和所述处理帧速率,得到确定关键帧待处理图像和非关键帧待处理图像的原则;根据所述原则,确定当前帧待处理图像为所述关键帧待处理图像或所述非关键帧待处理图像;若所述当前帧待处理图像为所述关键帧待处理图像,采用第一预设算法检测人体骨骼节点,确定检测出的人体骨骼节点所属的目标对象;若所述当前帧待处理图像为所述非关键帧待处理图像,采用第二预设算法跟踪在关键帧待处理图像中检测出的目标对象,检测所述非关键帧待处理图像中所述目标对象的位置;根据所述目标对象的位置,利用第一算法模型检测人体骨骼节点。

优选的,所述人体姿态识别模块62,用于采用与人体的每一姿态类别对应的分类器,识别所述待处理图像中的人体姿态。

优选的,所述人体动作识别模块63,用于根据序列帧待处理图像中的所述人体骨骼节点信息和识别出的人体姿态,提取所述目标区域的区域直方图特征,跟踪所述目标区域中的目标对象;采用第二算法模型,识别所述目标对象的人体动作。

优选的,所述视觉增强处理系统60还包括:

第二获取模块,用于获取所述待处理图像中的目标区域,每一所述目标区域对应一目标对象,每一所述目标对象对应多个所述人体骨骼节点。

优选的,所述人体动作识别模块63,用于若所述待处理图像包括至少两个所述目标区域,获取每一所述目标区域的置信度;识别所述待处理图像中置信度最高的预设个数目标区域的人体动作。

优选的,所述视觉增强处理系统60还包括:

生成模块,用于若检测到所述目标区域中的预设人体动作,生成与所述预设人体动作对应的指示信息;

显示模块,用于在所述目标区域显示所述指示信息。

优选的,所述预设人体动作包括单一动作和/或组合动作;

所述生成模块,用于若在所述目标区域连续检测到与所述单一动作对应的人体姿态,判定检测到所述目标区域中的所述单一动作;和/或,采用第二算法模型,检测到所述目标区域中的所述组合动作。

本发明实施例提供的视觉增强处理系统,能够实现人体动作识别方法实施例中的各个过程,为避免重复,这里不再赘述。

请参考图7,图7为本发明实施例三的视觉增强处理系统的结构示意图,该视觉增强处理系统70包括处理器71,存储器72,存储在存储器72上并可在所述处理器71上运行的计算机程序,该计算机程序被处理器71执行时实现如下步骤:

获取待处理图像;

检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息;

根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态;

根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像。

本发明实施例中,通过检测待处理图像中的人体骨骼节点,识别待处理图像中的人体姿态,根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别序列帧待处理图像中目标区域的人体动作,识别人体动作的精确性高,且识别速度快,能够同时满足用户对精确性和实时性的需求。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作,所述序列帧待处理图像包括至少三帧所述待处理图像的步骤包括:

若检测到一帧待处理图像中包含预设人体动作中的第一姿态,确定所述一帧待处理图像为初始帧待处理图像;

若检测到所述初始帧待处理图像之后的连续n帧待处理图像均不包含所述预设人体动作中任一姿态,确定所述n帧待处理图像中的最后一帧待处理图像为最终帧待处理图像;其中,所述n为大于1的正整数;

确定从所述初始帧待处理图像开始,至所述最终帧待处理图像结束的连续帧待处理图像为所述序列帧待处理图像。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述获取待处理图像的步骤包括:

获取摄像头采集的图像;

将所述图像缩放至预设尺寸,将缩放后的图像转换为预设格式,得到所述待处理图像。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述获取待处理图像的步骤包括:

获取摄像头采集图像的采集帧速率;

根据所述采集帧速率,确定所述视觉增强处理系统的处理帧速率。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述确定所述视觉增强处理系统的处理帧速率的步骤包括:

若所述采集帧速率大于所述视觉增强处理系统的最大处理速率,将所述采集帧速率除以预设正整数,得到所述处理帧速率,所述处理帧速率为预设处理帧速率至所述最大处理速率中任一数值。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述检测所述待处理图像中的人体骨骼节点,获取人体骨骼节点信息的步骤包括:

根据所述采集帧速率和所述处理帧速率,得到确定关键帧待处理图像和非关键帧待处理图像的原则;

根据所述原则,确定当前帧待处理图像为所述关键帧待处理图像或所述非关键帧待处理图像;

若所述当前帧待处理图像为所述关键帧待处理图像,采用第一预设算法检测人体骨骼节点,确定检测出的人体骨骼节点所属的目标对象;

若所述当前帧待处理图像为所述非关键帧待处理图像,采用第二预设算法跟踪在关键帧待处理图像中检测出的目标对象,检测所述非关键帧待处理图像中所述目标对象的位置;根据所述目标对象的位置,利用第一算法模型检测人体骨骼节点。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述根据所述人体骨骼节点信息,识别所述待处理图像中的人体姿态的步骤包括:

采用与人体的每一姿态类别对应的分类器,识别所述待处理图像中的人体姿态。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述识别所述序列帧待处理图像中目标区域的人体动作的步骤包括:

根据序列帧待处理图像中的所述人体骨骼节点信息和识别出的人体姿态,提取所述目标区域的区域直方图特征,跟踪所述目标区域中的目标对象;

采用第二算法模型,识别所述目标对象的人体动作。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述获取待处理图像的步骤之后,还包括:

获取所述待处理图像中的目标区域,每一所述目标区域对应一目标对象,每一所述目标对象对应多个所述人体骨骼节点。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述识别所述待处理图像中目标区域的人体动作的步骤包括:

若所述待处理图像包括至少两个所述目标区域,获取每一所述目标区域的置信度;

识别所述待处理图像中置信度最高的预设个数目标区域的人体动作。

优选的,计算机程序被处理器71执行时还可实现如下步骤:

所述根据序列帧待处理图像中的人体骨骼节点信息和识别出的人体姿态,识别所述序列帧待处理图像中目标区域的人体动作的步骤之后,还包括:

若检测到所述目标区域中的预设人体动作,生成与所述预设人体动作对应的指示信息;

在所述目标区域显示所述指示信息。

优选的,所述预设人体动作包括单一动作和/或组合动作;

计算机程序被处理器71执行时还可实现如下步骤:所述检测到所述目标区域中的预设人体动作的步骤包括:

若在所述目标区域连续检测到与所述单一动作对应的人体姿态,判定检测到所述目标区域中的所述单一动作;

和/或

采用第二算法模型,检测到所述目标区域中的所述组合动作。

该视觉增强处理系统能够实现上述人体动作识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述人体动作识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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