首页> 中国专利> 一种利用上臂伸展信息进行命令选择的方法

一种利用上臂伸展信息进行命令选择的方法

摘要

本发明公开了一种利用上臂伸展信息进行命令选择的方法。本方法为:1)在控制器上创建一Stretching组件及其菜单;2)控制器通过显示屏幕上的深度摄像机实时采集该用户手心的三维空间位置,然后计算手心位置到该用户身体平面的投影距离,得到该用户的手臂伸展长度并将其发送给Stretching组件;3)该组件将该用户的手臂伸展长度转换为屏幕上光标在所述菜单上的显示位置;4)用户通过改变手臂伸展长度控制光标移动,当光标移动到所述菜单上的一待选菜单项时,保持手势悬停时间大于设定时间,则该菜单项被选中。本发明不使用佩戴式传感器,基于深度摄像机,使用上臂伸展信息来进行菜单命令选择的方法,不影响手指精细动作。

著录项

  • 公开/公告号CN104866096A

    专利类型发明专利

  • 公开/公告日2015-08-26

    原文格式PDF

  • 申请/专利权人 中国科学院软件研究所;

    申请/专利号CN201510254390.X

  • 发明设计人 田丰;刘杰;王宏安;

    申请日2015-05-18

  • 分类号G06F3/01(20060101);G06F3/0484(20130101);G06F3/0487(20130101);

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人司立彬

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2023-12-18 10:31:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-05

    授权

    授权

  • 2015-09-23

    实质审查的生效 IPC(主分类):G06F3/01 申请日:20150518

    实质审查的生效

  • 2015-08-26

    公开

    公开

说明书

技术领域

本发明涉及一种利用上臂伸展信息进行命令选择的方法,在使用深度摄像机与大屏幕交 互进行选择操作的优势尤其显著,属于人机交互领域。

背景技术

手臂伸展是我们在日常生活中非常常用的动作。基于手臂伸缩的手势,用户可以使用它 来控制目标对象的位置。目前市场上的深度摄像头能够支持对用户的身体运动捕获并具有可 接受的精度,这为实现基于自然的身体运动的工具打开了新的通道。

最近,一些研究者利用深度摄像头的深度信息,来支持用户在平板设备和大屏幕设备上 的交互行为。Wilson等人的研究(WILSON A D.Using a Depth Camera as a Touch Sensor[M]. ACM International Conference on Interactive Tabletops and Surfaces.Saarbrücken,Germany; ACM.2010:69-72.)演示了深度感应摄像头如何被用于检测在un-instrumented平面上的触摸 行为,他们还组合多个深度摄像头和投影仪来检测接触平面、悬浮于平面上和发生在平面间 的交互行为。DepthTouch(BENKO H,WILSON A.Depthtouch:Using Depth-Sensing Camera to  Enable Freehand Interactions on and above the Interactive Surface[R].City:Microsoft Research, 2009.)将深度摄像头放置于TouchLight的显示器上,以便检测触摸行为。Data Miming(HOLZ  C,WILSON A.Data Miming:Inferring Spatial Object Descriptions from Human Gesture[M]. Proceedings of the 2011annual conference on Human factors in computing systems.Vancouver, BC,Canada;ACM.2011:811-820.)通过Kinect/PrimeSense深度摄像头,帮助用户使用空间手 势对三维物体的形状进行描述,从而从数据库中检索出该三维物体。

有很多工作研究三维用户界面中,用户完成目标获取和选择的绩效表现:Hinckley等人 (HINCKLEY K,PAUSCH R,GOBLE J C,et al.A Survey ofDesign Issues in Spatial Input[M]. Proceedings ofthe 7th annual ACM symposium on User interface software and technology.Marina  del Rey,California,United States;ACM.1994:213-222.)提出了一份调查报告,阐述在设计和实 现有效的自由空间三维用户界面时所面临的问题。Cockburn(COCKBURN A,QUINN P, GUTWIN C,et al.Air Pointing:Design and Evaluation of Spatial Target Acquisition with and  without Visual Feedback[J].International Journal of Human-Computer Studies,2011,69(6): 401-414.)等人探讨了空中指点交互的设计空间,并提出了一个框架,帮助设计师理解输入维 度和由此产生的交互特性。Poupyrev等人(POUPYREV I,WEGHORST S,BILLINGHURST M, et al.Egocentric Object Manipulation in Virtual Environments:Empirical Evaluation of Interaction  Techniques[J].Computer Graphics Forum,1998,17(3):C41-C52.)评估和比较了两个最基本的 三维选择和操作隐喻的可用性特点。Grossman等人(GROSSMAN T,BALAKRISHNAN R.The  Design and Evaluation of Selection Techniques for 3d Volumetric Displays[M].Proceedings ofthe  19th annual ACM symposium on User interface software and technology.Montreux,Switzerland; ACM.2006:3-12.)设计和评估了选择三维volumetric立体显示技术,并提出了对界面设计的 implications。在三维用户界面中,研究者们已经提供了用于远距离指点,窗口管理和对象的 控制的手势技术。然而,还很少有研究工作面向基于手势的菜单选择,唯一的例外是rapMenu (TAO N,MCMAHAN R P,BOWMAN D A.Rapmenu:Remote Menu Selection Using Freehand  Gestural Input;proceedings of the IEEE Symposium on 3D User Interfaces 2008,Reno,Nevada, USA,F 8-9March 2008,2008[C].IEEE.),这是一个使用tilt和pinch选择菜单的用户界面。 与rapMenu不同的是,手臂伸展手势能够支持用户使用手臂的简单动作完成命令选择任务, 而与此同时,手和手指的精细动作可以被用来完成其他任务。

还有一些研究工作旨在了解各项任务中的基本用户行为。Zhai(ZHAI S.Human  Performance in Six Degree ofFreedom Input Control[D];University ofToronto,1995.)研究了用 户在六自由度输入控制时的绩效表现。Mine等人(MINE M R,FREDERICK P.BROOKS J, SEQUIN C H.Moving Objects in Space:Exploiting Proprioception in Virtual-Environment  Interaction[M].Proceedings of the 24th annual conference on Computer graphics and interactive  techniques.ACM Press/Addison-Wesley Publishing Co.1997:19-26.)探索了身体为中心的菜单, 允许用户利用他们的proprioceptive本体感觉来选择菜单项或工具。Grossman等人 (GROSSMAN T,BALAKRISHNAN R.Pointing at Trivariate Targets in 3d Environments[M]. Proceedings of the SIGCHI conference on Human factors in computing systems.Vienna,Austria; ACM.2004:447-454.)调研了在真实的三维环境下对不同大小三维目标的指点运动,提出并 验证了一种新的模型,描述针对trivariate targets的指向运动。和本研究最相关的是Ware等 人的工作(WARE C,BALAKRISHNAN R.Reaching for Objects in Vr Displays:Lag and Frame  Rate[J].ACM Trans Comput-Hum Interact,1994,1(4):331-356.),他们对reaching运动进行了 实验研究,该实验在鼠标中植入一个Polhemus IsotrakTM传感器用以追踪物体选择运动,并发 现Z轴上的reaching运动符合Fitts'law(FITTS P M.The Information Capacity ofthe Human  Motor System in Controlling the Amplitude ofMovement[J].Journal ofExperimental Psychology, 1954,47(6):381.)。目前研究都依赖于在被试身体上加入传感器或者佩戴其他物品的方式实 现,操作复杂。而且普通摄像头难以获取深度信息,无法利用深度方向上的细小距离变化来 进行层级菜单的精确选择。本发明可以不依赖人体佩戴其它设备,通过深度摄像机来捕捉深 度变化,将深度变化与菜单选择动作进行映射,来实现大屏幕的菜单选择,实现自然人机交 互。

发明内容

针对现有技术中存在的技术问题,本发明的目的在于提供一种利用上臂伸展信息进行命 令选择的方法。通过身体运动控制光标移动,操作显示界面目前局限于XOY二维平面。对 于三维空间的尤其是Z轴的深度信息利用很少。考虑到3D空间变化复杂,用户很难精确控 制,因此选择深度维度的距离变化做为菜单选择的映射。

本发明的技术方案为:

一种利用上臂伸展信息进行命令选择的方法,其步骤为:

1)在控制器上创建一Stretching组件及该Stretching组件的菜单;

2)控制器通过显示屏幕上的深度摄像机实时采集该用户手心的三维空间位置,然后计算 手心位置到该用户身体平面的投影距离,得到该用户的手臂伸展长度并将其发送给 Stretching组件;

3)Stretching组件将该用户的手臂伸展长度转换为屏幕上光标在所述菜单上的显示位置; 其中,手臂伸展长度为零时,光标位于所述菜单的起点;

4)用户通过改变手臂伸展长度控制光标移动,当光标移动到所述菜单上的一待选菜单项 时,保持手势悬停时间大于设定时间,则该菜单项被选中。

进一步的,所述Stretching组件根据公式SCPosition=L/Y*CPosition将该用户的手臂伸展 长度转换为屏幕上光标在所述菜单上的显示位置;其中,SCPosition为光标的位置,CPosition 为当前手臂所在位置,屏幕的上下方向长度为Y像素,L为该用户的手臂伸展长度。

进一步的,所述菜单为饼形菜单,光标起点为饼形菜单的圆心,光标在圆心到菜单外边 缘的范围内与手臂伸展长度进行映射。

进一步的,所述菜单为竖直菜单或水平菜单,光标起点为菜单的一端,光标的位置在菜 单长度范围内与手臂伸展长度进行映射。

进一步的,当进行图片浏览操作时,用户抬起手向外推或向里收时,Stretching组件自动 控制图片相对应地在屏幕上放大或缩小显示。

进一步的,所述菜单状态包括:菜单被激活,菜单失效,菜单选择开始和菜单选择完成。

进一步的,当用户将手臂抬起至肩部位置时,菜单处于被激活状态;当手臂处于向前水 平伸展状态,光标位于某个菜单项的边缘时,菜单处于失效状态;当手臂处于向前水平伸展 状态,光标进入所述菜单的中心区域时,菜单处于选择开始状态;当手臂处于向前水平伸展 状态,光标位于某个菜单项的边缘并保持,则菜单处于选择完成状态。

本发明通过采用一种新技术(Stretching组件)来执行深度摄像机捕捉下的离散性和连续 性的交互任务。离散性交互任务的例子包括菜单选择,模式切换等。Stretching组件可以设计 成不同的形状,如竖直菜单、水平菜单、饼形菜单等。不同形式的菜单设计需要选择合适的 映射参数。当采用竖直或水平菜单时,光标起点为在其一端,光标的位置(在菜单竖直长度 或水平长度范围内)与手臂伸展长度进行映射。当采用饼型菜单时,其光标起点为饼形菜单 的圆心,在圆心到菜单外边缘的范围内与手臂伸展长度进行映射。连续性交互任务包括移动 物体或在空间中导航。对于这样的任务,Stretching组件可以设计为一维形状(如线,圆), 而光标需要在一维形状上不断移动,给用户提供当前参数值的实时反馈。

Stretching组件为软件模块,通过安置在显示屏幕上方的深度摄像机采集用户上臂伸展信 息,将其发送给该组件,该组件根据伸展信息控制光标移动进行命令选择,通过该组件的不 同选择转换为指令对大屏幕进行控制。

Stretching组件基于三维的方向信息(见图1)来完成上述任务,通过深度摄像机采集到 手心的三维空间位置,然后计算手心位置到身体平面的投影距离(手臂伸展长度),将该长度 的变化按照映射规则转换为屏幕菜单的光标显示位置。可以很轻松地植入用户界面中,不会 与现有的设计相冲突,无需其它辅助设备的帮助。因此,本发明能完全自由地使用单手来同 时完成指令选择和确认的任务,并且不影响手指精细动作。

本发明Stretching组件的显示形状见图2,形状为矩形或圆盘形,矩形菜单选项呈矩形垂 直排列,圆盘形菜单选项在圆盘中呈环形排列。用户通过向前水平伸缩手臂来选择一个菜单 项。当要选中一个菜单项时,保持手势悬停时间大于0.8秒,该菜单项被选中。

Stretching组件通过深度摄像机追踪手掌中心的三维位置,利用手掌中心的二维平面坐标 来控制菜单的显示位置,以手掌中心在屏幕上的投影位置为其界面的中心,以手臂伸展长度 的变化来控制光标的移动和显示位置,当手臂伸展控制光标移动时,菜单的显示位置保持固 定。因此,Stretching组件可以节省菜单定位时间,节省物理上的选择位移。与此同时,用户 采用伸缩上臂的方式来选择菜单项,不用改变手势原有的运动轨迹。大大便利了用户操作。

我们是基于上下文的当前任务需求来调用Stretching组件的,而不是一个明确的调用行 为。当用户将手抬起,手掌心位置达到一定高度时,则显示当前任务环境下相应的功能选单, 若当前所提供的功能选项可以直接与手臂伸展长度进行直接映射时(如伸展长度增大、减少 对应图片的放大、缩小功能),则无需进行菜单选择,直接通过手臂的伸缩动作进行控制。例 如,在深度摄像机的深度感知范围内,当浏览客厅电视上的图片时(深度摄像机安置在屏幕 上方),抬起手向外推或向里收时,Stretching组件会自动出现,控制图片相对应地在屏幕上 放大或缩小显示。当上下文情境改变时,如手臂放下或退出当前交互任务,Stretching组件会 自动消失,无需用户的取消操作。

我们在三维笛卡尔坐标系中计算动态光标是否选中了Stretching组件的某个菜单项(见 图3)。

Stretching组件的中心定位在手掌中心的位置,该中心即为三维坐标系的中心点。视点位 于Z轴正方向的无穷远处。将手掌所处的位置向量投影到XOY平面,将投影量命名为 Stretching动态光标。用动态光标来选择Stretching组件中的某个菜单项。

计算Stretching组件的菜单项是否被选中,其步骤为:

1)计算动态光标的位置SCPosition;

Stretching组件在进行菜单项显示时需要使用动态光标来标识当前被选中的菜单项,计 算动态光标的位置SCPosition,需要用到如下参数(见图3):手臂长度(肩部到掌心的Z轴 距离)L,屏幕的上下方向长度为Y像素。L和Y两个值在手臂和光标的不同坐标系统之间 建立映射。手臂的坐标系统是XYZ,映射关系是Z轴和光标的线性坐标系统建立映射关系。 即在手臂伸展长度与光标位置之间建立映射:

SCPosition=L/Y*CPosition;其中CPosition为当前手臂所在位置,L为通过深度图像计 算出来的手臂伸展长度,SCPosition为菜单选择动态光标的实际位置。

2)若SCPosition的值在中心区域的范围内,意味着动态光标处于激活状态,或选中了 Stretching组件中的某个菜单项。

Stretching组件状态转换:

见图2,Stretching组件界面的由菜单项包围的内区域称为中心区域(Center Region)。 见图4,总共有四种状态:

状态1:菜单被激活。

状态2:菜单失效。此时手臂处于向前水平伸展状态,动态光标击中了中心区域的边缘。

可由状态1进入状态2,状态转移条件是:在动态光标处于状态1,光标击中了某个菜单项 的边缘。

状态3:菜单选择开始。此时手臂处于向前水平伸展状态,动态光标进入中心区域的内部。

可由状态1进入状态3,状态转移条件是:在动态光标处于状态1,此时手臂处于向前水平 伸展状态,动态光标完全位于中心区域的内部。

可由状态2进入状态3,状态转移条件是:在动态光标处于状态2,此时手臂处于向前水平 伸展状态,动态光标重新进入中心区域的内部。

状态4:菜单选择完成。

可由状态3进入状态4,状态转移条件是:在动态光标处于状态3,此时手臂处于向前水平 伸缩状态,光标击中了某个菜单项的边缘或进入菜单选项区域,并保持0.8秒。

状态转换全过程:

1、动态光标处于状态1,菜单被激活,中心处于手掌中心在屏幕的投影位置。菜单动态 光标自动跟随手臂前后伸展运动进行移动,选择菜单项,用户完成选择活动后,组件消失。 在此过程中,手臂伸展的距离信息决定了菜单的下一个状态。

2、动态光标处于状态1,动态光标整体位于本发明Stretching组件界面的中心区域内,状 态转换至状态3:开始准备选择状态。在状态3,用户通过保持动态光标位置0.8秒,来完成选 择任务。

3、动态光标处于状态1,在用户执行选择任务之前,动态光标已经击中了某个菜单项的 边缘,那么状态转换至状态2,菜单失效。

4、若用户想从状态2转移到状态3,必须调整手臂伸展距离,使得动态光标整体位于本发 明的中心区域内。

5、用户当前处于状态3,此时只要使动态光标击中本发明的Stretching组件某个菜单项的 边缘或进入菜单项区域,保持0.8秒,即可完成某个菜单项的选择活动。

为使用户能够高效地使用Stretching组件,我们对手臂伸展和菜单的状态采取实时可视 反馈的技术:使用动态光标动态反馈手臂伸展状态的三维可视化线索。当菜单处于失效状态 (见图4状态2)时,菜单选项呈灰色。当菜单处于开始选择状态(见图4状态3)时,当前 被选择的菜单项高亮显示,可视反馈出当前手臂伸展的位置信息。若用户一直保持手臂当前 的向前伸展状态大于0.8秒,高亮的菜单项就会被选中。选择完成之后,Stretching组件自动 消失。

与现有技术相比,本发明的积极效果为:

(1)提出不使用佩戴式传感器,基于固定式的深度摄像机,使用上臂伸展信息来进行 菜单命令选择的方法,并且不影响手指精细动作。

(2)设计了Stretching组件来执行深度摄像机捕捉下的离散性和连续性的交互任务。通 过安置在显示屏幕上方的深度摄像机采集用户上臂伸展信息,控制动态光标在一 维形状菜单(如线,圆)上不断移动,进行菜单命令选择,通过该组件的不同选 择转换为指令对大屏幕进行控制。

(3)提出了将手臂的伸展长度与菜单选择动态光标位置的线性映射方法,并给出了相 应的计算公式。

(4)设计了基于手臂伸展位置变化的菜单选择状态转换图。

附图说明

图1为一位右手操作的用户使用本发明在手臂伸展的同时进行任务选择示意图。

图2为用户在图1状态下使用本发明示意图;

(a)矩形菜单,(b)圆形菜单。

图3为用户计算本发明中某个菜单项是否被选中的坐标系。

图4为本发明的状态转换图。

图5为动态光标的计算流程图。

具体实施方式

为了使本技术领域的人员更好的理解本发明,下面结合附图和实施方式对本发明作进一 步的详细说明。

1)计算机通过深度相机获取手心位置并计算用户的手臂长度信息L,

2)首先参照图3,图3是实现动态光标的二维笛卡儿坐标系原理图,动态光标头在坐标 的原点,视点在光标上z坐标轴的正向无限处,动态光标是手臂向量在XY平面上的投影。 动态光标形状的计算可参考图5,其步骤如下:

设定初始参数,包含L,Y;

所述设定初始参数其值需根据显示屏的参数以及希望得到的效果来设定。

计算动态光标的位置,其详细步骤如下:SCPosition=L/Y*CPosition;其中CPosition为 当前手臂所在位置。

3)状态转换(见图4):

见图2,Stretching组件的由菜单项包围的内区域称为中心区域(Center Region)。总共有 四种状态:

状态1:菜单被激活。

状态2:菜单失效。此时手臂处于向前水平伸展状态,动态光标进入了某个菜单项的范围。

可由状态1进入状态2,状态转移条件是:在动态光标处于状态1,光标击中了某个菜单项 的边缘。

状态3:菜单选择开始。此时手臂处于向前水平伸展状态,动态光标进入中心区域的内部。

可由状态1进入状态3,状态转移条件是:在动态光标处于状态1,此时手臂处于向前水平 伸展状态,动态光标完全位于中心区域的内部。

可由状态2进入状态3,状态转移条件是:在动态光标处于状态2,此时手臂处于向前水平 伸展状态,动态光标重新进入中心区域的内部。

状态4:菜单选择完成。

可由状态3进入状态4,状态转移条件是:在动态光标处于状态3,此时手臂处于向前水平 伸展状态,光标进入了某个菜单项的范围并保持在该菜单项区域内部。

状态转换全过程:

1、动态光标处于状态1,菜单被激活,中心处于手掌中心位置。光标自动跟随手臂前后 伸展运动,知道用户完成选择活动后消失。在此过程中,手臂与屏幕的距离信息决定了菜单 的下一个状态。

2、动态光标处于状态1,动态光标整体位于本发明Stretching组件界面的中心区域内,状 态转换至状态3:开始准备选择状态。在状态3,用户通过保持手臂当前的向前伸展状态大于0.8 秒来完成选择任务。

3、动态光标处于状态1,在用户执行选择任务之前,动态光标已经击中了Stretching组件 中的某个菜单项的边缘,那么状态转换至状态2,菜单失效。

4、若用户想从状态2转移到状态3,必须调整手臂与屏幕之间的距离,使得动态光标整体 位于本发明Stretching组件界面的中心区域内。

5、用户当前处于状态3,此时只要使动态光标击中本发明Stretching组件的某个菜单选项 边缘或进入菜单选项区域,并保持0.8秒,即可完成某个菜单项的选择活动。

实施例

在运行Stretching组件的软件环境中,Stretching组件的后台任务不断与深度摄像机进行 通信,实时检测用户的手心位置,当用户的手臂处于自然下垂,手心位置位于肩关节以下时, Stretching组件处于未激活状态。在进行图片浏览操作时,用户在自然状态下,将手抬起肩部 高度左右的位置,此时,Stretching组件激活并显示一个含有“缩放、旋转、返回上一级”三 个选项的竖直方向菜单,光标此时处在顶部菜单边缘,没有菜单选项被选中,此时手掌前推, 则手臂的伸展长度增加,光标位置开始向下移动,从上到下依次经过三个菜单选项,当手掌 停止移动时则光标固定在某个菜单选项之上,若手掌位置保持0.8秒,则该选项菜单被选中, 调用相应的程序功能。当光标触及最低端的菜单选项时,即使手臂继续前伸,光标也不会移 动。当手臂回收时,则手臂的伸展长度减少,则此时光标从当前位置由下至上移动,若触及 最顶端的菜单选项,则光标停止移动。在Stretching组件菜单显示时,若手臂放下或选择了 “返回上一级”选项,则Stretching组件菜单消失。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号