一种手势识别系统的制作方法

文档序号:9708736阅读:446来源:国知局
一种手势识别系统的制作方法
【技术领域】
[0001] 本发明涉及一种手势识别系统,属于人机交互技术领域。
【背景技术】
[0002] 微软的Kinect是一种利用光学感测原理识别人体动作的3D体感摄影机,它能够准 确的追踪人体骨骼、识别人体的动作,并实时处理相应操作。通过将Kinect体感设备与计算 机结合起来,用户无需使用任何输入设备,即可通过自身的肢体动作向计算机发布指令,使 之对计算机的控制具有更大的灵活性,进而增加了用户与计算机的交互性和用户体验。

【发明内容】

[0003] 为解决现有技术的不足,本发明的目的在于,提供一种手势识别系统,通过使用 Kinect提取深度信息,避免了识别过程中光照、颜色的差异带来的影响;同时使用Kalman滤 波器对手势实时追踪,使系统更准确的追踪定位手部位置。
[0004] 本发明的技术方案为:一种手势识别系统,其特征是,包括以下步骤:
[0005] (l)〇penNI/NITE平台下的骨骼提取;
[0006] (2)获取手部坐标;
[0007] (3)Kalman滤波器的手部追踪;
[0008] (4)识别手部起始位置;
[0009] (5)识别手部动作;
[0010] (6)触发键盘八鼠标事件控制设备。
[0011] 前述的一种手势识别系统,其特征是,上述步骤(1)中,所述骨骼提取包括以下步 骤:
[0012] ①获取深度图像,提取人物信息,使用OpenNI中DepthGener-ator和 UserGenerator生产节点,产生深度图像和人物信息;
[0013] ②根据获取的人物信息生成骨骼信息,使用NITE中预先定义的矫正用姿势"Psi";
[0014] ③当人物摆出的"Psi"姿势且NITE正确识别后,调用Skeleton进行人体骨骼的校 正和分析;
[0015] ④当骨骼校正成功后,对骨骼关节点追踪,通过GetSkeleton函数获取骨骼点信 息;如果骨骼校正失败,则重新校正;
[0016] ⑤当骨骼追踪成功后,通过OpenNI中的GetSkeletonJointO来读取骨骼的信息。
[0017] 前述的一种手势识别系统,其特征是,上述步骤⑤中,函数具体声明如下:
[0018] XnStatus xn::Skeleton Capability::GetSkeleton Joint(XnUserID user, XnSkeletonJoint ejoint ,Xn Skeleton JointTransformation&joint);其中,user为追踪 的用户的ID; ejoint指定系统要追踪哪个关节。
[0019] 前述的一种手势识别系统,其特征是,上述步骤(5)中,识别手部动作的具体方法 为: # π
[0020] 将手起始位置设为原点,手的起始位置与终止位置之间的夹角在~一1~,表 4 4 示在执行"向右挥手"这个动作;设当手部在同一位置停留时间超过一定时间时,该位置为 手的起始位置;针对终点位置确定,与起始位置略有不同,从确定起点位置时刻算起,经过 一段时间后的Kalman预测位置设为终点位置;若手势的起始位置为PKx 1>yi),结束位置为
P2(x2,y2),他们之间的夹角为Θ,诹 ,通过对矽+ +)与PI,P2值的判 4 断,识别出手势所表达的意思,系统根据识别出手部的动作,触发键盘keybd_eVent()或鼠 标事件mouse_event(),进而实现对设备的控制。
[0021] 本发明所达到的有益效果:系统通过使用Kinect提取深度信息,避免了识别过程 中光照、颜色的差异带来的影响;同时使用Kalman滤波器对手势实时追踪,使系统更准确的 追踪定位手部位置;通过对"挥手"动作的分析,最后利用手部位置信息判断挥手角度,进而 识别出手部动作。
【附图说明】
[0022] 图1是本发明的流程图;
[0023]图2是本发明的OpenNI/NITE识别骨骼信息流程图。
【具体实施方式】
[0024] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明 的技术方案,而不能以此来限制本发明的保护范围。
[0025] 如图1所示,一种手势识别系统,包括以下步骤:
[0026] (1) OpenNI /NITE平台下的骨骼提取,如图2所示,骨骼提取包括以下步骤:
[0027] ①获取深度图像,提取人物信息,使用OpenNI中DepthGener-ator和 UserGenerator生产节点,产生深度图像和人物信息;
[0028]②根据获取的人物信息生成骨骼信息,使用NITE中预先定义的矫正用姿势"Psi";
[0029] ③当人物摆出的"Psi"姿势且NITE正确识别后,调用Skeleton进行人体骨骼的校 正和分析;
[0030] ④当骨骼校正成功后,对骨骼关节点追踪,通过GetSkeleton函数获取骨骼点信 息;如果骨骼校正失败,则重新校正;
[0031 ]⑤当骨骼追踪成功后,通过OpenNI中的GetSkeletonJointO来读取骨骼的信息, 函数具体声明如下:
[0032] XnStatus xn::Skeleton Capability::GetSkeleton Joint(XnUserID user, XnSkeletonJoint ejoint ,Xn Skeleton JointTransformation&joint);其中,user为追踪 的用户的ID; ejoint指定系统要追踪哪个关节。
[0033] (2)获取手部坐标;
[0034] (3)Kalman滤波器的手部追踪;
[0035] (4)识别手部起始位置;
[0036] (5)识别手部动作,具体方法为: .贫'
[0037] 将手起始位置设为原点,手的起始位置与终止位置之间的夹角在·…、了 、、了^表示 4 4 在执行"向右挥手"这个动作;设当手部在同一位置停留时间超过一定时间时,该位置为手 的起始位置;针对终点位置确定,与起始位置略有不同,从确定起点位置时刻算起,经过一 段时间后的Kalman预测位置设为终点位置;若手势的起始位置为PKx 1>yi),结束位置为P2 (X2,y2),他们之间的夹角为Θ,则
与P1,P2值的判断, 识别出手势所表达的意思,系统根据识别出手部的动作,触发键盘keybcLeventO或鼠标事 件mouse_event(),进而实现对设备的控制。
[0038] (6)触发键盘八鼠标事件控制设备。
[0039]系统通过使用Kinect提取深度信息,避免了识别过程中光照、颜色的差异带来的 影响;同时使用Kalman滤波器对手势实时追踪,使系统更准确的追踪定位手部位置;通过对 "挥手"动作的分析,最后利用手部位置信息判断挥手角度,进而识别出手部动作。
[0040]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形 也应视为本发明的保护范围。
【主权项】
1. 一种手势识别系统,其特征是,包括以下步骤: (1 )OpenNI/NITE平台下的骨骼提取; (2) 获取手部坐标; (3) Kalman滤波器的手部追踪; (4) 识别手部起始位置; (5) 识别手部动作; (6) 触发键盘八鼠标事件控制设备。2. 根据权利要求1所述的一种手势识别系统,其特征是,上述步骤(1)中,所述骨骼提取 包括以下步骤: ① 获取深度图像,提取人物信息,使用OpenNI中DepthGener-ator和UserGenerator生 产节点,产生深度图像和人物信息; ② 根据获取的人物信息生成骨骼信息,使用NITE中预先定义的矫正用姿势"Psi"; ③ 当人物摆出的"Psi"姿势且NITE正确识别后,调用Skeleton进行人体骨骼的校正和 分析; ④ 当骨骼校正成功后,对骨骼关节点追踪,通过GetSkeleton函数获取骨骼点信息;如 果骨骼校正失败,则重新校正; ⑤ 当骨骼追踪成功后,通过OpenNI中的GetSkeletonJointO来读取骨骼的信息。3. 根据权利要求2所述的一种手势识别系统,其特征是,上述步骤⑤中,函数具体声明 如下: XnStatus xn::Skeleton Capability::GetSkeleton Joint(XnUserID user, XnSkeletonJoint ejoint ,Xn Skeleton JointTransformation&joint);其中,user为追踪 的用户的ID; ejoint指定系统要追踪哪个关节。4. 根据权利要求1所述的一种手势识别系统,其特征是,上述步骤(5)中,识别手部动作 的具体方法为: 将手起始位置设为原点,手的起始位置与终止位置之间的夹角在…? …表示在执行 "向右挥手"这个动作;设当手部在同一位置停留时间超过一定时间时,该位置为手的起始 位置;针对终点位置确定,与起始位置略有不同,从确定起点位置时刻算起,经过一段时间 后的Kalman预测位置设为终点位置;若手势的起始位置为PKxud,结束位置为P 2(X2,y2), 他们之间的夹角为θ,则tan ,通过对__多+与PI,P2值的判断,识别出手 .Λ -> '>-* ,ν?· | 势所表达的意思,系统根据识别出手部的动作,触发键盘keybd_event()或鼠标事件mouse_ event(),进而实现对设备的控制。
【专利摘要】本发明公开了一种手势识别系统,包括以下步骤:(1)OpenNI/NITE平台下的骨骼提取;(2)获取手部坐标;(3)Kalman滤波器的手部追踪;(4)识别手部起始位置;(5)识别手部动作;(6)触发键盘/鼠标事件控制设备。本发明通过使用Kinect提取深度信息,避免了识别过程中光照、颜色的差异带来的影响;同时使用Kalman滤波器对手势实时追踪,使系统更准确的追踪定位手部位置;通过对“挥手”动作的分析,最后利用手部位置信息判断挥手角度,进而识别出手部动作。
【IPC分类】G06K9/00, G06F3/01
【公开号】CN105469043
【申请号】CN201510810582
【发明人】夏钢, 方芳, 燕青, 陈斌
【申请人】苏州铭冠软件科技有限公司
【公开日】2016年4月6日
【申请日】2015年11月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1