CN105074615B - 虚拟传感器系统和方法 - Google Patents
虚拟传感器系统和方法 Download PDFInfo
- Publication number
- CN105074615B CN105074615B CN201380072710.9A CN201380072710A CN105074615B CN 105074615 B CN105074615 B CN 105074615B CN 201380072710 A CN201380072710 A CN 201380072710A CN 105074615 B CN105074615 B CN 105074615B
- Authority
- CN
- China
- Prior art keywords
- virtual
- data
- sensor
- scene
- geometry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
提出了用于检测场景中的虚拟传感器的激活的方法和系统,其中,虚拟传感器包括表示几何形状的数据、表示在场景中的位置的数据以及表示一个或多个触发条件的数据。场景的数据表示被捕获,并基于对在对应于虚拟传感器的几何形状和位置的区域中捕获的数据表示的分析来确定虚拟传感器的触发条件是否得到满足。
Description
技术领域
本发明涉及人机界面技术的领域。
背景技术
人机界面(HMI)技术在最近几年得到迅速发展。例如,诸如控制诸如电脑、平板电脑、智能手机的设备的触摸屏的技术已经大量扩展到不断增加的各种设备,并发展到包括诸如触觉触摸屏的新兴技术。新类型的传感器已经出现,重新定义了人和设备的接口,特别是,对于家庭自动化新领域开辟了道路。一个例子是对灯的控制、诸如开门系统的设备、或诸如窗口锁定系统的软件,现今它们包括开关、运动传感器、调光器,或者甚至智能手机的使用。
然而,当前的HMI技术需要多个传感器并使用和设置连接链路来控制对象。例如,开关灯需要开关系统,或者在更复杂的系统中,需要计算机或智能电话。在后面的情况下,将需要诸如键盘的接口设备来与控制设备进行交互。因为添加新的交互往往需要增加新的传感器和相应的电子设备或修改基于计算机或基于智能手机的应用程序,因此这些技术受到限制。否则,这些技术的演化可能需要大量的附加材料和软件开发。
因此,HMI技术已经通过传感器(诸如例如触摸屏)的发展而演变,这些传感器被设计成在检测到手势后触发,从而定义了与设备进行交互的新的方法。这种传感器需要对用户手势进行分析。
因此仍然需要改进的人机接口技术,特别是具有灵活性并易于演变。
发明内容
本发明的一个目的是提供用于检测场景中的虚拟传感器的激活的系统和方法。
根据本发明的一个方面的用于检测场景中的虚拟传感器的激活的方法包括,用于包括表示几何形状的数据、表示在场景中的位置的数据以及表示一个或多个触发条件的数据的虚拟传感器,捕获场景的第一数据表示,并基于对在对应于虚拟传感器的几何形状和位置的区域中捕获的第一数据表示的分析确定虚拟传感器的触发条件中的一个或多个是否得到满足。
和基于手势的方法相比,虚拟传感器的一个优点在于虚拟传感器不需要对用户的手势进行任何分析。根据本发明的一个方面,定义和配置了对应于三维(3D)对象的虚拟传感器,并使用3D传感器来确定对象是否进入对应于虚拟传感器的体积区域。因此,没有必要教导用户新的手势型式。基于本发明的多个方面,人们可以以非侵入性的技术增加和任何对象的交互。
虚拟传感器的另一个优点是易于定义新的虚拟传感器,而无需大量增加的材料(真实传感器)或对例如软件应用程序的进一步开发,使得它成为非常灵活和自适应的方案。为了动态适应系统的变化,虚拟传感器是系统的一部分,还可以重新定义或修改虚拟传感器。它也可以集成或连接到控制引擎,用于一旦检测到其被激活,即执行任何命令。
根据本发明的进一步的方面,本发明公开了一种用于检测场景中的虚拟传感器的激活的系统。该系统可以包括被配置成捕获场景并生成场景的第一数据表示的场景捕获子系统以及与场景捕获子系统操作通信的虚拟传感器子系统,虚拟传感器子系统包括:用于接收表示场景的第一数据表示的数据的接口、处理器以及可操作地连接到处理器的存储器。虚拟传感器子系统可以被配置为执行用于检测场景中的虚拟传感器的激活的方法,其中,虚拟传感器包括表示几何形状的数据、表示在场景中的位置的数据、以及表示一个或多个触发条件的数据,该方法包括:捕获场景的第一数据表示;和基于对在对应于虚拟传感器的几何形状和位置的区域中捕获的第一数据表示的分析,确定虚拟传感器的触发条件中的一个或多个是否得到满足。
根据一个或多个另外的方面,本发明公开了一种计算机可读存储介质,其存储用于检测场景中的虚拟传感器的激活的计算机可执行指令,该计算机可执行指令包括表示虚拟传感器的几何形状的数据、表示在场景中的虚拟传感器的位置的数据、以及表示虚拟传感器的一个或多个触发条件的数据;指令用于:接收表示场景的第一数据表示的数据;分析所接收的表示对应于虚拟传感器的几何形状和位置的区域中的第一数据表示的数据;以及基于对所接收的数据的分析来确定虚拟传感器的触发条件中的一个或多个是否得到满足。
根据又一方面,本发明公开了一种包括有形地体现在计算机可读介质中的计算机程序代码的计算机程序产品,所述计算机程序代码包括指令,当被提供给计算机系统并被执行时,指令使所述计算机执行用于检测场景中的虚拟传感器的激活的方法,其中,虚拟传感器包括表示几何形状的数据、表示在场景中的位置的数据以及表示一个或多个触发条件的数据,该方法包括基于对表示在对应于虚拟传感器的几何形状和位置的区域中捕获的场景的第一数据表示的数据的分析来确定虚拟传感器触发条件中的一个或多个是否得到满足。
根据又一方面,本发明公开了一种存储计算机程序的非暂时性计算机可读存储介质,当被执行时,该计算机程序使包括与存储器可操作地连接的处理器的系统执行用于检测场景中的虚拟传感器的激活的方法,其中虚拟传感器包括表示几何形状的数据、表示在场景中的位置的数据、以及表示一个或多个触发条件的数据,该方法包括基于对表示在对应于虚拟传感器的几何形状和位置的区域中捕获的第一数据表示的数据的分析来确定虚拟传感器触发条件中的一个或多个是否得到满足。
场景的第一数据表示可以经由各种传感器技术,诸如图像传感器、超声波传感器、红外线传感器或能够生成可以从其导出空间信息的位置的任何传感器。根据另一方面,场景的第一数据表示包括场景的图像数据表示。
根据又一实施例,所提出的方法进一步包括捕获场景的第二数据表示,并基于从所捕获的第二数据表示生成的图像来配置虚拟传感器的几何形状和位置。
根据又一实施例,虚拟传感器可以包括表示三维几何形状的数据,并且所提出的方法可以进一步包括:生成表示场景的点云数据,该点云数据包括表示对应于所捕获的第一数据表示的体积区域的点以及在体积区域中的各自相关联位置的数据,并且确定虚拟传感器触发条件是否得到满足可以包括分析表示对应于虚拟传感器的几何形状和位置的体积区域中的点的数据。
根据方法的又一实施例,表示对应于虚拟传感器的几何形状和位置的体积区域中的点的分析点云数据可以包括:检测位于对应于虚拟传感器的几何形状和位置的区域中的点云的点;并将检测到的点的数量与预定阈值进行比较。
根据方法的又一实施例,表示对应于虚拟传感器的几何形状和位置的体积区域中的点的分析点云数据包括:检测位于对应于虚拟传感器的几何形状和位置的区域中的点云的点;对于一些检测到的点确定表示强度量的强度值;并将检测到的强度值与预定阈值进行比较。
根据方法的又一实施例,该方法可以进一步包括处理场景的捕获的第一数据表示,用于移除表示场景的背景的数据。
根据方法的又一实施例,该方法可以进一步包括使用场景的第一数据表示来定义和配置场景中的一个或多个虚拟传感器。
根据方法的又一实施例,虚拟传感器可以进一步包括表示响应于确定虚拟传感器的触发动作中的一个或多个被完成而将要被执行的一个或多个命令动作的数据,该方法可以进一步包括响应于确定虚拟传感器的触发条件中的一个或多个是否得到满足而执行一个或多个命令动作。
应该理解的是,本发明可以以多种方式来实现和利用,包括但不限于过程、装置、系统、设备,以及现在已知和随后开发的用于应用程序的方法。本文中公开的系统和这些和其它独特特征从下面的详细描述和附图将变得更加显而易见。
附图说明
通过结合所附说明书并参考附图,对于本领域技术人员来说本发明将更易于理解,并且本发明的许多目的和优点将变得更加显而易见,其中:
图1示出了根据一个示例实施例的示例虚拟传感器系统。
图2示出了根据一个示例实施例的用于检测虚拟传感器的激活的示例方法的流程图。
图3示出了根据另一示例实施例的用于检测虚拟传感器的激活的示例方法的流程图。
图4示出了根据一个示例实施例的示例虚拟传感器系统。
图5示出了场景的拍摄图像。
图6示出了根据一个示例实施例的从图5中拍摄的场景的3D图像数据显示生成的示例图像。
图7A和图7B示出了用于控制音频数据的音量的示例虚拟传感器。
具体实施方式
本文所公开的组件的优点和其它特征对于本领域普通技术人员来说将变得更加容易明白。对某些优选实施例的结合附图的以下详细描述展示了主题技术的代表性实施例,其中相同的附图标记指代相同的结构元件。
此外,应当显而易见的是,本文的教导可以以各种形式体现,本文中公开的任何特定结构和/或功能仅仅是代表性的。特别是,本领域技术人员将理解,本文公开的实施例可以独立于任何其它实施例实施,几个实施例也可以以各种方式组合。
本发明将在下面参照根据一个或多个示例实施例的功能、引擎,和阐释方法、系统和计算机程序的框图和流程图进行说明。每个所描述的功能、引擎、框图的框和流程图图示可以用硬件、软件、固件、中间件、微代码或其任何合适的组合来实现。如果在软件中实现,功能、引擎、框图中的框和/或流程图图示可通过计算机程序指令或软件代码实现,计算机程序指令或软件代码可以由计算机可读介质存储或传输,或加载到通用计算机、专用计算机或其他可编程数据处理装置以产生机器,使得在计算机或其它可编程数据处理装置上执行的计算机程序指令或软件代码创建了用于实现在本文中描述的功能的方式。
计算机可读介质的实施例包括,但不限于,计算机存储介质和包括便于从一个位置将计算机程序传送到另一处的任何介质的通信介质。如本文所用,“计算机存储介质”可以是能够由计算机进行访问的任何物理介质。计算机存储介质的例子包括,但不限于,闪存驱动器或其他闪存设备(例如记忆键、记忆棒、钥匙驱动器)、CD-ROM或其它光盘存储器、DVD、磁盘存储器或其它磁存储设备、存储器芯片、RAM、ROM、EEPROM、智能卡或可以用于携带或存储可以由计算机处理器读取指令或数据结构的形式的程序代码的任何其它合适的介质。此外,各种形式的计算机可读介质可通过有线(同轴电缆、光纤、双绞线、DSL电缆)或无线(红外线、无线电、蜂窝、微波)传送或携带指令到计算机,包括路由器、网关、服务器或其他传输设备。指令可以包括来自任何计算机编程语言的代码,包括,但不限于,汇编、C、C++、Visual Basic、HTML、PHP、Java、JavaScript、Python和bash脚本编程。
此外,本文所用的单词“示例”意指用作示例、实例或图示。本文中描述为“示例”的任何方面或设计并不一定要被解释为优于或胜过其他方面或设计。
参考图,图1示出了根据本发明配置成使用虚拟传感器特征的示例虚拟传感器系统100。系统100包括场景捕获子系统101和虚拟传感器子系统102。
场景捕获子系统101被配置为捕获场景,并且生成表示所捕获的场景的数据。在一个实施例中,它包括一个或多个传感器103以及数据表示处理模块104。场景捕获子系统101可以使用不同的传感技术以及一个或多个相同或不同技术的传感器103。它被配置为使得它可以生成表示与一维、二维或三维空间信息中的位置相对应的点的数据。
在使用多个传感器103(可以是相同或不同类型)来捕获场景的实施例中,由传感器103生成的数据可以被发送到数据表示处理模块104,在那里数据被组合,并可以被进一步处理,以生成适于由虚拟传感器子系统102利用的数据114。
例如,对于传感技术,可以使用诸如图像传感器(包括但不限于3D图像传感器)、红外传感器、超声波传感器的传感器来实施场景捕获子系统101。传感器103的示例包括,但不限于,照相机、3D相机、立体视觉系统、声纳、激光照相机、激光雷达和麦克风阵列。
在使用生成对应于一维位置信息的点数据的距离传感器的示例性情况下,三个距离传感器103可以被用于场景捕获子系统101中,并对于要被捕获的场景进行定位。当几个距离传感器103被定位以捕获场景时,每一个传感器103可以生成测量值,由所有传感器103生成的测量值可以由数据表示处理模块104组合,以生成测量值的向量。在另一示例实施例中,多个传感器被用来捕获场景,并定位为传感器组,其中每组传感器包括在矩阵中相对于彼此定位的几个传感器。在这种情况下,由所有传感器103生成的测量值可以由数据表示处理模块104组合,以生成测量值的矩阵。在这种情况下,测量值的矩阵的各个点可以表示特定传感器103的输入。
在一些实施例中,场景捕获子系统101可以是被配置为生成所捕获的场景的图像数据表示。例如,在一些实施例中,场景捕获子系统101可以包括一个或几个二维图像传感器103,它们的每一个可以生成所捕获的场景的2D图像数据表示。这样的图像传感器103可以是被配置为使用任何合适的技术,例如但不限于立体视觉图像采集,与数据表示处理模块104一起生成所捕获的场景的三维数据表示的任何设备。例如,在立体三维图像采集的情况下,可以使用两个照相机103来获取立体图像。
在场景捕获子系统101可以是被配置为生成所捕获的场景的图像数据表示的图像捕获子系统的实施例中,场景捕获子系统101可以是被配置为生成三维(3D)图像的3D捕获系统,并包括例如3D图像传感器103。3D图像传感器103可生成3D图像数据,例如深度图像或点云。
在一些实施例中,传感器103是生成深度图像的图像传感器,深度图像也就是像素数据的矩阵,其中每一个像素数据可以包括表示所捕获的场景的对象和传感器103之间的距离的值。在一个实施例中,数据表示处理模块104可以使用在深度图像数据中与其相关联的距离值并使用关于生成了该深度图像的图像传感器的光学特征(诸如例如焦距)的信息对深度图像的每个像素重建3D坐标。
在一些实施例中,传感器103是生成点云数据的图像传感器,点云数据也就是一组像素数据,其中每个像素数据可以包括相对于预定的原点的3D坐标,还包括除了3D坐标数据之外的诸如色彩数据、强度数据、噪声数据等的其它数据。
数据表示处理模块104被可操作地连接到图像传感器103,并被配置为对图像传感器103生成的数据进行任何合适的处理。例如,在一个实施例中,处理可以包括将由图像传感器103生成的原始数据编码转换成和虚拟传感器子系统102可以处理的数据格式相兼容的格式的数据。在一个实施例中,图像处理模块可以提供的另一处理是组合由多个传感器103生成的数据。
在一个实施例中,数据表示处理模块104被配置为基于由传感器103捕获的场景的数据表示而生成点云数据,点云数据包括表示由传感器103捕获的体积区域的点以及体积区域内的各相关联位置的数据。在一个实施例中,表示分别与点云的点相关联的位置的数据可以包括表示相对于预定原点的三个3D坐标的数据,预定原点可被选择为与传感器103中的一个相重合。如上所述,生成点云数据并不是必须的,例如在场景捕获子系统101包括直接输出点云数据的3D照相机的实施例中。在另一实施例中,生成点云数据可以包括将图像深度数据编码转换成如上所述的点云数据。在其他实施例中,生成点云数据可包括组合由多个1D和/或2D传感器输出的数据,并基于这样的组合数据生成点云数据。
可以理解的是,虽然图像传感器和数据表示处理模块104被示出为场景捕获子系统101的一部分,对于场景捕获子系统101的体系结构或对组件103-104的控制或结构并没有限制。具体地,在一些实施例中,组件103-104的部分或全部可以在不同的实体和/或不同的计算系统的控制下进行操作。例如,图像处理模块可被合并在相机设备中或作为虚拟传感器子系统102的一部分。此外,应该注意的是,数据表示处理模块104可以包括处理器驱动设备,并包括处理器和与处理器可操作地连接的存储器,并在软件、硬件、固件或它们的组合中进行,以实现性能并执行本文中描述的功能。
虚拟传感器子系统102可以包括处理器驱动的设备,例如,图1中所示的计算设备105。在所示的示例中,计算设备105经由合适的接口和通信链路与场景捕获子系统101以通信方式连接。
在所示的实施方式中,计算设备105执行组件,如虚拟传感器引擎106和命令输出引擎107。虚拟传感器引擎106和命令输出引擎107被示出为软件,但可被实现为硬件或硬件和软件指令的组合。
虚拟传感器引擎106包括接收由场景捕获子系统101(基于捕获的场景的数据表示)生成和向其发送的场景114的3D图像数据表示的功能,并包括关于包括表示几何形状、在场景中的位置和触发条件的数据的虚拟传感器,分析对应于虚拟传感器的几何形状和位置的区域中的所接收的3D图像数据表示的数据的功能。虚拟传感器引擎106进一步包括基于这样的分析确定是否满足虚拟传感器的触发条件的功能。在一个实施例中,由场景捕获子系统101传送到虚拟传感器子系统102的数据114可以包括所捕获的场景的点云数据表示。
命令输出引擎107包括一旦接收到虚拟传感器的满足相应触发条件的信息而触发对预定命令的执行的功能。
当诸如在处理器108上执行时,虚拟传感器引擎106被可操作地连接到命令输出引擎107。例如,虚拟传感器引擎106可以与命令输出引擎107一样,是同一应用软件的一部分,命令输出引擎107可以是用于虚拟传感器引擎106的插件程序,或者可以使用另一种方法将命令输出引擎107连接到虚拟传感器引擎106。
计算设备105可以是计算机、计算机网络或其他设备,其具有处理器108、存储器109、数据存储器110以及其他相关联的硬件,例如输入/输出接口111(例如,诸如USB接口等的设备接口,诸如以太网接口等的网络接口)以及读取和写入可移除的计算机存储介质113的介质驱动器112。处理器108可以是任何合适的微处理器、ASIC和/或状态机。在一些实施例中,可移除的计算机存储介质可以包含计算机指令,当由计算设备105执行时,该计算机指令使得计算设备105执行本发明描述的一个或多个示例方法。因此,可移除的计算机存储介质113可以包括用于实现和执行虚拟传感器引擎106和/或命令输出引擎107的指令。在一些实施例中,示例虚拟传感器引擎106的至少一些部分可被存储为在可移除的存储介质113的给定实例,可移除的设备,或者本地数据存储器110中的指令,以被加载到存储器109,用于由处理器108执行。具体地说,执行实施例的软件指令或计算机可读程序代码可以被临时或永久地、全部或部分地存储在非暂时性计算机可读介质上,诸如光盘(CD)、本地或远程存储设备、本地或远程存储器、磁盘或任何其它计算机可读存储设备。
虽然图示的示例虚拟传感器引擎106和命令输出引擎107被描绘为驻留在存储器109中的程序,虚拟传感器引擎106和/或命令输出引擎107可以被实现为硬件,诸如应用专用集成电路(ASIC),或作为硬件和软件的组合。
在此示例系统中,计算设备105从场景捕获子系统101和可能经由诸如USB连接或网络设备的各种通信装置接收输入数据114,诸如场景的3D图像数据表示。计算设备105可以经由输入/输出接口111接收许多类型的数据集,输入/输出接口111还可以从诸如因特网或局域网的各种来源接收数据。
虚拟传感器引擎106还可以生成或最终产生将要由命令输出引擎107使用的控制信号,用于将行为或命令与对虚拟传感器的指定触发条件的检测进行关联。
可以理解的是,参考图1示出和描述的虚拟传感器系统100仅是作为示例来提供。许多其他的体系结构、操作环境和配置是可能的。系统的其它实施例可以包括更少或更多数量的组件,可以合并关于图1所示的系统组件描述的功能中的一些或全部。因此,虽然传感器103、数据表示处理模块104、虚拟传感器引擎106、命令输出引擎107、本地存储器109、以及数据存储器110被示出为虚拟传感器系统100的一部分,对于组件103-104-106-107-109-110的位置和控制没有限制。特别是,在其他实施例中,组件103-104-106-107-109-110可以是不同的实体或计算系统的一部分。
图4示出了虚拟传感器系统400的另一示例,它包括场景捕获子系统401和虚拟传感器子系统402。在图示的示例中,计算设备405经由合适的接口和通信链路与场景捕获子系统401通信连接。
在所示的实施方式中,除了可以和关于图1描述的对应组件相同的虚拟传感器引擎406和命令输出引擎407之外,计算设备405执行附加的组件,诸如图形显示引擎415和图形用户界面(GUI)引擎417。图形显示引擎415和GUI引擎417被示出为软件,但可被实现为硬件或者硬件和软件指令的组合。
除了关于图1的虚拟传感器引擎106描述的功能之外,虚拟传感器引擎406包括通过例如经由GUI引擎417提供的图形用户界面来定义和配置虚拟传感器的功能。
图形显示引擎415包括接收可以由场景捕获子系统101或虚拟传感器引擎406生成并提供的场景的3D图像数据表示的功能,以及从诸如3D图像数据表示生成可以在显示器418上显示的图形图的功能。在一个或多个实施例中,图形显示引擎415被可操作地连接到用户接口控制器416和显示器418。
GUI引擎417包括对例如用于定义和配置虚拟传感器的虚拟传感器应用程序提供用户界面的功能。在一个或多个实施例中,GUI引擎417被可操作地连接到用户接口控制器416和显示器418。
当诸如在处理器408上执行时,虚拟传感器引擎406被可操作地连接到图形显示引擎415,还被可操作地连接到GUI引擎417。例如,虚拟传感器引擎406可以是与图形显示引擎415与GUI引擎417相同的应用软件的一部分,图形显示引擎415与GUI引擎417各自可以是虚拟传感器引擎406的插件程序,或者可以使用另一种方法将图形显示引擎415与GUI引擎417连接到虚拟传感器引擎406。
类似于关于图1描述的设备105,计算设备405可以是计算机、计算机网络或其他设备,其具有处理器408、存储器409、数据存储器410以及其他相关联的硬件,例如输入/输出接口411以及用于读取和写入可移除的计算机存储介质413的介质驱动器412。在一个实施例中,可移除的计算机存储介质413可以包含计算机指令,当由计算设备405执行时,该计算机指令使得计算设备405执行本发明描述的一个或多个示例方法。因此,可移除的计算机存储介质413可以包括用于实现和执行虚拟传感器引擎406、命令输出引擎407、图形显示引擎415和/或GUI引擎417的指令。在一些实施例中,示例虚拟传感器引擎406、命令输出引擎407、图形显示引擎415和/或GUI引擎417的至少一些部分可被存储为在可移除的存储介质413,可移除的设备,或者本地数据存储器410的给定实例中的指令,以被加载到存储器409,用于由处理器408执行。
虽然图示的示例虚拟传感器引擎406、命令输出引擎407、图形显示引擎415和GUI引擎417被描绘为驻留在存储器409中的程序,虚拟传感器引擎406、命令输出引擎407、图形显示引擎415和/或GUI引擎417可以被实现为硬件,诸如应用专用集成电路(ASIC),或作为硬件和软件的组合。
可以理解的是,参考图4示出和描述的虚拟传感器系统400仅是作为示例来提供。许多其他的体系结构、操作环境和配置是可能的。系统的其它实施例可以包括更少或更多数量的组件,可以合并关于图4所示的系统组件描述的功能中的一些或全部。因此,虽然虚拟传感器引擎406、命令输出引擎407、图形显示引擎415、GUI引擎417、本地存储器409、以及数据存储器410被示出为虚拟传感器系统400的一部分,对于组件406-407-409-410-415-417的位置和控制没有限制。特别是,在其他实施例中,组件406-407-409-410-415-417可以是不同的实体或计算系统的一部分。
示例方法
现在参考图2,示例方法200可以使用上述的包括场景捕获子系统101或401以及虚拟传感器子系统102或402的示例系统100或400来实施。下面将参考关于图1描述的虚拟传感器系统100的组件。应该指出的是,示例方法的以下描述可以同样使用关于图4描述的示例系统400的元件来实施。
场景捕获子系统101可以捕获包含表面的场景,表面可以是例如场景中的对象的表面和/或捕获室内场景的情况下墙壁的表面。
在步骤201中,定义一个或几个虚拟传感器,各自包括表示几何形状、所捕获的场景的位置和触发条件的数据。在场景的捕获数据表示包括场景的图像数据表示的实施例中,基于场景的捕获图像数据表示选择一个或几个虚拟传感器的参数,以便一旦虚拟传感器子系统102收到捕获图像数据表示就创建虚拟传感器。
应当注意,虚拟传感器的创建可以独立于,或者不需要,场景的图像数据表示的任何初步捕获,其中新定义的虚拟传感器将位于该场景中。定义虚拟传感器的参数将包括场景中的虚拟传感器的位置,然而并不要求基于场景的图像定义虚拟传感器。
优选地,虚拟传感器被配置成使得它们定义了位于与它们的触发条件兼容的场景中的区域(2D表面或3D体积)。在一个实施例中,虚拟传感器的触发是基于对场景的捕获数据表示的分析来确定的。例如,场景可以包括对象,可以由场景的3D图像数据表示来表示,在一些实施例中对象的表面由场景的捕获数据表示生成。因此,在一个实施例中,场景的3D图像数据表示可以包括表示所捕获的场景的对象的表面的点。如果虚拟传感器被定义并且被定位成位于3D图像数据表示中所表示的表面的下面或后面,虚拟传感器区域可能不是在从场景捕获子系统的传感器“可视”的感测体积的部分中。如果与这样的虚拟传感器相关联的触发条件与由传感器定义的区域中检测到的非空点的预定数量相关,这一触发条件没有得到满足,这样虚拟传感器的定位和由场景捕获子系统捕获的场景可被认为不兼容。然而,可以处理场景的捕获的第一数据表示,以移除表示场景的背景的数据,包括在场景中的数据表示对象,诸如虚拟传感器可以被定义为位于虚拟传感器的体积区域内的对象。
在一个实施例中,在步骤201中,虚拟传感器的定义和配置包括定义虚拟传感器的几何形状,配置场景中的虚拟传感器的位置和虚拟传感器的触发条件。定义虚拟传感器的几何形状在一些实施例中可以包括定义其相对于它将位于其中的场景的尺寸。定义虚拟传感器的位置在一些实施例中包括定义虚拟传感器在空间上的取向。一旦定义了虚拟传感器的几何形状和定位,虚拟传感器是对应于由位于在预定坐标系中从原点的各自距离处的点定义的区域的数据集。
一旦完成了定义和配置虚拟传感器的初始化阶段,在步骤202中,进行捕获场景的数据表示。在步骤202中,场景捕获子系统101捕获场景的数据表示,并生成表示所捕获的场景的数字数据。例如,在一个实施例中,场景捕获子系统101生成表示在所捕获的场景中由传感器103检测的表面的点云数据。由场景捕获子系统101提供的点云数据可以被看作是表示感测体积的一组非空点的数据以及对于这些每一个点表示相对于预定原点的3D坐标的数据。在例如场景由3D图像传感器103(例如3D照相机)捕获的情况下,预定原点可以是例如3D照相机。在一个实施例中,除了3D坐标数据之外,对于点云数据的每个点的数据可包括其他数据,诸如色彩数据、强度数据、噪声数据等。
场景捕获子系统101将场景的捕获数据表示发送到虚拟传感器子系统102。一旦接收到场景的捕获数据表示,在步骤203中,虚拟传感器子系统102分析场景的捕获数据表示的数据,以在步骤204中确定是否满足先前定义的虚拟传感器的触发条件。
在一些实施例中,在步骤203中对场景的捕获数据表示的数据的分析基于对虚拟传感器的触发条件的定义。
例如,在一个实施例中,触发条件可以指定对应于多个点的阈值,超过这些点虚拟传感器的触发条件将被认为得到满足。例如,如果用户的对象进入由虚拟传感器的几何形状和位置定义的体积区域,从而导致了一些非空点超出指定的阈值,触发条件可以认为得到满足。用户的对象可以是任何类型的对象,包括身体的一部分(例如手、肢体),或类似于棒、盒子、手提箱、动物等的任何材料对象。虚拟传感器和触发条件可以基于预计对象进入虚拟传感器的体积区域的方式来选择。例如,如果我们期望手指进入虚拟传感器的体积区域来满足触发条件,虚拟传感器的尺寸可以与如果我们希望手或全身进入虚拟传感器的体积区域来满足触发条件的情况不同。在这种情况下,在步骤203中,所捕获的数据表示的数据的分析可以包括在这样的数据中确定其在感测体积中的位置落在由虚拟传感器的几何形状和位置定义的区域内非空点的数量。此确定可能涉及测试由所捕获的数据表示的数据所表示的每个点,并检查被测点没有位于由虚拟传感器的几何形状和位置定义的区域内。一旦确定了位于虚拟传感器区域内的点的数量,将其与触发阈值进行比较。如果所确定的数量大于或等于触发阈值,虚拟传感器的触发条件被认为得到满足。否则,虚拟传感器的触发条件被认为没有得到满足。
也作为示例,在另一实施例中,虚拟传感器可以被定义有几个不同的触发条件。在这种情况下,在步骤203中,所捕获的数据表示的数据的分析可以包括对于每个触发条件对数据进行顺序或并行分析,并确定触发条件中的至少一个得到满足可以导致停止关于还没有确定达到了的其他触发条件进行的其他数据分析。
也作为示例,在另一实施例中,触发条件可以指定一定量的强度,超出该强度虚拟传感器的触发条件将被认为得到满足。在这种情况下,在步骤203中,所捕获的数据表示的数据的分析将包括在这样的数据中确定其在感测体积中的位置落入由虚拟传感器的几何形状和位置定义的区域内的点的强度的量。一旦确定了位于虚拟传感器内的点的强度的量,将其与触发强度阈值进行比较。如果所确定的强度的量大于或等于触发阈值,虚拟传感器的触发条件被认为得到满足。否则,虚拟传感器的触发条件被认为没有得到满足。这里的强度是指关于场景捕获子系统的传感器定义的给定物理特性的强度。例如,在基于声音的场景捕获子系统的情况下,当位于虚拟传感器的体积区域中的点的声音的强度超过给定阈值时,触发条件可以得到满足。可以使用其它物理特性,例如位于虚拟传感器的体积区域中的点的温度、反射率等。
在用于定义虚拟传感器的方法的一个实施例中,虚拟传感器将被定位的场景的初始化图像从场景的数据表示生成,使用初始化图像的显示进行对传感器的参数的定义(特别是场景中的尺寸和位置)。图3示出了基于场景的图像定义虚拟传感器的方法,虚拟传感器将被虚拟定位在该场景中。参考图3,步骤301定义虚拟传感器、步骤302捕获场景的数据表示、步骤303分析场景的捕获数据表示的数据、以及步骤304确定虚拟传感器的触发条件是否得到满足,与上面关于图2描述的方法的对应元素相同。在图3中示出了步骤305中场景的图像的生成,其中虚拟传感器将被定位(虚拟地)。在一个实施例中,步骤305中场景的图像的生成可以与作为一旦定义了虚拟传感器就确定虚拟传感器的触发条件是否得到满足的过程的一部分的生成场景的3D图像数据表示相似,如果不是相同的话。也就是说,场景捕获子系统101可以捕获场景的数据表示,在步骤305中从该数据生成场景的图像。
例如,在一个实施例中,场景捕获子系统101可以生成表示所捕获的场景中的对象的表面的点云数据。然后场景捕获子系统101可以将这样的点云数据发送到虚拟传感器子系统102。一旦接收到点云数据,虚拟传感器子系统102可以在屏幕上显示点云的图像,在步骤301中该图像可以被用于定义和配置所捕获的场景中的虚拟传感器的目的。
图5示出了场景的拍摄图像,图6示出了对应于图5中的拍摄场景的计算机生成图像600的显示的示例实施例,计算机生成图像600在一个实施例中可以由场景捕获子系统101提供给虚拟传感器子系统102。如图6所示,捕获图像500可以从由传感器103捕获的场景的数据表示生成,并由关于图1描述的场景捕获子系统101的数据表示处理模块104处理。图5示出了场景500的拍摄图像,包含了被放置在后壁510前面的桌子505的表面上的多个对象,诸如笔记本电脑501、计算机屏幕502、猴玩具503、三个报事贴506a、506b和506c、扬声器507和记号笔504。
图6示出了捕获场景的计算机生成图像600,可以识别出对应于上述对象的表面(包括桌子的表面和后壁的表面)。图6示出了从场景的捕获数据表示生成的图像的示例显示,在一个实施例中它例如可以是点云数据或深度图像的形式,表示所捕获的场景并对应于用于捕获场景的图像传感器的感测体积。图6的图像上示出的点对应于点云中的非空点,其位于基于由图像传感器生成或基于由传感器生成的数据计算的位置数据的图像中。此外,图6示出了位于所显示的图像中的七个虚拟传感器602、603、604、606a、606b、606c和607。虚拟传感器606a、606b和606c相对于在图5的场景的拍摄图像上显示的报事贴506a、506b和506c的位置定位。虚拟传感器602相对于在图5的场景的拍摄图像上显示的计算机屏幕502的位置定位。虚拟传感器604相对于在图5的场景的拍摄图像上显示的记号笔504的位置定位。它可以例如被用于启动在计算机屏幕502上显示的播放列表。虚拟传感器603相对于在图5的场景的拍摄图像上显示的猴玩具503的位置定位。它可以例如被用于移动到在计算机屏幕502上显示的播放列表中的下一个文件。虚拟传感器607相对于在图5的场景的拍摄图像上显示的扬声器的位置定位。它可以例如被用来控制音量。在说明书中将进一步详细描述关于触发条件的实施例。
图6示出了可以定义和定位虚拟传感器的灵活性。虚拟传感器实际上可以位于给定的感测体积中的任何地方,独立于捕获场景中的对象的结构和表面。例如,在图5中示出的报事贴506a、506b和506c可以被看作是感测体积中的标记,其可以被用来定义感测体积中对应尺寸、形状和位置的薄3D虚拟传感器。图5中示出的其他对象,如猴玩具503和记号笔504,可以被用作标记,以定义将被位于感测体积中的对应虚拟传感器,使例如一旦它们触摸对应的对象时被激活。图5中示出的其他对象,诸如扬声器507,甚至可以被包括在对应的虚拟传感器607的体积区域中。在这种情况下,处理场景的捕获第一数据表示以移除表示场景的背景的数据将使得从所计算的图像600移除对应的对象507,因此能够充分使用虚拟传感器607。因此所提出的虚拟传感器技术允许关于场景中的真实对象定义虚拟传感器,可能在场景的初步3D图像的帮助下,在其上可以看到新创建的虚拟传感器的定位。
虚拟传感器的定义
在一个实施例中,虚拟传感器是包括表示虚拟传感器的几何形状的数据、表示虚拟传感器的位置的数据、以及表示虚拟传感器的一个或几个触发条件的数据的数据集。
虚拟传感器数据集还可以包括表示响应于确定虚拟传感器的一个或几个触发条件得到满足而执行的一个或几个命令动作的数据。
例如,命令动作可以包括激活/去激活真实世界对象(例如灯、加热器、冷却系统等)或虚拟对象(例如启动/停止计算机应用程序)的开关,将音频数据的音量控制到给定值,控制光源的光的强度,或更一般地控制真实世界对象或虚拟对象的操作,例如锁定到房间、住宅、公寓、办公室或一般建筑的门、窗和任何通道,激活或更新数字标牌、招牌、广告牌的内容,用摄像头、摄像机、数码相机或任何其它设备拍照,存储所拍摄的照片并将其发送到指定的网站、邮件、电话号码等。命令动作可以进一步包括创建警报、激活警报、以邮件、短信或其他任何通信方式发送警报消息、例如出于数据挖掘目的而监测是否触发动作被完成。
命令动作可以进一步包括检测用户的存在、定义和/或配置新的虚拟传感器、或修改现有的虚拟传感器。例如,可以使用第一虚拟传感器来检测一个或多个用户的存在,响应于确定了第一虚拟传感器的一个或几个触发条件得到满足而执行的命令动作可包括进一步定义和/或配置与每个用户相关联的虚拟传感器。
例如,虚拟传感器的几何形状在一些实施例中可以定义二维表面,在其他实施例可以定义三维体积。虚拟传感器的几何形状定义包括其尺寸,优选地选择尺寸使得虚拟传感器定义适于在由实际传感器或传感器集捕获的感测表面或感测体积内的表面或体积。
在一个实施例中,和虚拟传感器的几何形状相关的该组虚拟传感器数据表示一组点和它们在由场景捕获子系统捕获的整个表面或体积中的相对于预定原点的各自位置。
在一个实施例中,定义虚拟传感器的几何形状包括选择预先定义的几何形状和与其相关联的尺寸数据。预先定义的几何形状的示例包括,但不限于,正方形形状、矩形形状或者任何多边形形状、盘形、立方体形状、长方体形状或任何多面体形状以及球形。这种预先定义的几何形状和尺寸是其值被输入到虚拟传感器引擎的参数。
在一个实施例中,使用3D对象来定义和定位虚拟传感器可以简化这种定义和定位,或者已定义的传感器的重新定位,特别是当使用能够捕获包括3D对象的场景的3D图像的3D照相机时。
几何形状参数值可以由用户通过诸如由包括在图4的虚拟传感器子系统402中的GUI引擎417提供的图形用户界面来确定。此外或作为替代,它们可以在由虚拟传感器引擎在用作输入数据的配置文件中预先定义。
在一个实施例中,虚拟传感器的位置的定义包括在所捕获的场景的图像中选择虚拟传感器的表示的位置。
位置参数值也可以由用户通过诸如由包括在图4的虚拟传感器子系统402中的GUI引擎417提供的图形用户界面来确定。此外或作为替代,它们可以在由虚拟传感器引擎在用作输入数据的配置文件中预先定义。
一旦确定了虚拟传感器几何形状参数和位置参数的值,与新定义的虚拟传感器的几何形状和位置相关的数据集可由虚拟传感器引擎基于这样的几何形状和位置参数值生成。在一个实施例中,虚拟传感器引擎确定一组点,包括它们在由场景捕获子系统捕获的整个表面或体积中相对于预定原点的各自位置,各自位置对应于虚拟传感器的所选择的几何形状和位置。与虚拟传感器相关的该组点是被包括在由场景捕获子系统捕获的整个表面或体积中的一组点的子集。
在一个实施例中,和虚拟传感器的触发条件相关的一组虚拟传感器数据可对于同一虚拟传感器定义多个触发条件。
在一个实施例中,和虚拟传感器的触发条件相关的一组虚拟传感器数据可以与从视情况而定落入虚拟传感器的表面区域或体积区域内的场景的捕获数据表示所检测的点的任何特性或特征相关联,或者与这样的特性或特征的组合相关联。
例如,在一个实施例中,与虚拟传感器的触发条件相关的一组虚拟传感器数据可以从视情况而定落入虚拟传感器的表面区域或体积区域内的场景的捕获数据表示所检测的点的数量相关。
例如,在一个实施例中,与虚拟传感器的触发条件相关的一组虚拟传感器数据可以与从视情况而定落入虚拟传感器的表面区域或体积区域内的场景的捕获数据表示所检测的点的强度相关。
例如,在一个实施例中,与虚拟传感器的触发条件相关的一组虚拟传感器数据可以与从视情况而定落入虚拟传感器的表面区域或体积区域内的场景的捕获数据表示所检测的点的颜色相关。
例如,在一个实施例中,与虚拟传感器的触发条件相关的一组虚拟传感器数据可以与从视情况而定落入虚拟传感器的表面区域或体积区域内的场景的捕获数据表示所检测的点所占据的表面区域或体积区域相关。
例如,在一个实施例中,与虚拟传感器的触发条件相关的一组虚拟传感器数据可以与从视情况而定落入虚拟传感器的表面区域或体积区域内的场景的捕获数据表示所检测的点的位置相关。
控制音量的示例方法
现在参考图7A和图7B,下面描述了用于控制音频数据的音量的虚拟传感器的示例实施例。虚拟传感器被定义,例如在平坦的表面区域700上,具有虚拟地位于在图7所示的平坦表面的顶部上的柱体701的几何形状。为便于使用虚拟传感器,可以标记平坦表面700的区域702,并选择虚拟传感器的几何形状和位置,使得它与平坦表面的表示的交叉包括标记区域702。标记区域702可通过由位于表面700上的具有对应于所需标记区域702的尺寸的三维对象来覆盖而已经进行了标记。使用3D对象来定义和定位虚拟传感器是方便的,并简化了这样定义和定位,或者已定义的传感器的重新定位,特别是当使用能够捕获包括表面700的场景的3D图像的3D照相机和3D对象时。对于此实施例中的虚拟传感器可以定义多个单独或组合的触发条件。
例如,从场景的捕获的数据表示所检测的作为落入虚拟传感器的体积区域内的点的预定数量可以被定义为激活开关的触发阈值。因此,如果从场景的捕获的数据表示所检测的作为落入虚拟传感器的体积区域内的点的数量大于触发阈值,可以确定虚拟传感器的激活。在图7A和图7B的示例方法中,用户的手进入虚拟传感器的体积区域701被用来触发虚拟传感器。
此外,为了比较作为落入虚拟传感器的体积区域内的检测的这组点与虚拟传感器的几何形状,可以执行对场景的捕获的数据表示的第二分析。这种比较的结果然后可以与多个结果值匹配,多个结果值反过来分别对应于多个音量命令。在图7A和图7B的示例方法中,不同的音量命令对应于用户的手在虚拟传感器的体积区域中的不同位置。为了确定用户的手在虚拟传感器内的位置,虚拟传感器的体积区域的所有点可以降低到基准点,基准点例如被定义为非空点的质心、平均点、所有非空点中的给定位置的点(最高点、最接近点、另一点、中央点等)。可以定义基准点相对于虚拟传感器的尺寸的相对位置。例如在图7A和图7B的示例中,可以定义相对于柱体701的高度的相对位置。这样的相对位置可以被定义为柱体701的高度的给定百分比。作为用户的手在虚拟传感器的体积区域中的位置的函数计算的百分比可以触发音量强度。图7A中所示的用户的手的位置例如可对应于最大可用音量强度,而图7B中所示的用户的手的位置可对应于最小可用音量强度。当用户的手落在二者之间,音量强度根据相对于这两个位置计算出的基准点的相对位置来调整。
虽然已经关于优选的实施例描述了发明,本领域技术人员将容易理解,可以在不脱离由所附权利要求限定的发明的精神或范围的情况下对发明进行各种变化和/或修改。特别是,发明不限于有关虚拟传感器系统的特定实施例,可以不脱离由所附权利要求限定的发明的精神或范围的情况下使用各种架构或其组件来实现。
尽管已经在某些优选的实施例的上下文中公开了本发明,但是应该理解,系统、设备和方法的某些优点、特征和各方面可以在多种其他实施例中实现。此外,可以设想,本文所描述的各个方面和特征可以单独实施,组合在一起,或相互替代,并且特征和方面的各种组合和子组合都可以进行,并且仍然落入发明的范围内。此外,以上描述的系统和设备不必包括在较佳实施例中描述的所有模块和功能。
在本发明中描述的信息和信号可以使用任何多种不同的技术和方法来表示。例如,数据、指令、命令、信息、信号、比特、符号和芯片可以用电压、电流、电磁波、磁场或磁粒子、光场或粒子或它们的任何组合来表示。
取决于实施例,在本文中描述的方法中的任意一个的某些行为、事件或功能可以以不同的顺序来执行,可以被增加、合并或一起略去(例如,不是所有描述的动作或事件对于方法的实践都是必须的)。此外,在某些实施例中,动作或事件可以同时执行而不是顺序执行。
Claims (14)
1.一种用于检测场景中虚拟传感器的激活的方法,其中所述虚拟传感器包括表示三维几何形状的数据、表示在所述场景中的位置的数据以及表示一个或多个触发条件的数据,所述方法包括:
生成或接收表示所述场景的点云数据,所述点云数据包括表示对应于捕获的所述场景的第一数据表示的第一体积区域的非空点以及在所述第一体积区域中的各自相关位置的数据;且
基于对在对应于所述虚拟传感器的所述几何形状和所述位置的第二体积区域中所捕获的所述场景的第一数据表示的分析,确定所述虚拟传感器触发条件中的一个或多个是否得到满足,
其中,确定所述虚拟传感器触发条件是否得到满足包括分析表示对应于所述虚拟传感器的所述几何形状和所述位置的所述第二体积区域中的点的点云数据以及确定位置落入所述第二体积区域的非空点的数量是否超过了触发条件指定的阈值。
2.根据权利要求1所述的方法,其中,所述场景的所述第一数据表示包括所述场景的图像数据表示。
3.根据权利要求1或2所述的方法,进一步包括:
捕获所述场景的第二数据表示;
基于从所捕获的第二数据表示生成的图像配置所述虚拟传感器的所述几何形状和所述位置。
4.根据权利要求1所述的方法,其中,分析表示对应于所述虚拟传感器的所述几何形状和所述位置的所述第二体积区域中的点的点云数据,包括:
检测位于对应于所述虚拟传感器的所述几何形状和所述位置的所述第二体积区域中的点云的所述点;
对于一些检测到的点确定表示强度量的强度值;和
将所确定的强度值与预定阈值进行比较。
5.根据权利要求1、2、4中任意一项所述的方法,进一步包括处理所捕获的所述场景的所述第一数据表示,用于移除表示所述场景的背景的数据。
6.根据权利要求1、2、4中任意一项所述的方法,进一步包括使用所述场景的所述第一数据表示来定义和配置所述场景中的一个或多个虚拟传感器。
7.根据权利要求6所述的方法,其中,定义所述虚拟传感器的所述几何形状包括选择与所述虚拟传感器相关的预先定义的几何形状和尺寸数据。
8.根据权利要求6所述的方法,其中,所述场景中的一个或多个虚拟传感器的定义是关于所述场景中的一个或多个真实对象进行的。
9.根据权利要求1、2、4中任意一项所述的方法,其中,所述虚拟传感器包括表示响应于确定所述虚拟传感器的所述触发动作中的一个或多个被完成而将要被执行的一个或多个命令动作的数据。
10.一种用于检测场景中的虚拟传感器的激活的系统,所述系统包括:
虚拟传感器子系统,所述虚拟传感器子系统与被配置用以捕获所述场景并生成所述场景的第一数据表示的场景捕获子系统操作通信,所述虚拟传感器子系统包括:用于接收表示所述场景的所述第一数据表示的数据的接口、处理器、和可操作地连接到所述处理器的存储器,其中,所述虚拟传感器子系统被配置为执行用于检测所述场景中的所述虚拟传感器的激活的方法,其中,所述虚拟传感器包括表示几何形状的数据、表示在所述场景中的位置的数据、和表示一个或多个触发条件的数据,所述方法包括:
生成或接收表示所述场景的点云数据,所述点云数据包括表示对应于所捕获的所述场景的第一数据表示的第一体积区域的非空点以及在所述第一体积区域中的各自相关位置的数据;
基于对在对应于所述虚拟传感器的所述几何形状和所述位置的第二体积区域中所捕获的所述场景的第一数据表示的分析,确定所述虚拟传感器的所述触发条件中的一个或多个是否得到满足,其中,确定所述虚拟传感器触发条件是否得到满足包括分析表示对应于所述虚拟传感器的所述几何形状和所述位置的所述第二体积区域中的点的点云数据以及确定位置落入所述第二体积区域的非空点的数量是否超过了触发条件指定的阈值。
11.根据权利要求10所述的系统,其中,所述虚拟传感器子系统包括使用所述场景的所述第一数据表示定义和配置所述场景中的一个或多个虚拟传感器的功能。
12.一种计算机可读存储介质,所述计算机可读存储介质存储用于检测场景中的虚拟传感器的激活的计算机可执行指令,其中所述虚拟传感器包括:表示三维几何形状的数据、表示所述场景中的位置的数据和表示一个或多个触发条件的数据,所述计算机可执行指令包括:
用于实现以下步骤的指令:
生成或接收表示所述场景的点云数据,所述点云数据包括表示对应于捕获的所述场景的第一数据表示的第一体积区域的非空点以及在所述第一体积区域中的各自相关位置的数据;和
基于对所接收的数据的分析确定所述虚拟传感器触发条件中的一个或多个是否得到满足,
其中,确定所述虚拟传感器触发条件是否得到满足包括分析表示对应于所述虚拟传感器的所述几何形状和所述位置的第二体积区域中的点的点云数据以及确定位置落入所述第二体积区域的非空点的数量是否超过了触发条件指定的阈值。
13.一种计算机程序产品,所述计算机程序产品包括有形地体现在计算机可读介质中的计算机程序代码,所述计算机程序代码包括指令,当被提供给计算机系统并被执行时,所述指令使所述计算机执行用于检测场景中的虚拟传感器的激活的方法,其中,所述虚拟传感器包括表示三维几何形状的数据、表示在所述场景中的位置的数据、和表示一个或多个触发条件的数据,所述方法包括:
生成或接收表示所述场景的点云数据,所述点云数据包括表示对应于捕获的所述场景的第一数据表示的第一体积区域的点以及在所述第一体积区域中的各自相关位置的数据;和
基于对表示在对应于所述虚拟传感器的所述几何形状和所述位置的第二体积区域中捕获的所述场景的第一数据表示的数据的分析来确定所述虚拟传感器的触发条件中的一个或多个是否得到满足,
其中,确定所述虚拟传感器触发条件是否得到满足包括分析表示对应于所述虚拟传感器的所述几何形状和所述位置的所述第二体积区域中的点的点云数据以及确定位置落入所述第二体积区域的非空点的数量是否超过了触发条件指定的阈值。
14.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储计算机程序,当被执行时,所述计算机程序使包括和存储器可操作地连接的处理器的系统以执行用于检测场景中的虚拟传感器的激活的方法,其中,所述虚拟传感器包括表示三维几何形状的数据、表示在所述场景中的位置的数据、和表示一个或多个触发条件的数据,所述方法包括:
生成或接收表示所述场景的点云数据,所述点云数据包括表示对应于捕获的第一数据表示的第一体积区域的点以及在所述第一体积区域中的各自相关位置的数据;和
基于对表示在对应于所述虚拟传感器的所述几何形状和所述位置的第二体积区域中捕获的所述场景的第一数据表示的数据的分析来确定所述虚拟传感器的触发条件中的一个或多个是否得到满足,
其中,确定所述虚拟传感器触发条件是否得到满足包括分析表示对应于所述虚拟传感器的所述几何形状和所述位置的所述第二体积区域中的点的点云数据以及确定位置落入所述第二体积区域的非空点的数量是否超过了触发条件指定的阈值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/736,628 | 2013-01-08 | ||
US13/736,628 US9182812B2 (en) | 2013-01-08 | 2013-01-08 | Virtual sensor systems and methods |
PCT/IB2013/003150 WO2014108729A2 (en) | 2013-01-08 | 2013-12-30 | Virtual sensor systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105074615A CN105074615A (zh) | 2015-11-18 |
CN105074615B true CN105074615B (zh) | 2018-06-22 |
Family
ID=50486919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380072710.9A Active CN105074615B (zh) | 2013-01-08 | 2013-12-30 | 虚拟传感器系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9182812B2 (zh) |
EP (1) | EP2943851B1 (zh) |
CN (1) | CN105074615B (zh) |
WO (1) | WO2014108729A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11825019B1 (en) * | 2016-06-23 | 2023-11-21 | 8X8, Inc. | Customization of alerts using telecommunications services |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501152B2 (en) | 2013-01-15 | 2016-11-22 | Leap Motion, Inc. | Free-space user interface and control using virtual constructs |
US11493998B2 (en) | 2012-01-17 | 2022-11-08 | Ultrahaptics IP Two Limited | Systems and methods for machine control |
US9459697B2 (en) | 2013-01-15 | 2016-10-04 | Leap Motion, Inc. | Dynamic, free-space user interactions for machine control |
US9916009B2 (en) | 2013-04-26 | 2018-03-13 | Leap Motion, Inc. | Non-tactile interface systems and methods |
US10281987B1 (en) | 2013-08-09 | 2019-05-07 | Leap Motion, Inc. | Systems and methods of free-space gestural interaction |
CN106973569A (zh) * | 2014-05-13 | 2017-07-21 | Pcp虚拟现实股份有限公司 | 生成和回放虚拟现实多媒体的方法、系统和装置 |
ITMI20140368U1 (it) | 2014-11-24 | 2016-05-24 | Bortoluzzi Sistemi Spa | Dispositivo di smorzamento o richiamo per ante scorrevoli o per cassetti |
WO2016131013A1 (en) * | 2015-02-13 | 2016-08-18 | Swan Solutions Inc. | System and method for controlling a terminal device |
US10061390B2 (en) | 2015-07-17 | 2018-08-28 | Honeywell International Inc. | Building space control |
KR102561572B1 (ko) * | 2016-01-20 | 2023-07-31 | 삼성전자주식회사 | 센서 활용 방법 및 이를 구현한 전자 장치 |
US10249084B2 (en) * | 2016-06-10 | 2019-04-02 | Microsoft Technology Licensing, Llc | Tap event location with a selection apparatus |
EP3657455B1 (en) * | 2016-06-22 | 2024-04-24 | Outsight | Methods and systems for detecting intrusions in a monitored volume |
US10565786B1 (en) * | 2016-06-30 | 2020-02-18 | Google Llc | Sensor placement interface |
CN106161695A (zh) * | 2016-09-29 | 2016-11-23 | 努比亚技术有限公司 | 一种传感器阵列及终端 |
US20180158244A1 (en) * | 2016-12-02 | 2018-06-07 | Ayotle | Virtual sensor configuration |
US10984587B2 (en) * | 2018-07-13 | 2021-04-20 | Nvidia Corporation | Virtual photogrammetry |
FR3093216B1 (fr) | 2019-02-22 | 2021-08-27 | Fogale Nanotech | Procédé de recalage d’images de profondeur. |
EP3706076B1 (en) * | 2019-03-07 | 2021-02-24 | Siemens Healthcare GmbH | Method and device to determine the dimensions and distance of a number of objects in an environment |
FR3131653B1 (fr) * | 2022-01-02 | 2024-04-19 | Vincent Auvray | Système de détection de matière volumétrique numérique |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693006A (zh) * | 2011-02-25 | 2012-09-26 | 微软公司 | 用户界面呈现和交互 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7348963B2 (en) | 2002-05-28 | 2008-03-25 | Reactrix Systems, Inc. | Interactive video display system |
US8531396B2 (en) * | 2006-02-08 | 2013-09-10 | Oblong Industries, Inc. | Control system for navigating a principal dimension of a data space |
WO2008091869A2 (en) * | 2007-01-22 | 2008-07-31 | Bell Helicopter Textron, Inc. | System and method for the interactive display of data in a motion capture environment |
JP5430572B2 (ja) | 2007-09-14 | 2014-03-05 | インテレクチュアル ベンチャーズ ホールディング 67 エルエルシー | ジェスチャベースのユーザインタラクションの処理 |
JP5259286B2 (ja) * | 2008-07-16 | 2013-08-07 | 株式会社日立製作所 | 3次元物体認識システム及びそれを用いた棚卸システム |
US8516397B2 (en) | 2008-10-27 | 2013-08-20 | Verizon Patent And Licensing Inc. | Proximity interface apparatuses, systems, and methods |
EP2521097B1 (en) | 2011-04-15 | 2020-01-22 | Sony Interactive Entertainment Europe Limited | System and Method of Input Processing for Augmented Reality |
DE102011102038A1 (de) | 2011-05-19 | 2012-11-22 | Rwe Effizienz Gmbh | Heimautomatisierungssteuerungssystem sowie Verfahren zum Steuern einer Einrichtung eines Heimautomatisierungssteuerungssystems |
US9195914B2 (en) * | 2012-09-05 | 2015-11-24 | Google Inc. | Construction zone sign detection |
-
2013
- 2013-01-08 US US13/736,628 patent/US9182812B2/en active Active
- 2013-12-30 EP EP13846260.1A patent/EP2943851B1/en active Active
- 2013-12-30 CN CN201380072710.9A patent/CN105074615B/zh active Active
- 2013-12-30 WO PCT/IB2013/003150 patent/WO2014108729A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693006A (zh) * | 2011-02-25 | 2012-09-26 | 微软公司 | 用户界面呈现和交互 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11825019B1 (en) * | 2016-06-23 | 2023-11-21 | 8X8, Inc. | Customization of alerts using telecommunications services |
Also Published As
Publication number | Publication date |
---|---|
EP2943851B1 (en) | 2017-02-01 |
EP2943851A2 (en) | 2015-11-18 |
WO2014108729A2 (en) | 2014-07-17 |
CN105074615A (zh) | 2015-11-18 |
WO2014108729A3 (en) | 2014-09-18 |
US9182812B2 (en) | 2015-11-10 |
US20140191938A1 (en) | 2014-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105074615B (zh) | 虚拟传感器系统和方法 | |
US11181985B2 (en) | Dynamic user interactions for display control | |
US11269481B2 (en) | Dynamic user interactions for display control and measuring degree of completeness of user gestures | |
CN110178101A (zh) | 虚拟传感器配置 | |
CN108304075B (zh) | 一种在增强现实设备进行人机交互的方法与设备 | |
EP3800532B1 (en) | Automated monitoring of a scene | |
US9874977B1 (en) | Gesture based virtual devices | |
JP5807686B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
US20130342568A1 (en) | Low light scene augmentation | |
US9336602B1 (en) | Estimating features of occluded objects | |
US9703371B1 (en) | Obtaining input from a virtual user interface | |
JP2011146796A5 (zh) | ||
US9880728B2 (en) | Methods and systems for controlling a virtual interactive surface and interactive display systems | |
KR101927150B1 (ko) | 3차원 디스플레이 장치 및 그의 사용자 인터페이스 방법 | |
US10444852B2 (en) | Method and apparatus for monitoring in a monitoring space | |
CN107111363B (zh) | 用于监视的方法、装置和系统 | |
CN110928472B (zh) | 物品处理方法、装置及电子设备 | |
US9704027B1 (en) | Gesture recognition | |
CN114296551A (zh) | 目标对象的呈现方法、装置、电子设备及存储介质 | |
CN114816145A (zh) | 设备管控方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190202 Address after: Nimes, France Patentee after: FOGALE NANOTECH Address before: France Patentee before: AYOTLE SAS |