一种基于Kinect手势控制显示墙的方法

文档序号:6535214阅读:202来源:国知局
一种基于Kinect手势控制显示墙的方法
【专利摘要】本发明涉及一种基于Kinect手势控制显示墙的方法,该方法利用与计算机相连的Kinect采集用户双手动作,通过特定的手势识别算法识别出手势,并用识别出的手势对显示墙中的窗口实施控制操作。本发明涉及向左切换、向右切换、选中、取消、移动、放大、缩小共7种手势,基本覆盖了显示墙窗口控制的需求,同时7种手势易学易用、拥有直观交互意图,操作显示墙更加简单方便。
【专利说明】—种基于Kinect手势控制显示墙的方法
【技术领域】
[0001]本发明涉及一种显示墙控制方法,具体来说是一种基于Kinect手势控制显示墙的方法。
【背景技术】
[0002]随着高分辨率并行显示理论技术的研究和发展,显示墙技术解决方案解决了数据可视化、高分辨显示、可视化协同合作等方面的瓶颈。由于显示墙技术刚刚兴起,许多部分存在不少研究价值,尤其是交互方式。传统的显示墙交互通过鼠标键盘输入消息指令来操作后台,这种方式极大限制了显示墙与生俱来的交互体验。与此同时,人机交互技术的持续发展,手势动作等肢体交互方式备受关注,诸如Wi1、PS Move、Kinect等体感设备也相继进入市场。由于手势动作包含各种丰富直观的交互意图,将显示墙窗口操作通过手势控制,将大幅度提升用户的交互体验。

【发明内容】

[0003]本发明要解决的技术问题是提供一种新型的显示墙控制方法,具体来说是基于Kinect手势控制显示墙的方法。
[0004]为了解决以上技术问题,本发明采取以下技术方案:一种基于Kinect手势控制显示墙的方法,采用Kinect采集用户双手动作,通过特定的手势识别算法识别出手势,并用识别出的手势对显示墙中的窗口实施控制操作。
[0005]本发明采取的手势识别算法包含以下步骤:
[0006]步骤1.令Q= {Fl`,F2,…,FJ为Kinect采集到的各帧中双手空间坐标数据的缓存队列,其中Fi=Kxu, yL1.Zu), (xEi, yEi, zEi), tj,(xLi, yLi, zLi)为第i帧中左手的空间坐标数据,(xEi, yEi, zEi)为第i帧中右手的空间坐标数据,\为该帧的采样时刻;
[0007]步骤2.每当Kinect采集到新的一帧数据Fn后,将其放入队列Q中并计算1^-tp若结果大于I秒,则认为队列Q已满,转步骤3 ;否则继续采集下一帧的数据;
[0008]步骤3.根据队列中的元素计算下述结果:队首元素左右手空间坐标的距离D1=SQRT ((xLn-xEn)2+ (yLn-yEn)2+ (Zln-Zsn)2)、队尾兀素左右手空间坐标的距尚 D2=SQRT ((xL1-xE1)2+ (Yl1-Yei) 2+ (zLi_zK1)2)、整个队列中左手的移动距呙 D3=SQRT ((xLn_xL1)2+ (yLn-yL1)2+ (zLn_zL1)2)、整个队列中右手的移动距离D4=SQRT ((xEn-xE1)2+ (yEn-yE1)2+ (zEn-zE1)2)、整个队列中左手移动的单位方向向量((Xu1-XuVD3, (yLn-yL1)/D3, (zLn-zL1)/D3)以及整个队列中右手移动的单位方向向量((xEn-xE1)/D4, (yEn-yE1)/D4, (zEn-zE1)/D4);
[0009]步骤4.根据步骤3的计算结果,从手势库中匹配已定义的手势,若匹配成功,则发送相应消息命令至显示墙并清空缓存队列Q,转步骤2继续采集下一个输入手势,若匹配失败,则删除队列Q的队尾元素并转步骤2继续采集下一个输入手势。
[0010]本发明中采用的控制操作手势包括了向左切换、向右切换、选中、取消、移动、放大、缩小共7种手势。[0011]所述的向左切换手势用于将操作目标窗口改变为在当前的操作目标窗口左侧且距离最近的窗口,该手势的定义如下:左手自然举起保持在胸前位置,匀速向左移动至自然伸直状态,整个移动过程应在0.5至1.0秒之间完成。
[0012]所述的向右切换手势用于将操作目标窗口改变为在当前的操作目标窗口右侧且距离最近的窗口,该手势的定义如下:右手自然举起保持在胸前位置,匀速向右移动至自然伸直状态,整个移动过程应在0.5至1.0秒之间完成。
[0013]所述的选中手势用于选中当前操作目标窗口,该手势定义如下:右手自然举起保持在胸前位置,匀速向前推出至自然伸直状态,整个推出过程应在0.5至1.0秒之间完成。
[0014]所述的取消手势用于取消当前操作目标窗口的选中状态,该手势操作如下:左手自然举起保持在胸前位置,保持右手不动,左手匀速举高至向上伸直,整个左手举起过程在0.5至1.0秒之间完成。
[0015]所述的移动手势用于移动当前选中的操作目标窗口,该手势定义如下:将自然伸直的右手在胸前任意移动,移动速度应保持在0.3米/秒至0.5米/秒之间。
[0016]所述的放大手势用于放大显示操作目标窗口,该手势的定义如下:双手自然向胸口方向举起并靠拢在胸前位置,然后同时沿水平方向向两侧匀速移动,整个移动过程应在
0.5至3.0秒之间完成。
[0017]所述的缩小手势用于缩小显示操作目标窗口,该手势的定义如下:双手自然向两侧举起并保持在水平位置,然后同时沿水平方向向内侧匀速移动,整个移动过程应在0.5至3.0秒之间完成。
[0018]与现有传统技术相比,本发明的有益效果是:
[0019](I)、将本发明用于显示墙窗口控制,可以代替后台传统鼠标键盘控制的交互,将人体双手动作传递给显示墙控制系统,操作方式更加直观方便。与目前很多现存的手势控制方法一样,本发明中用户不需要佩戴任何标签。
[0020](2)、同时本发明中设计的7种手势易学易用,拥有直观的交互意图;手势识别算法简单实用,处理响应速度较快,能够实时地控制显示墙窗口布局。
【专利附图】

【附图说明】
[0021]附图1为本发明手势识别算法流程示意图。
[0022]附图2为本发明7种手势定义示意图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案更加清楚明白,以下将结合附图及实施例对本发明进行详细说明。此处所表述的具体实施例仅用于解释本发明,并不用于限定本发明。
[0024]本发明要解决的技术问题是提供一种新型的显示墙控制方法代替传统的鼠标键盘方法,具体来说是基于Kinect的手势控制显示墙方法。
[0025]针对以上技术问题,采取以下技术方案:采用Kinect采集用户双手动作,通过特定的手势识别算法识别出手势,并用识别出的手势对显示墙中的窗口实施控制操作。具体来说是,将安装好Kinect驱动的电脑连接上Kinect设备,Kinect摄像头将采集彩色数据、深度数据、骨骼数据传至应用程序,应用程序将处理提取用户双手坐标数据,通过特定的手势识别算法识别7种已定义手势,并将相应的手势消息命令发送至显示墙控制系统并做出反馈。
[0026]附图1给出了本发明一种基于Kinect手势控制显示墙方法中手势识别算法的一个实施例。具体手势识别算法包括以下步骤:
[0027]步骤1.令Q= {Fl,F2,…,FJ为Kinect采集到的各帧中双手空间坐标数据的缓存队列,其中Fi=Kxu, yL1.Zu), (xEi, yEi, zEi), tj,(xLi, yLi, zLi)为第i帧中左手的空间坐标数据,(xEi, yEi, zEi)为第i帧中右手的空间坐标数据,\为该帧的采样时刻;
[0028]步骤2.每当Kinect采集到新的一帧数据Fn后,将其放入队列Q中并计算1^-tp若结果大于I秒,则认为队列Q已满,转步骤3 ;否则继续采集下一帧的数据;
[0029]步骤3.根据队列中的元素计算下述结果:队首元素左右手空间坐标的距离D1=SQRT ((xLn-xEn)2+ (yLn-yEn)2+ (Zln-Zsn)2)、队尾兀素左右手空间坐标的距尚 D2=SQRT ((xL1-xE1)2+ (Yl1-Yei) 2+ (zLi_zK1)2)、整个队列中左手的移动距呙 D3=SQRT ((xLn_xL1)2+ (yLn-yL1)2+ (zLn_zL1)2)、整个队列中右手的移动距离D4=SQRT ((xEn-xE1)2+ (yEn-yE1)2+ (zEn-zE1)2)、整个队列中左手移动的单位方向向量((Xu1-XuVD3, (yLn-yL1)/D3, (zLn-zL1)/D3)以及整个队列中右手移动的单位方向向量((xEn-xE1)/D4, (yEn-yE1)/D4, (zEn-zE1)/D4);
[0030]步骤4.根据步骤3的计算结果,从手势库中匹配已定义的手势,若匹配成功,则发送相应消息命令至显示墙并清空缓存队列Q,转步骤2继续采集下一个输入手势,若匹配失败,则删除队列Q的队尾元素并转步骤2继续采集下一个输入手势。
[0031]附图2给出了本发明一种基于Kinect手势控制显示墙方法中7种不同手势控制显不墙的另一实施例。
[0032]Kinect摆放高度与用户肩部齐平,用户面对Kinect站立2至3米为宜,确保Kinect在视角下能够识别人体并捕捉采集用户动作,同时确保Kinect视角下无其他人干扰。`
[0033]在部署好显示墙窗口显示以及Kinect摆放位置后,用户就可以用手势控制显示墙窗口。
[0034]当用户将左手自然举起保持在胸前位置,并匀速向左移动0.5秒到1.0秒至左手自然伸直状态后,完成向左切换手势;与此同时显示墙将操作目标窗口改变为在当前的操作目标窗口左侧且距离最近的窗口,如果左侧无窗口,则忽略此操作。
[0035]当用户将右手自然举起保持在胸前位置,并匀速向右移动0.5秒到1.0秒至右手自然伸直状态后,完成向右切换手势;与此同时显示墙将操作目标窗口改变为在当前的操作目标窗口右侧且距离最近的窗口,如果右侧无窗口,则忽略此操作。
[0036]当用户将右手自然举起保持在胸前位置,匀速向前推出0.5到1.0秒至自然伸直状态后,完成选中手势;与此同时显示墙将选中当前操作目标窗口,以便进行下一步移动手势。
[0037]当用户完成选中手势之后,将自然伸直的右手在胸前以0.3米/秒至0.5米/秒的速度任意移动,则完成移动手势;与此同时显示墙将根据用户右手移动位置实时显示当前操作目标窗口的位置。
[0038]当用户完成移动手势之后,保持右手不动,将左手自然举起保持在胸前位置并匀速0.5至1.0秒举起高至向上伸直,则完成取消手势;与此同时显示墙将停止对当前操作目标窗口的移动。
[0039]当用户将双手自然向胸口方向举起并靠拢在胸前位置,然后同时沿水平方向向两侧匀速移动0.5至3.0秒,则完成放大手势;与此同时显示墙将以一定比率放大显示当前操作目标窗口。
[0040]当用户将双手自然向两侧举起并保持在水平位置,然后同时沿水平方向向内侧匀速移动0.5至3.0秒,则完成缩小手势;与此同时显示墙将以一定比率缩小显示当前操作目标窗口。
[0041]在手势控制显示墙交互过程中,将窗口移动至显示墙特定位置需要用户使用选中、移动、取消三种手势配合使用完成。
[0042]本发明将Kinect采集的用户动作用于显示墙窗口控制,操作方式更加直观方便,可以代替后台传统鼠标键盘控制的交互;同时本发明设计的7种手势易学易用,拥有直观的交互图,基本覆盖了显示墙窗口布局操作的需求;手势识别算法简单实用,处理响应速度较快,能够满足实时的人机交互体验。如果用户想要加强交互体验,我们推荐用户加入Kinect的麦克风阵列进行语音识别。
【权利要求】
1.一种基于Kinect手势控制显示墙的方法,其特征在于:采用Kinect采集用户双手动作,通过特定的手势识别算法识别出手势,并用识别出的手势对显示墙中的窗口实施控制操作,所述的手势识别算法包含以下步骤: 步骤1.令Q=汜,F2,…,FJ为Kinect采集到的各帧中双手空间坐标数据的缓存队列,其中Fi=Kxu, yL1.zu), (xEi, yEi, zEi), tj,(xLi, yLi, zLi)为第i帧中左手的空间坐标数据,(xEi, yEi, zEi)为第i帧中右手的空间坐标数据,\为该帧的采样时刻; 步骤2.每当Kinect采集到新的一帧数据Fn后,将其放入队列Q中并计算1^-1^,若结果大于I秒,则认为队列Q已满,转步骤3 ;否则继续采集下一帧的数据; 步骤3.根据队列中的元素计算下述结果:队首元素左右手空间坐标的距离D1=SQRTGXLn_XEn) 2+ (Υ^Υεπ) 2+ (zLrTzEn) ^、队尾兀素左右手空间坐标的距尚 D2=SQRT ( (XL1_XR1) 2+ (yL「yRI)2+ (zL1-zRi)2)、整个队列中左手的移动距尚 D3=SQRT ((xLn-xL1)2+ (yLn-yL1)2+ (zLn-zL1)2)、整个队列中右手的移动距离D4=SQRT ( (Xeh-Xei) 2+ (Ysn-YE1)2+ (Zeh-Zei) 2)、整个队列中左手移动的单位方向向量((XLn-Xu)/D3, (yLn-yL1)/D3, (zLn-zL1)/D3)以及整个队列中右手移动的单位方向向量((xKn_xK1)/D4, (yEn-yE1)/D4, (zEn-zE1)/D4); 步骤4.根据步骤3的计算结果,从手势库中匹配已定义的手势,若匹配成功,则发送相应消息命令至显示墙并清空缓存队列Q,转步骤2继续采集下一个输入手势,若匹配失败,则删除队列Q的队尾元素并转步骤2继续采集下一个输入手势。
2.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的控制操作包括了向左切换、向右切换、选中、取消、移动、放大、缩小共7种手势。
3.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的向左切换手势用于将操作目标窗口改变为在当前的操作目标窗口左侧且距离最近的窗口,该手势的定义如下:左手自然举起保持在胸前位置,匀速向左移动至自然伸直状态,整个移动过程应在0.5至1.0秒之间完成。
4.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的向右切换手势用于将操作目标窗口改变为在当前的操作目标窗口右侧且距离最近的窗口,该手势的定义如下:右手自然举起保持在胸前位置,匀速向右移动至自然伸直状态,整个移动过程应在0.5至1.0秒之间完成。
5.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的选中手势用于选中当前操作目标窗口,该手势定义如下:右手自然举起保持在胸前位置,匀速向前推出至自然伸直状态,整个推出过程应在0.5至1.0秒之间完成。
6.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的取消手势用于取消当前操作目标窗口的选中状态,该手势操作如下:左手自然举起保持在胸前位置,保持右手不动,左手匀速举高至向上伸直,整个左手举起过程在0.5至1.0秒之间完成。
7.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的移动手势用于移动当前选中的操作目标窗口,该手势定义如下:将自然伸直的右手在胸前任意移动,移动速度应保持在0.3米/秒至0.5米/秒之间。
8.根据权利要求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的放大手势用于放大显示操作目标窗口,该手势的定义如下:双手自然向胸口方向举起并靠拢在胸前位置,然后同时沿水平方向向两侧匀速移动,整个移动过程应在0.5至3.0秒之间完成。
9.根据权利要 求1所述的一种基于Kinect手势控制显示墙的方法,其特征在于:所述的缩小手势用于缩小显示操作目标窗口,该手势的定义如下:双手自然向两侧举起并保持在水平位置,然后同时沿水平方向向内侧匀速移动,整个移动过程应在0.5至3.0秒之间完成。
【文档编号】G06F3/01GK103713741SQ201410007648
【公开日】2014年4月9日 申请日期:2014年1月8日 优先权日:2014年1月8日
【发明者】楼奕华, 张海阔, 吴文峻 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1