CN118160003A - 使用重力和北向量的快速目标采集 - Google Patents
使用重力和北向量的快速目标采集 Download PDFInfo
- Publication number
- CN118160003A CN118160003A CN202280071789.2A CN202280071789A CN118160003A CN 118160003 A CN118160003 A CN 118160003A CN 202280071789 A CN202280071789 A CN 202280071789A CN 118160003 A CN118160003 A CN 118160003A
- Authority
- CN
- China
- Prior art keywords
- camera
- orientation
- points
- image
- gravity vector
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 109
- 230000005484 gravity Effects 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims abstract description 85
- 230000000007 visual effect Effects 0.000 claims abstract description 32
- 238000005259 measurement Methods 0.000 claims description 5
- 238000012800 visualization Methods 0.000 description 15
- 210000001747 pupil Anatomy 0.000 description 13
- 230000008901 benefit Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000001931 thermography Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Studio Devices (AREA)
Abstract
公开了用于对齐由两个相机所生成的图像的技术。通过计算两个相机之间的相对3D取向来执行这种对齐。确定针对第一相机的第一重力向量和针对第二相机的第二重力向量。获取来自第一相机的第一相机图像和来自第二相机的第二相机图像。执行第一对齐过程以将第一相机的取向与第二相机的取向部分地对齐。该过程是通过对齐重力向量来执行的,从而导致相对3D取向的两个自由度被消除。标识两个图像之间的视觉对应关系。执行第二对齐过程以完全对齐取向。该过程是通过使用所标识的视觉对应关系以标识和消除相对3D取向的第三自由度来执行的。
Description
背景技术
包括虚拟现实(VR)和增强现实(AR)系统在内的混合现实(MR)系统因其能够为其用户创造真正独特的体验而受到广泛关注。作为参考,传统的VR系统通过将用户的视野限制在仅虚拟环境中来创建完全身临其境的体验。这常常是通过使用完全遮挡现实世界的任何视图的头戴式设备(HMD)来实现的。结果,用户完全沉浸在虚拟环境中。对照而言,传统的AR系统通过视觉地呈现被放置在现实世界中或与现实世界进行交互的虚拟对象来创建增强现实体验。
如本文中所使用的,VR和AR系统被可互换地描述和引用。除非另有说明,否则本文的描述同样适用于所有类型的MR系统,其(如上详述)包括AR系统、VR现实系统和/或能够显示虚拟内容的任何其他类似系统。
MR系统还可以采用不同类型的相机以便向用户显示内容,诸如以贯通图像的形式。贯通图像或视图可以帮助用户在过渡到MR环境中和/或在MR环境中进行导航时避免迷失方向和/或避免安全隐患。MR系统可以通过多种方式呈现由相机所采集的视图。然而,使用由面向世界的相机所采集的图像来提供真实世界环境的视图的过程带来了许多挑战。
当尝试对齐来自多个相机的图像内容时,诸如在生成贯通图像时的集成的“系统相机”和分离的“外部相机”,就会出现这些挑战中的一些。当在所得的叠加贯通图像中提供附加的可视化时,也会出现挑战,其中这些可视化被设计为指示系统相机与外部相机之间的空间关系。i)生成系统相机图像和外部相机图像,ii)叠加并对齐内容,然后iii)显示具有附加可视化的叠加贯通图像所花费的时间不是瞬时的。
因此,在生成图像时的时间与显示最终贯通图像时的时间之间可能发生系统相机和/或外部相机的移动。这种移动会导致明显的延迟或滞后效应,并且对用户造成干扰。此外,传统技术在尝试执行对齐操作时常常依赖于不充分的图像。由于这些不充分的图像,对齐过程常常会失败,并且需要执行其他技术来提供叠加图像。因此,对齐图像内容提供了实质性的益处,特别是在全息图的放置和生成方面,因此这些问题对该技术领域提出了严重的障碍。如此,在该领域中迫切需要改进图像彼此对齐的方式。
本文要求保护的主题不限于解决任何缺点或仅在诸如上述那些环境中操作的实施例。相反,该背景技术仅被提供来说明可以实践本文所描述的一些实施例的一个示例性技术领域。
发明内容
本文公开的实施例涉及用于对齐由两个相机所生成的图像的系统、设备(例如,可穿戴设备、硬件存储设备等)和方法。该对齐是通过计算两个相机之间的相对三维(3D)取向来执行的。
在一些实施例中,确定针对第一相机的第一重力向量和针对与第一相机物理分离的第二相机的第二重力向量。实施例获取来自第一相机的第一相机图像和来自第二相机的第二相机图像。第一相机在生成第一相机图像时具有第一取向,并且第二相机在生成第二相机图像时具有第二取向。执行第一对齐过程以将第一取向与第二取向部分地对齐。该过程是通过将第一重力向量与第二重力向量对齐来执行的,从而导致相对3D取向的两个自由度被消除。实施例还标识第一相机图像与第二相机图像之间的视觉对应关系。执行第二对齐过程以将第一取向与第二取向完全对齐。该过程是通过使用所标识的视觉对应关系来标识和消除相对3D取向的第三自由度来执行的。在执行第一对齐过程和第二对齐过程之后,实施例通过将被包括在第一相机图像或第二相机图像中的一者中的内容叠加到被包括在第一相机图像或第二相机图像中的另一者中的对应内容上来生成叠加图像。
提供本发明内容是为了以简化的形式介绍一些概念的选择,这些概念将在下面的具体实施方式中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在被用作确定所要求保护的主题的范围的帮助。
附加的特征和优点将在下面的描述中被阐述,并且部分地从描述中将是显而易见的,或者可以通过本文的教导的实践而被获悉。本发明的特征和优点可以借助于所附权利要求中特别指出的手段和组合来实现和获取。本发明的特征将从下面的描述和所附权利要求中变得更加明显,或者可以通过如下文阐述的本发明的实践而被获悉。
附图说明
为了描述可以获取上面记载的和其他的优点和特征的方式,将参考附图中图示出的具体实施例来呈现对上面简要描述的主题的更具体描述。要理解的是,这些附图仅描绘了典型的实施例并且因此不应被认为是对范围的限制,实施例将通过使用附图以附加的特性和细节来描述和解释,其中:
图1图示了被配置为执行所公开的操作的示例头戴式设备(HMD)。
图2图示了HMD的另一种配置。
图3图示了在其中可以实践所公开的原理的示例情景。
图4图示了另一个示例情景。
图5图示了如何使用系统相机和外部相机来执行所公开的操作。
图6图示了叠加图像的示例,其中来自一个图像的内容被叠加到另一图像的对应内容上。
图7图示了图像示例以及该图像如何可以说明场景的不同等温属性。
图8图示了图像的另一个示例。然而,在这里,场景中的对象已经冷却到等温属性几乎没有对比度的点。
图9图示了用于通过计算两个相机之间的相对三维取向来对齐来自不同相机的图像的示例方法的流程图。
图10图示了用于通过对齐两个相机的重力向量以消除两个相机之间的相对3D取向的两个自由度来执行第一对齐技术的示例处理流程。
图11图示了一个反投影过程,其中2D图像中的像素被反投影以生成3D对象。
图12图示了可以如何对齐重力向量。
图13图示了标识图像中的视觉对应关系的示例。
图14图示了使用视觉对应关系来对齐图像并消除两个相机之间的相对3D取向的第三自由度的示例处理流程。
图15图示了反投影过程的另一个示例。
图16图示了当在3D空间中操作时,实施例可以如何旋转反投影的像素以尝试执行对齐过程。
图17图示了用于通过对齐重力向量和北向量来对齐图像的示例方法的流程图。
图18图示了对齐重力向量和北向量的示例过程。
图19图示了可以如何生成叠加图像。
图20图示了能够执行任何所公开的操作的示例计算机系统。
具体实施方式
本文公开的实施例涉及用于对齐由两个相机所生成的图像的系统、设备(例如,可穿戴设备、硬件存储设备等)和方法。该对齐是通过计算两个相机之间的相对三维(3D)取向来执行的。
在一些实施例中,确定针对第一相机的第一重力向量和针对第二相机的第二重力向量。实施例获取来自第一相机的第一相机图像和来自第二相机的第二相机图像。执行第一对齐过程以将第一相机的取向与第二相机的取向部分地对齐。该过程是通过对齐重力向量来执行的,从而导致相对3D取向的两个自由度被消除。实施例还标识两个图像之间的视觉对应关系。执行第二对齐过程以完全对齐取向。该过程是通过使用所标识的视觉对应关系来标识和消除相对3D取向的第三自由度来执行的。实施例还通过将被包括在第一或第二相机图像中的一者中的内容叠加到被包括在第一或第二相机图像中的另一者中的对应内容上来生成叠加图像。
技术益处、改进和实际应用的示例
以下部分概述了由所公开的实施例所提供的一些示例改进和实际应用。然而,应当了解,这些仅仅是示例并且实施例不仅仅限于这些改进。
所公开的实施例为本技术领域提供了多种益处和优点。也就是说,根据所公开的原理,实施例改进了如何对齐来自不同图像的图像内容,从而产生增强的图像。在一些情况下,实施例可以在不依赖于视觉对应关系的情况下执行这种对齐。结果,即使环境中没有或几乎没有等温对比度或足够的照明,也可以执行所公开的操作。在这个意义上,所公开的实施例扩展了MR系统的操作范围和有用性。
通过执行这些操作,用户的体验得到显著改善,从而导致技术的改进。还实现了改进的图像对齐和可视化。因此,这些和许多其他益处将在本公开的其余部分中进行描述。
示例MR系统和HMD
现在将注意力转向图1,其图示了头戴式设备(HMD)100的示例。HMD 100可以是任何类型的MR系统100A,包括VR系统100B或AR系统100C。应当注意,虽然本公开的大部分集中于HMD的使用,但是实施例不限于仅使用HMD来实践。也就是说,可以使用任何类型的相机系统,甚至是与HMD完全移除或分离的相机系统。如此,所公开的原理应当被广泛地解释为涵盖任何类型的相机使用情景。一些实施例甚至可以避免主动使用相机本身并且可以只是使用由相机生成的数据。例如,一些实施例可以至少部分地在云计算环境中被实践。
HMD 100被示为包括(多个)扫描传感器105(即,扫描或相机系统的一种类型),并且HMD 100可以使用(多个)扫描传感器105来扫描环境、绘制环境地图、采集环境数据和/或生成任何类型的环境图像(例如,通过生成环境的3D表示或通过生成“贯通”可视化)。(多个)扫描传感器105可以包括任何数目或任何类型的扫描设备,而没有限制。
根据所公开的实施例,HMD 100可以被用来生成用户环境的贯通可视化。如本文中所使用的,“贯通”可视化是指从用户的角度反映环境的视角的可视化。为了生成该贯通可视化,HMD 100可以使用其(多个)扫描传感器105来扫描、绘制地图或以其他方式记录其周围环境,包括环境中的任何对象,并且将该数据传递给用户以进行查看。如稍后将描述的,在将图像显示给用户之前可以对图像应用各种变换,以确保所显示的视角与用户预期的视角相匹配。
为了生成贯通图像,(多个)扫描传感器105通常依赖其相机(例如,头部跟踪相机、手部跟踪相机、深度相机或任何其他类型的相机)来获取环境的一个或多个原始图像(也称为“纹理图像”)。除了生成贯通图像之外,这些原始图像还可以被用来确定详述从传感器到由原始图像所采集的任何对象的距离的深度数据(例如,z轴范围或测量值)。一旦获取这些原始图像,就可以根据被嵌入或被包括在原始图像内的深度数据(例如,基于像素差异)来计算深度图,并且可以使用用于任何重新投影的深度图来生成贯通图像(例如,每个瞳孔一个)——如果需要的话。
从贯通可视化中,用户将能够感知当前在他/她的环境中的事物,而不必移除或重新定位HMD 100。此外,如稍后将更详细地描述的,所公开的贯通可视化还可以增强用户查看他/她的环境内的对象的能力(例如,通过显示人眼可能无法检测到的其他环境状况)。如本文中所使用的,所谓的“叠加图像”可以是一种贯通图像。
应当注意,虽然本公开的大部分集中于生成“一个”贯通图像,但是实施例实际上为用户的每只眼睛生成单独的贯通图像。也就是说,两个贯通图像通常彼此同时生成。因此,虽然频繁引用生成看似单个贯通图像,但是实施例实际上能够同时生成多个贯通图像。
在一些实施例中,(多个)扫描传感器105包括(多个)可见光相机110、(多个)弱光相机115、(多个)热成像相机120、可能(但不是必须的,如图1中的虚线框所示))紫外线(UV)相机125,可能(但不是必须的,如虚线框所示)点照明器130、甚至红外相机135。省略号140说明任何其他类型的相机或相机系统(深度相机、飞行时间相机、虚拟相机、深度激光器等)可以被包括在扫描传感器105中。
作为一个示例,被构造为检测中红外波长的相机可以被包括在(多个)扫描传感器105内。作为另一个示例,从实际相机重新投影的任意数目的虚拟相机可以被包括在(多个)扫描传感器105之中并且可以被用来生成立体图像对。以这种方式,(多个)扫描传感器105可以被用来生成立体图像对。在一些情况下,立体图像对可以作为执行以下操作中的任何一个或多个的结果而被获取或生成:通过使用两个相机和一个点照明器(例如,点照明器130)的主动立体图像生成;通过使用两个相机的被动立体图像生成;通过使用一个实际相机、一个虚拟相机和一个点照明器(例如,点照明器130)、使用结构光的图像生成;或者使用飞行时间(TOF)传感器的图像生成,其中基线存在于深度激光器与对应相机之间,并且其中对应相机的视场(FOV)相对于深度激光器的照明场偏移。
(多个)可见光相机110通常是立体相机,这意味着两个或更多个可见光相机的视场至少部分地彼此重叠。利用该重叠区域,由(多个)可见光相机110生成的图像可以被用来标识共同表示由两个图像所采集的对象的某些像素之间的差异。基于这些像素差异,实施例能够确定位于重叠区域内的对象的深度(即,“立体的(stereoscopic)深度匹配”或“立体(stereo)深度匹配”)。如此,(多个)可见光相机110不仅可以被用来生成贯通可视化,而且它们还可以被用来确定对象深度。在一些实施例中,(多个)可见光相机110可以捕获可见光和IR光两者。
应当注意,对于不同相机类型(也称为模态)中的每一个,可以在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个以上对应的相机。
图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个的相机。这些相机中的任何一个都可以被称为“系统相机”。
在一些情况下,相机可以位于HMD 200上的特定位置处。在一些情况下,第一相机(例如,可能是相机220)被安置在HMD 200上的用户(其相对于HMD的高度方向佩戴了HMD200)的指定左眼位置上方的位置处。例如,相机220被定位在瞳孔230上方。作为另一示例,第一相机(例如,相机220)另外被定位在相对于HMD的宽度方向而指定的左眼位置上方。也就是说,相机220不仅被定位在瞳孔230上方,而且被定位成相对于瞳孔230在一条直线中。当使用VR系统时,相机可以直接被放置在指定的左眼位置的前面。参考图2,相机可以物理地被安置在HMD 200上沿z轴方向位于瞳孔230前面的位置处。
当提供第二相机(例如,可能是相机210)时,第二相机可以被安置在HMD 200上的用户(其相对于HMD的高度方向佩戴了HMD)的指定右眼位置上方的位置处。例如,相机210被定位在瞳孔235上方。在一些情况下,第二相机另外被定位在相对于HMD的宽度方向而指定的右眼位置上方。当使用VR系统时,相机可以直接被放置在指定的右眼位置的前面。参考图2,相机可以物理地被安置在HMD 200上沿z轴方向位于瞳孔235前面的位置处。
当用户佩戴HMD 200时,HMD 200使用用户的头部并且HMD200的显示器被定位在用户的瞳孔(诸如瞳孔230和瞳孔235)的前面。通常,相机205-225将在物理上偏移距离用户的瞳孔230和235一些距离。例如,在HMD高度方向(即“Y”轴)上可能存在垂直偏移,如偏移240所示。类似地,在HMD宽度方向(即“X”轴)上可能存在水平偏移,如偏移245所示。
HMD 200被配置为提供(多个)贯通图像250以供HMD 200的用户查看。在这样做时,HMD 200能够提供现实世界的可视化,而不需要用户移除或重新定位HMD 200。这些贯通图像250有效地表示从HMD的视角来看的环境视图。相机205-225被用来提供这些贯通图像250。相机与用户的瞳孔之间的偏移(例如,偏移240和245)导致视差。为了提供这些贯通图像250,实施例可以通过对图像应用各种变换和重新投影来执行视差校正,以便将由图像表示的初始视角改变为与用户瞳孔的视角匹配的视角。视差校正依赖于深度图的使用以便进行重新投影。
在一些实现中,与执行全三维重新投影相反,实施例在生成贯通图像时利用平面重新投影过程来校正视差。当环境中的对象距离HMD足够远时,使用这种平面重新投影过程是可以接受的。因此,在一些情况下,实施例能够避免执行三维视差校正,因为环境中的对象足够远并且因为该距离导致关于深度可视化或视差问题的可忽略的误差。
相机205-225中的任何相机构成所谓的“系统相机”,因为它们是HMD 200的集成部分。对照而言,外部相机255在物理上与HMD 200分开并分离,但是可以与HMD 200无线通信。如将简短地描述的,期望将由外部相机255所生成的图像(或图像内容)与由系统相机所生成的图像(或图像内容)对齐以然后生成叠加图像,其可以操作为贯通图像。通常,外部相机255的角分辨率比系统相机的角分辨率更高(即,每度更多的像素,而不仅仅是更多的像素),因此所得到的叠加图像提供了超出仅使用系统相机图像所能获取的增强图像内容。附加地或备选地,外部相机255和系统相机的模态可以不同,因此所得到的叠加图像还可以包括增强信息。作为示例,假设外部相机255是热成像相机。因此,所得的叠加图像可以包括可见光图像内容和热图像内容。因此,非常期望提供叠加的贯通图像。应当注意,外部相机255可以是早先列出的任何相机类型。此外,可以存在任意数目的外部相机,而没有限制。
示例情景
现在将注意力转向图3,其图示了在其中可以使用图1和图2中讨论的HMD的示例情景。图3示出了建筑物300以及第一响应者305和另一第一响应者310。在该示例情景中,第一响应者305和310期望攀登建筑物300。图4示出了用于执行该攀登壮举的一个示例技术。
图4示出了在环境400A中佩戴HMD 400的第一响应者,HMD 400表示迄今为止所讨论的HMD。HMD 400包括系统相机405,如先前所讨论的。此外,第一响应者正在使用包括外部相机415的工具410,其表示图2的外部相机255。在这种情况下,工具410是抓斗枪,其将被用来将绳子和钩子射击到建筑物上,以便第一响应者能够攀登建筑物。通过将外部相机415生成的图像内容与系统相机405生成的图像内容对齐,用户将能够更好地辨别工具410正在瞄准的地方。
也就是说,根据所公开的原理,期望提供一种改进的平台或技术,通过该平台或技术,用户(例如,第一响应者)可以使用HMD 400、系统相机405和外部相机415作为组合瞄准界面来瞄准工具(例如,工具410)。图5示出了这样一个示例。
图5示出了安装在HMD上的系统相机500(又称HMD相机),其中系统相机500表示图4的系统相机405,并且包括外部相机505的工具(例如,抓斗枪),其表示外部相机415。应当注意外部相机505的光轴如何与工具的瞄准方向对齐。结果,由外部相机505生成的图像可以被用来确定工具正在瞄准的地方。人们将了解该工具可以是任何类型的瞄准工具,而没有限制。因此,系统(第一)相机500可以是头戴式设备(HMD)相机,并且外部(第二)相机505可以是附接到工具的外部相机。
在图5中,系统相机500和外部相机505都瞄准目标510。为了说明,系统相机500的视场(FOV)由系统相机FOV 515(也称为HMD相机FOV)表示,并且外部相机505的FOV由外部相机FOV 520表示。注意,系统相机FOV 515大于外部相机FOV 520。通常,外部相机505提供非常聚焦的视图,类似于范围(即,高水平的角分辨率)。如稍后将更详细讨论的,外部相机505牺牲宽FOV来提高分辨率和增加像素密度。因此,在该示例情景中,人们可以观察到在至少一些情形中,外部相机FOV 520如何可以被系统相机FOV 515完全重叠或包围。当然,在用户将外部相机505瞄准在系统相机500没有瞄准的方向上的情况下,则系统相机FOV 515和外部相机FOV 520将不重叠。
如并置525所示,实施例能够假设系统相机500和外部相机505是并置的。所谓并置,意味着实施例依赖于两个相机基本上位于相同位置的假设,尽管实际上它们并非如此。当场景中的对象距离相机较远时,那么可以忽略相机实际位置的差异,并且可以认为相机是并置的。尽管可以假设两个相机并置525,但是这两个相机将可能具有不同的三个自由度取向(例如,偏航、俯仰和滚动),如取向530所示。也就是说,两个相机将相对于彼此具有相对的三维(3D)取向。
图6示出了所得到的叠加图像600,其可以通过组合来自由图5的系统相机500和外部相机505生成的图像的内容来生成。特别地,叠加图像600包括来自系统(第一)相机图像605的内容以及来自外部(第二)相机图像610的内容。
实施例能够执行对齐615过程以将来自外部相机图像610的内容对齐到来自系统相机图像605的对应内容。例如,因为两个相机的视场至少部分地重叠,所以所得的图像将包括对应的内容。实施例可以标识对应的内容,然后对齐图像以生成叠加图像600。在该示例情景中,标线620也被包括在叠加图像600中。
注意,来自外部相机图像610的内容也被限界元素625围绕。在这种情况下,限界元素625是圆形,但是可以使用任何形状,包括正方形、矩形、三角形或任何多边形或不规则形状。本公开的剩余部分将集中于用于对齐图像数据的不同技术。
图像数据中的对比度
图7示出了使用迄今为止提及的任何相机所生成的图像700。图像700被示为包括内容705、710、715和720。图像700可以是热图像的示例。在该特定情景中,内容705被示出为具有等温属性725,并且内容720被示出为具有等温属性730。注意这些属性之间的对比度735。在这种情景中,由于对比度735的差异,不同的项目或内容在图像700中是可见的。描绘中的白色和灰色阴影图示了外观和对比度的差异。然而,在图8的图像800中的情况并非如此。
图8示出了图像800,其中等温属性805现在与等温属性810相同,导致整个图像中的均匀阴影。在这里,等温属性几乎没有对比度815。因此,不同对象之间将没有任何区别。这种情景可能发生在环境已冷却至均匀温度的实例中。
另一种这样的情景可能发生在弱光环境中。例如,环境可能太暗,低光相机无法生成足够对比度的图像。因此,对于不同的相机模态,可能会发生上述状况。当图像中的对比度不足时,传统上基于检测到的视觉对应关系的后续对齐过程将受到严重损害。因此,需要一种不完全依赖于视觉对应关系的图像内容对齐技术。
使用重力向量和视觉对应关系来对齐图像数据
以下讨论现在涉及多种方法和可以执行的方法动作。虽然方法动作可以按一定顺序被讨论或在流程图中被图示为按特定顺序发生,但是除非特别说明或者因为一个动作依赖于在执行该动作之前完成的另一个动作而被需要,否则不需要特定顺序。
现在将注意力转向图9,其图示了用于对齐由两个相机所生成的图像的示例方法900的流程图,其中通过计算两个相机之间的相对三维(3D)取向来执行对齐。图10至图16是方法900的支持图示并且将与图9一起讨论。
方法900包括确定针对第一相机的第一重力向量的动作(动作905)。如本文中所使用的,短语“重力向量”指的是被施加到任何给定空间中的对象的重力。在这种情景中,实施例能够标识第一相机的重力向量。确定重力向量可以使用与第一相机相关联的惯性测量单元(IMU)来执行。另外,作为示例,第一相机可以是图5的系统相机500。
与动作905并行,存在确定针对与第一相机物理分离的第二相机的第二重力向量的动作910。图5中的外部相机505可以是该第二相机的示例。该重力向量也可以使用与第二相机相关联的IMU来确定。也就是说,可以使用第一惯性测量单元(IMU)来确定第一重力向量,并且可以使用第二IMU来确定第二重力向量。
与动作905和910并行,存在获取来自第一相机的第一相机图像和来自第二相机的第二相机图像的动作915。当生成第一相机图像时,第一相机具有第一取向(例如,图5中的取向530),并且当生成第二相机图像时,第二相机具有第二取向(例如,取向530)。
动作920涉及执行第一对齐过程以通过将第一重力向量与第二重力向量对齐来将第一取向与第二取向部分地对齐。执行此过程导致相对3D取向的两个自由度被消除。也就是说,三个自由度包括偏航(z轴旋转)、俯仰(y轴旋转)和滚动(x轴旋转)。通过对齐两个不同相机的重力向量来求解三自由度确定中的滚动角和俯仰角。图10和图11提供了有关该第一对齐过程的更多细节。
特别地,图10示出了构成上面提及的第一对齐过程的过程1000。也就是说,过程1000详述了第一对齐过程,其操作用于通过将第一重力向量与第二重力向量对齐来将第一取向与第二取向部分地对齐。过程1000包括将第一相机图像中的每个像素反投影到3D空间中以生成第一3D点集合的动作(动作1005)。也就是说,实施例将2D图像中的点或像素反投影到3D空间中的点。图11示出了反投影1100过程。
特别地,图11示出了相机1105。相机1105已生成图像并因此图示了2D图像平面1110中的对象,诸如2D点1115。将像素或点从2D图像平面1110反投影到3D空间1120,实施例计算从相机1105穿过2D点1115到达3D空间1120中的深度的射线1125,从而生成对应于2D点1115(在2D图像平面1110中)的3D点1130(在3D空间1120中)。使用固有相机校准参数1135来确定3D点1130所处的深度。也就是说,这些参数可以被用来计算射线1125的长度,其对应于3D点1130将所处的深度。
返回到图10,过程1000还包括动作1010,其与动作1005并行执行并且包括将第二相机图像中的每个像素反投影到3D空间中以生成第二3D点集合。该反投影过程以与先前描述的相同的方式被执行。
动作1015然后包括将第一3D点集合和第二3D点集合两者投影回2D平面。然而,该2D平面垂直于第一重力向量和第二重力向量。执行这些投影的结果是,两个投影后的点集合现在沿着2D空间中的重力向量而彼此对齐。这种对齐消除了可能存在的任何滚动角或俯仰角,从而消除了两个相机之间的相对3D取向的三个自由度中的两个。
图12提供了第一对齐过程的有用图示。特别地,图12示出了系统(第一)相机1200和外部(第二)相机1205。实施例能够确定针对系统相机1200的重力向量1210和针对外部相机1205的重力向量1215。如先前所讨论的,然后可以执行各种反投影和投影操作,以便沿着相同的重力向量将由系统相机1200生成的像素与由外部相机1205生成的像素对齐,如对齐的重力向量1220所示。
图12还示出了三个自由度,其包括沿着z轴的偏航1225、沿着x轴的滚动1230和沿着y轴的俯仰1235。执行第一对齐过程导致消除了可能存在于由两个不同相机所生成的像素之间的滚动1230和俯仰1235中的任何差异。从这个意义上说,像素现在被部分地对齐。两组像素之间存在的唯一剩余未知1240是偏航1225的差异。如将立即描述的,一些实施例依赖于视觉对应关系来确定或消除两个相机之间的相对3D取向的该第三自由度。一些实施例依赖于所谓的北向量来确定或消除该第三自由度。
返回到图9,方法900包括标识第一相机图像与第二相机图像之间的视觉对应关系的动作(动作925)。图13是说明性的。
图13示出了图像1300,其包括像素1300A并且其表示本文提及的第一相机图像1305或第二相机图像1310中的任一个。实施例能够标识图像1300内的特征点,如特征点1315所示。黑色圆圈表示一些示例特征点。如本文中所使用的,短语“特征检测”通常是指计算图像抽象然后确定(例如,特定类型的)图像特征是否存在于图像中的任何特定点或像素处的过程。通常,由于边缘或角的固有或鲜明对比的可视化,角(例如,墙角)、可区分边缘(例如,桌子的边缘)或脊被用作特征点。图13示出了图像1300的一部分或截面的详细视图1320。
实施例能够标识第一相机图像1305中的特征点并且还标识第二相机图像1310中的对应特征点。这些共同标识的特征点被称为视觉对应关系1325。也就是说,视觉对应关系1325指的是共同存在于第一相机图像1305和第二相机图像1310中的像素内容。
在图9中,方法900然后包括执行第二对齐过程以通过使用所标识的视觉对应关系来将第一取向与第二取向完全对齐以标识和消除相对3D取向的第三自由度(例如,偏航角)的动作(动作930)。图14、图15和图16图示了第二对齐过程。
图14示出了概述执行第二对齐过程时所涉及的操作的示例过程1400,其通过使用所标识的视觉对应关系来将第一取向与第二取向完全对齐以标识和消除相对3D取向的第三自由度。过程1400包括将第一像素反投影(例如,对于第一相机图像中的第一像素)到三维(3D)空间中以生成第一3D点集合(或者如果已经执行了第一对齐过程,更确切地说是第三像素集合)的动作(动作1405)。对于第二相机图像中的第二像素,动作1410涉及将第二像素反投影到3D空间中以生成第二3D点集合(或者更确切地说是第四像素集合)。这些操作是在图像已沿着重力向量对齐之后执行的。图15是说明性的。
图15示出了由2D空间1510中的(多个)像素1505的集合表示的2D对象1500(即,图像)。实施例根据结合图11所讨论的原理将(多个)像素1505从2D空间1510反投影1515到3D空间1520。因此,在3D空间1520中生成由(多个)3D点1530组成的3D对象1525。对于第一相机图像中的像素和第二相机图像中的像素,可以执行这样的操作。
返回到图14,在动作1415中,实施例在3D空间中沿着第一(或第二)重力向量旋转第一/第三3D点集合(或者可选地第二/第四3D点集合)。执行沿着第一(或第二)重力向量旋转第一/第三(或第二/第四)3D点集合的过程,试图通过计算将第一/第三3D点集合与第二/第四3D点集合最佳地对齐的旋转角度来消除相对3D取向的第三自由度。图16是说明性的。
图16示出了包括来自第一相机图像的反投影像素的3D空间1600A,如第一图像3D点1605所示。基于重力向量1610A来对齐第一图像3D点1605,如先前所讨论的。还示出了3D空间1600B和重力向量1610B,3D空间1600B可以是与3D空间1600A相同的空间,重力向量1610B可以与重力向量1610A相同。来自第二相机图像的反投影像素被包括在3D空间1600B中,如由第二图像3D点1615所示。
如动作1415中所述,实施例能够沿着重力向量在3D空间中旋转第一图像3D点1605和/或第二图像3D点1615中的一个或两个,然后执行比较,如比较1625所示。旋转角度1620和1630象征沿着重力向量旋转点的能力。执行旋转是为了尝试将第一图像3D点1605与第二图像3D点1615对齐,或者反之亦然。也就是说,实施例执行旋转并计算将第一或第二图像3D点与第一或第二图像3D点中的另一个最佳地对齐的角度(例如,旋转角度1620或1630)。实施例选择旋转角度1620,然后将该角度处的点与被包括在第二图像3D点1615中的点进行比较1625。
需要明确的是,将第一像素和第二像素反投影到3D空间中的过程是使用固有相机校准参数来执行的。此外,计算将第一/第三3D点集合与第二/第四3D点集合最佳地对齐的旋转角度的过程包括标识哪个旋转角度使旋转后的第一/第三3D点集合与被包括在第二/第四3D点集合中的对应3D点之间计算出的总和3D距离最小化。
在一些实施例中,使用最小二乘拟合1635来计算表示相对3D取向的第三自由度的所得旋转角。在一些实施例中,可以执行Wahba技术作为第二对齐过程的一部分。简而言之,Wahba技术是一种被设计为最终确定存在于不同坐标系之间的特定旋转矩阵的技术。在一些实施例中,执行暴力(brute force)技术,其中执行任意次数的旋转直到标识出最佳拟合角度。
作为执行第二对齐过程的结果,实施例现在已经将来自第一图像和第二图像的像素完全对齐。也就是说,实施例已经解决了或者更确切地说消除了两个相机之间的相对3D取向的三个自由度中可能存在的任何差异。换句话说,实施例消除了两个相机的取向之间可能存在的偏航、俯仰和滚动中的任何差异。
返回到图9,方法900然后包括在执行第一对齐过程和第二对齐过程之后执行的动作(动作935)。动作935包括通过将被包括在第一相机图像或第二相机图像中的一者中的内容叠加到被包括在第一相机图像或第二相机图像中的另一者中的对应内容上来生成叠加图像。例如,叠加图像600可以是动作925中提及的所得到的叠加图像的示例。在一些实例中,执行第二对齐过程可以校正两个图像之间可能存在的视差。也就是说,通过使用视觉对应关系来对齐图像,第二对齐过程可以校正可能存在的视差。
使用重力向量和北向量对齐图像数据
图17至图19图示了用于对齐图像的另一种技术。特别地,图17集中于用于对齐由两个相机所生成的图像的方法1700,其中通过计算两个相机之间的相对三维(3D)取向来执行对齐。尽管图9的方法900依赖于视觉对应关系来执行最终对齐,但是方法1700依赖于“北向量”来执行最终对齐。
方法1700包括确定针对第一相机的第一重力向量的动作(动作1705)。动作1710涉及确定针对与第一相机物理分离的第二相机的第二重力向量。动作1715涉及获取来自第一相机的第一相机图像和来自第二相机的第二相机图像。当生成第一相机图像时第一相机具有第一取向,并且当生成第二相机图像时第二相机具有第二取向。注意,动作1705、1710和1715分别对应于动作905、910和915。
动作1720然后涉及执行第一对齐过程以将第一取向与第二取向部分地对齐。该第一对齐是通过将第一重力向量与第二重力向量对齐来执行的,从而导致相对3D取向的两个自由度被消除。动作1720对应于图9中的动作920。
动作1725然后包括确定针对第一相机的第一北向量。类似地,动作1730包括确定针对第二相机的第二北向量。这些所谓的“北向量”可以使用磁力计(即,一种指南针)来确定,以确定哪个方向是北方向。因此,除了标识重力向量之外,实施例还标识北向量。
然后在动作1735中执行第二对齐过程。执行该第二对齐过程以便将第一取向与第二取向完全对齐。此外,该过程是通过将第一北向量与第二北向量对齐来执行的,从而导致相对3D取向的第三自由度被消除。在执行第一对齐过程和第二对齐过程之后,动作1740包括通过将被包括在第一相机图像或第二相机图像中的一者中的内容叠加到被包括在第一相机图像或第二相机图像中的另一者中的对应内容上来生成叠加图像。图18和图19提供了更多详细信息。
图18示出了系统相机1800(例如,第一相机)和外部相机1805(例如,第二相机)。如先前所讨论的,实施例能够使用系统相机1800的IMU来确定针对系统相机1800的重力向量1810。除了确定重力向量1810之外,实施例还被配置为确定针对系统相机1800的北向量1815。相关地,实施例能够确定针对外部相机1805的重力向量1820和北向量1825。
为了确定北向量,系统相机1800和外部相机1805各自分别配备有磁力计,如磁力计1830所示。该磁力计1830被校准并且可以被周期性地重新校准以确保其准确性,如校准1835所示。就这一点而言,使用第一磁力计来执行确定针对第一相机的第一北向量的过程,并且使用第二磁力计来执行确定针对第二相机的第二北向量的过程。
在标识了重力向量和北向量之后,实施例能够以先前描述的方式对齐重力向量,如现在由对齐的重力向量1840所示。类似地,实施例能够对齐北向量,如由对齐的北向量1845所示。以与第一对齐过程类似的方式执行第二对齐过程,除了现在依赖于北向量之外。
为了说明,第二对齐过程包括:针对第一相机图像中的第一像素,将这些第一像素反投影到三维(3D)空间中以生成第一3D点集合。对齐过程还包括:针对第二相机图像中的第二像素,将这些第二像素反投影到3D空间中以生成第二3D点集合。然后,实施例将第一3D点集合和第二3D点集合两者投影到垂直于第一北向量和第二北向量的二维(2D)平面。第一对齐过程将3D点投影到垂直于重力向量的2D平面,而第二对齐过程将3D点投影到垂直于北向量的2D平面。
图18示出了所得到的对齐1850,其是作为执行两个对齐过程的结果而达成的。值得注意的是,仅基于重力向量和北向量来对齐图像可能会导致两个图像之间存在视差1855的情景,从而在组合这些图像时导致倾斜或未对齐。也就是说,基于非图像数据(即,不基于视觉对应关系1860)对齐图像常常导致视差1855。
因此,为了解决两个图像之间可能存在的任何视差1855,实施例可以使用先前提及的技术另外标识两个图像之间存在的视觉对应关系1860。利用这些视觉对应关系1860,实施例然后可以执行各种变换,以便调整图像内容以校正视差1855。在一些实施例中,卡尔曼滤波器1865可以被用于在生成叠加图像时促进图像的对齐和混合。因此,可以执行视差校正过程以在生成所得到的叠加图像时校正视差,并且该视差校正过程可以涉及标识视觉对应关系。
应当注意的是,执行第一对齐过程和第二对齐过程(即,依赖于北向量的过程)可以在不依赖于等温对比度的情况下执行,等温对比度可能存在或不存在于第一相机图像和/或第二相机图像中。
图19示出了第一和第二相机正在操作的场景1900。在这里,第一相机生成系统(第一)相机图像1905,并且第二相机生成外部(第二)相机图像1910。通过遵循所公开的原理,实施例能够计算重力向量。在一些情况下,实施例然后使用重力向量和视觉对应关系来执行对齐。在一些情况下,实施例使用重力向量和北向量来执行对齐。在任何情况下,实施例能够执行系统相机图像1905与外部相机图像1910之间的对齐1915以生成叠加图像。在一些情况下,气泡可以被显示在叠加图像中的特定位置处,如气泡位置1920所示。气泡位置1920对应于来自外部相机图像1910的内容位于叠加图像中的边界。因此,实施例集中于用于对齐来自多个不同相机的图像的改进技术。
示例计算机/计算机系统
现在将注意力转向图20,图20图示了可以包括和/或被用来执行本文描述的任何操作的示例计算机系统2000。计算机系统2000可以采取各种不同的形式。例如,计算机系统2000可以被体现为平板电脑2000A、台式机或膝上型电脑2000B、可穿戴设备2000C、移动设备或任何其他独立设备。省略号2000D说明可以使用其他形状因数。计算机系统2000还可以是分布式系统,其包括与计算机系统2000通信的一个或多个连接的计算组件/设备。
在其最基本的配置中,计算机系统2000包括各种不同的组件。图20示出了计算机系统2000包括一个或多个处理器2005(又称“硬件处理单元”)和存储装置2010。
关于(多个)处理器2005,应当了解,本文所描述的功能性可以至少部分地由一个或多个硬件逻辑组件(例如,(多个)处理器2005)执行。例如而非限制,可以使用的硬件逻辑组件/处理器的说明性类型包括现场可编程门阵列(“FPGA”)、程序专用或应用专用集成电路(“ASIC”)、程序专用标准产品(“ASSP”)、片上系统(“SOC”)、复杂可编程逻辑器件(“CPLD”)、中央处理单元(“CPU”)、图形处理单元(“GPU”)或任何其他类型的可编程硬件。
如本文中所使用的,术语“可执行模块”、“可执行组件”、“组件”、“模块”或“引擎”可以指的是硬件处理单元或者可以在计算机系统2000上执行的软件对象、例程或方法。本文描述的不同组件、模块、引擎和服务可以被实现为在计算机系统2000上执行的对象或处理器(例如,作为单独的线程)。
存储装置2010可以是物理系统存储器,其可以是易失性的、非易失性的或两者的某种组合。术语“存储器”在本文中还可以被用来指代非易失性大容量存储装置,诸如物理存储介质。如果计算机系统2000是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
存储装置2010被示为包括可执行指令(即代码2015)。可执行指令表示可由计算机系统2000的(多个)处理器2005执行以执行所公开的操作(诸如在各种方法中描述的那些操作)的指令。
所公开的实施例可以包括或利用专用或通用计算机,其包括计算机硬件,诸如例如一个或多个处理器(诸如(多个)处理器2005)和系统存储器(诸如存储装置2010),如下面更详细地讨论的。实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据的形式存储计算机可执行指令的计算机可读介质是“物理计算机存储介质”或“硬件存储设备”。此外,包括物理计算机存储介质和硬件存储设备的计算机可读存储介质不包括信号、载波和传播信号。另一方面,承载计算机可执行指令的计算机可读介质是“传输介质”并且包括信号、载波和传播信号。因此,作为示例而非限制,当前实施例可以包括至少两种截然不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质(又称“硬件存储设备”)是计算机可读的硬件存储设备,诸如RAM、ROM、EEPROM、CD-ROM、基于RAM的固态驱动器(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的存储器、或其他光盘存储、磁盘存储或其他磁存储设备、或者可以被用来存储计算机可执行指令、数据或数据结构形式的期望程序代码装置并可以由通用或专用计算机访问的任何其他介质。
计算机系统2000还可以经由网络2020连接(经由有线或无线连接)到外部传感器(例如,一个或多个远程相机)或设备。例如,计算机系统2000可以与任意数目的设备(例如,外部相机2025)或云服务进行通信来获取数据或处理数据。在一些情况下,网络2020本身可以是云网络。此外,计算机系统2000还可以通过一个或多个有线或无线网络而被连接到被配置为执行关于计算机系统2000描述的任何处理的远程/单独的计算机系统。
“网络”,如网络2020,被定义为使得能够在计算机系统、模块和/或其他电子设备之间传送电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线和无线的组合)而被传送或被提供到计算机时,计算机正确地将连接视为传输介质。计算机系统2000将包括被用来与网络2020通信的一个或多个通信信道。传输介质包括可以被用来以计算机可执行指令的形式或以数据结构的形式承载数据或期望程序代码装置的网络。此外,这些计算机可执行指令可以由通用或专用计算机访问。上述的组合也应当被包括在计算机可读介质的范围内。
当到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以自动地从传输介质被传送到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统处的不易失性计算机存储介质。因此,应当理解,计算机存储介质可以被包括在也(或者甚至主要)利用传输介质的计算机系统组件中。
计算机可执行(或计算机可解释)指令包括例如使通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令。计算机可执行指令例如可以是二进制、诸如汇编语言之类的中间格式指令、或者甚至是源代码。尽管已经以特定于结构特征和/或方法动作的语言描述了本主题,但是应当理解,所附权利要求中所定义的主题不一定限于上述特征或动作。相反,所描述的特征和动作作为实现权利要求的示例形式而被公开。
本领域技术人员将了解,可以在具有许多类型的计算机系统配置的网络计算环境中实践实施例,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。实施例还可以在分布式系统环境中被实践,其中通过网络(或者通过硬连线数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)而链接的本地和远程计算机系统各自执行任务(例如云计算、云服务等等)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
在不背离本发明特性的情况下,本发明可以以其他具体形式来体现。所描述的实施例在所有方面都应被视为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落入权利要求的等同物的含义和范围内的所有改变均被包含在其范围内。
Claims (15)
1.一种用于对齐由两个相机生成的图像的方法,其中所述对齐通过计算所述两个相机之间的相对三维(3D)取向而被执行,所述方法包括:
确定针对第一相机的第一重力向量;
确定针对第二相机的第二重力向量,所述第二相机与所述第一相机物理分离;
获取来自所述第一相机的第一相机图像和来自所述第二相机的第二相机图像,其中所述第一相机在生成所述第一相机图像时具有第一取向,并且所述第二相机在生成所述第二相机图像时具有第二取向;
执行第一对齐过程以通过将所述第一重力向量与所述第二重力向量对齐来将所述第一取向与所述第二取向部分地对齐,从而导致所述相对3D取向的两个自由度被消除;
标识所述第一相机图像与所述第二相机图像之间的视觉对应关系;
执行第二对齐过程以通过使用所标识的所述视觉对应关系来将所述第一取向与所述第二取向完全对齐,以标识和消除所述相对3D取向的第三自由度;以及
在执行所述第一对齐过程和所述第二对齐过程之后,通过将被包括在所述第一相机图像或所述第二相机图像中的一者中的内容叠加到被包括在所述第一相机图像或所述第二相机图像中的另一者中的对应内容上来生成叠加图像。
2.根据权利要求1所述的方法,其中所述第一相机是头戴式设备(HMD)相机,并且其中所述第二相机是被附接到工具的外部相机。
3.根据权利要求1所述的方法,其中所述第一重力向量使用第一惯性测量单元(IMU)而被确定,并且其中所述第二重力向量使用第二IMU而被确定。
4.根据权利要求1所述的方法,其中执行所述第二对齐过程以通过使用所标识的所述视觉对应关系来将所述第一取向与所述第二取向完全对齐以标识和消除所述相对3D取向的所述第三自由度是通过以下方式而被执行的:
针对所述第一相机图像中的第一像素,将所述第一像素反投影到三维(3D)空间中以生成第一3D点集合;
针对所述第二相机图像中的第二像素,将所述第二像素反投影到所述3D空间中以生成第二2D点集合;以及
在所述3D空间中沿着所述第一重力向量旋转所述第一3D点集合,其中沿着所述第一重力向量旋转所述第一3D点集合在试图通过计算将所述第一3D点集合与所述第二3D点集合最佳地对齐的旋转角度来消除所述相对3D取向的所述第三自由度时被执行。
5.根据权利要求4所述的方法,其中将所述第一像素和所述第二像素反投影到所述3D空间中是使用固有相机校准参数而被执行的,并且
其中计算将所述第一3D点集合与所述第二3D点集合最佳地对齐的所述旋转角度包括标识哪个旋转角度使将经旋转的所述第一3D点集合与被包括在所述第二3D点集合中的对应3D点之间被计算的总和3D距离最小化。
6.根据权利要求4所述的方法,其中表示所述相对3D取向的所述第三自由度的所述旋转角度使用最小二乘拟合而被计算。
7.根据权利要求1所述的方法,其中通过将所述第一重力向量与所述第二重力向量对齐来执行所述第一对齐过程以将所述第一取向与所述第二取向部分地对齐是通过以下方式而被执行的:
将所述第一相机图像中的每个像素反投影到三维(3D)空间中以生成第一3D点集合;
将所述第二相机图像中的每个像素反投影到所述3D空间中以生成第二3D点集合;以及
将所述第一3D点集合和所述第二3D点集合两者投影到垂直于所述第一重力向量和所述第二重力向量的二维(2D)平面。
8.根据权利要求7所述的方法,其中通过使用所标识的所述视觉对应关系来执行所述第二对齐过程以将所述第一取向与所述第二取向完全对齐以标识和消除所述相对3D取向的所述第三自由度是通过以下方式而被执行的:
针对所述第一相机图像中的第一像素,将所述第一像素反投影到三维(3D)空间中以生成第三3D点集合;
针对所述第二相机图像中的第二像素,将所述第二像素反投影到所述3D空间中以生成第四2D点集合;以及
在所述3D空间中沿着所述第一重力向量旋转所述第三3D点集合,其中沿着所述第一重力向量旋转所述第三3D点集合在试图通过计算将所述第三3D点集合与所述第四3D点集合最佳地对齐的旋转角度来消除所述相对3D取向的所述第三自由度时被执行。
9.根据权利要求1所述的方法,其中Wahba技术作为所述第二对齐过程的一部分被执行。
10.根据权利要求1所述的方法,其中执行所述第二对齐过程校正视差。
11.一种计算机系统,被配置为对齐由两个相机所生成的图像,其中所述对齐通过计算所述两个相机之间的相对三维(3D)取向而被执行,所述计算机系统包括:
一个或多个处理器;以及
一个或多个计算机可读硬件存储设备,所述一个或多个计算机可读硬件存储设备存储由所述一个或多个处理器可执行的指令以使所述计算机系统:
确定针对第一相机的第一重力向量;
确定针对第二相机的第二重力向量,所述第二相机与所述第一相机物理分离;
获取来自所述第一相机的第一相机图像和来自所述第二相机的第二相机图像,其中所述第一相机在生成所述第一相机图像时具有第一取向,并且所述第二相机在生成所述第二相机图像时具有第二取向;
执行第一对齐过程以通过将所述第一重力向量与所述第二重力向量对齐来将所述第一取向与所述第二取向部分地对齐,从而导致所述相对3D取向的两个自由度被消除;
标识所述第一相机图像与所述第二相机图像之间的视觉对应关系;
执行第二对齐过程以通过使用所标识的所述视觉对应关系来将所述第一取向与所述第二取向完全对齐,以标识和消除所述相对3D取向的第三自由度;以及
在执行所述第一对齐过程和所述第二对齐过程之后,通过将被包括在所述第一相机图像或所述第二相机图像中的一者中的内容叠加到被包括在所述第一相机图像或所述第二相机图像中的另一者中的对应内容上来生成叠加图像。
12.根据权利要求11所述的计算机系统,其中所述第一相机是头戴式设备(HMD)相机,并且其中所述第二相机是被附接到工具的外部相机。
13.根据权利要求11所述的计算机系统,其中所述第一重力向量使用第一惯性测量单元(IMU)而被确定,并且其中所述第二重力向量使用第二IMU而被确定。
14.根据权利要求11所述的计算机系统,其中执行所述第二对齐过程以通过使用所标识的所述视觉对应关系来将所述第一取向与所述第二取向完全对齐以标识和消除所述相对3D取向的所述第三自由度是通过以下方式而被执行的:
针对所述第一相机图像中的第一像素,将所述第一像素反投影到三维(3D)空间中以生成第一3D点集合;
针对所述第二相机图像中的第二像素,将所述第二像素反投影到所述3D空间中以生成第二2D点集合;以及
在所述3D空间中沿着所述第一重力向量旋转所述第一3D点集合,其中沿着所述第一重力向量旋转所述第一3D点集合在试图通过计算将所述第一3D点集合与所述第二3D点集合最佳地对齐的旋转角度来消除所述相对3D取向的所述第三自由度时被执行。
15.根据权利要求14所述的计算机系统,其中将所述第一像素和所述第二像素反投影到所述3D空间中是使用固有相机校准参数而被执行的,并且
其中计算将所述第一3D点集合与所述第二3D点集合最佳地对齐的所述旋转角度包括标识哪个旋转角度使将经旋转的第一3D点集合与被包括在所述第二3D点集合中的对应3D点之间被计算的总和3D距离最小化。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/524,270 US11636645B1 (en) | 2021-11-11 | 2021-11-11 | Rapid target acquisition using gravity and north vectors |
US17/524,270 | 2021-11-11 | ||
PCT/US2022/041139 WO2023086141A1 (en) | 2021-11-11 | 2022-08-23 | Rapid target acquisition using gravity and north vectors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118160003A true CN118160003A (zh) | 2024-06-07 |
Family
ID=83355067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280071789.2A Pending CN118160003A (zh) | 2021-11-11 | 2022-08-23 | 使用重力和北向量的快速目标采集 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11636645B1 (zh) |
CN (1) | CN118160003A (zh) |
WO (1) | WO2023086141A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2875471B1 (en) * | 2012-07-23 | 2021-10-27 | Apple Inc. | Method of providing image feature descriptors |
US10547825B2 (en) * | 2014-09-22 | 2020-01-28 | Samsung Electronics Company, Ltd. | Transmission of three-dimensional video |
GB2553315A (en) * | 2016-09-01 | 2018-03-07 | Nokia Technologies Oy | Determining inter-view prediction areas |
US10565719B2 (en) * | 2017-10-13 | 2020-02-18 | Microsoft Technology Licensing, Llc | Floor detection in virtual and augmented reality devices using stereo images |
US11049277B1 (en) * | 2020-07-17 | 2021-06-29 | Microsoft Technology Licensing, Llc | Using 6DOF pose information to align images from separated cameras |
-
2021
- 2021-11-11 US US17/524,270 patent/US11636645B1/en active Active
-
2022
- 2022-08-23 CN CN202280071789.2A patent/CN118160003A/zh active Pending
- 2022-08-23 WO PCT/US2022/041139 patent/WO2023086141A1/en active Application Filing
-
2023
- 2023-03-30 US US18/128,322 patent/US11941751B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11941751B2 (en) | 2024-03-26 |
US20230260204A1 (en) | 2023-08-17 |
US20230148231A1 (en) | 2023-05-11 |
US11636645B1 (en) | 2023-04-25 |
WO2023086141A1 (en) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2888943C (en) | Augmented reality system and method for positioning and mapping | |
US20170132806A1 (en) | System and method for augmented reality and virtual reality applications | |
US9201568B2 (en) | Three-dimensional tracking of a user control device in a volume | |
US10600150B2 (en) | Utilizing an inertial measurement device to adjust orientation of panorama digital images | |
US10606347B1 (en) | Parallax viewer system calibration | |
US11568555B2 (en) | Dense depth computations aided by sparse feature matching | |
US20220028093A1 (en) | Systems and methods for reducing a search area for identifying correspondences between images | |
CN116194866A (zh) | 使用6dof姿态信息对准来自分离相机的图像 | |
US20210392316A1 (en) | Systems and methods for correcting rolling shutter artifacts | |
US10388069B2 (en) | Methods and systems for light field augmented reality/virtual reality on mobile devices | |
EP3769035B1 (en) | Replicated dot maps for simplified depth computation using machine learning | |
US20240119610A1 (en) | Smooth and Jump-Free Rapid Target Acquisition | |
US11941851B2 (en) | Systems and methods for calibrating imaging and spatial orientation sensors | |
CN118160003A (zh) | 使用重力和北向量的快速目标采集 | |
US11450014B2 (en) | Systems and methods for continuous image alignment of separate cameras | |
Li et al. | A combined vision-inertial fusion approach for 6-DoF object pose estimation | |
WO2021111613A1 (ja) | 3次元地図作成装置、3次元地図作成方法、及び3次元地図作成プログラム | |
US20230122185A1 (en) | Determining relative position and orientation of cameras using hardware | |
US12020448B2 (en) | Systems and methods for updating continuous image alignment of separate cameras | |
US11651502B2 (en) | Systems and methods for updating continuous image alignment of separate cameras | |
WO2023163769A1 (en) | Image alignment using corner and line features | |
Bergamasco et al. | A practical setup for projection-based augmented maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |