CN116888563A - 用于虚拟或增强现实系统的校准 - Google Patents
用于虚拟或增强现实系统的校准 Download PDFInfo
- Publication number
- CN116888563A CN116888563A CN202180094253.8A CN202180094253A CN116888563A CN 116888563 A CN116888563 A CN 116888563A CN 202180094253 A CN202180094253 A CN 202180094253A CN 116888563 A CN116888563 A CN 116888563A
- Authority
- CN
- China
- Prior art keywords
- headset
- group
- gestures
- pose
- time
- 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.)
- Pending
Links
- 230000003190 augmentative effect Effects 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000013519 translation Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 238000009877 rendering Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 12
- 230000005489 elastic deformation Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 210000003128 head Anatomy 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002207 retinal effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- 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
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
- Controls And Circuits For Display Device (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
描述了用于解决虚拟或增强头戴式装置中的变形的技术。在一些实施方式中,当头戴式装置移动通过头戴式装置的一系列姿势时,在不同时间头戴式装置中的相机可以获取图像数据。可以检测当头戴式装置移动通过一系列姿势时用于头戴式装置的一个或多个误校准条件已经发生。可以基于一个或多个误校准条件,将一系列姿势划分为姿势组,并且可以使用单独的相机校准数据集合来针对姿势组执行光束平差。使用该组的相同校准数据的集合来针对每组中的姿势执行光束平差。与针对组中的姿势的光束平差估计联合地估计用于每组的相机校准数据。
Description
相关申请的交叉引用
本申请要求根据35U.S.C.§119(e)的第63/129316号美国临时专利申请的权益,该申请通过引用整体并入本文。
技术领域
本说明书通常涉及图像处理和传感器校准。
背景技术
虚拟或增强现实(VAR)系统包括可以通过虚拟内容增强物理现实视图的显示设备。显示设备可以使用显示接口将图像投影给用户。在许多系统中,所显示的图像基于传感器数据,例如来自一个或多个相机的图像数据。然而,如果传感器被误校准或者传感器的对准方式意外地被改变,则生成的输出图像可能不会按预期出现。
发明内容
本说明书中描述的主题的创新方面涉及VAR系统中所使用的设备的校准。特别地,当用户佩戴VAR头戴式装置时,头戴式装置可能会经历一些热变形和机械变形,这可能导致头戴式装置上的相机和其他传感器未对准。在某些情况下,这些变形本质上可能是暂时的,或者导致以前的校准方法可能无法解释的小的未对准。
本公开描述了用于使用光束平差(bundle adjustment)技术来解决VAR设备的变形的系统和方法,其包括连续校准以补偿设备在使用期间的弹性或临时变形。校准可以与VAR设备的操作同时执行,以捕获传感器数据并向用户提供输出,例如,当用户使用设备时实时或基本实时地进行校准。在该技术中,图像数据与指示头戴式装置系统的相机或其他传感器的对准和取向的传感器数据一起被收集。头戴式装置系统可以在头戴式装置移动通过一系列姿势时收集图像数据,同时还可以监测条件以确定是否误校准条件已经发生。当头戴式装置移动时,系统处理所接收的图像数据组,其中可能针对每组调整或细化校准参数。误校准条件的发生可用于定义针对组的边界。例如,如果误校准条件发生,则头戴式装置系统结束当前组并开始处理新的数据组。这允许在同一组中处理共享相同物理传感器对准的姿势的收集数据,使用预先确定的标准,例如误校准条件的定时来设置组的开始和/或结束。针对每组设备姿势,系统确定表示传感器的位置的外在参数。使用姿势信息、外在参数和参考图像点来执行误差优化,并根据误差优化的结果来校准头戴式装置。
根据所描述的实施方式,校准方法可用于适应(accommodate)VAR头戴式装置中的变形。在一些实施方式中,该方法包括从头戴式装置的多个相机中的每个相机获取图像数据。当头戴式装置移动通过头戴式装置的一系列姿势时,在不同时间获得图像数据。该方法还包括检测当头戴式装置移动通过一系列姿势时用于头戴式装置的一个或多个误校准条件已经发生,基于一个或多个误校准条件将这一系列姿势分成姿势组,以及使用用于每个姿势组的单独的相机校准数据集合来针对姿势组执行光束平差。使用用于该组的同一校准数据集合来针对每组中的姿势执行光束平差。与针对该组中的姿势的光束平差估计联合地估计用于每组的相机校准数据。基于光束平差来改变多个相机中的一个或多个相机的对准和取向中的一个或多个,以校准头戴式装置。
每个实施方式可以可选地包括一个或多个以下特征。例如,在一些实施方式中,当头戴式装置移动通过头戴式装置的一系列姿势时在不同时间获得图像数据包括:确定用于头戴式装置的每个相机相对于用于头戴式装置的每个姿势的映射参考点的位置和取向值。
在一些实施方式中,当头戴式装置移动通过头戴式装置的一系列姿势时在不同时间获得图像数据包括:对于图像数据的每个所选帧,确定头戴式装置的姿势,以及选择姿势的子集作为一系列姿势。
在一些实施方式中,检测用于头戴式装置的一个或多个误校准条件已经发生包括一个或多个操作。这些操作包括:(i)确定头戴式装置已经佩戴在用户头部上或从用户头部上取下;(ii)确定头戴式装置的位置已改变;(iii)检测头戴式装置周围环境温度的波动;(iv)检测头戴式装置的温度的波动;以及(v)检测头戴式装置的一部分的机械位移。
在一些实施方式中,将一系列姿势分成姿势组包括:确定第一误校准条件发生的第一时间、识别在第一误校准条件已经发生的第一时间之前头戴式装置的所有姿势、以及将在第一时间之前的头戴式装置的姿势分组为第一姿势组。
在一些实施方式中,将一系列姿势划分为姿势组包括:确定第二误校准条件发生的第二时间、识别在第一时间之后且在第二误校准条件发生的第二时间之前头戴式装置的所有姿势,以及将第一时间与第二时间之间的头戴式装置的姿势分组为第二姿势组。
在一些实施方式中,第二姿势组中的姿势的数量与第一姿势组中的姿势的数量不同。
在一些实施方式中,使用用于每个姿势组的单独的相机校准数据集合来针对姿势组执行光束平差包括:确定用于每个姿势组的单独的外在参数。单独的外在参数包括与头戴式装置的至少两个相机相关联的旋转和平移参数值的至少两个矩阵。
在一些实施方式中,使用用于每个姿势组的单独的相机校准数据集合来针对姿势组执行光束平差包括:优化用于每个姿势组的单独的相机校准数据集合以将头戴式装置对准到增强现实图像中的映射参考点集合。
在一些实施方式中,优化用于每个姿势组的单独的相机校准数据集合包括:应用第一约束,该第一约束将两个姿势组的相机校准数据的旋转参数之间的差限制为小于旋转阈值,以及应用第二约束,该第二约束将两个姿势组的相机校准数据的平移参数之间的差限制为小于平移阈值。
在一些实施方式中,旋转阈值是2弧分,并且平移阈值是3mm。
在一些实施方式中,该方法包括:响应于执行光束平差,在头戴式装置的显示器处显示增强现实图像。
本说明书中描述的主题的各方面还包括虚拟或增强现实系统,其包括头戴式装置和处理器。该头戴式装置包括被配置为显示增强现实图像的显示设备和被配置为获得用于渲染增强现实图像的数据的相机。处理器被耦合到头戴式装置并且被配置为从头戴式装置的每个相机获取图像数据。当头戴式装置移动通过头戴式装置的一系列姿势时,在不同时间获得图像数据。处理器还被配置为检测当头戴式装置移动通过一系列姿势时用于头戴式装置的一个或多个误校准条件已经发生,基于一个或多个误校准条件将这一系列姿势划分为姿势组,以及使用用于每个姿势组的单独的相机校准数据集合来针对姿势组执行光束平差。使用用于该组的同一校准数据集合来执行针对每组中的姿势的光束平差。与针对该组中的姿势的光束平差估计联合地估计用于每组的相机校准数据。基于光束平差来改变一个或多个相机的对准和取向中的一个或多个,以校准头戴式装置。
本说明书中描述的主题的各方面还包括一种包括指令的非暂时性计算机可读存储介质,该指令当由一个或多个处理器执行时使得一个或多个处理器执行操作。这些操作包括从头戴式装置的多个相机中的每个相机获取图像数据。当头戴式装置移动通过头戴式装置的一系列姿势时,在不同时间获得图像数据。这些操作还包括检测当头戴式装置移动通过一系列姿势时用于头戴式装置的一个或多个误校准条件已经发生,基于一个或多个误校准条件将这一系列姿势划分为姿势组,以及使用用于每个姿势组的单独的相机校准数据集合来针对姿势组执行光束平差。使用用于该组的同一校准数据集合来针对每组中的姿势执行光束平差。与针对该组中的姿势的光束平差估计联合地估计用于每组的相机校准数据。基于光束平差来改变多个相机中的一个或多个相机的对准和取向中的一个或多个以校准头戴式装置。
所描述的校准技术的优点在于它们可以快速响应变形并应用校准来补偿小的且可逆的变形。通过对图像数据组重复执行校准,可以最小化变形对渲染的VAR输出图像的影响,从而改善用户的观看体验。此外,可以在不被用户察觉的情况下实时执行校准。
该系统可以通过共享用于捕获图像数据组的校准参数来提供高效率,同时通过允许动态大小的组来提供高精度和多功能性。校准参数的共享通过降低校准发生的复杂性和次数来限制总体计算要求。基于检测到的条件调整组的大小的能力可以将组与表示传感器的特定物理对准的数据捕获的部分对准。例如,对于一系列图像捕获,可以对数据进行分组,使得第一组包括在相机之间具有第一物理关系的捕获,第二组包括在相机之间具有第二物理关系的捕获(例如,在力使头戴式装置轻微变形之后),以及第三组包括在相机之间具有第三物理关系的捕获(例如,在力消退并且头戴式装置至少部分返回到其卸载状态之后)。可以针对每组来优化校准,从而针对相机的不同对准来调整校准,同时避免在对准未改变时有时进行许多不必要的校准过程。改变处理的图像数据组的大小(例如,无论是图像捕获的数量、设备姿势的数量、还是表示的时间量的方面)的能力允许系统响应许多不同的条件,并利用头戴式装置发生变形的频率来调整校准处理的频率。
该方面的其他实施方式包括对应的系统、装置和记录在计算机存储设备上的计算机程序,每个被配置为执行该方法的操作。
本说明书中描述的主题的一个或多个实施方式的细节在附图和下面的描述中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。
附图说明
图1描绘了实施用于VAR系统的传感器校准的示例场景。
图2描绘了用于与光束平差联合实施传感器校准以补偿弹性变形的示例系统。
图3描绘了姿势和参考映射点的示例图形表示。
图4描绘了基于误校准触发的示例参数分组。
图5描绘了用于执行传感器校准和光束平差的方法的示例流程图。
各个附图中相同的附图标记和标记指示相同的元件。
具体实施方式
VAR系统通常包括佩戴在用户头上的头戴式装置。为了改善用户体验,市场需要更轻且更灵活的头戴式装置的框架结构。然而,更轻且更灵活的框架结构也更容易变形。
一般来说,框架结构可以经历三种类型的变形。当框架结构掉落、处理不当或经历磨损时,可能会发生塑性变形。塑性变形通常是不可逆的,或者至少在不进行修复或其他调整的情况下不会自行逆转。由于温度波动可能会发生热变形。热变形通常是可逆的,因此即使温度变化改变了传感器对准,设备也会在温度恢复正常后恢复正确的对准。由于各种因素(例如电缆拖拽或头戴式装置穿脱),可能会发生机械负载变形。机械负载变形通常很小且可逆,并且持续时间很短。与热变形一样,机械负载变形通常在外部负载移除后自动逆转。由于VAR系统的敏感性和精确度,这些类型的变形中的任何一个都有可能降低VAR系统的输出的质量。当这些变形中的两个或多个变形同时发生时,变形可以放大并引入图像质量的显着变化,从而导致VAR系统的用户体验。
例如,如果两个相机沿滚动轴或偏航轴未对准,则未对准可能会影响图像处理并导致输出图像在呈现的虚拟内容与用户观看的真实环境之间存在平移和/或旋转未对准。例如,在增强现实图像中,虚拟项目可能出现在相对于用户看到的真实非虚拟对象的不正确位置。导致显示输出不一致的未对准还会对用户的眼睛造成生理疲劳。此外,更一般地,人类可能对虚拟图像围绕俯仰轴、滚动轴和偏航轴的双眼旋转未对准敏感,分别低至4、6和10弧分。为了解决这个问题,可以估计和补偿头戴式装置上的相机和/或传感器的未对准。相机和其他传感器的校准可以与光束平差处理联合地执行,以提高系统图像处理的准确性和可用性。
本公开描述了用于校正由于变形、特别是弹性变形而可能发生的未对准的校准方法和系统,该变形可以包括热负载变形和机械负载变形并且其在头戴式装置的使用期间可能频繁发生或大小变化。
参考图1,在场景105中,用户在其头上佩戴VAR头戴式装置100。头戴式装置100包括多个面向前方的相机以捕获用户正在观看的环境。在场景105中,头戴式装置100上的相机最初可以被对准,使得VAR系统在头戴式装置100的显示器上渲染图像而没有任何未对准。
在暴露于诸如太阳的环境元素一段时间之后,头戴式装置100可能变热并且可能经历热膨胀,从而导致相机稍微未对准。例如,如场景110中那样,一个或两个相机可以偏移0.2°的旋转角度。当发生这种弹性变形时,所渲染的VAR图像的质量可能会受到影响。例如,如图1所示,由于变形,图像115包括质量受损并且可能无法被用户清楚地观看的一个或多个对象,或者这些对象可能被显示在相对于用户在现实世界环境中看到的对象不准确的位置处。
为了解决弹性变形并避免由此导致的图像质量受损,可以执行传感器校准和光束平差方法(SCBA)。SCBA方法的细节参照图2至图5进行描述。SCBA可以周期性地、以计划的或预定的间隔、响应于误校准触发、响应于条件、或响应于用户请求而执行。可以使用各种合适的条件来确定何时执行SCBA方法。示例包括但不限于当佩戴头戴式装置的用户的眼睛闭上时、当用户睡着时、或者当头戴式装置系统具有执行SCBA的可用资源时。
因此,可以将各种补偿技术应用于头戴式装置100以解决弹性变形和所产生的未对准。例如,虚拟内容的显示(例如,其位置或大小)可以基于由SCBA方法所确定的校准值来调整。在另一示例中,头戴式装置100上的传感器或相机的取向或对准可以被调整或补偿。头戴式装置100的这种校准和补偿可以连续地或周期性地执行,使得虚拟内容被显示在头戴式装置100的显示器中的位置处,该位置将虚拟内容与通过头戴式装置100观看到的真实世界内容正确地对准。以这种方式,所渲染的图像120可以最小化地受到对准问题的影响并且可以以更高的质量水平来渲染。
图2描绘了用于实施SCBA的示例头戴式装置系统200。头戴式装置系统200包括框架结构(未示出)、显示系统210、一个或多个处理器220、存储器230、误校准检测器240、一个或多个传感器250、以及一个或多个相机260。显示系统210、一个或多个处理器220、存储器230、误校准检测器240、一个或多个传感器250、以及一个或多个相机260可被集成到或耦合到框架结构。
一般而言,头戴式装置系统200是使用相机或其他传感器来获取关于佩戴头戴式装置系统200的用户周围的三维环境的信息并且在屏幕、虚拟视网膜显示器、或其他显示技术上添加数字元素的设备。例如,头戴式装置系统200或相关联的电子设备可以使用来自多个相机和传感器的信息来确定现实世界对象的位置、映射在三维空间中的尺寸和位置、以及生成和呈现集成到环境视图中的三维计算机生成的图像。该过程以实时方式执行,以便计算机生成的图像与用户的当前视图集成或与其对准显示。
例如,当头戴式装置系统200的佩戴者移动他或她的头部以观看房间的不同部分时,数字生成的元素的显示被调整以维持它们在房间内的适当的表观位置。生成和显示看起来处于正确空间位置的图像的过程高度依赖于相机或其他传感器的正确对准,其提供数据以生成环境的地图并确定头戴式装置系统200在环境中的当前位置。结果,相机或传感器的不正确对准或取向,无论是由于头戴式装置系统200的变形还是其他原因,都会降低用户对头戴式装置系统200的体验的质量。例如,数字添加的图像可以被显示在相对于现实世界环境不正确或不一致的位置。
显示系统210被配置为向用户的眼睛呈现基于照片的辐射图案,其可以舒适地被感知为对物理现实的增强,并具有高质量的二维(2D)或三维(3D)图像内容。显示系统210可以包括屏幕、虚拟视网膜显示器、或其他合适的内容显示技术,并且可以以高频率输出帧序列以提供单个连贯场景的感知。显示系统210可以包括左目镜、右目镜、左投影系统、以及右投影系统。
左目镜和右目镜可以是部分透明的,并且当图像投影到它们上时可以有效地用作显示屏或显示界面。在一些实施方式中,左目镜和右目镜可以是光学透视显示器,用户可以通过光学透视显示器经由透明(或半透明)元件直接观看来自真实对象的光。透明元件可以将来自左和右投影系统的光叠加在用户的现实世界视图上。目镜被放置在用户的眼睛前面。
左投影系统和右投影系统可以分别将左图像和右图像投影到左目镜和右目镜上。投影系统可以被实现为基于光纤扫描的投影设备。
存储器230可以存储用于头戴式装置系统200的任何合适的数据。例如,存储器230可以存储可以由头戴式装置系统200的一个或多个组件使用的计算机程序、代码、应用程序、软件或数据,以便于头戴式装置系统200的操作,例如本说明书中描述的SCBA方法。在一些实现方式中,要在显示系统210上渲染的视听数据可以至少临时存储在存储器230中。存储器230可以包括一个或多个帧缓冲器118以及用于存储三维场景数据的3D数据库120。存储器230可以以各种合适的方式来实现,包括例如光学和存储器芯片。存储器230可以包括一个或多个计算机可读介质、一个或多个易失性存储器单元、或一个或多个非易失性存储器单元。
一个或多个传感器250可安装到头戴式装置系统200的框架以感测用户的头部的移动和/或用户的眼睛位置和眼间距离。一个或多个传感器250可包括但不限于惯性测量单元、取向传感器、加速计、罗盘、陀螺仪、光传感器、麦克风、和/或触摸传感器。一个或多个传感器250可以提供指示头戴式装置系统100的一个或多个部件(例如,一个或多个相机260)的对准或取向的数据。例如,传感器250可以检测旋转和取向设置,例如相机260的滚动值、俯仰值和偏航值。传感器250可以连续地、周期性地或者在处理器指示时收集传感器数据。麦克风可以获得指示用户周围环境中的声音的音频数据。
一个或多个相机260可以捕获用户周围的环境的图像数据。例如,相机260可以捕获与用户感知的图像相对应的一个或多个视图。相机260可以与诸如麦克风之类的音频传感器集成或耦合。由一个或多个相机260捕获的图像数据可被提供给头戴式装置系统200的其他组件,例如一个或多个处理器220和存储器230或服务器。在一些实施方式中,图像数据110作为视频馈送(例如图像序列)而获得。例如,图像数据110可以是视频序列中的图像帧。来自相机260的图像数据可以表示为像素的值。在头戴式装置102的参考系中,相机260显示具有水平轴和垂直轴(例如,x维度和y维度)的像素值的图像。
误校准检测器240被配置为检测一个或多个误校准条件。误校准条件可以是对应于或指示头戴式装置系统200的组件(诸如相机260或传感器250之一)未对准的条件。可能导致发生误校准条件的事件的示例包括但不限于:当一个或多个电缆向下拉头戴式装置时、当热波动发生时、当头戴式装置系统200位移大于阈值距离时或移动超出特定位置,或者当用户戴上或摘下头戴式装置系统200时。
在一些实施方式中,误校准检测器240可以被耦合到传感器250或相机260中的一个或多个并且可以从传感器250和/或相机260接收数据。基于从传感器250和/或相机260接收的数据,误校准检测器240可以确定是否存在误校准条件。当确定存在误校准条件时,误校准检测器240可以生成误校准信号并将其发送到处理器。在一些实施方式中,误校准检测器240可以与处理器集成,使得处理器至少执行误校准检测器240的操作。
头戴式装置系统200不限于上述组件,并且可以包括各种其他电路,例如用于发射音频信号的一个或多个扬声器、用于促进头戴式装置系统100与其他电子设备(诸如服务器、数据库和计算系统)之间的无线通信的通信接口。
头戴式装置系统200还可以包括一个或多个处理器220。处理器220可以包括中央处理单元(CPU)、图形处理单元(GPU)、控制器、数字信号处理器、专用集成电路(ASIC)、可编程门阵列(PGA)、现场PGA(FPGA)、和/或可编程逻辑控制器(PLC)。处理器220可以包括各种软件和硬件组件以控制头戴式装置系统200的整体操作并执行本说明书中描述的操作。
处理器220可以包括渲染帧(例如,将3D场景转换为2D图像)的GPU,并且可以将渲染的帧提供给缓冲器或用于存储在存储器230中。GPU可以从帧缓冲器读入和/或读出一个或多个帧。GPU可以向显示系统210的左投影子系统和右投影子系统提供图像或帧数据。
处理器220还可以执行SCBA方法的一个或多个操作。例如,如关于图3至图5更详细地解释的,处理器220接收来自相机260的视频数据、来自传感器250的传感器数据、以及来自误校准检测器240的误校准信号。处理器220可以将数据组织成组,确定用于每组的外在参数,并部分地基于外在参数来优化每组的误差。使用优化的参数,处理器220可以校准头戴式装置系统200的一个或多个组件,例如通过向相机260发送一个或多个控制信号以调整它们的取向和对准。通过调整相机260的取向和对准,可以补偿由于弹性变形而导致的图像劣化,并且用户可以观看没有由于变形而劣化的图像。在一些实施方式中,控制信号还可以被发送到显示系统的左投影子系统和右投影子系统,以确保所显示的图像的对准是正确的并且受任何误校准条件的影响最小。
更详细地,图3示出了表示头戴式装置系统中的一个或多个处理器(下文中称为“处理器”)从相机和/或传感器收集的数据的图形模型。在图3中,三角形表示与3D图像点对应的参考点。椭圆形表示头戴式装置的相机姿势。方形表示优化节点,其包括用于优化针对与优化节点相关联的每个参考点的相机姿势的优化值。
姿势信息(例如,相机位置和取向信息)可以从传感器和/或相机获得,并且可以针对每个帧来确定,例如,以30Hz或60Hz频率。可以在预定时间段内选择确定数量的姿势(例如,一个或两个确定的姿势)并且将其用于生成图形模型和执行SCBA的目的。
在一些实施方式中,可以连续或周期性地获得姿势、优化和参考点数据。在一些实施方式中,可以以固定时间段获得姿势、优化和参考点数据。图3示出了从时间tA与tE之间的时间段获得数据的示例。在时间tA,最左边的两个参考点是可用的参考映射点。获得用于这些点的由椭圆形tA表示的姿势信息,并且可以基于姿势信息确定两个参考点的优化值。类似地,在时间tB、tC、tD和tE处,可以确定姿势、参考点和优化数据。
在收集上述数据时,头戴式装置系统还可以监视误校准的情况。如上所述,处理器可以响应于误校准检测器确定误校准条件已经发生而从误校准检测器接收误校准信号。在一些实施方式中,处理器可以合并误校准检测器并且可以执行误校准检测操作。
除了误校准实例之外,处理器还可以跟踪头戴式装置系统资源的可用性,并且当阈值量的计算资源可用时,处理器可以生成指示应当执行SCBA方法的校准触发信号。计算资源可以指存储和处理器资源以及它们存储和处理用于执行SCBA的阈值数据量的能力。在一些情况下,计算或存储资源可以设置实际限制,使得仅特定数量的数据点或针对特定时间量的数据可以被用来执行SCBA。
处理器还可以识别优选执行校准的时间段并在这些时间可用时生成校准触发信号。例如,基于从头戴式装置系统的传感器和/或相机接收的数据,处理器可以确定用户的眼睛当前闭合或者已经闭合达阈值时间段。响应于确定用户的眼睛当前闭合或者已经闭合达阈值时间段,处理器可以生成指示应当执行SCBA方法的校准触发信号。
一般而言,可以响应于各种可配置设置和条件来生成校准触发信号。例如,处理器可以被配置为响应于指示用户想要校准头戴式装置系统的用户输入来生成校准触发信号。在另一示例中,处理器可以被配置成在经过一定时间段之后、在预定时间、或者在从传感器和/或相机获得一定量的数据之后,自动生成校准触发信号。
响应于误校准信号或校准触发信号,处理器可以将图3中所示的姿势和节点划分为组。数据的分组可以基于误校准触发或对组的最大尺寸的阈值限制。例如,如果组限制是三个姿势,则前三个姿势(例如,图3和图4中的姿势tA、tB、tC以及相关的优化节点和参考点)被分组成第一组“组1”,以及下一组的三个或更少姿势(例如,以及图3和4中的姿势tD和tE以及相关的优化节点和参考点)被分组在第二组“组2”。
作为另一个示例,如果在时间tC之后检测到第一误校准触发,则处理器可以将在第一误校准触发之前所接收的所有数据分组为一个组,并且将在第二误校准触发和第一误校准触发之后所接收的数据分组为第二组。
使用来自传感器和/或相机的数据来确定每组的外在参数。外在参数由五边形形状符号表示并被链接到优化节点,如图4所示。外在参数可用于补偿因未对准和弹性变形而产生的误差。
外在参数可以包括旋转和平移参数的一个或多个矩阵。外在参数可以提供“6个自由度”信息,即三个旋转参数和三个平移参数,并且可以解释已经发生并可能导致未对准的任何变形。在一些实施方式中,矩阵可以包括指示头戴式装置系统上的左相机和右相机相对于头戴式装置系统的中心位置或中央相机的位置和取向的两个矩阵。
在一些实施方式中,对于连续组的各个外在参数之间的差可以由阈值差来限制。例如,对于组1的外在参数和对于组2的外在参数之间的变化必须小于或等于阈值差。作为示例,组1外在参数中的旋转参数与组2外在参数中的旋转参数的变化不能超过阈值量。作为另一个示例,连续的外在参数之间的变化可以被限制为平移2mm至3mm和/或旋转1弧分至2弧分的阈值。低于阈值的变化不会影响通过传感器对周围环境进行3D重建的质量,因此人眼无法察觉对系统性能的总体影响。
为了校准头戴式装置系统,使用外在参数信息、姿势信息和参考点信息,以使用以下方程执行优化:
where θ0=factory
在上述方程中,X指参考点,P指姿势,theta(θ)对应于外在参数,J指姿势计数(count),K指外在参数计数,以及i指参考映射点计数。在一些实施方式中,可以根据工厂设置默认来设置初始误校准触发。上述方程可用于计算旋转er和平移eθ值的误差。
在优化之后,处理器可以使用优化的误差值来校准相机,以校正头戴式装置系统中由于弹性变形而引起的相机的对准。此操作可以最小化关于所有3D图像点和相机参数的总重投影误差。在一些实施方式中,还可以确定显示系统的左投影子系统和右投影子系统的校准参数并将其应用于投影子系统,以确保所显示的图像的对准(例如,当虚拟内容要与相机捕获的图像一起显示时,以最小化图像劣化)。
图5描绘了用于执行SCBA的方法的流程图。该方法可以由如上面参考图1和图2描述的头戴式装置系统的一个或多个处理器(下文中称为处理器)来执行。
在操作510中,处理器可以从头戴式装置系统上的相机获取图像数据。在一些实施方式中,头戴式装置系统可以包括两个相机,一个在头戴式装置系统的左侧面向前方,另一个在头戴式装置系统的右侧面向前方。相机可以与头戴式装置框架的中心点等距地间隔开。
可以在头戴式装置移动的几个时间段内获取图像数据。除了图像数据之外,处理器还可从头戴式装置系统的一个或多个传感器获取数据。当头戴式装置系统移动时,可以使用图像数据和从传感器接收的数据来确定头戴式装置姿势(操作520)。可以基于在获得图像数据的时间段期间所渲染的图像中的一个或多个参考映射点来确定头戴式装置姿势。对于每个姿势,处理器可以确定头戴式装置的每个相机相对于一个或多个映射参考点的位置和取向值。在一些实施方式中,可以针对图像数据的每个所选帧来确定头戴式装置姿势,并且可以选择姿势的子集用于校准目的。
在收集图像数据时,处理器还可以使用从头戴式装置系统的传感器和相机所接收的数据来检测是否已经发生误校准条件(操作530)。上面已经描述了误校准条件的示例,并且包括:例如头戴式装置被放置在用户的头上或从用户的头上取下、头戴式装置的位置被改变、头戴式装置周围的环境温度的波动、头戴式装置的温度的波动、以及头戴式装置一部分的机械位移。
当误校准条件已经发生时,处理器可以基于误校准条件或一个或多个标准将所获得的姿势以及相关联的优化节点和参考点划分为组(操作540)。例如,在一些实施方式中,处理器可以确定第一误校准条件发生的第一时间,识别在第一误校准条件发生的第一时间之前的所有姿势;将第一时间之前的姿势分组为第一姿势组。
在一些实施方式中,如果第二误校准条件也已经发生,则处理器可以确定第二误校准条件发生的第二时间并且识别在第一时间之后且在第二误校准条件发生的第二时间之前所发生的所有姿势。然后,处理器可以将第一时间与第二时间之间的姿势分组为第二姿势组。
如图4所示,姿势组可以具有不同数量的姿势。在一些实施方式中,头戴式装置系统可以对姿势的数量、参考映射点、或用于任何姿势组的时间段具有最大或最小限制。
尽管图5中未示出,在一些实施方式中,可以响应于校准触发信号的生成来对姿势进行分组。如上所述,当满足某些条件时,例如当阈值量的计算资源可用时、当接收到执行校准的用户请求时、在经过特定时间段之后、在预定的时间,或者在从传感器和/或相机获得一定量的数据之后,可以生成校准触发信号。
在操作540中对姿势进行分组之后,处理器可以针对每个姿势组执行光束平差(550)。在执行光束平差时,处理器可以确定用于每组的单独的外在参数。所确定的外在参数受到约束,使得连续的外在参数不能变化超过特定阈值量。例如,第一外在参数的旋转参数与第二外在参数的旋转参数的变化不能超过旋转阈值量,例如2弧分。作为另一个示例,第一外在参数的平移参数与第二外在参数的平移参数之间的变化不能大于平移阈值量,例如3mm。
使用上述外在参数以及姿势和参考点,可以优化头戴式装置系统的相机的旋转和平移误差。优化涉及最小化相机的位置和取向的误差,以将头戴式装置系统中的相机与增强现实图像中的映射参考点集合对准。通过这种方式,针对单个组中的所有姿势执行联合校准,但每个姿势组具有单独的校准数据集合。
在优化旋转和平移误差之后,相机的对准和/或取向被校准以消除误差。为此,处理器可以向相机发送一个或多个控制信号,其中具有指示相机的对准和/或取向应当调整多少的数据。
响应于执行上述SCBA,控制器可将信号发送到头戴式装置系统的显示系统以生成帧(操作560)。该帧包括不应因弹性变形而产生误差的图像,因为误差已通过执行SCBA方法得到补偿。
所描述的系统、方法和技术可以以数字电子电路、计算机硬件、固件、软件或这些元件的组合来实现。实现这些技术的装置可以包括适当的输入和输出设备、计算机处理器、以及有形地体现在机器可读存储设备中以供可编程处理器执行的计算机程序产品。实现这些技术的过程可以由执行指令程序的可编程处理器来执行,以通过对输入数据进行操作并生成适当的输出来执行期望的功能。这些技术可以使用一个或多个计算机程序或非暂时性计算机可读存储介质来实现,该计算机程序或非暂时性计算机可读存储介质包括可在可编程系统上执行的指令,该可编程系统包括至少一个可编程处理器,该可编程处理器被耦合以从数据储存系统、至少一个输入设备以及至少一个输出设备接收数据和指令以及向其传输数据和指令。
每个计算机程序可以用高级过程或面向对象的编程语言来实现,或者如果需要的话可以用汇编语言或机器语言来实现;并且在任何条件下,该语言可以是编译型或解释型语言。举例来说,合适的处理器包括通用和专用微处理器。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储设备,诸如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,例如内置硬盘和可移动磁盘;磁光盘;和光盘只读存储器(CD-ROM)。上述任何一项都可以由专门设计的ASIC(专用集成电路)来补充或合并。
计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组合物、或者它们中的一个或多个的组合。术语“处理器”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器或多个处理器。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播的信号是生成的信号,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器装置。
计算机程序,也称为程序、软件、软件应用程序、脚本、插件或代码,可以用任何形式的编程语言(包括编译或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在文件的一部分中,该文件将其他程序或数据保存在专用于所讨论的程序的单个文件中,或者保存在多个协调文件中。计算机程序可以在一个计算机上执行,也可以在位于一个站点或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程还可以由专用逻辑电路来执行,并且装置也可以被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。
虽然本说明书包含许多细节,但这些细节不应被解释为对本公开的范围或可要求保护的范围的限制,而是对特定实施例特有的特征的描述。在本说明书中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用并且甚至可以如此要求保护,但是在一些条件下,可以从所要求保护的组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,上述实施例中的各个系统组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解的是,所描述的程序组件和系统通常可以集成在一起。
本文中并且尤其是在所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放”术语(例如,术语“包括”应当被解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”等)。
另外,如果意图引入特定数量的权利要求叙述,则将在权利要求中明确地叙述这样的意图,并且在没有这样的叙述的情况下,不存在这样的意图。例如,为了帮助理解,以下所附权利要求可以包含使用介绍性短语“至少一个”和“一个或多个”来引入权利要求叙述。然而,此类短语的使用不应被解释为暗示通过不定冠词“一”或“一个”引入权利要求叙述将包含此类引入的权利要求叙述的任何特定权利要求限制为仅包含一个此类叙述的实施例,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”以及不定冠词例如“一”或“一个”(例如,“一”和/或“一个”应解释为表示“至少一个”或“一个或多个”);这同样适用于使用定冠词来引入权利要求叙述。
另外,即使明确地记载了所引入的权利要求列举的具体数量,本领域技术人员将认识到,这种列举应当被解释为至少意味着所列举的数量(例如,仅列举“两次列举”,而没有提及其他修饰语,表示至少两次列举,或两次或更多列举)。此外,在使用那些类似于“A、B和C等中的至少一个”或“A、B和C等中的一个或多个”的约定的情况下,通常这样的结构旨在包括单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起、或者A、B和C一起。术语“和/或”也旨在以这种方式解释。
术语“第一”、“第二”、“第三”等的使用在本文中不一定用于表示元件的特定顺序或数量。一般来说,术语“第一”、“第二”、“第三”等作为通用标识符用于区分不同的元件。在没有示出术语“第一”、“第二”、“第三”等暗示特定顺序的情况下,这些术语不应被理解为暗示特定顺序。此外,在没有示出术语“第一”、“第二”、“第三”等暗示特定数量的元件的情况下,这些术语不应被理解为暗示特定数量的元件。例如,第一微件可以被描述为具有第一侧,并且第二微件可以被描述为具有第二侧。相对于第二微件的术语“第二侧”的使用可以是将第二微件的该侧与第一微件的“第一侧”区分开,并且不意味着第二微件具有两侧。
Claims (20)
1.一种方法,包括:
从头戴式装置的多个相机获取图像数据,其包括:当所述头戴式装置移动通过所述头戴式装置的一系列姿势时在不同时间获取图像数据;
检测当所述头戴式装置移动通过所述一系列姿势时用于所述头戴式装置的一个或多个误校准条件已经发生;
基于所述一个或多个误校准条件,将所述一系列姿势划分为姿势组;
使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差,使用用于所述组的相同的校准数据集合来针对每组中的所述姿势执行所述光束平差,其中,与针对所述组中的姿势的光束平差估计联合地估计用于每组的相机校准数据;以及
基于所述光束平差来改变所述多个相机中的一个或多个相机的对准和取向中的一个或多个以校准所述头戴式装置。
2.根据权利要求1所述的方法,其中,当所述头戴式装置移动通过所述头戴式装置的所述一系列姿势时在不同时间获取所述图像数据包括:
确定所述头戴式装置的每个相机相对于所述头戴式装置的每个姿势的映射参考点的位置和取向值。
3.根据权利要求1所述的方法,其中,当所述头戴式装置移动通过所述头戴式装置的所述一系列姿势时在不同时间获取所述图像数据包括:
对于图像数据的每个所选帧,确定所述头戴式装置的姿势;以及
选择姿势的子集作为所述一系列姿势。
4.根据权利要求1所述的方法,其中,检测用于所述头戴式装置的所述一个或多个误校准条件已经发生包括以下一项或多项:
确定头戴式装置已经佩戴在用户头上或从用户头上取下;
确定所述头戴式装置的位置已经改变;
检测所述头戴式装置周围的环境温度的波动;
检测所述头戴式装置的温度的波动;以及
检测所述头戴式装置的一部分的机械位移。
5.根据权利要求1所述的方法,其中,将所述一系列姿势划分为所述姿势组包括:
确定第一误校准条件发生的第一时间;
识别在所述第一误校准条件发生的所述第一时间之前所述头戴式装置的所有姿势;以及
将在所述第一时间之前的所述头戴式装置的所述姿势分组为第一姿势组。
6.根据权利要求5所述的方法,其中,将所述一系列姿势划分为所述姿势组包括:
确定第二误校准条件发生的第二时间;
识别在所述第一时间之后且在所述第二误校准条件发生的所述第二时间之前所述头戴式装置的所有姿势;以及
将在所述第一时间与所述第二时间之间的所述头戴式装置的所述姿势分组为第二姿势组。
7.根据权利要求6所述的方法,其中,所述第二姿势组中的姿势的数量不同于所述第一姿势组中的姿势的数量。
8.根据权利要求1所述的方法,其中,使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差包括:
确定每个姿势组的单独的外在参数,所述单独的外在参数包括与所述头戴式装置的至少两个相机相关联的旋转和平移参数值的至少两个矩阵。
9.根据权利要求1所述的方法,其中,使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差包括:
优化用于每个姿势组的单独的相机校准数据集合,以将所述头戴式装置对准到增强现实图像中的映射参考点的集合。
10.根据权利要求9所述的方法,其中,优化用于每个姿势组的所述单独的相机校准数据集合包括:
应用第一约束,所述第一约束将两个姿势组的所述相机校准数据的旋转参数之间的差限制为小于旋转阈值;以及
应用第二约束,所述第二约束将两个姿势组的所述相机校准数据的平移参数之间的差限制为小于平移阈值。
11.根据权利要求10所述的方法,其中:
所述旋转阈值是2弧分;以及
所述平移阈值是3mm。
12.根据权利要求1所述的方法,包括:
响应于所述头戴式装置的校准,在所述头戴式装置的显示器上显示增强现实图像。
13.一种虚拟或增强现实系统,包括:
头戴式装置,包括被配置为显示增强现实图像的显示设备和被配置为获得用于渲染所述增强现实图像的图像数据的相机;以及
耦合到所述头戴式装置的处理器,所述处理器被配置为:
从所述相机获取所述图像数据,其包括:当所述头戴式装置移动通过所述头戴式装置的一系列姿势时在不同时间获取图像数据;
检测当所述头戴式装置移动通过所述一系列姿势时所述头戴式装置的一个或多个误校准条件已经发生;
基于所述一个或多个误校准条件,将所述一系列姿势划分为姿势组;
使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差,使用用于所述组的相同的校准数据集合来针对每组中的所述姿势执行所述光束平差,其中,与针对所述组中的姿势的光束平差估计联合地估计用于每组的相机校准数据;以及
基于所述光束平差来改变所述相机中的一个或多个相机的对准和取向中的一个或多个以校准所述头戴式装置。
14.根据权利要求13所述的虚拟或增强现实系统,其中,为了当所述头戴式装置移动通过所述头戴式装置的所述一系列姿势时在不同时间获取所述图像数据,所述处理器被配置为:
对于图像数据的每个所选帧,确定所述头戴式装置的姿势;以及
选择姿势的子集作为所述一系列姿势。
15.根据权利要求13所述的虚拟或增强现实系统,其中,为了将所述一系列姿势划分为所述姿势组,所述处理器被配置为:
确定第一误校准条件发生的第一时间;
识别在所述第一误校准条件发生的所述第一时间之前所述头戴式装置的所有姿势;以及
将在所述第一时间之前的所述头戴式装置的所述姿势分组为第一姿势组;
确定第二误校准条件发生的第二时间;
识别在所述第一时间之后且在所述第二误校准条件发生的所述第二时间之前所述头戴式装置的所有姿势;以及
将在所述第一时间与所述第二时间之间的所述头戴式装置的所述姿势分组为第二姿势组。
16.根据权利要求13所述的虚拟或增强现实系统,其中,为了使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差,所述处理器被配置为:
确定用于每个姿势组的单独的外在参数,所述单独的外在参数包括与所述头戴式装置的至少两个相机相关联的旋转和平移参数值的至少两个矩阵;以及
优化用于每个姿势组的单独的相机校准数据集合,以将所述头戴式装置对准到增强现实图像中的映射参考点的集合。
17.一种包括指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:
从头戴式装置的多个相机获取图像数据,其包括:当所述头戴式装置移动通过所述头戴式装置的一系列姿势时在不同时间获取图像数据;
检测当所述头戴式装置移动通过所述一系列姿势时所述头戴式装置的一个或多个误校准条件已经发生;
基于所述一个或多个误校准条件,将所述一系列姿势划分为姿势组;
使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差,使用用于所述组的相同的校准数据集合来针对每组中的所述姿势执行所述光束平差,其中,与针对所述组中的姿势的光束平差估计联合地估计用于每组的相机校准数据;以及
基于所述光束平差来改变所述多个相机中的一个或多个相机的对准和取向中的一个或多个以校准所述头戴式装置。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中,当所述头戴式装置移动通过所述头戴式装置的所述一系列姿势时在不同时间获取所述图像数据包括:
对于图像数据的每个所选帧,确定所述头戴式装置的姿势;以及
选择姿势的子集作为所述一系列姿势。
19.根据权利要求17所述的非暂时性计算机可读存储介质,其中,将所述一系列姿势划分为所述姿势组包括:
确定第一误校准条件发生的第一时间;
识别在所述第一误校准条件发生的所述第一时间之前所述头戴式装置的所有姿势;
将在所述第一时间之前的所述头戴式装置的所述姿势分组为第一姿势组;
确定第二误校准条件发生的第二时间;
识别在所述第一时间之后且在所述第二误校准条件发生的所述第二时间之前所述头戴式装置的所有姿势;以及
将在所述第一时间与所述第二时间之间的所述头戴式装置的所述姿势分组为第二姿势组。
20.根据权利要求17所述的非暂时性计算机可读存储介质,其中,使用用于每个姿势组的单独的相机校准数据集合来针对所述姿势组执行光束平差包括:
确定用于每个姿势组的单独的外在参数,所述单独的外在参数包括与所述头戴式装置的至少两个相机相关联的旋转和平移参数值的至少两个矩阵;以及
优化用于每个姿势组的单独的相机校准数据集合,以将所述头戴式装置对准到增强现实图像中的映射参考点的集合。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063129316P | 2020-12-22 | 2020-12-22 | |
US63/129,316 | 2020-12-22 | ||
PCT/US2021/064655 WO2022140419A1 (en) | 2020-12-22 | 2021-12-21 | Calibration for virtual or augmented reality systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116888563A true CN116888563A (zh) | 2023-10-13 |
Family
ID=82160083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180094253.8A Pending CN116888563A (zh) | 2020-12-22 | 2021-12-21 | 用于虚拟或增强现实系统的校准 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240062482A1 (zh) |
EP (1) | EP4268193A1 (zh) |
JP (1) | JP2024503247A (zh) |
CN (1) | CN116888563A (zh) |
WO (1) | WO2022140419A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367960B2 (en) * | 2013-05-22 | 2016-06-14 | Microsoft Technology Licensing, Llc | Body-locked placement of augmented reality objects |
US10296812B2 (en) * | 2017-01-04 | 2019-05-21 | Qualcomm Incorporated | Systems and methods for mapping based on multi-journey data |
-
2021
- 2021-12-21 CN CN202180094253.8A patent/CN116888563A/zh active Pending
- 2021-12-21 JP JP2023537547A patent/JP2024503247A/ja active Pending
- 2021-12-21 EP EP21912060.7A patent/EP4268193A1/en active Pending
- 2021-12-21 US US18/266,937 patent/US20240062482A1/en active Pending
- 2021-12-21 WO PCT/US2021/064655 patent/WO2022140419A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022140419A1 (en) | 2022-06-30 |
JP2024503247A (ja) | 2024-01-25 |
EP4268193A1 (en) | 2023-11-01 |
US20240062482A1 (en) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3051525B1 (en) | Display | |
US6570566B1 (en) | Image processing apparatus, image processing method, and program providing medium | |
US10241329B2 (en) | Varifocal aberration compensation for near-eye displays | |
JP2022191313A (ja) | 双方向性拡張または仮想現実装置 | |
CN108885342B (zh) | 虚拟图像生成系统及其操作方法 | |
JP2018511098A (ja) | 複合現実システム | |
CN114945853A (zh) | 用于头戴式显示系统中的变形的补偿 | |
TWI683136B (zh) | 視訊穿透式頭戴顯示器及其控制方法 | |
US10997741B2 (en) | Scene camera retargeting | |
CN108885339A (zh) | 用于使用自适应焦平面渲染虚拟现实的配置 | |
WO2020003860A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN112655202B (zh) | 用于头戴式显示器的鱼眼镜头的减小带宽立体失真校正 | |
US20170061695A1 (en) | Wearable display apparatus, information processing apparatus, and control method therefor | |
JP2023099494A (ja) | 仮想現実のためのデータ処理装置、データ処理方法およびコンピュータソフトウェア | |
US11694409B1 (en) | Augmented reality using a split architecture | |
CN116888563A (zh) | 用于虚拟或增强现实系统的校准 | |
US20240098243A1 (en) | Predictive Perspective Correction | |
US11838486B1 (en) | Method and device for perspective correction using one or more keyframes | |
US20240005536A1 (en) | Perspective Correction of User Input Objects | |
WO2023162504A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US20230239458A1 (en) | Stereoscopic-image playback device and method for generating stereoscopic images | |
US20240098232A1 (en) | Partial Perspective Correction with Mitigation of Vertical Disparity | |
WO2024070398A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR20180092187A (ko) | 증강 현실 제공 시스템 | |
US20220180473A1 (en) | Frame Rate Extrapolation |
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 |