CN115836324A - 具有远程相机对准的双相机hmd - Google Patents

具有远程相机对准的双相机hmd Download PDF

Info

Publication number
CN115836324A
CN115836324A CN202180049030.XA CN202180049030A CN115836324A CN 115836324 A CN115836324 A CN 115836324A CN 202180049030 A CN202180049030 A CN 202180049030A CN 115836324 A CN115836324 A CN 115836324A
Authority
CN
China
Prior art keywords
image
camera
depth
overlay
hmd
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
Application number
CN202180049030.XA
Other languages
English (en)
Inventor
M·布莱尔
C·D·埃德蒙兹
R·K·普赖斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN115836324A publication Critical patent/CN115836324A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B35/00Stereoscopic photography
    • G03B35/18Stereoscopic photography by simultaneous viewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues

Abstract

公开了用于使由集成立体相机对所生成的图像与由分离相机所生成的图像对准和稳定的技术。使用第一立体相机生成第一图像;使用第二立体相机生成第二图像;以及使用分离相机生成第三图像。计算在所述第三图像与所述第一图像之间的第一旋转基矩阵;以及计算在所述第三图像与所述第二图像之间的第二旋转基矩阵。使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准,并且使用所述第二旋转基矩阵将所述第三图像与所述第二图像对准。通过将所述第三图像叠加到所述第一图像上来生成第一叠加图像;以及通过将所述第三图像叠加到所述第二图像上来生成第二叠加图像。视差校正并且显示两幅叠加图像。

Description

具有远程相机对准的双相机HMD
背景技术
混合现实(MR)系统,包括虚拟现实(VR)和增强现实(AR)系统,因其能够为其用户创造真正独有的体验而受到广泛关注。可供参考的是,常规的VR系统通过将其用户的视野仅限制在虚拟环境中来创造完全沉浸式的体验。这常常是通过使用头戴设备(HMD)来实现的,其完全阻止了现实世界的任何视野。因此,用户完全沉浸在虚拟环境内。相比之下,常规的AR系统通过可视化地呈现被放置在现实世界中或者与现实世界交互的虚拟对象来创建增强现实体验。
如在本文中所使用的,VR和AR系统可互换地描述和引用。除非另有说明,否则在本文中的描述同样适用于所有类型的MR系统,其(如上文详细描述的)包括AR系统、VR现实系统和/或能够显示虚拟内容的任何其他类似系统。
MR系统也可以采用不同类型的相机以便向用户显示内容,诸如以直通图像的形式。直通图像或视图能够辅助用户在过渡到MR环境和/或在MR环境内导航时避免迷失方向和/或安全危险。MR系统能够以多种方式呈现由相机捕获的视图。然而,使用由面向世界的相机捕获的图像来提供现实世界环境的视图的过程产生了许多挑战。
当试图对准来自多个相机的图像内容时,会出现这些挑战中的一些挑战。通常,该对准过程需要详细的时间戳信息和姿势信息,以便执行所述对准过程。然而,有时,时间戳数据或者甚至姿势数据是不可用的,因为不同的相机可能在不同的时域中操作,使得其具有时间偏移。此外,有时时间戳数据根本不可用,因为相机可能彼此远程操作,并且时间戳数据未被传输。另一问题是由于具有左和右HMD相机(即,双相机系统)但是仅有单个分离相机而发生的。除了在分离相机的图像与右相机的图像之间对准图像内容之外,在分离相机的图像与左相机的图像之间对准图像内容在计算效率和图像对准方面引起许多问题。换言之,对准图像内容提供了实质性的益处,尤其是在全息图放置和生成方面,因此这些问题给技术领域带来了严重的障碍。因此,在该领域中存在改进图像如何彼此对准的实质性需求。
在本文中所要求保护的主题并不限于解决任何缺点或者仅在诸如上文所描述的那些环境中操作的实施例。相反,提供该背景仅是为了例示说明一个示例性技术区域,在其中可以实践在本文中所描述的一些实施例。
发明内容
在本文中所公开的实施例涉及使由包括被物理安装到计算机系统的第一相机和第二相机的集成立体相机对所生成的图像与由被从所述计算机系统物理卸载的分离相机所生成的图像对准和稳定的系统、设备(例如,硬件存储设备、可穿戴设备等)和方法。
在一些实施例中,使用所述第一相机生成第一图像,使用所述第二相机生成第二图像,以及使用所述分离相机生成第三图像。计算所述第三图像相对于所述第一图像的第一旋转基矩阵;计算所述第三图像相对于所述第二图像的第二旋转基矩阵。然后,使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准,并且使用所述第二旋转基矩阵将所述第三图像与所述第二图像对准。通过基于所述对准过程将所述第三图像叠加到所述第一图像上来生成第一叠加图像,同时通过基于对应的对准过程将所述第三图像叠加到所述第二图像上来生成第二叠加图像。一些实施例可选地通过将所述第一叠加图像从第一透视图修改为第一新透视图,对所述第一叠加图像执行第一视差校正,并且可选地通过将所述第二叠加图像从第二透视图修改为第二新透视图,也对所述第二叠加图像执行第二视差校正。然后,实施例可选地显示所述第一叠加图像和所述第二叠加图像。
提供本概要是为了以简化的形式引入概念的选择,这些概念将在下文的详细描述中进一步描述。本概要不是为了识别所要求保护的主题的关键特征或基本特征,也不是为了用于辅助确定所要求保护的主题的范围。
额外特征和优点将在下文的描述中阐述,并且部分地从描述中将是显而易见的,或者可以通过在本文中的教导的实践来学习。本发明的特征和优点可以通过所附的权利要求中特别指出的仪器和组合来实现和获得。本发明的特征将从下文的描述和所附的权利要求中变得更加明显,或者可以通过下文所阐述的本发明的实践来了解。
附图说明
为了描述可以获得上述和其他优点和特征的方式,将通过参考附图中示出的具体实施例来呈现对上述简要描述的主题的更具体的描述。可以理解,这些附图仅描绘了典型的实施例,并且因此不被认为是范围的限制,将通过使用附图以额外的特异性和细节来描述和解释实施例,其中:
图1A和图1B图示了用于使由被物理安装到计算机系统(例如,HMD)的集成立体相机对所生成的图像与由被从计算机系统物理卸载的分离相机所生成的图像对准和稳定的示例性方法的流程图。
图2图示了HMD的示例性配置。
图3图示了HMD的另一示例性配置。
图4图示了HMD的相机与分离相机结合使用以记录环境图像的场景。
图5图示了各种不同的相机如何具有不同的视场(FOV)。
图6图示了所得到的图像如何具有对应的分辨率。
图7图示了被用于促进在各种不同图像之间对准图像内容而不依赖于时间戳数据的特征匹配过程。
图8图示了计算旋转基矩阵以确定分离相机相对于集成相机的相对对准的过程,其中,假设分离相机与集成相机被共同地定位。
图9图示了其中将来自分离相机图像的图像内容叠加到由集成相机所生成的图像上的对准过程。
图10图示了示例性视差校正操作,其中,叠加图像被重新投影到新透视图。
图11图示了视差校正操作可以如何利用全深度图来执行重新投影,并且进一步图示了如何将单个深度分配给被叠加到集成相机图像像素上的所有分离相机图像像素。
图12图示了视差校正操作如何利用固定深度平面图来执行重新投影,并且进一步图示了固定深度如何可以是被叠加到集成相机图像像素上的分离相机图像像素中所包括的特定像素的深度。
图13图示了被配置为执行所公开的操作中的任意操作的示例性计算机系统。
具体实施方式
在本文中所公开的实施例涉及使由集成立体相机对所生成的图像与由分离相机所生成的图像对准和稳定的系统、设备(例如,硬件存储设备、可穿戴设备等)和方法。
在一些实施例中,使用第一立体相机生成第一图像;使用第二立体相机生成第二图像;以及使用所述分离相机生成第三图像。计算在所述第三图像与所述第一图像之间的第一旋转基矩阵;并且计算在所述第三图像与所述第二图像之间的第二旋转基矩阵。使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准,并且也使用所述第二旋转基矩阵将所述第三图像与所述第二图像对准。通过将所述第三图像叠加到所述第一图像上来生成第一叠加图像;并且通过将所述第三图像叠加到所述第二图像上来生成第二叠加图像。可选地,一些实施例可对两幅叠加图像执行视差校正。一些实施例也可选地显示所述第一叠加图像和所述第二叠加图像。
技术益处、改进和实际应用的示例
以下部分概述了由所公开的实施例提供的一些示例性改进和实际应用。然而,将意识到,这些仅仅是示例,并且实施例并不局限于仅这些改进。
所公开的实施例为技术领域提供了实质性的改进、益处和实际应用。作为示例,所公开的实施例改进了如何生成和显示图像,并且改进了如何对准图像内容。
换言之,实施例解决了使来自远程或分离相机图像的图像内容与来自集成相机图像的图像内容对准以创建单幅复合或叠加图像的问题。注意,在不需要使用时间戳数据的情况下生成所述叠加图像,而是基于在集成相机与分离相机之间的共同定位的假设并且进一步基于特征匹配过程来生成叠加图像。关于时间戳的信息可能不被知道的原因可能有多种。例如,异步无线通信可能发生在操作在不同时域上的多个设备之间,导致出现不知道时间戳的情况。此外,所公开的实施例解决了当尽管仅生成单幅分离相机图像但是生成左和右直通图像两者时与图像对准有关的问题。通过执行所公开的操作,实施例能够显著改善图像质量和图像显示。
示例性方法
以下讨论现在提到了可以执行的许多方法和方法动作。尽管可以以特定次序讨论所述方法动作或者在流程图中例示说明以特定次序发生,但是除非特别说明,或者因为动作依赖于在所述动作被执行之前完成的另一动作而需要特定次序,否则不需要特定次序。
现在将注意力转向图1A和图1B,其图示了用于使由包括被物理安装到计算系统(例如,HMD)的第一相机和第二相机的集成立体相机对所生成的图像与由被从计算系统物理拆卸的分离相机所生成的图像对准和稳定的示例性方法100的流程图。就此而言,实施例能够生成所谓的“直通”图像,这些图像具有对准的由不同相机生成的内容。
HMD配置
举例来说,方法100可以由图2的头戴式设备HMD 200来执行。HMD 200能够是任意类型的MR系统200A,包括VR系统200B或AR系统200C。应当注意,尽管本公开的大部分集中于HMD的使用,但是实施例并不限于仅使用HMD来实践。换言之,能够使用任意类型的扫描系统,甚至是完全从HMD移除或分离的系统。这样,所公开的原理应当被宽泛地解释为涵盖任意类型的扫描场景或设备。一些实施例甚至可以避免主动使用扫描设备自身并且可以简单地使用由扫描设备生成的数据。例如,一些实施例可以至少部分地在云计算环境中实践。
HMD 200被示为包括(一个或多个)扫描传感器205(即,一种类型的扫描或相机系统),并且HMD 200能够使用(一个或多个)扫描传感器205来扫描环境、映射环境、捕获环境数据,和/或生成环境的任意种类的图像(例如,通过生成环境的3D表示或者通过生成“直通”可视化)。(一个或多个)扫描传感器205可以包括任意数量或者任意类型的扫描设备,而没有限制。
根据所公开的实施例,HMD 200可以被用于生成用户的环境的经视差校正的直通可视化。在一些情况下,“直通”可视化指代反映如果用户没有佩戴HMD 200则用户将看到什么的可视化,而不管HMD 200是作为AR系统还是VR系统的一部分被包括在内。在其他情况下,所述直通可视化反映了不同的或新颖的透视图。
为了生成该直通可视化,HMD 200可以使用其(一个或多个)扫描传感器205来扫描、映射或者以其他方式记录其周围环境,包括环境中的任意对象,并且将该数据传递给用户以用于查看。在许多情况下,所述直通数据被修改以反映或者对应于用户的瞳孔的透视图,尽管其他透视图也可以由图像来反映。透视图可以由任意类型的眼球跟踪技术或者其他数据来确定。
为了将原始图像转换为直通图像,(一个或多个)扫描传感器205通常依赖于其相机(例如,头部跟踪相机、手部跟踪相机、深度相机或者任意其他类型的相机)来获得环境的一幅或多幅原始图像(又名纹理图像)。除了生成直通图像之外,这些原始图像也可以被用于确定深度数据,所述深度数据详细说明从传感器到由原始图像捕获的任何物体的距离(例如,z轴范围或测量结果)。一旦获得这些原始图像,则可以根据被嵌入或包括在原始图像内的深度数据来计算深度图(例如,基于像素差异),并且能够使用用于任何重新投影的深度图来生成直通图像(例如,每个瞳孔一个)。
如在本文中所使用的,“深度图”详细描述了相对于环境中的物体的位置关系和深度。因此,能够确定相对于彼此的物体的位置布置、定位、几何结构、轮廓和深度。根据深度图,能够生成环境的3D表示。
相关地,从所述直通可视化中,用户将能够感知当前在他/她的环境中的内容,而不必移除或重新定位HMD 200。此外,如后面将更详细描述的,所公开的直通可视化也将增强用户查看他/她的环境内的物体的能力(例如,通过显示人眼可能无法检测到的额外环境条件或图像数据)。
应当注意,尽管本公开的大部分集中于生成“一幅”直通图像,但是实施例可以为用户的眼睛中的每个眼睛生成单独的直通图像。换言之,两幅直通图像通常彼此同时地生成。因此,尽管经常提到生成似乎是单幅直通图像,但是实施例实际上能够同时地生成多幅直通图像。
在一些实施例中,(一个或多个)扫描传感器205包括(一个或多个)可见光相机210、(一个或多个)微光相机215、(一个或多个)热成像相机220、潜在地(尽管不一定,如由图2中的虚线框所表示的)(一个或多个)紫外线(UV)相机225以及潜在地(尽管不一定)点照明器(未示出)。省略号230图示了任何其他类型的相机或相机系统(例如,深度相机、飞行时间相机、虚拟相机、深度激光器等)如何可以包括在(一个或多个)扫描传感器205中。
作为示例,被构造为检测中红外波长的相机可以被包含在(一个或多个)扫描传感器205内。作为另一示例,从实际相机重新投影的任意数量的虚拟相机可以被包含在(一个或多个)扫描传感器205中,并且可以被用于生成立体图像对。以这种方式并且如后面将更详细讨论的那样,(一个或多个)扫描传感器205可以被用于生成立体图像对。在一些情况下,所述立体图像对可以作为执行以下操作中的任意一项或多项操作的结果来获得或生成:经由使用两个相机和一个点照明器的活动立体图像生成;经由使用两个相机的被动立体图像生成;经由使用一个实际相机、一个虚拟相机和一个点照明器使用结构光的图像生成;或者使用飞行时间(TOF)传感器的图像生成,其中,基线存在于深度激光器与对应的相机之间,并且其中,对应相机的视场(FOV)相对于深度激光器的照明场偏移。
一般而言,人眼能够感知在所谓“可见光谱”内的光,所述“可见光谱”包括波长范围从大约380纳米(nm)到大约740nm的光(或者,电磁辐射)。如在本文中所使用的,(一个或多个)可见光相机210包括两个或更多个红、绿、蓝(RGB)相机,其被构造为捕获可见光谱内的光子。通常,这些RGB相机是互补金属氧化物半导体(CMOS)型相机,但是也可以使用其他相机类型(例如,电荷耦合器件,CCD)。
所述RGB相机通常是立体相机,这意味着两个或更多个RGB相机的视场至少部分地彼此重叠。利用该重叠区域,由(一个或多个)可见光相机210生成的图像能够被用于识别在共同表示由这两幅图像所捕获的物体的特定像素之间的差异。基于这些像素差异,实施例能够确定针对位于重叠区域内的物体的深度(即,“立体深度匹配”或者“立体深度匹配”)。这样,(一个或多个)可见光相机210不仅能够被用于生成直通可视化,而且其也能够被用于确定物体深度。在一些实施例中,(一个或多个)可见光相机210能够捕获可见光和IR光两者。
(一个或多个)微光相机215被构造为捕获可见光和IR光。IR光常常被分为包括近IR、中IR和远IR(例如,热IR)的三种不同类别。所述类别是基于IR光的能量来确定的。例如,近IR由于具有相对较短的波长(例如,在约750nm与约1000nm之间)而具有相对较高的能量。相反,远IR由于具有相对较长的波长(例如,高达约30,000nm)而具有相对较少的能量。中IR具有介于近IR与远IR范围之间或中间的能量值。(一个或多个)微光相机215被构造为至少在近IR范围内检测IR光或者对IR光敏感。
在一些实施例中,(一个或多个)可见光相机210和(一个或多个)微光相机215(又名微光夜视相机)在大致相同的重叠波长范围内操作。在一些情况下,这种重叠波长范围在大约400纳米到大约1,000纳米之间。另外,在一些实施例中,这两种类型的相机都是硅检测器。
在这两种类型的相机之间的一个区别特征与其在其中主动操作的照度条件或照度范围有关。在一些情况下,(一个或多个)可见光相机210是低功率相机,并且在照度在大约黄昏照度(例如,大约10勒克斯)与明亮的正午太阳照度(例如,大约100,000勒克斯)之间的环境中操作,或者,照度范围从大约10勒克斯开始并且增加到超过10勒克斯。相比之下,(一个或多个)微光相机215消耗更多的功率,并且在照度范围在大约星光照度(例如,大约1毫勒克斯)与黄昏照度(例如,大约10勒克斯)之间的环境中操作。
另一方面,(一个或多个)热成像相机220被构造为检测远IR(即,热IR)范围内的电磁辐射或IR光,尽管一些实施例也使得(一个或多个)热成像相机220能够检测在中IR范围内的辐射。为了澄清,(一个或多个)热成像相机220可以是长波红外成像相机,其被构造为通过测量长波红外波长来检测电磁辐射。通常,(一个或多个)热成像相机220检测波长在约8微米与14微米之间的IR辐射,以检测来自相机视场中的环境和人的黑体辐射。因为(一个或多个)热成像相机220检测远IR辐射,所以(一个或多个)热成像相机220能够在任意照度条件下操作,而不受限制。
在一些情况下(尽管不是全部),(一个或多个)热成像相机220包括非制冷热成像传感器。非制冷热成像传感器使用基于微测热辐射计阵列的特定类型的检测器设计,所述微测热辐射计是一种测量入射电磁波/辐射的幅度或功率的设备。为了测量辐射,所述微测热辐射计使用薄层的吸收材料(例如,金属),所述吸收材料通过热链接被连接到热储存器上。入射波撞击并且加热材料。作为对加热材料的响应,所述微测热辐射计检测与温度相关的电阻。环境温度的变化引起测热辐射计的温度的变化,并且这些变化能够被转换成电信号,由此产生环境的热图像。根据所公开的实施例中的至少一些实施例,非制冷热成像传感器被用于生成任意数量的热图像。非制冷热成像传感器的测热辐射计能够检测跨宽光谱的电磁辐射,跨越中IR光谱、远IR光谱,并且甚至高达毫米尺寸波。
(一个或多个)UV相机225被构造为捕获UV范围内的光。UV范围包括波长在约150nm与约400nm之间的电磁辐射。所公开的(一个或多个)UV相机225应当被宽泛地解释,并且可以以包括反射UV摄影和UV诱导荧光摄影两者的方式来操作。
因此,如在本文中所使用的,“可见光相机”(包括“头部跟踪相机”)是主要用于计算机视觉以执行头部跟踪的相机。这些相机能够检测可见光,或者甚至可见光与IR光的组合(例如,IR光的范围,包括波长约850nm的IR光)。在一些情况下,这些相机是全局快门设备,其中像素大小约为3μm。另一方面,微光相机是对可见光和近IR敏感的相机。这些相机更大,并且可能具有大约8μm大小或更大的像素。这些相机对硅传感器敏感的波长也敏感,所述波长在大约350nm至1100nm之间。这些传感器也能够利用III-V材料来制造,以对NIR波长具有光学敏感性。热/长波长IR设备(即,热成像相机)具有大约10μm或更大的像素尺寸,并且检测从环境辐射的热量。这些相机对8μm至14μm范围内的波长敏感。一些实施例也包括被配置为至少检测中IR光的中IR相机。这些相机常常包括非硅材料(例如,InP或InGaAs),其检测800nm至2μm波长范围内的光。
因此,所公开的实施例可以被构造为利用许多不同的相机类型。不同的相机类型包括但不限于:可见光相机、微光相机、热成像相机和UV相机。可以使用从以上列出的相机类型的任意一种类型或者类型的组合生成的图像来执行立体深度匹配。
通常,(一个或多个)微光相机215、(一个或多个)热成像相机220和(一个或多个)UV相机225(如果存在的话)比(一个或多个)可见光相机210消耗更多的电力。因此,当不使用时,(一个或多个)微光相机215、(一个或多个)热成像相机220和(一个或多个)UV相机225通常处于断电状态中,其中,那些相机要么被关闭(并且因此不消耗电力),要么处于降低的可操作性模式(并且因此比那些相机完全运行时消耗少得多的电力)。相比之下,(一个或多个)可见光相机210通常处于通电状态中,其中,那些相机在默认情况下是完全操作的。
应当注意,对于不同相机类型中的每种相机类型,可以在HMD 200上提供任意数量的相机。换言之,(一个或多个)可见光相机210可以包括1、2、3、4、5、6、7、8、9、10或10个以上的相机。然而,相机的数量常常至少为2个,因此HMD 200能够执行立体深度匹配,如前文所描述的。类似地,(一个或多个)微光相机215、(一个或多个)热成像相机220和(一个或多个)UV相机225可以分别包括1、2、3、4、5、6、7、8、9、10或10个以上的对应相机。
图3图示了示例性HMD 300,其表示来自图2的HMD 200。HMD 300被示为包括多个不同的相机,包括相机305、310、315、320和325。相机305-325表示来自图2的可(一个或多个)见光相机210、(一个或多个)微光相机215、(一个或多个)热成像相机220和(一个或多个)UV相机225的任意数量或组合。尽管在图3中仅图示了5个相机,但是HMD 300可以包括多于或少于5个相机。
在一些情况下,所述相机能够位于HMD 300上的特定位置处。例如,在一些情况下,第一相机(例如,可能是相机320)被设置在HMD 300上相对于HMD的高度方向佩戴HMD 300的任何用户的指定左眼位置上方的位置处。例如,相机320位于瞳孔330上方。作为另一示例,第一相机(例如,相机320)相对于HMD的宽度方向额外地位于指定的左眼位置上方。换言之,相机320不仅位于瞳孔330上方,而且也相对于瞳孔330成直线。当使用VR系统时,相机可能直接被放置在指定左眼位置的前方。例如,参考图3,相机可以被物理地设置在HMD 300上的在z轴方向上的瞳孔330前方的位置处。
当提供第二相机(例如,可能是相机310)时,第二相机可以被设置在HMD上相对于HMD的高度方向在佩戴HMD的任何用户的指定右眼位置上方的位置处。例如,相机310在瞳孔335上方。在一些情况下,第二相机相对于HMD的宽度方向额外地位于指定右眼位置上方。当使用VR系统时,相机可以被直接放置在指定右眼位置的前方。例如,参考图3,相机可以被物理地设置在HMD 300上的在z轴方向上的瞳孔335前方的位置处。
当用户佩戴HMD 300时,HMD 300适配在用户的头上,并且HMD 300的显示器位于用户的瞳孔(诸如瞳孔330和瞳孔335)的前方。通常,相机305-325将物理地偏离于用户的瞳孔330和335一些距离。例如,在HMD高度方向(即,“Y”轴)上可能存在垂直偏移,如由偏移340所示的。类似地,在HMD宽度方向(即,“X”轴)上可能存在水平偏移,如由偏移345所示的。
如先前所描述的,HMD 300被配置为提供(一幅或多幅)直通图像以供HMD 300的用户查看。这样,HMD 300能够提供真实世界的可视化,而不需要用户移除或重新定位HMD300。这些(一幅或多幅)直通图像有效地表示当用户没有佩戴HMD 300时用户将看到的相同视图。相机305-325被用于提供这些(一幅或多幅)直通图像。
然而,相机305-325中没有一个相机与瞳孔330和335远心地对准。偏移340和345实际上引入了相机305-325与瞳孔330和335之间的透视图差异。这些透视图差异被称为“视差”。
由于作为偏移340和345的结果而产生的视差,由相机305-325产生的原始图像(又名纹理图像)可能不能立即用作直通图像。替代地,对原始图像执行视差校正(又名图像合成)以变换在那些原始图像内所包含的透视图以对应于用户瞳孔330和335的透视图是有益的。视差校正包括任意数量的校正,这将在后面更详细地讨论。
生成图像
返回图1A,最初方法100包括使用所述第一相机生成第一图像、使用所述第二相机生成第二图像、以及使用所述分离相机生成第三图像的动作(动作105)。例如,所述第一相机可以是在图3中所图示的相机305-325中的任意相机,并且所述第二相机可以是相机305-325中的任意另一相机。此外,所述第一相机和所述第二相机可以是前文所提到的相机模态中的任意相机模态(例如,热成像等)。另一方面,所述分离相机将不是相机305-325中的任意相机。相反,所述分离相机在物理上与HMD分离或卸载。图4图示了这样的场景。因此,在方法动作105中所提到的所述第一相机、所述第二相机或者甚至所述分离相机都可以是可见光相机、热成像相机、微光相机、UV相机,或者替代地,可见光相机、微光相机、热成像相机或UV相机的任意组合。
图4示出其中HMD 405正在操作的示例性环境400。HMD 405表示图3的HMD 300和图2的HMD 200。HMD 405被示为包括集成立体相机对410,其包括第一相机415和第二相机420,这些相机表示在图1A的方法动作105中提到的相机,并且表示到目前为止所讨论的相机。
图4也示出了表示在方法动作105中所提到的分离相机的分离相机425。注意,分离相机425在物理上从HMD 405拆卸,使得其能够独立于HMD 405的任何运动而移动。此外,分离相机425与HMD 405分隔距离430。该距离430可以是任意距离,但是通常小于1.5米(即,距离430至多为1.5米)。
在该示例中,在环境400中的物体相对远离HMD 405的场景中使用各种不同的相机,如由距离435所示的。后面将更详细地讨论距离435与距离430之间的关系。
在任何情况下,第一相机415从第一透视图440捕获环境400的图像,第二相机420从第二透视图445捕获环境400的图像,并且分离相机425从第三透视图450捕获环境400的图像。根据所公开的原理,尽管在立体相机对410与分离相机425之间存在距离430,但是实施例最初依赖于假设分离相机425与立体相机对410共同定位455。通过共同定位455,这意味着假设分离相机425位于HMD 405上与第一相机415(对于一组操作)相同的位置,并且假设位于与第二相机420(对于不同的一组操作)相同的位置。共同定位455并不意味着分离相机425具有与第一相机415或第二相机420相同的3自由度(3DOF)姿势或透视图;相反,这意味着假设分离相机425的物理放置与第一和第二相机420处于相同的位置处(即,相同的距离435)。
图5示出了一个场景,其中,在图4中所提到的不同相机现在被用于生成相应的图像。具体而言,图4的第一相机415具有FOV 500,并且正在基于FOV 500生成图像。类似地,图4的第二相机420具有FOV 505,并且基于FOV 505生成图像。最后,分离相机425具有FOV510,并且基于FOV 510生成图像。
在一些实施例中,FOV 500的尺寸与FOV 505的尺寸相同。在一些实施例中,FOV500的尺寸可以不同于FOV 505的尺寸。在一些实施例中,FOV 510的尺寸小于FOV 500或505的尺寸之一。在一些实施例中,FOV 510的尺寸可以与FOV 500和505的尺寸中的任一者或者这两者相同。
在一些情况下,FOV 510的尺寸小于大约20度的水平范围,诸如可能是19、18、17、16、15、14、13、12、11、10或小于10度的水平范围。在一些情况下,FOV 500和505的尺寸中的任一者或者这两者小于大约65度的水平范围,诸如可能是60、55、50、45、40或小于40度的水平范围。图6示出了结果图像,其表示图1A的方法动作105中所讨论的图像。
图6示出了由图4的第一相机415生成的第一图像600。第二图像605由第二相机420生成,并且第三图像610由分离相机425生成。图6示出了第一图像600如何具有分辨率615、第二图像605如何具有分辨率620、以及第三图像610如何具有分辨率625。
在一些实施例中,分辨率615与分辨率620相同,而分辨率625与分辨率615和620相同。在一些实施例中,所述分辨率可以全部不同或者其中的两个可以相同而其余的分辨率不同。由于不同相机的FOV的尺寸可能不同,因此所得到的图像的尺寸也可能不同。尽管尺寸不同,但是分辨率可能仍然相同。例如,图6示出了第三图像610如何小于第一图像600或第二图像605中的任一个。尽管存在这种尺寸差异,但是分辨率可能仍然相同。因此,与第一图像600或第二图像605中的每个像素相比,第三图像610中所包括的每个像素更小并且提供更高水平的细节。
因此,在一些实施例中,第三图像610的分辨率625可以与第一图像600的分辨率615(或者第二图像605的分辨率620)相同,使得作为第三图像610的FOV(例如,图5中的FOV510)小于第一图像的FOV(例如,FOV 500)的结果,第三图像610中的每个像素小于第一图像600中的每个像素(并且也有第二图像605)。
旋转基矩阵
返回到图1A,方法100还包括计算所述第三图像相对于所述第一图像的第一旋转基矩阵的动作(动作110)。与动作110并行或串行的是计算所述第三图像相对于所述第二图像的第二旋转基矩阵的动作115。为了计算所述旋转基矩阵,实施例首先执行特征匹配过程700,如在图7中所示的。
图7图示了第一图像705、第二图像710和第三图像715,其分别对应于图6的第一图像600、第二图像605和第三图像610。根据所公开的原理,实施例识别不同图像内的所谓“特征点”。通常,“特征点”指代被包含在物体或图像内的离散的并且可识别的点。特征点的示例包括角、边或者与环境的其他区域形成鲜明对比的其他几何轮廓。在图7中所示的图像中的每幅图像中的黑色圆圈对应于两个壁相遇的拐角处,并且这被认为是特征点。尽管在图7中仅图示了数个特征点,但是人们将意识到实施例能够识别图像中的任意数量的特征点。
识别特征点可以使用任意类型的图像分析、图像分割或甚至机器学习(ML)来执行。任意类型的ML算法、模型或机器学习都可以被用于识别特征点。如在本文中所使用的,对“机器学习”或ML模型的引用可以包括任意类型的机器学习算法或设备、神经网络(例如,(一个或多个)卷积神经网络、(一个或多个)多层神经网络、(一个或多个)递归神经网络、(一个或多个)深度神经网络、(一个或多个)动态神经网络等)、(一个或多个)决策树模型(例如,决策树、随机森林和梯度增强树)、(一个或多个)线性回归模型或(一个或多个)逻辑回归模型、(一个或多个)支持向量机(“SVM”)、(一个或多个)人工智能设备或者任何其他类型的智能计算系统。任意数量的训练数据可以被用于(并且可能稍后被细化)训练机器学习算法以动态地执行所公开的操作。
图7具体识别第一图像705中的特征点720A。第二图像710中的特征点720B对应于特征点720A。类似地,在第三图像715中所识别的特征点720C对应于特征点720A和720B两者。在该上下文中,“对应”意味着三个识别出的特征点表示环境中的相同区域或物体(即,角壁的特定部分)。
实施例能够分析三幅不同的图像,识别不同的特征点,并且然后执行特征点匹配725以将对应的特征点相互链接或关联。例如,被标记为特征点匹配725的虚线象征性地表示在特征点720A、720B和720C之间的关联。
检测对应的特征点需要不同相机的FOV至少部分地相互重叠,如在图5中所示的。如果在不同的FOV之间不存在重叠或没有足够量的重叠,则特征匹配过程700可能无法检测足够数量的特征点。另一方面,如果存在足够水平的重叠,则实施例能够检测对应的特征点。
一旦识别出对应的特征点(例如,对应的特征点720A、720B和720C),实施例就依赖于假设三个不同的相机彼此共同定位,如在图4中所介绍的那样。例如,实施例假设第三相机与第一相机共同定位,并且单独假设第三相机与第二相机共同定位。就此而言,实施例假设第一相机和第三相机位于相同位置,但是这两个相机当前具有不同的姿势或旋转对准。类似地,实施例假设第二相机和第三相机位于相同位置,但是这两个相机当前具有不同的姿势或旋转对准。
当在相机与环境中的物体之间的距离435如在图4所示的足够大时,这种共同定位假设是有效的。当距离435小于最小阈值距离时,假设可能失效。最小阈值距离可以被设置为任意距离,但是假设通常将适用于大约3米以上的距离。
基于特征匹配的结果并且基于共同定位假设,实施例然后计算在方法动作110和115中所描述的旋转基矩阵。图8图示了该过程。
图8示出了表示到目前为止所讨论的第三图像(即,由分离相机所生成的图像)的第三图像800和表示到目前为止所讨论的第一图像(即,由第一相机生成的图像)的第一图像805。根据所公开的原理,实施例假设分离相机和第一相机彼此共同定位810,使得在第三图像800与第一图像805之间仅存在旋转对准差或3DOF 815差。
使用所检测到的特征点作为参考点,实施例然后计算在第三图像800与第一图像805之间的第一旋转基矩阵820。第一旋转基矩阵820详细说明在第三图像800与第一图像805的位置之间的角度差。换言之,第一旋转基矩阵820提供关于从第三图像800的透视图到第一图像805的透视图所需的平移或角度移动的映射。
亦即,计算第三图像800相对于第一图像805的第一旋转基矩阵820可以基于不正确但是可接受的假设来执行,即,所述第三相机和所述第一相机彼此共同定位810(因此不需要平移映射,仅需要旋转映射)。此外,可以基于在第一图像805与第三图像800之间执行的特征匹配过程(例如,图7的特征匹配过程700)的结果来执行计算第三图像800相对于第一图像805的第一旋转基矩阵820。
第一旋转基矩阵820可以被认为是一种类型的运动模型。通常,运动模型是一种类型的转换矩阵,其使得模型、已知场景或物体能够被投影到不同的模型、场景或物体上。
在一些情况下,所述运动模型可能仅是旋转运动模型。利用旋转模型,实施例能够将一幅图像移动任意数量的像素(例如,可能向左5像素和向上10像素),以便将一幅图像叠加到另一幅图像上。例如,一旦识别了特征点,实施例就能够识别那些特征点或对应物的像素坐标。一旦坐标被识别,则实施例就能够通过确定为了将来自所述第三图像的特征点与所述第一图像的特征点对准所需的移动量或水平来生成第一旋转基矩阵820。
在一些情况下,所述运动模型可以更复杂,诸如以相似变换模型的形式。所述相似变换模型可以被配置为允许:(i)旋转集成相机图像(即,第一图像)或分离相机图像(即,第三图像)中的任一个,(ii)缩放第一图像或第三幅图像,或者(iii)第一幅图像或第三幅图像的单应变换。就此而言,所述相似变换模型方法可以被用于确定第一旋转基矩阵820。
如在图8中所示的,可以在第三图像800与第二图像825之间执行类似的操作。例如,实施例最初假设第三图像800与第二图像825共同定位830。基于该共同定位830的假设,实施例确定在第三图像800与第二图像825之间仅存在3DOF 835差。利用该假设,实施例能够生成第二旋转基矩阵840以旋转地平移第三图像800的透视图,直到其基于那两幅图像中存在的检测到的和对应的特征点的像素位置或坐标与第二图像825的透视图对准。
类似于前文所讨论的,计算第三图像800相对于第二图像825的第二旋转基矩阵840可以基于不正确但是可接受的假设来执行,即,所述第三相机和所述第二相机彼此共同定位830。此外,可以基于在第二图像825与第三图像800之间执行的特征匹配过程(例如,图7的特征匹配过程700)的结果来执行计算第三图像800相对于第二图像825的第二旋转基矩阵840。
图像内容对准
在计算了两个不同的旋转基矩阵之后,图1A的方法100继续进行动作120:使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准并且使用所述第二旋转基矩阵将所述第三图像与所述第二图像对准。方法动作110和115涉及生成基矩阵,其自身也可以被认为是对准过程,动作120涉及操纵不同图像,以便其实际上彼此重叠或定位,也许是以分层的方式。作为执行该对准操作的结果,方法100在图1B中继续进行通过将所述第三图像叠加到所述第一图像上(基于对准过程)来实际生成第一叠加图像的动作(动作125)和通过将所述第三图像叠加到所述第二图像上(基于所述对准过程)来生成第二叠加图像的动作(动作130)。图9表示这两个动作。
图9示出了表示在图1A和图1B的方法动作120到130中所描述的对准过程的对准900过程。具体而言,对准900过程涉及使用先前计算的第一旋转基矩阵来将第三图像内容905与第一图像内容910对准,以便生成单个的、集成的(即,可能不是分层的)第一叠加图像915。在一些情况下,在第一叠加图像915中可视地显示边界920,以强调或识别源自第一图像(即,第一图像内容910)的像素和源自第三图像(即,第三图像内容905)的像素。
回想一下,在一些实施例中,较小FOV的第三图像的分辨率与较大FOV的第一图像的分辨率相同。因此,与第一图像的像素相比,第三图像的像素将给出内容更锐利、更清晰或更清爽的可视化。因此,通过将第三图像内容905叠加到第一图像内容910上,与第三图像内容905相对应的第一叠加图像915的部分可以看起来比第一叠加图像915的其他部分(例如,与第一图像内容910相对应的那些像素)更清晰或更详细。可以在第三图像与第二图像之间执行类似的操作。
对准900过程另外可以包括使用先前计算出的第二旋转基矩阵来将第三图像内容925与第二图像内容930对准,以便生成单个的、集成的(即,可能不是分层的)第二叠加图像935。在一些情况下,在第二叠加图像935中可视地显示边界940,以强调或识别源自第二图像(即,第二图像内容930)的像素和源自第三图像(即,第三图像内容925)的像素。
在一些实施例中,对准900过程可以依赖于从第一相机、第二相机或分离相机中的任意一个获得的惯性测量单元(IMU)数据。例如,IMU数据945A是从第一相机的IMU获得的IMU数据,并且描述第一相机的移动。IMU数据945B是从分离相机的IMU获得的IMU数据,并且描述分离相机的移动。IMU数据945C是从第二相机的IMU获得的IMU数据,并且描述第二相机的移动。
如果在第一相机、第二相机或分离相机中的任意一个的后续移动之前计算了第一旋转基矩阵或第二旋转基矩阵,则实施例能够利用IMU数据945A、945B和945C来更新相应的第一旋转基矩阵或第二旋转基矩阵以说明新的移动。例如,通过将第一旋转基矩阵与基于IMU数据945A和945B生成的矩阵数据相乘,实施例能够消除第一相机或分离相机中的任意一个的移动的影响。类似地,通过将第二旋转基矩阵与基于IMU数据945C和945B生成的矩阵数据相乘,实施例能够消除第二相机或分离相机中的任意一个的移动的影响。就此而言,可以使用来自第一相机的惯性测量单元(IMU)数据和来自第三相机的IMU数据来执行使用第一旋转基矩阵将第三图像与第一图像对准,对于第二相机和分离相机具有类似的操作。因此,对准900过程可以基于特征匹配操作的结果以及利用旋转基矩阵和甚至可能的IMU数据。
视差校正
回到图1B,方法100也包括通过将第一叠加图像从第一透视图修改为第一新透视图来对第一叠加图像执行第一视差校正的动作(动作135)。与动作135并行或串行地,方法100包括通过将第二叠加图像从第二透视图修改为第二新透视图来对第二叠加图像执行第二视差校正的动作(动作140)。动作135和140都在图1B中使用虚线图示出,以示出这些动作是可选的。
实现所公开的操作(包括方法100)的计算机系统可以是由用户佩戴的头戴式设备(HMD)。第一新透视图可以对应于左眼瞳孔或右眼瞳孔中的一个,并且第二新透视图可以对应于左眼瞳孔或右眼瞳孔中的另一个。
另一可选动作涉及显示第一叠加图像和第二叠加图像的动作145。图10、11和12例示说明了这些操作中的一些操作。
图10图示了叠加图像1000,其可以是来自图9的第一叠加图像915或第二叠加图像935中的任一个,并且其可以是在方法100中所讨论的叠加图像。在此,叠加图像1000被示为具有原始透视图1005。根据所公开的原理,实施例能够执行视差校正1010,以将叠加图像1000的原始透视图1005变换为新的或新颖的透视图。
执行视差校正1010涉及使用深度图以便将图像内容重新投影到新透视图。另外,视差校正1010被示为包括多个不同操作中的任意一个或多个操作。例如,视差校正1010可以涉及失真校正1015(例如,校正凹面或凸面宽角或窄角相机镜头)、极线变换1020(例如,平行化相机的光轴)和/或重新投影变换1025(例如,重新定位光轴以便基本上在用户瞳孔的前方或者与用户瞳孔成直线)。视差校正1010包括执行深度计算以确定环境的深度,并且然后将图像重新投影到确定的位置或者具有确定的透视图。如在本文中所使用的,短语“视差校正”和“图像合成”可以彼此互换,并且可以包括执行立体直通视差校正和/或图像重新投影视差校正。
重新投影基于重叠图像1000相对于周围环境的原始透视图1005。基于原始透视图1005和所生成的深度图,实施例能够通过重新投影由叠加图像体现的透视图以与新透视图一致来校正视差,如由视差校正图像1030和新透视图1035所示的。在一些实施例中,新透视图1035是来自图3的用户的瞳孔330和335之一的透视图。
一些实施例对叠加图像执行三维(3D)几何变换,以与用户瞳孔330和335的透视图相关的方式来变换叠加图像的透视图。另外,3D几何变换依赖于深度计算,其中,HMD环境中的物体被映射出来,以确定其深度以及透视图。基于这些深度计算和透视图,实施例能够以在视差校正图像1030(即,一种类型的直通图像)中保持物体深度的外观的方式对所述叠加图像进行三维重新投影或三维翘曲,其中,所保持的物体深度基本上匹配、对应或可视化真实世界中物体的实际深度。因此,视差校正1010的程度或量至少部分地依赖于来自图3的偏移340和345的程度或量。
通过执行视差校正1010,实施例有效地创建具有在用户瞳孔330和335前方的位置的“虚拟”相机。作为额外的澄清,考虑来自图3的相机305的位置,其当前在瞳孔335的上方和左侧。通过执行视差校正,实施例编程地变换由相机305生成的图像,或者更确切地变换那些图像的透视图,因此透视图看起来好像相机305实际上直接定位在瞳孔335的前方。换言之,即使相机305实际上不移动,实施例也能够变换由相机305生成的图像,使得那些图像具有好像相机305位于瞳孔335前方的外观。
在一些情况下,视差校正1010依赖于全深度图来执行重新投影,而在其他情况下,视差校正1010依赖于平面深度图来执行重新投影。图11图示了完整深度图的示例性用法,而图12图示了平面深度图的示例性用法。
首先转到图11,该图图示了涉及全深度图重新投影1100的场景。首先,示出表示迄今为止所讨论的第三图像的第三图像1105。与其他第三图像类似,第三图像1105由包括任意数量的像素1115的圆1110(当然,可以使用任意其他形状)来限定。特别是一个像素被强调并且由中心像素1120(即,位于圆1110的中心处的像素)示出。
当使用叠加图像上的全深度图执行重新投影时,将单个深度归因于由圆1110限定的所有像素是有益的。不这样做可能导致与第三图像内容相对应的视差校正区域的歪斜或翘曲。例如,替代产生像素的圆,如在图10的视差校正图像1030中强调的圆所示的,不对第三图像1105中的像素使用单个公共深度可能导致椭圆形或其他偏斜效果。因此,实施例确定与中心像素1120的深度相对应的深度1125,并且然后将该单个深度1125归因于1130给由圆1110限定的所有像素,如由均匀深度1135图示所示的。
为了澄清,对由圆1110限定的所有像素给予相同的深度值(即,中心像素1120的深度)。所得到的深度图将表现为全深度图1140,其中,颜色梯度反映不同的深度值,并且其中,对应于由圆1110限定的那些像素的像素都被赋予相同的阴影,使得其都具有相同的深度值。
然后,使用全深度图1140来执行在前文所讨论的视差校正操作中所涉及的重新投影。通过对叠加图像中所包括的第三图像内容的所有像素赋予相同的深度,实施例防止由于执行视差校正而在该图像内容上发生偏斜。
尽管大多数实施例选择对应于中心像素1120的深度,但是一些实施例可被配置为选择由圆1110限定的不同像素的深度。这样,使用中心像素1120的深度仅仅是一个示例性实现方式,但是其不是仅有的实现方式。一些实施例选择位于中心的多个像素,并且然后使用这些像素的平均深度。一些实施例选择偏离中心的像素或者像素的深度组。
替代使用全深度图1140来执行重新投影,一些实施例使用固定深度图来执行固定深度图重新投影1200,如在图12中所示的。具体而言,再次示出了第三图像1205,第三图像1205表示迄今为止所讨论的其他第三图像。在此,实施例再次从第三图像1205选择特定像素的深度。在这种情况下,选择中心像素1210,并且识别该中心像素1210的深度1215(或者可能是某个其他像素或者像素的深度组)。
基于深度1215,实施例然后将该单个深度归因于深度图的所有像素,以生成固定深度图1220。为了澄清,在固定深度图1220中的所有深度像素被分配或归因于相同的深度,该深度是中心像素1210(或者一些其他选择的像素)的深度1215。跨整个固定深度图1220的公共阴影象征深度图中的均匀深度值或平面深度值。
一旦生成固定深度图1220,深度图1220然后可以被用于使用固定深度图1220对叠加图像执行重新投影(例如,平面重新投影)。就此而言,可以使用全深度图1140或固定深度图1220来执行重新投影叠加图像(例如,图10中的叠加图像1000)以生成视差校正图像1030。换言之,图1B的方法动作135和140中所提到的第一视差校正和/或第二视差校正可以包括基于固定深度平面或替代地基于全深度图重新投影内容。
因此,实施例能够对第一(或第二)叠加图像执行图1B的动作135和140中所提到的第一(或第二)视差校正。这样的视差校正可以涉及多个不同的操作。例如,一个操作包括识别被包含在第三图像的至少一部分(或者潜在的全部)内的像素(例如,实施例可以识别由图11的圆1110限定的所有像素)。为了澄清,在一些情况下,第三图像的部分可以是圆,使得所识别出的像素形成该圆。在其他情况下,所述部分可以形成不同的形状,诸如任意多边形。
另一操作包括选择与所识别出的像素中的至少一个像素(例如,图11的中心像素1120)对应的深度。亦即,所选择的深度可以是前文所提到的圆的中心像素的深度。另一操作包括将深度(例如,图11的属性1130)归因于所有识别的像素,如由一致深度1135所示的。当执行第一或第二视差校正时,另一操作涉及使用所归因的深度来重新投影所识别出的像素。
因此,所公开的实施例能够对准来自不同相机的图像,并且然后对对准的图像执行视差校正,以便生成具有新透视图的直通图像。这样的操作通过使得能够显示新的和动态的图像内容而显著地增强了图像的质量。
示例性计算机/计算机系统
现在将注意力转向图13,图13图示了示例性计算机系统1300,其可以包括和/或被用于执行在本文中所描述的操作中的任意操作。计算机系统1300可以采用各种不同的形式。例如,计算机系统1300可以体现为平板计算机1300A、台式或膝上型计算机1300B、可穿戴设备1300C(例如,任何公开的HMD)、移动设备、独立设备或如由省略号1300D表示的任何其他实施例。计算机系统1300也可以是分布式系统,其包括与计算机系统1300通信的一个或多个连接的计算组件/设备。
在其最基本的配置中,计算机系统1300包括各种不同的组件。图13图示了计算机系统1300包括一个或多个处理器1305(也被称为“硬件处理单元”)、扫描传感器1310(例如,图2的扫描传感器205)、图像处理引擎1315和存储设备1320。
关于处理器1305,应当理解,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件(例如,处理器1305)执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件/处理器包括现场可编程门阵列(“FPGA”)、特定于程序或特定于应用的集成电路(“ASIC”)、特定于程序的标准产品(“ASSP”)、片上系统(“SOC”)、复杂可编程逻辑器件(“CPLD”)、中央处理单元(“CPU”)、图形处理单元(“GPU”),或者任何其他类型的可编程硬件。
计算机系统1300和扫描传感器1310可以使用任何类型的深度检测。示例包括但不限于立体深度检测(主动照明(例如,使用点照明器)、结构光照明(例如,1个实际相机、1个虚拟相机和1个点照明器)和被动(即无照明))、飞行时间深度检测(在激光器和相机之间有基线,其中相机的视场没有完全叠加激光器的照明区域)、测距仪深度检测或者任何其他类型的距离或深度检测。
图像处理引擎1315可以被配置为执行结合图1的方法100讨论的任何方法动作。在一些情况下,图像处理引擎1315包括ML算法。换言之,ML也可以被所公开的实施例利用,如前所述。ML可以实现为特定处理单元(例如,如前所述的专用处理单元),其被配置为执行计算机系统1300的一个或多个专门操作。如在本文中所使用的,术语“可执行模块”、“可执行组件”、“组件”、“模块”、“模型”或“引擎”可以指代硬件处理单元或可以在计算机系统1300上执行的软件对象、例程或方法。本文描述的不同组件、模块、引擎、模型和服务可以实现为在计算机系统1300上执行的对象或处理器(例如,作为单独的线程)。ML模型和/或处理器1305可以被配置为执行一个或多个所公开的方法动作或其他功能。
存储设备1320可以是物理系统存储器,其可以是易失性、非易失性或两者的某种组合。术语“存储器”在此也可用于指代诸如物理存储介质的非易失性大容量存储设备。如果计算机系统1300是分布式的,则处理、存储器和/或存储能力也可以分布式的。
存储设备1320被示为包括可执行指令(即,代码1325)。可执行指令表示可由计算机系统1300的处理器1305(或者甚至图像处理引擎1315)执行以执行诸如在各种方法中描述的那些所公开的操作的指令。
所公开的实施例可以包括或利用专用或通用计算机,其包括计算机硬件,例如,一个或多个处理器(例如处理器1305)和系统存储器(例如存储设备1320),如下文更详细讨论的。实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储计算机可执行指令的计算机可读介质是“物理计算机存储介质”或“硬件存储设备”。携带计算机可执行指令的计算机可读介质是“传输介质”。因此,通过示例而非限制,当前实施例可以包括至少两种明显不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质(又名“硬件存储设备”)是计算机可读的硬件存储设备,例如RAM、ROM、EEPROM、CD-ROM、基于RAM、闪存、相变存储器(“PCM”)的固态驱动器(“SSD”),或其他类型的存储器,或其他光盘存储、磁盘存储或其他磁存储设备,或可用于以计算机可执行指令、数据或数据结构的形式存储所需程序代码单元并可由通用或专用计算机访问的任何其他介质。
计算机系统1300还可以经由网络1330连接(经由有线或无线连接)到外部传感器(例如,一个或多个远程相机)或设备。例如,计算机系统1300可以与任意数量的设备或云服务通信,以获得或处理数据。在一些情况下,网络1330自身可以是云网络。此外,计算机系统1300还可以通过一个或多个有线或无线网络1330连接到远程/单独的计算机系统,这些计算机系统被配置为执行关于计算机系统1300描述的任何处理。
类似于网络1330的“网络”被定义为能够在计算机系统、模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线或者硬连线和无线的组合)传输或提供给计算机时,计算机正确地将连接视为传输介质。计算机系统1300将包括用于与网络1330通信的一个或多个通信信道。传输介质包括可用于以计算机可执行指令的形式或以数据结构的形式传送数据或所需程序代码单元的网络。此外,这些计算机可执行指令可以由通用或专用计算机访问。以上的组合也应包含在计算机可读介质的范围内。
在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码单元可以自动地从传输介质转移到计算机存储介质(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终转移到计算机系统RAM和/或计算机系统中易失性较低的计算机存储介质。因此,应当理解,计算机存储介质可以包含在还(或者甚至主要)利用传输介质的计算机系统组件中。
计算机可执行(或者计算机可解释)指令包括例如,使通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令。计算机可执行指令可以是例如,二进制文件,诸如汇编语言的中间格式指令,或者甚至是源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但应当理解,在所附权利要求中定义的主题不一定限于上述描述的特征或动作。相反,所描述的特征和动作被公开为实施权利要求的示例性形式。
本领域技术人员将认识到,可以在具有许多类型的计算机系统配置的网络计算环境中实践这些实施例,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等。这些实施例还可以在分布式系统环境中实践,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统各自执行任务(例如云计算、云服务等)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本发明可以在不背离其精神或特征的情况下以其他特定形式实施。所描述的实施例在所有方面仅被认为是说明性的而不是限制性的。因此,本发明的范围由所附的权利要求书而不是由前文的描述来指示。在权利要求的等同意义和范围内的所有变更都应包括在其范围内。

Claims (15)

1.一种用于使由集成立体相机对所生成的图像与由分离相机所生成的图像对准并且稳定的方法,所述集成立体相机对包括被物理安装到计算机系统的第一相机和第二相机,所述分离相机被从所述计算机系统物理卸载,所述方法包括:
使用所述第一相机生成第一图像,使用所述第二相机生成第二图像,以及使用所述分离相机生成第三图像;
计算所述第三图像相对于所述第一图像的第一旋转基矩阵;
计算所述第三图像相对于所述第二图像的第二旋转基矩阵;
使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准,以及使用所述第二旋转基矩阵将所述第三图像与所述第二图像对准;
通过基于所述对准将所述第三图像叠加到所述第一图像上来生成第一叠加图像;
通过基于所述对准将所述第三图像叠加到所述第二图像上来生成第二叠加图像;
通过将所述第一叠加图像从第一透视图修改为第一新透视图,对所述第一叠加图像执行第一视差校正;
通过将所述第二叠加图像从第二透视图修改为第二新透视图,对所述第二叠加图像执行第二视差校正;以及
显示所述第一叠加图像和所述第二叠加图像。
2.根据权利要求1所述的方法,其中,所述第一视差校正和/或所述第二视差校正包括基于固定深度平面来重新投影内容。
3.根据权利要求1所述的方法,其中,所述第一视差校正和/或所述第二视差校正包括基于全深度图来重新投影内容。
4.根据权利要求1所述的方法,其中,所述第一相机和所述第二相机两者都是热成像相机。
5.根据权利要求1所述的方法,其中,所述计算机系统是由用户佩戴的头戴式设备(HMD),其中,所述第一新透视图与所述用户的左眼瞳孔或右眼瞳孔中的一个相对应,并且其中,所述第二新透视图与所述用户的所述左眼瞳孔或所述右眼瞳孔中的另一个相对应。
6.根据权利要求1所述的方法,其中,计算所述第三图像相对于所述第一图像的所述第一旋转基矩阵是基于不正确但可接受的假设来执行的,所述假设是所述第三相机和所述第一相机彼此共同定位。
7.根据权利要求1所述的方法,其中,计算所述第三图像相对于所述第一图像的所述第一旋转基矩阵是基于在所述第一图像与所述第三图像之间执行的特征匹配过程的结果来执行的。
8.根据权利要求1所述的方法,其中,对所述第一叠加图像执行所述第一视差校正是通过以下操作来执行的:
识别被包含在所述第三图像内的像素;
选择与所识别出的像素中的至少一个像素相对应的深度;
将所述深度归因于所识别出的像素中的所有像素;以及
当执行所述第一视差校正时,使用所归因的深度来重新投影所识别出的像素。
9.根据权利要求8所述的方法,其中,所述第三图像是由圆来限定的,使得所识别出的像素形成所述圆。
10.根据权利要求9所述的方法,其中,所选择的深度是所述圆的中心像素的深度。
11.一种用于使由集成立体相机对所生成的图像与由分离相机所生成的图像对准并且稳定的方法,所述集成立体相机对包括被物理安装到计算机系统的第一相机和第二相机,所述分离相机被从所述计算机系统物理卸载,所述方法包括:
使用所述第一相机生成第一图像,使用所述第二相机生成第二图像,以及使用所述分离相机生成第三图像;
计算所述第三图像相对于所述第一图像的第一旋转基矩阵;
计算所述第三图像相对于所述第二图像的第二旋转基矩阵;
使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准,以及使用所述第二旋转基矩阵将所述第三图像与所述第二图像对准;
通过基于所述对准将所述第三图像的至少第一部分叠加到所述第一图像上来生成第一叠加图像;
通过基于所述对准将所述第三图像的至少第二部分叠加到所述第二图像上来生成第二叠加图像;以及
显示所述第一叠加图像和所述第二叠加图像。
12.根据权利要求11所述的方法,其中,使用所述第一旋转基矩阵将所述第三图像与所述第一图像对准是使用来自所述第一相机的惯性测量单元(IMU)数据和来自所述第三相机的IMU数据来执行的。
13.根据权利要求11所述的方法,其中,所述分离相机与所述第一相机或所述第二相机分隔至多1.5米的距离。
14.根据权利要求11所述的方法,其中,所述第三相机是热成像相机。
15.根据权利要求11所述的方法,其中,所述第三图像的分辨率与所述第一图像和/或所述第二图像的分辨率相同。
CN202180049030.XA 2020-07-14 2021-04-26 具有远程相机对准的双相机hmd Pending CN115836324A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/928,162 US11212503B1 (en) 2020-07-14 2020-07-14 Dual camera HMD with remote camera alignment
US16/928,162 2020-07-14
PCT/US2021/029040 WO2022015384A1 (en) 2020-07-14 2021-04-26 Dual camera hmd with remote camera alignment

Publications (1)

Publication Number Publication Date
CN115836324A true CN115836324A (zh) 2023-03-21

Family

ID=75919429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180049030.XA Pending CN115836324A (zh) 2020-07-14 2021-04-26 具有远程相机对准的双相机hmd

Country Status (4)

Country Link
US (1) US11212503B1 (zh)
EP (1) EP4182888A1 (zh)
CN (1) CN115836324A (zh)
WO (1) WO2022015384A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230274384A1 (en) * 2022-02-28 2023-08-31 Microsoft Technology Licensing, Llc Image alignment using corner and line features
TW202336689A (zh) * 2022-03-11 2023-09-16 緯創資通股份有限公司 虛擬視窗配置裝置、虛擬視窗配置方法及虛擬視窗配置系統

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7084904B2 (en) * 2002-09-30 2006-08-01 Microsoft Corporation Foveated wide-angle imaging system and method for capturing and viewing wide-angle images in real time
US9091755B2 (en) * 2009-01-19 2015-07-28 Microsoft Technology Licensing, Llc Three dimensional image capture system for imaging building facades using a digital camera, near-infrared camera, and laser range finder
JP2010278878A (ja) * 2009-05-29 2010-12-09 Fujifilm Corp 立体画像表示装置及びその表示画像切替方法
US8576276B2 (en) * 2010-11-18 2013-11-05 Microsoft Corporation Head-mounted display device which provides surround video
EP3869797B1 (en) * 2012-08-21 2023-07-19 Adeia Imaging LLC Method for depth detection in images captured using array cameras
US20150009359A1 (en) * 2013-03-19 2015-01-08 Groopic Inc. Method and apparatus for collaborative digital imaging
GB2523555B (en) * 2014-02-26 2020-03-25 Sony Interactive Entertainment Europe Ltd Image encoding and display
US10154239B2 (en) 2014-12-30 2018-12-11 Onpoint Medical, Inc. Image-guided surgery with surface reconstruction and augmented reality visualization
JP6582419B2 (ja) * 2015-01-27 2019-10-02 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置の制御方法、および、コンピュータープログラム
WO2017139871A1 (en) * 2016-02-18 2017-08-24 Vrvana Inc. Head-mounted display for virtual and mixed reality with inside-out positional, user body and environment tracking
CN106371220A (zh) 2016-11-17 2017-02-01 上海翊视皓瞳信息科技有限公司 一种用于立体成像及视觉增强的智能眼镜
JP2018137505A (ja) * 2017-02-20 2018-08-30 セイコーエプソン株式会社 表示装置およびその制御方法
CN107274400B (zh) * 2017-06-21 2021-02-12 歌尔光学科技有限公司 空间定位装置、定位处理方法及装置、虚拟现实系统
WO2019048904A1 (en) * 2017-09-06 2019-03-14 Corephotonics Ltd. STEREOSCOPIC DEPTH CARTOGRAPHY AND COMBINED PHASE DETECTION IN A DOUBLE-OPENING CAMERA
US10701334B2 (en) * 2017-10-11 2020-06-30 Adobe Inc. Virtual reality parallax correction
JP7383371B2 (ja) * 2018-02-28 2023-11-20 キヤノン株式会社 画像処理装置
US10614579B1 (en) * 2018-10-10 2020-04-07 The Boeing Company Three dimensional model generation using heterogeneous 2D and 3D sensor fusion
US10805534B2 (en) * 2018-11-01 2020-10-13 Korea Advanced Institute Of Science And Technology Image processing apparatus and method using video signal of planar coordinate system and spherical coordinate system
US10866425B1 (en) * 2019-12-16 2020-12-15 Microsoft Technology Licensing, Llc Image reprojection based on intra-pupil distance

Also Published As

Publication number Publication date
WO2022015384A1 (en) 2022-01-20
EP4182888A1 (en) 2023-05-24
US20220021860A1 (en) 2022-01-20
US11212503B1 (en) 2021-12-28

Similar Documents

Publication Publication Date Title
US11475586B2 (en) Using 6DOF pose information to align images from separated cameras
US11127148B1 (en) Parallax correction for partially overlapping stereo depth images
US11568555B2 (en) Dense depth computations aided by sparse feature matching
US11012677B1 (en) Systems and methods for correcting rolling shutter artifacts
US11915441B2 (en) Systems and methods for low compute depth map generation
US11037359B1 (en) Real-time rendering stylized passthrough images
CN115836324A (zh) 具有远程相机对准的双相机hmd
CN115702439A (zh) 用于分离相机的双系统光学对准
US11430086B2 (en) Upsampling low temporal resolution depth maps
US20230245332A1 (en) Systems and methods for updating continuous image alignment of separate cameras
US11516452B2 (en) Systems and methods for temporal corrections for parallax reprojection
US11450014B2 (en) Systems and methods for continuous image alignment of separate cameras

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