一种基于动作元的体感姿势识别方法

文档序号:6544327阅读:242来源:国知局
一种基于动作元的体感姿势识别方法
【专利摘要】本发明公开了一种基于动作元的体感姿势识别方法,采用对象映射生成技术、元动作分割技术、动作自动组合技术、顶级动作消缺技术,兼顾Kinect?For?Windows的马达以及语音识别,使用Kinect?For?Windows?SDK实现一种依靠Kinect?For?Windows?SDK骨骼信息生成基础元动作,根据元动作生成出复杂动作姿势的姿势识别方法。本发明增加了姿势识别的重用性,避免了每一次的动作逻辑都要与骨骼信息进行交互,提高了姿势识别的准确度和效率,并且可以对所需识别的姿势进行扩充,有效解决了Kinect?For?Windows?SDK缺少姿势识别模块带来的不便。
【专利说明】一种基于动作元的体感姿势识别方法
【技术领域】
[0001]本发明涉及到对象映射生成技术、元动作分割技术、动作自动组合技术、顶级动作消缺【技术领域】。
【背景技术】
[0002]随着Kinect For Windows体感识别设备的出现,以体感操作计算机的设想变成了现实,越来越多的项目结合Kinect进行开发。微软,作为Kinect的制作商,为Kinect ForWindows提供了一套SDK开发包,也有很多其他软件公司为Kinect For Windows开发相应的组件。除了 Kinect For Windows SDK以外,OpenNI提供了另一套SDK开发组件,OpenNI与Kinect For Windows SDK相比最大的特点在于具有姿势识别模块,支持全身追踪,包含手部追踪框架以及手势识别框架,开发者不用编写动作姿势识别模块;Kinect For WindowsSDK同样具备全身追踪但是不具备姿势识别模块,动作姿势识别模块需开发者自行实现。但是,Kinect For Windows SDK拥有内置马达操作专利,通过马达操作模块可以很方便的操作Kinect的角度,使Kinect增加更多的摆放选择,同时内置马达操作模块具有自动对焦功能能够实时聚焦在操作者身上;Kinect For Windows SDK具备强劲的语音识别模块可以与微软自己的语音识别库实现无缝对接,更加凸显Kinect的效能。
[0003]为了兼顾Kinect的马达以及语音识别功能,使用Kinect For Windows SDK必须要实现一套面向Kinect For Windows SDK的姿势识别方法,避免每次单一动作都要去实现动作姿势识别逻辑,增加姿势识别的重用性,解决Kinect For Windows SDK缺少姿势识别模块带来的不便。
[0004]一种基于动作元的姿势识别方法为了解决Kinect For Windows SDK缺少姿势识别模块造成每个单一动作都要进行逻辑实现的弊端,同时为了增加姿势识别的可重用性,在基于对象映射生成技术、元动作分割技术、动作自动组合技术、顶级动作消缺技术之上提供了一种依靠Kinect For Windows SDK骨骼信息生成基础元动作,根据元动作生成复杂动作姿势的姿势识别方法,避免了每次动作逻辑与骨骼信息进行交互的计算复杂度。

【发明内容】

[0005]本发明的目的是为了克服Kinect For Windows SDK现有技术存在的缺陷和不足,提供一种增加姿势识别可重用性,避免每次动作逻辑与骨骼信息进行交互的计算复杂度,提高姿势识别的准确度和效率,并且支持对所需识别姿势进行扩充的姿势识别方法。
[0006]本发明通过使用对象映射生成技术、元动作分割技术、动作自动组合技术、顶级动作消缺技术等,兼顾Kinect For Windows的马达以及语音识别,使用Kinect For WindowsSDK实现了一种依靠Kinect For Windows SDK骨骼信息生成基础元动作,根据元动作生成出复杂动作姿势的姿势识别方法,避免每次单一动作都要去实现动作姿势识别逻辑,增加姿势识别的重用性,解决了 Kinect For Windows SDK缺少姿势识别模块带来的不便,避免了每次动作逻辑与骨骼信息进行交互的计算复杂度。[0007]—种基于动作元的体感姿势识别方法,本发明特征是,
采用对象映射生成技术、元动作分割技术、动作自动组合技术、顶级动作消缺技术,兼顾Kinect For Windows的马达以及语音识别,使用Kinect For Windows SDK实现一种依靠Kinect For Windows SDK骨骼信息生成基础元动作,根据元动作生成出复杂动作姿势的姿势识别方法;其中:
由Kinect骨骼信息接口、骨骼深度信息转化模块、基础元动作生成模块、复杂动作扩展模块组成,其中基础元动作生成模块包括动作匹配工厂、元动作库组成,复杂动作扩展模块包括顶级动作消缺模块、时序分析模块、扩展模板组成;
在Kinect骨骼信息接口中,通过Kinect体感识别设备捕捉人体的20个骨骼点,人体20个骨骼点分别是头、左/右肩、肩部中心点、左/右肘关节、左/右腕关节、左/右手掌、脊柱、左/右臀、臀部中心点、左/右膝关节、左/右踝关节、左/右脚掌;将捕捉到的20个骨骼点传递到骨骼深度信息转化模块,进行进一步的骨骼信息解析;
骨骼深度信息转化模块将骨骼对象映射为对应的屏幕坐标信息(X,y, z),其中X为水平方向上的坐标,y为竖直方向上的坐标,z为垂直于屏幕的深度坐标,最后将得到的骨骼点的坐标信息整合为深度图像数据;骨骼深度信息转化模块将骨骼深度图像数据传递到基础元动作生成模块,解析元动作;
元动作为人体日常活动中理论上手、腿、头、躯干等可以达到的所有单一基本动作,分割出人体手和腿部在X-Y平面内,即沿水平和竖直两个方向上的所有元动作;并分割出人体手和腿部涉及沿Z轴方向,即会与Kinect设备距离发生变化方向的所有元动作;通过基础元动作生成模块可以确切的得到每一条骨架信息产生的所有元动作,并且保证每一部分动作体有且只有一条元动作与之对应;
基础元动作生成模块接收到骨骼深度信息,通过骨骼动作匹配工厂、元动作库,生成此次骨架信息对应的各种元动作链表,并将元动作链表传递到复杂动作扩展模块,完成所需要的复杂动作识别;
复杂动作扩展模块可以通过扩展模板由用户自行扩展所需要的复杂动作,扩展模板包含每一部分动作体的元动作列表,既扩展模板中的动作体与元动作是一对多的关系;复杂动作扩展模块中的动作识别由顶级动作消缺模块对用户自行扩展的扩展模板进行第一步识别动作;
在复杂动作扩展模块接收到元动作列表信息以后,顶级动作消缺模块开始对用户自行扩展的扩展模板进行分析,并消去此次识别的用户所设置的最顶级动作子动作集合,保留最顶级动作作为此次的复杂动作识别结果,并将结果传递到时序分析模块中,进行时序分析,在操作人员动作完成的时间范围内完成此套动作的识别;
在时序分析模块中,根据Kinect的骨骼识别频率30帧/秒来设定计时器,即通过对骨骼帧的计数来计算出相对应的时间,每一次复杂动作的识别时间为1/30F秒,通过用户自行设定此套复杂动作所跨越的时间段。
[0008]本发明的有益效果:基于本发明,增加了姿势识别的重用性,避免了每一次的动作逻辑都要与骨骼信息进行交互,提高了姿势识别的准确度和效率,并且可以对所需识别的姿势进行扩充,有效解决了 Kinect For Windows SDK缺少姿势识别模块带来的不便。【专利附图】

【附图说明】
[0009]图1是本发明的结构示意图;
图2是通过Kinect体感识别设备捕捉人体的20个骨骼点的分布图;
图3是分割出了人体手和腿部在X-Y平面内,即沿水平和竖直两个方向上的所有元动作示意图;
图4是以右手/腿动作为例,左手/腿动作类同,分割出了人体手和腿部涉及沿Z轴方向,即会与Kinect设备距离发生变化方向的所有元动作示意图。
【具体实施方式】
[0010]一种基于动作元的体感姿势识别方法,本发明技术方案如图1所示,由Kinect骨骼信息接口 1、骨骼深度信息转化模块2、基础元动作生成模块3、复杂动作扩展模块4组成,其中基础元动作生成模块包括动作匹配工厂31、元动作库32组成,复杂动作扩展模块包括顶级动作消缺模块41、时序分析模块42、扩展模板43组成;
在Kinect骨骼信息接口 I中,通过Kinect体感识别设备捕捉人体的20个骨骼点,人体20个骨骼点如图2所示,分别是头、左/右肩、肩部中心点、左/右肘关节、左/右腕关节、左/右手掌、脊柱、左/右臀、臀部中心点、左/右膝关节、左/右踝关节、左/右脚掌;将捕捉到的20个骨骼点传递到骨骼深度信息转化模块2,进行进一步的骨骼信息解析;
骨骼深度信息转化模块2将骨骼对象映射为对应的屏幕坐标信息U,y,z),其中X为水平方向上的坐标,y为竖直方向上的坐标,z为垂直于屏幕的深度坐标(即与Kinect设备的距离),最后将得到的骨骼点的坐标信息整合为深度图像数据;骨骼深度信息转化模块2将骨骼深度图像数据传递到基础元动作生成模块3,解析元动作;
元动作为人体日常活动中理论上手、腿、头、躯干等可以达到的所有单一基本动作,如图3和图4所示。图3中,分割出了人体手和腿部在X-Y平面内,即沿水平和竖直两个方向上的所有元动作;图4中(以右手/腿动作为例,左手/腿动作类同),分割出了人体手和腿部涉及沿Z轴方向,即会与Kinect设备距离发生变化方向的所有元动作;图3和图4分别包含了各自角度内的躯干以及头部所能达到的所有元动作;通过基础元动作生成模块可以确切的得到每一条骨架信息产生的所有元动作,并且保证每一部分动作体(手、腿、头、躯干等)有且只有一条元动作与之对应;
基础元动作生成模块3接收到骨骼深度信息,通过骨骼动作匹配工厂31、元动作库32,生成此次骨架信息对应的各种元动作链表,并将元动作链表传递到复杂动作扩展模块4,完成所需要的复杂动作识别;
复杂动作扩展模块4可以通过扩展模板43由用户自行扩展所需要的复杂动作,扩展模板43包含每一部分动作体(手、腿、头、躯干)的元动作列表,既扩展模板43中的动作体与元动作是一对多的关系,这样有助于实现大幅度动作的识别;复杂动作扩展模块4中的动作识别由顶级动作消缺模块41对用户自行扩展的扩展模板43进行第一步识别动作;
在复杂动作扩展模块4接收到元动作列表信息以后,顶级动作消缺模块41就开始对用户自行扩展的扩展模板43进行分析,并消去此次识别的用户所设置的最顶级动作子动作集合,保留最顶级动作作为此次的复杂动作识别结果,并将结果传递到时序分析模块42中,进行时序分析,在操作人员动作完成的时间范围内完成此套动作的识别; 在时序分析模块42中,根据Kinect的骨骼识别频率30帧/秒来设定计时器,即通过对骨骼帧的计数来计算出相对应的时间,每一次复杂动作的识别时间为1/30F秒,通过用户自行设定此套复杂动作所跨越的时间段。
【权利要求】
1.一种基于动作元的体感姿势识别方法,其特征是, 采用对象映射生成技术、元动作分割技术、动作自动组合技术、顶级动作消缺技术,兼顾Kinect For Windows的马达以及语音识别,使用Kinect For Windows SDK实现一种依靠Kinect For Windows SDK骨骼信息生成基础元动作,根据元动作生成出复杂动作姿势的姿势识别方法;其中: 由Kinect骨骼信息接口(I)、骨骼深度信息转化模块(2)、基础元动作生成模块(3)、复杂动作扩展模块(4)组成,其中基础元动作生成模块包括动作匹配工厂(31)、元动作库(32)组成,复杂动作扩展模块包括顶级动作消缺模块(41)、时序分析模块(42)、扩展模板(43)组成; 在Kinect骨骼信息接口( I)中,通过Kinect体感识别设备捕捉人体的20个骨骼点,人体20个骨骼点分别是头、左/右肩、肩部中心点、左/右肘关节、左/右腕关节、左/右手掌、脊柱、左/右臀、臀部中心点、左/右膝关节、左/右踝关节、左/右脚掌;将捕捉到的20个骨骼点传递到骨骼深度信息转化模块(2),进行进一步的骨骼信息解析; 骨骼深度信息转化模块(2)将骨骼对象映射为对应的屏幕坐标信息(X,y, z),其中X为水平方向上的坐标,y为竖直方向上的坐标,z为垂直于屏幕的深度坐标,最后将得到的骨骼点的坐标信息整合为深度图像数据;骨骼深度信息转化模块(2)将骨骼深度图像数据传递到基础元动作生成模块(3),解析元动作; 元动作为人体日常活动中理论上手、腿、头、躯干等可以达到的所有单一基本动作,分割出人体手和腿部在X-Y平面内,即沿水平和竖直两个方向上的所有元动作;并分割出人体手和腿部涉及沿Z轴方向,即会与Kinect设备距离发生变化方向的所有元动作;通过基础元动作生成模块可以确切的得到每一条骨架信息产生的所有元动作,并且保证每一部分动作体有且只有一条元动作与之对应; 基础元动作生成模块(3)接收到骨骼深度信息,通过骨骼动作匹配工厂(31)、元动作库(32),生成此次骨架信息对应的各种元动作链表,并将元动作链表传递到复杂动作扩展模块(4),完成所需要的复杂动作识别; 复杂动作扩展模块(4)可以通过扩展模板(43)由用户自行扩展所需要的复杂动作,扩展模板(43)包含每一部分动作体的元动作列表,既扩展模板(43)中的动作体与元动作是一对多的关系;复杂动作扩展模块(4)中的动作识别由顶级动作消缺模块(41)对用户自行扩展的扩展模板(43)进行第一步识别动作; 在复杂动作扩展模块(4)接收到元动作列表信息以后,顶级动作消缺模块(41)开始对用户自行扩展的扩展模板(43)进行分析,并消去此次识别的用户所设置的最顶级动作子动作集合,保留最顶级动作作为此次的复杂动作识别结果,并将结果传递到时序分析模块(42)中,进行时序分析,在操作人员动作完成的时间范围内完成此套动作的识别; 在时序分析模块(42)中,根据Kinect的骨骼识别频率30帧/秒来设定计时器,即通过对骨骼帧的计数来计算出相对应的时间,每一次复杂动作的识别时间为1/30F秒,通过用户自行设定此套复杂动作所跨越的时间段。
【文档编号】G06F3/01GK103941869SQ201410159749
【公开日】2014年7月23日 申请日期:2014年4月21日 优先权日:2014年4月21日
【发明者】白彪, 桂丹, 杨堂华, 罗庆兵, 朱兴柯, 李文亮, 李长生, 吴秋玫, 丁东, 车勇波, 杨鸥, 姚莉 申请人:云南电网公司普洱供电局, 昆明能讯科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1