用于基于姿势的控制系统的系统和方法

文档序号:7636440阅读:136来源:国知局
专利名称:用于基于姿势的控制系统的系统和方法
技术领域
本发明总体涉及计算机系统领域,而具体涉及一种用于基于姿势的控 制系统的系统和方法。
背景技术
用户可以使用输入设备(诸如鼠标、键盘、操纵杆、横向键等)、通 过操纵显示器上的窗口中的数据或图像、或者通过从与该窗口相关联的菜 单或相关联的程序中选择操作来输入命令并与计算机系统交互。这种输入 设备还可以用作位置翻if^殳备,其可以用于定位图形的屏上指针,如光标。 例如,光标功能用来指示待修订的字符或者指示数据将被输入的位置或者 待执行的操作。某种形式或外观的光标通常呈现在计算机显示器上。用户 对输入设备的操纵将导致光标的相应移动。因此,例如,鼠标或其它输入 i殳备的移动导致光标在相同方向上的移动。
依赖于光标的功能和计算机系统的状态,光标可以具有不同的外观。 例如,当位于计算机显示器上的文本域中时,光标的外观可以是"I-杆" 或闪烁的竖线。文本域中光标的位置指示用户通常将通过#输入的下一 字符的位置。依赖于光标的功能,光标可具有其它外观。在绘图或绘画程 序中,光标可以被表示为画刷、铅笔、橡皮擦、桶或其它图形形式。
当被定位在用户可选的操作上或者当用于选择图形元素(如窗口 )时, 光标还可以采用箭头或指针形状。为了用光标选择并激活期望的操作,可 以将光标放置在该操作的图形或文本表示上。可以按压和/或释放位于鼠
标输入设备上的一个掩組,以实现该^Mt。通过视觉反馈,通常以计算机
显示器上的图像中的某些变化的形式,来通知用户用于执行的操作被接受。使用中的一个或多个程序通常产生这种视觉响应。响应于所选择的操 作,这些程序产生绘图命令,以更新显示图像。
现有技术系统的一个缺点在于,输入设备通常仅仅是一个设备。用户 需要具有有线或无线的鼠标或其它输入设备,并使用该设备来管理选择、 位置翻译、激活以及其它输入功能。通常,使用这些物理设备不是自然的 或直觉的。另 一个缺点是需要经历一定的步骤来改变输入设备的上下文, 从而执行不同的功能。
随着很大的显示器的普及,现有技术中输入设备和系统的另外的缺点 开始明显。例如,当使用鼠标试图在大显示器上平移光标位置时,用户必 须经常抬起鼠标,并将其放回鼠标表面上,以使用户能够拖动光标使其跨 过甚至是大显示器的一部分。这是一种浪费的不自然的动作。
已经有一些现有技术试图提供对这些问题的解决方案。 一个现有技术 的解决方案是在用户手上4吏用手套。这些手务没计用以将用户的手变成输 入设备。在一个实施例中,输入手套被硬连接到计算机系统。该方案的缺 点是用户被完全束缚到该场所,要求靠近该计算机系统并限制活动范围。 在其它情况下,手套是无线的。然而,这种无线实施要求有用于手套的独 立电源。当电源需要被充电时,手套不能被4吏用。

发明内容
本系统提供了 一种针对呈现在一个或多个显示器屏幕上的各种视觉 呈现元素的姿势接口。在一个实施例中,系统操作员使用该操作员的手来 发出连续流的"姿势命令",来导航并操纵这些元素。在其它实施例中, 用户的头、脚、臂、腿或整个用户可以用来提供导航和控制。姿势词汇包
括"即时"命令,其中将一只或两只手形成适当的"姿态"导致立即的、 一次性动作;以及"空间"命令,其中操作员借助于精确的"指向"(literal "pointing")姿势来直接指示屏幕上的元素,或者借助于相对的或"偏移 的"姿势来执行导航操作。除用于绝对或直接的空间姿势的指向姿势外, 本发明还可识别XYZ空间中的另一类的相对的空间导航姿势。这类动作 有时称为XYZ技术。通过保持高的帧速率、通过确保对操作员姿势的解 释中的几乎不可察觉的滞后以及通过采用仔细设计的空间隐喻以及很显 然的"直接操纵"机制二者,该系统在操作员和被表示的信息&过程之间 提供了生动的"认知耦合"。该系统预期具有识别用户手的能力。这种识别系统可以是其上设有特定标记的一个或多个手套的形式,或者可以是用 于在用户手上提供可识别标记的任何适合的装置。相机系统能够检测用户 手的位置、取向和移动,并将该信息翻译成可执行的命令。


图l是本发明的系统的一个实施例的图。
图2是本发明的标记标签的一个实施例的图。 图3是本发明一实施例中姿势词汇的姿态的图。 图4是本发明一实施例的姿势词汇中的取向的图。 图5是本发明一实施例的姿势词汇中两手组合的图。 图6是本发明一实施例的姿势词汇中取向混合的图。 图7是说明本发明系统的一实施例的操作的流程图。 图8是本系统一实施例的命令的一个示例。
具体实施例方式
描述了 一种用于基于姿势的控制系统的系统和方法。在以下描述中, 对多个特征进行了详细描述,以便提供对本发明的更为通透的理解。显然, 可以在没有这些特定细节的情况下来实施本发明。在其它情况下,对7/^ 特征不作详细描述。
系统
图1图示了本发明一实施例的框图。用户将他的手101和102放在相 机104A-104D阵列的视区内。相机检测手指以及手101和102的位置、 取向以及移动,并产生输出信号给预处理器105。预处理器105将相机的 输出翻译成姿势信号,该姿势信号被提供给系统的计算机处理单元107。 计算机107使用该输入信息产生用以控制一个或多个屏上光标的命令,并 向显示器103提供视频输出。
尽管本系统示出了单个用户的手来作为输入,但是还可以利用多个用 户来实施本发明。另外,替代手,或除手之外,该系统可以跟踪用户身体 的任何一个或多个部位,包括头、脚、腿、臂、肘、膝等。在所示出的实施例中,使用4个相机来检测用户手101和102的位置、 取向和移动。应理解,本发明可以使用更多或更少的相机,而不脱离本发 明的范围或精神。另夕卜,尽管相机在示例实施例中被对称地设置,但是本 发明并没有这种对称的要求。本发明中可以使用容许用户手的位置、取向 以及移动的任何数量或布置的相机。
在本发明的一个实施例中,所使用的相机是能够捕获灰度图像的运动 捕获相机。在一个实施例中,所使用的相机是由Vicon制造的相机,如 Vicon MX40相机。该相机包括相机上处理,并能够以1000帧/秒进行图 像捕获。运动捕获相机能够检测和定位标记。
在所描述的实施例中,相机用于光学检测。在其它实施例中,可使用 相机或其它检测器,用于电磁、静磁、RFID或任何其它适当类型的检测。
预处理器105用于产生三维空间点重构以及骨架点标注。姿势翻译器 106用于将3D空间信息和标记运动信息转换成可以被计算机处理器解释 的命令语言,以便更新显示器上光标的位置、形状和动作。在本发明的一 个替选实施例中,预处理器105和姿势翻译器106可以组合成单个i殳备。
计算机107可以是诸如Apple、 Dell或任何其它适合的厂家生产的任 何通用计算机。计算机107运行应用程序,并提供显示输出。光标信息现 在来自姿势系统,而不是来自鼠标或其它现有技术的输入设备。
标记标签
本发明预期用户的一个或多个手指上的标记标签的使用,从而使得系 统能够定位用户的手、识别其正查看的是左手还是右手以及哪些手指是可 见的。这允许该系统检测用户手的位置、取向以及移动。该信息允许多个 姿势被系统识别并且被用户用作命令。
在一个实施例中,标记标签为物理标签,其包括基片(在本实施例中 适于附在人手上的各个位置)和以独特识别图案设置在基片表面上的离散 标记。
所述标记和相关联的外部感测系统可以操作于允许准确、精确、快速 并连续获取它们的三维空间位置的任何域(光、电磁、静磁等)中。所述 标记自身可以有源地操作(例如通itiL射结构化的电磁脉冲),或者无源 地操作(例如通过如本实施例中的光回射方式)。
在获取的每个帧中,检测系统接收所恢复的三维空间位置的聚集"云 (cloud )",所述三维空间位置包括来自在仪表化的工作空间体积(相机或其它检测器的可见范围内)中存在的标签的所有标记。每个标签上的标 记具有充分的多样性,并以独特的图案来设置,从而使得该检测系统能够
执行以下任务(l)分段,其中每个被恢复的标记位置被分配给形成单个 标签的一个且仅一个点的子集合;(2)作标注,其中每个分段的点的子集 合被标识为特定标签;(3)定位,其中所标识的标签的三维空间位置被恢 复;以及(4)取向,其中所标识的标签的三维空间取向被恢复。通过标 记图案的特定性质,有可能执行任务(1)和(2),如下所述以及如图2 的一个实施例所示的。
在一个实施例中,标签上的标记被附于常规栅格位置的子集。如本实 施例中,在下面的栅格可以是传统的笛卡尔类型;或者替换地可以是某些 其它常规平面棋盘式布置(例如三角形的/六边形的平铺排列)。栅格的尺 寸和间隔相对于标记感测系统的已知空间分辨率来建立,^f吏得相邻的^h格 位置不可能被混淆。针对所有标签的标记图案的选择应该满足以下约束 通过旋转、平移或镜像的任何组合,标签的图案不与任何其它标签的图案 巧合。可以进一步对标记的多样性和排列进行选择,以容许某特定数量的 组成标记的丟失(或闭塞)在任意变换之后,其应该仍然不可能^f吏经折 衷的模块与任何其它模块混淆。
现在参考图2,其示出多个标签201A-201E (左手)以及202A-202E (右手)。每个标签是矩形的,并且在本实施例中组成5x7的栅格阵列。 选择矩形形状作为确定标签取向的辅助,并且减小镜〗象复制的可能性。在 所示出的实施例中,针对每个手上的每个手指都有标签。在某些实施例中, 每个手使用一个、两个、三个或四个标签可能就足够了。每个标签具有不 同^JL或颜色阴影的边界。在该边界内是3x5的栅格阵列。标记(由图 2中的黑点表示)被置于相f格阵列中的某些点处,以l更提儉度息。
通过将每个图案分段成"共同,,和"独特"的子图案,可以将资4Mf 息编码到标签的标记图案中。例如,本实施例规定了两个可能的"边界图 案"、矩形边界周围的标记的分布。由此建立了标签"家族"一一计划用 于左手的标签可能因此全部使用如标签201A-201E中所示的相同边界图 案,而那些附着于右手手指的标签可被分配如标签202A-202E中所示的 不同图案。选择该子图案使得在标签的所有取向中左图案可区别于右图 案。在所示的示例中,左手图案包括在每个拐角中的标记以及从拐角栅格 位置起的第二中的标记。右手图案仅在两个拐角中具有标记并具有在非拐 角栅#置中的两个标记。对图案的检查表明,只要四个标记中的任何三个是可见的,左手图案就肯定能够区别于左手图案。在一个实施例中,也
可使用边界的颜色或阴影作为偏手性(handedness)的指示。
当然每个标签必须仍然采用独特的内部图案、分布于其家族的公共边 界内的标记。在所示出的实施例中,已经发现由于手指的旋转或取向, 内部栅格阵列中的两个标记足以没有重复地唯一标识十个手指中的每个。 即使标记之一被闭塞,标签的图案及偏手性的组合也导致唯一的标识符。
在本实施例中,栅M置视觉上呈现在刚性基片上,作为对将每个回 射标记附在其预期位置的(手动)任务的辅助。这些^fr格和预期标记位置 通过彩色喷墨打印M逐字打印到基片上,所述基片在这里是一片(初始) 柔软的"收缩膜"。每个模块从该片切开,然后后被烘烤,在该热处理期 间,每个模块经受精确并可重复的收缩。在该过程后的短暂间隔内,冷却 的标签可被轻微成型一一例如,沿手指的长度曲线;其后,基片是适度刚 性的,且标记可附在所指示的栅格点。
在一个实施例中,标记自身是三维的,如通过粘合剂或某些其它适当 方式附于基片的小的反射球。标记的三维性比二维标记更有助于检测和定 位。不过,两者均可以使用,而不脱离本发明的精神和范围。
目前,标签通过维可牢(Velcro)或其它适当方式被附于操作员所戴 的手套上,或者替选地,使用温和的双面胶带直接附于操作员的手指上。 在第三实施例中,可以与刚性基片一起分配,并将各标记直接粘附或"绘 制"在^Mt员的手指和手上。
姿势词汇
本发明预期由手姿态、取向、手组合以及取向混合构成的姿势词汇。 在本发明的姿势词汇中,还实施了用来设计并沟通姿态和姿势的符号语言 (notation language )。姿势词汇是用于以紧凑的文本形式;M^示即时的运 动联接(kinematic linkage)的"姿态状态"的系统。这里所讨论的联接 可以是生物学的(例如人手,或者整个人体;或者蝗虫腿;或者狐猴的关 节脊柱),或者替代地可以是非生物的(例如机器人手臂)。在任何情况下, 所述联接可以是筒单的(脊柱)或者是分支的(手)。本发明的姿势词汇 系统针对任何特定的联接建立固定长度的字符串;因此,占据字符串"字 符位置"的特定ASCII字符的聚集是所述联接的即时状态或"姿态"的 唯一描述。
手姿态图3图示了使用本发明的一个姿势词汇实施例中的手姿态。本发明假 设一只手的五个手指中的每个都被使用。这些手指的代码为p-小手指、r-无名指、m-中指、i-食指以及t-拇指。图3限定并示出了针对手指和拇指 的多个姿态。姿势词汇字符串针对联接中的每个可表达的自由度(本例中 为手指)建立单个字符位置。此外,每个这样的自由度被理解为离散化的 (或"量化的,,),从而可通过在该字符串位置分配有限数量的标准ASCII 字符中的一个来表示其全范围的运动。这些自由度相对于特定于身体的原 点及坐标系统(手背、鳇虫身体的中心;机器人手臂的基部等)来表示。 因此,使用少量的附加姿势词汇字符位置,在更全局的坐标系统中来表示 作为整体的所述联接的位置和取向。
仍然参考图3,使用ASCII字符来定义和标识了多个姿态。某些姿态 被分成拇指的和非拇指的。在该实施例中,本发明使用编码,使得ASCII 字符本身就是姿态的暗示。不过,任何字符都可用于表示姿态,无论是暗 示性的与否。另外,本发明并不要求使用ASCII字符用于符号字符串。 任何适当的符号、数字或其它表示都可使用,而不脱离本发明的范围和精 神。例如,如果需要,所述符号可以针对每个手指使用两个比特,或者如 所需要地^f吏用其它数量的比特。
弯曲的手指由字符"a"来表示,而弯曲的拇指由">"表示。向上 指的伸直的手指或拇指由"1"指示,而某个角度的手指或拇指由"\"或 "/"表示。"-,,表示直指向侧面的拇指,而"x"表示指向平面内的拇指。
使用这些单独的手指和拇指描述,可以使用本发明的方案来定义和书 写稳健数量的手姿态。每个姿态由五个字符利用上述的p-r-m-i-t顺序来 表示。图3图示了多个姿态,且以图示和示例的方式在此描述其中的一些。 保持平并平行于地面的手表示为"11111"。拳表示为"aaaa>"。 "ok" 标志祐束示为"111a>"。
当使用暗示性字符时,字符串提供了直接的"人可读性"的机会。通 常着眼于快速识别和明显相似性来选择描述每个自由度的可能的字符集。 例如,竖杠(T )可能意味着联接元素为"直的",('L,)可能意味着卯 度的弯曲,而弯曲形('a,)可指示急剧的弯曲。如上所述,可以才艮据需 要来使用任何字符或编码。
采用上述姿势词汇字符串的任何系统在此享受字符串比较的高计算 效率的好处一一识别或搜索任何指定的姿态完全变成在期望的姿态字符 串和即时的真实字符串之间进行的"字符串比较"(例如,UNIX的'strcmp(),功能)。此外,"通配符"的使用为编程人员或系统设计者提供 了额外的熟悉效率和功效即时状态与匹配无关的自由度可以被指定为问 号('?,);可以分配另外的通配符的含义。
取向
除手指和拇指的姿态以外,手的取向也可以表示信息。描述全局空间
取向的字符也可以透明地进行选择;当在取向字符位置遇到字符'<,、 '>,、'a,以及V时,其可以用于指示左、右、上和下的意思。图4 图示了手取向描述符以及组合了姿态和取向的编码示例。在本发明的一个 实施例中,两个字符位置首先指定手掌的方向,其次是手指的方向(如果 它们是直的,与手指的实际弯曲无关)。针对这两个位置的可能的字符表 示取向的'身体为中心,概念'-,、'+,、 'x,、 '*,、 'a,以及V描 述了向中间、侧向、前向(向前,从身体离开)、后向(向后,从身体离 开)、头部的(向上)以M部的(向下)。
在本发明的实施例的符号方案中,指示字符的五个手指姿态后面跟着 冒号,然后是两个取向字符,以定义完整的命令姿态。在一个实施例中, 2起始位置指"xyz"姿态,其中当该姿态用右手来作时,拇指向上直指, 食指向前指,而中指垂直于食指指向左。这由字符串"aax1-:-x"表示。
'XYZ-手,是利用人手的几何形状以允许视觉呈现的三维结构的全部 六國自由度(six國degree-of-freedom)导航的才支术。尽管该技术仅^SC依赖于 操作员手的大量平移和旋转一一使得其手指可以大体上保持于所需要的 任何姿态一一本发明实施例优选静态结构,其中食指指向离开身体的方 向;拇指指向天花板;而中指指向左右。由此,这三个手指描述了三维空 间坐标系统的三个相互正交的轴因此称为'XYZ手,。
然后,利用保持在操作员身体前在预定'中立位置(neutralposition)' 手(上述某种姿态的手指)来进行XYZ手导航。对三维空间物体(或相 机)的三个平移和三个旋转自由度的获取以下面的自然方式来实现手的 左右移动(相对于身体的自然坐标系统)导致沿着计算上下文的X-轴移 动;手的上下移动导致沿着受控上下文的Y-轴移动;而手的前后移动(朝 向/离开操作员身体)导致在上下文内的Z-轴运动。类似地,操作员手关 于食指的旋转导致计算上下文取向的'滚动,变化;通过操作员手分别关 于中指和拇指的旋转,类似地实现'倾斜(pitch),和'摇摆(yaw),变化。注意,尽管'计算上下文,在此用来指通过XYZ手方法控制的实体 ——并且看起来暗示合成的三维空间物体或相机一一应理解,该:技术同样
可用于控制真实世界物体的各自由度例如,配备有适当的旋转执行器的 视频或运动画面相机的摇动/倾斜/滚动(pan/tilt/roU)控制。另外,甚至 在虚拟域中,由XYZ-手姿态提供的物理自由度可能稍微较不完全地被映 射在本实施例中,XYZ"手还用于提供对大全景显示图像的导航接入, 从而操作员手的左右和上下运动导致关于图像的预期的左右或上下'摇 动,,而操作员手的前后运动映射到'缩放(zooming)'控制。
在每种情况下,手的运动和所导致的计算平移/旋转之间的耦合可以 是直接的(即,通过某些线性或非线性函数,操作员手的位置或旋转偏移 一对一地映射到计算上下文中的物体或相机的位置或旋转偏移),或者是 间接的(即,通过某些线性或非线性函数,^Mt员手的位置或旋转偏移一 对一地映射到计算上下文中的笫一或更高阶导数的位置/取向;然后,正 在进行的积分实现计算上下文中的真实零阶位置/取向的非静态变化)。后 面的这种控制手段类似于4吏用汽车的'气动踏板,,其中踏板的固定偏移 或多或少地导致不变的汽车速度。
作为真实世界XYZ-手的本地六-自由度坐标原点的'中立位置,可以 被建立作为(1)空间中的绝对位置和取向(比方说,相对于封闭室); (2)相对于操作员自身的固定位置和取向(例如,在身体前面八英寸、 下颚以下十英寸以及侧向与肩平面对齐),与操作员的整个位置和'朝向, 无关;或者(3)交互式地,通过操作员的有意的二次动作(例如,使用 由操作员的'另一只,手发出的姿势命令,所述命令指示XYZ手的当前 位置和取向此后应被用作平移和旋转的原点)。
另外,方便的是提供关于XYZ手的中立位置的'停止(detent),区 域(或'死区,),使得在该体积内的移动不映射到受控上下文中的移动。
其它姿态可包括为手掌朝下且手指向前的平的手(拇指平行于手指)。 [1hxA]为手掌朝前且手指朝向天花板的平的手。为手掌朝向身体中心(如果是左手则朝右,如果是右手则朝 左)且手指朝前的平的手。为单手拇指向上(拇指指向天花板)。 l am卜-xj为模仿指向前方的枪。两手组合
本发明预期单手命令和姿态以及两只手的命令和姿态。图5图示了本 发明一实施例中两手组合和相关符号。回顾第一示例中的符号,"完全停 止(full stop)"表明其包括两个闭合的拳。"快照"示例中,每只手的拇 指和食指伸展,拇指彼此互指,定义球门柱形的框。"舵和节流阀开始位
置"为手指和拇指指向上、手掌朝向屏幕。 取向混合
图6图示了本发明一实施例中的取向混合的一个示例。在所示出的示 例中,所述混合通it^手指姿态字符串之后将取向符号对;^括号中来表 示。例如,第一命令显示了全部直指的手指位置。第一对取向命令将导致 手掌平、朝向显示器,而第二对使手旋转到向着屏幕45度的斜度。尽管 在该示例中示出了混合对,但本发明中预期任何数量的混合。
示例性命令
图8图示了可以与本发明使用的多个可能的命令。尽管这里的某些讨 论是关于对显示器上光标的控制,但是本发明不限于该行为。实际上,本 发明可广泛应用于操纵屏幕上的任何和全部的数据及部分数据以及显示 的状态。例如,在视频媒体的回放期间,可用所述命令来取代视频控制。 所述命令可以用于暂停、快进、回退等。另外,可以实施命令iMt大或缩 小图像、改变图像的取向、在任何方向上摇动等。本发明还可用于代替菜 单命令,如打开、关闭、保存等。换句话说,能够想象到的任何命令或行 为都可以利用手姿势来实现。
操作
图7是说明一个实施例中的本发明的操作的流程图。在步骤701,检 测系统检测标记和标签。在决策方框702中,确定是否检测到标签和标记。 如果没有,系统返回到步骤701。如果在步骤702中检测到标签和标记, 则系统前进到步骤703。在步骤703中,系统从所检测的标签和标记中识 别手、手指和姿态。在步骤704中,系统识别姿态的取向。在步骤705 中,系统识别所检测到的一只或多只手的三维空间位置。(请注意,步骤 703、 704和705中的任何或全部可以组合成单个步骤)。
在步骤706中,信息被翻译成上述的姿势符号。在决策方框707中, 确定姿态是否有效。这可以通过使用所产生的符号字符串进行简单的字符 串比较来完成。如果姿态是无效的,则系统返回步骤701。如果姿态是有效的,则在步骤708中,系统发送该符号和位置信息给计算机。在步骤 709中,该计算机确定响应于所述姿势将采取的适当的动作,并在步骤710 中相应地更新显示。
在本发明的一个实施例中,步骤701-705通it^目机上的处理器来完成。 在其它实施例中,如果需要,所述处理可以通过系统计算机来完成。
解析和翻译
系统能够"解析,,和"翻译"由底层系统恢复的低级姿势流,并将那 些被分析和翻译的姿势转换成事件数据或命令流或,所述事件数据或命令 流可用来控制宽范围的计算机应用和系统。这些技术和算法可以在由计算 机代码构成的系统内实施,所述计算机代码提供实施这些技术的引擎以及 构建利用该引擎性能的计算机应用的平台。
一个实施例关注于^A手的丰富的姿势能够在计算机界面中使用,还 能够识别由其它身体部位(包括但不限于臂、躯干、腿和头)作出的姿势 以及各种非手的物理工具作出的姿势,所述物理工具为静态的和有关节 的,包括但不限于卡钳、圓规、灵活的曲线近似器以及各种形状的指向设 备。标记和标签可应用于可以由操作员根据需要携带和使用的物品和工 具。
这里所描述的系统合并了多个创新,所述多个创新使得可以建立具有 丰富的可以被识别和按照其来动作的姿势的姿势系统,而同时易于集成到 应用中。
一个实施例中的姿势解析和翻译系统由以下构成
1)一种以几个不同等级的聚集指定(用于在计算机程序中使用的编 码)姿势的紧凑和有效的方式
a. 单手的"姿态"(相对于彼此的手的各部分的配置和取向),在三 维空间中的单手的取向和位置。
b. 两手组合,针对任一只手,考虑姿态、位置或两者都考虑。
c. 多人组合;系统可跟踪多于两只手,因此多于一个人可协作地(或 在游戏应用情况下,竟争地)控制目标系统。
d. 连续姿势,其中姿态被组合在一个系列中;我们称之为"动画" 姿势。
e. "字形"姿势,其中操作员跟踪空间中的形状2) —种注册来自与给定的应用上下文有关的以上每一类别的特定姿 势的编程技术。
3) 用于解析姿势流使得被注册的姿势可被识别以及封装那些姿势的 事件可被传递到相关的应用上下文中的算法。
具有构成元素(la)至(lf)的规范系统(1)提供了使用这里所描 述的系统的姿势解析以及翻译能力的M 。
单手"姿态"M示为以下的字符串
i) 手指和手背之间的相对取向,
ii) 量化到小数量的离散状态。
使用相对联合取向使得这里所描述的系统可以避免与不同的手尺寸 和几何形状有关的问题。使用该系统不需要"操作员校准"。另外,将姿 态指定为字符串或者相对取向的集合使得更为复杂的姿势规范通过将姿 态描述与另外的过滤器的;SJSL范组合而易于被创建。
使用针对姿态规范的小数量的离散状态使得能够紧凑地指定姿态,并 能够利用多种底层跟踪技术(例如,使用相机的无源光学跟踪、使用点亮 的点和相机的有源光学跟踪、电磁场跟踪等)来确保正确的姿态识别。
在每一类别(la)至(lf)中的姿势可以被部分(或最小地)指定, 从而忽略非关键数据。例如,其中两个手指的位置确定而其它手指位置不 重要的姿势可以通过单个规范来表示,该单个规范中,给出了两个相关手 指的操作位置,J^L相同字符串内,针对其它手指,列出了 "通配符"或 普通"忽略这些"的指示。
这里所描述的用于姿势识别所有创新包括但不限于多层次规范技术、 使用相对取向、量化数据以及允许在每一级别的部分或最小规范,其推广 到手姿势规范之外,推广到使用其它身体部位以及"制造的"工具和物体 的姿势规范。
用于"注册姿势,,的编程技术(2)由限定的应用编程接口调用的集 构成,其允许编程人员来定义引擎应使哪些姿势可用于运行系统的其它部 分。
这些API例程可以在应用建立时间来使用,从而创建在整个运行系 统的工作期间使用的静态接口定义。这些API程序还可以在运行过程中 使用,从而使接口特性在不工作时改变。这种接口的实时改变使得下述行为成为可能
i) 建立复杂的上下文和条件控制状态,
ii) 动态地添加滞后现象(hysterisis)到控制环境,并且
iii) 创建应用,其中用户能够改变或扩屑J逸行系统自身的接口词汇。
用于解析姿势流的算法(3)将在(1)中指定并在(2)中注册的姿 势与进入的低级别姿势数据进行比较。当针对注册的姿势的匹配被识别 时,表示匹配姿势的事件数据被向上传递到堆栈,到达运行的应用。
在设计该系统时期望有效的实时匹配,且指定的姿势被作为被尽可能 快地处理的树状概率。
另外,操作员内部使用的用以识别指定姿势的原语比较也可以被应用 程序的编程人员使用,使得即使从应用上下文内也可以进行进一步比较 (例如,复杂或复合姿势中的灵活的状态检查)。
识别"加锁(locking)"语义是这里所描述的系统的创新。这些语义 通过注册API (2)(以及,在更小程度上,嵌入到规范词汇(1)内)来 暗示。注册API调用包括
i) "进入(entry)"状态通知者以及"继续(continuation)"状态通 知者,以及
ii) 姿势优先级指定者。
如果姿势已被识别,则针对相同或较低优先级的姿势,其"继续,,条 件优先于所有的"i^"条件。进入和继续状态之间的这种区别大大增加 了所感知的系统的可用性。
这里所描述的系统包括面对真实世界的错误和不确定性的健壮操作 的算法。来自低,踪系统的数据可能是不完整的(由于多种原因,包括 在光学跟踪、网络丢弃或处理延时中标记的闭塞等)。
丟失的数据通过解析系统来标记,且被插值(interpolate)成"最后 已知"或"最有可能"的状态,这依赖于所丢失lt据的量和上下文。
如果关于特定姿势组成的数据(例如,特定联合的取向)丢失,但是 该特定组成的"最后已知,,的状态可被分析为在物理上是可能的,则系统 在其实时匹配中使用该最后已知的状态。
相反地,如果该最后已知状态被分析为在物理上是不可能的,则该系统回退到针对所述组成的"最佳猜测范围(best guess range ),,,并在其实 时匹配中使用该合成数据。
这里所描述的规范和解析系统已被仔细地设计以支持"偏手性不可知 性",使得对于多手的姿势,任一只手被允许满足姿态需求。
一致的虚拟/显示及物理空间
系统可以提供一种环境,其中在一个或多个显示i殳备("屏幕,,)上描 绘的虚拟空间被当作与系统的一个或多个操作员所处的物理空间 一致来 处理。在此描述这种环境的一个实施例。该当前实施例包括在固定位置处 由三个投影仪驱动的屏幕,由单个台式计算机驱动,并且使用这里所描述 的姿势词汇和接口系统来控制。然而,应注意,所描述的技术支持任何数 量的屏幕;这些屏幕可以是移动的(而非固定的);屏幕可以被许多独立 的计算机同时驱动;且整个系统可以由任何输入设备或技术来控制。
4^>开中描述的接口系统应具有确定屏幕在物理空间中的尺度、取向 以;^位置的装置。给定该信息,系统能够动态地将物理空间映射到在系统 上运行的计算机应用的虚拟空间中,屏幕位于所述物理空间(且系统的操 作员处于其中)中,这些屏幕作为投影。作为该自动映射的部分,系统还 根据系统所掌管的应用的需要,以多种方式来转换两个空间的比例、角度、 深度、尺度以及其它空间特性。
在物理和虚拟空间之间的这种连续的转换使得可以连贯且普遍地使 用多种接口技术,所述接口技术在现有的应用平台上难以实现,或者必须 针对现有平台上运行的每个应用来逐件执行。这些技术包括(但不限于)
1) 使用"精确指向"一一在姿势接口环境中使用手,或使用物理指 向工具或设备一一作为普遍和自然的接口技术。
2) 自动补偿屏幕的移动或重新定位。
3) 依赖于操作员位置而变化的图形描绘,例如模仿视差移动以增强 深度感。
4) 在屏上显示中包含物理物体一一考虑真实世界的位置、取向、状 态等。例如,站在大且不透明的屏幕前的操作员可以看见应用图形以及屏 幕后面的比例模型的真实位置的表示(以及也许移动的或改变的取向)。
重要的是应该注意,精确指向不同于在基于鼠标的窗口接口以及大多 数其它当代系统中使用的抽象指向。在那些系统中,操作员必须学会管理虚拟指针和物理指向设备之间的翻译,并且必须在两个之间进行可认知地 映射。
与之对照,在本公开所描述的系统中,无论从应用或用户角度,在虚 拟和物理空间之间没有不同(除了虚拟空间^J艮从于数学处理),因此对
^Mt员没有i人知翻译的需求。
与这里所描述的实施例所提供的精确指向的最类似的是触敏屏(例
如,如许多ATM机器上所发现的)。触敏屏提供屏幕上的两维显示空间 和屏幕表面的两维输入空间之间的一到一映射。以类似方式,这里所描述 的系统提供显示在一个或多个屏幕上的虛拟空间和操作员所处于的物理 空间之间的灵活映射(可能是,但不一定是, 一到一)。尽管所述类似是 有用的,应该理解的是,将该"影射方法"扩展到三维、任意大的结构环 境以及多个屏幕并非是微不足道的。
除了这里所描述的组成之外,系统还可以实施在环境的物理空间和每 个屏幕上的显示空间之间执行连续、系统级映射(也许通过旋转、平移、 比例缩放或其它几何变换来修改)的算法。
描绘堆栈(rendering stack),其获得计算的物体以及映射,并输出 虛拟空间的图形表示。
输入事件处理堆栈,其从控制系统获得事件数据(在当前的实施例中, 来自系统和鼠标输入的姿势和指向数据二者)并将来自输入事件的空间数 据映射到虚拟空间中的坐标。经翻译的事件随后被传递到正在运行的应 用。
"胶层(glue layer)",其允许所述系统掌管在局域网上的几个计算 机之上运行的应用。
这样,就描述了基于姿势的控制系统。
权利要求
1. 一种控制计算机显示的方法,其包括检测用户所作的物理控制姿势;将所述控制姿势翻译成可执行的命令;响应于所述可执行的命令,更新所述计算机显示。
全文摘要
系统提供对呈现在一个或多个显示器屏幕上的各视觉呈现的元素的姿势接口。姿势词汇包括‘即时的’命令,其中使一只或两只手形成为适当的‘姿态’导致立即的一次性动作;以及‘空间的’命令,其中操作员通过精确‘指向’姿势直接指示屏幕上的元素,或者通过相对的或“偏移的”姿势执行导航操作。所述系统具有识别用户手的能力,所述用户手是其上设有特定标记的一个或多个手套的形式,或者用于在用户手或身体部位上提供可识别标记的任何适当方式。相机系统可以检测用户手的位置、取向和移动,并且将该信息翻译成可执行的命令。
文档编号H04N5/44GK101536494SQ200680007549
公开日2009年9月16日 申请日期2006年2月8日 优先权日2005年2月8日
发明者凯文·T·帕伦特, 约翰·S·昂德拉夫勒 申请人:奥布隆工业有限公司;约翰·S·昂德科夫勒;凯文·T·帕伦特
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1