姿势识别方法和采用姿势识别方法的交互式输入系统的制作方法

文档序号:6348505阅读:159来源:国知局
专利名称:姿势识别方法和采用姿势识别方法的交互式输入系统的制作方法
技术领域
本发明总体上涉及姿势识别,并且具体涉及姿势识别方法和采用姿势识别方法的交互式输入系统。
背景技术
允许用户使用主动式指示器(例如,发射光线、声音或其他信号的指示器)、被动式指示器(例如,手指、圆柱体或其他对象)或诸如鼠标或轨迹球的其他合适的输入设备向应用程序注入输入(例如,数字墨水、鼠标事件等)的交互式输入系统为人所熟知。这些交互式输入系统包括但不限于包括采用模拟电阻式或机器视觉技术来注册指示器输入的触摸板的触摸系统,诸如在美国专利NO. 5,448,263,6, 141,000,6, 337,681、 6,747,636,6, 803,906,7, 232,986,7, 236,162 和 7,274,356 之中以及在本主题申请的受让人 SMART Technologies ULC of Calgary, Alberta, Canada 所受让的美国专利申请公开 No. 2004/0179001中公开的内容,通过引用的方式将它们的内容并入;包括采用电磁式、电容式、声学或其他技术来注册指示器输入的触摸板的触摸系统;平板个人计算机(PC);可触摸笔记本PC ;个人数字助理(PDC);以及其他类似设备。已经考虑了交互式输入系统所采用的姿势识别方法。例如,转让给SMART Technologies ULC的Hill等人的美国专利No. 7,411,575公开了由机器视觉交互式输入系统采用的姿势识别方法,通过引用的方式将其内容并入。在该方法中,检测在很靠近触摸表面附近的多个指示器,以确定是否正在使用多个指示器执行已知的姿势。当正在使用多个指示器执行已知的姿势时,执行与该姿势相关联的命令。具体而言,对指示器数据进行检查,以检测在已捕获图像中多个指示器的存在,并且然后对该多个指示器的属性进行检查, 以确定是否已执行已知姿势,诸如右击姿势、滚动姿势、旋转姿势等。当已经执行已知姿势时,生成与已确定的姿势相关联的命令事件,并且将该命令事件传送给计算机正在执行的活动应用程序。Satoh的美国专利No. 7,176,904公开了一种具有显示屏的触摸板。在显示屏的三条边上提供了光反射薄膜,并且将光朝向已被对准来照看整个触摸板的两个光单元进行反射。坐标控制部分检测指示器已经触摸面板的时间,并且根据所检测到的点来生成信号。当已经检测到面板上的一个点触摸时,坐标控制部分生成示出触摸点的坐标的坐标信号。当已经检测到面板上的两个或两个以上点的同时触摸时,坐标控制部分生成示出提前设置的与触摸点数量相对应的控制的控制信号。Han 的美国专利申请No. 2008/0180404、2008/0180405 和 2008/018406 公开了用于与多点输入设备交互的方法和系统,其采用包括2D和3D图像转换、定标/缩放、旋转控制和全局轴倾斜控制的用于控制显示图像的技术。多种控制技术采用三个或三个以上的同时输入,在输入和压力感测的特性上改变。在采用后投影设备来在交互式输入系统(诸如后投影显示器、液晶显示器(IXD) 设备、等离子电视机等)的输入表面上呈现图像的交互式输入系统中,难以定位和跟踪来自与输入表面接触的一个以上用户的多个指示器,尤其是在仅采用两个成像设备的交互式输入系统中。例如,在采用两个成像设备的交互式输入系统中,当跟踪多个指示器时,如果这些指示器没有携带令这些指示器可以被轻易区分的标记,则用于这些指示器的三角测量解决方案包括导致指示器模糊问题的实际指示器位置和假想指示器位置。当识别使用多个指示器所做的姿势时,所述模糊问题变得非常复杂。因此,本发明的一个目的是提供一种新颖的姿势识别方法和采用该方法的新颖的交互式输入系统。

发明内容
因此,在一方面中,提供了一种姿势识别方法,包括捕获总体上扫视(look generally across)输入区域的图像;对所述图像进行处理,以标识在所述输入区域内与至少两个指示器相关联的至少两个触摸点集群;基于所述触摸点集群的动作,识别姿势;以及根据已识别的姿势,更新显示。根据另一方面,提供了一种交互式输入系统,包括输入表面;至少一个成像传感器,其具有总体上扫视所述输入表面的视场;以及与所述至少一个成像传感器通信的处理结构,所述处理结构被配置成分析由所述至少一个成像传感器获取的图像数据,以确定与所述输入表面相接触的至少两个指示器相关联的触摸点集群的位置;基于后续触摸点集群的相对位置来识别表示姿势的所述后续触摸点集群;以及执行与所述姿势相关联的命令。根据另一方面,提供了一种姿势识别方法,包括捕获照看输入表面的图像;对所述图像进行处理,以标识与至少两个指示器相关联的至少两个触摸点集群;基于所述触摸点集群的动作,识别姿势;并且根据所述姿势,更新显示。根据又一方面,提供了一种交互式输入系统,包括输入表面;至少一个成像传感器,其具有照看所述输入表面上的视场;以及与所述至少一个成像传感器通信的处理结构, 所述处理结构被配置成分析由所述至少一个成像传感器获取的图像数据,以确定与所述输入表面相接触的至少两个指示器相关联的触摸点集群的位置;基于后续触摸点集群的相对位置来识别表示姿势的所述后续触摸点集群;以及执行与所述姿势相关联的命令。


现在将参照附图更加全面的描述实施例,在附图中图1是采用两个成像设备的交互式输入系统的框图;图2是形成图1的交互式输入系统的一部分的成像设备之一的框图;图3是形成图1的交互式输入系统的一部分的主控制器的框图;图4是示出当两个指示器处于成像设备的视场中时图1的交互式输入系统的成像设备的视线以及真实和假想指示器位置三角测量解决方案的示例性视图;图5是示出当在两个指示器处于成像设备的视场中时图1的交互式输入系统的成像设备的视线的另一示例性视图;图6A是使用与图1的交互式输入系统的显示表面进行交互的两个指示器所做的姿势的示例性视图;图6B是示出在输入图6A的姿势期间,真实和假想指示器位置三角测量解决方案的示例性视图;图7A是使用与图1的交互式输入系统的显示表面进行交互的两个指示器所做的另一姿势的示例性视图;图7B是示出在输入图7A的姿势期间,真实和假想指示器位置三角测量解决方案的示例性视图;图8A是使用与图1的交互式输入系统的显示表面进行交互的两个指示器所做的又一姿势的示例性视图;图8B是示出在输入图8A的姿势期间,真实和假想指示器位置三角测量解决方案的示例性视图;图9A是使用与图1的交互式输入系统的显示表面进行交互的两个指示器所做的又一姿势的示例性视图;图9B是示出在输入图9A的姿势期间,真实和假想指示器位置三角测量解决方案的示例性视图;图IOA是使用与图1的交互式输入系统的显示表面进行交互的整只手所做的姿势的示例性视图;图IOB是示出在输入图IOA的姿势期间,在显示表面上放下手掌的触摸区域的示例性视图;图IOC是示出在输入图IOA的姿势期间,在显示表面上提起手掌的触摸区域的示例性视图;图IlA是使用与图1的交互式输入系统的显示表面进行交互的两只手所做的另一姿势的示例性视图;图IlB是示出在输入图IlA的姿势期间,在显示表面上放下手掌的触摸区域的示例性视图;图IlC是示出在输入图IlA的姿势期间,在显示表面上手掌提起的触摸区域的示例性视图;图12A是使用与图1的交互式输入系统的显示表面进行交互的两只手所做的又一姿势的示例性视图;图12B是示出在输入图12A的姿势期间,在显示表面上放下手掌的触摸区域的示例性视图;图12C是示出在输入图IOA的姿势期间,在显示表面上提起手掌的触摸区域的示例性视图;图13A、13B和13C组合在一起以形成描述由图3的主控制器执行的分类例程的流程图;图14是描述由图3的主控制器执行的手姿势分类例程的流程图;图15是由图3的主控制器执行的左击姿势例程的流程图;图16是由图3的主控制器执行的右击姿势例程的流程图;图17是由图3的主控制器执行的拖动姿势例程的流程图;图18是由图3的主控制器执行的平移姿势例程的流程图;图19是由图3的主控制器执行的缩放姿势例程的流程图20是由图3的主控制器执行的旋转姿势例程的流程图;图21是由图3的主控制器执行的手挥扫姿势例程的流程图;图22是由图3的主控制器执行的手缩放姿势例程的流程图;图23是由图3的主控制器执行的手平移姿势例程的流程图;图M是由图3的主控制器执行的指示器检测阈值过程的流程图;图25是采用受抑全内反射的交互式输入系统的立体图;图沈是图25的交互式输入系统的侧面横截面图;图27是形成图25的交互式输入系统的一部分的台面和触摸板的横截面图;图观是指示器已经接触的图27的触摸板的侧面横截面图;图四是描述由图25的交互式输入系统执行的替代指示器检测阈值过程的框图; 以及图30是描述指示器接触压力估计系统的框图。
具体实施例方式现在转向图1,示出了允许用户向应用程序注入诸如数字墨水、鼠标事件等输入的交互式输入系统,并通常通过附图标记20来标识。在该实施例中,交互式输入系统20包括组件22,其与诸如等离子电视机、液晶显示器(LCD)设备、平板显示器设备、阴极射线管 (CRT)监视器等的显示单元(未示出)结合在一起,并且环绕着显示单元的显示表面24。组件22包括环绕显示表面的照亮的边框沈,诸如在2005年12月6日发布并转让给智能技术无限责任公司的Akitt等人的美国专利No. 6,972,401,通过引用的方式将其内容并入。边框沈在显示表面M上提供红外(IR)背光。组件22采用机器视觉在显示表面M附近检测进入感兴趣区域中的指示器。组件22耦合到主控制器30。主控制器30耦合到通用计算设备32和显示控制器 34。通用计算设备32执行一个或多个应用程序并且使用从主控制器30传送的指示器位置和姿势标识信息来生成并更新图像数据,将该图像数据提供给显示控制器;34用于输出到显示单元,使得在显示表面M上呈现的图像反映指示器活动。以此方式,可以将靠近显示表面M的指示器活动记录为写或画,或者用来控制在通用计算设备32上运行的一个或多个应用程序的执行。成像设备40、42的位置靠近显示表面M的两个角,并且从不同有利地位总体上扫视显示表面。参照图2,更好地图示了成像设备40和42中的一个。如可以看出的,每个成像设备包括图像传感器80,诸如由Micron Technology, Inc. of Boise, Idaho根据型号 No. MT9V022制造的装配有Boowon Optical Co. Ltd.根据型号No. BW25B制造的类型880纳米透镜82的图像传感器。透镜82向图像传感器80提供了至少包围显示表面对的足够宽的视场。图像传感器80经由数据总线86与先入先出(FIFO)缓冲器84进行通信,并将图像帧数据输出到FIFO缓冲器84。数字信号处理器(DSP)90经由第二数据总线92从FIFO 缓冲器84接收图像帧数据,并且当在图像传感器80捕获的图像帧中存在一个或多个指示器时,经由串行输入/输出接口 94向主控制器30提供指示器数据。图像传感器80和DSP 90还经由双向控制总线96进行通信。存储图像传感器校准参数的电子可编程只读存储器 (EPROM) 98连接到DSP 90。成像设备组件从电源100接收电力。
图3更好地说明了主控制器30。主控制器30包括具有第一串行输入/输出接口巧4和第二串行输入/输出接口 156的DSP 152。主控制器30在通信线路158上经由第一串行输入/输出端口巧4与成像设备40和42进行通信。如将要描述的,DSP 152对从成像设备40和42接收到的指示器数据进行处理,用来生成指示器位置数据并用来识别输入姿势。DSP 152在通信线路164上经由第二串行输入/输出端口 156和串行线路驱动器162 与通用计算设备32进行通信。主控制器30进一步包括EPROM 166,存储由DSP 152存取的交互式输入系统参数。主控制器组件从电源168接收电力。在本实施例中,通用计算设备32是计算机,包括例如处理单元、系统存储器(易失性和/或非易失性存储器)、其他不可拆卸或可拆卸存储器(例如,硬盘驱动器、RAM、ROM、 EEPR0M、⑶-ROM、DVD、闪速存储器等)以及将各种计算设备组件耦合到处理单元的系统总线。计算设备32还可以包括网络连接,以接入共享或远程驱动器、一个或多个联网计算机、 或其他联网设备。处理单元运行主机软件应用/操作系统,其在执行期间提供在显示表面 24上呈现的图形用户界面,使得可以经由与显示表面M的指示器交互,输入和操纵自由形式或手写墨水对象和其他对象。在操作期间,每个成像设备40、42的DSP 90生成时钟信号,使得每个成像设备的图像传感器80在期望的帧速率上捕获图像帧。提供给图像传感器80的时钟信号是同步的, 使得成像设备40和42的图像传感器基本同步地捕获图像帧。当在显示表面M附近没有指示器时,由图像传感器80捕获的图像帧包括基本未中断的亮带,因为边框沈提供了红外背光。然而,当一个或多个指示器进入显示表面M附近时,每个指示器阻塞了由边框26提供的顶背光,并且在已捕获图像帧中呈现为中断白色带的黑色区域。将由每个成像设备40、42的图像传感器80输出的每个图像帧传递到其关联的DSP 90。当每个DSP 90接收到图像帧时,DSP 90对图像帧进行处理,以检测一个或多个指示器的存在。如果在图像帧中存在一个或多个指示器,则DSP 90在图像帧中创建用于每个指示器的观察数据。通过在两个直线之间形成的区域来定义每个观察数据,其中的一条线从成像设备的焦点延伸并穿过指示器的右边缘,并且其中的另一条线从成像设备的焦点延伸并穿过指示器的左边缘。然后,DSP 90经由串行线驱动器162向主控制器30传送观察数据 (多个)。响应于从成像设备40、42接收到的观察数据,主控制器30对观察数据进行检查, 以确定来自每个成像设备的重叠的观察数据。当每个成像设备看见同一指示器导致由成像设备40、42生成的重叠的观察数据时,因此得到的边界框的中心由重叠观察数据的交叉线划定,并且因此使用在以上并入的Morrison等人的美国专利No. 6,803,906中描述的公知的三角测量来计算与在显示表面M相关的(x,y)坐标中的指示器的位置。主控制器30还检查观察数据来确定与显示表面M交互的指示器是否正被用于输入姿势。如果识别出姿势,则主控制器30进而向通用计算设备32输出计算出的指示器位置和姿势信息。通用计算设备32进而处理所接收到的指示器位置和姿势信息,并且根据需要更新向显示控制器34提供的图像输出,使得可以对在显示单元上呈现的图像进行更新以反映指示器活动。以此方式,可以将与显示表面M进行的指示器交互记录为写或画,或者用来控制在通用计算设备32上运行的一个或多个应用程序的执行。当在由成像设备40、42捕获到的图像帧中存在单个指示器时,可以使用三角测量容易地计算指示器在与显示表面M相关的(X,y)坐标中的位置。当在由成像设备40、42 捕获到的图像帧中存在多个指示器时,由于指示器模糊性和指示器阻塞问题,计算指示器在与显示表面M相关的(x,y)坐标中的位置更具挑战性。当多个指示器位于成像设备40、 42的视场范围内时,产生指示器模糊性,并且指示器不具有允许轻易区分指示器的区别标记。在这样的情况下,在三角测量期间,可能造成用于指示器位置的多个可能解决方案。例如,图4示出了在两个指示器与显示表面M接触的情况下,成像设备40、42的视线。如图所示,在三角测量期间,有两个指示器位置解决方案。解决方案(A)表示实际真实的指示器位置400,而解决方案(B)表示幻象或者假想的指示器位置402。当一个指示器在成像设备的视场范围内阻塞了另一指示器时,发生阻塞。在这些实例中,由成像设备捕获到的图像帧仅包括一个指示器。结果,不能从幻象指示器位置澄清与显示表面M相关的指示器的正确位置。例如,图5示出了在两个指示器与显示表面M 接触的情况下,成像设备40、42的视线。如图所示,成像设备42看见指示器500和502。然而,成像设备40仅看见指示器500,因为指示器500阻挡或阻塞了成像设备40对指示器502 的视场。如现在将要示例的,当为了输入姿势,多个指示器相对显示表面M移动时,根据姿势的类型和使用的触摸输入的属性,可能需要或不需要解决指示器的模糊性。图6A至9B示出了使用与显示表面M进行交互的两个指示器所做的各种姿势,以及在姿势输入期间,真实和假想的指示器位置三角测量解决方案。具体而言,图6A示出了在两个指示器600(在该情况下,用户每只手的一个手指)与在显示表面M上呈现的对象 (未示出)接触,并且然后在相同方向移动的情况下的平移姿势。图6B示出了在三角测量期间确定的一对真实的触摸点602和一对假想的触摸点604。由于所有四个触摸点602和 604在同一方向上移动,因此为了识别该平移姿势,并不必须确定哪一对触摸点是真实的, 以及哪一对触摸点是假想的。图7A示出了在两个指示器700(在该情况下,用户每只手的一个手指)与在显示表面M上显示的对象(未示出)接触,并且然后移动开的情况下的缩放姿势。图7B示出了在三角测量期间确定的一对真实的触摸点702和一对假想的触摸点704。由于所有四个触摸点702和704彼此相背移动,因此为了识别该缩放姿势,无需确定哪一对触摸点是真实的,以及哪一对触摸点是假想的。当使用指示器彼此相向移动来执行缩放姿势时,所有四个触摸点702和704又再次彼此相向移动,因此为了识别该缩放姿势,无需确定哪一对触摸点是真实的,以及哪一对触摸点是假想的。图8A示出了在两个指示器800和801(在该情况下,用户每只手的一个手指)与在输入表面M上显示的对象(未示出)接触的情况下的旋转姿势。指示器800在对象上保持静止,在指示器801绕着指示器800旋转时作用为锚。图8B示出了在三角测量期间确定的静止触摸点802和三个移动的真实和假想触摸点803、804、805。可以将静止触摸点802 容易地识别为锚。由于假想触摸点803和804从静止触摸点802向其移动或移开,而触摸点805绕着静止触摸点802弧形移动,因此可以容易地将假想触摸点803和804与真实触摸点805区别开。图9A示出了其中指示器900(在该情况下,用户一只手的一个手指)与显示表面对接触,而指示器901(在该情况下,用户另一只手的一个手指)在指示器900的右边与显示表面M作出后续接触的右击姿势。图9B示出了在三角测量期间确定的静止触摸点902 和三个断续真实和假想触摸点903、904和905。由于三个断续触摸点903、904和905均在静止触摸点902的右边,所以为了识别右击姿势,就不必确定哪一对触摸点是真实的以及哪一对触摸点是假想的。将当整只手或者用户一只手的多个手指用作为单个指示器时,分类会产生困难。 当将整只手用作单个指示器时,在三角测量期间,生成用于接触显示表面M的手的每个手指的多个可能触摸点位置。为了处理这些情形,当使用整只手接触显示表面时,响应于手接触而在三角测量期间计算出的所有真实和假想接触点集群在一起形成单个大的触摸区域。 在将两只分开的手用作两个独立指示器以与显示表面M交互的情况下,在三角测量期间计算出的所有真实和假想的触摸点也聚集在一起以形成单个大的触摸区域。图IOA至12C示出了使用与显示表面M进行交互的手所做的各种姿势,以及根据手掌提起还是放下,在姿势输入期间在显示表面M上的触摸区域或触摸点。例如,图IOA 示出了使用与显示表面M接触的整只手1000所做的挥扫姿势,并且然后在挥扫动作中一般在一个方向上移动跨越显示表面M。图IOB示出了在姿势输入期间当手掌1000放下时, 触摸区域1002在显示表面上的移动。如可以看出的,触摸区域1002比正常手指的直径要大得多。图IOC示出了在姿势输入期间当手掌1000提起并且仅有手的指尖与显示表面M 接触时,触摸点集群1004在显示表面M上的移动。触摸点集群1004不是必须包括所有五个手指,因为每个手指可能用不同的压力与显示表面M进行交互或者一些手指可能距离其他手指很近看起来像一个合并的触摸点。为了减小处理负荷和增加响应时间,不将触摸点集群1004分解为独立触摸点而是作为一个大的触摸区域来看待。图IlA示出了使用与显示表面M接触并然后彼此背离移动(或相向移动)的两只分开的手1100和1102所做的缩放姿势。图IlB示出了当手掌1100和1102放下时,触摸区域在显示表面M上的移动。图IlC示出了当手掌1100和1102提起并且仅有指尖与显示表面M接触时,触摸点集群1108和1110在显示表面M上的移动。不是将集群分解为分离的触摸点而是作为一个大的触摸区域看待,从而减小了处理器负荷并增加了响应时间。仅关心大的触摸区域的最外侧边。在图IlB中,如果触摸区域1104的最左边1105和触摸区域1106的最右边1107彼此背离移动(或相向移动),则识别出缩放姿势。类似地, 在图IlC中,如果触摸点集群1108的最左边1109和触摸点集群1110的最右边1111彼此背离移动(或相向移动),则识别出缩放姿势。图12A示出了使用与显示表面M接触并然后在总体上维持手之间间隔的同时在相同方向上移动的两只分开的手1200和1202所做的平移姿势。图12B示出了当手掌1200 和1202放下时,触摸区域1204和1206在显示表面M上的移动。图12C示出了当手掌1200 和1202提起并且仅指尖与显示表面M接触时,触摸点的集群1208和1210在显示表面M 上的移动。不是将集群分解为分离的触摸点而是作为一个大的触摸区域看待,从而减小了处理器负荷并增加了响应时间。仅关心大的触摸区域的最外侧边。在图12B中,如果触摸区域1204的最左边1205和触摸区域1206的最右边1207以彼此之间维持大约相同的距离间隔在一个方向上移动,则识别出平移姿势。类似地,在图12C中,如果触摸点集群1208的最左边1209和触摸点集群1210的最右边1211以彼此之间维持大约相同的距离间隔在一个方向上移动,则识别出平移姿势。
本领域的技术人员将理解,上述讨论仅强调了可以使用多个指示器或多只手所做姿势的一些示例,也可以识别出其他姿势。图13A、13B和13C组合在一起形成示出由主控制器30执行的分类例程1300的流程图,其用于识别诸如以上描述的由使用与显示表面M进行接触的多个手指或整只手的一个或多个用户输入的姿势。如可以看出的,最开始在步骤1302中,清除用于右击姿势的标记。在步骤1304中,获取在对已捕获图像帧进行处理之后,由成像设备40和42生成的观察数据(多个)。在步骤1306中,进行检查以确定是否存在来自每个成像设备的一个或多个观察数据。如果存在仅来自一个成像设备的一个或多个观察数据,这可能是当指示器最初靠近显示表面M并仅被一个成像设备看见时发生,则过程返回到步骤1304,使得获取在对下一已捕获图像帧进行处理之后,由成像设备40和42生成的观察数据(多个)。在步骤1306中,如果存在来自每个成像设备的一个或多个观察数据,则在步骤 1308中做出检查,以确定是否仅存在来自每个成像设备的一个观察数据。如果仅存在来自每个成像设备的一个观察数据,则在步骤1310中,边界框的中心由重叠观察数据的交叉线所限定,并因此使用三角测量来计算在(χ,y)坐标中的指示器位置或触摸点。在指定起始点(例如,组件22的左上角)开始,以诸如厘米的物理测量单位来执行三角测量。一旦确定了触摸点的位置,则通过确定边界框的区域来计算触摸点的近似大小。 大小测量的单位与三角测量的单位相同。然后,将触摸点位置和大小存储为起始指示器位置信息以供日后查看在触摸点指示器的位置上是否发生任何变化时参考。在步骤1312中,获取在对下一图像帧进行处理之后由成像设备40和42生成的观察数据。在步骤1314中,将由与在对先前观察数据的处理期间标识的触摸点相对应的重叠观察数据的交叉线限定的边界框的大小与阈值进行比较,以确定边界框的大小是否远大于一般的手指。如果边界框的大小远大于一般的手指,例如直径大约为4厘米,则如将要描述的那样执行手姿势分类例程(标记B)。如果边界框的大小未改变或者不大于普通手指,则在步骤1316中,确定触摸点是否已丢失。如果触摸点已经丢失,则如将要描述的那样,将从显示表面M提起指示器识别为指示左击,并且执行左击姿势例程(标记C)。如果触摸点尚未丢失,则在步骤1318中,确定观察数据是否表明存在一个以上的触摸点,以及起始触摸点是否可能是多触摸姿势的一部分或者是否可能是右击姿势。如果观察数据未表明存在一个以上的触摸点,则在步骤1320中,使用三角测量来计算边界框的中心和由此的新指示器位置。在步骤1322中,然后通过检查当前和先前的触摸点位置来确定是否执行了拖动姿势。如果检测到触摸位置的改变,则如以下将要描述的,执行拖动姿势例程(标记D)。如果未检测到触摸位置的改变,则分类例程返回到步骤1312。如果在步骤1318,观察数据表明存在一个以上的触摸点,则在步骤13 中,确定在起始触摸点的右边是否出现新的触摸点。如果在起始触摸点的右边出现新的触摸点,则识别出潜在的右击姿势,并且在步骤13 中设置右击标记。如果在起始触摸点的右边未出现新的潜在触摸点或者在已经设置右击标记之后,则分类例程继续到步骤13观。如果在步骤1308,存在来自每个成像设备的一个以上的观察数据,则在步骤 13 ,对表示触摸点的边界框进行检查以确定任何边界框是否很大,例如,大于约4厘米的普通手指宽度,或者是否存在表示两个以上触摸点的边界框。如果确定了表示两个以上触摸点的边界框或者如果确定了大的边界框,则分类例程识别出集群姿势已经启动,并且执行了手姿势分类例程B。如果确定了表示两个触摸点的边界框并且没有一个边界框的直径大小大于4厘米,则在步骤1330中,将姿势识别为两手指姿势,并且对包括图4所示的一对真实的触摸点和一对假想的触摸点的所有四个可能的触摸点进行三角测量。将该结果三角测量集存储为起始位置,并用于与后续的三角测量集进行比较,以确定是否输入两手指姿势。如以上参照图5所示,可能一个成像设备看见两个指示器,而其他成像设备仅看见一个指示器。这可能会在以下情况中发生,即如果在一个成像设备的视线中有阻挡,或者如果在一个成像设备的视场中两个指示器是对齐的以致于看起来是单个指示器。在该情况下,当计算出起始三角测量集时,将与单个指示器相对应的观察数据看作在同一位置上的两个潜在触摸点。结果,在三角测量期间,将生成四个触摸点,但是两个触摸点将是冗余的。在步骤1332中,获取在对下一图像帧进行处理之后由成像设备40和42生成的观察数据,并且对下四个触摸点位置进行三角测量。然后,将用于该下一个三角测量集的结果存储为下一位置。在步骤1334中,确定观察数据是否表明新的触摸点。如果观察数据表明新的触摸点,则分类例程1300返回到步骤13观。如果观察数据未表明任何新的触摸点,则在步骤1336中,确定是否已经丢失任何触摸点。如果触摸点已经丢失,则在步骤1338中, 确定最右边的触摸点是否丢失以及是否设置了右击标记。如果最右边的触摸点丢失并且设置了右击标记,则如以下将要描述的,执行右击姿势例程(标记E)。如果未设置右击标记或者如果最右边的触摸点未丢失,则确定姿势已经中断并且未识别出姿势。然后,分类例程1300前进到步骤1340,并且获取在对下一图像帧进行处理之后由成像设备40和42生成的观察数据。在步骤1342中,然后确定成像设备40或42是否看见指示器并返回观察数据。如果任一成像设备看见指示器,则分类例程1300返回到步骤1340。如果成像设备40和42不再看见指示器,则分类例程返回到步骤1302。由于在没有指示器的观察数据之前,分类例程将1300将不继续,因此这迫使用户必须在姿势之间提起其手指。这禁止将在用户从显示表面M提起他或她的手指时出现的瞬变解释为其他姿势。在步骤1336中,如果没有丢失触摸点,则在步骤1344中,对触摸点的移动进行检查以确定是否如图6A和6B所示做出平移姿势。如果检测到平移姿势,则如以下将要描述的,执行平移姿势例程(标记F)。如果未检测到平移姿势,则在步骤1346中,检查触摸点的移动以确定是否如图7A和7B所示已经做出缩放姿势。如果检测到缩放姿势,则如以下将要描述的,执行缩放姿势例程(标记G)。如果未检测到缩放姿势,则在步骤1348中,检查触摸点的移动以确定是否如图8A和8B所示已经做出旋转姿势。如果检测到旋转姿势,则如以下将要描述的,执行旋转姿势例程(标记H)。如果未检测到旋转姿势,则分类例程返回到步骤1332。图14是描述在图13中的步骤B处采用的手姿势分类例程的流程图,并且一般地被标识为附图标记1400。在步骤1402,由于触摸点的大小远大于普通手指的普通宽度,或者由于已经发现了两个以上的触摸点,因此识别出手姿势。由于未对独立的触摸点进行分解,因此触摸点是指示器集群还是整只手掌放下接触显示表面M的结果是无关紧要的。取而代之的是,通过创建形成围绕大触摸点的多边形或边界框的四个三角测量触摸点,对大触摸点的最左边边界和最右边边界(替代地,可以使用边界边缘内的点,例如,在边界内1厘米的点)进行三角测量。将边界框存储为大触摸点的起始位置。在步骤1404中,获取对在下一图像帧进行处理之后由成像设备40和42生成的观察数据。在步骤1406中,确定观察数据是否表明在边界框的边缘上出现了任何新的触摸点,这不会是由于在图像帧之间的指示器(多个)合理移动造成的。如果观察数据表明这样的新的触摸点,则假定利用瞬变数据来计算起始触摸点位置,并且手姿势分类返回到步骤1402来重新开始。如果观察数据未表明任何新的触摸点,则在步骤1408中,确定触摸点是否已经丢失。如果触摸点已经丢失,则假定用户未执行姿势就从显示表面M提起手,并且未识别出姿势。然后手姿势分类例程1400退出,并且分类例程返回到步骤1340。在步骤1408中,如果触摸点未丢失,则在步骤1410中,检查触摸点的移动,以确定是否已做出拖动姿势。当边界框的所有四个三角测量点在基本相同的方向上(加减45° ), 移动超过约4厘米的特定阈值时,检测到拖动姿势。如果检测到拖动姿势,则在步骤1414 中,进行检查以确定触摸点的大小是否小到足以由单只手做出。用于单只手的阈值大小为约4厘米。如果触摸点的大小小到足以为单只手,则如以下将要描述的那样执行手挥扫姿势例程(标记I)。如果触摸点的大小尚未小到足以由单只手进行,则如以下将要描述的那样执行手平移姿势例程(标记K)。如果未在步骤1410中检测到拖动姿势,则在步骤1412中,对触摸点的移动进行检查以确定是否已经做出了缩放姿势。当边界框的最左边和最右边三角测量点彼此分离或相向移动超过约4厘米的特定阈值来放大在显示表面M上呈现的对象或收缩在显示表面M 上呈现的对象时,检测到缩放姿势。如果检测到缩放姿势,则如以下将要描述的那样,执行手缩放姿势例程(标记J)。如果未检测到缩放姿势,则手姿势分类例程1400返回到步骤 1404。图15是示出左击姿势例程1500的流程图(在图13中标记C)。在步骤1502中, 通过主控制器30,在起始位置向通用计算设备32报告左击鼠标放下或指示器放下的事件。 在步骤1504,通过主控制器30,向通用计算设备32报告鼠标提起或指示器提起事件。然后左击姿势例程1500退出,并且分类例程返回到步骤1340。图16是示出右击姿势例程1600的流程图(在图13中标记E)。在步骤1602中, 由于最右边的触摸点丢失并且设置了右击标记,因此通过主控制器30,在最右边的触摸点上向通用计算设备32报告右击鼠标放下或指示器放下的事件。在步骤1604中,通过主控制器30,向通用计算设备32报告鼠标提起或指示器提起事件。然后右击姿势例程1600退出,并且分类例程返回到步骤1340。图17是示出拖动姿势例程1700的流程图(在图13上标记D)。在步骤1702中, 由于检测到拖动姿势,因此通过主控制器30,在起始位置向通用计算设备32报告左击鼠标放下或指示器放下的事件。在步骤1704中,获取对在下一帧进行处理之后由成像设备40 和42生成的观察数据。在步骤1706中,确定触摸点是否已经丢失。如果触摸点丢失,则在步骤1708中,通过主控制器30,向通用计算设备32报告鼠标提起或指示器提起事件。然后拖动姿势例程1700退出,并且分类例程返回到步骤1340。如果触摸点尚未丢失,则在步骤 1710中,对新的触摸点位置进行三角测量,并且通过主控制器30,向通用计算设备32报告鼠标移动或指示器移动事件。然后,拖动姿势例程1700返回到步骤1704。仅在一个或两个成像设备失去对指示器的视线时,拖动姿势例程1700才结束。
图18示出了平移姿势例程1800(在图13上标记为F)。在步骤1802中,由于检测到平移姿势移动,因此通过主控制器30向通用计算设备报告平移姿势开始。在步骤1804 中,计算起始三角测量集的中心,并将其存储为开始平移位置。在本实施例中,通过将由每个成像设备40和42生成的最左边和最右边观察数据的位置进行相加再除以2,计算出两个手指平移姿势的中心。将两个结果中心三角测量为在显示表面M上的单个点,以表示两个指示器或手指的中心。从该三角测量中心测量平移距离。在步骤1806中,获取对在下一帧的处理之后由成像设备40和42生成的观察数据。在步骤1808中,确定触摸点是否已丢失。如果触摸点已丢失,则在步骤1810中,通过主控制器30,向通用计算设备32报告平移结束。然后平移姿势例程1800退出,并且分类例程到步骤1340。如果触摸点尚未丢失,则在步骤1812中,对触摸点的新位置计算新的三角测量集,并且从新的三角测量集计算新的中心。在步骤1814中,通过主控制器30,向通用计算设备32报告从起始三角测量集位置到新的三角测量集位置的平移移动。在步骤1816中,新的平移位置用于代替开始平移位置。 然后,平移姿势例程1800返回到步骤1806。仅在一个或两个成像设备失去对指示器的视线时,平移姿势例程1800才结束。图19示出了缩放姿势例程1900(在图13上标记为G)。在步骤1902中,由于检测到缩放姿势移动,因此通过主控制器30向通用计算设备报告缩放姿势开始。在步骤1904 中,计算三角测量集之中从最左边的三角测量点到最右边的三角测量点的距离,并将其存储为当前距离。在步骤1906中,获取对在下一帧的处理之后由成像设备40和42生成的观察数据。在步骤1908中,确定触摸点是否已丢失。如果触摸点已经丢失,则在步骤1910中, 通过主控制器30,向通用计算设备报告缩放姿势结束。然后缩放姿势例程1900退出,并且分类例程返回到步骤1340。如果触摸点尚未丢失,则在步骤1912中,对触摸点的新位置计算新的三角测量集,并且从新的三角测量集计算新的距离。在步骤1914中,通过主控制器30,向通用计算设备32报告从当前距离到新距离的缩放改变。在步骤1916中,使用当前距离来代替新距离。然后,缩放姿势例程1900返回到步骤1906。仅在一个或两个成像设备失去对指示器的视线时,缩放姿势例程1900才结束。当在缩放姿势期间两个触摸点彼此接触或者相互靠近时,交互式输入系统20继续标识这两个触摸点而不是创建单个触摸点输入,因为触摸点的质心位置未变。当两个指示器接触并且在成像设备40和42的视场中时,则将它们识别为单个触摸点。当在缩放姿势期间两个指示器分开时,则将指示器分解为如在步骤1334中标识的分开的触摸点,并且在步骤1346中识别出缩放姿势。图20是示出旋转姿势例程2000的流程图(在图13上标记H)。在步骤2002中, 由于检测到旋转姿势,因此通过主控制器30向通用计算设备32报告开始旋转姿势。在步骤2004中,确定锚点,并且计算在锚点和与锚点相对的触摸点之间的角度。当锚点已经至少移动了在三角测量之中的所有触摸点时,将锚点定义为触摸点。将该角度存储为当前角度。在步骤2006中,获取对在下一帧的处理之后由成像设备40和42生成的观察数据。在步骤2008中,确定触摸点是否已经丢失。如果触摸点已经丢失,则在步骤2010中,旋转姿势结束并且通过主控制器30,向通用计算设备32报告旋转姿势结束。然后旋转姿势例程 2000退出,并且分类例程返回到步骤1340。如果触摸点尚未丢失,则在步骤2012中,计算新的三角测量集,并且从新的三角测量集确定在锚点和与锚点相对的触摸点之间的新的角度。在步骤2014中,通过主控制器30,向通用计算设备32报告从当前角度到新角度的旋转改变。在步骤2016中,然后使用当前角度来代替新角度。然后,旋转姿势例程2000返回到步骤2006。仅在一个或两个成像设备失去对指示器的视线时,旋转姿势例程2000才结束。图21是示出手挥扫姿势例程2100的流程图(在图14上标记I)。在步骤2102 中,由于检测到拖动姿势,因此通过主控制器30向通用计算设备32报告开始挥扫姿势。在步骤2104中,确定触摸点的中心并将其存储为当前触摸点位置。通过将由每个成像设备40 和42生成的最左和最右边缘的观察数据的位置进行相加再除以2,计算出触摸点的中心。 将两个结果中心三角测量为在显示表面M上的单个点,以表示触摸点的中心。在步骤2106 中,获取对在下一图像帧的处理之后由成像设备40和42生成的观察数据。在步骤2108中, 确定触摸点的右或左边缘是否已经丢失。如果没有丢失边缘,则在步骤2110中,对新的集群中心进行三角测量。手挥扫姿势例程2100返回到步骤2106。如果右边缘或左边缘已经丢失,则手挥扫姿势例程2100继续到步骤2112。假定丢失左或右边缘是这样一种变化,其不能归因于触摸点在图像帧之间的移动属性或者一个成像设备完全丢失对指示器的视线。 在步骤2112中,确定手挥扫的方向是否高于当前的触摸点位置。通过计算在起始触摸点位置和新触摸点位置之间的角度来确定手挥扫的方向。如果手挥扫的方向高于当前触摸点位置,则在步骤2114中,通过主控制器30向通用计算设备32报告向上挥扫事件。然后,手挥扫姿势例程2100退出,并且分类例程返回到步骤1340。如果手挥扫的方向不高于当前触摸点位置,则在步骤2116中,确定手挥扫的方向是否低于当前触摸点位置。如果手挥扫的方向低于当前的触摸点位置,则在步骤2118中, 通过主控制器30向通用计算设备32报告向下挥扫事件。然后手挥扫姿势例程2100退出, 并且分类例程返回到步骤1340。如果手挥扫的方向不低于当前触摸点位置,则在步骤2120 中,确定手挥扫的方向是否主要在当前触摸点位置的左边。如果手挥扫的方向主要在当前触摸点位置的左边,则在步骤2122中,通过主控制器30向通用计算设备32报告向左挥扫事件。然后手挥扫姿势例程2100退出,并且分类例程返回到步骤1340。如果手挥扫的方向主要不在当前触摸点位置的左边,则在步骤21M中,确定手挥扫的方向是否主要在当前触摸点位置的右边。如果手挥扫的方向主要在当前触摸点位置的右边,则在步骤21 中,通过主控制器30向通用计算设备32报告向右挥扫事件。然后手挥扫姿势例程2100退出,并且分类例程返回到步骤1340。如果手挥扫的方向主要不在当前触摸点位置的右边,则手挥扫姿势例程2100退出,并且分类例程返回到图13的步骤1340。图22是示出手缩放姿势例程2200的流程图(在图14上标记J)。在步骤2202, 由于在图14的步骤1412中检测到手缩放移动,因此通过主控制器30向通用计算设备32 报告开始手缩放姿势。在步骤2204中,确定在触摸点的边界框中从最左边缘到最右边缘的距离,并将其存储为当前距离。在步骤2206中,获取对在下一帧的处理之后由成像设备40 和42生成的观察数据。在步骤2208中,确定触摸点的边界框的左或右边缘是否已经丢失。 如果触摸点的左或右边缘已经丢失,则在步骤2210中,通过主控制器30向通用计算设备32 报告结束手缩放姿势。然后手缩放姿势例程2200退出,并且分类例程返回到图13的步骤 1340。如果触摸点的左或右边缘未丢失,则在步骤2212中,计算用于触摸点新位置的集群的边界框,并且确定在新三角测量集的最左边触摸点和最右边触摸点之间的距离。在步骤 2214中,通过主控制器30,向通用计算设备32报告从当前距离到新距离的缩放改变。在步骤2016中,使用当前距离来代替新距离。然后,手缩放姿势例程2200返回到步骤2206。仅当一个或两个成像设备失去对指示器的视线时,手缩放姿势例程2200才结束。图23是示出手平移姿势例程2300的流程图(在图14上标记K)。在步骤2302 中,由于检测到拖动姿势,因此通过主控制器30向通用计算设备32报告开始平移姿势。在步骤2304中,确定触摸点的中心并将其存储为当前触摸点位置。通过将在每个成像设备中的最左和最右观察数据边缘的位置进行相加再除以2,计算出触摸点的中心。将两个结果中心三角测量为在显示表面M上的单个点,以表示触摸点的中心。在步骤2306中,获取对在下一图像帧的处理之后由成像设备40和42生成的观察数据。在步骤2308中,确定触摸点的观察数据是否已经丢失。如果触摸点的观察数据未丢失,则在步骤2310中,三角测量用于新位置的新触摸点中心,并且将其存储为新触摸点位置。然后在步骤2312中,通过主控制器30向通用计算设备32报告手平移移动,并且在步骤2314中将新触摸点位置存储为当前触摸点位置。姿势例程2300返回到步骤2306。如果观察数据已经丢失,则手平移姿势继续到步骤2316,其中通过主控制器30向通用计算设备32报告手平移姿势的结束。然后,手平移姿势例程2300退出,并且分类例程返回到步骤1340。图M是展示指示器检测阈值过程MOO的流程图,当指示器彼此靠近或甚至看起来似乎合并在一起时,DSP 390可以执行指示器检测阈值过程MOO来帮助消除指示器歧义。在步骤M02,获取由成像设备40和42获取的图像帧,并且确定观察数据。然后,将图像帧与先前获取的图像帧进行比较,并且在步骤M04确定是否已确定新触摸点。如果标识了新触摸点,则在步骤2406,向新触摸点指配标识号和阈值。在步骤M06指配的阈值是触摸点的虚拟大小。在绝大多数情况下,为了改进指示器跟踪,指示器阈值将小于实际指示器的大小并且将位于触摸点的质心处。用户可以基于指示器大小或类型来设置阈值准则。例如,可以将特定直径以下的指示器标识为尖笔并赋予特定的阈值。可以将特定大小以上的指示器看做手姿势,并且指配等于或大于指示器本身的阈值以促进对相邻指示器的分组。可以将其他大小标识为手指,并且赋予远小于实际指示器的阈值以避免意外的指示器合并。在将指示器标识为手指的情况下,可以将选择的阈值指示器大小定义为实际指示器大小减去手指指示器大小标准差的特定倍数。一旦在步骤M06中已经指配了阈值,或者在步骤M04未发现新的触摸点,则步骤 M08检查丢失的触摸点。如果没有丢失触摸点,则在步骤M14保持并输出现有触摸点、标识号和阈值。如果在步骤M08认为丢失了指示器接触,则步骤MlO确定两个或两个以上的指示器是否合并。如果阈值重叠,则认为指示器接触已合并。在用户手指临时触摸的情况下, 如在动作中缩放的情况下,阈值指示器大小(由于它们小于实际指示器)将不会重叠,并且因此将继续识别为两个指示器。在一些情况下,根据指配给特定指示器大小和类型的阈值, 两个或两个以上的指示器将合并为单个、更大的指示器。在步骤M12合并触摸点可以被标识为新指示器,或者其可以保持最大、最久或另外最主要指示器的身份。在对14输出未改变的指示器接触以及在步骤M12标识的指示器。本领域的技术人员将理解,交互式输入系统20操作被动式指示器和主动式指示器。如上所述,被动式指示器一般是在与交互式输入系统结合使用时不发射任何信号的指示器。被动式指示器可以包括例如手指、圆柱体材料或者与显示表面M接触的其他对象。
本发明的技术人员还将理解,尽管参照采用两个总体上扫视显示表面M的成像设备的交互式输入系统描述了以上姿势检测方法,但是姿势识别方法也可以在使用受抑全内反射(FTIR)的交互式输入系统中应用。根据FTIF的一般原理,当诸如指示器的对象触摸波导表面时,通过光波导行进的光的全内反射(TIF)受抑,因为波导的折射率的改变,造成一些光从触摸点逸出。在多触摸交互式输入系统中,机器视觉系统捕获包括逸出光的点 (多个)的图像,并且基于逸出光的点(多个)对图像进行处理以标识指示器在波导表面上的位置,用作对应用程序的输入。例如,现在转向图25和沈,示出了以触摸台形式的FIlR交互式输入系统的立体图,并且其通常用附图标记3010来标识。触摸台3010包括安装在箱体3016顶部的台面 3012。在本实施例中,箱体3016安装在使得触摸台3010能够按照需要容易地移动到不同地方的轮子、脚轮或类似物3018上。集成到台面3102中的是基于受抑全内折射(FTIF)的触摸板3014形式的坐标输入设备,其使得能够检测和跟踪施加于其上的一个或多个指示器3011,诸如手指、笔、手、圆柱体或其他对象。箱体3016支撑台面3012和触摸板3014,并且容纳执行主机应用和一个或多个应用程序的处理结构3020(见图26)。在触摸板3014上显示由处理结构3020生成的图像数据,允许用户经由用指示器在触摸板3014的显示表面3015上接触来与所显示的图像进行交互。处理结构3020将指示器接触解释为到运行应用程序的输入并且相应地更新图像数据,使得在显示表面3015上显示的图像反映指示器活动。以此方式,触摸板3014和处理结构3020允许与触摸板3014的指示器交互被记录为手写或绘图或者用于控制应用程序的执行。在本实施例中的处理结构3020是形式为计算机的通用计算设备。计算机包括例如处理单元、系统存储器(易失性和/或非易失性存储器)、其他不可拆卸或可拆卸存储器 (硬盘驱动器、RAM、ROM、EEPROM、CD-ROM、DVD、闪速存储器等)以及将各种计算机组件耦合到处理单元的系统总线。在执行由处理结构3020运行的主机软件应用/操作系统期间,在触摸板3014的显示表面上呈现包括背景的图形用户界面,在背景上显示图形小部件。在本实施例中,背景是三维环境,并且在触摸板3014上呈现图形用户界面,使得可以经由指示器与触摸板3014 的显示表面3015的交互来操纵在三维环境中的三维图像小部件。箱体3016还容纳了水平取向的投影仪3022、红外(IR)滤波器30M、和镜子3(^6、 3028和3030。红外检测相机形式的成像设备3032安装在与镜子30 相邻的托架3033上。 镜子3(^6、30观和3030的系统作用为将由投影仪3022投影的图像在不过分牺牲图像大小的情况下在箱体3016内沿着光路径进行“折叠”。从而可以使整体触摸台3010紧凑。为了减缓在具有直接瞄准显示表面3015的成像设备的系统中通常必须处理的, 在已捕获图像中出现的热点噪声,成像设备3032瞄准镜子3030,并且因此看见显示表面 3015的反射。成像设备3032通过托架3033位于箱体3016内,使得其不会干扰所投影的图像的光路径。在触摸台3010的操作期间,处理结构3020向投影仪3022输出视频数据,投影仪 3022进而通过IR过滤器30M向第一镜子30 上投影图像。现在,第一镜子30 将IR光现在已被基本过滤掉的投影图像反射到第二镜子30 上。第二镜子30 进而向第三镜子3030反射图像。第三镜子3030将投影的视频图像反射到触摸板3014的显示(底部)表面上。从上面通过触摸板3014可以看见在触摸板3014的底部表面上投影的视频图像。如图所示配置的三个镜子3(^6、3028、3030的系统提供了一条紧凑的路径,沿着该路径可以将投影图像引导到显示表面。为了保护投影仪灯泡的寿命,投影仪3022水平地取向,因为一般可用的投影仪典型地设计为水平放置。投影仪3022、顶检测相机3032均连接到处理结构3020并由其管理。电源(未示出)向触摸台3010的电子组件供电。电源可以是外部单元或者例如在箱体3016内的通用电源,用于改进触摸台3010的便携性。箱体3016将其内容完全封闭,以便限制周围可见和红外光进入箱体3016的水平,从而促进令人满意的信噪比性能。这样做会与用于在箱体3016内管理热量的多种技术冲突。触摸板3014、投影仪3022和处理结构都是热量源,并且这样的热量如果很长时间段内被包含在箱体3016内会产生可能使触摸板3010的光学组件变形的热波。故而,箱体3016容纳热量管理装置(未示出),以向箱体内引入较冷的环境空气同时从箱体排除热空气。例如,热量管理装置可以是在Sirotich等人的美国专利申请No. 12/240, 953中公开的类型,该美国专利申请于2008年9月四日提交,标题为“TOUCH PANEL FOR AN INTERACTIVE INPUT SYSTEM AND INTERACTIVE INPUT SYSTEM INCORPORATING THE TOUCH PANEL”,该专利申请已被转让给本主题申请的受让人SMART Technologies ULC of Calgary,Alberta,以引用的方式将该专利申请的内容并入本文。如上所述,触摸台3010的触摸板3014基于受抑全内反射(FTIR)的原理操作,在上文提及的Sirotich等人的美国专利申请No. 12/240, 953中有进一步的描述。图27是台面3012和触摸板3014的横截面图。台面3012包括塑料形成的外框3120,其支撑触摸板 3014。触摸板3014包括光波导3144,根据本实施例,其是聚丙烯片。弹性漫射层3146 (在本实施例中,Vintex Inc. of Mount Forest, Ontario, Canada 制造 V_CARE V_LITE 阻塞织物层)或其他合适的材料紧贴光波导3144放置。被挤压与光波导3144接触的漫射层3146基本反射了从光波导3144逸出的顶光, 使得逸出的顶光下行到箱体3016内。为了显示投影图像,漫射层3146还对投影到其上的可见光进行漫射。在光波导3144相反侧覆盖弹性漫射层3146的是具有平滑触摸表面的透明、保护层3148。在本实施例中,保护层3148是聚碳酸酯材料的薄片,在上面应用了 Tekra Corporation of New Berlin, Wisconsin, U. S. Α.制造的 Marnot 材料的硬盖。尽管触摸板3014可在没有保护层3148的情况下起作用,但是保护层3148允许在让下层的漫射层 3146免于不适当的污染、刺破或折痕以及让用户的手指免受不适当的磨损的情况下,使用触摸板14。此外,保护层3148向整个触摸板3014提供磨损、划伤和耐化学性,对于板的寿命是有益的。保护层3148、漫射层3146和光波导3144在其边缘紧压在一起为一个单元,并安装在台面3012内。随着时间的经过,长时间的使用可能会磨损一层或多层。按照要求,为了低费用地替换磨损层,可以松开层的边缘。将理解,可以用其他方式将层保持在一起,诸如通过使用粘结剂、摩擦装配、螺钉、钉子或其他紧固方法中的一个或多个。顶光源包括沿着光波导层3144的至少一个侧表面放置的一排红外发光二极管(LED) 3142(在图27页面中)。每个LED 3142向光波导3144中发射红外光。在该实施例中,沿其放置顶LED 3142的侧表面是火抛光的,以促进从顶LED 3142接收光。为了减少从顶LED3142到光波导3144的热透射率,将顶LED 3142和光波导3144的侧表面之间的空隙维持为1-2毫米(mm),并且从而减缓了在丙烯酸光波导3144中的热失真。粘合到光波导3144的其他侧表面的是反光胶带3143,用来将光向回反射到光波导层3144中,从而用红外照明充满光波导层3144。在操作中,经由光波导3144的火抛光侧表面在一般平行于光波导3144的大的上表面和下表面的方向上引入顶光。由于全内反射(TIR),所以顶光不会通过光波导的上表面或下表面逸出,因为顶光线在上表面和下表面上的入射角尚不足允许其逸出。到达其他侧表面的顶光线一般通过在其他侧表面上的反光胶带3143全部向回反射到光波导3144 中。如图观所示,当用户用指示器3011接触触摸板3014的显示表面时,指示器3011 对保护层3148的触摸将弹性漫射层3146向光波导3144挤压,使得光波导3144在指示器 3011的接触点或“触摸点”上的折射率改变。该改变“抑制” 了触摸点上的TIR,使得顶光线在以下一种角度上反射,该角度允许顶光线在触摸点上在一般垂直于光波导3144平面的方向上从光波导3144逸出。逸出顶光从指示器3011向外反射,并且局部向下散射通过光波导3144,并且从光波导3144的底部表面射出。对于每个指示器3011来说,在每个指示器3011在各自的触摸点接触触摸表面时会发生该现象。随着每个触摸点沿着触摸板3014的显示表面3015移动,发生弹性漫射层3146对光波导3144的挤压,并且因此逸出的顶光跟踪触摸点移动。在触摸点移动期间或者去除触摸点时,由于漫射层3146的弹性使得触摸点先前所在的漫射层3146还原,使得顶光从光波导3144的逸出再次停止。如此,只有在触摸点位置(多个)处顶光才从光波导3144 逸出,从而允许在由成像设备获取的图像中捕获顶光。成像设备3032捕获第三镜子3030的两维JR视频图像。顶光已从由投影仪3022 投影的图像中过滤掉,结合箱体3016基本阻塞了环境光,这确保由成像设备3032捕获的图像的背景基本是黑色的。当如上所述由一个或多个指示器接触触摸板3014的显示表面 3015时,由顶相机3032捕获的图像包括与各自触摸点相对应的一个或多个亮点。处理结构3020接收已捕获图像,并且执行图像处理,以基于在已捕获图像中的一个或多个亮点来检测一个或多个触摸点的坐标和特性。然后,处理结构3020将所检测到坐标进行映射以显示坐标,并将其解释为墨水或鼠标事件,用于操纵所显示的图像。主机应用基于所接收到的触摸点数据来跟踪每个触摸点,并且处理图像帧之间的连续性处理。更具体而言,主机应用从帧接收触摸点数据,并且基于触摸点数据确定是注册新触摸点、修改现有触摸点、还是取消/删除现有触摸点。因此,当主机应用接收到与现有触摸点无关的触摸点数据时,主机应用注册表示新触摸点的向下接触事件,并且赋予新触摸点唯一的标识符。如果其特征在于例如一个接触点与现有触摸点间隔了阈值距离,则可以将该触摸点数据认为是与现有触摸点无关的。当主机应用接收到与现有指示器相关的触摸点数据时,例如,在阈值距离内,或者与现有触摸点重叠但具有不同的焦点,则主机应用注册表示触摸点移动的接触移动事件。当停止从后续图像接收可与现有触摸点相关联的触摸点数据时,主机应用注册表示从触摸板3014的显示表面3015去除触摸点的接触提起事件。基于触摸点当前相关联的元素和/或触摸点的当前位置,将向下接触、接触移动和接触提起事件传送给用户界面的各自元素,诸如图像小部件或背景。主机应用可以运行与上文描述类似的例程,以允许主机应用检测多指示器姿势。在图四中示出了适合在上述FTIF交互式输入系统中使用的阈值过程MOO的另一实施例。在FIlR阈值过程2500中,在相似性计算2506中比较当前图像2502和背景图像2504,以标识指示器接触。在步骤2508,将主阈值应用于触摸点。如在阈值过程MOO中描述的那样,该阈值可以是用户可调整的,以向特定大小的指示器指配特定的阈值属性。在步骤2510,对图像进行分段,使得系统仅对出现指示器接触的那些区域进行处理,以减少处理负荷。在步骤2512中,计算在每个分段区域内部的像素的平均亮度和标准偏差,并且在步骤2514中,将每个指示器的阈值设置为平均亮度值加上亮度标准偏差的倍数。一般将该阈值设置为平均值的约1个标准偏移。现在由具有阈值大小的虚拟指示器来表示指示器接触。在上述FIlR系统中,可以通过测量指示器大小或亮度改变来估计用户在触摸触摸区域时施加的接触压力。图沈中的过程沈00概括了指示器接触压力估计系统。在过程 2500中,在相似性计算沈06中比较当前图像沈02和背景图像沈04,以标识指示器接触。在步骤沈08,将主阈值应用于触摸点。如在阈值触摸MOO中描述的那样,该阈值可以是用户可调整的,以向特定大小的指示器指配特定的阈值属性。在步骤沈10,对图像进行分段,使得系统仅对出现指示器接触的那些区域进行处理,以减少处理负荷。在步骤沈12中,计算在每个分段区域内部的像素的平均亮度和标准偏差。在步骤沈20,使用在步骤沈12中计算出的指示器接触亮度来估计压力,并且使用上背景水平和下背景水平对压力进行归一化。然后,从所计算的压力利用反馈对上背景水平沈16进行更新。在步骤沈14,通过将背景图像沈04的亮度和标准偏差进行平均化来执行背景分析。在步骤沈18,将下背景水平设置为平均背景亮度水平减去一个标准偏差。在步骤沈16, 将上背景水平设置为任意的合理默认值。通过逐帧混合当前图像中没有指示器的一些区域,连续更新背景图像2504。当指示器停留超过特定阈值时间时,指示器识别软件将其忽略为停留在输入表面上的不活动的指示器,诸如手、鼠标、杯子等。当移除潜在的指示器时,立即更新背景图像以允许在该区域进行接触检测。如上所述,本文所述的姿势仅是可以与交互式输入系统一起使用的姿势的示例。 如本领域的技术人员将理解的,可以在与这样的交互式输入系统相关联的应用中使用的其他整只手或多个触摸点姿势可以采用以上概述的类似例程。代替采用照明边框,组件可以包括对与成像设备相关联的放射源发射的射线进行反射的反射式或回射式边框,使得成像设备看见没有指示器的白色带。尽管将组件22描述为采用机器视觉,但是组件可以替代地采用电磁式、电容式、 声学或其他技术来注册与显示表面M进行的指示器交互。本领域的技术人员还将理解,在不偏离如所附权利要求限定的本发明的范围和精神的情况下,可以对描述内容进行其他变化和修改。
权利要求
1.一种姿势识别方法,包括 捕获总体上扫视输入区域的图像;对所述图像进行处理,以标识在所述输入区域中与至少两个指示器相关联的至少两个触摸点的集群;基于所标识的集群的动作来识别姿势;以及根据所识别的姿势来更新显示。
2.一种交互式输入系统,包括 输入表面;至少一个成像传感器,所述至少一个成像传感器具有总体上扫视所述输入表面的视场;以及与所述至少一个成像传感器通信的处理结构,所述处理结构被配置成分析由所述至少一个成像传感器获取的图像数据,以确定与接触所述输入表面的至少两个指示器相关联的触摸点集群的位置;基于后续触摸点集群的相对位置来识别表示姿势的所述后续触摸点集群;以及执行与所述姿势相关联的命令。
3.一种姿势识别方法,包括 捕获照看输入表面的图像;对所述图像进行处理,以标识与至少两个指示器相关联的至少两个触摸点集群; 基于所标识的集群的动作来识别姿势;以及根据所识别的姿势来更新显示。
4.一种交互式输入系统,包括 输入表面;至少一个成像传感器,所述至少一个成像传感器具有照看所述输入表面上的视场;以及与所述至少一个成像传感器通信的处理结构,所述处理结构被配置成分析由所述至少一个成像传感器获取的图像数据,以确定与接触所述输入表面的至少两个指示器相关联的触摸点集群的位置;基于后续触摸点集群的相对位置来识别表示姿势的所述后续触摸点集群;以及执行与所述姿势相关联的命令。
全文摘要
一种姿势识别方法,其中对已捕获的图像进行处理,以标识在输入区域/表面内与至少两个指示器相关联的至少两个触摸点集群,并且基于触摸点的集群的动作来识别姿势,并且随后用已识别的姿势来更新显示。一种交互式输入系统,包括输入表面;至少一个成像传感器;以及处理结构,所述处理结构与所述传感器通信,用于分析图像数据以确定与输入表面接触的至少两个指示器相关联的触摸点集群的位置;基于触摸点的相对位置识别表示姿势的后续集群;以及执行与所述姿势相关联的命令。
文档编号G06F3/042GK102341814SQ201080009940
公开日2012年2月1日 申请日期2010年1月5日 优先权日2009年1月5日
发明者埃里克·本纳, 格兰特·麦克吉布尼, 爱德华·策, 许奇志 申请人:智能技术无限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1