CN117321546A - 增强现实引导的深度估计 - Google Patents
增强现实引导的深度估计 Download PDFInfo
- Publication number
- CN117321546A CN117321546A CN202280035669.7A CN202280035669A CN117321546A CN 117321546 A CN117321546 A CN 117321546A CN 202280035669 A CN202280035669 A CN 202280035669A CN 117321546 A CN117321546 A CN 117321546A
- Authority
- CN
- China
- Prior art keywords
- pose
- frame
- depth
- virtual object
- sensor
- 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 abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000009877 rendering Methods 0.000 claims abstract description 34
- 230000015654 memory Effects 0.000 claims description 42
- 230000000007 visual effect Effects 0.000 claims description 14
- 230000033001 locomotion Effects 0.000 claims description 12
- 238000002604 ultrasonography Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 34
- 238000012545 processing Methods 0.000 description 28
- 230000003287 optical effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000036772 blood pressure Effects 0.000 description 2
- 230000036760 body temperature Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000005693 optoelectronics Effects 0.000 description 2
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004266 retinal recognition Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000278713 Theora Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
描述了一种用于AR引导的深度估计的方法。该方法包括:识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;确定AR设备的第二姿势,第二姿势跟随第一姿势;基于在第一帧中渲染的虚拟对象和第二姿势来识别第二帧中的增强区域;针对第二帧中的增强区域确定深度信息;以及基于深度信息在第二帧中渲染虚拟对象。
Description
优先权要求
本申请要求于2021年5月18日提交的序列号为63/189,980的美国临时专利申请和于2021年11月18日提交的序列号为17/529,527的美国专利申请的优先权,这两个申请中的每个申请通过引用整体并入本文。
技术领域
本文中公开的主题总体上涉及视觉跟踪系统。具体地,本公开内容提出了用于估计视觉惯性跟踪系统中的深度的系统和方法。
背景技术
增强现实(AR)设备使用户能够观察场景,同时看到可以与设备的视野中的项、图像、对象或环境对齐的相关虚拟内容。虚拟现实(VR)设备提供了比AR设备更沉浸式的体验。VR设备利用基于VR设备的定位和取向显示的虚拟内容遮挡用户的视野。
附图说明
为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或多个最高位数字指代该元件被首次引入时所在的图号。
图1是示出根据一个示例实施方式的用于操作AR设备的网络环境的框图。
图2是示出根据一个示例实施方式的AR设备的框图。
图3是示出根据一个示例实施方式的6DOF跟踪器的框图。
图4是示出根据一个示例实施方式的用于渲染虚拟对象的处理的框图。
图5是示出根据一个示例实施方式的用于AR引导的深度估计的方法的流程图。
图6是示出根据一个示例实施方式的用于估计区域以得到深度信息的操作的框图。
图7是示出根据一个示例实施方式的在渲染区域中渲染对象的操作的框图。
图8是示出根据一个示例实施方式的渲染的示例操作的框图。
图9示出了根据一个示例实施方式的可以实现头部可穿戴设备的网络环境。
图10是示出根据示例实施方式的可以在其内实现本公开内容的软件架构的框图。
图11是根据一个示例实施方式的呈计算机系统形式的机器的图解表示,在该机器内,可以执行指令集合以使机器执行本文中讨论的方法中的任何一种或更多种方法。
具体实施方式
下面的描述描述了示出本主题的示例实施方式的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于说明的目的,阐述了许多具体细节以便提供对本主题的各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些具体细节中的一些或其他细节的情况下实践本主题的实施方式。示例仅仅代表可能的变型。除非另有明确说明,否则结构(例如,诸如模块的结构部件)是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以在顺序上变化或者被组合或细分。
术语“增强现实”(AR)在本文中用于指真实世界环境的交互体验,其中驻留在真实世界中的物理对象被计算机生成的数字内容(也称为虚拟内容或合成内容)“增强”或加强。AR也可以指实现真实世界和虚拟世界的组合、实时交互以及虚拟对象和真实对象的3D配准的系统。AR系统的用户感知虚拟内容,这些虚拟内容看起来与真实世界的物理对象相连或与真实世界的物理对象交互。
术语“虚拟现实”(VR)在本文中用于指与真实世界环境完全不同的虚拟世界环境的模拟体验。在虚拟世界环境中显示计算机生成的数字内容。VR也指使VR系统的用户能够完全沉浸在虚拟世界环境中并与虚拟世界环境中呈现的虚拟对象进行交互的系统。
术语“AR应用”在本文中用于指实现AR体验的计算机操作的应用。术语“VR应用”在本文中用于指实现VR体验的计算机操作的应用。术语“AR/VR应用”是指实现AR体验或VR体验的组合的计算机操作的应用。
术语“视觉跟踪系统”在本文中用于指计算机操作的应用或系统,其使得系统能够跟踪由视觉跟踪系统的一个或更多个摄像装置捕获的图像中识别的视觉特征。视觉跟踪系统基于所跟踪的视觉特征构建真实世界环境的模型。视觉跟踪系统的非限制性示例包括:视觉同步定位和映射系统(VSLAM)和视觉惯性里程计(VIO)系统。VSLAM可以用于基于视觉跟踪系统的一个或更多个摄像装置从环境或场景构建目标。VIO系统(也称为视觉惯性跟踪系统)基于从设备的多个传感器(例如,光学传感器、惯性传感器)获取的数据来确定设备的最新姿势(例如,定位和取向)。
术语“惯性测量单元”(IMU)在本文中用于指可以对移动主体的惯性状态进行报告的设备,该惯性状态包括移动主体的加速度、速度、取向和定位。IMU通过对由IMU测量的加速度和角速度进行积分来实现对主体的移动的跟踪。IMU也可以指加速度计和陀螺仪的组合,所述加速度计和陀螺仪可以分别确定和量化线性加速度和角速度。可以处理从IMU陀螺仪获得的值以获得IMU的俯仰、滚转和航向,从而获得与IMU相关联的主体的俯仰、滚转和航向。还可以处理来自IMU的加速度计的信号以获得IMU的速度和位移。
术语“三自由度跟踪系统”(3DOF跟踪系统)在本文中用于指跟踪旋转移动的设备。例如,3DOF跟踪系统可以跟踪头部可穿戴设备的用户是向左还是向右看、是向上还是向下旋转他们的头部、以及是向左还是向右转动。然而,头部可穿戴设备不能使用3DOF跟踪系统来确定用户是否通过在物理世界中移动而围绕场景移动。因此,3DOF跟踪系统可能不够准确而不能用于定位信号。3DOF跟踪系统可以是包括IMU传感器的AR/VR显示设备的一部分。例如,3DOF跟踪系统使用来自诸如加速度计、陀螺仪和磁力计的传感器的传感器数据。
术语“六自由度跟踪系统”(6DOF跟踪系统)在本文中用于指跟踪旋转和平移运动的设备。例如,6DOF跟踪系统可以跟踪用户是否旋转了他们的头部并向前或向后、横向或垂直以及向上或向下移动。6DOF跟踪系统可以包括依赖于从多个传感器(例如,深度摄像装置、惯性传感器)获取的数据的SLAM系统或VIO系统。6DOF跟踪系统分析来自传感器的数据,以准确地确定显示设备的姿势。
现实增强需要深度信息。高分辨率深度是通过处理视觉信息来计算的,这是计算要求很高的处理。通常,AR设备针对每一个经处理的帧的整个图像区域估计深度图。然而,由于有限的计算资源和功率约束,便携式AR设备中的深度估计可能不会针对每一个帧执行。
本申请描述了一种系统,该系统从图形渲染引擎获得反馈,以使用来自6DOF跟踪系统的最新姿势数据预测摄像装置视野的将要被增强的区域/区。该系统仅针对摄像装置图像的有限的感兴趣区域/区确定深度信息,从而节省计算资源和功率。
在一个示例实施方式中,描述了用于AR引导的深度估计的方法。该方法包括:识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;确定AR设备的第二姿势,第二姿势跟随第一姿势;基于在第一帧中渲染的虚拟对象和第二姿势识别第二帧中的增强区域;确定仅用于第二帧中的增强区域的深度信息;以及基于深度信息在第二帧中渲染虚拟对象。
结果,本文中描述的方法中的一种或更多种方法通过针对图像的有限区域而不是整个图像确定深度,有助于解决节省功耗的技术问题。当前描述的方法通过提供功耗降低来提供对计算机功能的操作的改进。因此,本文中描述的方法中的一种或更多种方法可以避免对某些努力或计算资源的需要。这样的计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗、网络带宽和冷却容量。
图1是示出根据一些示例实施方式的适合于操作AR设备110的网络环境100的网络图。网络环境100包括经由网络104彼此通信地耦接的AR设备110和服务器112。AR设备110和服务器112各自可以全部或部分地在如下文关于图11所描述的计算机系统中实现。服务器112可以是基于网络的系统的一部分。例如,基于网络的系统可以是或包括基于云的服务器系统,该基于云的服务器系统向AR设备110提供附加信息,例如虚拟内容(例如,虚拟对象的三维模型)。
用户106操作AR设备110。用户106可以是人类用户(例如,人类)、机器用户(例如,由软件程序配置成与AR设备110交互的计算机)或其任何合适的组合(例如,由机器辅助的人类或由人类监督的机器)。用户106不是网络环境100的一部分,而是与AR设备110相关联。
AR设备110可以是具有显示器的计算设备,例如智能手机、平板计算机或可穿戴计算设备(例如,手表或眼镜)。计算设备可以是手持式的,或者可以被可移动地安装至用户106的头部。在一个示例中,显示器可以是显示利用AR设备110的摄像装置捕获的内容的屏幕。在另一示例中,设备的显示器可以是透明的,例如在可穿戴计算眼镜的镜片中。在其他示例中,显示器可以是透明显示器,例如汽车、飞机、卡车的挡风玻璃。显示器可以是不透明的,并且可由用户穿戴以覆盖用户的视野。
用户106操作AR设备110的应用。该应用可以包括AR应用,该AR应用被配置成向用户106提供由物理对象108触发的体验,该物理对象108例如二维物理对象(例如,图片)、三维物理对象(例如,雕像)、位置(例如,在工厂处)或真实世界物理环境中的任何参考(例如,墙壁或家具的感知角落)。例如,用户106可以指引AR设备110的摄像装置捕获物理对象108的图像。
AR设备110包括跟踪系统(未示出)。跟踪系统使用光学传感器(例如,启用深度的3D摄像装置、图像摄像装置)、惯性传感器(例如,陀螺仪、加速度计)、无线传感器(蓝牙、Wi-Fi)、GPS传感器和音频传感器来跟踪AR设备110相对于真实世界环境102的姿势(例如,定位和取向),以确定AR设备110在真实世界环境102内的位置。
在一个示例实施方式中,服务器112可以用于基于来自AR设备110的传感器数据(例如,图像和深度数据)来检测和识别物理对象108,基于传感器数据来确定AR设备110和物理对象108的姿势。服务器112还可以基于AR设备110和物理对象108的姿势来生成虚拟对象。服务器112将虚拟对象传送至AR设备110。对象识别、跟踪和AR渲染可以在AR设备110、服务器112或AR设备110与服务器112之间的组合上执行。
图1所示的机器、数据库或设备中的任何一个都可以在如下通用计算机中实现,该通用计算机被软件修改(例如,配置或编程)为专用计算机,以执行本文中针对该机器、数据库或设备描述的功能中的一个或更多个功能。例如,下面参照图5讨论能够实现本文中描述的方法中的任何一种或更多种方法的计算机系统。如本文中使用的,“数据库”是数据存储资源,并且可以存储被结构化为文本文件、表格、电子表格、关系数据库(例如,对象-关系数据库)、三元组存储、分层数据存储或其任何合适的组合的数据。此外,图1中所示的机器、数据库或设备中的任何两个或更多个可以组合成单个机器,并且本文中针对任何单个机器、数据库或设备描述的功能可以在多个机器、数据库或设备之中细分。
网络104可以是使得能够在机器(例如,服务器112)、数据库与设备(例如,AR设备110)之间或之中进行通信的任何网络。因此,网络104可以是有线网络、无线网络(例如,移动或蜂窝网络)或其任何合适的组合。网络104可以包括构成专用网络、公共网络(例如,因特网)或其任何合适的组合的一个或更多个部分。
图2是示出根据一些示例实施方式的AR设备110的模块(例如,部件)的框图。AR设备110包括传感器202、显示器204、处理器208、图形处理单元218、显示控制器220和存储设备206。AR设备110的示例包括可穿戴计算设备、平板计算机、导航设备、便携式媒体设备或智能电话。
传感器202包括光学传感器214、惯性传感器216和深度传感器226。光学传感器214包括彩色摄像装置、热感摄像装置、深度传感器和一个或多个灰度、全局快门跟踪摄像装置的组合。惯性传感器216包括陀螺仪、加速度计、磁力计的组合。深度传感器226包括结构光传感器、飞行时间传感器、被动立体传感器和超声设备、飞行时间传感器的组合。传感器202的其他示例包括接近传感器或位置传感器(例如,近场通信、GPS、蓝牙、Wifi)、音频传感器(例如,麦克风)或其任何合适的组合。注意,本文中描述的传感器202是为了说明的目的,并且因此传感器202不限于上面所描述的传感器。
显示器204包括被配置成显示由处理器208生成的图像的屏幕或监视器。在一个示例实施方式中,显示器204可以是透明的或半透明的,使得用户106可以透过显示器204观看(在AR用例中)。在另一示例中,显示器204(例如,LCOS显示器)以多个呈现来呈现虚拟内容的每个帧。
处理器208包括AR应用210、6DOF跟踪器212和深度系统224。AR应用210使用计算机视觉来检测和识别物理环境或物理对象108。AR应用210基于所识别的物理对象108或物理环境来检索虚拟对象(例如,3D对象模型)。显示器204显示虚拟对象。AR应用210包括本地渲染引擎,该本地渲染引擎生成覆盖在由光学传感器214捕获的物理对象108的图像上(例如,叠加在其上或以其他方式与其同时显示)的虚拟对象的可视化。可以通过调整物理对象108相对于光学传感器214的定位(例如,其物理位置、取向或两者)来操纵虚拟对象的可视化。类似地,可以通过调整AR设备110相对于物理对象108的姿势来操纵虚拟对象的可视化。
6DOF跟踪器212估计AR设备110的姿势。例如,6DOF跟踪器212使用来自光学传感器214的图像数据和惯性传感器216的对应的惯性数据来跟踪AR设备110相对于参照系(例如,真实世界环境102)的位置和姿势。在一个示例中,6DOF跟踪器212使用传感器数据来确定AR设备110的三维姿势。三维姿势是AR设备110相对于用户的真实世界环境102的确定的取向和定位。例如,AR设备110可以使用用户的真实世界环境102的图像以及其他传感器数据来识别AR设备110与AR设备110周围的真实世界环境102中的物理对象的相对定位和取向。6DOF跟踪器212持续地收集并使用描述AR设备110的移动的经更新的传感器数据,以确定AR设备110的经更新的三维姿势,所述经更新的三维姿势指示AR设备110与真实世界环境102中的物理对象的相对定位和取向的变化。6DOF跟踪器212将AR设备110的三维姿势提供给图形处理单元218。
图形处理单元218包括渲染引擎(未示出),该渲染引擎被配置成基于由AR应用210提供的虚拟内容和AR设备110的姿势来渲染虚拟对象的3D模型的帧。换句话说,图形处理单元218使用AR设备110的三维姿势来生成要在显示器204上呈现的虚拟内容的帧。例如,图形处理单元218使用三维姿势来渲染虚拟内容的帧,使得在显示器204中以一定的取向和定位呈现虚拟内容,以适当地增强用户的真实性。作为示例,图形处理单元218可以使用三维姿势数据来渲染虚拟内容的帧,使得当在显示器204上呈现时,虚拟内容与用户的真实世界环境102中的物理对象交叠。图形处理单元218基于AR设备110的经更新的三维姿势生成虚拟内容的经更新的帧,其反映了用户相对于用户的真实世界环境102中的物理对象的定位和取向的变化。
图形处理单元218将所渲染的帧传输至显示控制器220。显示控制器220被定位为图形处理单元218与显示器204之间的中介,从图形处理单元218接收图像数据(例如,所渲染的帧),基于AR设备110的最新姿势再投影帧(通过执行扭曲处理),并将再投影的帧提供给显示器204。
在一个示例中,图形处理单元218将关于所渲染的虚拟对象的信息作为反馈提供给深度系统224。例如,反馈信息识别当前帧中所渲染的虚拟对象的位置。
深度系统224基于深度传感器226测量图像的深度。在一个示例中,深度系统224访问来自典型深度传感器(TOF、结构光、被动立体、超声)的数据。在另一示例中,深度系统224使用其他方法(例如,基于3d预构建模型的渲染、提供来自单个图像的深度的深度网络)来计算深度。深度系统224具有接收标记感兴趣区(AR需要其深度的像素)的Dd掩码的能力。
深度系统224从6DOF跟踪器212检索最新姿势,并将当前帧中所渲染的虚拟对象的位置扭曲成下一帧中的感兴趣区域/区。换句话说,深度系统224估计虚拟对象将在下一帧中位于何处。深度系统224测量对应于感兴趣的区域/范围的深度,并将有限的深度信息提供回图形处理单元218,以用于在下一帧中渲染虚拟对象。
存储设备206存储虚拟对象内容222。虚拟对象内容222包括例如视觉参考(例如,图像、QR码)和对应的虚拟内容(例如,虚拟对象的三维模型)的数据库。
本文中描述的模块中的任何一个或更多个模块可以使用硬件(例如,机器的处理器)或硬件和软件的组合来实现。例如,本文中描述的任何模块都可以将处理器配置成执行本文针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可以组合成单个模块,并且本文针对单个模块描述的功能可以在多个模块之中细分。此外,根据各种示例实施方式,本文中描述为在单个机器、数据库或设备内实现的模块可以跨多个机器、数据库或设备分布。
图3是示出根据一个示例实施方式的6DOF跟踪器212的框图。6DOF跟踪器212访问来自惯性传感器216的惯性传感器数据和来自光学传感器214的光学传感器数据。
6DOF跟踪器212确定AR设备110相对于参照系(例如,真实世界环境102)的姿势(例如,位置、定位、取向、倾斜度)。在一个示例实施方式中,6DOF跟踪器212包括VIO 302,VIO302基于来自利用光学传感器214捕获的图像的特征点的3D图和利用惯性传感器216捕获的惯性传感器数据来估计AR设备110的姿势。
6DOF跟踪器212向图形处理单元218提供姿势数据。深度系统224向图形处理单元218提供当前帧的全深度图。图形处理单元218基于姿势和全深度图渲染虚拟对象。
在一个示例实施方式中,图形处理单元218将反馈信息提供回深度系统224。反馈信息包括例如关于渲染对象的信息(例如,渲染对象元数据)。渲染对象元数据可以识别当前帧中渲染虚拟对象的区。深度系统224基于渲染对象元数据执行有限的深度计算。例如,深度系统224基于从渲染对象元数据确定的感兴趣区来计算图像的有限部分的深度。
图4是示出根据一个示例实施方式的用于渲染虚拟对象的处理的框图。6DOF跟踪器212向图形处理单元218提供AR设备110的初始姿势数据。深度系统224向图形处理单元218提供对应于初始姿势数据的当前帧的全深度图。图形处理单元218基于全深度图和初始姿势数据渲染虚拟对象。
在一个示例中,深度系统224包括增强区域模块402和深度计算模块404。增强区域模块402从图形处理单元218接收反馈信息。反馈信息包括例如渲染对象数据(也称为渲染元数据)。渲染对象数据的示例包括所渲染的虚拟对象在当前帧中的区域、区、位置、所渲染的虚拟对象的尺寸和形状。
在另一示例实施方式中,反馈信息包括关于所渲染的虚拟对象是静态的还是移动的信息。例如,反馈信息指示移动的虚拟对象的投影路径。投影路径可以基于虚拟对象的预配置动态行为。
增强区域模块402将来自6DOF跟踪器212的最新姿势数据应用于反馈信息,以识别下一帧中的感兴趣区。例如,增强区域模块402基于当前姿势与最新姿势数据之间的差异来扭曲当前帧,以生成下一帧。
增强区域模块402指示深度计算模块404确定下一帧中限于感兴趣区的深度。在一个示例中,深度计算模块404基于单目图像或3D重建场景计算深度数据(限于感兴趣区)。深度计算模块404向图形处理单元218提供感兴趣区的深度数据(也称为增强区域深度数据)。
图形处理单元218基于增强区域深度数据在下一帧中渲染虚拟对象。显示控制器220向显示器204提供所渲染的虚拟对象。
图5是示出根据一个示例实施方式的用于AR引导的深度估计的方法500的流程图。可以由AR设备110使用上面关于图2描述的部件(例如,模块、引擎)来执行方法500中的操作。因此,参考AR设备110通过示例的方式描述方法500。然而,应当理解,方法500的操作中的至少一些操作可以部署在各种其他硬件配置上,或者由驻留在别处的类似部件执行。
在框502中,AR设备110基于当前姿势识别在当前帧中渲染的虚拟对象。在一个示例中,图形处理单元218识别所渲染的虚拟对象,并向增强区域模块402生成关于所渲染的虚拟对象的反馈信息。
在框504中,AR设备110确定最新姿势。在一个示例中,6DOF跟踪器212识别AR设备110的最新姿势。6DOF跟踪器212向增强区域模块402提供最新姿势数据。
在框506中,AR设备110基于当前帧中所渲染的虚拟对象的位置和AR设备110的最新姿势来识别下一帧中的增强区域。在一个示例中,增强区域模块402基于当前帧中所渲染的虚拟对象的原始位置和来自6DOF跟踪器212的最新姿势数据来识别下一帧中的感兴趣区。
在框508中,AR设备110确定增强区域(例如,在下一帧中识别的感兴趣区)的深度。在一个示例中,深度计算模块404使用深度传感器来确定下一帧的有限区/区域(例如,感兴趣区)的深度。
在框510中,AR设备110基于增强区域的深度在增强区域中在下一帧中渲染虚拟对象。例如,图形处理单元218基于来自深度计算模块404的关于有限区域的深度数据(例如,增强区域深度数据)和来自6DOF跟踪器212的最新姿势数据在下一帧中渲染虚拟对象。
要注意的是,其他实施方式可以使用不同的排序、额外的或更少的操作以及不同的命名法或术语来完成类似的功能。在一些实施方式中,各个操作可以以同步或异步的方式与其他操作并行执行。本文中描述的操作被选择为以简化的形式说明一些操作原理。
图6是示出根据一个示例实施方式的用于估计区域以得到深度信息的操作的框图。在当前帧t 602中,在渲染区域608中渲染虚拟对象A 606。在下一帧t+1 604中,6DOF跟踪器212使用所传播的/所预测的/VIO姿势和渲染元数据将渲染区域608扭曲成下一帧t+1604中的图像区域610。图像区域610对应于其中深度信息用于渲染虚拟对象A 606的图像区域。
图7是示出根据一个示例实施方式的在渲染区域中渲染对象的操作的框图。在初始化阶段702中,深度系统224处理图像706以对图像708中的整个图像区域执行深度估计。在图像710中渲染对象。在渲染阶段704中,深度系统224处理图像712,以对与图像712中的AR对象的位置相对应的渲染区域执行深度估计。
图8是示出根据一个示例实施方式的渲染的示例操作的框图。时间t时的图像802描绘了真实对象808。时间t+1时的图像804描绘了真实对象810。AR应用210在渲染时间t+dt时渲染对应于真实对象814的虚拟对象806。使用AR设备110的相对姿势来扭曲渲染虚拟对象806的区域,以识别感兴趣区域816。需要深度信息的图像区域限于感兴趣区域816。基于感兴趣区域816的深度信息以对应的深度渲染虚拟对象818。
具有头部可穿戴装置的系统
图9示出了根据一个示例实施方式的可以实现头部可穿戴装置902的网络环境900。图9是示例头部可穿戴装置902的高级功能框图,该示例头部可穿戴装置902经由各种网络940通信地耦接移动客户端设备938和服务器系统932。
头部可穿戴装置902包括摄像装置,例如可见光摄像装置912、红外发射器914和红外摄像装置916中的至少一个。客户端设备938可能能够使用通信934和通信936两者与头部可穿戴装置902连接。客户端设备938连接至服务器系统932和网络940。网络940可以包括有线连接和无线连接的任何组合。
头部可穿戴装置902还包括光学组件的图像显示器904的两个图像显示器。这两个图像显示器包括与头部可穿戴装置902的左侧边相关联的一个图像显示器和与头部可穿戴装置902的右侧边相关联的一个图像显示器。头部可穿戴装置902还包括图像显示驱动器908、图像处理器910、低功率低功率电路926和高速电路918。光学组件的图像显示器904用于向头部可穿戴装置902的用户呈现图像和视频,包括可以包括图形用户界面的图像。
图像显示驱动器908命令和控制光学组件的图像显示器904中的图像显示器。图像显示驱动器908可以将图像数据直接递送至光学组件的图像显示器904中的图像显示器以进行呈现,或者可能必须将图像数据转换为适合于递送至图像显示设备的信号或数据格式。例如,图像数据可以是根据压缩格式(例如,H.264(MPEG-4Part 10)、HEVC、Theora、Dirac、RealVideo RV40、VP8、VP9等)格式化的视频数据,并且静止图像数据可以根据压缩格式(例如,便携式网络组(PNG)、联合图像专家组(JPEG)、标签图像文件格式(TIFF)或可交换图像文件格式(Exif)等)进行格式化。
如上所述,头部可穿戴装置902包括框架和从框架的侧边延伸的柄(或镜腿)。头部可穿戴装置902还包括用户输入设备906(例如,触摸传感器或按压按钮),包括头部可穿戴装置902上的输入表面。用户输入设备906(例如,触摸传感器或按压按钮)用于从用户接收操纵所呈现的图像的图形用户界面的输入选择。
图9中所示的用于头部可穿戴装置902的部件位于边框或镜腿中的一个或更多个电路板(例如,PCB或柔性PCB)上。可替选地或另外地,所描绘的部件可以位于头部可穿戴装置902的块、框架、铰链或鼻梁架中。左和右可以包括数字摄像装置元件,例如互补金属氧化物半导体(CMOS)图像传感器、电荷耦合设备、摄像装置镜头或可以用于捕获数据(包括具有未知对象的场景的图像)的任何其他相应的可见光或光捕获元件。
头部可穿戴装置902包括存储器922,存储器922存储执行本文中描述的功能的子集或全部的指令。存储器922还可以包括存储设备。
如图9所示,高速电路918包括高速处理器920、存储器922和高速无线电路924。在该示例中,图像显示驱动器908耦接至高速电路918,并且由高速处理器920操作,以便驱动光学组件的图像显示器904中的左图像显示器和右图像显示器。高速处理器920可以是能够管理高速通信和头部可穿戴装置902所需的任何一般计算系统的操作的任何处理器。高速处理器920包括使用高速无线电路924管理到无线局域网(WLAN)的通信936上的高速数据传输所需的处理资源。在某些示例中,高速处理器920执行操作系统(例如,LINUX操作系统或头部可穿戴装置902的其他这样的操作系统),并且操作系统被存储在存储器922中以用于执行。除了任何其他职责之外,使用执行头部可穿戴装置902的软件架构的高速处理器920来管理与高速无线电路924的数据传输。在某些示例中,高速无线电路924被配置成实现电气和电子工程师协会(IEEE)902.11通信标准(在本文中也称为Wi-Fi)。在其他示例中,其他高速通信标准可以通过高速无线电路924来实现。
头部可穿戴装置902的低功率无线电路930和高速无线电路924可以包括短距离收发器(蓝牙TM)和无线广域网、局域网或广域网收发器(例如,蜂窝或WiFi)。包括经由通信934和通信936进行通信的收发器的客户端设备938可以使用头部可穿戴装置902的架构的细节来实现,网络940的其他元件也可以如此。
存储器922包括能够存储各种数据和应用的任何存储设备,所述数据和应用包括由左和右、红外摄像装置916和图像处理器910生成的摄像装置数据,以及由图像显示驱动器908在光学组件的图像显示器904中的图像显示器上生成的用于显示的图像等。虽然存储器922被示出为与高速电路918集成,但在其他示例中,存储器922可以是头部可穿戴装置902的单独的独立元件。在某些这样的示例中,电路由线可以提供通过包括高速处理器920的芯片从图像处理器910或低功率处理器928到存储器922的连接。在其他示例中,高速处理器920可以管理存储器922的寻址,使得低功率处理器928将在需要涉及存储器922的读或写操作的任何时间启动高速处理器920。
如图9中所示,头部可穿戴装置902的低功率处理器928或高速处理器920可以耦接至摄像装置(可见光摄像装置912;红外发射器914或红外摄像装置916)、图像显示驱动器908、用户输入设备906(例如,触摸传感器或按压按钮)以及存储器922。
头部可穿戴装置902与主机计算机连接。例如,头部可穿戴装置902经由通信936与客户端设备938配对,或者经由网络940连接至服务器系统932。例如,服务器系统932可以是作为服务或网络计算系统的一部分的一个或更多个计算设备,其包括处理器、存储器和网络通信接口,以通过网络940与客户端设备938和头部可穿戴装置902通信。
客户端设备938包括处理器和耦接至处理器的网络通信接口。网络通信接口允许通过网络940、通信934或通信936进行通信。客户端设备938还可以在客户端设备938的存储器中存储用于生成双耳音频内容的指令的至少一部分,以实现本文中描述的功能。
头部可穿戴装置902的输出部件包括视觉部件,例如显示器(例如,液晶显示器(LCD)、等离子体显示面板(PDP)、发光二极管(LED)显示器、投影仪或波导)。光学组件的图像显示器由图像显示驱动器908驱动。头部可穿戴装置902的输出部件还包括声学部件(例如,扬声器)、触觉部件(例如,振动马达)、其他信号生成器等。头部可穿戴装置902、客户端设备938和服务器系统932的输入部件(例如,用户输入设备906)可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于指向的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏或者其他触觉输入部件)、音频输入部件(例如,麦克风)等。
头部可穿戴装置902可以可选地包括附加的外围设备元件。这样的外围设备元件可以包括生物计量传感器、附加传感器或与头部可穿戴装置902集成的显示元件。例如,外围设备元件可以包括任何I/O部件,包括输出部件、运动部件、定位部件或本文中描述的任何其他此类元件。
例如,生物计量部件包括检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。定位部件包括生成位置坐标的位置传感器部件(例如,全球定位系统(GPS)接收器部件)、生成定位系统坐标的WiFi或蓝牙TM收发器、海拔传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔)、取向传感器部件(例如,磁力计)等。这样的定位系统坐标也可以经由低功率无线电路930或高速无线电路924通过通信936从客户端设备938接收。
在使用类似于“A、B或C中的至少之一”、“A、B和C中的至少一个”、“一个或更多个A、B或C”或者“A、B和C中的一个或更多个”的短语时,旨在将该短语解释为意指A可以单独存在于实施方式中,B可以单独存在于实施方式中,C可以单独存在于实施方式中,或元件A、B和C的任何组合可以存在于单个实施方式中;例如,A和B、A和C、B和C、或A和B以及C。
在不脱离本公开内容的范围的情况下,可以对所公开的实施方式进行改变和修改。这些及其他改变或修改旨在包括在所附权利要求书中所表达的本公开内容的范围内。
图10是示出软件架构1004的框图1000,软件架构1004可以安装在本文中描述的设备中的任何一个或更多个设备上。软件架构1004由诸如机器1002的硬件支持,机器1002包括处理器1020、存储器1026和I/O部件1038。在该示例中,软件架构1004可以被概念化为层的堆栈,其中每个层提供特定的功能。软件架构1004包括诸如操作系统1012、库1010、框架1008和应用1006的层。在操作上,应用1006通过软件堆栈来调用API调用1050并且响应于API调用1050接收消息1052。
操作系统1012管理硬件资源并且提供公共服务。操作系统1012包括例如内核1014、服务1016和驱动器1022。内核1014用作硬件与其他软件层之间的抽象层。例如,内核1014提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务1016可以为其他软件层提供其他公共服务。驱动器1022负责控制底层硬件或与底层硬件对接。例如,驱动器1022可以包括显示驱动器、摄像装置驱动器、或低功耗驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电力管理驱动器等等。
库1010提供由应用1006使用的低级公共基础设施。库1010可以包括系统库1018(例如,C标准库),该系统库1018提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。另外,库1010可以包括API库1024,例如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)渲染的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供web浏览功能的WebKit)等。库1010还可以包括各种其他库1028,以向应用1006提供许多其他API。
框架1008提供由应用1006使用的高级公共基础设施。例如,框架1008提供各种图形用户界面(GUI)功能、高级资源管理和高级位置服务。框架1008可以提供可以由应用1006使用的广泛的其他API,其中一些API可以专用于特定的操作系统或平台。
在示例实施方式中,应用1006可以包括家庭应用1036、联系人应用1030、浏览器应用1032、图书阅读器应用1034、位置应用1042、媒体应用1044、消息收发应用1046、游戏应用1048、以及诸如第三方应用1040的各种各样的其他应用。应用1006是执行程序中限定的功能的程序。可以采用各种编程语言来创建以各种方式构造的应用1006中的一个或更多个应用,所述编程语言例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C语言或汇编语言)。在特定示例中,第三方应用1040(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在诸如IOSTM、ANDROIDTM、Phone的移动操作系统或另外的移动操作系统上运行的移动软件。在该示例中,第三方应用1040可以调用操作系统1012所提供的API调用1050来促进本文中描述的功能。
图11是机器1100的图解表示,在该机器1100内,可以执行用于使机器1100执行本文中讨论的方法中的任何一种或更多种方法的指令1108(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令1108可以使机器1100执行本文中描述的方法中的任何一种或更多种方法。指令1108将通用的未经编程的机器1100变换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器1100。机器1100可以作为独立设备操作,或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1100可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1100可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1100采取的动作的指令1108的任何机器。此外,虽然仅示出了单个机器1100,但是术语“机器”还应当被视为包括单独地或联合地执行指令1108以执行本文中讨论的方法中的任何一种或更多种方法的机器的集合。
机器1100可以包括被配置成经由总线1144彼此通信的处理器1102、存储器1104和I/O部件1142。在示例实施方式中,处理器1102(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、其他处理器或其任何合适的组合)可以包括例如执行指令1108的处理器1106和处理器1110。术语“处理器”旨在包括多核处理器,所述多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时称为“核”)。尽管图11示出了多个处理器1102,但是机器1100可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器1104包括主存储器1112、静态存储器1114和存储单元1116,主存储器1112、静态存储器1114和存储单元1116均可由处理器1102经由总线1144访问。主存储器1104、静态存储器1114和存储单元1116存储体现本文中描述的方法或功能中的任何一种或更多种方法或功能的指令1108。指令1108在其被机器1100执行期间还可以完全地或部分地驻留在主存储器1112内、在静态存储器1114内、在存储单元1116内的机器可读介质1118内、在处理器1102中的至少一个处理器内(例如,在处理器的高速缓存存储器内)、或者在其任何合适的组合内。
I/O部件1142可以包括接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种各样的部件。包括在特定机器中的具体I/O部件1142将取决于机器的类型。例如,诸如移动电话的便携式机器可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将不太可能包括这样的触摸输入设备。应当理解,I/O部件1142可以包括在图11中未示出的许多其他部件。在各种示例实施方式中,I/O部件1142可以包括输出部件1128和输入部件1130。输出部件1128可以包括视觉部件(例如,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号生成器等。输入部件1130可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于指向的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或者其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例实施方式中,I/O部件1142可以包括生物计量部件1132、运动部件1134、环境部件1136或定位部件1138以及各种其他部件。例如,生物计量部件1132包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1134包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1136包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、听觉传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或测量大气中的污染物的气体检测传感器)、或者可以提供与周围物理环境相对应的指示、测量或信号的其他部件。定位部件1138包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1142还包括通信部件1140,通信部件1140可操作成分别经由耦接1124和耦接1126将机器1100耦接至网络1120或设备1122。例如,通信部件1140可以包括网络接口部件或另一合适的设备以与网络1120对接。在其他示例中,通信部件1140可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低功耗)、/>部件以及用于经由其他模态提供通信的其他通信部件。设备1122可以是另一机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1140可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1140可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)码的多维条形码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCC RSS-2D条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1140得到各种信息,例如经由互联网协议(IP)地理定位的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等等。
各种存储器(例如,存储器1104、主存储器1112、静态存储器1114和/或处理器1102的存储器)和/或存储单元1116可以存储体现本文中描述的方法或功能中的任何一种或更多种方法或功能或者由本文中描述的方法或功能中的任何一种或更多种方法或功能使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令1108)在由处理器1102执行时使各种操作实现所公开的实施方式。
可以经由网络接口设备(例如,包括在通信部件1140中的网络接口部件)使用传输介质并且使用多个公知的传输协议中的任何一个传输协议(例如,超文本传输协议(HTTP))通过网络1120来发送或接收指令1108。类似地,可以使用传输介质经由耦接1126(例如,对等耦接)将指令1108发送或接收至设备1122。
如本文中使用的,术语“机器存储介质”、“设备存储介质”和“计算机存储介质”意指相同的事物,并且可以在本公开内容中互换地使用。这些术语指存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。因此,这些术语应当被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)和闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,载波、调制数据信号和其他这样的介质中的至少一些涵盖在下面讨论的术语“信号介质”中。
术语“传输介质”和“信号介质”意指相同的事物,并且可以在本公开内容中互换地使用。术语“传输介质”和“信号介质”应当被理解为包括能够存储、编码或携载用于由机器1400执行的指令1416的任何无形介质,并且包括数字或模拟通信信号或促进这种软件的通信的其他无形介质。因此,术语“传输介质”和“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指以将信息编码在信号中的方式设置或改变其特征中的一个或更多个特征的信号。
术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中互换地使用。这些术语被限定为包括机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。
尽管已经参考特定示例实施方式描述了实施方式,但是将明显的是,在不脱离本公开内容的更广泛范围的情况下,可以对这些实施方式进行各种修改和改变。因此,说明书和附图应被认为是说明性的意义,而不是限制性的意义。形成本发明的一部分的附图通过说明而非限制的方式示出了其中可以实践主题的具体实施方式。所示的实施方式被足够详细地描述,以使得本领域技术人员能够实践本文公开的教导。可以利用并由此得出其他实施方式,使得可以在不脱离本公开内容的范围的情况下进行结构和逻辑替换和改变。因此,本具体实施方式不应当被理解为限制性意义,并且各种实施方式的范围仅由所附权利要求以及这些权利要求所赋予的等效内容的全部范围来限定。
本发明主题的这些实施方式在本文中可以单独和/或集体地通过术语“发明”来指代,这仅仅是为了方便,并且如果事实上公开了一个以上的发明或发明构思,则并不旨在自愿地将本申请的范围限制为任何单个发明或发明构思。因此,尽管本文已经示出和描述了具体实施方式,但是应当理解,计算以实现相同目的的任何布置都可以替代所示的具体实施方式。本公开内容旨在覆盖各种实施方式的任何和所有改变或变型。在回顾上述描述后,上述实施方式和本文未具体描述的其他实施方式的组合对于本领域技术人员来说将是明显的。
提供本公开内容的摘要以使得读者能够快速确定本技术公开内容的性质。以这样的理解提交摘要:即摘要将不用于解释或限制权利要求的范围或含义。另外,在前述具体实施方式中,可以看出,出于简化本公开内容的目的,各种特征在单个实施方式中被组合在一起。本公开内容的该方法不应被解释为反映所要求保护的实施方式需要比在每个权利要求中明确叙述的特征更多的特征的意图。相反,如所附权利要求书所反映的,本发明主题在于少于单个公开实施方式的所有特征。因此,所述权利要求书在此被合并到具体实施方式中,其中每个权利要求作为单独的实施方式独立存在。
示例
所描述的主题的实现方式可以单独地或组合地包括一个或更多个特征,如下面通过示例所示。
示例1是一种方法,包括:识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;确定AR设备的第二姿势,第二姿势跟随第一姿势;基于在第一帧中渲染的虚拟对象和第二姿势来识别第二帧中的增强区域;仅针对第二帧中的增强区域确定深度信息;以及基于深度信息在第二帧中渲染虚拟对象。
示例2包括示例1的方法,其中,增强区域基于第一帧中虚拟对象的位置。
示例3包括示例1的方法,其中,在第二帧中的增强区域中渲染虚拟对象。
示例4包括示例1的方法,其中,第二姿势由六自由度(6DOF)跟踪器确定。
示例5包括示例4的方法,其中,6DOF跟踪器包括视觉惯性里程计(VIO)系统或SLAM系统。
示例6包括示例1的方法,其中,确定第二姿势包括:访问来自AR设备的最新的IMU数据;以及基于最新的IMU数据和第一姿势预测第二姿势。
示例7包括示例1的方法,其中,确定深度信息包括:访问AR设备的深度传感器,深度传感器包括结构光传感器、飞行时间传感器、被动立体传感器和超声设备中的至少一个。
示例8包括示例7的方法,还包括:将深度传感器的设置配置成将深度感测限于增强区域。
示例9包括示例1的方法,其中,确定深度信息包括:基于单目图像或3D重建场景计算深度。
示例10包括示例1的方法,其中,识别第二帧中的增强区域包括:基于第一姿势与第二姿势之间的差异或基于虚拟对象的运动,应用所渲染的虚拟对象从第一帧到第二帧的扭曲变换;以及根据扭曲变换限定增强区域。
示例11是一种计算装置,包括:处理器;以及存储指令的存储器,所述指令在由处理器执行时,将装置配置成:识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;确定AR设备的第二姿势,第二姿势跟随第一姿势;基于在第一帧中渲染的虚拟对象和第二姿势来识别第二帧中的增强区域;仅针对第二帧中的增强区域确定深度信息;以及基于深度信息在第二帧中渲染虚拟对象。
示例12包括权利要求11的计算装置,其中,增强区域基于第一帧中虚拟对象的位置。
示例13包括权利要求11的计算装置,其中,在第二帧中的增强区域中渲染虚拟对象。
示例14包括权利要求11的计算装置,其中,第二姿势由六自由度(6DOF)跟踪器确定。
示例15包括权利要求14的计算装置,其中,6DOF跟踪器包括视觉惯性里程计(VIO)系统或SLAM系统。
示例16包括权利要求11的计算装置,其中,确定第二姿势包括:访问来自AR设备的最新的IMU数据;以及基于最新的IMU数据和第一姿势预测第二姿势。
示例17包括权利要求11的计算装置,其中,确定深度信息包括:访问AR设备的深度传感器,深度传感器包括结构光传感器、飞行时间传感器、被动立体传感器和超声设备中的至少一个。
示例18包括权利要求17的计算装置,其中,指令还将装置配置成:将深度传感器的设置配置成将深度感测限于增强区域。
示例19包括权利要求11的计算装置,其中,确定深度信息包括:基于单目图像或3D重建场景计算深度。
示例20是一种非暂态计算机可读存储介质,计算机可读存储介质包括指令,所述指令在由计算机执行时使计算机:识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;确定AR设备的第二姿势,第二姿势跟随第一姿势;基于在第一帧中渲染的虚拟对象和第二姿势来识别第二帧中的增强区域;仅针对第二帧中的增强区域确定深度信息;以及基于深度信息在第二帧中渲染虚拟对象。
Claims (20)
1.一种方法,包括:
识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;
确定所述AR设备的第二姿势,所述第二姿势跟随所述第一姿势;
基于在所述第一帧中渲染的所述虚拟对象和所述第二姿势来识别第二帧中的增强区域;
仅针对所述第二帧中的增强区域确定深度信息;以及
基于所述深度信息在所述第二帧中渲染所述虚拟对象。
2.根据权利要求1所述的方法,其中,所述增强区域基于所述第一帧中所述虚拟对象的位置。
3.根据权利要求1所述的方法,其中,在所述第二帧中的增强区域中渲染所述虚拟对象。
4.根据权利要求1所述的方法,其中,所述第二姿势由六自由度(6DOF)跟踪器确定。
5.根据权利要求4所述的方法,其中,所述6DOF跟踪器包括视觉惯性里程计(VIO)系统或SLAM系统。
6.根据权利要求1所述的方法,其中,确定所述第二姿势包括:
访问来自所述AR设备的最新的IMU数据;以及
基于所述最新的IMU数据和所述第一姿势预测所述第二姿势。
7.根据权利要求1所述的方法,其中,确定所述深度信息包括:
访问所述AR设备的深度传感器,所述深度传感器包括结构光传感器、飞行时间传感器、被动立体传感器和超声设备中的至少一个。
8.根据权利要求7所述的方法,还包括:
将所述深度传感器的设置配置成将深度感测限于所述增强区域。
9.根据权利要求1所述的方法,其中,确定所述深度信息包括:
基于单目图像或3D重建场景计算深度。
10.根据权利要求1所述的方法,其中,识别所述第二帧中的增强区域包括:
基于所述第一姿势与所述第二姿势之间的差异或基于所述虚拟对象的运动,应用所渲染的虚拟对象从所述第一帧到所述第二帧的扭曲变换;以及
根据所述扭曲变换限定所述增强区域。
11.一种计算装置,包括:
处理器;以及
存储指令的存储器,所述指令在由所述处理器执行时,将所述装置配置成:
识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;
确定所述AR设备的第二姿势,所述第二姿势跟随所述第一姿势;
基于在所述第一帧中渲染的所述虚拟对象和所述第二姿势来识别第二帧中的增强区域;
仅针对所述第二帧中的增强区域确定深度信息;以及
基于所述深度信息在所述第二帧中渲染所述虚拟对象。
12.根据权利要求11所述的计算装置,其中,所述增强区域基于所述第一帧中所述虚拟对象的位置。
13.根据权利要求11所述的计算装置,其中,在所述第二帧中的增强区域中渲染所述虚拟对象。
14.根据权利要求11所述的计算装置,其中,所述第二姿势由六自由度(6DOF)跟踪器确定。
15.根据权利要求14所述的计算装置,其中,所述6DOF跟踪器包括视觉惯性里程计(VIO)系统或SLAM系统。
16.根据权利要求11所述的计算装置,其中,确定所述第二姿势包括:
访问来自所述AR设备的最新的IMU数据;以及
基于所述最新的IMU数据和所述第一姿势预测所述第二姿势。
17.根据权利要求11所述的计算装置,其中,确定所述深度信息包括:
访问所述AR设备的深度传感器,所述深度传感器包括结构光传感器、飞行时间传感器、被动立体传感器和超声设备中的至少一个。
18.根据权利要求17所述的计算装置,其中,所述指令还将所述装置配置成:
将所述深度传感器的设置配置成将深度感测限于所述增强区域。
19.根据权利要求11所述的计算装置,其中,确定所述深度信息包括:
基于单目图像或3D重建场景计算深度。
20.一种非暂态计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由计算机执行时使所述计算机:
识别在基于增强现实(AR)设备的第一姿势生成的第一帧中渲染的虚拟对象;
确定所述AR设备的第二姿势,所述第二姿势跟随所述第一姿势;
基于在所述第一帧中渲染的所述虚拟对象和所述第二姿势来识别第二帧中的增强区域;
仅针对所述第二帧中的增强区域确定深度信息;以及
基于所述深度信息在所述第二帧中渲染所述虚拟对象。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/189,980 | 2021-05-18 | ||
US17/529,527 | 2021-11-18 | ||
US17/529,527 US20220375110A1 (en) | 2021-05-18 | 2021-11-18 | Augmented reality guided depth estimation |
PCT/US2022/029183 WO2022245649A1 (en) | 2021-05-18 | 2022-05-13 | Augmented reality guided depth estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117321546A true CN117321546A (zh) | 2023-12-29 |
Family
ID=89250381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280035669.7A Pending CN117321546A (zh) | 2021-05-18 | 2022-05-13 | 增强现实引导的深度估计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117321546A (zh) |
-
2022
- 2022-05-13 CN CN202280035669.7A patent/CN117321546A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230300464A1 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US20240289988A1 (en) | Intrinsic parameters estimation in visual tracking systems | |
US20220375110A1 (en) | Augmented reality guided depth estimation | |
US20240221222A1 (en) | Camera intrinsic re-calibration in mono visual tracking system | |
US20240176428A1 (en) | Dynamic initialization of 3dof ar tracking system | |
US20220375041A1 (en) | Selective image pyramid computation for motion blur mitigation in visual-inertial tracking | |
KR20240008915A (ko) | 모션 블러 완화를 위한 선택적 이미지 피라미드 계산 | |
KR20240007678A (ko) | 노출 및 iso 관련 애플리케이션의 동적 조정 | |
US20230206390A1 (en) | Dynamic over-rendering in late-warping | |
US11683585B2 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
CN117321472A (zh) | 进行后期扭曲以最小化移动对象的延迟 | |
WO2022246388A1 (en) | Intrinsic parameters estimation in visual tracking systems | |
CN117321546A (zh) | 增强现实引导的深度估计 | |
US11941184B2 (en) | Dynamic initialization of 3DOF AR tracking system | |
US20230267691A1 (en) | Scene change detection with novel view synthesis | |
EP4341786A1 (en) | Augmented reality guided depth estimation | |
CN117425869A (zh) | 后期扭曲中的动态过度渲染 | |
CN117337575A (zh) | 用于运动模糊减轻的选择性图像金字塔计算 | |
KR20240008370A (ko) | 움직이는 객체들의 레이턴시를 최소화하기 위한 늦은 워핑 | |
CN117441343A (zh) | 曝光和iso的动态调整的相关应用 | |
CN117337422A (zh) | 三自由度增强现实跟踪系统的动态初始化 | |
CN117321635A (zh) | 用于多级别特征跟踪的直接尺度级别选择 |
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 |