一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于分离相机的双系统光学对准的制作方法

2023-02-16 13:16:06 来源:中国专利 TAG:

用于分离相机的双系统光学对准


背景技术:

1.混合现实(mr)系统,包括虚拟现实(vr)和增强现实(ar)系统,因其能够为其用户创造真正独有的体验而受到广泛关注。可供参考的是,常规的vr系统通过将其用户的视野仅限制到虚拟环境来创造完全沉浸式的体验。这常常是通过使用头戴式设备(hmd)来实现的,所述头戴式设备完全阻止了现实世界的任何视图。因此,用户完全沉浸在虚拟环境内。相比之下,常规的ar系统通过可视化地呈现被放置在现实世界中或者与现实世界交互的虚拟对象来创建增强现实体验。
2.如在本文中所使用的,vr和ar系统可互换地描述和引用。除非另有说明,否则在本文中的描述同样适用于所有类型的mr系统,其(如上文详细描述的)包括ar系统、vr现实系统和/或能够显示虚拟内容的任何其他类似系统。
3.mr系统也可以采用不同类型的相机以便向用户显示内容,诸如以穿透图像(passthrough image)的形式。穿透图像或视图能够辅助用户在转换到mr环境和/或在mr环境中导航时避免迷失方向和/或安全危害。mr系统能够以多种方式呈现由相机捕获的视图。然而,使用由面向世界的相机捕获的图像来提供真实世界环境的视图的过程产生了许多挑战。
4.当试图使来自多个相机的图像内容对准时,会出现这些挑战中的一些挑战。通常,该对准过程需要详细的时间戳信息和姿态信息,以便执行所述对准过程。然而,有时,时间戳数据或者可能甚至姿态数据是不可用的,因为不同的相机可能在不同的时域中操作,使得其具有时间偏移。此外,有时时间戳数据根本不可用,因为相机可能彼此远程地操作,并且时间戳数据不被传输。对准图像内容提供了实质性的益处,特别是在全息图的放置和生成方面,因此这些问题给技术领域带来了严重的阻碍。因此,在该领域中存在改进图像如何彼此对准的实质性需求。
5.在本文中所要求保护的主题并不限于解决任何缺点或者仅在诸如上文所述的环境中操作的实施例。相反,提供该背景仅是为了例示说明一个示例性技术区域,在其中可以实践在本文中所描述的一些实施例。


技术实现要素:

6.在本文中所公开的实施例涉及用于使由物理安装到计算机系统(例如,可能是hmd)的集成相机生成的图像与由从计算机系统物理卸载的分离相机生成的图像对准和稳定的系统、设备(例如,可穿戴设备、硬件存储设备等)和方法。
7.在一些实施例中,使用所述集成相机生成第一图像。该第一图像被用于确定所述计算机系统的第一姿态。另外,针对所述第一图像确定第一时间戳。实施例也获取由所述分离相机生成的第二图像。所述第二图像与所述第一图像对准。通过基于对准过程将所述第二图像覆盖到所述第一图像上来生成覆盖图像。识别在所述计算机系统在当前时间戳处的当前姿态与使用在所述第一时间戳处的所述第一图像确定的所述第一姿态之间的姿态差异。后期重投影(lsr)被应用于所述覆盖图像以变换所述覆盖图像中的像素,以考虑在与所
述当前时间戳相关联的所述当前姿态和与所述第一时间戳相关联的所述第一姿态之间识别的所述姿态差异。在将所述lsr应用到所述覆盖图像之后,实施例显示所述覆盖图像。
8.提供本概要是为了以简化的形式引入概念的选择,这些概念在下文的详细描述中进一步描述。本概要不是为了识别所要求保护的主题的关键特征或基本特征,也不是为了用于辅助确定所要求保护的主题的范围。
9.额外的特征和优点将在下文的描述中阐述,并且部分地从描述中将是显而易见的,或者可以通过在本文中的教导的实践来学习。本发明的特征和优点可以通过所附的权利要求中特别指出的仪器和组合来实现和获得。本发明的特征将从下文的描述和所附的权利要求中变得更加明显,或者可以通过下文所述的本发明的实践来学习。
附图说明
10.为了描述可获得上述和其他优点和特征的方式,将参考在附图中示出的特定实施例来呈现对上述简要描述的主题的更具体描述。可以理解,这些附图仅描绘了典型的实施例,因此不应当被认为在范围上是限制性的,将通过使用附图以额外的具体性和细节来描述和解释实施例,其中:
11.图1图示了示例性头戴式设备(hmd)。
12.图2图示了关于hmd上的相机的一些不同特征。
13.图3图示了hmd和远程相机(即,分离相机)能够如何一致地操作以向用户提供增强的图像。
14.图4图示了集成相机图像和分离相机图像的示例。
15.图5图示了能够如何基于由集成相机生成的图像来确定计算机系统的姿态。
16.图6图示了示例性对准过程,在其中识别在集成相机图像与分离相机图像之间的图像对应,以便使两幅图像对准在一起,而不管分离相机图像的时间戳或姿态如何。
17.图7图示了示例性对准过程,在其中基于使用惯性测量单元(imus)确定的估计姿态而将集成相机图像与分离相机图像对准。
18.图8图示了用于基于imu估计姿态对准图像的流程图。
19.图9图示了作为基于先前执行的对准将分离相机图像覆盖到集成相机图像上的结果而生成的覆盖图像的示例。
20.图10图示了自从生成集成相机图像以来hmd已经稍微移动姿态的情况,因此能够对图像的像素执行后期重投影(lsr)过程以考虑新的姿态/视角。
21.图11提供了lsr过程的另一示例性说明。
22.图12图示了所公开的用于对准图像内容的过程的广义流程图。
23.图13a和图13b图示了用于使由物理安装到计算机系统(例如,hmd)的集成相机生成的图像与由从计算机系统物理卸载的分离相机生成的图像对准和稳定(例如,经由后期重投影(lsr))的示例性方法的流程图。
24.图14图示了被配置为执行所公开的操作中的任意操作的示例性计算机系统的高级概述。
具体实施方式
25.在本文中所公开的实施例涉及用于使由物理安装到计算机系统(例如,可能是hmd)的集成相机生成的图像与由从计算机系统物理卸载的分离相机生成的图像对准和稳定(例如,可能经由后期重投影(lsr))的系统、设备(例如,可穿戴设备、硬件存储设备等)以及方法。
26.在一些实施例中,使用所述集成相机生成第一图像。该第一图像被用于确定所述计算机系统的第一姿态。另外,针对所述第一图像确定第一时间戳。获取由所述分离相机生成的第二图像。所述第二图像与所述第一图像对准,从而能够生成覆盖图像。识别所述计算机系统在当前时间戳处的当前姿态与所述第一姿态之间的姿态差异。后期重投影(lsr)被应用于所述覆盖图像以考虑所述姿势差异。在应用所述lsr之后,实施例显示所述覆盖图像。
27.技术益处、改进和实际应用的示例
28.以下部分概述了由所公开的实施例提供的一些示例性改进和实际应用。然而,将意识到,这些仅仅是示例,并且实施例并不局限于仅这些改进。
29.所公开的实施例为技术领域提供了实质性的改进、益处和实际应用。通过示例,所公开的实施例改进了如何生成和显示图像,并且改进了如何对准图像内容,即使不使用时间戳数据也是如此。
30.亦即,实施例解决了当试图使远程或分离相机图像的内容与另一图像对准以创建单幅复合或覆盖图像时没有该图像的精确时间戳的问题。关于可能不知道时间戳的信息的原因可能有多种。例如,异步无线通信可能发生于在不同时域上操作的多个设备之间,导致出现不知道所述时间戳的情况。尽管可能缺少信息,但是实施例仍然能够执行图像对准,因为实施例不必基于时间戳数据来执行图像匹配。因此,实施例通过使得能够在不需要时间数据的情况下执行图像匹配来提供对技术领域的改进。
31.示例性mr系统和hmd
32.现在将注意图1,其图示了头戴式设备(hmd)100的示例。hmd 100能够是任意类型的mr系统100a,包括vr系统100b或ar系统100c。应当注意,尽管本公开的大部分集中于hmd的使用,但是实施例不限于仅使用hmd来实践。亦即,能够使用任意类型的扫描或相机系统,甚至是从hmd完全移除或分离的系统。这样,所公开的原理应当被广义地解释为涵盖任意类型的扫描场景或设备。一些实施例甚至可以不主动使用扫描设备自身,并且可以简单地使用由扫描设备生成的数据。例如,一些实施例可至少部分地在云计算环境中实践。
33.hmd 100被示为包括(一个或多个)扫描传感器105(即,一种类型的扫描或相机系统),并且hmd 100能够使用(一个或多个)扫描传感器105来扫描环境、映射环境、捕获环境数据、和/或生成环境的任意类型的图像(例如,通过生成环境的3d表示或者通过生成“穿透”可视化)。(一个或多个)扫描传感器105可以包括但不限于任意数量或者任意类型的扫描设备。
34.根据所公开的实施例,hmd 100可以被用于生成用户环境的穿透可视化。如在本文中所使用的,“穿透”可视化指代从hmd的观点反映环境的视角的可视化,而不管hmd 100是作为ar系统还是vr系统的一部分被包括。为了生成该穿透可视化,hmd 100可以使用其(一个或多个)扫描传感器105来扫描、映射或者以其他方式记录其周围环境,包括环境中的任
意对象,并且将该数据传递给用户以用于查看。
35.为了生成穿透图像,(一个或多个)扫描传感器105通常依赖于其相机(例如,头部跟踪相机、手部跟踪相机、深度相机或者任何其他类型的相机)来获得所述环境的一幅或多幅原始图像(又名纹理图像)。除了生成穿透图像之外,这些原始图像也可以被用于确定深度数据,所述深度数据详细说明从所述传感器到由所述原始图像捕获的任意对象的距离(例如,z轴范围或测量)。一旦获得这些原始图像,就能够根据被嵌入或包含在所述原始图像内的所述深度数据来计算深度图(例如,基于像素差异),并且在需要时能够使用用于任意重投影的深度图来生成穿透图像(例如,针对每个瞳孔一个)。
36.从所述穿透可视化,用户将能够感知当前在他/她的环境中的内容,而不必移除或重新定位hmd 100。此外,如后面将更详细描述的,所公开的穿透可视化也将增强用户查看在他/她的环境内的对象的能力(例如,通过显示人眼可能无法检测到的额外环境条件)。如在本文中所使用的,所谓的“覆盖图像”能够是一种类型的穿透图像。
37.应当注意,尽管本公开的主要内容集中于生成“一幅”穿透图像,但是实施例实际上为用户的眼睛中的每只眼睛生成单独的穿透图像。亦即,两幅穿透图像通常彼此同时地生成。因此,尽管经常提到生成似乎是单幅穿透图像,但是实施例实际上能够同时地生成多幅穿透图像。
38.在一些实施例中,(一个或多个)扫描传感器105包括(一个或多个)可见光相机110、(一个或多个)微光相机115、(一个或多个)热成像相机120、潜在地(尽管不一定,如由在图1中的虚线框所表示的)(一个或多个)紫外线(uv)相机125、以及潜在地(尽管不一定,如由虚线框所表示的)点照明器130。省略号135表示任意其他类型的相机或相机系统(例如,深度相机、飞行时间相机、虚拟相机、深度激光器等)可以如何被包含在(一个或多个)扫描传感器105中。
39.作为示例,被构造为检测中红外波长的相机可以被包含在(一个或多个)扫描传感器105内。作为另一示例,从实际相机重投影的任意数量的虚拟相机可以被包含在(一个或多个)扫描传感器105中,并且可以被用于生成立体图像对。以这种方式,(一个或多个)扫描传感器105可以被用于生成所述立体图像对。在一些情况下,所述立体图像对可以作为执行以下操作中的任意一项或多项操作的结果来获得或生成:经由使用两个相机和一个点照明器(例如,点照明器130)的活动立体图像生成;经由使用两个相机的被动立体图像生成;经由使用一个实际相机、一个虚拟相机和一个点照明器(例如,点照明器130)使用结构光的图像生成;或者使用飞行时间(tof)传感器的图像生成,其中,基线存在于深度激光器与对应相机之间,并且其中,对应相机的视场(fov)相对于深度激光器的照明场而偏移。
40.通常,人眼能够感知所谓的“可见光谱”内的光,其包括波长范围从大约380纳米(nm)到大约740mn的光(或者更确切地说,电磁辐射)。如在本文中所使用的,(一个或多个)可见光相机110包括两个或更多个红、绿、蓝(rgb)相机,其被构造成捕获可见光谱内的光子。通常,这些rgb相机是互补金属氧化物半导体(cmos)型相机,但是也可以使用其他相机类型(例如,电荷耦合器件,ccd)。
41.rgb相机通常是立体相机,这意味着两个或更多个rgb相机的视场至少部分地彼此重叠。利用该重叠区域,由(一个或多个)可见光相机110生成的图像能够被用于识别通常表示由这两幅图像捕获的对象的特定像素之间的差异。基于这些像素差异,实施例能够确定
针对位于所述重叠区域内的对象的深度(即,“立体式(stereoscopic)深度匹配”或“立体(stereo)深度匹配”)。这样,(一个或多个)可见光相机110不仅能够被用于生成穿透可视化,而且也能够被用于确定对象深度。在一些实施例中,(一个或多个)可见光相机110能够捕获可见光和ir光两者。
42.(一个或多个)微光相机115被构造成捕获可见光和ir光。ir光常常被分为三种不同类别,包括近ir、中ir和远ir(例如,热ir)。所述类别是基于ir光的能量来确定的。例如,近ir由于具有相对较短的波长(例如,在约750nm与约1000nm之间)而具有相对较高的能量。相反,远ir由于具有相对较长的波长(例如,高达约30,000nm)而具有相对较少的能量。中ir具有在近ir和远ir范围之间或中间的能量值。(一个或多个)微光相机115被构造成至少在近ir范围中检测ir光或者对ir光敏感。
43.在一些实施例中,(一个或多个)可见光相机110和(一个或多个)微光相机115(又名微光夜视相机)在大致相同的重叠波长范围内操作。在一些情况下,这种重叠波长范围在大约400纳米与大约1000纳米之间。另外,在一些实施例中,这两种类型的相机都是硅检测器。
44.在这两种类型的相机之间的一个区别特征与其主动操作的照度条件或(一个或多个)照度范围有关。在一些情况下,(一个或多个)可见光相机110是低功率相机,并且在照度在大约10勒克斯与大约100,000勒克斯之间的环境中操作,或者更确切地说,所述照度范围从大约10勒克斯开始并且增加到超过10勒克斯。相比之下,(一个或多个)微光相机115消耗更多的功率,并且在所述照度范围在约1毫勒克斯与约10勒克斯之间的环境中操作。
45.另一方面,(一个或多个)热成像相机120被构造成检测在远ir(即热ir)范围内的电磁辐射或ir光,但是一些实施例也使得(一个或多个)热成像相机120能够检测中ir范围内的辐射。为了澄清,(一个或多个)热成像相机120可以是长波红外成像相机,其被构造成通过测量长波红外波长来检测电磁辐射。通常,(一个或多个)热成像相机120检测波长在约8微米与14微米之间的ir辐射。因为(一个或多个)热成像相机120检测远ir辐射,所以(一个或多个)热成像相机120能够在任何照度条件下操作,而不受限制。
46.在一些情况下(尽管不是全部),(一个或多个)热成像相机120包括未冷却的热成像传感器。未冷却的热成像传感器使用基于辐射热计的特定类型的检测器设计,辐射热计是测量入射电磁波/辐射的幅度或功率的设备。为了测量所述辐射,辐射热计使用薄层的吸收材料(例如,金属),其通过热链被接连接到热储存库上。入射波撞击并且加热材料。响应于材料被加热,辐射热计检测到与温度相关的电阻。环境温度的变化引起辐射热计温度的变化,并且这些变化能够被转换成电信号,由此产生环境的热图像。根据所公开的实施例中的至少一些实施例,未冷却的热成像传感器被用于生成任意数量的热图像。未冷却热成像传感器的辐射热计能够检测跨宽光谱的电磁辐射,跨越中ir光谱、远ir光谱以及甚至高达毫米尺寸的波。
47.(一个或多个)uv相机125被构造成捕获uv范围内的光。所述uv范围包括波长在约10nm与约400nm之间的电磁辐射。所公开的(一个或多个)uv相机125应当被广义地解读,并且可以以包括反射uv摄影和uv诱导荧光摄影两者的方式来操作。
48.因此,如在本文中所使用的,“可见光相机”(包括“头部跟踪相机”)是主要用于计算机视觉以执行头部跟踪的相机。这些相机能够检测可见光,或者甚至可见光与ir光的组
合(例如,ir光的范围,包括波长约850nm的ir光)。在一些情况下,这些相机是全局快门设备,其中像素大小约为3μm。另一方面,微光相机是对可见光和近ir敏感的相机。这些相机更大,并且可能具有大小约为8μm或更大的像素。这些相机对硅传感器对其敏感的波长也很敏感,这些波长在约350nm到1100nm之间。热/长波长ir设备(即,热成像相机)具有约10μm或更大的像素尺寸,并且检测从环境辐射的热量。这些相机对在8μm到14μm范围内的波长敏感。一些实施例也包括被配置为至少检测中ir光的中ir相机。这些相机常常包括非硅材料(例如,inp或ingaas),其检测在800nm至2μm波长范围内的光。
49.因此,所公开的实施例可以被构造成利用许多不同的相机类型。不同的相机类型包括但不限于:可见光相机、微光相机、热成像相机和uv相机。可以使用从上文列出的相机类型的任意一种类型或者类型的组合生成的图像来执行穿透图像生成以及甚至立体深度匹配。
50.通常,(一个或多个)微光相机115、(一个或多个)热成像相机120和(一个或多个)uv相机125(如果存在的话)比(一个或多个)可见光相机110消耗相对更多的电力。因此,当不使用时,(一个或多个)微光相机115、(一个或多个)热成像相机120和(一个或多个)uv相机125通常处于断电状态,其中,这些相机要么被关闭(以及因此不消耗电力),要么处于降低的可操作性模式(以及因此消耗的电力比那些相机完全运行时少得多)。相比之下,(一个或多个)可见光相机110通常处于加电状态,在其中这些相机默认是完全操作的。
51.应当注意的是,针对不同相机类型中的每种相机类型,可以在hmd 100上提供任意数量的相机。亦即,(一个或多个)可见光相机110可以包括1、2、3、4、5、6、7、8、9、10或者10个以上的相机。然而,相机的数量通常为至少2个,因此hmd 100能够执行穿透图像生成和/或立体深度匹配,如先前所描述的。类似地,(一个或多个)微光相机115、(一个或多个)热成像相机120和(一个或多个)uv相机125可以分别包括1、2、3、4、5、6、7、8、9、10或者10个以上的对应相机。
52.图2图示了示例性hmd 200,其表示来自图1中的hmd 100。hmd 200被示为包括多个不同的相机,包括相机205、210、215、220和225。相机205-225表示来自图1中的(一个或多个)可见光相机110、(一个或多个)微光相机115、(一个或多个)热成像相机120和(一个或多个)uv相机125的任意数量或组合。尽管在图2中仅图示了5个相机,但是hmd 200可以包括多于或少于5个相机。
53.在一些情况下,所述相机能够位于hmd 200上的特定位置处。例如,在一些情况下,第一相机(例如,可能是相机220)被设置在hmd 200上相对于hmd的高度方向在佩戴hmd 200的任意用户的指定左眼位置上方的位置处。例如,相机220位于瞳孔230上方。作为另一示例,第一相机(例如,相机220)相对于hmd的宽度方向额外地位于指定的左眼位置上方。亦即,相机220不仅位于瞳孔230上方,而且也相对于瞳孔230处于直线上。当使用vr系统时,相机可能被直接放置在指定左眼位置的前方。例如,参考图2,相机可以被物理地设置在hmd 200上在z轴方向上瞳孔230前方的位置处。
54.当提供第二相机(例如,可能是相机210)时,第二相机可以被设置在hmd上相对于hmd的高度方向在佩戴hmd的任意用户的指定右眼位置上方的位置处。例如,相机210在瞳孔235上方。在一些情况下,所述第二相机相对于hmd的宽度方向额外地位于指定右眼位置上方。当使用vr系统时,相机可以被直接放置在指定右眼位置的前方。例如,参考图2,相机可
以被物理地设置在hmd 200上在z轴方向上的瞳孔235前方的位置处。
55.当用户佩戴hmd 200时,hmd 200适配在用户的头上,并且hmd 200的显示器位于用户瞳孔(诸如瞳孔230和瞳孔235)的前方。通常,相机205-225将物理地偏离用户的瞳孔230和235一些距离。例如,在hmd高度方向(即,“y”轴)上可能存在垂直偏移,如由偏移240所示的。类似地,在hmd宽度方向(即,“x”轴)上可能存在水平偏移,如由偏移245所示的。
56.hmd 200被配置为提供(一幅或多幅)穿透图像250以供hmd 200的用户查看。通过这样做,hmd 200能够提供真实世界的可视化,而无需用户移除或重新定位hmd 200。这些(一幅或多幅)穿透图像250有效地从hmd的视角表示环境的视图。相机205-225被用于提供这些(一幅或多幅)穿透图像250。在一些实现方式中,实施例在生成所述穿透图像时利用平面重投影过程。当环境中的物体离hmd足够远时,使用这种平面重投影过程是可接受的。因此,在一些情况下,实施例能够避免执行视差校正,因为环境中的物体足够远,并且因为该距离导致关于深度可视化或视差问题的可忽略的误差。
57.集成相机和分离相机操作
58.现在将注意图3,其图示了hmd 305正在其中操作的环境300。hmd 305表示来自图2中的hmd 200。
59.在该场景中,hmd 305包括被物理安装到hmd 305的集成相机310。例如,集成相机310可以是在图2中提到的相机205-225中的任意相机。类似地,集成相机310可以是在图1中所提到的相机中的任意相机,诸如(一个或多个)可见光相机110、(一个或多个)微光相机115、(一个或多个)热成像相机120或者甚至(一个或多个)uv相机125。集成相机310被示为经由视场(fov)315扫描环境300。亦即,在fov 315中所包括的对象将被表示在由集成相机310所生成的图像中。
60.图3也示出了分离相机320的存在或使用。在此,从hmd 305物理地卸载分离相机320。例如,在该特定场景中,分离相机320被绑在或者以其他方式被放置在用户的胸部上。在一些场景中,分离相机320可以不被放置在用户的身体上,而是可以替代地被放置在由用户持有的物体上。作为一个示例,假设分离相机320被安装在自拍杆或者另一类型的延伸杆上。在一些情况下,分离相机320可以被附接到由用户正在使用的某个其他设备上。在一些情况下,分离相机320可以完全从用户的控制中移除,诸如当分离相机320被放置在地面上或者可能被放置在另一用户上时。
61.图3示出了分离相机320如何与其自身对应的fov 325相关联。亦即,被包含在fov 325内的物体将被捕获或者被包含在由分离相机320生成的图像中。人们将意识到,集成相机310和分离相机320两者如何能够不受限制地生成静止图像以及视频。
62.根据所公开的原理,fov 315的至少一部分与fov 325重叠,如由重叠330状况所示的。该重叠330使得实施例能够生成多幅图像,并且然后将图像内容从一幅图像覆盖到另一图像上,以便生成具有在仅使用单幅图像的情况下将不存在的增强特征的合成图像或覆盖图像。
63.应当注意,尽管本公开主要集中于两幅图像的使用,但是实施例能够从具有重叠区域的两幅以上的图像对准内容。例如,假设2、3、4、5、6、7、8、9或者甚至10幅图像具有重叠内容。实施例能够检查每幅图像,并且然后将特定部分彼此对准。然后,所得到的覆盖图像可以是由可用图像(例如,如果可用,甚至10幅或者更多幅图像)的任意组合或者对准形成
的合成图像。因此,当执行所公开的操作时,实施例能够利用任意数量的图像,并且不限于仅两幅图像。
64.假设集成相机310是微光相机,并且还假设分离相机320是热成像相机。如后面将更详细地讨论的,实施例能够选择性地从热成像相机图像中提取图像内容,并且将该图像内容覆盖到由微光相机生成的图像上。在这方面,热成像内容能够被用于增强或补充微光图像内容,由此向用户提供增强的图像内容。关于这些特性的进一步细节将在后面提供。
65.图4示出了由图3的集成相机310以集成相机图像400的形式生成的结果图像。提供针对集成相机图像400的在图4中所示的阴影,以便将该图像与任何其他图像区分开来。阴影不应当被解读为意味着集成相机图像400是任意特定类型的图像。
66.通过分析被包含在集成相机图像400中的内容,实施例能够确定hmd(例如,来自图3中的hmd 305)的姿态405。例如,通过检测锚点(例如,被识别为相对静止或不移动的点),实施例能够确定hmd相对于周围环境的取向或姿态405。
67.另外,可以针对集成相机图像400确定时间戳410。时间戳410识别生成集成相机图像400的时间。当然,时间戳410可以基于任意计时计算,包括诸如由原子钟确定的绝对时间,或者替代地,包括诸如处理器时钟周期等任意类型的相对时间。
68.来自图3中的集成相机310生成集成相机图像400,并且集成相机310以特定刷新率415来操作以生成新图像。该刷新率415可以被设置为任意值。然而,通常,刷新率415至少在30hz与90hz之间。在一些情况下,刷新率415高于90hz,诸如可能为120hz或者更高。通常,刷新率415为90hz左右。
69.图4也示出了由来自图3中的分离相机320生成的分离相机图像420。在图4中,分离相机图像420被示为比集成相机图像400的尺寸更小,但是该尺寸差异仅是为了例示说明目的。在一些情况下,分离相机图像420可以具有比集成相机图像400的分辨率更高的分辨率,而在其他情况下,分离相机图像420可以具有比集成相机图像400的分辨率更低的分辨率。在一些情况下,两幅图像的分辨率可能相同。
70.集成相机图像400(例如,“第一”图像)可以是可见光图像、微光图像或热图像中的一种图像。分离相机图像420(例如,“第二”图像)可以是可见光图像、微光图像或热图像中的不同图像,或者甚至可以是与所述第一图像相同类型的图像。
71.与关于集成相机图像400的讨论类似地,实施例也能够使用分离相机图像420来确定一些额外信息。注意,这些操作并不是严格必需的,并且在一些情况下能够跳过或避免执行。这样,下文的讨论涉及可能执行或者可能不执行的一些操作。
72.具体而言,实施例能够分析分离相机图像420中的内容,以确定来自图3中的分离相机320的姿态425。类似地,能够针对分离相机图像420确定时间戳430。在一些情况下,时间戳410相对于时间戳430是不同的,或者反映了不同的时间,使得两幅图像可以具有时间偏移。
73.分离相机320也可以具有其自己的刷新率435。该刷新速率435可以被设置为任意值。然而,通常,刷新率435至少在10hz与60hz之间。在一些情况下,刷新率435高于60hz,诸如可能为90hz或120hz或者甚至更高。通常,刷新率435为大约30hz。在一些情况下,刷新率435与刷新率415相同,而在其他情况下,刷新率435与刷新率415不同。当两个刷新率不同时,则两个相机(例如,来自图3中的集成相机310和分离相机320)在不同的时域中操作。
74.如先前简要介绍的,在一些实例中,实施例能够避免确定姿态425和时间戳430。标记为非依赖性的黑箭头440表示实施例能够如何避免确定姿态425,并且标记为非依赖性的黑箭头445表示实施例能够如何避免确定时间戳430。在一些情况下,这种非依赖性基于信息的缺乏(例如,诸如在数据未被传输的情况下),或者基于避免计算信息的实施例。关于这些方面的进一步细节将在后面提供。
75.关于姿态确定,图5提供了一些额外信息。图5示出了集成相机500,其表示迄今为止所讨论的集成相机。图5也示出了姿态505,其表示来自图4中的姿态405。根据所公开的原理,姿态505至少指代集成相机500相对于其环境的x-y-z位置。
76.在一些情况下,姿态505可以包括详细说明6自由度或者6dof 510的信息。通常,6dof510指代物体在三维空间中的移动或位置。6dof 510包括纵荡(surge)(即,在x轴方向上向前和向后)、垂荡(heave)(即,在z轴方向上和向下)和横荡(sway)(即,在y轴方向上向左和向右)。在这方面,6dof 510指代3个平移与3个旋转的组合。主体的任何可能移动能够使用6dof510表示。
77.在一些情况下,姿态505可以包括详细说明3dof 515的信息。通常,3dof 515指代仅跟踪旋转运动,诸如纵摇(pitch)(即,横轴)、艏摇(yaw)(即,法轴)和横摇(roll)(即,纵轴)。在这方面,3dof 515允许hmd跟踪旋转运动而不是平移移动。作为进一步的解释,3dof 515允许hmd确定用户(佩戴hmd的人)是向左看还是向右看、用户是向上还是向下旋转他/她的头、或者用户是向左枢转还是向右枢转。与6dof 510相反,当使用3dof 515时,hmd不能确定用户是否已经以平移方式移动,诸如通过移动到环境中的新位置。
78.确定6dof 510和3dof 515能够使用内置传感器来执行,诸如加速度计、陀螺仪和磁力计。也能够使用诸如头部跟踪传感器的位置跟踪传感器来执行确定6dof 510。
79.图像对应与对准
80.根据所公开的原理,实施例能够将在图4中所示的集成相机图像400与分离相机图像420对准。亦即,由于两个相机的fov的至少一部分彼此重叠,如在图3中所描述的,因此所得到的图像的至少一部分包括对应的内容。因此,能够识别对应内容,并且然后能够基于相似的对应内容而生成合并、融合或覆盖图像。通过生成该覆盖图像,实施例能够向用户提供增强的图像内容,如果仅向用户提供单个图像类型,则该增强的图像内容将不可用。图6图示了第一类型的对准600,其可以被用于对准来自两幅(或者可能多于两幅)不同图像的图像内容。
81.图6示出了表示来自图4的集成相机图像400的集成相机图像605和表示来自图4的分离相机图像420的分离相机图像610。这两种图像也常常被称为“纹理”图像。
82.实施例能够分析纹理图像(即,执行计算机视觉特征检测)以试图找到任意数量的特征点。如在本文中所使用的,短语“特征检测”通常指代计算图像抽象并且然后确定(例如,特定类型的)图像特征是否存在于图像中的任何特定点或像素处的过程。通常,角(例如,墙的角)、可区分的边(例如,桌子的边)或者脊被用作特征点,因为边或角具有固有或鲜明对比的可视化。
83.图6示出了集成相机图像605中的多个示例性特征点,如由特征点615a、特征点620a和特征点625a所示的。其他特征点是使用黑圆圈来标识的,但是没有被标记。注意,这些特征点与角、边或者其他脊相关,诸如毯子和枕头中的褶皱以及图片和墙壁的角。任何类
型的特征检测器都可以被编程来识别特征点。在一些些情况下,特征检测器可能是机器学习算法。
84.如在本文中所使用的,对任意类型的机器学习的引用可以包括任意类型的机器学习算法或设备、(一个或多个)卷积神经网络、(一个或多个)多层神经网络、(一个或多个)递归神经网络、(一个或多个)深度神经网络、(一个或多个)决策树模型(例如,决策树、随机森林和梯度增强树)、(一个或多个)线性回归模型、(一个或多个)逻辑回归模型、(一个或多个)支持向量机(“svm”)、(一个或多个)人工智能设备或者任何其他类型的智能计算系统。任意数量的训练数据可以被使用(并且可能稍后被细化)来训练机器学习算法以动态地执行所公开的操作。
85.图6也示出了实施例如何能够分析、检查或者回顾分离相机图像610以识别特征点,如由黑圆圈所示的。示例包括但不限于:特征点615b、特征点620b和特征点625b。
86.根据所公开的原理,实施例检测任意数量的特征点(例如,1、2、3、4、6、7、8、9、10、20、30、40、50、60、70、80、90、100、200、500、1000、2000或者超过2000),并且随后尝试识别在集成相机图像605中检测到的特征点与在分离相机图像610中识别的特征点之间的相关或对应。例如,已经识别出在其中特征点615a与特征点615b相链接或对应的对应615c。类似地,已经识别出对应620c,其中特征点620a被确定为与特征点620b相对应。已经识别出对应625c,其中特征点625a被确定为与特征点625b相对准或对应。尽管仅有三个对应当被可视化,但是人们将意识到如何识别任意数量的对应。
87.所识别的对应(例如,对应615c、620c和625c)的总和或汇编构成(一个或多个)图像对应630。因此,在一些实施例中,对准600过程包括识别任意数量的特征点,并且然后识别在两幅(或者更多幅)不同图像中的特征点之间的相关或对应。
88.注意,在该实现方式中,实施例避免确定分离相机图像610的姿态或时间戳。相反,实施例依赖于特征匹配以便确定是否将图像内容从一幅图像覆盖到另一图像上。通过额外的澄清,这些实施例在姿态上与图4非依赖440,并且在时间戳上非依赖445。
89.一些实施例然后将(一个或多个)特征或图像对应630适配到运动模型635,以便将一幅图像覆盖到另一图像上以形成增强的覆盖图像。运动模型635可以是任意类型的运动模型。通常,运动模型是一种变换矩阵,其使得模型、已知场景或物体能够被投影到不同的模型、场景或物体上。
90.在一些情况下,运动模型635可以简单地是旋转运动模型。利用旋转模型,实施例能够将一幅图像移动任意数量的像素(例如,可能向左5个像素和向上10个像素),以便将一幅图像覆盖到另一图像上。例如,一旦识别出(一个或多个)图像对应630,实施例就能够识别那些特征点或(一个或多个)对应的像素坐标。一旦坐标被识别,则实施例就能够使用上文所描述的旋转运动模型方案将分离相机图像610覆盖到集成相机图像605上。
91.在一些情况下,运动模型635可以更复杂,诸如以相似性变换模型的形式。所述相似性变换模型可以被配置为允许(i)旋转集成相机图像605(例如,“第一”图像)或分离相机图像610(例如,“第二”图像)中的任意一幅,(ii)缩放所述第一图像或所述第二图像,或者(iii)单应变换所述第一图像或所述第二图像。在这方面,所述相似性变换模型方案可以被用于将图像内容从一幅图像覆盖到另一图像上。有关该覆盖过程的进一步细节将在后面提供。因此,在一些情况下,将分离相机图像(例如,“第二”图像)与集成相机图像(例如,“第
一”图像)对准的过程通过以下操作来执行:(i)识别在第二图像与第一图像之间的图像对应,并且然后(ii)基于识别的图像对应,将对应适配到运动模型,使得第二图像被投影到第一图像上。
92.图7图示了可以执行的另一对准700操作,以便对来自两幅图像的内容进行对准,从而能够对内容进行覆盖以形成覆盖图像。具体而言,图7示出了集成相机图像705和分离相机图像710,这两者表示在先前的图中所讨论的其对应图像。
93.集成相机图像705包括纹理715。如在本文中所使用的,纹理715通常指代关于被包含在图像中的颜色或强度的空间布置的信息。类似地,分离相机图像710被示为包括纹理720。
94.根据对准700操作,实施例确定集成相机图像705中的纹理715和/或分离相机图像710中的纹理720不足以执行特征匹配或者图像对应匹配,如结合图6所描述的。例如,可能在两幅图像中的任意一幅图像中检测到的数量不足的特征点。另外地或替代地,可能检测到足够数量的特征点,但是可能识别出不足数量的对应。基于该初始确定,实施例依靠或退回到对准700操作,对准700操作基于由各种惯性测量单元(imu)确定的预测或估计姿态。
95.具体而言,生成集成相机图像705的集成相机与第一imu 725相关联。类似地,生成分离相机图像710的分离相机与第二imu 730相关联。实施例利用imu 725来可能基于初始引导视觉(例如,由集成相机生成的初始基本图像)结合由imu 725生成的imu数据来确定集成相机的姿态。类似地,实施例利用imu 730来可能基于初始引导视觉(例如,由分离相机生成的初始基本图像)结合由imu 730生成的imu数据来确定分离相机的姿态。
96.一旦估计或确定了这两个姿态,如由imu估计姿态735和imu估计姿态740所示的,实施例然后使用那些姿态来使图像的一个或多个部分彼此对准。一旦被对准,则一幅图像的一个或多个部分(这些部分是对准的部分)被覆盖到另一图像的对应部分上,以便生成增强的覆盖图像。就此而言,imu能够被用于确定对应相机的姿态,并且然后这些姿态能够被用于执行对准过程。图8图示了使用在图7中所讨论的imu将来自第二图像(例如,来自图7的分离相机图像710)的图像内容与第一图像(例如,集成的相机图像705)对准的示例性流程图800。
97.具体而言,流程图800最初包括尝试识别第二图像与第一图像之间的图像对应的动作(动作805)。例如,实施例最初可以尝试执行在图6中所讨论的对准600操作,其中,特征点被尝试用于对准。
98.然后,流程图800包括确定第二图像和第一图像中的一幅或者这两幅图像缺乏足够量或阈值量的纹理以便识别图像对应的动作(动作810)。例如,来自图7的纹理715或720可能不满足纹理阈值,使得不能够识别足够数量或阈值数量的图像对应。
99.然后,流程图800包括使用计算机系统的第一惯性测量单元(imu)(例如,可能来自图7中的imu 725)来估计计算机系统的imu估计姿态(例如,imu估计姿态735)的动作(动作815)。
100.与动作815并行或串行地,流程图800包括使用分离相机的第二imu(例如,可能是imu 730)来估计分离相机的imu估计姿态(例如,imu估计姿态740)的动作(动作820)。
101.然后,流程图800包括通过将计算机系统的imu估计姿态与分离相机的imu估计姿态对准来将第二图像与第一图像对准的动作(动作825)。就此而言,流程图800总体上概述
了结合图7的对准700操作所讨论的过程。因此,可以利用多种不同的对准技术来对准图像内容或者识别图像对应。
102.基于使用的任何对准过程,实施例然后生成覆盖图像,如在图9中所示的。具体而言,图9示出了覆盖图像900,其包括图像内容905和图像内容910。当然,图像内容可以不受限制地从已彼此对准的任意数量的图像中拉取或提取。
103.从迄今为止所讨论的集成相机图像(例如,图7的集成相机图像705)中提取、拉取或绘制图像内容905,同时从迄今为止所讨论的分离相机图像(例如,分离相机图像710)中提取、拉取或绘制图像内容910。在一些情况下,图像内容905包括来自集成相机图像的所有图像内容,而在其他情况下,图像内容905仅包括来自集成相机图像的图像内容的一部分。类似地,在一些情况下,图像内容910可以包括来自分离相机图像的所有图像内容,而在其他情况下,图像内容910仅包括来自分离相机图像的图像内容的一部分。
104.在一些情况下,被包含在图像内容905和910中的量可以依赖于集成相机与分离相机的fov之间的重叠程度或水平。参考图3,在该场景中,fov 315完全消耗、重叠或包络fov 325。然后,所得到的集成相机图像可能全部包括在分离相机图像中所包括的全部内容。如果两幅图像中的仅一部分重叠,那么仅有与该部分相关联的内容可以被包含在覆盖图像900中。
105.出于许多原因,生成该覆盖图像900是非常有益的。例如,假设图像内容905是微光图像内容或者可见光内容,并且假设图像内容910是热成像内容。所述热成像内容可以被用于通过提供关于环境的信息的增加量的情形感知来增强或补充微光或可见光内容。
106.在一些情况下,图像内容910和/或图像内容905可以至少部分透明。例如,假设图像内容910被覆盖在图像内容905的顶部上。图像内容905可以包括当前正在被图像内容910覆盖的内容。如果图像内容910至少部分透明,则图像内容905和图像内容910两者都将被可视地显示,由此提供甚至进一步的视觉增强或者甚至进一步的视觉信息。透明度可以被设置为任意值。例如,透明度可以被设置为1%、5%、10%、15%、20%、25%、50%、75%或者甚至高达99%,或者介于两者之间的任意值。
107.晚期重投影
108.当图像帧(例如,来自图9中的覆盖图像900)被完成渲染时,实施例能够确定在该帧中所描绘的姿态是否与计算机系统的当前姿态相匹配。如果所述姿态匹配,那么能够将所述图像显示给用户。另一方面,如果所述姿态不匹配,则可以执行后期重投影(lsr)过程以变换图像中的像素以补偿新姿态。通常,执行lsr以仅校正3dof变化(例如,偏航、俯仰、翻滚),因为物体常常从hmd中移除,使得由于场景中的物体的平面重投影或平面视点(例如,所有物体可以被分配相同的平面深度),能够避免前向或向后投影。然而,在一些情况下,可以执行lsr以校正6dof变化。
109.为了澄清,生成和渲染帧的过程不是瞬间的过程;替代地,该过程需要一些时间量来执行。例如,在每秒60帧(fps)的情况下,渲染应用或hmd大约需要16.667毫秒(ms)来渲染帧。尽管这在时间上是小的持续时间,但是在该时间段期间可能是hmd已经移动位置的情况(例如,用户可能已经移动,由此导致hmd移动)。lsr是变换或修改图像(例如,覆盖图像900)中的像素以便考虑视角或姿态的移位的过程。
110.通过额外的澄清,为了减少或消除由于随时间的姿态差异而发生的一些渲染错误
或问题,hmd能够应用后期校正以在由gpu渲染图像之后对图像进行最终调整。在显示像素之前执行该过程,以便补偿由用户的头部移动导致的最新旋转、平移和/或放大。这种调整过程常常被称为“后期调整”、“后期重投影”、“lsr”或“lsr调整”。图10和图11提供了关于这些lsr操作的一些有用的例示说明。
111.图10示出了集成相机1000,其表示迄今为止所讨论的集成相机。如先前所讨论的,实施例能够确定集成相机1000的姿态1005和集成相机1000生成图像的时间戳1010。在该示例性场景中,姿态1005和时间戳1010在时间t0处。
112.在显示覆盖图像之前,hmd已经移动了位置,使得表示集成相机1000的集成相机1015已经移动了位置。现在,集成相机1015具有新的或当前的姿态1020以及新的或当前的时间戳1025,其反映时间t1。先前的时间戳(诸如来自图4中的时间戳410和时间戳430)与当前时间戳1025不同。可以使用包括imu数据、头部跟踪数据或者用于识别姿态的任何其他技术的任何技术来确定当前姿态1020。
113.姿态差异1030象征在姿态1005与当前姿态1020之间的差。姿态差异1030可以使用6dof信息或3dof信息来表示。作为该检测到的姿态差异1030的结果,实施例被触发以执行lsr。注意,可以对集成相机图像、分离相机图像或覆盖图像执行lsr。图11示出了其中对覆盖图像执行lsr的示例性场景。
114.具体地,图11示出了覆盖图像1100,其表示来自图9中的覆盖图像900。覆盖图像1100包括任意数量的像素1105,诸如像素a、b、c、d、e、f、g、h、i、j、k、l、m、n、o和p。图11也示出了对覆盖图像1100执行的lsr 1110操作,以考虑被检测到的新姿态,诸如来自图10中的当前姿态1020。
115.作为执行lsr 1110操作的结果,生成lsr校正的覆盖图像1115。注意,如由lsr校正像素1120所示的,覆盖图像1100中的一个、一些或全部像素已经被变换。例如,像素a'是像素a的变换版本。类似地,像素b'是像素b的变换版本。像素c'、d'、e'、f'、g'、h'、i'、j'、k'、l'、m'、n'、o'和p'分别是像素c、d、e、f、g、h、i、j、k、l、m、n、o和p的变换版本。通过执行lsr1110操作,实施例能够校正或补偿包括集成相机的hmd的检测到的新姿态。图12图示了到目前为止所讨论的原则的概要说明。
116.具体而言,图12图示了在其期间生成图像的第一时域1200和第二时域1205。第一时域1200可以与迄今为止所讨论的集成相机相关联,而第二时域1205可以与分离相机相关联。例如,集成相机可以以90hz的速率生成图像,而分离相机可以以30hz的速率生成图像。
117.如由“时间”轴所示的,图像1210a、图像1210b、图像1210c、图像1210d、图像1210e、图像1210f、图像1210g、图像1210h和图像1210i可以在整个时间段期间由集成相机生成。在该示例中,分离相机以较低或减小的速率生成图像,如由图像1215a、图像1215b和图像1215c所示的。例如,集成相机为分离相机生成的每幅图像生成三幅图像。
118.根据所公开的原理,实施例然后执行先前所描述的对准过程,以便在整个时间内生成覆盖图像。例如,实施例利用图像1210b和图像1215a来生成覆盖图像1220a。随后,实施例使用图像1210c并且重用相同的图像1215a来生成覆盖图像1220b。随后,实施例使用图像1210d并且重用图像1215a来生成覆盖图像1220c。就此而言,单幅图像(例如,图像1215a)可以与其他图像组合地连续使用多次以生成覆盖图像。两个相机的刷新率能够被用于确定单幅相机图像能够被重用的迭代次数。利用90hz和30hz的刷新率,分离相机图像中的一幅分
离相机图像能够被使用至少三次。其他刷新率比率将确定单幅图像将被使用的次数。注意,通过执行先前所讨论的不同对准过程来生成所述覆盖图像。
119.为了完成所述示例,基于图像1210e与图像1215b的组合来生成覆盖图像1220d。基于图像1210f与图像1215b的组合或对准来生成覆盖图像1220e。基于图像1210g与图像1215b的对准生成覆盖图像1220f。基于图像1210h和图像1215c的对准来生成覆盖图像1220g。基于图像1210i和图像1215c的组合来生成覆盖图像1220h。
120.随后,实施例对覆盖图像、集成相机图像和/或分离相机图像执行lsr操作。在图12中所示的示例中,实施例对覆盖图像执行lsr。例如,对覆盖图像1220a执行lsr 1225a、对覆盖图像1220b执行lsr 1225b、对覆盖图像1220c执行lsr 1225c、对覆盖图像1220d执行lsr 1225d、对覆盖图像1220e执行lsr 1225e、对覆盖图像1220f执行lsr 1225f、对覆盖图像1220g执行lsr 1225g以及对覆盖图像1220h执行lsr 1225h。
121.然后,将lsr校正图像显示在显示器上供用户查看。例如,在对覆盖图像1220a执行lsr1225a之后,实施例显示1230a所得到的lsr校正图像。随后,实施例显示下一lsr校正图像,等等,如由显示器1230b、显示器1230c、显示器1230d、显示器1230e、显示器1230f、显示器1230g和显示器1230h所图示的。这些所得到的lsr校正图像中的每幅lsr校正图像随后在时间上相对于彼此显示,如由时间轴所示的。类似地,显示lsr校正图像的速率可以对应于集成相机或分离相机的更快速率。在这种情况下,与分离相机相比,集成相机以更快的速率刷新。因此,lsr校正图像的显示,或者更确切地这些图像的显示速率,可以对应于集成相机的速率。在这种情况下,lsr校正图像的显示速率可以是90hz,就像集成相机的速率一样。
122.示例性方法
123.下文的讨论现在涉及可以执行的许多方法和方法动作。尽管可以以特定顺序讨论方法动作或者在流程图中图示为以特定顺序发生,但是除非特别说明,否则不需要特定顺序,或者因为动作依赖于在该动作被执行之前完成的另一动作而需要特定顺序。
124.图13a和图13b图示了用于使由被物理安装到计算机系统的集成相机(例如,迄今为止所讨论的任何集成相机)生成的图像与由从计算机系统物理卸载的分离相机(例如,迄今为止所讨论的任何分离相机)生成的图像对准和稳定(例如,经由lsr)的示例性方法1300的流程图。
125.计算机系统可以是由用户佩戴的头戴式设备(hmd)。在一些实现方式中,集成相机是从包括可见光相机、微光相机或热成像相机的相机组中选择的一个相机。类似地,分离相机也是从相机组中选择的一个相机。此外,分离相机能够被定向以使分离相机的视场(fov)至少部分地与集成相机的fov重叠。当然,也可以使用任意数量的额外安装或未安装的相机,前提是其fov也是重叠的。
126.首先,方法1300包括使用集成相机生成第一图像的动作(动作1305)。所述第一图像可以表示迄今为止所讨论的集成相机图像中的任意集成相机图像。
127.然后,方法1300包括使用所述第一图像来确定所述计算机系统的第一姿态的动作(动作1310)。例如,来自图10中的姿态1005和来自图4中的姿态405表示该“第一”姿态。
128.与动作1310并行或串行地,方法1300包括确定所述第一图像的第一时间戳的动作(动作1315)。来自图10中的时间戳1010和来自图4中的时间戳410表示该第一时间戳。
129.方法1300也包括获取由分离相机生成的第二图像的动作(动作1320)。动作1320可
以在动作1305、1310或1315中的任意动作之前、之后或期间执行。此外,所公开的分离相机图像中的任意分离相机图像都表示该“第二”图像。在一些情况下,方法1300包括确定集成相机和分离相机在不同时域操作的动作(未示出)。基于该检测到的差值,实施例能够确定重复使用特定图像的频率,如由图12中的图像1215a的重复使用所示的。作为特定示例,集成相机可以被检测为与90hz刷新率结合操作以用于显示内容,而分离相机可以被检测为与30hz刷新率结合操作以用于显示内容。
130.然后,方法1300包括使第二图像与第一图像对准的动作(动作1325)。在图6或图7中所描述的对准过程中的任意对准过程可以被用于执行在动作1325中所记述的对准过程。例如,在一些情况下,通过识别在第二图像与第一图像之间的图像对应来执行第二图像与第一图像的对准,如在图6所图示的。在其中使用图像对应来对准图像的情况下,在不依赖于与第二图像相关联的时间戳或姿态的情况下执行将第二图像与第一图像对准的过程。替代地,所述对准过程仅是基于特征对应。在一些情况下,对准两幅图像基于imu估计姿态,如在图7中所图示的。
131.随后,方法1300包括基于在动作1325中所记述的对准过程来通过将第二图像覆盖到第一图像上而生成覆盖图像的动作(1330)。在图12中所图示的覆盖图像1220a-1220h以及来自图9中的覆盖图像900中的任意图像可以表示动作1330中的覆盖图像。
132.方法1300继续在图13b中,并且包括识别计算机系统在当前时间戳处的当前姿态与使用在第一时间戳处的第一图像确定的第一姿态之间的姿态差异的动作(动作1335)。例如,图10的姿态差异1030表示在动作1335中所记述的姿态差异,其中,姿态差异1030基于在时间戳1010处确定的姿态1005与在当前时间戳1025处确定的当前姿态1020之间的差异。
133.然后,方法1300包括将后期重投影(lsr)应用于覆盖图像的动作(动作1340)。图11中的lsr 1110表示在动作1340中所记述的lsr操作。该lsr过程变换覆盖图像中的像素(例如,图11的像素1105)以考虑在与当前时间戳相关联的当前姿态和与第一时间戳相关联的第一姿态之间识别的姿态差异。变换产生图11的lsr校正像素1120。
134.在将lsr应用于覆盖图像之后,方法1300包括显示覆盖图像的动作(动作1345),所述覆盖图像是一种类型的穿透图像。所述图像可以被显示在hmd的显示器中。
135.因此,所公开的实施例能够被用于对如何生成、对准和显示可视内容带来实质性的改进。通过示例,能够提取来自一幅图像的图像内容并且将其覆盖到另一图像上,以便为用户提供增强的可视化。这种可视化将使得用户能够改进他/她与计算机系统的交互。此外,可以执行所公开的对准过程而不考虑在图像之间的任何计时差异。
136.示例性计算机/计算机系统
137.现在将注意图14,其图示了示例性计算机系统1400,计算机系统1400可以包括和/或被用于执行在本文中所描述的操作中的任意操作。计算机系统1400可以采取各种不同的形式。例如,计算机系统1400可以被具体化为平板计算机1400a、台式计算机或膝上型计算机1400b、诸如hmd1400c(其表示在本文中所讨论的hmd)的可穿戴设备、移动设备或者任何其他类型的独立设备,如由省略号1400d所表示的。计算机系统1400也可以是分布式系统,其包括与计算机系统1400通信的一个或多个连接的计算组件/设备。
138.在其最基本的配置中,计算机系统1400包括各种不同的组件。图14示出了计算机系统1400包括一个或多个处理器1405(又名“硬件处理单元”)和存储设备1410。尽管未图示
出,但是计算机系统1400可以包括结合图1和图2所描述的特征中的任意特征,以及在本公开中所描述的任何其他特征。应当注意,所公开的特征中没有一个特征是互斥的,并且在本文中所描述的任何特征可以与在本文中所描述的任何其他特征相组合。
139.关于处理器1405,应当理解,在本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件(例如,处理器1405)来执行。例如但不限于,可使用的说明性类型的硬件逻辑组件/处理器包括现场可编程门阵列(“fpga”)、程序专用或应用专用集成电路(“asic”)、程序专用标准产品(“assp”)、片上系统(“soc”)、复杂可编程逻辑器件(“cpld”)、中央处理单元(“cpu”)、图形处理单元(“gpu”)或任何其他类型的可编程硬件。
140.计算机系统1400和扫描传感器可以利用任何类型的深度检测。示例包括但不限于立体深度检测(主动照明(例如,使用点照明器)、结构光照明(例如,1个实际相机、1个虚拟相机和1个点照明器)和被动(即无照明))、飞行时间深度检测(在激光器和相机之间有基线,其中相机的视场不完全重叠激光器的照明场)、测距器深度检测或任何其他类型的范围或深度检测。
141.如先前所讨论的,机器学习(ml)也可由所公开的实施例使用。ml可以被实现为被配置为执行计算机系统1400的一个或多个专用操作的特定处理单元(例如,如先前所描述的专用处理单元)。如在本文中所使用的,术语“可执行模块”、“可执行组件”、“组件”、“模块”、“模型”或“引擎”可指硬件处理单元或可在计算机系统1400上执行的软件对象、例程或方法。在本文中所描述的不同组件、模块、引擎、模型和服务可以被实现为在计算机系统1400上执行的对象或处理器(例如,作为单独的线程)。ml模型和/或处理器1405可以被配置为执行所公开的方法动作或其他功能中的一个或多个。
142.存储设备1410可以是物理系统存储器,其可以是易失性、非易失性或两者的某种组合。术语“存储器”在本文中也可以用于指代诸如物理存储介质的非易失性大容量存储设备。如果计算机系统1400是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
143.存储设备1410被示为包括可执行指令(即,代码1415)。可执行指令表示可由计算机系统1400的处理器1405(或者甚至可能是ml模型)执行以执行诸如在各种方法中描述的那些所公开的操作的指令。
144.所公开的实施例可以包括或利用专用或通用计算机,其包括计算机硬件,例如,一个或多个处理器(例如,处理器1405)和系统存储器(例如,存储设备1410),如下文更详细讨论的。实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储计算机可执行指令的计算机可读介质是“物理计算机存储介质”或“硬件存储设备”。携带计算机可执行指令的计算机可读介质是“传输介质”。因此,通过示例而非限制,当前实施例可以包括至少两种明显不同的计算机可读介质:计算机存储介质和传输介质。
145.计算机存储介质(又名“硬件存储设备”)是计算机可读硬件存储设备,例如ram、rom、eeprom、cd-rom、基于ram的固态驱动器(“ssd”)、闪存、相变存储器(“pcm”)或其他类型存储器,或者其他光盘存储设备、磁盘存储设备或其他磁存储设备,或者可用于存储以计算机可执行指令、数据或数据结构形式的所需程序代码单元并可由通用或专用计算机访问的任何其他介质。
146.计算机系统1400还可以经由网络1420(经由有线或无线连接)连接到外部传感器(例如,一个或多个远程相机)或设备。例如,计算机系统1400可以与任意数量的设备或云服务通信以获得或处理数据。在一些情况下,网络1420自身可以是云网络。此外,计算机系统1400还可以通过一个或多个有线或无线网络1420连接到远程/分离的计算机系统,这些计算机系统被配置为执行关于计算机系统1400描述的任何处理。
147.类似于网络1420的“网络”被定义为一个或多个数据链路和/或数据交换机,其能够在计算机系统、模块和/或其他电子设备之间传输电子数据。当信息通过网络(硬连线、无线或者硬连线和无线的组合)传输或提供给计算机时,计算机正确地将连接视为传输介质。计算机系统1400将包括用于与网络1420通信的一个或多个通信信道。传输介质包括可用于以计算机可执行指令的形式或以数据结构的形式携带数据或所需程序代码单元的网络。此外,这些计算机可执行指令可以由通用或专用计算机访问。以上的组合也应包括在计算机可读介质的范围内。
148.当到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码单元可以自动地从传输介质转移到计算机存储介质(或者反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,网络接口卡或“nic”)内的ram中,然后最终传输到计算机系统ram和/或计算机系统中易失性较低的计算机存储介质。因此,应当理解,计算机存储介质可以包含在还(或者甚至主要)利用传输介质的计算机系统组件中。
149.计算机可执行(或者计算机可解释)指令包括例如使通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令。计算机可执行指令可以是例如二进制文件,诸如汇编语言的中间格式指令,或者甚至是源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但应当理解,在所附权利要求中定义的主题不一定限于上述描述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例性形式。
150.本领域技术人员将理解,可以在具有许多类型的计算机系统配置的网络计算环境中实践这些实施例,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、寻呼机、路由器、交换机等。这些实施例还可以在分布式系统环境中实践,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统各自执行任务(例如云计算、云服务等)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
151.本发明可以在不背离其精神或特征的情况下以其他特定形式体现。所描述的实施例在所有方面仅被认为是说明性的而不是限制性的。因此,本发明的范围由所附的权利要求书而不是由前方的描述来指示。在权利要求的等同意义和范围内的所有变更都应当包括在其范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献