CN112513711B - 用于使用位置向量解析半球模糊度的方法和系统 - Google Patents
用于使用位置向量解析半球模糊度的方法和系统 Download PDFInfo
- Publication number
- CN112513711B CN112513711B CN201980049018.1A CN201980049018A CN112513711B CN 112513711 B CN112513711 B CN 112513711B CN 201980049018 A CN201980049018 A CN 201980049018A CN 112513711 B CN112513711 B CN 112513711B
- Authority
- CN
- China
- Prior art keywords
- headset
- hemisphere
- orientation
- relative
- dot product
- 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
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/43—Determining position using carrier phase measurements, e.g. kinematic positioning; using long or short baseline interferometry
- G01S19/44—Carrier phase ambiguity resolution; Floating ambiguity; LAMBDA [Least-squares AMBiguity Decorrelation Adjustment] method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/18—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V3/00—Electric or magnetic prospecting or detecting; Measuring magnetic field characteristics of the earth, e.g. declination, deviation
- G01V3/15—Electric or magnetic prospecting or detecting; Measuring magnetic field characteristics of the earth, e.g. declination, deviation specially adapted for use during transport, e.g. by a person, vehicle or boat
- G01V3/165—Electric or magnetic prospecting or detecting; Measuring magnetic field characteristics of the earth, e.g. declination, deviation specially adapted for use during transport, e.g. by a person, vehicle or boat operating with magnetic or electric fields produced or modified by the object or by the detecting device
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- 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/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Geophysics (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Geology (AREA)
- Electromagnetism (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Ophthalmology & Optometry (AREA)
- Optics & Photonics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
实施例在包括传感器的系统处解析半球模糊度。该系统的手持式控制器发射磁场。定位在该系统的耳机内的传感器检测磁场。基于磁场在第一半球内确定手持式控制器相对于耳机的第一位置和取向。基于磁场在第二半球内确定手持式控制器相对于耳机的第二位置和取向,第二半球与第一半球在直径上相对。确定相对于耳机的法向量以及标识在第一半球中手持式控制器相对于耳机的位置的位置向量。计算法向量和位置向量的点积,并且当点积的结果是正时,确定手持式控制器的第一位置和取向是准确的。
Description
相关申请的交叉引用
本申请要求于2018年7月23日提交的题为“SYSTEMS AND METHODS FOR AUGMENTEDREALITY(用于增强现实的系统和方法)”的美国临时专利申请No.62/702,339的优先权,其全部公开内容通过整体引用而被合并以用于所有目的,如同在本文完整阐述一样。
本申请与2017年12月29日提交的题为“SYSTEMS AND METHODS FOR AUGMENTEDREALITY(用于增强现实的系统和方法)”的美国专利申请No.15/859,277有关,其整体通过引用而被合并。
技术领域
本公开涉及在增强现实系统的环境中定位一个或多个对象的位置和取向的系统和方法。
背景技术
现代计算和显示技术已经促进了用于所谓“虚拟现实”或者“增强现实”体验的系统的发展,其中,数字再现图像或其部分以看起来是真实或者可被感知为真实的方式被呈现给用户。虚拟现实或“VR”场景典型地涉及数字或者虚拟图像信息的呈现,而对其它实际的真实世界视觉输入无需透明;增强现实或者“AR”场景典型地涉及数字或者虚拟图像信息的呈现,作为对用户周围的实际世界的可视化的增强。
尽管在AR和VR系统中取得了进步,但在AR和VR设备的环境中仍需要更好的定位系统。
发明内容
本发明涉及最佳解释来自多个传感器的数据输入的系统和方法;换句话说,本文所描述的实施例用比用于校正来自单个传感器输入的数据输入更少的计算资源来将多个输入细化为共相干输出。
在一个实施例中,用于在包括一个或多个传感器的系统处解析半球模糊度的计算机实现的方法包括:在系统的手持式控制器处发射一个或多个磁场。该方法还包括:由定位在系统的耳机内的一个或多个传感器检测一个或多个磁场。该方法还包括:基于一个或多个磁场,确定在第一半球内手持式控制器相对于耳机的第一位置和第一取向,以及基于一个或多个磁场,确定在第二半球内手持式控制器相对于耳机的第二位置和第二取向。相对于耳机,第二半球与第一半球在直径上相对。该方法还包括:确定相对于耳机的法向量以及标识在第一半球中手持式控制器相对于耳机的位置的位置向量。另外,该方法包括:计算法向量和位置向量的点积,并且当点积的结果是正时,确定手持式控制器的第一位置和第一取向是准确的。该方法还包括:当点积的结果是负时,确定手持式控制器的第二位置和第二取向是准确的。
在一个或多个实施例中,以耳机的坐标系定义位置向量。法向量起源于耳机并以与耳机的水平线的预定角度延伸。在一些实施例中,预定角度是从耳机的水平线向下45°角。根据一些实施例,当点积的结果是正时,第一半球被识别为相对于耳机的前半球,第二半球被识别为相对于耳机的后半球。在一些实施例中,当点积的结果是负时,第二半球被识别为相对于耳机的前半球,第一半球被识别为相对于耳机的后半球。在一个或多个实施例中,系统是光学设备。根据一些实施例,该方法在耳机的初始化过程期间被执行。
在一些实施例中,该方法还包括:基于以下来将虚拟内容传递到显示器:当点积的结果是正时,基于第一位置和第一取向;或者当点积的结果是负时,基于第二位置和第二取向。
在一些实施例中,来自第一传感器的数据输入由来自第二传感器的校正数据输入点更新。由于噪声数据被收集(诸如通过高频IMU),因此,它被周期性地更新或调整以防止过多的误差或漂移对系统性能或该数据的解释的负面影响。
在一些实施例中,第一传感器的输入被重置为源于如由较低频率和更准确的第二传感器(诸如雷达或视觉系统)所提供的校正输入点。这些更准确的传感器以较低频率工作以保持全容量操作它们另外所需的计算周期,由于它们的输入仅需要周期性地接地、或更新和校正更嘈杂的数据,因此,较低频率操作不影响系统性能。
在另一个实施例中,一种系统包括:手持式控制器,其包括磁场发射机,该磁场发射机被配置为发射一个或多个磁场;耳机,其包括一个或多个磁场传感器,该一个或多个磁场传感器被配置为检测一个或多个磁场;以及处理器,其耦合到耳机,并被配置为执行操作。操作包括:基于一个或多个磁场,确定在第一半球内手持式控制器相对于耳机的第一位置和第一取向,以及基于一个或多个磁场,确定在第二半球内手持式控制器相对于耳机的第二位置和第二取向。相对于耳机,第二半球与第一半球在直径上相对。操作还包括:确定相对于耳机的法向量以及标识在第一半球中手持式控制器相对于耳机的位置的位置向量。另外,操作包括:计算法向量和位置向量的点积,并且当点积的结果是正时,确定手持式控制器的第一位置和第一取向是准确的。操作还包括:当点积的结果是负时,确定手持式控制器的第二位置和第二取向是准确的。
在又一个实施例中,计算机程序产品被体现在非暂态计算机可读介质中,计算机可读介质在其上存储了指令序列,该指令序列在由处理器执行时使得处理器执行用于在包括一个或多个传感器的系统处解析半球模糊度的方法,该方法包括在系统的手持式控制器处发射一个或多个磁场。该方法还包括:由定位在系统的耳机内的一个或多个传感器检测一个或多个磁场。该方法还包括:基于一个或多个磁场,确定在第一半球内手持式控制器相对于耳机的第一位置和第一取向,以及基于一个或多个磁场,确定在第二半球内手持式控制器相对于耳机的第二位置和第二取向。相对于耳机,第二半球与第一半球在直径上相对。该方法还包括:确定相对于耳机的法向量以及标识在第一半球中手持式控制器相对于耳机的位置的位置向量。另外,该方法包括:计算法向量和位置向量的点积,并且当点积的结果是正时,确定手持式控制器的第一位置和第一取向是准确的。该方法还包括:当点积的结果是负时,确定手持式控制器的第二位置和第二取向是准确的。
在一些实施例中,一种计算机实现的方法包括:基于由定位在系统的耳机内的一个或多个传感器输出的数据,检测在系统的环境中由电子设备发射的一个或多个磁场。该方法还包括:基于一个或多个磁场,确定在第一半球内电子设备相对于耳机的第一位置和第一取向。该方法还包括:确定相对于耳机的法向量以及标识在第一半球中电子设备相对于耳机的位置的位置向量。该方法还包括:计算法向量和位置向量的点积,以及确定所计算的点积的值是正还是负。该方法还包括:至少部分地基于确定所计算的点积的值是正还是负,将虚拟内容传递到耳机的显示器。
在一个或多个实施例中,电子设备包括手持式控制器、可穿戴设备、或移动计算设备。在一些实施例中,响应于确定所计算的点积的值是正,将虚拟内容传递到耳机的显示器包括:至少部分地基于电子设备的第一位置和第一取向,将虚拟内容传递到耳机的显示器。
在一些实施例中,该方法包括:基于一个或多个磁场,确定在第二半球内电子设备相对于耳机的第二位置和第二取向。相对于耳机,第二半球与第一半球在直径上相对。响应于确定所计算的点积的值是负,将虚拟内容传递到耳机的显示器包括:至少部分地基于电子设备的第二位置和第二取向,将虚拟内容传递到耳机的显示器。
在一些实施例中,噪声数据由系数值调整以抢先调整传感器提供的进入数据点。当校正输入点被接收时,系统将进入噪声数据引向校正输入点而不是将噪声数据完全调整到校正输入点。由于引向校正输入的噪声数据流将不源于与当前测量会指示的基本不同的过去的校正输入点,因此,当这两个传感器输入存在大的变化时,这些实施例是特别有益的。换句话说,噪声数据流将不源于过时的校正输入点。
在一些实施例中,通过估计用户的未来位置和访问在该未来位置处预期的特征和点来进行姿势预测。例如,如果用户围绕方桌行走,则诸如桌子的角或在桌子上的物体的线的特征被系统基于系统估计用户在未来时间将在何处来“获取”。当用户在该位置时,图像被采集,并且所获取的特征被投影到该图像上以确定相关性并确定特定姿势。由于它避免了与接收图像并行的特征映射并通过在图像被接收之前完成所获取的特征的预处理(诸如扭曲)来减少计算周期,以使得当当前姿势的图像被采集时,可以更迅速地应用这些点并且细化所估计的姿势而不是生成所估计的姿势,这允许虚拟内容更迅速地以该新姿势渲染或者具有更少的抖动,因此,这是有益的。
以下参考以下附图酌情更详细地描述附加的实施例、优点和细节。
附图说明
图1示出根据一些实施例的具有某个虚拟现实对象的增强现实场景。
图2A-2D示出根据一些实施例的包括视觉显示系统的组件的各种配置。
图3示出根据一些实施例的与云计算资产的远程交互。
图4示出根据一些实施例的电磁跟踪系统。
图5描绘根据一些实施例的电磁跟踪的方法。
图6示出根据一些实施例的被耦合到视觉显示系统的电磁跟踪系统。
图7描绘根据一些实施例的确定被耦合到电磁发射器的视觉显示系统的度量的方法。
图8示出根据一些实施例的包括各种感测组件和附件的视觉显示系统。
图9A-9F示出根据各种实施例的各种控制模块。
图10示出根据一些实施例的具有最小化形状因子的头戴式视觉显示器。
图11A-11B示出电磁感测模块的各种配置。
图12A-12E示出根据一些实施例的用于电磁传感器核心的各种配置。
图13A-13C示出根据一些实施例的电磁感测的各种时分复用。
图14-15描绘根据一些实施例的在启动视觉显示系统后组合各种传感器数据的方法。
图16A-16B示出根据一些实施例的包括各种感测和成像组件和附件的视觉显示系统。
图17A-17G示出根据一些实施例的电磁跟踪系统中的各种传输线圈配置。
图18A-18C示出根据一些实施例的来自各种系统输入的信号干扰效果。
图19示出根据一些实施例的校准配置。
图20A-20C示出在多个子系统之间的各种求和放大器配置。
图21示出具有各种信号频率的多个输入的信号重叠。
图22A-22C示出根据一些实施例的各种电磁感测模块阵列。
图23A-23C示出根据一些实施例的具有给定已知输入的传感器的重新校准。
图24A-24D示出根据一些实施例的确定校准协议中的变量。
图25A-25E示出根据一些实施例的给定某些传感器输入和应用解决方案的潜在错误读数。
图25F示出根据一些实施例的描述使用手持式设备相对于耳机的位置向量确定手持式控制器的正确姿势的流程图。
图26示出根据一些实施例的两个图像之间的特征匹配。
图27A-27B描绘根据一些实施例的给定传感器输入来确定姿势的方法。
图28A-28G示出根据一些实施例的各种传感器融合校正。
图29示出根据一些实施例的单通道多层卷积计算架构。
图30A-30E示出根据一些实施例的用于电磁跟踪系统的各种线圈配置。
图31示出根据本文所描述的实施例的简化计算机系统。
具体实施方式
例如,参考图1,示出了增强现实场景(4),其中AR技术的用户看见背景中以人、树木、建筑物为特征的真实世界公园状设置(6)和混凝土平台(1120)。除了这些项目之外,AR技术的用户还感知到他“看见”站在真实世界平台(1120)上的机器人雕像(1110)和飞行的卡通状化身角色(2),似乎是大黄蜂的化身,即使这些元素(2,1110)在真实世界中不存在。事实证明,人类视觉感知系统是非常复杂的,并且产生促进其它虚拟或真实世界影像元素中的虚拟图像元素的舒适的、自然感觉的、丰富的呈现的VR或AR技术是具有挑战性的。
例如,头戴式AR显示器(或头盔显示器、或智能眼镜)通常至少松散地耦合到用户的头部,并因此在用户的头部移动时移动。如果用户的头部运动被显示系统检测到,则被显示的数据可以被更新以考虑头部姿势的变化。
作为示例,如果穿戴头戴式显示器的用户观看显示器上三维(3D)对象的虚拟表示,并绕着3D对象出现的区域行走,则该3D对象可以针对每个视点被重新渲染,向用户给出他或她正绕着占据真实空间的对象行走的感知。如果头戴式显示器被用于呈现虚拟空间(例如,丰富虚拟世界)内的多个对象,则头部姿势(即,用户的头部的位置和取向)的测量可用于重新渲染场景以匹配用户的动态变化的头部位置和取向,并提供增强的在虚拟空间中的沉浸感。
在AR系统中,头部姿势的检测或计算可促进显示系统渲染虚拟对象,以使得它们看起来以对用户有意义的方式占据真实世界中的空间。另外,真实对象(诸如手持式设备(其也可被称为“totem(图腾)”)、触觉设备或其它真实物理对象)相对于用户的头部或AR系统的位置和/或取向的检测也可以促进显示系统将显示信息呈现给用户以使得用户能够有效地与AR系统的某些方面交互。当用户的头部在真实世界中四处运动时,虚拟对象可以被重新渲染为头部姿势的函数,以使得虚拟对象看起来相对于真实世界保持稳定。至少对于AR应用,虚拟对象在空间关系上相对物理对象的放置(例如,被呈现以看起来在空间上近似二维或三维的物理对象)可能是重要问题。
例如,头部运动可以显著地使虚拟对象在周围环境的视图中的的放置复杂。视图是否被捕获作为周围环境的图像、然后被投影或显示给终端用户,或者终端用户是否直接感知周围环境的视图,这是真的。例如,头部运动将可能使终端用户的视场改变,这将可能要求对各种虚拟对象被显示在终端用户的视场中的哪里进行更新。
此外,头部运动可以发生在各种各样的范围和速度内。头部运动速度可以不仅在不同头部运动之间改变,而且可以在单个头部运动的范围内或跨越单个头部运动的范围改变。例如,头部运动速度可以最初从起始点开始增加(例如,线性地或非线性地),并且可以在到达结束点时减小,在头部运动的起始点与结束点之间的某处获得最大速度。快速头部运动可以甚至超出特定显示或投影技术的渲染对终端用户看起来均匀和/或作为平滑运动的图像的能力。
头部跟踪准确性和延迟(即,在用户移动他或她的头部的时间与图像得到更新并被显示给用户的时间之间经过的时间)对于VR和AR系统已经是挑战。特别地,对于用虚拟元素填充用户的视场的相当一部分的显示系统,至关重要的是头部跟踪的准确性高,并且从头部运动的首次检测到被显示器传递到给用户的视觉系统的光的更新的整体系统延迟非常低。如果延迟高,则系统可产生用户的前庭系统与视觉感觉系统之间的失配,并生成可导致晕动病或模拟器眩晕症的用户感知场景。如果系统延迟高,则虚拟对象的明显位置将在快速头部运动期间看起来不稳定。
除了头戴式显示系统之外,其他显示系统可以受益于准确的低延迟头部姿势检测。这些包括显示器未被穿戴在用户的身体上而是例如安装在墙或其他表面上的头部跟踪显示系统。头部跟踪显示器像是场景上的窗口,并且当用户相对于“窗口”移动他的头部时,场景被重新渲染以匹配用户的变化的视点。其他系统包括头戴式投影系统,其中头戴式显示器将光投影到真实世界。
此外,为了提供逼真的增强现实体验,AR系统可以被设计为与用户交互。例如,多个用户可以用虚拟球和/或其他虚拟对象来玩球类游戏。一个用户可以“抓住”虚拟球,并将球扔回给另一个用户。在另一个实施例中,第一用户可以被提供图腾(例如,通信地耦合到AR系统的真实球拍)以击中虚拟球。在其他实施例中,虚拟用户接口可以被呈现给AR用户以允许用户选择许多选项之一。用户可以使用图腾、触觉设备、可穿戴组件、或简单地触摸虚拟屏幕以与系统进行交互。
检测用户的头部姿势和取向以及检测真实对象在空间中的物理位置使得AR系统能够以有效且令人愉快的方式显示虚拟内容。然而,尽管这些能力对于AR系统是关键,但是它们难以实现。换句话说,AR系统必须识别真实对象(例如,用户的头部、图腾、触觉设备、可穿戴组件、用户的手等)的物理位置,并将真实对象的物理坐标与对应于正被显示给用户的一个或多个虚拟对象的虚拟坐标相关。这要求快速跟踪一个或多个对象的位置和取向的高度准确的传感器和传感器识别系统。当前方法没有以满意的速度或精确性标准执行定位。
参考图2A-2D,示出了一些通用组件选项。在图2A-2D的讨论之后的详细描述的部分中,描述了用于解决向人类VR和/或AR提供高质量的可舒适感知的显示系统的目标的各种系统、子系统和组件。
如图2A所示,描绘了穿戴头戴式组件(58)的AR系统用户(60),该头戴式组件(58)以耦合到定位在用户的眼睛前面的显示系统(62)的框架(64)结构为特征。扬声器(66)以所描绘的配置被耦合到框架(64)并被定位在用户的耳道附近(在一个实施例中,另一个扬声器(未示出)被定位在用户的另一个耳道附近以提供立体/可塑形的声音控制)。显示器(62)诸如通过导线或无线连接被可操作地耦合(68)到本地处理和数据模块(70),其可以以各种配置被安装,诸如被固定地附接到框架(64)、被固定地附接到如图2B的实施例中所示的头盔或帽子(80)、被嵌入在耳机内、以如图2C的实施例中所示的背包型配置可移除地附接到用户(60)的躯干(82)、或以如图2D的实施例中所示的腰带耦合型配置可移除地附接到用户(60)的臀部(84)。
本地处理和数据模块(70)可以包括高能效处理器或者控制器以及数字存储器(诸如闪存),这两者可用于辅助数据的处理、高速缓存和存储,该数据a)从可操作地耦合到框架(64)的传感器(诸如图像捕获设备(诸如相机)、麦克风、惯性测量单元、加速度计、指南针、GPS单元、无线电设备、和/或陀螺仪)捕获;和/或b)使用远程处理模块(72)和/或远程数据存储库(74)来获得和/或处理,可能用于在这样的处理或取得之后传送到显示器(62)。
本地处理和数据模块(70)可以(诸如经由有线或无线通信链路)被可操作地耦合(76、78)到远程处理模块(72)和远程数据存储库(74),以使得这些远程模块(72、74)可操作地彼此耦合,并作为资源可用于本地处理和数据模块(70)。
在一个实施例中,远程处理模块(72)可以包括一个或多个相对强大的处理器或控制器,其被配置为分析和处理数据和/或图像信息。在一个实施例中,远程数据存储库(74)可以包括相对大规模的数字数据存储设施,该设施可以通过因特网或“云”资源配置中的其它网络配置可用。在一个实施例中,在本地处理和数据模块中存储所有数据并执行所有计算,这允许来自任何远程模块的完全自主使用。
现在参考图3,示意图示出了云计算资产(46)与本地处理资产之间的协调,该本地处理资产可以例如驻留在被耦合到用户的头部(120)的头戴式组件(58)和/或被耦合到用户的腰带(308)的本地处理和数据模块(70)中(因此,组件70也可以被称为“腰包”70),如图3所示。在一个实施例中,云资产(46)(诸如一个或多个服务器系统(110)被可操作地耦合(115),诸如经由有线或无线网络(对于移动性,无线是优选的,对于可被期望的某些高带宽或高数据量传送,有线是优选的))直接到(40、42)本地计算资产之一或两者,诸如耦合到用户的头部(120)和腰带(308)的处理器和存储器配置,如上所述。这些对于用户在本地的计算资产也可以经由有线和/或无线连接配置(44)(诸如下文参考图8所讨论的有线耦合(68))可操作地耦合到彼此。在一个实施例中,为了维持被安装到用户的头部(120)的低惯性小尺寸子系统,用户与云(46)之间的主要传送可以经由被安装在腰带(308)的子系统与云之间的链路,其中,头戴式(120)子系统主要使用无线连接(诸如超宽带(“UWB”)连接)将数据连接到基于腰带(308)的子系统,如同当前例如在个人计算外围连接应用中所使用的。
采用有效的本地和远程处理协调和针对用户的适当的显示设备(诸如在图2A中示出的用户接口或用户显示系统(62)或其变型),与用户的当前实际或虚拟位置有关的一个世界的各方面可以被传送或“传递”到用户并以有效的方式被更新。换句话说,世界的地图可以被持续在存储位置处更新,该存储位置可部分地驻留在用户的AR系统上并部分地驻留在云资源中。地图(也称为“联结式(passable)世界模型”)可以是包括有关真实世界的光栅影像、3D和2D点、参数信息和其他信息的大型数据库。随着越来越多的AR用户持续地捕获有关他们的真实环境的信息(例如,通过相机、传感器、IMU等),地图变得越来越准确和完整。
采用如上所述的配置,其中有一个世界模型可以驻留在云计算资源上并从那里分发,这样的世界可以对试图传送实时视频数据等优选的相对低带宽形式“可联结”到一个或多个用户。站在雕像(即,如图1所示)附近的人的增强体验可以被基于云的世界模型通知,该世界模型的子集可以被向下传递给他们和他们的本地显示设备以完成视图。坐在远程显示设备旁边的人(其可以与在桌子上的个人计算机一样简单)可以有效地从云下载该相同部分的信息并且使其在他们的显示器上被渲染。的确,实际上在公园中在雕像附近的一个人可以在该公园中与远程定位的朋友散步,其中该朋友通过虚拟和增强现实加入。系统将需要知道街道在何处、树在何处、雕像在何处-但是利用在云上的该信息,加入的朋友可以从云下载场景的各方面,然后开始散步作为相对于实际上在公园中的人在本地的增强现实。
可以从环境捕获3D点,并且可以确定捕获那些图像或点的相机的姿势(即,相对于世界的向量和/或原点位置信息),以使得这些点或图像可以用该姿势信息“标记”或与该姿势信息相关联。然后,由第二相机捕获的点可用于确定第二相机的姿势。换句话说,可以基于与来自第一相机的被标记图像的比较,对第二相机进行取向和/或定位。然后,该知识可用于提取纹理、制作地图、以及创建真实世界的虚拟副本(因为在周围有两个相机被注册)。
因此,在基本水平处,在一个实施例中,个人穿戴的系统可被用于捕获3D点和产生点的2D图像,并且这些点和图像可被发送到云存储和处理资源。它们还可与嵌入的姿势信息一起在本地被高速缓存(即,高速缓存被标记图像);因此,云可以具有准备好的(即,在可用高速缓存中)被标记2D图像(即,用3D姿势标记的)连同3D点。如果用户正在观察动态的东西,则他也可以将附加信息发送到与运动有关的云(例如,如果看另一个人的脸,则用户可以取得面部的纹理图并且将其以优化频率上推,即使周围世界在其它方面基本静止)。关于对象识别器和联结式世界模型的更多信息可以在题为“System and method foraugmented and virtual reality(用于增强和虚拟现实的系统和方法)”的美国专利申请No.14/205,126(该美国专利申请的整体内容通过引用被合并)以下下列与增强和虚拟现实系统(诸如那些由佛罗里达劳德代尔堡的奇跃公司开发的增强和虚拟现实系统)有关的附加公开中找到:美国专利申请No.14/641,376、美国专利申请No.14/555,585、美国专利申请No.14/212,961、美国专利申请No.14/690,401、美国专利申请No.13/663,466、美国专利申请No.13/684,489;GPS和其他定位信息可被用作这样的处理的输入。用户的头部、图腾、手势、触觉设备等的高度准确定位在向用户显示适当的虚拟内容中是至关重要的。
实现高精度定位的一个方法可以涉及与电磁传感器耦合的电磁场的使用,该电磁传感器被战略地放置在用户的AR耳机、腰包和/或其它辅助设备(例如,图腾、触觉设备、游戏装置等)上。
电磁跟踪系统通常至少包括电磁场发射器和至少一个电磁场传感器。传感器可以测量具有已知分布的电磁场。基于这些测量,确定场传感器相对于发射器的位置和取向。
现在参考图4,示出了电磁跟踪系统的示例系统图(例如,诸如那些由强生公司的Biosense(RTM)部门、佛蒙特州Colchester的波尔希默斯(RTM)公司的组织开发的、由加利福尼亚洛斯盖多斯的Sixense(RTM)娱乐公司和其他跟踪公司开发的电磁跟踪系统)。在一个或多个实施例中,电磁跟踪系统包括电磁场发射器402,该电磁场发射器402被配置为发射已知磁场。如图4所示,电磁场发射器可以耦合到电源(例如,电流、电池等)以向发射器402提供电力。
在一个或多个实施例中,电磁场发射器402包括产生磁场的若干线圈(例如,至少三个彼此垂直定位以在x、y和z方向上产生场的线圈)。该磁场用于建立坐标空间。这允许系统映射传感器相对于已知磁场的位置,并帮助确定传感器的位置和/或取向。在一个或多个实施例中,电磁传感器404a、404b等可以被附接到一个或多个真实对象。电磁传感器404可以包括在其中可以通过所发射的电磁场来感应电流的较小线圈。
通常,“传感器”组件(404)可以包括小线圈或回路,诸如被一起耦合在小结构(诸如立方体或其他容器)内的一组三个不同取向的(即,诸如相对于彼此正交取向的)线圈,这三个线圈被定位/取向以捕获来自发射器(402)所发射的磁场的进入磁通量,并且通过比较通过这些线圈感应的电流和知道线圈相对于彼此的相对定位和取向,可以计算传感器相对于发射器的相对位置和取向。
与可操作地耦合到电磁跟踪传感器的线圈和惯性测量单元(“IMU”)组件的行为有关的一个或多个参数可以被测量以检测传感器(以及它所附接到的对象)相对于电磁场发射器所耦合到的坐标系的位置和/或取向。在一个或多个实施例中,多个传感器可以被相对于电磁发射器使用以检测每个传感器在坐标空间内的位置和取向。电磁跟踪系统可以提供三个方向(即,X、Y和Z方向)上的位置,并进一步提供在两个或三个取向角上的位置。在一个或多个实施例中,IMU的测量可以与线圈的测量相比较以确定传感器的位置和取向。在一个或多个实施例中,电磁(EM)数据和IMU数据二者连同各种其他数据源(诸如相机、深度传感器、和其他传感器)可以被组合以确定位置和取向。该信息可以被传输(例如,无线通信、蓝牙等)到控制器406。在一个或多个实施例中,姿势(或位置和取向)可以在传统系统中以相对高的刷新率被报告。
通常,电磁发射器被耦合到相对稳定和大的对象,诸如桌子、操作台、墙、或天花板,并且一个或多个传感器被耦合到较小的对象,诸如医疗设备、手持式游戏组件等。可替代地,如下面参考图6所描述的,可以使用电磁跟踪系统的各种特征以产生其中在空间中相对于更稳定的全局坐标系移动的两个对象之间的位置和/或取向的变化或变化量可被跟踪的配置;换句话说,图6示出了一种配置,其中电磁跟踪系统的变化可被用于跟踪头戴式组件与手持式组件之间的位置和取向变化量,而相对于全局坐标系(比如说对用户是本地的房间环境)的头部姿势另外确定,诸如通过使用可被耦合到系统的头戴式组件的面向外捕获相机的同步定位与地图构建(“SLAM”)技术。
控制器406可以控制电磁场发射器402,并且还可以捕获来自各种电磁传感器404的数据。应当理解,系统的各种组件可以通过任何机电或无线/蓝牙方式彼此耦合。控制器406还可以包括有关已知磁场的数据以及相对于磁场的坐标空间。然后,该信息被用于检测传感器相对于与已知电磁场对应的坐标空间的位置和取向。
电磁跟踪系统的一个优点在于,它们产生具有最小延迟和高分辨率的高度准确的跟踪结果。此外,电磁跟踪系统并不必依赖光学跟踪器,并且可以容易地跟踪不在用户的视线内的传感器/对象。
应当理解,电磁场的强度v作为距线圈发射机(例如,电磁场发射器402)的距离r的三次函数而下降。因此,可基于与电磁场发射器的距离来要求算法。控制器406可被配置有这样的算法以确定在远离电磁场发射器的不同距离处的传感器/对象的位置和取向。
假定电磁场的强度随着移动得更远离电磁发射器而迅速下降,可以在更近的距离处实现在准确度、效率和低延迟方面的最好结果。在典型的电磁跟踪系统中,电磁场发射器由电流(例如,插入电源)供电,并且传感器位于距离电磁场发射器20英尺的半径内。传感器与场发射器之间更短的半径在许多应用(包括AR应用)中可以是更期望的。
现在参考图5,简要描述用于描述典型电磁跟踪系统的运行的示例流程图。在502处,发射已知电磁场。在一个或多个实施例中,磁场发射器可以产生磁场,每个线圈可以在一个方向上(例如,x、y或z)产生电场。可以生成具有任意波长的磁场。
在一个或多个实施例中,每个轴可以稍微不同的频率来振荡。在504处,可以确定对应于电磁场的坐标空间。例如,图4的控制406可以基于电磁场来自动确定在发射器周围的坐标空间。
在506处,可以在传感器(其可以附接到已知对象)处检测线圈的行为。例如,可以计算在线圈处感应的电流。在其他实施例中,可以跟踪和测量线圈的旋转、或任何其他可量化行为。在508处,该行为可被用于检测(一个或多个)传感器和/或已知对象的位置和取向。例如,控制器406可以咨询将在传感器处线圈的行为与各种位置或取向相关的映射表。基于这些计算,可以确定坐标空间中的位置连同传感器的取向。
在AR系统的环境中,电磁跟踪系统的一个或多个组件可能需要被修改以促进移动组件的准确跟踪。如上所述,在许多AR应用中,跟踪用户的头部姿势和取向是至关重要的。用户的头部姿势和取向的准确确定允许AR系统将正确的虚拟内容显示给用户。例如,虚拟场景可包括隐藏在真实建筑物后面的怪物。取决于用户的头部相对于建筑物的姿势和取向,虚拟怪物的视图可能需要被修改,以使得逼真的AR体验被提供。或者,图腾、触觉设备或与虚拟内容交互的其他装置的位置和/或取向在使得AR用户能够与AR系统交互中可能是重要的。例如,在许多游戏应用中,AR系统必须检测真实对象相对于虚拟内容的位置和取向。或者,当显示虚拟接口时,图腾、用户的手、触觉设备或被配置用于与AR系统交互的任何其他真实对象的位置必须相对于所显示的虚拟接口是已知的,以便于系统理解命令等。传统的包括光学跟踪的定位方法和其他方法通常遭受高延迟和低分辨率问题,这使得在许多增强现实应用中渲染虚拟内容具有挑战性。
在一个或多个实施例中,结合图4和5讨论的电磁跟踪系统可以适应AR系统以检测一个或多个对象相对于所发射的电磁场的位置和取向。
典型的电磁系统倾向于具有大且笨重的电磁发射器(例如,图4中的402),这对于AR设备是有问题的。然而,更小的电磁发射器(例如,毫米范围内的)可被用于在AR系统的环境中发射已知电磁场。
现在参考图6,电磁跟踪系统可以与AR系统结合,如图所示,其中,电磁场发射器602作为手持式控制器606的一部分被结合。在一个或多个实施例中,手持式控制器可以是要在游戏场景中使用的图腾。在其他实施例中,手持式控制器可以是触觉设备。在其他实施例中,电磁场发射器可以仅作为腰包70的一部分被结合。手持式控制器606可以包括向该电磁场发射器602供电的电池610或其他电源。应当理解,电磁场发射器602还可包括或被耦合到IMU 650组件,该IMU 650组件被配置为辅助确定电磁场发射器602相对于其他组件的定位和/或取向。在场发射器602和传感器(604)二者都是移动的情况下,这可能特别重要。如图6的实施例所示,将电磁场发射器602放置在手持式控制器中而不是腰包中确保电磁场发射器不竞争在腰包处的资源,而是在手持式控制器606处使用它自己的电池源。
在一个或多个实施例中,电磁传感器604可以连同其他感测设备(诸如一个或多个IMU或附加的磁通量捕获线圈608)一起被放置在用户的耳机上的一个或多个位置上。例如,如图6所示,传感器(604,608)可以被放置在耳机(58)的任一侧。由于这些传感器被设计成相当小(并因此,在一些情况下,可能不太敏感),因此,具有多个传感器可以提高效率和精度。
在一个或多个实施例中,一个或多个传感器还可以被放置在腰包70或用户的身体的任何其他部分上。传感器(604,608)可以无线地或通过蓝牙与确定传感器(以及它所附接到的AR耳机)的姿势和取向的计算装置通信。在一个或多个实施例中,计算装置可以驻留在腰包70处。在其他实施例中,计算装置可以驻留在耳机自身、或甚至手持式控制器606处。在一个或多个实施例中,计算装置可以进而包括映射数据库(例如,联结式世界模型、坐标空间等)以检测姿势、确定真实对象和虚拟对象的坐标,并且可以甚至连接到云资源和联结式世界模型。
如上所述,传统的电磁发射器可能对于AR设备太笨重。因此,使用与传统系统相比更小的线圈,电磁场发射器可以被设计为紧凑。然而,假定电磁场的强度作为距场发射器的距离的三次函数而降低,当与传统系统(诸如图4中详述的系统)相比时,电磁传感器604与电磁场发射器602之间更短的半径(例如,大约3-3.5英尺)可以减少功耗。
在一个或多个实施例中,该方面可以用于延长可对控制器606和电磁场发射器602供电的电池610的寿命。或者,在其他实施例中,该方面可以用于减少在电磁场发射器602处产生磁场的线圈的尺寸。然而,为了得到相同的磁场强度,电力可能需要增加。这允许可以紧凑地适配在手持式控制器606处的紧凑型电磁场发射器单元602。
当将电磁跟踪系统用于AR设备时,可以进行若干其他改变。尽管该姿势报告速率相当好,但是AR系统可能要求甚至更有效的姿势报告速率。为此,基于IMU的姿势跟踪可被用在传感器中。至关重要地,IMU必须保持尽可能稳定,以便增加姿势检测过程的效率。IMU可以被设计为使得它们保持稳定直到50-100毫秒。应当理解,一些实施例可以利用可使得姿势更新能够以10-20Hz的速率被报告的外部姿势估计器模块(即,IMU可以随时间漂移)。通过以合理的速率保持IMU保持,姿势更新的速率可被急剧降低至10-20Hz(与传统系统中的较高频率相比)。
如果电磁跟踪系统可以以10%占空比运行(例如,每隔100毫秒仅对地面实况查验),则这会是节省AR系统处的电力的另一个方式。这会意味着电磁跟踪系统每隔100毫秒中的每隔10毫秒唤醒以生成姿势估计。这直接转化为功耗节省,其可以进而影响AR设备的尺寸、电池寿命和成本。
在一个或多个实施例中,该占空比的降低可以战略地通过提供两个手持式控制器(未示出)而不是仅一个手持式控制器来被利用。例如,用户可能正在玩需要两个图腾等的游戏。或者,在多用户游戏中,两个用户可以有他们自己的图腾/手持式控制器来玩游戏。当使用两个控制器(例如,针对每只手的对称控制器)而不是一个控制器时,控制器可以以偏移占空比来工作。例如,相同的概念也可以适用于由玩多人游戏的两个不同的用户利用的控制器。
现在参考图7,描述了描述在AR设备的环境中的电磁跟踪系统的示例流程图。在702处,手持式控制器发射磁场。在704处,电磁传感器(被放置在耳机、腰包等上)检测磁场。在706处,基于在传感器处线圈/IMU的行为来确定耳机/腰带的位置和取向。在708处,姿势信息被传送给计算装置(例如,在腰包或耳机处)。在710处,可选地,映射数据库(例如,联结式世界模型)可被咨询以将真实世界坐标与虚拟世界坐标相关。在712处,虚拟内容可以在AR耳机处被传递到用户。应当理解,上文所描述的流程图仅出于说明的目的,并且不应当被理解为限制性的。
有利地,使用与图6中概述的电磁跟踪系统类似的电磁跟踪系统使得能够姿势跟踪(例如,头部位置和取向、图腾的位置和取向、以及其他控制器)。当与光学跟踪技术相比较时,这允许AR系统以更高的准确度和非常低的延迟来投影虚拟内容。
参考图8,示出了其中以许多感测组件为特征的系统配置。所示的头戴式可穿戴组件(58)可操作地耦合(68)到本地处理和数据模块(70),诸如腰包,在此使用还以如下文参考图9A-9F所描述的控制和快速释放模块(86)为特征的物理多核心导线。本地处理和数据模块(70)可操作地耦合(100)到手持式组件(606),在此通过无线连接,诸如低功率蓝牙;手持式组件(606)还可以可操作地直接耦合(94)到头戴式可穿戴组件(58),诸如通过无线连接(诸如低功率蓝牙)。通常,如果IMU数据被传递以协调各种组件的姿势检测,则高频连接是期望的,诸如在几百或几千周期/秒或更高的范围内;几十周期每秒对于电磁定位感测是足够的,诸如通过传感器(604)和发射机(602)配对。还示出了表示用户周围的真实世界中的固定对象(诸如墙(8))的全局坐标系(10)。云资源(46)还可以分别可操作地耦合(42,40,88,90)到本地处理和数据模块(70)、头戴式可穿戴组件(58)、可以耦合到墙(8)或相对于全局坐标系(10)固定的其他物品的资源。被耦合到墙(8)或具有相对于全局坐标系(10)的已知位置和/或取向的资源可包括WiFi收发机(114)、电磁发射器(602)和/或接收器(604)、被配置为发射或反射给定类型的辐射的信标或反射器(112)(诸如红外LED信标)、蜂窝网络收发机(110)、RADAR发射器或检测器(108)、LIDAR发射器或检测器(106)、GPS收发机(118)、具有已知可检测图案的海报或标记(122)、和相机(124)。除了被配置为辅助相机(124)检测器的光发射器(130)(诸如用于红外相机(124)的红外发射器(130))以外,头戴式可穿戴组件(58)还以类似的组件为特征,如图所示;还在头戴式可穿戴组件(58)上为特征的是一个或多个应变仪(116),其可以被固定地耦合到头戴式可穿戴组件(58)的框架或机械平台,并且被配置为确定这种平台在诸如电磁接收机传感器(604)或显示元件(62)的组件之间的偏转,其中,理解平台的弯曲是否已经发生(诸如在平台的变薄部分处,诸如图8中所描绘的眼镜状平台上在鼻子上面的部分)可以是有价值的。头戴式可穿戴组件(58)还以处理器(128)和一个或多个IMU(102)为特征。每个组件优选地可操作地耦合到处理器(128)。示出了以类似组件为特征的手持式组件(606)以及本地处理和数据模块(70)。如图8所示,采用这么多感测和连接装置,这样的系统很可能是沉重、高能耗、大型且相对昂贵的。然而,出于说明的目的,这样的系统可被用于提供非常高水平的连接、系统组件集成、和位置/取向跟踪。例如,采用这样的配置,各种主要移动组件(58,70,606)可以使用WiFi、GPS或蜂窝信号三角测量来在相对于全局坐标系的位置方面被定位;信标、电磁跟踪(如上所述)、RADAR、和LIDAR系统可以提供更进一步的位置和/或取向信息和反馈。标记和相机还可被用于提供关于相对和绝对位置和取向的进一步的信息。例如,各种相机组件(124)(诸如那些所示的被耦合到头戴式可穿戴组件(58)的)可以用于捕获可在同步定位与地图构建协议或“SLAM”中使用的数据,以确定组件(58)在何处并且它相对于其他组件如何取向。
参考图9A-9F,描绘了控制和快速释放模块(86)的各方面。参考图9A,使用可用机械闭锁增强的磁耦合配置来将两个外壳组件耦合在一起。可以包括用于相关联的系统的操作的按钮(136)。图9B示出了部分剖视图,示出了按钮(136)和下面的顶部印刷电路板(138)。参考图9C,随着按钮(136)和下面的顶部印刷电路板(138)被移除,母插针阵列(140)是可见的。参考图9D,随着壳体(134)的相反部分被移除,底部印刷电路板(142)是可见的。随着底部印刷电路板(142)被移除,如图9E所示,公插针阵列(144)是可见的。参考图9F的截面图,公插针或母插针中的至少一个被配置为是弹簧加载的,以使得它们可以沿着每个插针的纵轴被按下;插针可以被称为“弹簧顶针”并且通常包括高度导电材料,诸如铜或金。当被组装时,所示的配置将公插针与母插针配对46,并且整个组件可通过将其手动拉开并克服可使用围绕插针阵列(140,144)的周界取向的北磁铁和南磁铁来开发的磁界面(146)负荷来被快速释放解耦成两半。在一个实施例中,来自按下46个弹簧顶针的近似2kg负荷与大约4kg的闭合维持力相抵抗。阵列中的插针可以被分开大约1.3mm,并且插针可以被可操作地耦合到各种类型的导线,诸如双绞线或其他组合以支持USB3.0、HDMI 2.0、I2S信号、GPIO、和MIPI配置,以及在一个实施例中被配置用于高达大约4安培/5伏特的高电流模拟线和接地。
参考图10,使最小化组件/特征集能够最小化各种组件的重量和体积并且能够到达相对细长的头戴式组件(例如,诸如图10中描述的头戴式组件(58))是有帮助的。因此,可以使用图8所示的各种组件的各种排列和组合。
参考图11A,示出电磁感测线圈组件(604,即,耦合到壳体的3个单独的线圈)被耦合到头戴式组件(58);这样的配置将附加几何形状添加到整体组件上,其可能不是期望的。参考图11B,不是将线圈安置在盒中或如图11A的配置中的单个壳体中,单独的线圈可以被集成到头戴式组件(58)的各种结构中,如图11B所示。图12A-12E示出了用于以耦合到电磁传感器的铁氧体磁心为特征以增加场灵敏度的各种配置;图12B-12E的实施例在重量上比图12A的实心配置更轻,并且可用于节省质量。
参考图13A-13C,时分复用(“TDM”)也可被用于节省质量。例如,参考图13A,示出了传统的用于3线圈电磁接收机传感器的本地数据处理配置,其中,模拟电流从X、Y和Z线圈的每一个进来,进入预放大器,进入带通滤波器,经过模拟数字转换,最终到达数字信号处理器。参考图13B的发射机配置和图13C的接收机配置,时分复用可被用于共享硬件,以使得每个线圈传感器链不需要它自己的放大器等。除了移除传感器壳体并且复用以节省硬件开销之外,可以通过具有多于一组的电磁传感器来增加信噪比,每一组相对于单个较大的线圈组是相对小的;而且,使多个感测线圈很接近通常所需的低侧频率限制可以被改进以促进带宽要求改进。而且,与复用存在折中,因为复用通常在时间上展开射频信号的接收,这导致通常更脏的信号;因此,可能要求更大的线圈直径以用于复用系统。例如,如果复用系统要求9mm边尺寸的立方体线圈传感器盒,则非复用系统可针对类似性能仅要求7mm边尺寸的立方体线圈盒;因此,在最小化几何形状和质量之间存在折中。
在其中特定系统组件(诸如头戴式组件(58))以两个或更多个电磁线圈传感器组为特征的另一个实施例中,系统可以被配置为选择性地利用最接近彼此的传感器和发射机配对以优化系统的性能。
参考图14,在一个实施例中,在用户将他或她的可穿戴计算系统加电(160)之后,头戴式组件可以捕获IMU和相机数据的组合(相机数据例如用于SLAM分析,诸如在其中可存在更多的原始处理马力的腰包处理器处)以确定和更新相对于真实世界全局坐标系的头部姿势(即,位置和取向)(162)。用户还可以激活手持式组件以例如玩增强现实游戏(164),并且手持式组件可包括可操作地耦合到腰包和头戴式组件之一或两者的电磁发射机(166)。一个或多个电磁场线圈接收机组(即,一组是3个不同取向的单独线圈)被耦合到头戴式组件以捕获来自发射机的磁通量,其可用于确定头戴式组件与手持式组件之间的位置或取向差(或“变化量”)(168)。辅助确定相对于全局坐标系的姿势的头戴式组件和辅助确定手持式组件相对于头戴式组件的相对位置和取向的手持式组件的组合允许系统通常确定每个组件相对于全局坐标系在何处,因此,用户的头部姿势和手持姿势可优选地以相对低的延迟被跟踪,以用于增强现实图像特征的呈现和使用手持式组件的移动和旋转的交互(170)。
参考图15,示出了稍微类似于图14的实施例,例外的是,系统具有可用于辅助确定头戴式组件(172)和手持式组件(176,178)二者的姿势的许多感测设备和配置,以使得用户的头部姿势和手持姿势可以优选地以相对低的延迟被跟踪,以用于增强现实图像特征的呈现和使用手持式组件的移动和旋转的交互(180)。
参考图16A和16B,示出了类似于图8的配置的各方面。图16A的配置与图8的配置的不同在于,除了LIDAR(106)类型的深度传感器之外,图16A的配置以一般深度相机或深度传感器(154)为特征以用于说明目的,该深度相机或深度传感器可以例如是立体三角测量式深度传感器(诸如被动式立体深度传感器、纹理投影深度传感器、或结构化光立体深度传感器)或飞行时间式深度传感器(诸如LIDAR深度传感器或调制发射深度传感器);进一步地,图16A的配置具有附加的面向前的“世界”相机(124,其可以是灰度相机,具有能够720p范围分辨率的传感器)以及相对高分辨率的“图片相机”(156,例如,其可以是全彩色相机,具有能够2兆像素或更高分辨率的传感器)。图16B示出了图16A的配置的部分正交视图以用于说明目的,如以下参考图16B进一步描述的。
返回参考图16A和上文所提到的立体式深度传感器和飞行时间式深度传感器,这些深度传感器类型中的每一个类型可以与本文所公开的可穿戴计算方案一起使用,尽管每个类型具有不同的优点和缺点。例如,许多深度传感器具有关于黑表面和发光或反射表面的挑战。被动式立体深度感测是相对简单的用深度相机或者传感器得到用于计算深度的三角测量的方式,但是,如果要求宽视场(“FOV”),则它可能受到挑战,并且可能需要相对大量的计算资源;进一步地,这种传感器类型可能具有关于边缘检测的挑战,这对于手头上的特定用例可能是重要的。被动式立体可能具有关于弱纹理墙、低光情况和重复图案的挑战。被动式立体深度传感器可从诸如Intel(RTM)和Aquifi(RTM)的制造商购得。具有纹理投影的立体(也称为“主动式立体”)与被动式立体类似,但是,纹理投影仪将投影图案广播到环境上,并且被广播的纹理越多,在用于深度计算的三角测量中可得到的准确度越高。主动式立体还可能要求相对高的计算资源,在要求宽FOV时提出挑战,并且在检测边缘中是稍微次优的,但是它确实解决了被动式立体的一些挑战,因为它对于弱纹理墙是有效的,在低光中是好的,并且通常没有关于重复图案的问题。
主动式立体深度传感器可从诸如Intel(RTM)和Aquifi(RTM)的制造商购得。具有结构化光的立体(诸如由Primesense公司(RTM)开发并在商标名Kinect(RTM)下可购得的系统,以及可从Mantis Visio公司(RTM)购得的系统)通常利用单个相机/投影仪配对,并且投影仪是专门的,因为它被配置为广播先验已知的圆点图案。在本质上,系统知道被广播的图案,并且知道待确定的变量是深度。这样的配置可能在计算负荷上是相对有效的,并且可在宽FOV要求场景以及具有环境光和从其他附近设备广播的图案的场景中受到挑战,但是在许多场景中可以相当有效并且高效。采用调制飞行时间类型深度传感器(诸如可从PMDTechnologies(RTM)、A.G.and SoftKinetic公司(RTM)购得的调制飞行时间类型深度传感器),发射器可以被配置为发出幅度调制光的波,诸如正弦波;可被定位在附近或者甚至在一些配置中重叠的相机组件在该相机组件的每个像素上接收返回信号,并且可以确定/计算深度映射。这样的配置可以是几何结构相对紧凑、准确性高、并且计算负荷低的,但是可能在图像分辨率(诸如在对象的边缘处)、多路径误差(诸如其中传感器针对反射或发光角)方面受到挑战,并且检测器结束接收多于一个返回路径,以使得有一些深度检测混叠。直接飞行时间传感器(其也可被称为前面提到的LIDAR)可从诸如LuminAR(RTM)和AdvancedScientific Concepts公司(RTM)的供应商购得。采用这些飞行时间配置,通常光脉冲(诸如皮秒、纳秒、或飞秒长光脉冲)被发出以用该光声脉冲沐浴围绕它取向的世界;然后,相机传感器上的每个像素等待该脉冲返回,并且在知道光速时,可以在每个像素处计算距离。这样的配置可以有调制飞行时间传感器配置的许多优点(无基线、相对宽FOV、高准确性、相对低的计算负荷等)以及相对高的帧速率(诸如到好几万赫兹)。这些配置也可以是相对昂贵的、具有相对低的分辨率、对强光敏感、并且易受到多径误差;它们也可以是相对大并且重的。
参考图16B,示出了部分顶视图以用于说明的目的,该图以用户的眼睛(12)以及具有视场(28,30)的相机(14,诸如红外相机)和被朝向眼睛(12)引导的光源或辐射源(16,诸如红外)为特征以利于眼睛跟踪、观察和/或图像捕获。示出了三个面向外世界捕获相机(124)和它们的FOV(18,20,22),以及深度相机(154)及其FOV(24)和图片相机(156)及其FOV(26)。从深度相机(154)获取的深度信息可以通过使用来自其他面向外相机的重叠FOV和数据来被支持。例如,系统可以以类似于来自深度传感器(154)的sub-VGA图像、来自世界相机(124)的720p图像、以及偶尔的来自图片相机(156)的2兆像素彩色图像的图像结束。这样的配置具有共享共同FOV的4个相机,其中的两个相机具有非均匀可见光谱图像,一个相机有颜色,第三个相机有相对低分辨率深度。系统可以被配置为在灰度图像和彩色图像中进行分割,融合那两个图像,并且根据它们制作相对高分辨率图像,得到一些立体对应,使用深度传感器以提供关于立体深度的假设,并且使用立体对应以得到更精细的深度图,它可以比仅从深度传感器可得的明显更好。这样的过程可以在本地移动处理硬件上运行,或者可以使用云计算资源运行,也许连同来自区域中其他人(诸如附近坐在桌子对面的两个人)的数据一起,并且以相当精细的映射结束。
在另一个实施例中,所有以上的传感器可被组合成一个集成传感器以完成这样的功能。
参考图17A-17G,示出了用于电磁跟踪的动态传输线圈调谐配置的各方面,以利于传输线圈以每正交轴多个频率最佳地工作,这允许多个用户在同一个系统上操作。通常,电磁跟踪发射机将被设计为以每正交轴固定的频率工作。采用这种方法,每个传输线圈用仅在工作频率处产生共振的静态串联电容来调谐。这种共振允许最大可能电流流过线圈,其进而最大化所生成的磁通量。
图17A示出了用于产生共振的典型共振电路。元件“L1”表示1mH的单轴传输线圈,并且电容被设置为52nF,在22kHz处产生共振,如图17B所示。
图17C示出了相对频率绘制的通过系统的电流,可以看出,电流在共振频率处是最大的。如果该系统被预期在任何其他频率处工作,则工作电路将不在可能的最大值处。图17D示出了动态可调谐配置的实施例。动态频率调谐可以被设定为在线圈上实现共振以得到最大电流;图17E示出了可调谐电路的示例,其中,一个电容(“C4”)可被调谐以产生模拟数据,如图17F所示。如图17F所示,电磁跟踪器的正交线圈中的一个线圈被模拟为“L1”,静态电容(“C5”)是固定的高压电容。由于共振,该高压电容将看到更高的电压,因此,它的封装尺寸通常将更大。C4将是用不同值动态切换的电容,因此可以看到更低的最大电压,并且通常是更小的几何封装以节省布置空间。L3也可被用于微调共振频率。图17F示出了相对较低的图形(250)用较高的图形(248)实现的共振;由于C4在该模拟中变化,因此,共振被改变,应当注意的是,跨C5的电压(Vmid-Vout)高于跨C4的电压(Vout)。这通常将允许对C4的较小的封装部分,因为通常对于系统将需要这个的倍数,每个工作频率一个。图17G示出了所达到的最大电流跟随共振,而不管跨电容的电压如何。
参考图18A-18C,电磁跟踪系统可以被限制在低于大约30KHz工作,这稍微高于针对人类听觉的可听范围。参考图18A,可能存在一些在用于这种电磁跟踪系统的可用频率中产生噪声的音频系统。进一步地,音频扬声器通常具有也可能是干扰电磁跟踪系统的磁场和一个或多个线圈。
参考图18B,示出了用于电磁跟踪干扰的噪声消除配置的框图。由于无意干扰是已知实体,因此,该知识可用于消除该干扰并改善性能。换句话说,由系统生成的音频可用于消除由接收机线圈接收到的影响。噪声消除电路可以被配置为接受来自EM放大器的损坏信号以及来自音频系统的信号,并且噪声消除系统将消除从音频扬声器接收的噪声。图18C示出了示出信号可以如何被反转和添加以消除干扰者的示例的图。顶部图V(Vnoise)是被音频扬声器添加到系统的噪声。参考图19,在一个实施例中,灯或其他发射器的已知图案(诸如圆形图案)可用于辅助视觉系统的校准。例如,圆形图案可被用作基准;由于具有已知取向的相机或其他捕获设备捕获当被耦合到图案的对象被重新取向时的图案的形状,因此,可以确定对象(诸如手持式图腾设备)的取向;这种取向可以与来自相关联的IMU设备的取向相比较以用于校准中的误差确定和使用。
参考图20A-20C,示出了具有求和放大器的配置以简化可穿戴计算配置的两个子系统或组件(诸如头戴式组件和腰包组件)之间的电路。采用传统的配置,电磁跟踪传感器的每个线圈(在图20A的左边)与放大器相关联,并且三个不同的放大信号会通过电缆布线被发送到其他组件。在示出的实施例中,三个不同的放大信号可被引导到求和放大器,该求和放大器产生一个放大信号,该放大信号被向下引导到有利地简化的电缆,每个信号在不同的频率。求和放大器可以被配置为放大进来的所有三个信号;然后,在模拟数字转换之后,接收数字信号处理器在另一端处分离这些信号。图20C示出了用于每个频率的滤波器——因此,信号可在这种阶段被分离退出。
参考图21,电磁(“EM”)跟踪更新在便携式系统的功率方面是相对“昂贵的”,并且可能不能够进行非常高频率地更新。在“传感器融合”配置中,来自另一个传感器(诸如IMU)的更频繁更新的定位信息或其他动态输入(随时间改变的可测量度量)可以与来自另一个传感器(诸如光学传感器(诸如相机或深度相机)的数据(其可以或可以不以相对高的频率)一起组合;融合所有这些输入的网络在EM系统上设置较低的需求并提供更快速的更新。进一步关于“动态输入”,其他说明性示例包括温度波动、音频音量、诸如某些对象的尺寸或到某些对象的距离的大小调整,而并非仅仅是用户的位置或取向。一组动态输入表示作为给定变量(诸如时间)的函数的那些输入的集合。
返回参考图11B,示出了分布式传感器线圈配置。参考图22A,具有单个电磁传感器设备(604)的配置(诸如包含三个正交线圈的盒,X、Y、Z的每个方向一个线圈)可以被耦合到可穿戴组件(58)以用于6自由度跟踪,如上所述。而且,如上所述,这样的设备可以与在可穿戴组件(58)的不同位置处附接的三个子部分(即,线圈)分离,如图22B所示。参考图22C,为了提供进一步的设计替代方案,每个单独线圈可用一组类似取向的线圈替换,以使得针对任何给定正交方向的总磁通量被组(148,150,152)捕获,而不是被每个正交方向的单个线圈捕获。换句话说,并不是每个正交方向一个线圈,而是可以利用一组较小的线圈,并且它们的信号被聚集以形成针对该正交方向的信号。
参考图23A-23C,不时地重校准可穿戴计算系统(诸如本文所讨论的可穿戴计算系统)可以是有用的,在一个实施例中,在发射机处的超声信号连同在接收机处的麦克风和声学飞行时间计算一起可以用于确定声音传播延迟。图23A示出了在一个实施例中,发射机上的3个线圈用正弦波突发来激励,并且同时超声换能器可用优选地与一个线圈相同的频率的正弦波突发来激励。图23B示出了接收机可以被配置为使用传感器线圈来接收3个EM波,并使用麦克风设备来接收超声波。可根据3个EM信号的幅度计算总距离;然后,可通过将麦克风响应的定时与EM线圈的定时相比较来计算飞行时间(图23C)。这可以用于计算距离并且校准EM校正因子。
参考图24A,在另一个实施例中,在以相机为特征的增强现实系统中,可以通过测量另一个设备(诸如手持式控制器)上已知尺寸特征的尺寸(以像素为单位)来计算距离。
参考图24B,在另一个实施例中,在以深度传感器(诸如红外(“IR”)深度传感器)为特征的增强现实系统中,距离可以由这种深度传感器计算并且被直接报告给控制器。
参考图24C和24D,一旦总距离是已知的,则相机或者深度传感器可用于确定空间中的位置。增强现实系统可以被配置为将一个或多个虚拟目标投影给用户。
用户可以将控制器与目标对准,并且系统根据EM响应以及虚拟目标的方向加上先前计算的距离来计算位置。可以通过将控制器上的已知特征与投影到用户的虚拟目标对准来进行滚动角校准;偏航和俯仰角可以通过将虚拟目标呈现给用户并且使用户将控制器上的两个特征与目标对准来校准(很像瞄准步枪)。
参考图25A和25B,存在与6自由度设备的EM跟踪系统相关联的固有模糊度:接收机会在围绕发射机的两个对角线相对的位置生成类似的响应。这种挑战在发射机和接收机两者都可以相对于彼此移动的系统中是特别相关的。
针对六自由度(DOF)跟踪,图腾524(其也可被称为手持式控制器(例如,TX))可以生成在三个分离的频率上调制的EM信号,每个轴X、Y和Z一个频率。如图25A所示的可穿戴装置522(其可以被实现为如图25B所示的AR耳机528)具有被配置为接收X、Y和Z频率上的EM信号的EM接收组件。图腾524的位置和取向(即,姿势)可以基于所接收到的EM信号的特性来导出。然而,由于EM信号的对称性质,如果没有附加的参考坐标系,则可能不能确定图腾位于何处(例如,在用户的前面或者在用户的后面,如用鬼影位置526所示)。也就是说,针对两个在直径上相对的图腾姿势,可在可穿戴装置522、528处获得相同的EM值:第一(例如,前)半球542中图腾524的位置和第二(例如,后)半球中的鬼影位置526,其中,被选择平面540穿过划分两个半球的球体的中心。因此,对于可穿戴装置522、528对所接收的EM信号的单个快照,任一个姿势都是有效的。然而,当图腾524被移动时,如果选择错误的半球,则由于来自各种传感器的数据的不一致,跟踪算法通常将遇到误差。半球模糊度由于以下事实而部分地出现:当启动六DOF跟踪会话时,初始的EM图腾数据不具有明确的绝对位置。相反,它提供相对距离,该相对距离可被解释为在用处于两个半球之间中心的可穿戴装置(例如,被戴在用户的头部上的AR耳机)分成两个相等半球的3D体积中的两个位置中的一个。因此,本发明的实施例提供解析半球模糊度以便使能成功地跟踪图腾的实际位置的方法和系统。
这样的模糊度被Kuipers很好地记录,其中,EM信号(它们自身是交流正弦输出)被描述为3×3矩阵S,作为在EM发射机坐标系中的EM接收机的函数。
S=f(T,r)
其中,T是从发射机坐标系到接收机坐标系的旋转矩阵,r是在EM发射机坐标系中的EM接收机位置。然而,由于Kuipers解指出对任何6DOF位置求解包含对正弦函数进行平方,其中,a-1位置也将对a+1位置求解,从而产生半球模糊度问题。
在一个实施例中,可以使用IMU传感器来看图腾524(例如,EM发射机)是在对称轴的正侧还是负侧。在诸如如上所述的以世界相机和深度相机为特征的实施例中,可使用该信息来检测图腾524是在参考轴的正侧还是负侧。如果图腾524在相机和/或深度传感器的视场以外,则系统可以被配置为决定(或者用户可决定)图腾524必须在例如用户正后方的180°区域中。
通常在本领域中,(在可穿戴装置528中提供的)EM接收机被定义在(在图腾524中提供的)EM发射机坐标系中(如图25C所示)。为了校正双可能接收机位置(即,实际接收机位置528和错误接收机位置530,该错误接收机位置530与可穿戴装置528的实际位置相对于发射机524是对称的),建立被指定的初始化位置以将设备(即,可穿戴装置528)定位到特定参考位置,并消除可替代解(即,错误接收机位置530)。然而,这种被要求的起始位置可以与预期或期望用途相冲突。
相反,在一些实施例中,(在图腾524中提供的)EM发射机被定义在(在可穿戴装置528中提供的)EM接收机坐标系中,如图25D所示。针对这样的实施例,修改Kuipers解,以使得对S的转置求解。该S矩阵转置操作的结果等同于处理EM发射机测量,如同它是EM接收机的一样,并且反之亦然。特别地,相同的半球模糊度现象仍然存在,但是相反表现在EM接收机的坐标系中。也就是说,可能的发射机位置被识别为图腾524的实际位置和鬼影位置526(也称为错误发射机位置),该错误发射机位置与图腾524的实际位置相对于可穿戴装置528是对称的。
与在用户的位置处和在与发射机相对的错误位置处都出现的模糊半球相反,EM跟踪系统现在具有在用户前面的半球542和在用户后面的半球544,如图25E所示。通过放置居中在该转置的接收机位置(例如,可穿戴装置528的位置)处的半球边界(例如,切换平面)540,平面法向量ns 532来自原点(即,在被放置在可穿戴装置528中的接收机处),并被指向与来自可穿戴装置528的直(水平)线成预定角度α534的方向。在一些实施例中,预定角度α534可以是与来自可穿戴装置528的直线的45°。在其他实施例中,预定角度α534可以相对于来自可穿戴装置528的直线测量的其他角度,并且使用45°仅是示例性的。通常,如果用户正将图腾524保持在腰部水平处,则图腾将通常在以与来自可穿戴装置528的直线成近似45°角取向的平面法向量ns 532附近。本领域的普通技术人员会认识到许多变型、修改和替换。
如果图腾524在用户前面的半球(即,图25E中的半球542)内,那么平面法向量ns532、表示图腾524的位置的位置向量p将满足ns·p>0的点积不等式关系,其中,p是在接收机坐标系中定义的向量的位置点。向量p 536可以是将在图腾524处提供的发射机连接到在可穿戴装置528处提供的接收机的向量。例如,向量p 536可以以与法向量ns 532成预定角度β538被提供。当在接收机坐标系中确定(在图腾524处的)发射机的位置时,识别两个位置点向量:第一(正)位置点向量p 536和第二(负)位置点向量546,其中第二(负)位置点向量546与第一位置点向量p 536相对于(在可穿戴装置528处的)接收机对称。
为了确定设备(例如,图腾524)落在哪个半球中,将S矩阵的两个可能解应用于点积,并且正数产生正确的半球位置。这种确定对于所描述的系统和其内的用例据说也是真的,因为用户不太可能将设备保持在他们后面的合理距离处。
图25F示出了根据一些实施例的描述使用手持式设备相对于耳机的位置向量确定手持式控制器的正确姿势的流程图550。根据各种实施例,流程图550的步骤可以在耳机的初始化过程期间执行。在步骤552处,光学设备系统的手持式控制器发射一个或多个磁场。在步骤554处,定位在系统的耳机(例如,可由用户穿戴的)内的一个或多个传感器检测由手持式控制器发射的一个或多个磁场。在步骤556处,被耦合到耳机的处理器基于一个或多个磁场来确定在第一半球内手持式控制器相对于耳机的第一位置和第一取向。在步骤558处,处理器基于一个或多个磁场来确定在第二半球内手持式控制器相对于耳机的第二位置和第二取向。相对于耳机,第二半球与第一半球在直径上相对。在步骤560处,处理器确定(定义)相对于耳机的法向量和标识在第一半球中手持式控制器相对于耳机的位置的位置向量。以耳机的坐标系定义位置向量。法向量起源于耳机并以与来自耳机的水平线的预定角度延伸。在一些实施例中,预定角度是从来自耳机的水平线向下45°角。在步骤562处,处理器计算法向量和位置向量的点积。在一些示例中,在计算法向量和位置向量的点积后,处理器可以确定点积的结果是正值还是负值。
在步骤564处,当点积的结果被确定为正值时,处理器确定手持式控制器的第一位置和第一取向是准确的。因此,当点积的结果是正时,第一半球被识别为相对于耳机的前半球,第二半球被识别为相对于耳机的后半球。然后,系统可以在点积的结果是正时基于第一位置和第一取向来将虚拟内容传递到系统的显示器。
在步骤566处,当点积的结果被确定为负值时,处理器确定手持式控制器的第二位置和第二取向是准确的。因此,当点积的结果是负时,第二半球被识别为相对于耳机的前半球,第一半球被识别为相对于耳机的后半球。然后,系统可以在点积的结果是负时基于第二位置和第二取向来将虚拟内容传递到系统的显示器。在一些实施例中,如果点积被确定为是正的,则不执行步骤S566(即,步骤566可以是可选步骤)。类似地,在一些实施例中,如果点积被确定为是正的,则不执行步骤S558(即,步骤558可以是可选步骤)。
返回参考上面向外取向的相机设备(124,154,156)被耦合到系统组件(诸如头戴式组件(58))的实施例,被耦合到这种头戴式组件(58)的头部的位置和取向可以使用从这些相机设备收集的信息、使用诸如同步定位与地图构建或“SLAM”技术(也称为并行跟踪与地图构建或“PTAM”技术)的技术来确定。
实时或近实时地(即,优选地,具有确定和更新的低延迟)理解用户的头部的位置和取向(也称为用户的“头部姿势”)在确定用户在他或她周围的实际环境内何处以及如何相对于用户和与用户的增强或混合现实体验有关的环境放置和呈现虚拟内容时是有价值的。典型的SLAM或PTAM配置包含从进入的图像信息中提取特征并将其用于三角测量3D地图点,然后,针对那些3D地图点进行跟踪。SLAM技术已经在许多实现方式中使用,诸如在自动驾驶汽车中,与在可穿戴计算设备(诸如头戴式组件(58))上可用的计算、功率和感测资源相比较时,在自动驾驶汽车中的计算、功率和感测资源可以是相对丰富的。
参考图26,在一个实施例中,可穿戴计算设备(诸如头戴式组件(58))可包括产生两个相机图像(左204,右206)的两个面向外相机。在一个实施例中,相对轻量、便携、和节能的嵌入式处理器(诸如由Movidius(RTM)、Intel(RTM)、Qualcomm(RTM)、或Ceva(RTM)销售的嵌入式处理器)可以包括头戴式组件(58)的一部分并且被可操作地耦合到相机设备。嵌入式处理器可以被配置为首先从相机图像(204,206)中提取特征(210,212)。如果两个相机之间的校准是已知的,那么系统可以三角测量(214)那些特征的3D地图点,导致稀疏的3D地图点集(202)。这可被存储为“地图”,并且这些第一框架可被用于建立“世界”坐标系原点(208)。当后续图像信息从相机进入嵌入式处理器时,系统可以被配置为将3D地图点投影到新图像信息中,并且与已经在图像信息中被检测到的2D特征的位置相比较。因此,系统可以被配置为尝试建立2D到3D对应,并使用一组这样的对应,诸如其中大约六个,可以估计用户的头部(其当然被耦合到头戴式设备58)的姿势。更大数量的对应(诸如超过六个)通常意味着更好的估计姿势的作业。当然,该分析依赖于知道在当前图像被检查之前用户的头部在何处(即,在位置和取向方面)。只要系统能够没有太多延迟地跟踪,系统就可以使用来自最近时间的姿势估计来对于大多数当前数据估计头部在何处。因此,如果最后一帧是原点,则系统可以被配置为估计用户的头部在位置和/或取向方面离此不远,并且可以搜索周围以找到用于当前时间间隔的对应。这是跟踪配置的一个实施例的基础。
在移动得足够远离原始地图点集(202)之后,一个或两个相机图像(204,206)可以开始在新进入的图像中丢失地图点(例如,如果用户的头部正在空间中向右旋转,则原始地图点可以开始向左侧消失并且可能仅出现在左图像中,然后随着更多旋转全都没有)。一旦用户已经旋转得太远离原始地图点集,则系统可以被配置为创建新的地图点,诸如通过使用类似于以上描述的过程(检测特征,创建新的地图点)-这是系统如何可以被配置为保持填充地图。在一个实施例中,取决于用户正将他的头部相对于他的环境平移和/或旋转多少,并从而平移和/或旋转相关联的相机,可以每隔10至20帧再重复该过程。与新创建的地图点相关联的帧可以被认为是“关键帧”,并且系统可以被配置为用关键帧来延迟特征检测过程,或者可替代地,可以在每个帧上执行特征检测以试图建立匹配,然后当系统准备好创建新的关键帧时,系统已经完成了该相关联的特征检测。因此,在一个实施例中,基本范例是开始创建地图,然后跟踪、跟踪、跟踪,直到系统需要创建另一个地图或其附加部分为止。
参考图27A,在一个实施例中,基于视觉的姿势计算可以被分成5个阶段(预跟踪216,跟踪218,低延迟地图构建220,延迟容忍地图构建222,后地图构建/清除224)以协助其中计算、功率、和感测资源可能有限的嵌入式处理器配置的精度和优化。
关于预跟踪(216),系统可以被配置为在图像信息到达之前识别哪个地图点投影到图像中。换句话说,系统可以被配置为假定系统知道用户以前在何处并且知道用户将要去何处,识别哪些地图点会投影到图像中。
下文进一步讨论“传感器融合”的概念,但是,此处值得注意的是,系统可以从传感器融合模块或功能得到的一个输入可以是以相对快的速率的“姿势估计”信息,诸如以250Hz从惯性测量单元(“IMU”)或其他传感器或设备(这相对于比如30Hz是高速率,基于视觉的姿势计算操作可以30Hz提供更新)。因此,相对于基于视觉的姿势计算,可以有姿势信息的更精细的时间分辨率从IMU或其他设备导出;但是,也值得注意的是,来自诸如IMU的设备的数据倾向于稍微有噪声并且易受到姿势估计漂移,如下文所讨论的。针对相对短的时间窗口,诸如10-15毫秒,IMU数据在预测姿势中可以是相当有用的,并且此外,当与传感器融合配置中的其他数据组合时,可以确定优化的总体结果。例如,如下文参考图28B-28G更详细地解释的,可以调整收集点的传播路径,并且根据该调整,可以通过传感器融合基于所调整的传播路径确定未来点可以在哪里来估计/通知在稍后时间的姿势。
来自传感器融合模块或功能的姿势信息可以被称为“姿势先验”,并且该姿势先验可被系统用于估计哪些点集将要投影到当前图像中。因此,在一个实施例中,在“预跟踪”步骤(216)中,系统被配置为预获取那些地图点并执行有助于减小总体处理延迟的某一预处理。每一个3D地图点可以与描述符相关联,以使得系统可以唯一地识别它们并将它们与图像中的区域相匹配。例如,如果给定地图点通过使用在其周围有图像块(patch)的特征来创建,则系统可以被配置为连同地图点一起维持该图像块的某种外表,以使得当地图点被看到投影到其他图像上时,系统可以回顾用于创建地图的原始图像,检查图像块相关性,并确定它们是否是同一点。因此,在预处理中,系统可以被配置为进行一定量的地图点的获取以及与那些地图点所关联的图像块相关联的一定量的预处理。因此,在预跟踪(216)中,系统可以被配置为预获取地图点,并对图像块进行预扭曲(可以进行图像的“扭曲”以确保系统可将与地图点相关联的图像块与当前图像相匹配;这是确保被比较的数据是兼容的方式)。
返回参考图27,跟踪阶段可以包括若干组成,诸如特征检测、光流分析、特征匹配、和姿势估计。当在进入的图像数据中检测特征时,系统可以被配置为利用光流分析以通过试图跟随来自一个或多个先前图像的特征来节省特征检测中的计算时间。一旦特征已经在当前图像中被识别,则系统可以被配置为试图将特征与被投影的地图点相匹配-这可以被认为是配置的“特征匹配”部分。在预跟踪阶段(216)中,系统优选地已经识别了哪些地图点是感兴趣的,并且获取它们;在特征映射中,它们被投影到当前图像中,并且系统试图将它们与特征相匹配。特征映射的输出是一组2-D到3-D对应,并且利用它,系统被配置为估计姿势。
当用户跟踪他的头部时,被耦合到头戴式组件(58),系统优选地被配置为识别用户是否正在看环境的新区域,确定是否需要新的关键帧。在一个实施例中,是否需要新的关键帧的这种分析可以几乎仅基于几何形状;例如,系统可以被配置为查看从当前帧到剩余关键帧的距离(平移距离;还有视场捕获重新取向-例如,用户的头部可以平移地接近但被重新取向,以使得需要完全新的地图点)。一旦系统已经确定新的关键帧应当被插入,则可以开始地图构建阶段。如上所述,与在传统的SLAM或PTAM操作中更可能看到的单一地图构建操作相反,系统可以被配置为将地图构建操作为三个不同操作(低延迟地图构建、延迟容忍地图构建、后地图构建或清除)。
可被简单化认为是新地图点的三角测量和创建的低延迟地图构建(20)是关键阶段,其中,系统优选地被配置为立即执行这种阶段,因为本文所讨论的跟踪的范例依赖于地图点,其中,如果存在可用于跟踪的地图点,则系统仅找到位置。“低延迟”名称是指不容忍未经允许的延迟的概念(换句话说,地图构建的这一部分需要尽可能快地执行或者系统有跟踪问题)。
延迟容忍地图构建222可被简单化认为是优化阶段。总体过程没有绝对要求低延迟以执行该被称为“捆集调整(bundle adjustment)”的操作,该操作提供结果的全局优化。系统可以被配置为检查3D点的位置以及它们从何处观察到。在创建地图点的过程中存在可以链接在一起的许多错误。捆集调整过程可以例如取得从两个不同的观看位置观察到的特定点并使用该信息的全部来获得实际3D几何形状的更好感觉。
结果可以是,3D点还有所计算的轨迹(即,捕获相机的位置、路径)可以被少量地调整。期望执行这些过程以通过地图构建/跟踪过程不累积误差。
后地图构建/清除(224)阶段是其中系统可以被配置为移除地图上在地图构建和跟踪分析中不提供有价值信息的点的阶段。在该阶段中,不提供关于场景的有用信息的这些点被移除,并且这种分析有助于保持整个地图构建和跟踪过程可扩展。
在视觉姿势计算过程期间,假定正由面向外相机观看的特征是静态特征(即,没有相对于全局坐标系在帧间移动)。在各种实施例中,语义分割和/或对象检测技术可被用于从相关区域移除移动对象,诸如人类、移动车辆等,以使得用于地图构建和跟踪的特征不从各种图像的这些区域中提取。在一个实施例中,深度学习技术(诸如下文所描述的)可以用于分割出这些非静态对象。
在一些实施例中,根据如图27B描绘的方法(2710),预获取协议导致姿势估计。从2710到2720,姿势数据随时间被接收,以使得在2730处,可以外推在未来时间的估计姿势。外推可以是简单的来自给定输入的常量值外推,或者是基于如下参考传感器融合所描述的校正输入点的校正外推。
在确定所估计的未来姿势时,在一些实施例中,系统访问针对该位置的特征地图。例如,如果用户正戴着头戴式组件行走,则系统可以基于用户的步伐来外推未来位置,并访问针对该外推/估计位置的特征地图。在一些实施例中,该步骤是如上参考图27A的步骤(216)所描述的预获取。在(2740)处,提取特征地图的特定点,并且在一些实施例中,还提取环绕这些点的图像块。在(2750)处,处理所提取的点。在一些实施例中,处理包括对点进行扭曲以匹配所估计的取向或找到所提取的点或图像块的单应性。
在(2760)处,系统接收实时图像(或者在估计时间处的当前视图)。在(2770)处,所处理的点被投影到所接收的图像上。在2780处,系统建立所接收的图像与所处理的点之间的对应。在一些情况下,系统已经做出了完美的估计,并且所接收的图像和所处理的点完美地对准,确认(2730)的估计姿势。在其他情况下,所处理的点没有完美地与所接收的图像的特征对准,并且系统执行附加的扭曲或调整以基于对应程度来确定正确的姿势(2790)。当然,可能的是,所处理的点没有与所接收的图像中的特征对准,并且系统将不得不恢复到新的跟踪和特征映射,如上文参考图27A和步骤(218)-(224)所描述的。
参考图28A-28F,传感器融合配置可以用于受益于来自具有相对高更新频率的传感器(诸如以诸如250Hz的频率的与头部姿势有关的IMU更新陀螺仪、加速度计、和/或磁强计数据)的一个信息源和以较低频率更新的另一个信息源(诸如以诸如30Hz的频率更新的基于视觉的头部姿势测量过程)。
参考图28A,在一个实施例中,系统可以被配置为使用扩展卡尔曼滤波器(“EKF”,232)并跟踪大量的关于设备的信息。例如,在一个实施例中,它可以占32个状态,诸如角速度(即,来自IMU陀螺仪)、平移加速度(即,来自IMU加速度计)、用于IMU自己的校准信息(即,用于陀螺仪和加速度计的坐标系和校准因子;IMU还可以包括一个或多个磁强计)。因此,系统可以被配置为接收以相对高更新频率(诸如250Hz)的IMU测量结果(226)以及以较低更新频率来自其他源的数据(即,所计算的视觉姿势测量、里程计数据等),此处是以诸如30Hz的更新频率的视觉姿势测量(228)。
每次EKF得到一轮IMU测量时,系统可以被配置为对角速度信息求积分以得到旋转信息(即,角速度的积分(随时间改变的旋转位置的改变)是角位置(角位置的改变));对于平移信息也是同样(换句话说,通过对平移加速度进行双重积分,系统将得到位置数据)。采用这种计算,系统被配置为获得来自头部的六自由度(“DOF”)姿势信息(X、Y、Z上的平移;针对三个旋转轴的取向)-以高频率从IMU(即,在一个实施例中是250Hz)。每次积分完成时,噪声被累积在数据中;对平移或旋转加速度进行双重积分可以传播噪声。
通常,在一个实施例中,系统被配置为不依赖于由于噪声易受到“漂移”的这种数据太长时间窗口,诸如比大约100毫秒更长。来自视觉姿势测量(228)的进入的较低频率(即,在一个实施例中以大约30Hz更新)数据可以被用于作为对EKF(232)的校正因子来操作,产生校正输出(230)。
图28B-28F示出了以较高更新频率来自一个源的数据可以如何与以较低更新频率来自另一个源的数据相组合。如图28B所描绘的,例如,示出了以较高频率(诸如250Hz)来自IMU的第一组动态输入点(234),以及诸如来自视觉姿势计算过程的以较低频率(诸如30Hz)进入的校正输入点(238)。系统可以被配置为当这样的信息可用时校正(242)到视觉姿势计算点,然后向前继续第二组动态输入点(236)(诸如来自IMU数据的点)和到从视觉姿势计算过程可用的另一校正输入点(240)的另一校正(244)。换句话说,从第一传感器收集的高频率动态输入可以被从第二传感器收集的低频率校正输入周期性地调整。
这样,本发明的实施例使用EKF将采用视觉姿势数据的校正“更新”应用到来自IMU的数据的“传播路径”。针对未来点集合,如图28B所描绘的这种更新将动态输入(234)的传播路径调整到在校正输入点(238)的新原点,然后再到在(240)处的新原点,等等。在一些实施例中,并不是将传播路径调整到起源于校正输入点,而是可以通过用所计算的系数改变用于第二组动态输入的变化率(即,图28B中的点(236)的斜率)来调整传播路径。这些调整可以通过将新的数据集合解释为与校正输入的不太严重的不同来减少系统中的抖动。
例如,如图28B-2所描绘的,系数被应用于第二组动态输入点(236),以使得传播路径的原点与第一组动态输入点(234)的传播路径的最后一点相同,但是与第一组动态输入点(234)的变化率相比较倾斜得不太严重。如图28B-2所描绘的,校正(242)和(244)的大小改变了,但是不如如果在时间TN处没有校正输入那样严重,并且取决于计算资源和传感器,如图28B-1所示的在TN和TN+M处进行两次完全校正可能与图28B-2的更细微的调整相比更加计算昂贵并且易于在传感器之间引入抖动。进一步地,如图28B所描绘的,校正输入点(238)和(240)处于相同的位置;如果那些点也在移动,则用户可以受益于有动态输入点的斜率调整,这与原点调整相比将传播路径(236)的最后一点放置得更接近于校正输入点(240)。
图28G描绘了在(2810)处收集第一组动态点、然后在(2820)处收集校正输入点的方法2800。在一些实施例中,方法2800进行到步骤(2830a),其中收集第二组动态点,并且在(2830b)处,基于校正输入来调整(诸如通过调整所记录的变化率,或者调整该传播路径的原点)那些收集点的最终的传播路径。在一些实施例中,在(2820)处收集校正输入点之后,在(2830b)处确定调整以应用于此后收集的动态点,并且在(2830a)处,当收集第二组动态输入点时,实时地调整传播路径。
对于采用已知随时间产生复合误差/噪声的传感器和产生低误差/噪声的其他传感器的系统,这种传感器融合提供更经济的计算资源管理。
值得注意的是,在一些实施例中,来自第二源的数据(即,诸如视觉姿势数据)可以不仅以较低的更新频率进入,而且可以有延迟-这意味着系统优选地被配置为当来自IMU的信息和视觉姿势计算被结合时,导航时域调整。在一个实施例中,为了确保系统在IMU数据中在正确的时域位置融合视觉姿势计算输入,IMU数据的缓冲器可被维持以返回到IMU数据中的时间(比如“Tx”)以进行融合,并计算在与来自视觉姿势计算的输入有关的时间的“更新”或调整,然后在到当前时间(即“Tcurrent”)的前向传播中说明,这在所调整的位置和/或取向数据与来自IMU的大多数当前数据之间留下间隙。为了确保在对用户的呈现中没有太多的“跳跃”或“抖动”,系统可以被配置为使用平滑技术。解决该问题的一个方式是使用加权平均技术,其可以是线性、非线性、指数等的,以最终将融合的数据流向下驱动到被调整路径。参考图28C,例如,加权平均技术可以在T0与Tl之间的时域上使用以将信号从未被调整路径(252;即,直接来自IMU)驱动到被调整路径(254;即,基于来自视觉姿势计算过程的数据);图28D示出了一个示例,其中,示出了融合结果(260)在未被调整路径(252)和时间TO处开始,并在Tl之前指数地移动到被调整路径(254)。参考图28E,示出了一系列校正机会,在每个序列中,融合结果(260)从上面的路径朝向下面的路径的指数时域校正(第一校正是从第一路径252(即从IMU)到第二路径254,即从基于视觉的姿势计算;然后,使用继续的IMU数据向前继续类似模式,同时使用每个进入的基于视觉的姿势计算点,基于来自视觉姿势的连续点,向着连续的校正的下路径256、258在该示例中向下校正)。参考图28F,采用“更新”或校正之间的足够短的时间窗口,总体的融合结果(260)在功能上可以被认为是相对平滑的图案结果(262)。
在其他实施例中,并不是直接依赖于视觉姿势测量,而是系统可以被配置为检查导数EKF;换句话说,并不是直接使用视觉姿势计算结果,而是系统使用从当前时间到先前时间的视觉姿势的变化。例如,如果视觉姿势差异中的噪声量远小于绝对视觉姿势测量中的噪声量,则可以追求这样的配置。优选的是没有抛弃融合结果的瞬时误差,因为所有这一切的输出是姿势,其作为“姿势先验”值被发送回视觉系统。
姿势结果的基于外部系统的“消费者”可以被称为“姿势服务”,并且系统可以被配置为使得所有其他系统组件当在任何给定时间请求姿势时接入姿势服务。姿势服务可以被配置为是具有用于时间切片序列的数据的队列或堆栈(即,缓冲器),一端具有最新数据。如果姿势服务的请求是当前姿势或是在缓冲器中的其他姿势,则它可以被立即输出;在某些配置中,姿势服务将接收针对以下内容的请求:从现在开始在时间上向前20毫秒的姿势将是什么(例如,在视频游戏内容渲染场景中-可能期望相关的服务知道从现在开始在不久的将来它需要在给定位置和/或取向渲染什么)。在用于产生未来姿势值的一个模型中,系统可以被配置为使用恒定速度预测模型(即,假定用户的头部在以恒定的速度和/或角速度移动);在用于产生未来姿势值的另一个模型中,系统可以被配置为使用恒定加速度预测模型(即,假定用户的头部在以恒定的加速度平移和/或旋转)。
数据缓冲器中的数据可以用于使用这样的模型外推姿势将在何处。恒定加速度模型比恒定速度模型使用稍微更长的尾部到用于预测的缓冲器的数据中,并且已经发现,主题系统能够预测到未来20毫秒的范围内而没有实质性退化。因此,姿势服务可以被配置为在可被用于输出姿势的数据方面使数据缓冲器及时返回,以及大约20毫秒或更向前。
在操作上,内容操作通常将被配置为识别下一帧图将在何时到来(例如,它将试图在时间T或在时间T+N绘制,N是从姿势服务可用的下一更新数据间隔)。
面向用户(即,面向内,诸如朝向用户的眼睛)相机(诸如那些在图16B中描绘的相机(14))的使用可被用于执行眼睛跟踪,如例如在美国专利申请No.14/707,000和15/238,516中所描述的,这两个专利申请的整体内容通过引用被并入本文。系统可以被配置为执行眼睛跟踪中的若干步骤,诸如首先拍摄用户的眼睛的图像;然后使用分割分析以将眼睛的解剖结构进行分割(例如,从虹膜、巩膜、周围皮肤中分割出瞳孔);然后,系统可以被配置为使用在眼睛的图像中识别出的闪烁位置来估计瞳孔中心,该闪烁起因于小的照明源(16),诸如LED,其可以被放置在头戴式组件(58)的面向内侧的周围;根据这些步骤,系统可以被配置为使用几何关系以确定关于特定眼睛在注视空间中的何处的准确估计。这样的过程对于两只眼睛是相当计算密集的,特别是鉴于在便携式系统(诸如以在板载嵌入式处理器上和有限的功率为特征的头戴式组件(58))上可用的资源。深度学习技术可被训练并用于解决这些和其他计算挑战。
例如,在一个实施例中,深度学习网络可用于执行前述的眼睛跟踪范例的分割部分(即,深度卷积网络可被用于将左眼图像和右眼图像分割成虹膜、瞳孔、巩膜、和剩余种类的鲁棒逐像素分割),而其他所有都保持不变;这种配置进行该过程的大型计算密集部分之一,并使其明显更有效。在另一个实施例中,一个联合深度学习模型可被训练并用于执行分割、瞳孔检测、和闪烁检测(即,深度卷积网络可被用于将左眼图像和右眼图像分割成虹膜、瞳孔、巩膜、和剩余种类的鲁棒逐像素分割;然后,眼睛分割可被用于使活动的面向内LED照明源的2D闪烁位置变窄);然后,可以执行几何计算以确定注视。这种范例还使计算流水线化。在第三实施例中,深度学习模型可被训练并用于基于来自面向内相机的眼睛的两个图像来直接估计注视(即,在这种实施例中,仅使用用户的眼睛的图像的深度学习模型可以被配置为告诉系统用户正注视三维空间中的何处;深度卷积网络可被用于将左眼图像和右眼图像分割成虹膜、瞳孔、巩膜、和剩余种类的鲁棒逐像素分割;然后,眼睛分割可用于使活动的面向内LED照明源的2D闪烁位置变窄;2D闪烁位置连同3D LED位置一起可被用于检测3D的角膜中心;注意,所有3D位置可以在相应的相机坐标系中;然后,眼睛分割还可被用于使用椭圆拟合来检测2D图像中的瞳孔中心;使用离线校准信息,2D瞳孔中心可被映射到3D注视点,其中,深度在校准期间被确定;将角膜3D位置和3D注视点位置连接的线是针对该眼睛的注视向量);这种范例还使计算流水线化,并且给定左图像和右图像,相关的深度网络可被训练以直接预测3D注视点。这种深度网络执行这种训练的损失函数可以是简单欧几里德损失,或者还包括众所周知的眼睛模型的几何约束。
进一步地,深度学习模型可被包括以用于使用来自面向内相机的用户的虹膜的图像的生物识别。这样的模型还可被用于确定用户是否正佩戴隐形眼镜-因为该模型将在来自面向内相机的图像数据的傅里叶变换中跳出。
面向外相机(诸如那些在图16A中描绘的相机(124、154、156))的使用可被用于执行SLAM或PTAM分析以用于姿势的确定,诸如用户的头部相对于他目前正戴着头戴式组件(58)所处的环境的姿势,如上所描述的。大多数SLAM技术取决于几何特征的跟踪和匹配,如在以上实施例中所描述的。通常,它在其中面向外相机能够检测角点、边缘和其他特征的“纹理化”世界中是有帮助的;进一步地,可以进行关于在场景中检测到的特征的永久性/静态的某些假定,并且使得大量的计算和功率资源可用于SLAM或PTAM过程的该地图构建和跟踪分析的全部是有帮助的;这样的资源可能对于某些系统供应不足,诸如一些便携或可穿戴的系统,它们可能可用的嵌入式处理能力和功率有限。深度学习网络可被并入各种实施例中以观察图像数据的差异,并且基于训练和配置,在主题系统的变型的SLAM分析中起关键作用(在SLAM的上下文中,在此的深度网络可以被认为是“DeepSLAM”网络)。
在一个实施例中,DeepSLAM网络可以用于估计从耦合到待被跟踪的组件(诸如增强现实系统的头戴式组件(58))的相机捕获的帧对之间的姿势。系统可以包括被配置为学习姿势(例如,头戴式组件58的姿势)的变换并且以跟踪方式应用该变换的卷积神经网络。系统可以被配置为开始看特定向量和取向,诸如在已知原点处(因此,0,0,0作为X,Y,Z)一直向前。然后,用户的头部可以例如在帧0与帧1之间被向右移动一点,然后向左移动一点,目标是寻找姿势变换或相对姿势变换。相关联的深度网络可以在图像对上被训练,例如,其中我们知道姿势A和姿势B以及图像A和图像B;这导致某个姿势变换。随着姿势变换被确定,可以将相关联的IMU数据(来自加速度计、陀螺仪等的-如上文所讨论的)集成到姿势变换中,并在用户移动离开原点、在房间内走动、以及以无论什么轨迹移动时继续跟踪。这种系统可以被称为“相对姿势网”,如上所述,它是基于其中已知姿势信息是可用的帧对来训练的(变换是从一帧到另一帧来确定的,并且基于实际图像中的变化,系统学习姿势变换在平移和旋转方面是什么)。深度单应估计或者相对姿势估计已经例如在美国专利申请No.62/339,799中被讨论,它的整体内容通过引用被并入本文。
当这样的配置被用于从帧0到帧1执行姿势估计时,结果通常是不完美的,并且系统必须具有用于处理漂移的装置。当系统从帧1向前移动到2到3到4并估计相对姿势时,在每对帧之间带来少量的误差。该误差通常累积并变成问题(例如,在不解决该基于误差的漂移的情况下,系统可以将用户和他或她的相关联的系统组件放置在采用姿势估计的错误位置和取向为结束)。在一个实施例中,“回环(loop closure)”的概念可适用于解决什么可被称为“重定位”问题。换句话说,系统可以被配置为确定它以前是否已经在特定地点——并且如果是的话,则所预测的姿势信息应当考虑到针对相同位置的先前姿势信息。例如,系统可以被配置为使得在任何时候它在它重定位之前已经被看到的地图上看见帧;如果平移在X方向上偏离例如5mm,并且旋转在θ方向上偏离例如5度,那么系统将该差异连同其他相关联的帧的差异一起固定;因此,轨迹变成正确的,与错误的相反。在美国专利申请No.62/263,529中讨论了重定位,它的整体内容通过引用被并入本文。
事实还证明,当估计姿势时,特别是通过使用IMU信息(即,诸如来自相关联的加速度计、陀螺仪等,如上所述的)估计姿势时,在所确定的位置和取向数据中存在噪声。如果这样的数据直接被系统用于呈现图像而没有进一步的处理,例如,则很可能用户会体验不期望的抖动和不稳定性;这是为什么在某些技术(诸如上文所描述的一些)中可以利用卡尔曼滤波器、传感器融合技术、和平滑函数。
采用深度网络方案,诸如上述的使用卷积神经网络来估计姿势的深度网络方案,可以使用类似于长短期记忆网络的循环神经网络或RNN解决平滑问题。换句话说,系统可以被配置为建立卷积神经网络,并在那之上放置RNN。传统的神经网络在设计中是前馈、在时间上是静态的;给定图像或图像对,它们就给你答案。采用RNN,层的输出被添加到下一个输入中并再次被反馈到相同层-通常它是网络中仅有的层;可以被设计成“基于时间的通路”-在每个时间点,同一网络层重新考虑稍微在时间上被调谐的输入,并且重复该循环。
进一步地,不同于前馈网络,RNN可以接收值序列作为输入(即,随时间排序的)-并且还可以产生值序列作为输出。具有内置反馈环的RNN的简单结构允许它的行为像预测引擎一样,并且在该实施例中与卷积神经网络组合时的结果是,系统可以从卷积神经网络取得相对有噪声的轨迹数据,将其推送经过RNN,并且它将输出更平滑、更像人类运动的轨迹,诸如可被耦合到可穿戴计算系统的头戴式组件(58)的用户的头部的运动。
系统还可以被配置为根据立体图像对来确定对象的深度,其中,你有深度网络并且左图像和右图像是输入。卷积神经网络可以被配置为输出左右相机之间(诸如在头戴式组件58上的左眼相机与右眼相机之间)的差异;如果相机的焦距是已知的,则所确定的差异是深度的倒数,因此,系统可以被配置为有效地计算具有差异信息的深度;然后可以进行网格化和其他过程,而不涉及用于感测深度的可替代组件,诸如深度传感器,它可能要求相对高的计算和功率资源负载。
关于语义分析和将深度网络应用于主题增强现实配置的各种实施例,若干区域是特别感兴趣的和适用性,包括但不限于手势和关键点的检测、面部识别、和3D对象识别。
关于手势识别,在各种实施例中,系统被配置为识别由用户的手作出的某些手势以控制系统。在一个实施例中,嵌入式处理器可以被配置为利用被称为“随机森林”的连同感测深度信息一起以识别用户的某些手势。随机森林模型是非确定性模型,该非确定性模型可能需要相当大的参数库,并且可能要求相对大的处理和因此的功率需求。
进一步地,深度传感器可能不总是最佳地适合于读取带有某些背景(诸如靠近主题手的深度的课桌或桌面或墙)的手势,这是因为某些深度传感器的噪声限制和不能准确地确定例如1或2cm深度之间的差异。在某些实施例中,随机森林类型的手势识别可以用深度学习网络替换。将深度网络用于这种配置的挑战之一是在图像信息的做标记部分,诸如像素,如“手”或“非手”;训练并利用具有这种分割挑战的深度网络可能要求用数百万图像进行分割,这是非常昂贵且耗费时间的。为了解决这一点,在一个实施例中,在训练时间期间,热感相机(诸如那些可用于军事或安全目的的热感相机)可以被耦合到传统的面向外相机,以使得热感相机基本上通过显示图像的哪些部分对于人手足够热并且哪些部分对于人手不够热来自行进行“手”和“非手”的分割。
关于面部识别,假定主题增强现实系统被配置为被穿戴在有其他人的社会环境中,理解谁在用户周围可能有相对高的价值-不仅用于简单地识别附近的其他人,而且用于调整所呈现的信息(例如,如果系统将附近的人识别为成人朋友,则它可以建议你下棋并进行辅助;如果系统将附近的人识别为你的孩子,则它可以建议你去踢足球并可进行辅助;如果系统没有识别附近的人或者将附近的人识别为已知的危险,则用户可能倾向于避免接近这样的人)。
在某些实施例中,深度神经网络配置可被用于以与以上关于深度重定位所讨论的方式类似的方式辅助面部识别。可以用与用户的生命有关的多个不同的面部来训练模型,然后,当面部靠近系统(诸如靠近头戴式组件(58))时,系统可获取像素空间中的该面部图像,将其转换成例如128维向量,然后使用向量作为高维空间中的点,以确定该人是否在你的已知人列表中。实质上,系统可以被配置为在该空间中进行“最近邻居”搜索,并且事实证明,这种配置可以是非常准确的,误报率在1/1000范围内。
关于3D对象检测,在某些实施例中,合并深度神经网络是有用的,该网络将从3维视角告诉用户他所处的空间(即,不仅是墙、地板、天花板,而且还有填充房间的对象,诸如沙发、椅子、橱柜等-不仅从传统的2维意义上,而且从真实的3维意义上)。例如,在一个实施例中,期望用户具有理解房间中沙发的真实体积范围的模型,以使得例如在虚拟球或其他对象将被投掷的情况下,用户知道沙发的体积占据了多少体积。深度神经网络模型可以用于形成具有高复杂度的长方体模型。
在某些实施例中,深度强化网络或者深度强化学习可以用于有效地学习代理在特定上下文中应当做什么,而用户不必直接告诉该代理。例如,如果用户想要总是有他的狗在他正占据的房间到处走的虚拟表示,但是他想要该狗表示总是可见的(即,不被隐藏在墙或橱柜的后面),则深度强化方法可以将场景转换成分类游戏,其中,虚拟代理(在此是虚拟狗)被允许在用户附近的物理空间中漫步,但是在训练时间期间,如果狗从例如T0到T1都待在可接受的位置,则给出奖励,而如果用户的狗的视图变成被遮挡、丢失、或碰到墙或对象,则给出惩罚。采用这种实施例,深度网络开始学习它需要做什么来得分而不是失分,并且很快它知道它需要知道什么来提供期望的功能。
系统还可以被配置为以接近或者匹配用户周围的实际世界的照明的方式来解决虚拟世界的照明。例如,为了在增强现实中使虚拟感知尽可能最佳地与实际感知相混合,光色、阴影、和光向量用虚拟对象尽可能实际地再现。换句话说,如果虚拟不透明咖啡杯将被定位在房间中的实际桌面上,而来自房间的一个特定角落的浅黄色的光从在真实世界桌上的真实世界对象产生阴影,那么最佳地,虚拟咖啡杯的光着色和阴影会匹配实际场景。在某些实施例中,深度学习模型可以用于学习放置了系统组件的实际环境的照明。例如,可以利用这样的模型:给定来自实际环境的图像或图像序列,它学习房间的照明以确定一个或多个光源的因素,诸如亮度、色度和向量化。这种模型可以根据综合数据并根据从用户的设备(诸如从用户的头戴式组件(58))捕获的图像来训练。
参考图29,示出了可以被称为“Hydra”架构(272)的深度学习网络架构。采用这种配置,各种输入(270),诸如IMU数据(来自加速度计、陀螺仪、磁强计)、面向外相机数据、深度感测相机数据、和/或声音或语音数据,可以被输送到具有一组较低层(268)的多层集中处理资源,该组较低层执行总体处理的重要部分;将结果传递到一组中间层(266),并且最终传递到表示各种过程功能的多个相关联的“头部”(264)中的一个或多个,诸如面部识别、视觉搜索、手势识别、语义分割、对象检测、照明检测/确定、SLAM、重定位、和/或深度估计(诸如来自立体图像信息,如上文所讨论的)。
通常,当使用深度网络来实现各种任务时,将针对每个任务建立算法。因此,如果期望识别汽车,则将针对汽车识别建立算法;如果期望识别面部,则将针对面部识别建立算法;这些算法可以同时运行。如果无限的或高水平的功率和计算资源是可用的,则这种配置将正常工作并且得到结果;但是在许多场景中,诸如嵌入式处理器具有有限的电源和有限的处理能力的便携式增强现实系统的场景,计算和功率资源可以是相对有限的,可能期望一起处理任务的某些方面。进一步地,有证据证明,如果一个算法具有来自另一个算法的知识,那么这使得第二个算法更好。例如,如果一个深度网络算法知道狗和猫,则来自这的知识转移(也称为“领域自适应”)可以帮助另一个算法更好地识别鞋。因此,有理由在训练和推理期间在算法之间有某种串扰。
进一步地,存在与算法设计和修改有关的考虑。优选地,如果相对于算法的初始版本需要进一步的能力,则不需要从头开始完整地重建新算法。所描绘的Hydra架构(272)可以用于解决这些挑战以及计算和功率效率的挑战,因为如上所述,情况是某些计算过程的共同方面可被共享。例如,在所描绘的Hydra架构(272)中,输入(270)(诸如来自一个或多个相机的图像信息)可以进入较低层(268),在其中可以执行相对低水平的特征提取。例如,Gabor函数、高斯导数、基本上影响线、边缘、角点、颜色的东西-这些针对低水平的许多问题是一致的。因此,不管任务变化如何,低水平特征提取可以是相同的,无论它的目的是提取猫、汽车还是奶牛-因此,可以共享与此有关的计算。Hydra架构(272)是允许跨算法的知识共享以使每个算法更好的高级范例,它允许特征共享,以使得计算可以被共享、减少、并且不是冗余的,并且它允许能够扩大一组能力而不必重写所有东西-相反,新的能力可以被堆叠在具有现有能力的基础上。
因此,如上所述,在所描绘的实施例中,Hydra架构表示具有一个统一路径的深度神经网络。网络的底层(268)是共享的,并且它们从输入图像和其他输入(270)中提取视觉基元的基本单元。系统可以被配置为通过一些卷积层以提取边缘、线、轮廓、结点等。程序员用于特征工程的基本组件现在变成被深度网络学习。事实证明,这些特征对许多算法是有用的,无论算法是面部识别、跟踪等。因此,一旦底层计算工作已经完成并存在从图像或其他输入到所有其他算法中的共享表示,那么可以存在单独路径,每个问题一个路径。因此,在该共享表示之上,存在通向非常特定于面部的面部识别的通路,存在通向非常特定于SLAM的跟踪的通路,以及用于该架构(272)的其他“头部”(264)的通路。采用这种实施例,一个具有基本允许乘法加法的该共享计算的全部,另一方面,一个具有在常识之上的非常特定通路,并且允许进行微调和找到对非常特定问题的答案。
另外,这种配置的价值是以下事实:这种神经网络被设计成使得更接近于输入(270)的较低层(268)需要更多的计算,因为在每个计算层,系统取得原始输入,并将其变换到其中事物的维度通常被减少的其他维度空间中。因此,一旦达到网络从底层开始的第五层,则计算量可以在小于最低层所需的20倍的范围内(即,因为输入大得多,要求大得多的矩阵乘法)。在一个实施例中,在系统已经提取共享计算之前,对于需要被解决的问题是相当不可知的。几乎所有算法的计算的大部分已经在较低层中完成,因此,当新通路被添加以用于面部识别、跟踪、深度、照明等时,这些对计算约束的贡献相对很少,因此,这种架构提供大量的扩展能力。
在一个实施例中,针对前几层,它们可以没有池化以保持最高分辨率数据;中间层可以有池化过程,因为在那时,不需要超高分辨率(例如,不需要超高分辨率来知道汽车的车轮在中间层何处;实际上仅需要以高分辨率知道螺母和螺栓从较低层开始位于何处,然后,图像数据可以在它被传递到中间层以用于汽车的车轮的定位时被明显缩小)。
进一步地,一旦网络具有所有的被学习的连接,则所有东西被松散地连接,并且通过数据有利地学习这些连接。中间层(266)可以被配置为启动学习部件,例如,对象部件、面部特征等;因此,并不是简单的Gabor函数,而是中间层在处理更复杂的构造(即,不规则的形状、阴影等)。然后,当过程朝向顶部移动得更高时,分离成独特的头部组件(264),其中的一些可以具有许多层,其中的一些可能有很少的层。此外,可伸缩性和效率主要归因于以下事实:处理浮点运算次数(flops)的大部分(诸如90%)是在较低层(268)内,然后,浮点运算次数的小部分(诸如5%)是在中间层(266),另一个5%是在头部(264)中。
这样的网络可以使用已经存在的信息来被预先训练。例如,在一个实施例中,图像网络(ImageNet),可以使用来自大的类别组(在1000的范围内)的大的图像组(在1千万的范围内)来训练所有类别。在一个实施例中,一旦被训练了,则可以扔掉区分类别的顶层,但是保留在训练过程中学习的所有权重。
参考图30A,示出配置中的线圈对(302,304),其具有特定半径并被间隔开,可以被称为“亥姆霍兹线圈”。
亥姆霍兹线圈在各种配置中出现(此处示出一对圆形线圈),并且被已知用于产生穿过给定体积(诸如图30B的(306)所示)的相对均匀的磁场;用箭头示出了关于图30B的线圈(302,304)的剖视图的磁场线。图30C示出了三轴亥姆霍兹线圈配置,其中三对(310,312,314)被正交取向,如图所示。亥姆霍兹或梅里特线圈的其他变型(诸如那些以方形线圈为特征的线圈)也可用于产生穿过给定体积的可预测且相对均匀的磁场。在一个实施例中,亥姆霍兹类型线圈可用于辅助校准用于确定可操作地耦合到头戴式组件(58)的两个传感器(诸如以上所述的传感器)之间的关系的取向。例如,参考图30D,如上所述,耦合到IMU(102)和电磁场传感器(604)的头戴式组件(58)可以被放置在亥姆霍兹线圈对(302,304)的已知磁场体积内。采用通过线圈对(302,304)施加电流,线圈可以被配置为以可选择的频率产生磁场。在一个实施例中,系统可以被配置为以直流电平激励线圈以产生从IMU(102)的磁强计组件直接可读的输出;然后,线圈可以交流电平被激励,例如,以产生从电磁定位接收机线圈(604)直接可读的输出。由于在这种配置中那些被施加的场是由相同的物理线圈(302,304)产生的,因此,它们互相注册,并且我们知道场必须具有相同的取向。因此,可以读取来自IMU(102)和电磁场传感器(604)的值,并且直接测量校准,该校准可用于在三个维度上表征两个设备(102,604)之间的取向读数的任何差异,因此,提供运行时两者之间的可用校准。在一个实施例中,头戴式组件(58)可以相对于线圈组(302,304)被机电地重新取向以用于进一步的测试。在另一个实施例中,线圈组(302,304)可以相对于头戴式组件(58)被机电地重新取向以用于进一步的测试。在另一个实施例中,头戴式组件(58)和线圈组(302,304)可以是相对于彼此在机电上可重新取向的。在另一个实施例中,三轴亥姆霍兹线圈(诸如图30C所描绘的)或其他更复杂的磁场产生线圈可用于产生磁场和分量,而不需要头戴式组件(58)相对于线圈组(302、304)的重新取向以用于附加的测试数据。
参考图30E,在这样的校准配置中用于产生可预测磁场的系统或子系统,诸如在亥姆霍兹类型的配置中的线圈对(302,304),可以具有耦合到其的一个或多个光学基准点(316),以使得可包括头戴式组件(58)的一个或多个相机(124)可以观看这样的基准点。这种配置提供了确保电磁感测子系统以已知的方式与相机对准的机会。换句话说,采用这种配置,光学基准点以已知或测量的方式被物理地耦合或固定到磁场生成设备(例如,关节式坐标测量机可被用于建立每个基准点位置316的精确X、Y、Z坐标);头戴式组件(58)可以被放置在测试体积内部并被暴露于磁场,而头戴式组件(58)的相机(124)观察一个或多个基准点(316),并因此校准磁场传感器和相机的外参(因为磁场生成器被附接到相机正在观察的基准点)。光学基准点(316)可包括平坦特征,诸如棋盘、阿鲁科标记、纹理化特征或其他三维特征。光学基准点也可以是动态的,诸如在利用小显示器(诸如LCD显示器)的配置中;它们可以是静态的并被打印输出;它们可以用激光器或化学过程被蚀刻到衬底材料中;它们可包括涂层或阳极化或可由相机(124)识别的其他特征。在工厂校准设置中,多个校准系统(诸如在此所描述的校准系统)可以被彼此相邻地定位,并且可以被定时,以使得相邻系统不产生会干扰在相邻系统处的读数的磁场。在一个实施例中,一组校准站可以是时间排序的;在另一个实施例中,每隔一个、每隔两个、或每隔三个等等可以被同时操作以提供功能分离。
图31示出了根据本文所描述的实施例的简化计算机系统3100。如图31所示的计算机系统3100可以被合并到本文所描述的设备中。图31提供了可以执行由各种实施例提供的方法的步骤中的一些或全部的计算机系统3100的一个实施例的示意图。应当注意,图31仅旨在提供各种组件的一般化图示,任何一个组件或全部组件可以酌情使用。因此,图31广泛地示出了单独的系统元件可以如何以相对分离或相对更集成的方式来实现。
示出的计算机系统3100包括可以经由总线3105电气耦合或可以酌情以其他方式通信的硬件元件。硬件元件可包括:一个或多个处理器3110,包括但不限于一个或多个通用处理器和/或一个或多个专用处理器,诸如数字信号处理芯片、图形加速处理器、和/或类似物;一个或多个输入设备3115,其可以包括但不限于鼠标、键盘、相机、和/或类似物;以及一个或多个输出设备3120,其可以包括但不限于显示设备、打印机、和/或类似物。
计算机系统3100还可以包括一个或多个非暂态存储设备3125和/或与一个或多个非暂态存储设备3125通信,该非暂态存储设备3125可以包括但不限于本地和/或网络访问存储设备,和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储设备、固态存储设备(诸如随机存取存储器(“RAM”)和/或只读存储器(“ROM”)),其可以是可编程的、快闪更新的等。这样的存储设备可以被配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构和/或类似物。
计算机系统3100还可以包括通信子系统3119,该通信子系统3119可以包括但不限于调制解调器、网络卡(无线或有线)、红外通信设备、无线通信设备、和/或芯片集,诸如BluetoothTM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设施等。通信子系统3119可包括允许数据与网络(诸如下文所描述的网络,仅举一个示例)、其他计算机系统、电视、和/或本文所描述的任何其他设备交换的一个或多个输入和/或输出通信接口。取决于期望的功能和/或其他实现问题,便携式电子设备或类似设备可以经由通信子系统3119传递图像和/或其他信息。在其他实施例中,便携式电子设备(例如,第一电子设备)可以被合并到计算机系统3100中,例如,作为输入设备3115的电子设备。在一些实施例中,计算机系统3100将还包括工作存储器3135,该工作存储器3135可以包括RAM或ROM设备,如上文所描述的。
计算机系统3100还可包括被示为当前位于工作存储器3135内的软件元件,包括操作系统3140、设备驱动程序、可执行库、和/或其他代码,诸如一个和多个应用程序3145,其可包括由各种实施例提供的计算机程序;和/或可以被设计为实现方法、和/或配置由其他实施例所提供的系统,如上文所描述的。仅举例来说,关于上文所讨论的方法所描述的一个或多个程序可以被实现为可由计算机和/或计算机内的处理器执行的代码和/或指令;在一个方面,然后,这样的代码和/或指令可以用于配置和/或适配通用计算机或其他设备以执行根据所描述的方法的一个或多个操作。
这些指令和/或代码的集合可以被存储在非暂态计算机可读存储介质上,诸如上文所描述的(一个或多个)存储设备3125。在一些情况下,存储介质可以被合并在计算机系统内,诸如计算机系统3100。在其他实施例中,存储介质可以与计算机系统分离,例如,可移除介质,诸如光盘,和/或被提供在安装包中,以使得存储介质可以用于利用在其上存储的指令/代码来编程、配置、和/或适配通用计算机。这些指令可采取可由计算机系统3100执行的可执行代码的形式和/或可采取源和/或可安装代码的形式,其在计算机系统3100上的编译和/或安装后,例如,使用任何各通常可用的编译器、安装程序、压缩/解压实用程序等,然后采取可执行代码的形式。
本文描述了本发明的各种示例性实施例。以非限制性的意义对这些示例进行参考。它们被提供以示出本发明的更宽的适用方面。可以对所描述的本发明做出各种改变并且可以代替等效物而不脱离本发明的真实精神和范围。另外,可以做出许多修改以将特定情况、材料、物质的组成、过程、(一个或多个)过程动作或(一个或多个)步骤适于本发明的(一个或多个)目的、精神或范围。而且,如由本领域的技术人员将理解到的,本文中所描述和所示出的每个单独变型具有可以容易地与其他数个实施例中的任一个的特征分离或者组合的分立部件和特征,而不脱离本公开的范围或精神。所有这样的修改旨在落入与本公开相关联的权利要求的范围内。
本发明包括可以使用主题设备执行的方法。方法可以包括提供这样的适合的设备的动作。这样的提供可以由终端用户执行。换句话说,“提供”动作仅要求终端用户获得、访问、接近、定位、设定、激活、加电或其他动作来提供本方法中的必要设备。本文中记载的方法可以以记载事件的逻辑上可能的任何次序以及以事件的记载次序执行。
上文已经阐述了本发明的示例性方面连同关于材料选择和制造的细节。至于本发明的其他细节,这些可以结合上文提到的专利和公开以及通常由本领域的技术人员已知或者理解的来理解。就如通常或者逻辑上使用的附加动作而言,相对于本发明的基于方法的方面可以同样适用。
另外,虽然已经参考可选地包含各种特征的数个示例描述了本发明,但是本发明将不限于如相对于本发明的每个变型预期的描述或指示的发明。可以对所描述的本发明做出各种改变并且可以代替等效物(无论是记载在本文中还是出于某种简洁的缘故未包括),而不脱离本发明的真实精神和范围。另外,在提供值范围的情况下,应当理解,该范围的上限与下限之间的每个中间值和该声称的范围中的任何其他声称的值或中间值涵盖在本发明中。
而且,应预期到,可以独立地或者与本文所描述的特征中的任何一个或多个组合来阐述并且要求保护所描述的本发明变型的任何可选特征。对于单数项的引用包括存在多个相同项的可能性。更特别地,如在本文和与其相关联的权利要求中所使用的,除非特别另外说明,否则单数形式“一”、“所述”和“该”包括复数指示物。换句话说,冠词的使用允许以上描述以及与本公开相关联的权利要求中的主题项中的“至少一个”。还应注意到,这样的权利要求可以被撰写为排除任何可选元素。如此,该语句旨在用作用于结合权利要求元素的记载来使用如“仅仅”、“仅”等这样的专用术语或者使用“否定”限制的先行基础。
在不使用这样的专用术语的情况下,与本公开相关联的权利要求中的术语“包括”应当允许包括任何附加元素—而不管给定数目的元素是否被列举在这样的权利要求中,或者特征的添加可以被认为是转换这样的权利要求中阐述的元素的性质。除了如本文特别定义之外,本文中使用的所有技术和科学术语将被给定为尽可能宽的通常理解的意义,同时维持权利要求有效性。
本发明的宽度将不限于所提供的示例和/或本说明书,而是相反仅通过与本公开相关联的权利要求语言的范围来限定。
Claims (19)
1.一种在包括一个或多个传感器的系统处解析半球模糊度的方法,所述方法包括:
在所述系统的手持式控制器处发射一个或多个磁场;
由定位在所述系统的耳机内的一个或多个传感器检测所述一个或多个磁场;
基于所述一个或多个磁场,确定在第一半球内所述手持式控制器相对于所述耳机的第一位置和第一取向;
基于所述一个或多个磁场,确定在第二半球内所述手持式控制器相对于所述耳机的第二位置和第二取向,其中,相对于所述耳机,所述第二半球与所述第一半球在直径上相对;
确定相对于所述耳机的法向量以及标识在所述第一半球中所述手持式控制器相对于所述耳机的位置的位置向量;
计算所述法向量和所述位置向量的点积;
当所述点积的结果是正时,确定所述手持式控制器的所述第一位置和所述第一取向是准确的;以及
当所述点积的结果是负时,确定所述手持式控制器的所述第二位置和所述第二取向是准确的。
2.根据权利要求1所述的方法,其中,以所述耳机的坐标系定义所述位置向量。
3.根据权利要求1所述的方法,其中,所述法向量起源于所述耳机并以与来自所述耳机的水平线的预定角度延伸。
4.根据权利要求3所述的方法,其中,所述预定角度是从来自所述耳机的所述水平线向下45°角。
5.根据权利要求1所述的方法,其中,当所述点积的结果是正时,所述第一半球被识别为相对于所述耳机的前半球,所述第二半球被识别为相对于所述耳机的后半球。
6.根据权利要求1所述的方法,其中,当所述点积的结果是负时,所述第二半球被识别为相对于所述耳机的前半球,所述第一半球被识别为相对于所述耳机的后半球。
7.根据权利要求1所述的方法,还包括:
基于以下来将虚拟内容传递到显示器:
当所述点积的结果是正时,基于所述第一位置和所述第一取向;或者
当所述点积的结果是负时,基于所述第二位置和所述第二取向。
8.根据权利要求1所述的方法,其中,所述系统是光学设备。
9.根据权利要求1所述的方法,其中,所述方法在所述耳机的初始化过程期间被执行。
10.一种用于解析半球模糊度的系统,包括:
手持式控制器,其包括磁场发射机,所述磁场发射机被配置为发射一个或多个磁场;
耳机,其包括一个或多个磁场传感器,所述一个或多个磁场传感器被配置为检测所述一个或多个磁场;
处理器,其耦合到所述耳机,并被配置为执行以下操作,包括:
基于所述一个或多个磁场,确定在第一半球内所述手持式控制器相对于所述耳机的第一位置和第一取向;
基于所述一个或多个磁场,确定在第二半球内所述手持式控制器相对于所述耳机的第二位置和第二取向,其中,相对于所述耳机,所述第二半球与所述第一半球在直径上相对;
确定相对于所述耳机的法向量以及标识所述第一半球中所述手持式控制器相对于所述耳机的位置的位置向量;
计算所述法向量和所述位置向量的点积;
当所述点积的结果是正时,确定所述手持式控制器的所述第一位置和所述第一取向是准确的;以及
当所述点积的结果是负时,确定所述手持式控制器的所述第二位置和所述第二取向是准确的。
11.根据权利要求10所述的系统,其中,以所述耳机的坐标系定义所述位置向量。
12.根据权利要求10所述的系统,其中,所述法向量起源于所述耳机并以与来自所述耳机的水平线的预定角度延伸。
13.根据权利要求12所述的系统,其中,所述预定角度是从来自所述耳机的所述水平线向下45°角。
14.根据权利要求10所述的系统,其中,当所述点积的结果是正时,所述第一半球被识别为相对于所述耳机的前半球,所述第二半球被识别为相对于所述耳机的后半球。
15.根据权利要求10所述的系统,其中,当所述点积的结果是负时,所述第二半球被识别为相对于所述耳机的前半球,所述第一半球被识别为相对于所述耳机的后半球。
16.根据权利要求10所述的系统,其中,所述处理器还被配置为执行以下操作,包括:
基于以下来将虚拟内容传递到显示器:
当所述点积的结果是正时的所述第一位置和所述第一取向;或者
当所述点积的结果是负时的所述第二位置和所述第二取向。
17.根据权利要求10所述的系统,其中,所述系统是光学设备。
18.根据权利要求10所述的系统,其中,所述操作在所述耳机的初始化过程期间被执行。
19.一种非暂态计算机可读介质,所述非暂态计算机可读介质在其上存储了指令序列,所述指令序列在由处理器执行时使得所述处理器执行用于在包括一个或多个传感器的系统处解析半球模糊度的方法,包括:
在所述系统的手持式控制器处发射一个或多个磁场;
由定位在所述系统的耳机内的一个或多个传感器检测所述一个或多个磁场;
基于所述一个或多个磁场,确定在第一半球内所述手持式控制器相对于所述耳机的第一位置和第一取向;
基于所述一个或多个磁场,确定在第二半球内所述手持式控制器相对于所述耳机的第二位置和第二取向,其中,相对于所述耳机,所述第二半球与所述第一半球在直径上相对;
确定相对于所述耳机的法向量以及标识所述第一半球中所述手持式控制器相对于所述耳机的位置的位置向量;
计算所述法向量和所述位置向量的点积;
当所述点积的结果是正时,确定所述手持式控制器的所述第一位置和所述第一取向是准确的;以及
当所述点积的结果是负时,确定所述手持式控制器的所述第二位置和所述第二取向是准确的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209540.XA CN116300091A (zh) | 2018-07-23 | 2019-07-23 | 用于使用位置向量解析半球模糊度的方法和系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862702339P | 2018-07-23 | 2018-07-23 | |
US62/702,339 | 2018-07-23 | ||
PCT/US2019/043058 WO2020023524A1 (en) | 2018-07-23 | 2019-07-23 | Method and system for resolving hemisphere ambiguity using a position vector |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209540.XA Division CN116300091A (zh) | 2018-07-23 | 2019-07-23 | 用于使用位置向量解析半球模糊度的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112513711A CN112513711A (zh) | 2021-03-16 |
CN112513711B true CN112513711B (zh) | 2023-03-07 |
Family
ID=69163155
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980049018.1A Active CN112513711B (zh) | 2018-07-23 | 2019-07-23 | 用于使用位置向量解析半球模糊度的方法和系统 |
CN202310209540.XA Pending CN116300091A (zh) | 2018-07-23 | 2019-07-23 | 用于使用位置向量解析半球模糊度的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209540.XA Pending CN116300091A (zh) | 2018-07-23 | 2019-07-23 | 用于使用位置向量解析半球模糊度的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10916064B2 (zh) |
EP (1) | EP3827300A4 (zh) |
JP (1) | JP2021530814A (zh) |
CN (2) | CN112513711B (zh) |
WO (1) | WO2020023524A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10883831B2 (en) * | 2016-10-28 | 2021-01-05 | Yost Labs Inc. | Performance of inertial sensing systems using dynamic stability compensation |
JP2021530814A (ja) | 2018-07-23 | 2021-11-11 | マジック リープ, インコーポレイテッドMagic Leap, Inc. | 位置ベクトルを使用して半球曖昧性を解決するための方法およびシステム |
US11287885B1 (en) * | 2019-01-22 | 2022-03-29 | Facebook Technologies, Llc | Apparatus, system, and method for determining the position of wearables donned by users of artificial reality systems |
DE102020109121A1 (de) * | 2019-04-02 | 2020-10-08 | Ascension Technology Corporation | Korrektur von Verzerrungen |
US11181978B2 (en) * | 2019-06-17 | 2021-11-23 | Hemy8 Sa | System and method for gaze estimation |
US11719850B2 (en) * | 2019-06-20 | 2023-08-08 | Sony Interactive Entertainment Inc. | Detecting and compensating for magnetic interference in electromagnetic (EM) positional tracking |
KR20210012677A (ko) * | 2019-07-26 | 2021-02-03 | 엘지전자 주식회사 | 사람의 머리를 회피하여 이동하는 로봇 및 이의 동작 제어 방법 |
US10989916B2 (en) * | 2019-08-20 | 2021-04-27 | Google Llc | Pose prediction with recurrent neural networks |
US11315326B2 (en) * | 2019-10-15 | 2022-04-26 | At&T Intellectual Property I, L.P. | Extended reality anchor caching based on viewport prediction |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
JP7496424B2 (ja) * | 2020-01-24 | 2024-06-06 | マジック リープ, インコーポレイテッド | 単一コントローラを使用したコンテンツ移動および相互作用 |
CN111949123B (zh) * | 2020-07-01 | 2023-08-08 | 青岛小鸟看看科技有限公司 | 多传感器手柄控制器混合追踪方法及装置 |
US20220318551A1 (en) * | 2021-03-31 | 2022-10-06 | Arm Limited | Systems, devices, and/or processes for dynamic surface marking |
US11995904B2 (en) | 2021-03-31 | 2024-05-28 | Arm Limited | Systems, devices, and/or processes for dynamic surface marking |
EP4071586A1 (de) * | 2021-04-09 | 2022-10-12 | Fresenius Medical Care Deutschland GmbH | Berührungsloses bedienen medizintechnischer geräte |
WO2021178980A1 (en) * | 2021-04-28 | 2021-09-10 | Innopeak Technology, Inc | Data synchronization and pose prediction in extended reality |
GB2608186A (en) * | 2021-06-25 | 2022-12-28 | Thermoteknix Systems Ltd | Augmented reality system |
US11675030B2 (en) | 2021-07-28 | 2023-06-13 | Alken Inc. | Auto-hemisphere detection in a magnetic tracker |
CN114237233B (zh) * | 2021-11-30 | 2024-02-23 | 深圳市优必选科技股份有限公司 | 机器人下棋方法、装置、计算机可读存储介质及机器人 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067716A (zh) * | 2007-05-29 | 2007-11-07 | 南京航空航天大学 | 具有视线跟踪功能的增强现实自然交互式头盔 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US173740A (en) | 1876-02-22 | Improvement in picking mechanisms for looms | ||
JP3886074B2 (ja) * | 1997-02-28 | 2007-02-28 | 株式会社東芝 | マルチモーダルインタフェース装置 |
US6489955B1 (en) * | 1999-06-07 | 2002-12-03 | Intel Corporation | Ray intersection reduction using directionally classified target lists |
US6774624B2 (en) * | 2002-03-27 | 2004-08-10 | Ge Medical Systems Global Technology Company, Llc | Magnetic tracking system |
SG115546A1 (en) * | 2003-06-23 | 2005-10-28 | Affineon Technologies Pte Ltd | Computer input device tracking six degrees of freedom |
US20050062469A1 (en) * | 2003-09-23 | 2005-03-24 | Anderson Peter Traneus | System and method for hemisphere disambiguation in electromagnetic tracking systems |
US7532997B2 (en) * | 2006-04-17 | 2009-05-12 | General Electric Company | Electromagnetic tracking using a discretized numerical field model |
US8525983B2 (en) * | 2008-11-17 | 2013-09-03 | Faro Technologies, Inc. | Device and method for measuring six degrees of freedom |
EP3258671B1 (en) | 2011-10-28 | 2018-09-05 | Magic Leap, Inc. | System and method for augmented and virtual reality |
BR112014012615A2 (pt) | 2011-11-23 | 2017-06-13 | Magic Leap Inc | sistema de exibição de realidade aumentada e virtual tridimensional |
EP2687955B1 (en) * | 2012-07-20 | 2018-08-22 | Nintendo Co., Ltd. | Information processing program, information processing system and attitude calculation method for calculating an attitude of an input unit |
EP2967322A4 (en) | 2013-03-11 | 2017-02-08 | Magic Leap, Inc. | System and method for augmented and virtual reality |
KR20230113418A (ko) | 2013-03-15 | 2023-07-28 | 매직 립, 인코포레이티드 | 디스플레이 시스템 및 방법 |
US9874749B2 (en) | 2013-11-27 | 2018-01-23 | Magic Leap, Inc. | Virtual and augmented reality systems and methods |
US10262462B2 (en) | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
US10295338B2 (en) | 2013-07-12 | 2019-05-21 | Magic Leap, Inc. | Method and system for generating map data from an image |
CN110542938B (zh) | 2013-11-27 | 2023-04-18 | 奇跃公司 | 虚拟和增强现实系统与方法 |
WO2016077798A1 (en) | 2014-11-16 | 2016-05-19 | Eonite Perception Inc. | Systems and methods for augmented reality preparation, processing, and application |
CN112836664A (zh) | 2015-08-21 | 2021-05-25 | 奇跃公司 | 使用眼睛姿态测量的眼睑形状估计 |
US9703102B2 (en) * | 2015-08-28 | 2017-07-11 | Tomy Company Ltd. | Information processing device including head mounted display |
KR20180090355A (ko) | 2015-12-04 | 2018-08-10 | 매직 립, 인코포레이티드 | 리로컬리제이션 시스템들 및 방법들 |
CA3021964A1 (en) | 2016-04-26 | 2017-11-02 | Magic Leap, Inc. | Electromagnetic tracking with augmented reality systems |
DE202017104928U1 (de) | 2016-08-23 | 2017-11-24 | Google Inc. | Manipulation virtueller Objekte anhand von Controllern mit sechs Freiheitsgraden in erweiterten bzw. virtuellen Realitätsumgebungen |
US20180124497A1 (en) * | 2016-10-31 | 2018-05-03 | Bragi GmbH | Augmented Reality Sharing for Wearable Devices |
KR20230108352A (ko) * | 2017-05-01 | 2023-07-18 | 매직 립, 인코포레이티드 | 콘텐츠를 공간 3d 환경에 매칭 |
US10830572B2 (en) * | 2017-10-12 | 2020-11-10 | Google Llc | Hemisphere ambiguity correction in electromagnetic position tracking systems |
JP2021530814A (ja) | 2018-07-23 | 2021-11-11 | マジック リープ, インコーポレイテッドMagic Leap, Inc. | 位置ベクトルを使用して半球曖昧性を解決するための方法およびシステム |
-
2019
- 2019-07-23 JP JP2021503584A patent/JP2021530814A/ja active Pending
- 2019-07-23 CN CN201980049018.1A patent/CN112513711B/zh active Active
- 2019-07-23 CN CN202310209540.XA patent/CN116300091A/zh active Pending
- 2019-07-23 EP EP19840436.0A patent/EP3827300A4/en active Pending
- 2019-07-23 WO PCT/US2019/043058 patent/WO2020023524A1/en unknown
- 2019-07-23 US US16/520,073 patent/US10916064B2/en active Active
-
2020
- 2020-12-28 US US17/135,625 patent/US11403827B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067716A (zh) * | 2007-05-29 | 2007-11-07 | 南京航空航天大学 | 具有视线跟踪功能的增强现实自然交互式头盔 |
Also Published As
Publication number | Publication date |
---|---|
US10916064B2 (en) | 2021-02-09 |
CN112513711A (zh) | 2021-03-16 |
US20210225085A1 (en) | 2021-07-22 |
WO2020023524A1 (en) | 2020-01-30 |
JP2021530814A (ja) | 2021-11-11 |
CN116300091A (zh) | 2023-06-23 |
EP3827300A1 (en) | 2021-06-02 |
EP3827300A4 (en) | 2021-09-15 |
US11403827B2 (en) | 2022-08-02 |
US20200027275A1 (en) | 2020-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112513711B (zh) | 用于使用位置向量解析半球模糊度的方法和系统 | |
JP7254895B2 (ja) | 深層学習センサを有する拡張現実ディスプレイデバイス | |
AU2017257549B2 (en) | Electromagnetic tracking with augmented reality systems | |
JP7482040B2 (ja) | 拡張現実深層ジェスチャネットワーク |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |