一种人体动作识别训练系统的实现方法

文档序号:6512194阅读:305来源:国知局
一种人体动作识别训练系统的实现方法
【专利摘要】本发明公开了一种人体动作识别训练系统的实现方法包括以下步骤:(1)训练信息的采集;(2)样本数据正则化处理;(3)特征三维向量集的提取;(4)动作识别及认定。该实现方法采用降精度离散化坐标算法以简化运动信息表示和减少特征提取算法的计算量,同时采用多层次特征匹配算法以加快识别速度。本发明的实现方法的逻辑设计及算法简单合理,可行可靠、易实现。
【专利说明】一种人体动作识别训练系统的实现方法
【技术领域】
[0001]本发明属于计算机工程【技术领域】,涉及了一种基于机器学习的、用于长产生特定人体动作识别器的训练系统的实现方法。
【背景技术】
[0002]动作识别是近年来非常热门的研究领域,通过图像捕捉设备,在较短的时间内完成对人体动作的识别过程,并转换为计算机等设备的操作指令;从而被作为一种有效的输入手段被应用到游戏、电影制作等广泛的应用领域中。
[0003]动作识别首先要解决的问题是找到人体动作的部位,人体动作的部位是动作识别的依据,一般称为“关注位置”。因为通常关注位置为人脸、手等裸露的部位,其颜色跟环境、衣服有比较大的区别,所以可以从颜色上把关注位置与非关注位置区分开,对于关注位置的确定,一般采用基于颜色分布统计的色彩直方图为依据,具体来说,是将人体动作捕捉为静态的待识别图像,根据图像不同区域(两区域中心位置、大小有任意一项不同则这两个区域为不同区域)的颜色统计出色彩直方图,然后把各区域的统计直方图与预设的直方图做比较,寻找最相似的区域作为最后的关注位置。
[0004]但这种方法对颜色要求很高,人穿着与肤色相近的衣服、周围环境与肤色相近、环境光色调单一等等因素都会导致识别率大幅下降,且该方法只能获得所关注位置在图像的哪个位置,而无法获得关注位置的具体表达含义。
[0005]为消除颜色对图像识别的影响,现有的识别技术通常先把待识别图像转化为灰度图,然后对得到的灰度图进行识别。待识别图像被转化为灰度图后,需要用经过神经网络等人工智能技术训练的识别系统从整体中根据轮廓线条走向、各部分位置关系等特征寻找到关注位置,例如从人的全身像里找到脸或者手。
[0006]目前,在开源计算机视觉库项目中,采用了一种基于简单特征级联的图像识别算法,采用该算法的动作识别过程大致可分为两部分,首先要通过训练过程生成特征文件,之后通过识别过程根据生成的特征文件对捕获的图像进行识别,得到识别结果。该算法取得了较好的效果,但是其还是存在着一些不足,如特征文件的计算量比较大、识别速度比较慢等。因此,市场上仍需一种计算量少、识别速度快的图像训练识别算法。

【发明内容】

[0007]本发明的目的在于针对现有技术的不足,提供了一种降精度离散化坐标算法以简化运动信息表示和减少特征提取算法的计算量,同时采用多层次特征匹配算法以加快识别速度的人体动作识别训练系统的实现方法。
[0008]为了实现上述目的,本发明采用了以下技术方案:
一种人体动作识别训练系统的实现方法,包括以下步骤:
(I)训练信息的采集:
通过深度探测摄像头及第三方SDK采集需要被识别的各种动作样本,并且在将采集到的样本数据进行存储时,其存储格式包括以下字段:动作ID(Action ID:1nt32)、动作名称(Action Name: String)、动作信息帧的对数(Frame Count:1nteger)、深度信息帧(DepthFrame #n:1nteger Array)和骨豁信息中贞(Skeleton Frame #n:1nteger Array);
(2)样本数据正则化处理:
a.统一坐标系,即对每帧的深度信息数据和骨骼信息数据进行坐标变换,将它们统一到同一世界坐标系中;
b.离散化骨骼点坐标,即对当前帧中每个骨骼信息数据点坐标进行离散化处理,离散化的步骤为:
i)根据前后相邻的各一帧中的同一骨骼点坐标,计算该骨骼点的运动向量;
?)查找该骨骼点对应的目标离散坐标系中的单位立方体;
iii)把该骨骼点的运动向量合成到单位立方体的当前运动向量中;
c.离散化深度信息数据坐标,即在离散化骨骼点坐标时,如果该骨骼点为手部点,则将该骨骼点附近的深度数据点也进行离散化,离散化后的对应于深度信息数据的单位立方体拥有与该骨骼点相同的运动向量;
d.对每一帧重复上述a、b、c步骤,对每一个待识别动作生成一个对应的样本三维向量
集;
(3)特征三维向量集的提取:
通过训练样本数据结构中的动作ID,获知正则化后的样本三维向量集所对应的人体动作,对于该动作所有的训练样本生成的所有三维向量集,都将作为该动作对应的样本三维向量集;对样本三维向量集进行特征提取,获取该动作的特征三维向量集,具体提取算法如下:
a.计算每个三维坐标点在全部三维向量集中出现的次数;
b.根据其出现次数计算其特征系数,即,特征系数=三维坐标点出现次数/该动作三维向量集的个数;
c.如果特征系数大于50%,则认为该点的三维向量集属于特征三维向量集;
(4)动作识别及认定:
对于任意一个待识别的动作,通过步骤(1)、(2)得到它的三维向量集,然后采用以下算法进行识别:
a.快速进行识别
计算该三维向量集与当前系统中所有的特征三维向量的距离,如果该距离小于该特征三维向量所对应的阀值,那么将此特征三维向量对应的动作作为一个候选动作;
b.精细识别
对所有候选动作,根据距离由小到大进行排序,然后依次对每个候选动作中的样本三维向量集,计算它与待识别动作的三维向量集的距离,如果其中最小距离小于预设的阀值,那么系统自动认定待识别动作为当前候选动作。
[0009]上述方法中进一步补充说明,所述的深度信息帧中的每个元素都是其对应坐标上的深度信息。
[0010]上述方法中进一步补充说明,所述的骨骼信息帧有人体骨骼点坐标数据组成。
[0011]上述方法中进一步补充说明,所述的动作信息帧的对数是指一个动作中有多少对深度信息帧和骨骼信息帧。
[0012]SDK, Software Development Kit的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发Windows平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口 API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
[0013]本发明是基于由特定的硬件采集的多帧深度图像数据与人体骨骼数据,通过本发明中针对动作识别领域而专门设计的算法,实现一个人体动作训练与识别系统。
[0014]本发明的优点:
1.在本发明的实现方法中,对原始数据进行降精度离散化处理,这样不仅能够减少原始数据的噪声还可以降低运算量,以加快识别速度。
[0015]2.在本发明的实现方法中,采用了多层次特征匹配算法,进一步加快了动作训练识别速度。
[0016]3.本发明的实现方法的逻辑设计及算法简单合理,可行可靠、易实现。
【专利附图】

【附图说明】
[0017]图1是本发明中样本数据存储结构示意图。
[0018]图2是本发明中坐标离散化示意图。
[0019]图3是本发明中动作三维向量集示意图。
[0020]在图2、图3中:A-单位立方体;B-原始坐标中不同的高精度点,经过离散化后,可能会被映射到同一单位立方体中;C-动作离散化后的三维向量集。
【具体实施方式】
[0021 ] 下面结合实施例和附图对本发明进一步说明。
[0022]实施例1:
一种人体动作识别训练系统的实现方法,包括以下步骤:
(1)训练信息的采集:
通过深度探测摄像头及第三方SDK采集需要被识别的各种动作样本,并且在将采集到的样本数据进行存储时,其存储格式包括以下字段:动作ID(Action ID:1nt32)、动作名称(Action Name: String)、动作信息巾贞的对数(Frame Count:1nteger)、深度信息巾贞(DepthFrame #n:1nteger Array)和骨豁信息中贞(Skeleton Frame #n:1nteger Array);
(2)样本数据正则化处理:
a.统一坐标系,即对每帧的深度信息数据和骨骼信息数据进行坐标变换,将它们统一到同一世界坐标系中;
b.离散化骨骼点坐标,即对当前帧中每个骨骼信息数据点坐标进行离散化处理,离散化的步骤为:
i)根据前后相邻的各一帧中的同一骨骼点坐标,计算该骨骼点的运动向量; ii)查找该骨骼点对应的目标离散坐标系中的单位立方体;
iii)把该骨骼点的运动向量合成到单位立方体的当前运动向量中;
c.离散化深度信息数据坐标,即在离散化骨骼点坐标时,如果该骨骼点为手部点,则将该骨骼点附近的深度数据点也进行离散化,离散化后的对应于深度信息数据的单位立方体拥有与该骨骼点相同的运动向量;
d.对每一巾贞重复上述a、b、c步骤,对每一个待识别动作生成一个对应的样本三维向量
集;
(3)特征三维向量集的提取:
通过训练样本数据结构中的动作ID,获知正则化后的样本三维向量集所对应的人体动作,对于该动作所有的训练样本生成的所有三维向量集,都将作为该动作对应的样本三维向量集;对样本三维向量集进行特征提取,获取该动作的特征三维向量集,具体提取算法如下:
a.计算每个三维坐标点在全部三维向量集中出现的次数;
b.根据其出现次数计算其特征系数,即,特征系数=三维坐标点出现次数/该动作三维向量集的个数;
c.如果特征系数大于50%,则认为该点的三维向量集属于特征三维向量集;
(4)动作识别及认定:
对于任意一个待识别的动作,通过步骤(1)、(2)得到它的三维向量集,然后采用以下算法进行识别:
a.快速进行识别
计算该三维向量集与当前系统中所有的特征三维向量的距离,如果该距离小于该特征三维向量所对应的阀值,那么将此特征三维向量对应的动作作为一个候选动作;
b.精细识别
对所有候选动作,根据距离由小到大进行排序,然后依次对每个候选动作中的样本三维向量集,计算它与待识别动作的三维向量集的距离,如果其中最小距离小于预设的阀值,那么系统自动认定待识别动作为当前候选动作。
[0023]上述方法中进一步补充说明,所述的深度信息帧中的每个元素都是其对应坐标上的深度信息。
[0024]上述方法中进一步补充说明,所述的骨骼信息帧有人体骨骼点坐标数据组成。
[0025]上述方法中进一步补充说明,所述的动作信息帧的对数是指一个动作中有多少对深度信息帧和骨骼信息帧。
【权利要求】
1.一种人体动作识别训练系统的实现方法,其特征在于,该实现方法包括以下步骤: (1)训练信息的采集: 通过深度探测摄像头及第三方SDK采集需要被识别的各种动作样本,并且在将采集到的样本数据进行存储时,其存储格式包括以下字段:动作ID、动作名称、动作信息帧的对数、深度信息帧和骨骼信息帧; (2)样本数据正则化处理: a.统一坐标系,即对每帧的深度信息数据和骨骼信息数据进行坐标变换,将它们统一到同一世界坐标系中; b.离散化骨骼点坐标,即对当前帧中每个骨骼信息数据点坐标进行离散化处理,离散化的步骤为: i)根据前后相邻的各一帧中的同一骨骼点坐标,计算该骨骼点的运动向量; ii)查找该骨骼点对应的目标离散坐标系中的单位立方体; iii)把该骨骼点的运动向量合成到单位立方体的当前运动向量中; c.离散化深度信息数据坐标,即在离散化骨骼点坐标时,如果该骨骼点为手部点,则将该骨骼点附近的深度数据点也进行离散化,离散化后的对应于深度信息数据的单位立方体拥有与该骨骼点相同的运动向量; d.对每一帧重复上述a、b、c步骤,对每一个待识别动作生成一个对应的样本三维向量集; (3)特征三维向量集的提取: 通过训练样本数据结构中的动作ID,获知正则化后的样本三维向量集所对应的人体动作,对于该动作所有的训练样本生成的所有三维向量集,都将作为该动作对应的样本三维向量集;对样本三维向量集进行特征提取,获取该动作的特征三维向量集,具体提取算法如下: a.计算每个三维坐标点在全部三维向量集中出现的次数; b.根据其出现次数计算其特征系数,即,特征系数=三维坐标点出现次数/该动作三维向量集的个数; c.如果特征系数大于50%,则认为该点的三维向量集属于特征三维向量集; (4)动作识别及认定: 对于任意一个待识别的动作,通过步骤(1)、(2)得到它的三维向量集,然后采用以下算法进行识别: a.快速进行识别 计算该三维向量集与当前系统中所有的特征三维向量的距离,如果该距离小于该特征三维向量所对应的阀值,那么将此特征三维向量对应的动作作为一个候选动作; b.精细识别 对所有候选动作,根据距离由小到大进行排序,然后依次对每个候选动作中的样本三维向量集,计算它与待识别动作的三维向量集的距离,如果其中最小距离小于预设的阀值,那么系统自动认定待识别动作为当前候选动作。
2.根据权利要求1所述的人体动作识别训练系统的实现方法,其特征在于:所述的深度信息帧中的每个元素都是其对应坐标上的深度信息。
3.根据权利要求1所述的人体动作识别训练系统的实现方法,其特征在于:所述的骨骼信息帧有人体骨骼点坐标数据组成。
4.根据权利要求1-3任一所述的人体动作识别训练系统的实现方法,其特征在于:所述的动作信息帧的对数是指一个`动作中有多少对深度信息帧和骨骼信息帧。
【文档编号】G06K9/62GK103489000SQ201310428277
【公开日】2014年1月1日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】覃祖茂, 刘为, 袁增伟, 杜怡曼, 何佳, 李东娥, 刘晓, 黄益农, 黄华峰 申请人:柳州市博源环科科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1