运动信息图像化的人体动作识别方法与流程

文档序号:12039181阅读:317来源:国知局
运动信息图像化的人体动作识别方法与流程
本发明涉及人体动作识别方法,具体地,涉及一种运动信息图像化的人体动作识别方法。

背景技术:
人体动作识别技术因其在安全监控、军事训练或是娱乐游戏等方面的广泛需求,已成为当今人机交互领域的热门课题。人体动作识别技术可以分为两类,分别是基于摄像头拍摄的运动录像的识别技术和基于人体关节运动信息的识别技术。前者对包含人物运动的图片直接做图像识别、模版匹配,而后者对人体关节运动信息的时空矩阵做数学处理和机器学习,或者利用状态机方法直接定义动作。现有技术中也存在动作识别方法,比如中国专利公开号为101788861A(申请号为200910002876.9)的发明专利,该专利公开“一种三维动作识别方法与系统,用以识别物体在三维空间的动作结构。此方法首先提供数据库,此数据库记录数组预设惯性信息,且每组预设惯性信息描述在三维空间中某种特定动作的惯性动态。接着,通过物体内部的运动传感器撷取物体动作时的惯性信息,并与数据库内所有的预设惯性信息做相似度的比较。最后,依据相似度的高低判断物体的动作是否同于预设在数据库内某组预设惯性信息所对应的特定动作。”又如:中国专利公开号为101794384A(申请号为20101022916.6)的发明专利“一种基于人体轮廓图提取与分组运动图查询的投篮动作识别方法”,该发明公开了“一种基于人体轮廓图提取与分组运动图查询的投篮动作识别方法。方法的步骤如下:预先采集投篮动作到数据库并按类分组,每组构建运动图,将所有动作渲染成多视角下的二维图像后提取关键特征,计算每个姿态的图像特征值。运行时拍下人投篮的图片序列对其进行精细的轮廓提取,计算轮廓图的特征值,在数据库中找到与其特征值最相似姿态所在组为击中组,找到该投篮动作所有轮廓击中最多的组,再找到每帧轮廓图在该组运动图上与其特征值最相近的姿态所在节点,分析这些点并修复成连续的一段,作为动作识别结果。本发明能只利用图像获取设备快速而准确地识别出投篮 动作。”目前的人体动作识别技术尚不成熟,存在诸多问题,包括时空鲁棒性差、无法识别复杂的全身动作、难以识别出非定义动作和需要海量的学习样本,而最大的问题是没有同时解决这四个问题。其中时空鲁棒性差意为对运动的幅度和速度变化敏感性过高,以致动作难以被识别,尤其导致难以识别出副样本(即非定义动作)。无法识别复杂运动的原因主要是对运动信息做数学处理时过滤了过多的关键信息或是提取了错误的关键信息。而无法识别复杂的全身运动主要原因是在识别过程中对运动样本做分析和信息提取的时候提取了无用信息或者过滤了过多的有用信息。难以识别出非定义动作意为难以辨认出没有定义过的无意义动作,而是将无意义动作也错误地归类为某个已经定义过的动作。

技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种运动信息图像化的人体动作识别方法。该方法将人体各个关节随时间变化的运动数据转化为灰度图像,再利用图像识别算法来学习和识别这些灰度图像,以此识别出人体动作,从而提升了全身性的人体动作识别准确率和鲁棒性,而且还能在一定范围内根据实时场景不同而调整动作识别的鲁棒性。为实现上述目的,本发明提供一种运动信息图像化的人体动作识别方法,该方法包括如下步骤:第一步:利用人体动作捕捉仪器获取人体运动学习样本矩阵;每个样本矩阵M包含一个完整动作。所有样本矩阵的大小都是相同的,为3P*T,其中,P为人体动作捕捉仪器捕捉到的关节数量,T为一个固定的帧数,单个样本矩阵M的每一纵列数据为在某一帧人各个关节点相对于盆骨关节的X、Y、Z方向上的距离;样本矩阵M的纵列数据按顺序分成三关节个组,分别是关节组X,关节组Y,关节组Z,每一个关节组都有P个数据;关节组X中的数据为人体各个关节点相对于盆骨关节点在X方向上的距离;关节组Y中的数据为人体各个关节点相对于盆骨关节点在Y方向上的距离;关节组Z中的数据为人体各个关节点相对于盆骨关节点在Z方向上的距离;此外,每个关节组中人体关节按规定顺序排列,P个关节点按照层级关系被分为了5个支杆组,按顺序分别为主躯干组、左臂组、右臂组、左腿组和右腿组,即:主躯干组:按顺序包括头、脖颈、脊椎和盆骨;左臂组:按顺序包括左肩、左手肘、左手腕、左手;右臂组:按顺序包括右肩、右手肘、右手腕、右手;左腿组:按顺序包括左腿根部、左膝盖、左脚腕、左脚;右腿组:按顺序包括右腿根部、右膝盖、右脚腕、右脚;第二步:将所有学习样本矩阵转化为3P*T大小的灰度图。首先将样本矩阵M中的所有数据映射至(0,255)的大小区间内;所述映射方法如下:m[i,j]=M[i,j]*50+120;即m的每一个点的灰度大小等于M对应数据乘以50加上120。其次对灰度图m做灰度均衡化处理,以此来放大各个节点的运动信息并消减不同人体型对于识别准确度的影响。第三步:将第二步得到的灰度图放入PCA图像识别器中进行学习。放入PCA图像识别器中学习的是第二步产生的一系列灰度图以及其相对应的动作名称。可以通过调整PCA图像识别器的参数来调节动作识别的鲁棒性。第四步:利用人体动作捕捉仪器获取待识别的人体运动样本矩阵。每个待识别的运动矩阵H记录了一段运动数据。所有样本矩阵的行数都是相同的,为3P,列数为一个不固定的帧数,以该运动样本的运动时间而定。其中,每一纵列的数据构成与第一步相同;第五步:将待识别的矩阵转化为3P*T大小的灰度图首先对运动矩阵做于第二步相同的处理。其次对得到的图像利用插值法将其缩放至3P*T的大小。第六步:将第五步得到的灰度图放入第三步学习好的PCA图像识别器中做识别。第七步:第四步中待识别的人体运动样本的识别结果即为第六步计算出的识别结果。与现有技术相比,本发明具有如下的有益效果:本发明将图像识别技术应用到三维空间下的人体关节时空信息分析中,可以识别出三维空间下的复杂全身动作;对运动的幅度和速度变化的鲁棒性强、所需学习样 本数量低,即在样本学习阶段只使用固定录制时长、同一位动作录制对象、无需录制副样本的情况下,可以准确识别出以可变幅度和速率完成的定义动作,分辨出非定义动作,也不受识别对象身材的影响;同时可以根据识别场景的需要方便地调控动作定义的严格程度,即调控鲁棒性。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明实施例中各关节组的数据示意图;图2为本发明实施例中人体关节示意图;图3为本发明实施例中所得的运动图像示意图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。本实施例提供一种运动信息图像化的人体动作识别方法,具体步骤为:第一步:利用人体动作捕捉仪器获取人体运动学习样本矩阵;每个样本矩阵M包含一个完整动作。所有样本矩阵的大小都是相同的,为3P*T,其中,P为人体动作捕捉仪器捕捉到的关节数量,T为一个固定的帧数,单个样本矩阵M的每一纵列数据为在某一帧人各个关节点相对于盆骨关节的X、Y、Z方向上的距离,;样本矩阵M的纵列数据按顺序分成三关节个组,分别是关节组X,关节组Y,关节组Z,每一个关节组都有P个数据;关节组X中的数据为人体各个关节点相对于盆骨关节点在X方向上的距离;关节组Y中的数据为人体各个关节点相对于盆骨关节点在Y方向上的距离;关节组Z中的数据为人体各个关节点相对于盆骨关节点在Z方向上的距离;此外,每个关节组中人体关节按规定顺序排列,P个关节点按照层级关系被分为了5个支杆组,按顺序分别为主躯干组、左臂组、右臂组、左腿组和右腿组,即:主躯干组:按顺序包括头、脖颈、脊椎和盆骨;左臂组:按顺序包括左肩、左手肘、左手腕、左手;右臂组:按顺序包括右肩、右手肘、右手腕、右手;左腿组:按顺序包括左腿根部、左膝盖、左脚腕、左脚;右腿组:按顺序包括右腿根部、右膝盖、右脚腕、右脚;本发明采用上述的人体运动矩阵M,从识别方法的角度来说,是为了增强矩阵中相邻点的物理关联型,使其在之后识别器中的学习结果更具有物理意义,增强识别准确度,如果以随机方式组织纵列数据,就会大幅度降低识别准确度。另一方面,上述的人体运动矩阵M在转化为灰度图后,也可以方便开发者用肉眼来检查样本的好坏。第二步:将所有学习样本矩阵转化为3P*T大小的灰度图。首先将样本矩阵M中的所有数据映射至(0,255)的大小区间内;所述映射方法如下:m[i,j]=M[i,j]*50+120;即m的每一个点的灰度大小等于M对应数据乘以50加上120。其次对灰度图m做灰度均衡化处理,以此来放大各个节点的运动信息并消减不同人体型对于识别准确度的影响。i是行号,j是列号,0<=i<m行数,0<=j<m列数。当然,本发明中采用的映射方法可以有多种,不一定是乘以50加上120,其他方法也可以,只要能实现上述映射目的即可。本发明用上述灰度图m、映射操作是为了将样本矩阵转化为灰度图的同时尽可能保留矩阵中蕴含的运动信息。第三步:将第二步得到的灰度图放入PCA图像识别器中进行学习。放入PCA图像识别器中学习的是第二步产生的一系列灰度图以及其相对应的动作名称。可以通过调整PCA图像识别器的参数来调节动作识别的鲁棒性。本实施例优选使用OpenCV开源库提供的EigenObjectRecognizer作为识别器。如果采用的识别阈值越高,动作被识别出的概率越低,如果识别阈值越低,动作被识别出的概率越高,但识别的准确度会下降,即动作识别的鲁棒性随阈值的上升而下降,本发明采用的阈值范围为2000至2500。第四步:利用人体动作捕捉仪器获取待识别的人体运动样本矩阵。每个待识别的运动矩阵X记录了一段运动数据。所有样本矩阵的行数都是相 同的,为3P,列数为一个不固定的帧数,以该运动样本的运动时间而定。其中,每一纵列的数据构成与第一步相同;第五步:将待识别的矩阵转化为3P*T大小的灰度图首先对运动矩阵做于第二步相同的处理。其次对得到的图像利用插值法将其缩放至3P*T的大小。第六步:将第五步得到的灰度图放入第三步学习好的PCA图像识别器中做识别。第七步:第四步中待识别的人体运动样本的识别结果即为第六步计算出的识别结果。经对本发明上述方法的准确度和鲁棒性测试,测试结果如下:学习样本:四秒时长、标准身材男生录制的举重动作、骑马舞动作、高抬腿动作、挥手动作和踢腿动作各10组,一共50个样本。识别样本:三秒、四秒、五秒时长,标准身材男生、矮小身材女生、高大身材男生录制的举重动作、骑马舞动作、高抬腿动作、挥手动作和踢腿动作各5组,工225组;三秒、四秒、五秒时长,标准身材男生、矮小身材女生、高大身材男生录制的无意义动作副样本共215组。识别器:OpenCV开源库提供的EigenObjectRecognizer。识别阈值:2500。特征维度:50动作采集设备:Kinect。识别结果:总体出错率为11/440。定动作出错率为0/225。副样本认错率为11/215。2.以本识别方法按照历史回溯法做了实时的动作识别系统。可以实时地识别出上述五种动作和无意义动作。本发明将人体各个关节随时间变化的运动数据转化为灰度图像,再利用图像识别算法来学习和识别这些灰度图像,以此识别出人体动作,从而提升了全身性的人体动作识别准确率和鲁棒性,而且还能在一定范围内根据实时场景不同而调整动作识别的鲁棒性。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1