一种用于复杂多人场景的人体姿态判定方法及系统与流程

文档序号:23156660发布日期:2020-12-04 13:51阅读:186来源:国知局
一种用于复杂多人场景的人体姿态判定方法及系统与流程

本发明属于模式识别和人工智能技术领域,具体涉及一种鲁棒的人体姿态判定方法,特别涉及一种用于复杂多人场景的人体姿态判定方法及系统。



背景技术:

视频监控设备广泛部署在了各种公共场所,如:幼儿园、养老院、车站、商场等。这些设备在日常运行中会产生海量的监控数据,仅靠人工监视视频场景的方式显然不切实际。监控场景中人体姿态的语义描述,即判定不同的人体姿态,可以帮助人们快速了解场景中个体的状态以及发生的事件,对实时检测意外和突发状况意义重大。

传统的人工监控方式不仅效率低下,而且难以及时对于一些突发状况做出迅速的反应,随着人工智能以及模式识别技术的发展,出现了一些人体姿态的识别方法。根据是否将人体视为“连杆”模型,人体姿态识别方法大致可以分为两类:基于视频特征提取的方法和基于人体关键点提取的方法。下面将对这两类方法进行展开讨论。

在基于视频特征提取的方法中,文献“actionrecognitionbydensetrajectories[c].ieeeconferenceoncomputervisionandpatternrecognition”提出利用光流场跟踪密集的采样点来获得人体运动的轨迹,进而完成人体姿态的识别。该方法为获取人体运动轨迹需要实时跟踪采样点,而在出现行人交错的场景,这种跟踪很容易出错。文献“humanposturerecognitionbasedonprojectionhistogramandsupportvectormachine”利用椭圆拟合人体轮廓,然后沿着椭圆长轴和短轴方向构建直方图用于描述人体形状,最后采用支持向量机识别人体姿态。对于无法准确提取边界框的情况,比如:多人相互咬合或者遮挡,该方法提取的人体形状会发生严重变化,导致姿态识别性能急剧下降。文献“abio-inspiredevent-basedsizeandpositioninvarianthumanposturerecognitionalgorithm”提出了一种基于简化线段hausdorff距离的人体姿态识别方法。该方法把视频序列中两个连续的图像帧作为输入,通过比较两帧之间的差异得到活动对象,并将活动对象的轮廓分解为矢量线段。该方法简化了计算,提高了效率,但是无法检测到前后帧之间不动身体部位导致识别的准确率下降。文献“posturerecognitioninvarianttobackground,clothtextures,bodysize,andcameradistanceusingmorphologicalgeometry”利用提取的人体轮廓的长度和宽度识别人体姿态,避免了穿着背景等细节信息的影响。由于人体轮廓长度和宽度只能对粗略的描述人体姿态,因此该方法识别姿态的准确率不高。基于视频特征提取的方法在判断人体姿态之前需要输入视频是对目标进行跟踪拍摄的或者首先通过跟踪算法提取目标的运动过程,导致此类方法很难适用于目标跟踪困难人数较多的复杂场景。

在基于人体关键点提取的方法中,文献“realtimemulti-person2dposeestimationusingpartaffinityfields”提出了一种同时预测身体部位位置和各部位位置关系的模型来提取人体关键点;文献“acoarse-finenetworkforkeypointlocalization”提出了一种由粗到精多级监督的网络cfn(coarse-finenetwork)用于提取人体关键点。这类方法无需跟踪目标,因此能够适用于多人场景中的人体姿态识别。文献“neuralnetworkapproachfor2-dimensionpersonposeestimationwithencodedmaskandkeypointdetection”利用卷积深度神经网络从图像分割蒙版中提取关键点,学习关键点之间的相互连接关系,实现了将图像分割与自底而上策略相结合来提取人体关键点。基于人体关键点提取的方法大多只是提取特征点,却没做出人体姿态的判定。然而在实际应用中,往往只得到人体的特征点是不够的,给出姿态的判定结果可以帮助人们快速地了解场景中个体的状态以及发生的事件,同时也是智能监控系统自动地对事态做出进一步分析和判断的重要依据。因此,出现了一些根据关键点信息判定人体姿态的方法。文献“humanpostureclassificationusingskeletoninformation”利用人体关键点之间的距离以及关键点连线的夹角判定人体姿态。但是在实际应用中经常会出现提取的关键点存在误差以及由于遮挡造成的关键点缺失等问题,这会使得现有姿态判定方法性能的急剧下降甚至失效。



技术实现要素:

本发明的目的在于针对上述现有技术存在的问题,提供一种用于复杂多人场景的人体姿态判定方法及系统,从而快速的了解场景中每个个体的状态以及发生的事件。

实现本发明目的的技术解决方案为:一种用于复杂多人场景的人体姿态判定方法,所述方法包括以下步骤:

步骤1,检测人体关键点,并划分关键点集合;

步骤2,提取各集合中人体关键点几何分布的统计特征;

步骤3,根据统计特征判定人体姿态。

进一步地,步骤1所述检测人体关键点,并划分关键点集合,具体过程包括:

步骤1-1,构建样本训练集,该集合包括标注好人体关键点的若干人体图像;

步骤1-2,利用所述样本训练集训练深度卷积神经网络;

步骤1-3,利用训练好的深度卷积神经网络检测待检测人体图像中的关键点;

步骤1-4,划分关键点集合,具体为:

剔除非人体躯干的关键点,包括手部,形成全身关键点集合;

将人体躯干关键点划分为上半身关键点集合、下半身关键点集合、左臂关键点集合和右臂关键点集合;

将下半身关键点继续划分为左腿关键点集合、右腿关键点集合、左侧大腿关键点集合以及右侧大腿关键点集合。

进一步地,步骤2所述提取各集合中人体关键点几何分布的统计特征,具体过程包括:

步骤2-1-1,计算各关键点集合的凸包;

步骤2-1-2,从构成凸包的关键点中找出距离最大的两个关键点;

步骤2-1-3,计算所述两个关键点连线沿顺时针方向旋转与水平方向的夹角,作为该凸包的水平角度。

进一步地,步骤3所述根据统计特征判定人体姿态,具体为:根据各关键点集合凸包的水平角度,判定手臂、腿部以及全身的姿态:

假设全身关键点集合凸包的水平夹角为α0;上半身关键点集合凸包水平夹角为α1;下半身关键点集合凸包的水平夹角为α2;左臂关键点集合凸包的水平夹角为α3;右臂关键点集合凸包的水平夹角为α4;左腿关键点集合凸包的水平夹角为α5;右腿关键点集合凸包的水平夹角为α6;左侧大腿关键点集合凸包的水平夹角为α7;右侧大腿关键点集合凸包的水平夹角为α8;

若|tanα3|∈(a3,b3)或|tanα4|∈(a3,b3),则判定为抬臂姿态;若|tanα5|∈(a5,b5)或|tanα6|∈(a5,b5),则判定为踢腿姿态;若|tanα0|∈(a0,b0)、|tanα1|∈(a1,b1)且|tanα2|∈(a2,b2),则判定为站立姿态;若|tanα7|∈[a7,b7]或|tanα8|∈[a7,b7],则判定为蹲坐姿态;若|tanα0|∈[c0,d0]、|tanα1|∈[c1,d1]且|tanα2|∈[c2,d2],则判定为平躺姿态。

进一步地,步骤2所述提取各集合中人体关键点几何分布的统计特征,具体过程包括:

步骤2-2-1,计算各关键点集合的最小外接矩形;

步骤2-2-2,分别计算最小外接矩形的长边和短边沿顺时针方向旋转与水平方向构成的夹角;

步骤2-2-3,取两个夹角中的较小值作为最小外接矩形的旋转角度。

进一步地,步骤3所述根据统计特征判定人体姿态,具体为:根据各关键点集合最小外接矩形的旋转角度,判定手臂、腿部以及全身的姿态:

假设全身关键点集合最小外接矩形的水平夹角为β0;上半身关键点集合最小外接矩形水平夹角为β1;下半身关键点集合最小外接矩形的水平夹角为β2;左臂关键点集合最小外接矩形的水平夹角为β3;右臂关键点集合最小外接矩形的水平夹角为β4;左腿关键点集合最小外接矩形的水平夹角为β5;右腿关键点集合最小外接矩形的水平夹角为β6;左侧大腿关键点集合最小外接矩形的水平夹角为β7;右侧大腿关键点集合最小外接矩形的水平夹角为β8;

则判定为抬臂姿态;若则判定为踢腿姿态;若则判定为站立姿态;若β1|∈[λ1,γ1],则判定为弯腰姿态;若则判定为蹲坐姿态;若|β0|∈[θ0,θ0]、β1|∈[θ1,θ1]且β2|∈[θ2,θ2],则判定为平躺姿态。

一种用于复杂多人场景的人体姿态判定系统,所述系统包括:

关键点划分模块,用于检测人体关键点,并划分关键点集合;

统计特征提取模块,用于提取各集合中人体关键点几何分布的统计特征;

姿态判定模块,用于根据统计特征判定人体姿态。

本发明与现有技术相比,其显著优点为:1)本发明采用了划分人体关键点集合的思想,相对于基于视频特征提取的方法,避免了目标提取的难题,可以适用于多人场景下的人体姿态判定;2)相对于现有基于人体关键点提取的方法,将人体姿态判定问题转换成了关键点集合的统计关系,使得本发明对于部分关键点的缺失和移位不敏感,即使在部分身体被遮挡导致关键点不准确的情况下,依然能够根据集合的统计几个特征得到正确的姿态判定结果,从而大大提高了姿态判定的鲁棒性;3)本发明的判定速度较快,可以实现监控范围内人体姿态的实时判定,帮助人们快速了解当前场景中的个体状态以及发生的事件。

下面结合附图对本发明作进一步详细描述。

附图说明

图1为一个实施例中用于复杂多人场景的人体姿态判定方法的流程图。

图2为一个实施例中人体关键点集合的划分示意图。

图3为一个实施例中计算关键点集合凸包的水平角度示意图。

图4为一个实施例中计算关键点集合最小外接矩形的旋转角度示意图。

图5为一个实施例中单个人基本姿态的判定结果图;其中,人体关键点用圆点标注;姿态的判定结果标注在了人的头部,图(a)至(c)分别为站立姿态、蹲坐姿态和弯腰姿态。

图6为一个实施例中单个人复杂姿态的判定结果图,其中,人体关键点用圆点标注,姿态的判定结果标注在人的头部,图(a)至(c)分别为站立抬臂姿态、站立踢腿姿态和站立抬臂踢腿姿态。

图7为一个实施例中多人复杂姿态的判定结果图,其中,人体关键点用圆点进行了标注,姿态的判定结果标注在人的头部。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

需要说明,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

在一个实施例中,结合图1,提供了一种用于复杂多人场景的人体姿态判定方法,所述方法包括以下步骤:

步骤1,检测人体关键点,并划分关键点集合;

步骤2,提取各集合中人体关键点几何分布的统计特征;

步骤3,根据统计特征判定人体姿态。

进一步地,在其中一个实施例中,步骤1所述检测人体关键点,并划分关键点集合,具体过程包括:

步骤1-1,构建样本训练集,该集合包括标注好人体关键点的若干人体图像;

步骤1-2,利用所述样本训练集训练深度卷积神经网络;

步骤1-3,利用训练好的深度卷积神经网络检测待检测人体图像中的关键点;

步骤1-4,结合图2,划分关键点集合,具体为:

剔除非人体躯干的关键点,包括手部,形成全身关键点集合;

将人体躯干关键点划分为上半身关键点集合、下半身关键点集合、左臂关键点集合和右臂关键点集合;

将下半身关键点继续划分为左腿关键点集合、右腿关键点集合、左侧大腿关键点集合以及右侧大腿关键点集合。

这里,采用文献“realtimemulti-person2dposeestimationusingpartaffinityfields”中的方法提取人体关键点。

这里,人体躯干关键点集合包括左眼、右眼、嘴部、颈部、左髋关节、右髋关节、左膝关节、右膝关节、左踝关节、右踝关节,共十个关键点;

上半身关键点集合包括左眼、右眼、嘴部、颈部、左髋关节、右髋关节,共六个关键点;

下半身关键点集合包括左髋关节、右髋关节、左膝关节、右膝关节、左踝关节、右踝关节,共六个关键点;

左臂关键点集合包括左腕关节、左肘关节、左肩关节,共三个关键点;

右臂关键点集合包括右腕关节、右肘关节、右肩关节,共三个关键点;

左腿关键点集合包括左踝关节、左膝关节、左髋关节,共三个关键点;

右腿关键点集合包括右踝关节、右膝关节、右髋关节,共三个关键点;

左侧大腿关键点集合包括左膝关节、左髋关节,共两个关键点;

右侧大腿关键点集合包括右膝关节、右髋关节,共两个关键点。

进一步地,在其中一个实施例中,结合图3,步骤2所述提取各集合中人体关键点几何分布的统计特征,具体过程包括:

步骤2-1-1,计算各关键点集合的凸包;

步骤2-1-2,从构成凸包的关键点中找出距离最大的两个关键点;

步骤2-1-3,计算所述两个关键点连线沿顺时针方向旋转与水平方向的夹角,作为该凸包的水平角度。

进一步地,在其中一个实施例中,步骤3所述根据统计特征判定人体姿态,具体为:根据各关键点集合凸包的水平角度,判定手臂、腿部以及全身的姿态:

假设全身关键点集合凸包的水平夹角为α0;上半身关键点集合凸包水平夹角为α1;下半身关键点集合凸包的水平夹角为α2;左臂关键点集合凸包的水平夹角为α3;右臂关键点集合凸包的水平夹角为α4;左腿关键点集合凸包的水平夹角为α5;右腿关键点集合凸包的水平夹角为α6;左侧大腿关键点集合凸包的水平夹角为α7;右侧大腿关键点集合凸包的水平夹角为α8;

若|tanα3|∈(a3,b3)或|tanα4|∈(a3,b3),则判定为抬臂姿态;若|tanα5|∈(a5,b5)或|tanα6|∈(a5,b5),则判定为踢腿姿态;若|tanα0|∈(a0,b0)、|tanα1|∈(a1,b1)且|tanα2|∈(a2,b2),则判定为站立姿态;若|tanα7|∈[a7,b7]或|tanα8|∈[a7,b7],则判定为蹲坐姿态;若|tanα0|∈[c0,d0]、|tanα1|∈[c1,d1]且|tanα2|∈[c2,d2],则判定为平躺姿态。

这里优选地,(a3,b3)=(0.25,+∞),(a5,b5)=(0.25,5),(a0,b0)=(a1,b1)=(a2,b2)=(4,+∞),[a7,b7]=[0,0.25],[c0,d0]=[c1,d1]=[c2,d2]=[0,0.25]。

进一步地,在其中一个实施例中,结合图4,步骤2所述提取各集合中人体关键点几何分布的统计特征,具体过程包括:

步骤2-2-1,计算各关键点集合的最小外接矩形;

步骤2-2-2,分别计算最小外接矩形的长边和短边沿顺时针方向旋转与水平方向构成的夹角;

步骤2-2-3,取两个夹角中的较小值作为最小外接矩形的旋转角度。

进一步地,在其中一个实施例中,步骤3所述根据统计特征判定人体姿态,具体为:根据各关键点集合最小外接矩形的旋转角度,判定手臂、腿部以及全身的姿态:

假设全身关键点集合最小外接矩形的水平夹角为β0;上半身关键点集合最小外接矩形水平夹角为β1;下半身关键点集合最小外接矩形的水平夹角为β2;左臂关键点集合最小外接矩形的水平夹角为β3;右臂关键点集合最小外接矩形的水平夹角为β4;左腿关键点集合最小外接矩形的水平夹角为β5;右腿关键点集合最小外接矩形的水平夹角为β6;左侧大腿关键点集合最小外接矩形的水平夹角为β7;右侧大腿关键点集合最小外接矩形的水平夹角为β8;

则判定为抬臂姿态;若则判定为踢腿姿态;若则判定为站立姿态;若β1|∈[λ1,γ1],则判定为弯腰姿态;若则判定为蹲坐姿态;若|β0|∈[θ0,θ0]、β1|∈[θ1,θ1]且β2|∈[θ2,θ2],则判定为平躺姿态。

这里优选地,[λ1,γ1]=[0°,25°],[θ0,θ0]=[θ1,θ1]=[θ2,θ2]=[0°,25°]。

在一个实施例中,提供了一种用于复杂多人场景的人体姿态判定系统,所述系统包括:

关键点划分模块,用于检测人体关键点,并划分关键点集合;

统计特征提取模块,用于提取各集合中人体关键点几何分布的统计特征;

姿态判定模块,用于根据统计特征判定人体姿态。

进一步地,在其中一个实施例中,所述关键点划分模块包括:

训练集构建单元,用于构建样本训练集,该集合包括标注好人体关键点的若干人体图像;

训练单元,用于利用所述样本训练集训练深度卷积神经网络;

关键点检测单元,利用训练好的深度卷积神经网络检测待检测人体图像中的关键点;

划分单元,用于划分关键点集合,具体包括:

第一划分子单元,用于剔除非人体躯干的关键点,包括手部,形成全身关键点集合;

第二划分子单元,用于将人体躯干关键点划分为上半身关键点集合、下半身关键点集合、左臂关键点集合和右臂关键点集合;

第三划分子单元,用于将下半身关键点继续划分为左腿关键点集合、右腿关键点集合、左侧大腿关键点集合以及右侧大腿关键点集合。

进一步地,在其中一个实施例中,所述统计特征提取模块包括:

第一计算单元,用于计算各关键点集合的凸包;

关键点筛选单元,用于从构成凸包的关键点中找出距离最大的两个关键点;

第二计算单元,用于计算所述两个关键点连线沿顺时针方向旋转与水平方向的夹角,作为该凸包的水平角度;

所述姿态判定模块,用于根据各关键点集合凸包的水平角度,判定手臂、腿部以及全身的姿态:

假设全身关键点集合凸包的水平夹角为α0;上半身关键点集合凸包水平夹角为α1;下半身关键点集合凸包的水平夹角为α2;左臂关键点集合凸包的水平夹角为α3;右臂关键点集合凸包的水平夹角为α4;左腿关键点集合凸包的水平夹角为α5;右腿关键点集合凸包的水平夹角为α6;左侧大腿关键点集合凸包的水平夹角为α7;右侧大腿关键点集合凸包的水平夹角为α8;

若|tanα3|∈(a3,b3)或|tanα4|∈(a3,b3),则判定为抬臂姿态;若|tanα5|∈(a5,b5)或|tanα6|∈(a5,b5),则判定为踢腿姿态;若|tanα0|∈(a0,b0)、|tanα1|∈(a1,b1)且|tanα2|∈(a2,b2),则判定为站立姿态;若|tanα7|∈[a7,b7]或|tanα8|∈[a7,b7],则判定为蹲坐姿态;若|tanα0|∈[c0,d0]、|tanα1|∈[c1,d1]且|tanα2|∈[c2,d2],则判定为平躺姿态。

进一步地,在其中一个实施例中,所述统计特征提取模块包括:

第三计算单元,用于计算各关键点集合的最小外接矩形;

第四计算单元,用于分别计算最小外接矩形的长边和短边沿顺时针方向旋转与水平方向构成的夹角;

第五计算单元,用于取两个夹角中的较小值作为最小外接矩形的旋转角度;

所述姿态判定模块,用于根据各关键点集合最小外接矩形的旋转角度,判定手臂、腿部以及全身的姿态:

假设全身关键点集合最小外接矩形的水平夹角为β0;上半身关键点集合最小外接矩形水平夹角为β1;下半身关键点集合最小外接矩形的水平夹角为β2;左臂关键点集合最小外接矩形的水平夹角为β3;右臂关键点集合最小外接矩形的水平夹角为β4;左腿关键点集合最小外接矩形的水平夹角为β5;右腿关键点集合最小外接矩形的水平夹角为β6;左侧大腿关键点集合最小外接矩形的水平夹角为β7;右侧大腿关键点集合最小外接矩形的水平夹角为β8;

则判定为抬臂姿态;若则判定为踢腿姿态;若则判定为站立姿态;若β1|∈[λ1,γ1],则判定为弯腰姿态;若则判定为蹲坐姿态;若|β0|∈[θ0,θ0]、β1|∈[θ1,θ1]且β2|∈[θ2,θ2],则判定为平躺姿态。

关于用于复杂多人场景的人体姿态判定系统的具体限定可以参见上文中对于用于复杂多人场景的人体姿态判定方法的限定,在此不再赘述。上述用于复杂多人场景的人体姿态判定系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

作为一种具体示例,在其中一个实施例中,对本发明进一步验证说明,利用上述最小外界矩形的方法判定监控视频中的人体姿态,测试结果如图5、图6、图7和表1所示。

表1人体姿态判定结果统计

由图5单个人多种基本姿态的判定结果和图6单人多种复杂姿态的判定结果可以看出,本发明能够较为准确的判定单个人的姿态。由图7存在相互遮挡的多人复杂姿态的判定结果可以看出,本发明能够同时判定多人的姿态,同时对遮挡等影响不敏感。如表1所示,本发明判定人体姿态的平均正确率为92.833%,其中,对于站立、蹲坐、抬臂、平躺等区分度较明显的姿态判别的正确率较高,而对于弯腰、踢腿等易混淆的姿态判别的正确率稍低。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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