基于交互的计算机接口方法及装置的制作方法

文档序号:6625000阅读:98来源:国知局
专利名称:基于交互的计算机接口方法及装置的制作方法
技术领域
一般说来,本发明涉及人机接口技术,更确切地说,涉及基于摄像头的计算机系统接口技术。
背景技术
因为计算机系统的速度已经变得足以分析和响应所述摄像头产生的视频中出现的影像,近来基于摄像头的计算机系统接口变得更加重要了。此外,摄像头已经变得更加廉价,并且将很可能继续降价。
在基于摄像头的计算机系统接口中,用户或者在自由空间打手势,或者直接与可见演示物交互,比如物体或投射的影像。所述用户可以做有语言意义的动作,移动或与物体交互,或者做哑剧式形体动作。所述摄像头捕获所述用户及其周围环境的影像,然后与所述摄像头连接的计算机系统分析来自所述摄像头的视频。所述计算机系统能够确定所述用户正在进行交互比如打手势,然后能够执行与所述交互有关的功能。
例如,当所述用户触及投影网页上的链接所在的区域时,所述计算机就可以跟踪。然后所述计算机系统能够向所述投影机输出所述链接的目标,使其能够更新所述投射的影像。
基于摄像头的交互具有非常灵活的潜力,所述用户不被约束在复杂的单用途硬件,并且所述接口不限于鼠标或击键输入。然而在目前的基于摄像头的系统中,是所述系统的设计师在定义特定的交互集,而且还可能有必须进行这些交互之处。这就使得所述系统难以适应新的环境,并且不允许所述用户根据其需要和限制来定制所述接口。

发明内容
一般说来,本发明提供了基于交互的计算机接口技术。
一种基于交互的计算机接口范例技术包括判断与可见演示物之间的交互是不是被识别的交互。如果所述交互是被识别的交互,就确定控制信息,它具有多种类型之一。所述控制信息通过使用至少所述可见演示物和所述被识别交互的若干特征而确定。所述控制信息被映射至应用中的一项或者多项任务,使得需要特定类型控制信息的任何任务都能够从产生所述特定类型控制信息的任何可见演示物得到所述控制信息。所述控制信息适于所述一项或多项任务使用。
通过参考以下的详细说明和附图,将获得对本发明更加全面的理解,以及本发明进一步的特性和优点。
附图简要说明

图1中的框图显示了根据本发明示范性实施例的计算机视觉系统通过摄像头和投影机与定义区域中用户的接口;图2中的框图显示了根据本发明示范性实施例的示范性计算机视觉系统;图3是示范方法流程图,训练计算机视觉系统根据用户的偏爱确定被识别的可见演示物、对这些被识别的可见演示物的被识别交互以及所述被识别交互的类型,以及产生适于与计算机系统中驻留的应用的任务进行通信的对应控制信息和适当映射信息;图4是示范方法流程图,正常使用计算机视觉系统,对给定的可见演示物,确定被识别的交互和对应的类型,以及产生适于与计算机系统中驻留的应用进行通信的对应控制信息。
具体实施例方式
基于摄像头的计算机系统接口是期望的计算机输入形式,因为这种接口提供的灵活性和表达力比固定的输入硬件比如键盘和鼠标多得多。这就允许所述接口更好地适应用户和计算机系统中驻留之相关联应用的需要。正如本文的介绍,所述接口也使用户可能调整交互,以适应他们身体的需要或者所述计算机系统所在的当前环境的约束。
例如,假若用户正在把文件通过把文档投影到大屏幕上以显示给几个同事,她可能想配置计算机系统,使得所述文档根据她的手臂在所述投影之上的运动而滚动,而不用强迫她返回所述计算机控制台使用所述鼠标操作滚动条。
这种类型的灵活性对身体受限的用户将尤其重要。无法使用固定的接口硬件比如键盘或鼠标的人,能够定义与其能力相符的接口。
在当前基于摄像头的接口中,应用设计师能够创建一组固定的交互比如手势,在任何点位控制所述应用。这些方法类似于传统的计算机接口,不允许所述用户充分利用摄像头接口固有的所述灵活性,限制了这些方法的效用。本文提议的解决方案使得所述用户能够使用可见演示物作为标记,布置他们需要的所述接口。
因此,本发明的示范性实施例允许物体(典型情况下是人体的或者由人控制的部位,或者兼而有之)与可见演示物交互。可见演示物可以是例如任何类型的物理对象、有影像的印刷页面、投影图像,或者其任何组合。摄像头观察所述交互和所述可见演示物,它向计算机视觉系统提供输入。交互就是可见演示物近旁的物体进行的任何动作。典型情况下,交互是用户的手势。所述计算机视觉系统将判断所述交互是不是被识别的交互,以及提取所述交互细节的有关信息。所述演示物和这种提取的信息用于确定控制信息,它适于输出至应用中的一项或多项任务,所述计算机视觉系统能够与之通信。这种控制信息具有多种类型之一,由所述交互提取的信息特征确定所述控制信息的特定参数。一般说来,所述应用驻留在所述计算机视觉系统本身中,尽管所述应用也可以驻留在与所述计算机视觉系统分开的计算机系统中。应用是计算机系统能够执行之指令的任何集合,任务是所述应用执行的或能够运行的某种功能。
所述控制信息的不同类型是归纳交互(比如手势)重要方面的机制。类型的实例集合可以是零维的、一维的、二维的或三维的。控制信息可以包括所述类型对应的控制信号。例如,零维控制信号是可以触发应用中动作的二进制信号。零维控制信号可能由用户触及演示物而产生。一维控制信号是具有连续参数的值。一维控制信号可能由所述用户触及可见演示物之处的所述位置移动而产生。在一个示范性实施例中,应用会列出任务所需控制信息的所述类型,每个可见演示物会具有能够产生的一种或者多种类型的控制信息。
在训练期间定义接口时,可见演示物产生的所述控制信息会映射至若干应用任务。应用通常具有许多已启动的任务,所述应用能够在任何时间点上执行它们。为了与本发明某些实施例做到完全无缝协作,应用会公布它启动或控制每项任务所需之输入类型的列表,所以所述系统能够将控制信息映射至这些输入。通过模拟典型情况下所述应用从所述用户或操作系统得到的输入类型(如鼠标点击事件),本发明也能够与不公布这种列表的应用协作,尽管往往并非同样平稳。
所述计算机视觉系统能够被训练为用于不同的可见演示物、与所述可见演示物之间的相关联的不同交互、这些交互的不同特征、可见演示物及其相关联交互对应的不同控制信息以及该控制信息到若干任务的不同映射。重要的是,在一个实施例中,单一可见演示物和与该可见演示物的给定交互能够以前一句中介绍的任何方式不同,取决于所述可见演示物的位置、所述应用的状态或者其他上下文信息。例如,假若所述可见演示物处于一个位置,击中所述可见演示物会使一个动作产生(如关闭警报),但是假若所述可见演示物处于另一个位置,击中所述可见演示物会使另一个动作产生(如导致接受窗口的默认选项)。如果应用具有打开的帮助窗口(如处于指明所述帮助窗口正在工作的状态),控制信息可能被映射至所述帮助窗口的任务(比如从内容列表中选择)。反之,如果所述应用正在正常状态下运行,控制信息可能被映射至与所述应用相关联的不同任务(比如选择工具栏对应的菜单)。此外,在某些实施例中,所述计算机视觉系统能够通过在定义区域中定位若干可见演示物(如通过搜索所述可见演示物)以及利用用户接口得知哪些可见演示物用于哪些交互,确定被识别的可见演示物。
现在转向图1,根据本发明的示范性实施例,显示的计算机视觉系统110通过摄像头125和投影机120,接合所定义区域115。所述计算机视觉系统110连接所述摄像头125和所述投影机120。图2显示了示范计算机视觉系统110。在图1的实例中,所述摄像头125和投影机120不是所述计算机视觉系统110的一部分,尽管所述计算机视觉系统110期望时也能够包括所述摄像头125和所述投影机120。所述定义区域115是所述摄像头125可观察的区域,典型情况下它将有摇摄和俯仰系统(未显示),也许还有变焦距功能,使得视野126能够包括所定义区域115的全部。虽然仅显示了一台投影机120和一个摄像头125,但是也可以使用任何数目的投影机120和摄像头125。
在所述定义区域115中,有一个工作台130和一张书桌150。在所述工作台130上,用户已经放置了小记录纸135和有形的滚动条140。所述有形滚动条140是带有滑块141的物体,所述滑块141与凹槽192相通并且可以在其中滑动。在所述书桌150上,用户已经放置了网格垫170和小记录纸180。所述投影机用于投影图像160和影像190。所述影像160具有若干按钮,与所述计算机视觉系统100中驻留的电子邮件程序(即应用)有关。所述影像160包括电子邮件按钮161、读取按钮162、向上按钮163、向下按钮164、删除按钮165以及关闭窗口按钮166。所述影像190是具有滑块191的滚动条。
所述小记录纸135、有形滚动条140、所述网格垫170、所述小记录纸180以及所述影像160、190是被识别的可见演示物。被识别的可见演示物就是已经教导所述计算机视觉系统110去识别的可见演示物。所述工作台130和书桌150也是可见演示物,但是所述工作台130和所述书桌150不是被识别的可见演示物。所述用户已经通过教导过程(以下介绍)把所述可见演示物中的每一个放置到特定的位置,使所述计算机视觉系统110能够确定所述可见演示物的有关信息以便对所述可见演示物定位,并且与同在所述计算机视觉系统110上运行的应用195接合。将参考图3更详细地介绍这一过程。应当注意,所述应用195能够驻留在与所述计算机视觉系统110分开的计算机系统中。
当用户通过(例如)触及按钮161-166与所述影像160交互时,所述计算机视觉系统110将确定所述选定按钮和所述交互对应的信息(图1中未显示)。通过本领域技术人员公知的技术能够确定所述信息。使用所述选定按钮和所述交互有关的信息确定控制信息。典型情况下,把所述控制信息然后传送到相关联的应用195。所述交互因而是触及按钮161-166。参考所述影像160,当发生与电子邮件按钮161的交互时,所述控制信息可以包括零维信号,然后由操作系统解释(在这个实例中是应用195)为执行所述计算机视觉系统110中驻留(如在图2的存储器210中驻留并由处理器205执行)的电子邮件程序。
由手167与所述读取按钮交互使所述计算机视觉系统110向所述打开的电子邮件程序(如应用195)的读取任务传递信号,使得选定的电子邮件被打开。与所述向上按钮163交互使所述计算机视觉系统110向所述电子邮件程序(如应用195)的向上任务传递信号。所述电子邮件程序——应用195——能够响应所述信号,将电子邮件列表的选中项上移。同样,与所述向下按钮164交互使所述计算机视觉系统110向所述电子邮件程序(如应用195)的向下任务传递信号。所述电子邮件程序——应用195—能够响应所述信号,将电子邮件列表的选中项下移。与所述删除按钮165交互使所述计算机视觉系统110向所述电子邮件程序(如应用195)的删除任务传递信号,它能够删除选定的电子邮件作为响应。与所述关闭窗口按钮166交互使所述计算机视觉系统110向所述电子邮件程序——应用195——的关闭任务发送信号,使得所述电子邮件程序关闭。
在一个示范性实施例中,所述按钮161-166是所述可见演示物的一部分,对所述部分的交互和控制信息能够分开学习。在另一个实施范例中,所述按钮161-166就是可见演示物本身。在图1的实例中,所述按钮161-166具有零维类信号与之相关联。换句话说,按钮161-166具有两种状态由交互“按下”以及没有交互时“未按下”。
应当注意,所述计算机视觉系统110使用被识别的交互。这意味着对于所述按钮161-166的实例,所述用户教导所述计算机视觉系统110哪些交互是被识别以产生对应控制信息的交互。例如,用户可以教导所述计算机视觉系统110,移动手167通过所述影像160的交互不是被识别的交互,但是移动手167通过所述影像160的一部分并且将所述手停在所述按钮161-166中给定的一个之上至预定的时间,将是对所述给定按钮的被识别的动作。
所述网格垫170是被识别的可见演示物,其位置在示范性实施例中已经被自动确定。另外,所述用户也能够执行教导过程,使所述计算机视觉系统110能够确定信息(如表示所述网格垫170轮廓和颜色的数据),以便使所述计算机视觉系统110能够定位和识别所述可见演示物。所述网格垫170是可见演示物的实例,它能够为某些与其相关联的被识别交互产生二维类型的控制信息。所述计算机视觉系统110能够确定所述网格垫170上的位置,并产生适于传送到所述应用195的二维输出(如具有X和Y值)。例如,所述应用195有可以是制图包,所述二维输出可以在任务中用于增大或减小所述屏幕上物体的尺寸。在这个实例中,有两种受支持的交互,第一种受支持的交互是手171的手指经过所述网格垫170的运动(由引用号173指明),按一维或者多维穿过所述网格垫170。直观地说,所述手171的指尖产生的点172用于确定控制信息。这项交互将使所述计算机视觉系统110产生有两个值的控制信息。第二种受支持的交互是零维交互,由所述手171的手指或其他部位停在区域175定义。这使所述计算机视觉系统110产生复位命令的控制信息,它能够用于(例如)使所述屏幕上物体的尺寸返回默认尺寸。在这种情况下,两种不同的交互导致控制信息的两个不同的集合。对于一个可见演示物,两种不同交互的另一个实例会是除了触及按钮以外,还使所述按钮产生指尖与所述按钮的距离对应的一维信号。
作为另一个实例,同一交互能够关联到一个被识别的可见演示物,然而产生不同的控制信息,或者将控制信息映射至另一项任务,取决于所述被识别的可见演示物的位置或所述应用195的状态。例如,所述两张小记录纸135、180能够具有映射至不同应用的控制信息。直观地说,所述小记录纸180可以具有与所述小记录纸180相关联的被识别交互,它将使控制信息发送至电话应用195的忽略电话消息任务。于是该任务将简单地忽略电话消息并终止电话的铃声(如或者发送所述电话消息至应答服务)。另外,所述小记录纸135也可以具有与所述小记录纸135相关联的被识别交互,它将使控制信息发送至有滚动条之应用195的开始滚动条任务,使得所述应用195能够确定所述应用195的滚动条有聚焦并且开始滚动。
滚动条140是具有滑块141的有形设备,所述滑块141与凹槽142相通并且可以在其中滑动。所述计算机视觉系统110将检查所述滑块141以判断移动。所述滑块141的移动是所述滚动条140的被识别交互,所述计算机视觉系统110产生一维控制信息。与所述滚动条140相关联的类型以及所述过去进行的用户训练,定义了所述滑块141在所述滚动条140中的移动为具有将传送到所述应用195的一维控制信息(如单值)。
所述影像190也是滚动条,它具有滑块191。当人通过将手192置于所述滑块191上而与影像190的所述滚动条进行交互时,所述计算机视觉系统110能够产生一维控制信息。可以向应用195发送消息,它具有滚动功能(所述应用195的任务),因而所述应用195能够确定所述应用的滚动条已经被移动。所述消息将具有与之相关联的一维值。
因此,图1显示了许多不同的被识别可见演示物和交互以及与每个所述可见演示物(或其中的部分)相关联的控制信息类型。尽管未显示,但是三维类型也可以关联到可见演示物。
正如参考图1同时介绍的,可见演示物可以有几种类型的控制信息类与之相关联,而且所述计算机视觉系统100能够产生与所述可见演示物之间的相关联的值,以响应不同的被识别交互。例如,所述计算机视觉系统110可以产生二进制、零维值作为响应触及给定可见演示物的控制信息,也可以产生一维值作为控制信息的一部分,以响应手指沿着同一可见演示物滑动。圆形可见演示物也可能有相关联的二维交互,其中所述控制信息的一维对应手指的角度位置,另一维对应该手指的距离。
现在转向图2,其中显示了根据本发明示范性实施例的示范性计算机视觉系统110。计算机视觉系统110包括连接到存储器210的处理器205。所述存储器包括被识别可见演示物的数据库215、产生可见演示物信息230的可见演示物定位器模块220、产生活动信息240的活动定位器235、被识别交互的数据库245、产生交互信息255的交互检测器250、摄像头接口260、控制数据库270、产生控制信息280的控制输出模块275、训练模块285、映射输出模块290以及映射数据库295。如本领域的技术人员所知,此处介绍的多种模块和数据库可以结合在一起或者进一步划分为另外的模块和数据库。图2仅仅是示范性的。此外,所述应用195也可以驻留在分开的计算机系统(未显示)中,例如网络接口(未显示)可以用于把控制信息280传送到所述应用195。
所述训练模块285是所述计算机视觉系统110训练期间使用的模块。以下参考图3,显示了训练所述计算机视觉系统110的展示性方法。在训练期间,所述训练模块285创建或更新所述被识别可见演示物的数据库215、所述被识别交互的数据库245、所述控制数据库270以及所述映射数据库295。被识别可见演示物的数据库215包含着信息,使得所述可见演示物定位器模块220能够识别与交互相关联的可见演示物。被识别可见演示物的数据库215包含着所述系统已知的、可见演示物有关的信息,所述可见演示物的形状或颜色或兼而有之,以及所述可见演示物可能具有的、有助于识别所述可见演示物的任何标记。使用四边形状面板作为可见演示物并介绍了如何发现所述面板的一篇参考文献是Zhang等人2001年6月18日提交的US2003/0004678号美国专利申请,其公开内容在此引用作为参考。典型情况下,所述被识别可见演示物的数据库215将事先保存着一组被识别的可见演示物,任何时间只要所述可见演示物处于所述摄像头(图2中未显示)视野区内,所述系统110都能够检测到它们。所述被识别可见演示物的数据库215也可以由所述训练模块285以在所述当前情况下期待哪种可见演示物的有关信息填充,也可能以所述系统110过去未知的、由所述用户引入所述系统110的新可见演示物的有关信息填充。
所述交互数据库245包含的信息使得所述交互检测器模块250能够识别用户定义的与可见演示物相关联的交互,例如按钮应该仅仅响应触及,以及所述手指到所述按钮的距离。所述控制数据库270包含的信息使得所述控制输出模块275能够根据被识别的可见演示物或其一部分(如由可见演示物信息230定义的)、被识别的交互(如由交互信息255定义的)产生控制信息280。这个数据库确定产生什么类型的控制信号,以及如何使用所述交互信息产生所述控制信号。所述映射数据库包含的信息使得所述控制信息能够被发送至所述正确应用的正确部分。
所述摄像头接口260在连接线261上提供视频,并且能够在连接线261上接收信息,比如变焦和对焦参数。所述摄像头接口260也能够应所述系统110的请求而产生控制所述摄像头125的信号(见图1),也就是移动所述摄像头125去观察特定的可见演示物。尽管显示的是单一连接线261,但是也能够包括多条连接线。所述可见演示物定位器模块220检查连接线261上视频中的可见演示物,并且使用所述被识别可见演示物的数据库215确定被识别的可见演示物。可见演示物信息230由所述可见演示物定位器模块220产生,并且允许所述活动定位器模块235和所述交互检测器模块250知晓已经发现了被识别的可见演示物,以及影像中所述可见演示物所在的区域,以便在该区域中搜索交互。
所述计算机视觉系统110在需要时能够与某个系统协同工作,比如由C.Pinhanez在标题为“Multiple-Surface Display Projector withInteractive Input Capability”的6,431,711号美国专利中介绍的系统,其公开内容在此引用作为参考。所述Pinhanez专利介绍的系统能够将影像投射至房间内任何表面,并且在投影之前使所述影像变形,以使得投射出的所述影像将不会变形。所述计算机视觉系统110然后将可能识别所述投影的元素,容许与它们交互。在一个示范性实施例中,本发明将可能是该专利介绍之视觉系统的替代。
所述活动定位器235确定所述摄像头接口260提供的视频中出现的活动,典型情况下所述活动定位器235也将通过本领域技术人员公知的技术跟踪这些活动。所述活动位置产生了活动信息240,所述交互检测器模块250使用其确定被识别的交互。所述活动信息240可能具有视觉识别领域技术人员熟悉的多种结构。所述交互检测器模决250使用这种活动信息240和所述被识别交互的数据库245以确定哪些活动是被识别的交互。典型情况下,在定义的区域115中(见图1)将有许多活动发生,而所述活动中仅有一部分在被识别可见演示物的预定距离之内,或者具有为了界定为被识别可见演示物之交互的其他特征。一般说来,仅有某些与被识别可见演示物的交互将是被识别的交互,所述交互检测器模块250将为这些被识别的交互产生交互信息255。这种交互信息255会包括例如特定交互的检测信息以及定义该交互的任何信息。例如,典型情况下与图1中网格170的交互将包括关于所述指尖在所述网格之内位置有关的信息。与图1中滑决190的交互将需要包括所述用户正在指向所述滑块上什么位置有关的信息。为了帮助所述计算机视觉系统110确定交互何时发生,所述交互检测器模块250使用所述可见演示物信息230。
介绍所述活动定位器235或所述交互检测器250所用之视觉算法细节的一篇参考文献是Kjeldsen et al.,“Interacting with SteerableProjected Displays,”Fifth Int’l Conf.on Automatic Face and GestureRecognition(2002),其公开内容在此引用作为参考。
所述控制输出模块275使用被识别交互的所述交互信息255和所述控制数据库270中的信息,以便产生控制信息280,然后该信息可以通过所述映射模块290传递至应用195的任务。典型情况下,所述交互信息255可能包括交互的类型(如触及、挥舞通过、几乎错过)以及描述所述交互的参数(如距所述可见演示物的距离和方向、所述运动的速度和方向)。例如,(在交互检测器250中提取的)指尖距演示物的距离可以由所述控制输出模块275转换为所述控制信息280的值之一。作为该转换的一部分,所述绝对影像或者说所述指尖的真实世界距离大概可以转换为不同的比例或者说坐标系统,取决于控制数据库270中的信息。所述控制数据库270使所述控制输出模块275能够使被识别的可见演示物与被识别的交互相关,并且为所述被识别的交互产生特定类型的控制信息。在一个示范性实施例中,要由演示物产生的控制信息类型存储在所述控制数据库270中。在另一个实施例中,要产生的控制信息类型能够存储在所述被识别交互的数据库245中,所述交互信息255将仅仅包含产生这些控制值所需的信息。
所述控制信息280包括所述应用195的任务适用的信息。按照控制数据库270中的信息,所述控制信息280将包括特定的参数,至少包括零、一、二或三维类型对应的、适当数目的值。因此,控制信息280中控制信号的参数可能是零维信号,指明两种状态中的一种。那么所述控制信息280会至少包括一个值,指明所述被识别的交互表示的是所述两种状态的哪一种。
其他参数也能够包括在所述控制信息280中。例如,所述控制信息类型对应的一个或者多个值能够“打包”在所述应用195适用的消息中。直观地说,这些消息可能包括具有二维位置数据的鼠标命令,或者其他编程或应用接口(API)方法,正如本领域技术人员所知。
所述映射模块290通过使用所述映射数据库295,把所述控制信息280映射至应用195中的任务。在一个示范性实施例中,所述控制信息280包括控制信号,所以所述映射模块290执行从所述控制信息到所述应用195中一项或多项任务的映射。
所述训练模块285在训练期间中使用,因此用户能够教导所述计算机视觉系统110,哪些可见演示物是被识别的可见演示物,哪些与所述被识别可见演示物的交互是被识别的交互,什么控制信号应该由被识别的交互产生,以及该控制信号应该发送至何处。以下参考图3更详细地进行讲解。注意,所示的所述训练模块285与所述可见演示物信息230、所述活动信息240以及所述控制输出模块275通信。然而,所述训练模块与所述存储器210的任何部分都可以通信。确切地说,所述训练模块285可以判断所述数据库215、245和270的一个或多个中适于存放的信息,并将此信息存放其中。所述训练模块285也应当能够通过标准的图形用户接口(GUI)(未显示),或者通过所述摄像头接口260以影像上的影像活动与用户通信。
例如,在某些实施方案中,所述训练模块285将不得不翻译来自用户的训练指令。为了翻译训练指令,所述训练模块285将不得不知晓从所述摄像头接口260的影像中已经发现了哪些可见演示物,以及所述用户可以与所述可见演示物正在进行的任何交互。来自用户的训练指令可能不是以标准的GUI输入的形式,就是从所述视频流提取的活动(包括交互序列)(如所述用户会把可见演示物放置在视野中,然后触及上面的标签,或者作出对所述摄像头符合特定形式的手势,以确定与所述交互相关联的任务)。
正如业内公知,本文介绍的技术可以作为制成品而发行,其本身包含计算机可读介质,内含一个或多个程序,在执行时实施本发明实施例的一个或多个步骤。典型情况下,所述计算机可读介质将是可记录介质(如软盘、硬盘驱动器、光盘或存储卡),具有置于存储器210中的所述计算机可读程序代码装置的信息。
现在转向图3,显示的示范方法300用于训练计算机视觉系统110按照用户的偏爱确定被识别的可见演示物、这些被识别可见演示物的被识别交互、所述被识别交互的控制信号和所述控制信号的去向,以及产生适于传送到计算机系统中驻留的应用通信的对应控制信息。显示的所述方法300是针对一个可见演示物。然而,所述方法也不难修改为包括定位多个可见演示物。
方法300开始于步骤310,此时所述计算机视觉系统110定位可见演示物。在步骤310中,需要时对所有的可见演示物编目。此外,所述用户在必要时也能够执行干预,使得所述计算机视觉系统110能够定位所述可见演示物。在步骤320中,所述用户将所述可见演示物置于一定区域(如定义区域115中的一定位置)。当所述用户将所述可见演示物移动到所述一定区域时,所述计算机视觉系统110可以跟踪所述可见演示物。一旦在所述区域中,所述计算机视觉系统110(如在所述训练模块285的控制下)将确定所述可见演示物有关的信息,它适于放入所述被识别可见演示物的数据库215。这种信息可能包括轮廓数据(如使得所述可见演示物的轮廓已知)、所述可见演示物对应的位置数据以及使得所述计算机视觉系统110能够从定义区域115中选中所述可见演示物的任何其他数据。所述可见演示物有关的信息在步骤320中确定和存储。所述信息定义了被识别的可见演示物。
在步骤330中,所述用户从可用预定交互列表中选择交互,意味着具体的可见演示物将会有一小组交互与之相关联。例如,按钮演示物可能支持触及和邻近检测(如最近指尖的位置和角度)。于是所述用户可能启用或禁用这些交互,以及确定它们的参数,通常通过某种对话框手工优化所述识别参数,以适合所述用户动作的质量。例如,带有严重颤抖的用户可能会开启所述触及检测器的过滤,因此,当他或她用颤抖的手触及按钮时,只产生一个触及事件,而不是几个。此外,难以确定位其手的人可能会优化所述触及检测器,使得邻近的错过被视为触及。
因而对于给定的可见演示物,用户将可能指定哪些交互应该与之相关联,什么类型与所述交互相关联(如所以有多少值与所述类型相关联),以及所述控制信息应当控制什么应用任务。对于这些问题中的每一个,可以只有一种选择,以便使情况对所述用户更简单。此时,所述用户可以把所述“后退”按钮可见演示物置于其手臂旁,并且知道与所述“后退”按钮可见演示物的交互将会产生对浏览器的“后退”信号。此外,也可能会有更大的灵活性,使用户可能把“简单按钮”可见演示物置于身旁,并且指定由触及产生的所述零维控制信号应当使所述“指针”移动至所述网页的下一个链接。不仅如此,经验丰富的用户可能具有完全控制,将“普通按钮”可见演示物置于所述用户希望之处,并且指定其指尖的角度和距离产生的所述二维信号使所述指针移动至从所述指针当前位置最接近该方向和距离的网页链接。
在步骤330中,所述系统也可能通过观察所述用户的行为而学会如何识别交互。例如在一个示范性实施例中,所述用户可能与所述被识别的可见演示物进行交互,所述交互有关的信息置于所述被识别交互的数据库245中。这种信息可能包括例如以下的一种或多种交互的类型、所述交互的持续时间;与所述可见演示物(或其部分)进行所述交互的所述物体(或其部分)的接近程度;进行所述交互的所述物体的速度;以及所述物体的轮廓和适于判断活动是否与所述被识别可见演示物有关的其他信息。
当所述用户在步骤350中与所述应用195交互时,所述训练模块285能够确定所述控制信息280应当是什么,以及如何以适于输出至所述应用195的格式表示所述控制信息280。正如先前的介绍,每个可见演示物都能够产生一种或多种类型信息。设计为与使用本发明之系统协作的应用将能够接受这些类型的控制输入。例如,网络浏览器可能会需要“后退”和“选择链接”(所述应用的若干任务)所用的零维信号,滚动页面(所述应用的另一项任务)所用的一维信号以及多种其他类型的信号。可见演示物可以是“硬连线”的,使得所述可见演示物的控制信号(如作为控制信息的一部分)映射至应用的特定任务,在此情况下不执行步骤350。另外,所述用户也可以在训练期间指定从控制信号到应用中若干任务的映射。如果所述用户在训练期间指定了从控制信号到应用中若干任务的所述映射,就不必执行步骤350。然而,所述用户也可以运行所述应用中的任务,在此情况下可以执行步骤350,使得训练模块能够将所述控制信号关联到应用的若干任务。
直观地说,为了与本发明的一个实施例协作而专门编写了若干应用。在其他实施例中,至少能够按以下两种方式避免重写应用1)可以编写包装应用,它把控制信息中的控制信号(如具有零至三维对应的值)翻译成所述应用可接受的输入;2)可以使用不同的控制模式,其中所述计算机视觉系统将所述控制信号直接翻译成适合既有应用的信号(比如为具体操作系统编写的应用所用的鼠标事件或COM控制)。
在步骤360中存储控制信息(如在所述控制数据库270中)。所述控制信息使所述计算机视觉系统110(如所述控制模块275)能够根据被识别的可见演示物和与所述可见演示物的被识别交互确定适当的控制信息。此外,所述被识别的可见演示物在所述区域(如定义区域115)中位置对应的位置信息能够被存储并与所述被识别的可见演示物相关联,使得多种被识别的交互能够关联到同一可见演示物的不同位置。不仅如此,在步骤360中还存储了映射信息。
现在参考图4,显示的示范方法400正常使用计算机视觉系统判断给定可见演示物是否为被识别的,以及产生适于传送到计算机系统中驻留之应用的对应控制信息。典型情况下,所述计算机视觉系统110定位许多可见演示物,但是为了简单起见,方法400只为一个可见演示物而编写。
方法400开始于步骤405,此时识别可见演示物。在步骤410中判断所述可见演示物是不是被识别的可见演示物。在一个示范性实施例中,这个步骤可以由所述可见演示物定位器模块220执行。所述可见演示物定位器模块220能够使用所述被识别可见演示物的数据库215判断可见演示物是不是被识别的可见演示物。此外,如果没有改变所述系统,所以没有移动可见演示物,那么一旦发现了所有被识别的可见演示物,或者如果已经发现了所述可见演示物,并且摄像头一直在观察所述可见演示物而所述可见演示物在被发现之后未被移动,就能够跳过步骤405和410。如果所述定位了的可见演示物不是被识别的可见演示物(步骤410=否),那么所述方法400就在步骤405中继续进行。如果所述定位了的可见演示物是被识别的可见演示物(步骤410=是),那么所述方法400就在步骤415中继续进行。
应当注意,步骤405和步骤410也能够实施为一个可见演示物能够有不同的部分,一个给定部分关联到一种被识别的交互。例如,图1的影像160具有多个按钮161-166,每个按钮关联到一种被识别的交互。
在步骤415中确定可见演示物信息(如可见演示物信息230)。在图4的实例中,所述可见演示物信息包括所述可见演示物或其部分的一种或多种类型。在步骤420中判断活动是否已经发生。活动是任何物体的任何运动,或在区域中出现特定物体比如用户的手。典型情况下,通过以一个或多个视频摄像头观察区域比如定义区域115,并分析它们输出的一种或多种视频流判断所述活动。如果没有活动(步骤420=否),方法400就在步骤420之前再次继续。
如果有活动(步骤420=是),就在步骤425中确定所述活动是不是被识别的交互。在一个示范性实施例中,这个步骤可以由交互探测器模块250执行,它使用活动信息240和被识别交互的数据库245。如果所述活动不是被识别的交互(步骤425=否),方法400就在步骤415之前再次继续。如果所述活动是被识别的交互(步骤425=是),就在步骤430中产生控制输出。如上所述,步骤430可以由控制输出模块275执行,它使用控制数据库270以及来自可见演示物定位器模块220和交互检测器模块250的信息。然后所述控制信息280(如包括所述可见演示物类型对应之零或多维对应的值)被映射(如通过映射输出模块290)至应用195的特定任务,它适于传送到所述应用195并适于由所述任务使用。
因此,本发明提供了基于交互的计算机使用可见演示物的接口技术。此外,本发明还能够变通。例如,用户可以围绕着一个区域操纵投影图像,所述计算机视觉系统110可以将发现的所述投影图像作为可见演示物,并且根据所述投影图像、与所述投影图像的交互和所述交互的类型确定适当的控制信息。在一个示范性实施例中,根据所述投影图像、与所述投影图像的交互和所述交互的类型产生单一类型的控制信息。在另一个实施例中,根据所述投影图像在区域中的位置,根据所述投影图像、与所述投影图像的交互和所述交互的类型产生不同的控制信息。在又一个实施例中,到所述应用中任务的映射受到应用状态的影响。
应当理解,本文显示和介绍的所述实施例和变化仅仅是本发明原理的展示,在不脱离本发明范围和实质的情况下,本领域的技术人员可以实施多种修改。
权利要求
1.一种在计算机系统上执行的用于基于交互的计算机接口的方法所述方法包括以下步骤判断与可见演示物之间的交互是不是被识别的交互;以及如果所述交互是被识别的交互,就执行以下步骤确定控制信息,它具有多种类型之一,所述控制信息通过使用至少所述可见演示物和所述被识别交互的若干特征而确定;以及把所述控制信息映射至应用中的一项或者多项任务,使得需要特定类型控制信息的任何任务都能够从产生所述特定类型控制信息的任何可见演示物得到所述控制信息;其中,所述控制信息适于所述一项或多项任务使用。
2.根据权利要求1的方法,其中,所述控制信息包括使用所述被识别交互的所述特征确定的一个或多个参数。
3.根据权利要求2的方法,其中,所述参数包括所述一种类型的一个或多个值。
4.根据权利要求1的方法,进一步包括以下步骤在区域中定位给定的一个或多个可见演示物之一;判断所述给定的可见演示物是不是被识别的可见演示物;所述判断与可见演示物之间的交互是不是被识别交互的步骤进一步包括判断与被识别可见演示物的交互是不是被识别交互的步骤;以及其中,当所述交互是所述被识别可见演示物的被识别交互时,就执行确定控制信息和映射所述控制信息的步骤。
5.根据权利要求1的方法,进一步包括判断由某个对象执行与所述可见演示物之间的所述交互的步骤。
6.根据权利要求1的方法,其中,所述多种类型包括零维的、一维的、二维的或三维的类型。
7.根据权利要求6的方法,其中,所述控制信息包括控制信号,所述确定控制信息的步骤包括对于给定类型,确定所述维中的每一维的值的步骤,所述控制信号包括对于所述给定类型,与所述维对应的所述值。
8.根据权利要求1的方法,其中,所述可见演示物对应于多种类型,使得对于所述可见演示物能够确定对应的多种控制信息。
9.根据权利要求1的方法,其中,所述可见演示物对应于单一类型,使得对于所述可见演示物能够确定对应的单一控制信息。
10.根据权利要求1的方法,其中,所述可见演示物包括物理对象、有影像的印刷页面和投影图像中的一种或多种。
11.根据权利要求1的方法,进一步包括把所述控制信息传送到所述应用的步骤,所述应用使用所述控制信息执行所述一项或多项任务。
12.根据权利要求1的方法,其中,通过使用至少所述可见演示物、所述被识别交互的特征和上下文信息,确定所述控制信息。
13.根据权利要求12的方法,其中,所述上下文信息包括所述可见演示物的位置和所述应用的状态中的一种或多种。
14.根据权利要求1的方法,其中,所述映射步骤进一步包括根据上下文信息,把所述控制信息映射到所述应用中所述一项或多项任务的步骤。
15.根据权利要求14的方法,其中,所述上下文信息包括所述可见演示物的位置和所述应用的状态中的一种或多种。
16.根据权利要求1的方法,进一步包括以下步骤向所述用户提供一种或多种交互的标记,所述标记适用于选定的可见演示物;对于所述选定的可见演示物,使所述用户选择所述一种或多种交互中给定的一种;存储所述给定交互的若干特征,所述给定交互是所述选定的可见演示物的被识别交互;对于与所述选定的可见演示物之间的所述选定的交互,向所述用户提供一种或多种类型的标记;对于所述选定的可见演示物,使所述用户选择所述一种或多种类型中给定的一种;对于所述选定的可见演示物,存储给定的控制信息,所述给定的控制信息具有所述给定的类型;对于选定应用,向所述用户提供需要所述一种类型的控制信息的一项或多项任务的标记;对于所述一种类型,使所述用户选择所述一项或多项任务中给定的一种;以及存储使所述给定的控制信息能够映射到所述给定任务的信息。
17.根据权利要求1的方法,进一步包括以下步骤向所述用户提供一种或多种交互的标记,所述标记适用于选定的可见演示物;对于所述选定的可见演示物,使所述用户选择所述一种或多种交互中给定的一种;存储所述给定交互的若干特征,所述给定交互是所述选定的可见演示物的被识别交互;对于与所述选定的可见演示物之间的所述选定的交互,向所述用户提供一种或多种类型的标记;对于所述选定的可见演示物,使所述用户选择所述一种或多种类型中给定的一种;对于所述选定的可见演示物,存储给定的控制信息,所述给定的控制信息具有所述给定的类型;确定所述给定的控制信息要映射到所述选定的可见演示物;以及存储使所述给定的控制信息能够映射到所述给定任务的信息。
18.根据权利要求1的方法,进一步包括使用户进行与所述可见演示物之间的交互的步骤,以便确定所述被识别的交互。
19.根据权利要求1的方法,进一步包括使用户运行所述应用的所述一项或多项任务中给定一项的步骤,以便确定使所述控制信息能够映射到所述给定任务的信息。
20.一种用于基于交互的计算机接口的装置,所述装置包括存储器,存储着计算机可读的代码;以及处理器,可操作地连接到所述存储器,所述处理器被配置为实施所述计算机可读的代码,所述计算机可读的代码被配置为执行以下步骤判断与可见演示物之间的交互是不是被识别的交互;以及如果所述交互是被识别的交互,就执行以下步骤确定控制信息,它具有多种类型之一,所述控制信息通过使用至少所述可见演示物和所述被识别交互的若干特征而确定;以及把所述控制信息映射至应用中的一项或者多项任务,使得需要特定类型控制信息的任何任务都能够从产生所述特定类型控制信息的任何可见演示物得到所述控制信息。
21.一种用于基于交互的计算机接口的制成品,包括计算机可读的介质,其中包含一个或多个程序,执行时实施以下步骤判断与可见演示物之间的交互是不是被识别的交互;以及如果所述交互是被识别的交互,就执行以下步骤确定控制信息,它具有多种类型之一,所述控制信息通过使用至少所述可见演示物和所述被识别交互的若干特征而确定;以及把所述控制信息映射至应用中的一项或者多项任务,使得需要特定类型控制信息的任何任务都能够从产生所述特定类型控制信息的任何可见演示物得到所述控制信息。
全文摘要
一种基于交互的计算机接口范例技术包括判断与可见演示物之间的交互是不是被识别的交互。如果所述交互是被识别的交互,就确定控制信息,它具有多种类型之一。所述控制信息通过使用至少所述可见演示物和所述被识别交互的若干特征而确定。所述控制信息被映射至应用中的一项或者多项任务,使得需要特定类型控制信息的任何任务都能够从产生所述特定类型控制信息的任何可见演示物得到所述控制信息。所述控制信息适于所述一项或多项任务使用。
文档编号G06F3/00GK1755588SQ20051007946
公开日2006年4月5日 申请日期2005年6月23日 优先权日2004年10月1日
发明者弗莱德里克·卡尔·摩斯噶尔德·克杰尔德森, 安东尼·汤姆·莱瓦斯, 高派尔·萨尔玛·宾噶里 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1