CN116194866A - 使用6dof姿态信息对准来自分离相机的图像 - Google Patents

使用6dof姿态信息对准来自分离相机的图像 Download PDF

Info

Publication number
CN116194866A
CN116194866A CN202180060798.7A CN202180060798A CN116194866A CN 116194866 A CN116194866 A CN 116194866A CN 202180060798 A CN202180060798 A CN 202180060798A CN 116194866 A CN116194866 A CN 116194866A
Authority
CN
China
Prior art keywords
camera
image
hmd
integrated
separation
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
CN202180060798.7A
Other languages
English (en)
Inventor
R·K·普赖斯
M·布莱尔
C·D·埃德蒙兹
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 CN116194866A publication Critical patent/CN116194866A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0092Image segmentation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Studio Devices (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)

Abstract

公开了用于使由被物理安装到HMD的集成相机生成的图像与由从HMD物理卸载的分离相机生成的图像对准的技术。生成3D特征图并且与分离相机共享。集成相机和分离相机两者都使用3D特征图来重新定位其自己并且确定其各自的6DOF姿态。HMD接收分离相机的环境的图像和分离相机的6DOF姿态。访问环境的深度图。通过重新投影分离相机的图像的视角以与集成相机的视角对准,并且通过将重新投影的分离相机的图像叠加到集成相机的图像上,来生成叠加图像。

Description

使用6DOF姿态信息对准来自分离相机的图像
背景技术
混合现实(MR)系统,包括虚拟现实(VR)和增强现实(AR)系统,因其能够为用户创造真正独有的体验而受到广泛关注。可供参考的是,常规的VR系统通过将其用户的视野仅限制在虚拟环境中来创造完全沉浸式的体验。这常常是通过使用头戴式设备(HMD)来实现的,其完全阻止了现实世界的任何视野。因此,用户完全沉浸在虚拟环境内。相比之下,常规的AR系统通过可视化地呈现被放置在现实世界中或者与现实世界交互的虚拟对象来创建增强现实体验。
如在本文中所使用的,VR和AR系统被可互换地描述和引用。除非另有说明,否则在本文中的描述同样适用于所有类型的MR系统,其(如上文详细描述的)包括AR系统、VR现实系统和/或能够显示虚拟内容的任何其他类似系统。
MR系统也可以采用不同类型的相机以便向用户显示内容,诸如以直通图像的形式。直通图像或视图能够辅助用户在过渡到MR环境中和/或在MR环境内导航时避免迷失方向和/或安全危险。MR系统能够以多种方式呈现相机捕获的视图。然而,使用由面向世界的相机捕获的图像来提供现实世界环境的视图的过程产生了许多挑战。
当试图对准来自多个相机的图像内容时,会出现这些挑战中的一些挑战。通常,该对准过程需要详细的时间戳信息以便执行对准过程。然而,有时,时间戳数据是不可用的,因为不同的相机可能在不同的时域中操作,使得其具有时间偏移。此外,有时时间戳数据根本不可用,因为相机可能彼此远程地操作,并且时间戳数据未被传输。另一问题是由于具有左和右HMD相机(即,双相机系统)但是仅有单个分离相机而发生的。除了在分离相机的图像和右相机的图像之间对准图像内容之外,在分离相机的图像与左相机的图像之间对准图像内容在计算效率和图像对准方面引起许多问题。换言之,对准图像内容提供了实质性的益处,尤其是在全息图的放置和生成方面,因此这些问题给技术领域带来了严重的障碍。因此,在该领域中存在改进图像如何彼此对准的实质性需求。
在本文中所要求保护的主题并不限于解决任何缺点或者仅在诸如上文所描述的那些的环境中操作的实施例。相反,提供该背景仅仅是为了例示说明一个示例性技术区域,在其中可以实践在本文中所描述的一些实施例。
发明内容
在本文中所公开的实施例涉及用于使由被物理安装到头戴式设备(HMD)上的集成相机生成的图像与由从HMD物理卸载的分离相机生成的图像对准和稳定的系统、设备(例如,硬件存储设备、可穿戴设备等)和方法。
在一些实施例中,生成HMD和分离相机两者都在其中操作的环境的三维(3D)特征图。然后,将3D特征图与分离相机共享。3D特征图被用于基于由集成相机生成的第一图像重新定位集成相机的位置框架。因此,确定集成相机的6自由度(6DOF)姿态。此外,分离相机使用3D特征图以基于由分离相机生成的第二图像来重新定位分离相机的位置框架。因此,也确定了分离相机的6DOF姿态。然后,实施例从分离相机接收(i)环境的第二图像和(ii)分离相机的6DOF姿态。访问环境的深度图。另外,通过重新投影第二图像的视角(perspective)以与第一图像的视角对准或匹配,并且然后通过将重新投影的第二图像的至少一部分叠加到第一图像上,来生成叠加图像。注意,(i)集成相机的6DOF姿态、(ii)分离相机的6DOF姿态、以及(iii)深度图被用于执行重新投影处理。
可选地,一些实施例额外地对叠加图像执行视差校正以修改叠加图像的视角以对应于新视角。在一些情况下,新视角是佩戴HMD的用户的瞳孔的视角。额外选项是显示叠加图像以供用户查看。
提供本概要是为了以简化的形式引入概念的选择,这些概念将在下文的详细描述中进一步描述。本概要不是为了标识所要求保护的主题的关键特征或基本特征,也不是为了用于辅助确定所要求保护的主题的范围。
额外特征和优点将在下文的描述中阐述,并且部分地从描述中将是显而易见的,或者可以通过在本文中的教导的实践来学习。本发明的特征和优点可以通过所附的权利要求中特别指出的仪器和组合来实现和获得。本发明的特征将从下文的描述和所附的权利要求中变得更加明显,或者可以通过下文所描述的本发明的实践来了解。
附图说明
为了描述可以获得上述和其他优点和特征的方式,将通过参考附图中示出的具体实施例来呈现对上述简要描述的主题的更具体的描述。可以理解,这些附图仅描绘了典型的实施例,并且因此不被认为是范围的限制,将通过使用附图以额外的特异性和细节来描述和解释实施例,其中:
图1图示了涉及集成相机和分离相机的示例性场景。
图2图示了示例性头戴式设备(HMD)。
图3图示了HMD的示例性实现方式或配置。
图4A和图4B图示了用于使用来自分离相机和集成相机这两者的6DOF姿态信息来对准来自分离相机的图像和来自集成相机的图像的示例性方法的流程图。
图5图示了在其中集成相机正在生成环境的图像的示例性场景。
图6图示了可以生成的结果3D特征图,其中,3D特征图标识位于环境中的特征点。
图7图示了HMD如何能够与分离相机共享或传输3D特征图。
图8图示了在其中集成相机和分离相机正在生成环境的图像的示例性场景。
图9图示了可以由集成相机和分离相机执行的重新定位过程,以便使得这两个相机能够在HMD的物理空间中使用相同的坐标系。
图10图示了分离相机如何能够将其6DOF姿态信息以及其生成的图像传输到HMD。
图11图示了HMD如何维护关于集成相机的图像和6DOF姿态的信息;关于分离相机的图像和6DOF姿态的信息;以及关于环境的深度图的信息。HMD也能够基于从与集成相机和分离相机相关联的IMU获得的惯性测量单元(IMU)数据来更新6DOF姿态信息。
图12图示了如何基于不同的源信息来生成深度图。
图13图示了可以执行的示例性重新投影操作,以将分离相机的图像的视角重新投影到与集成相机的图像的视角相匹配的新视角,以便使得该重新投影的图像随后能够被叠加到集成相机的图像上。
图14图示了可以被用于执行重新投影操作的输入。
图15图示了可以被执行以将重新投影图像(即,分离相机的图像)叠加到集成相机的图像上以生成叠加图像的示例性叠加操作。
图16图示了如何在叠加图像上执行视差校正操作以校正视差。
图17图示了能够执行所公开的操作中的任意操作的示例性计算机系统。
具体实施方式
在本文中所公开的实施例涉及用于使由被物理安装到头戴式设备(HMD)的集成相机生成的图像与由从HMD物理卸载的分离相机生成的图像对准和稳定的系统、设备(例如,硬件存储设备、可穿戴设备等)和方法。
在一些实施例中,生成环境的3D特征图,并且然后与分离相机共享。3D特征图被用于重新定位集成相机,使得确定集成相机的6DOF姿态。分离相机也基于3D特征图来重新定位自身,使得其6DOF姿态也被确定。然后,实施例接收(i)分离相机的环境的图像和(ii)分离相机的6DOF姿态。访问环境的深度图。通过重新投影分离相机的图像的视角以与集成相机的图像的视角对准,并且通过将重新投影的分离相机的图像的至少一部分叠加到集成相机的图像上,来生成叠加图像。注意,(i)集成相机的6DOF姿态、(ii)分离相机的6DOF姿态、以及(iii)深度图被用于执行重新投影处理。可选地,一些实施例额外地对所述叠加图像执行视差校正,并且然后显示所述叠加图像。
技术益处、改进和实际应用的示例
以下部分概述了由所公开的实施例提供的一些示例性改进和实际应用。然而,将意识到,这些仅仅是示例,并且实施例并不局限于仅这些改进。
所公开的实施例为技术领域提供了实质性的改进、益处和实际应用。通过示例,所公开的实施例改进了如何生成和显示图像,并且改进了如何对准图像内容。
换言之,实施例解决了将来自远程或分离相机图像的图像内容与来自集成相机图像的图像内容对准以创建单幅复合或叠加图像的问题。注意,所述叠加图像在不需要使用时间戳数据的情况下生成,而是通过使用3D特征图确定这两个相机系统的6DOF姿态来生成。通过具有来自远程相机系统和HMD两者的6DOF姿态,并且在理解场景几何形状的情况下,所公开的实施例能够提供在远程相机系统与HMD之间的精确图像叠加,同时考虑到物理分离和不同的取向。一旦确定了姿态,实施例就能够以使其视角与集成相机的图像的视角对准的方式有益地重新投影分离相机的图像。在发生重新投影之后,分离相机的图像然后能够被叠加到集成相机的图像上以形成叠加图像。就此而言,所公开的实施例解决了当由单独相机生成图像时,以及当尽管仅生成单幅分离相机图像但是期望左和右直通图像两者时,与图像对准有关的问题。通过执行所公开的操作,实施例能够显著地改善图像质量和图像显示。
集成相机和分离相机
图1示出了在其中HMD 105正在操作的示例性环境100。如在图2和图3中所图示的,HMD 105可以以各种不同的方式来配置。
通过示例,图1的HMD 105可以被配置为图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传感系统进行评估,包括飞行时间、立体、主动立体或结构光系统。此外,可以利用头部跟踪相机执行对周围环境的视觉图的评估,并且这些头部跟踪相机通常具有立体叠加区域以评估3D几何形状并且生成环境图。同样值得注意的是,远程相机系统常常具有相似的“头部跟踪相机”以用于识别其在3D空间中的位置。
如在本文中所使用的,“深度图”详细描述了相对于环境中的物体的位置关系和深度。因此,能够确定相对于彼此的物体的位置布置、定位、几何结构、轮廓和深度。根据所述深度图,能够生成环境的3D表示。
相关地,根据所述直通可视化,用户将能够感知当前在他/她的环境中的内容,而不必移除或重新定位HMD 200。此外,如后面将更详细描述的,所公开的直通可视化也将增强用户查看他/她的环境内的物体的能力(例如,通过显示人眼可能无法检测到的额外环境条件或图像数据)。
应当注意,尽管本公开的大部分集中于生成“一幅”直通(或者叠加)图像,但是实施例可以为用户的眼睛中的每只眼睛生成单独的直通图像。换言之,两幅直通图像通常彼此同时地生成。因此,尽管经常提到生成似乎是单幅直通图像,但是实施例实际上能够同时生成多幅直通图像。
在一些实施例中,(一个或多个)扫描传感器205包括(一个或多个)可见光相机210、(一个或多个)微光相机215、(一个或多个)热成像相机220、潜在地(尽管不一定,如在图2中的虚线框所示的)(一个或多个)紫外线(UV)相机225以及潜在地(尽管不一定)点照明器(未示出)。省略号230图示了任何其他类型的相机或相机系统(例如,深度相机、飞行时间相机、虚拟相机、深度激光器等)如何可以被包括在(一个或多个)扫描传感器205中。
作为示例,被构造为检测中红外波长的相机可以被包含在(一个或多个)扫描传感器205内。作为另一示例,从实际相机重新投影的任意数量的虚拟相机可以被包含在(一个或多个)扫描传感器205中,并且可以被用于生成立体图像对。以这种方式且如后面将更详细讨论的那样,(一个或多个)扫描传感器205可以被用于生成立体图像对。在一些情况下,所述立体图像对可以作为执行以下操作中的任意一项或多项操作的结果来获得或生成:经由使用两个相机和一个点照明器的活动立体图像生成;通过使用两个相机的被动立体图像生成;经由使用一个实际相机、一个虚拟相机和一个点照明器使用结构光的图像生成;或者使用飞行时间(TOF)传感器的图像生成,其中,基线存在于深度激光器与对应的相机之间,并且其中,对应相机的视场(FOV)相对于深度激光器的照明场偏移。
一般而言,人眼能够感知在所谓“可见光谱”内的光,所述“可见光谱”包括波长从大约380纳米(nm)到大约740nm的光(或者,电磁辐射)。如在本文中所使用的,(一个或多个)可见光相机210包括两个或更多个黑白相机,其被构造为捕获可见光谱内的光子。通常,这些黑白相机是互补金属氧化物半导体(CMOS)型相机,但是也可以使用其他相机类型(例如,电荷耦合器件,CCD)。这些黑白相机也能够扩展为NIR范围(高达1100nm)。
所述黑白相机通常是立体相机,这意味着两个或更多个黑白相机的视场至少部分地彼此叠加。利用该叠加区域,由(一个或多个)可见光相机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的视角是有益的。视差校正包括任意数量的校正,这将在后面更详细地讨论。
返回图1,HMD 105被示为包括集成立体相机对110,集成立体相机对110包括第一相机115和第二相机120,这两个相机表示在图2和图3中所提到的相机。另外,第一相机115和第二相机120两者都是HMD 105的集成部分,因此第一相机115可以被认为是集成相机,并且第二相机120也可以被认为是集成相机。
图1也示出了分离相机125。注意,分离相机125从HMD 105物理地卸载,使得其能够独立于HMD 105的任何运动而移动。此外,分离相机125与HMD 105分开距离130。该距离130可以是任意距离,但是通常小于1.5米(即,距离130至多为1.5米)。
在该示例中,在环境100中的物体相对远离HMD 105(如由距离135所示)的场景中使用各种不同的相机。后面将更详细地讨论距离135与距离130之间的关系。然而,通常距离135为至少3米。
在任意情况下,第一相机115从第一视角140捕获环境100的图像。类似地,第二相机120从第二视角145捕获环境100的图像,并且分离相机125从第三视角150捕获环境100的图像。
在涉及使用集成相机和分离相机的情况下,能够将分离相机的图像叠加到集成相机的图像上以便生成叠加图像是有益的。为了在那两幅图像之间提供高度精确的叠加,有益的是首先确定各个摄像机的6自由度(6DOF)姿态,并且然后使用该姿态信息(连同深度信息)将分离相机的图像重新投影到与集成相机的视角相匹配或一致的视角。在视角彼此对准之后,能够将分离相机的图像(或者其至少一部分)叠加到集成相机的图像上,以生成叠加的直通图像。因此,本公开的剩余部分将呈现用于使用6DOF姿态信息在两个单独的相机之间对准和稳定图像内容的各种技术。
示例性方法
下文的讨论现在提到了可以执行的许多方法和方法动作。尽管可以以特定次序讨论所述方法动作或者在流程图中说明以特定次序发生,但是除非特别说明,或者因为一个动作依赖于在该动作被执行之前完成的另一动作而需要特定次序,否则不需要特定次序。
现在将注意力转向图4A和图4B,其图示了用于使由被物理安装到头戴式设备(HMD)的集成相机生成的图像与由从HMD物理卸载的分离相机生成的图像对准并且稳定的示例性方法400的流程图。例如,在方法400中的HMD可以是迄今为止所讨论的HMD中的任何HMD(例如,来自图1的HMD 105),使得方法400可以由HMD 105来执行。类似地,所谓的集成相机可以是来自图1的第一相机115或者第二相机120中的任一个,并且分离相机可以是分离相机125。
在一些情况下,所述集成相机是从包括可见光相机、微光相机或热成像相机的相机组中选择的一个相机,而分离相机也是从所述相机组中选择的一个相机。在一些情况下,分离相机和集成相机两者都具有相同的模态(例如,这两者都是热成像相机,或者这两者都是微光相机,等等)。
最初,方法400包括生成HMD和分离相机两者都在其中操作的环境的三维(3D)特征图的动作(动作405)。例如,图1的环境100可以是在动作405中提到的环境。为了生成在动作405中所提到的3D特征图,实施例首先执行环境的扫描,如在图5中所示的。
图5示出了环境500,其表示来自图1的环境100。图5也示出了HMD 505,HMD 505表示迄今为止所讨论的HMD,并且特别表示在动作405中所提到的HMD。在该示例性场景中,HMD505正在使用其相机(例如,可能是集成相机或者可能是被包括在HMD 505上的任何一个或多个其他相机)执行对环境500的扫描,如由扫描510、扫描515和扫描520所示的(例如,HMD505正在对准环境500的不同区域)。例如,HMD 505可以利用其头部跟踪相机以便执行所述扫描。
作为执行所述扫描的结果,HMD 505能够生成环境500的3D特征图,如在图6中所示的。具体而言,图6示出了3D特征图600,其表示在图4A的动作405中所提到的3D特征图。在图6中所图示的黑圈中的每个黑圈表示特征点,诸如特征点605、特征点610和特征点615。
通常,“特征点”(例如,特征点605-615中的任意特征点)指代在物体或图像内所包括的离散并且可识别的点。特征点的示例包括角、边缘或者与环境的其他区域形成鲜明对比的其他几何轮廓。在图6中所示的黑圈对应于墙相遇的拐角处或者形成桌子拐角的拐角处,其被认为是特征点。尽管在图6中仅图示了数个特征点,但是人们将意识到实施例能够识别图像中的任意数量的特征点。
识别特征点可以使用任意类型的图像分析、图像分割或者甚至机器学习(ML)来执行。任何类型的ML算法、模型或者机器学习都可以被用于识别特征点。如在本文中所使用的,对“机器学习”或ML模型的引用可以包括任意类型的机器学习算法或设备、神经网络(例如,(一个或多个)卷积神经网络、(一个或多个)多层神经网络、(一个或多个)递归神经网络、(一个或多个)深度神经网络、(一个或多个)动态神经网络等)、(一个或多个)决策树模型(例如,决策树、随机森林和梯度增强树)、(一个或多个)线性回归模型或(一个或多个)逻辑回归模型、(一个或多个)支持向量机(“SVM”)、(一个或多个)人工智能设备或者任何其他类型的智能计算系统。任意数量的训练数据可以被使用(并且可能稍后被细化)来训练机器学习算法以动态地执行所公开的操作。
在一般意义上,3D特征图600是随时间已经获取的融合稀疏深度图集合的汇编。这些深度图识别3D深度信息以及特征点。这些深度图的集合或融合构成了3D特征图600。
共享和使用3D特征图
返回到图4A,在已经生成3D特征图之后,方法400然后包括与分离相机共享3D特征图的动作(动作410)。图7是该方法动作410的表示。
具体而言,图7示出了HMD 700和分离相机705。HMD 700表示来自图1的HMD 105,并且分离相机705表示分离相机125。宽带无线电连接710存在于HMD 700与分离相机705之间,以使得信息能够在HMD 700与分离相机705之间快速地来回传输。宽带无线电连接710是具有高带宽可用性的高速连接。
如在方法动作410中所描述的,HMD 700能够使用宽带无线电连接710将表示图6的3D特征图600的3D特征图715传输到分离相机705。就此而言,分离相机705从HMD 700接收3D特征图715。换言之,可以通过经由宽带无线电连接710将3D特征图传输到分离相机来执行与分离相机共享3D特征图的过程。
在HMD与分离相机共享3D特征图之前、期间或者甚至可能之后,集成相机和分离相机两者都生成环境的图像,如在图8中所示的。具体而言,图8示出了环境800、集成相机805和分离相机810,所有这些分别表示在本文中所讨论的环境、集成相机和分离相机。
图8示出了集成相机805如何具有视场(FOV)815并且正在执行图像捕获以便生成第一图像820。类似地,分离相机810具有FOV 825,并且正在执行图像捕获以便生成第二图像830。相机的FOV一般指代相机能观察到的区域。在此,FOV 815的大小不同于FOV 825的大小。在一些情况下,FOV可能是相同的。在这种情况下,FOV 815大于FOV 825。在其他情况下,FOV 825可以大于FOV 815。尽管FOV的大小不同,但是所得到的图像可能具有相同的分辨率。这方面将在后面更详细地讨论。
在一些实现方式中,整体架构包括分离系统上的计算机视觉(CV)可见光(VL)相机。这些CV VL相机被用于识别场景中的标记,并且从HMD中重新定位共享图中的设备的位置。分离相机CV VL相机的FOV通常比在远程相机系统中所使用的主成像相机大得多。
这两个图像捕获过程可以彼此同时地执行,或者替代地没有时间相关性。在一些情况下,集成相机的图像捕获过程在时间上至少部分地与分离相机的图像捕获过程重叠,而在其他情况下可以不存在时间上的重叠。无论如何,集成相机805生成第一图像820,并且分离相机810生成第二图像830。值得注意的是,两个相机的FOV的至少一部分重叠,使得第二图像830的至少一部分与第一图像820的至少一部分重叠。
通过额外说明,在图8中所图示的虚线圆对应于分离相机的FOV 825,而圆角虚线矩形对应于集成相机的FOV 815。在该示例性场景中,集成相机的FOV 815完全消耗或者包封分离相机的FOV 825。
返回到图4A,方法400包括动作(动作415):基于由集成相机生成的第一图像(例如,图8的第一图像820)使用3D特征图来重新定位集成相机的位置框架,从而确定所述集成相机的6自由度(6自由度)姿态。动作415可以在动作410(即,共享3D特征图的动作)之前、期间或者甚至之后执行。
另外,方法400包括动作(动作420):基于由分离相机生成的第二图像(例如,图8的第二图像830),使得分离相机使用3D特征图来重新定位分离相机的位置框架,从而确定分离相机的6DOF姿态。方法动作420在动作410之后执行,但是动作420可以在动作415之前、期间或者甚至之后执行。换言之,在一些情况下,分离相机和集成相机可以(i)同时、(ii)在重叠的时段期间或者(iii)在不重叠的时段期间执行重新定位过程。图9更全面地阐明了重新定位的含义。
通常,重新定位指代确定相机相对于环境的6DOF姿态的过程,以便使得相机能够依赖于用于该环境的基线坐标系。在分离相机和集成相机的上下文中,分离相机能够从HMD接收3D特征图。基于分离相机的图像(即,来自图8的第二图像830),分离相机能够识别第二图像内的特征点,并且将那些特征点与在3D特征图中所识别的特征点相关联。一旦识别了那些相关性,则分离相机获得或者生成对场景或环境几何形状的理解。然后,分离相机确定或计算几何变换(例如,旋转变换)以确定分离相机相对于所检测到的特征点被物理定位的位置(例如,通过确定全6自由度(6DOF)姿态)。
换句话说,重新定位指代在3D特征图与图像之间匹配特征点的过程,并且然后计算几何平移或变换以基于3D特征图和当前图像来确定相机在物理上相对于环境的位置。执行重新定位使得分离相机和集成相机两者都能够依赖于相同的坐标系。图9示出了由集成相机和分离相机两者执行的重新定位过程。
具体而言,图9示出了3D特征图900和图像帧905。3D特征图900表示图6的3D特征图600和迄今为止所讨论的其他3D特征图。如果集成相机正在执行重新定位过程,则图像帧905对应于图8的第一图像820。另一方面,如果分离相机正在执行重新定位过程,则图像帧905对应于第二图像830。注意,集成相机和分离相机独立地执行其各自的重新定位过程,所述过程通常是相同的,并且其在图9中被示出。
3D特征图900和图像帧905作为输入被馈送到重新定位910操作中。重新定位910操作基于在图像帧905中检测到的特征点与被包含在3D特征图900中的特征点之间的对应来重新定位相机(例如,集成相机或分离相机)的位置框架915。同时定位和映射(SLAM)(例如,SLAM 920)技术也可以被用于在相同物理空间(即,HMD空间)内重新定位所述相机系统。SLAM技术使用来自相机的图像来制作图,作为针对物理系统的参考系。
历史上,SLAM技术已经被用于允许多个用户可视化场景中的全息内容。所公开的实施例可以被配置为使用SLAM来重新定位远程相机(即,分离相机)相对于安装有HMD的相机(即,集成相机)的位置。通过使用来自远程相机系统和安装有HMD的系统的SLAM,实施例能够确定两个相机系统的相对和绝对位置。因此,重新定位910操作的结果是相机(例如,分离相机和单独的集成相机)的6DOF姿态925。通过确定6DOF姿态925,实施例使得两个相机系统能够使用相同的坐标系930有效地操作。通过6DOF姿态925,意味着实施例能够确定相机在环境中的角位移(例如,偏航、俯仰、滚动)和平移位移(例如,向前/向后、向左/向右、以及向上/向下)。
因此,实施例能够使用3D特征图来将集成相机的位置框架重新定位到HMD物理空间中。通过识别第一图像中的特征点和3D特征图中的特征点来执行该重新定位过程。然后,实施例尝试在这两组特征点之间建立相关或匹配。一旦进行了足够数量的匹配,则实施例能够使用该信息来确定集成相机的6DOF姿态。
类似地,分离相机能够使用3D特征图将其位置框架重新定位到HMD空间中。该重新定位过程以相同的方式来执行。换言之,分离相机识别第二图像中的特征点和3D特征图中的特征点。然后,分离相机试图在这两组特征点之间建立关联或匹配。因为分离相机的FOV与集成相机的FOV至少部分地重叠,所以第二图像应当包括在与第一图像中所包括的至少数个相同的特征点。因此,分离相机能够识别特征点之间的匹配(其中的一些特征点与在第一图像中检测到的相同),由此使得其也能够确定其6DOF姿态。就此而言,分离相机能够至少部分地基于由集成相机用于确定其6DOF姿态的相同识别特征点中的一些特征点来确定其6DOF姿态。作为使得分离相机使用3D特征图来重新定位分离相机的位置框架(例如,进入到HMD空间中)的结果,分离相机随后将能够使用与集成相机相同的坐标系。
换句话说,分离相机和集成相机计算旋转基矩阵,所述旋转基矩阵详细说明在相应图像中体现的视角之间相对于环境(例如,在环境中检测到的特征点)和相对于彼此的角度和平移差。在这方面,所述旋转基矩阵提供关于平移或角度移动的映射,以将在图像中检测到的特征点映射到在3D特征图中所包括的特征点。映射使得系统能够确定需要哪些平移和角平移来从第一图像的视角转换到第二图像的视角,并且反之亦然。使得分离相机和集成相机使用3D特征图来重新定位其位置框架(例如,进入到HMD空间中)的过程可以包括执行同时定位和映射(SLAM)操作以确定在分离相机与集成相机之间的相对位置。
返回到图4A,方法400然后包括动作(动作425),其中,HMD接收(i)来自分离相机的环境的第二图像和(ii)来自分离相机的分离相机的6DOF姿态。因此,HMD现在包括详细说明分离相机的6DOF姿态、分离相机的图像(即,第二图像)、集成相机的6DOF姿态和集成相机的图像(即,第一图像)的数据。图10是方法动作425的例示说明。
图10示出了HMD 1000和分离相机1005,其中的每个都表示在本文中所提到的对应物。如在图7中所描述的,在HMD 1000与分离相机1005之间存在宽带无线电连接1010。在这种情况下,分离相机1005正在向HMD 1000传输6DOF姿态1015和第二图像1020。在此,6DOF姿态1015对应于6DOF姿态925(当针对分离相机计算时),并且第二图像1020对应于来自图8的第二图像830。在一些情况下,6DOF姿态1015和第二图像1020可以使用相同的传输突发来传输,而在其他情况下,这两条信息可以在分离和独立的传输突发中传输。
深度图
作为执行方法动作405至425的结果,HMD现在包括在图11中详细描述的信息。具体而言,HMD 1100包括第一图像1105、集成相机的6DOF姿态1110、第二图像1115和分离相机的6DOF姿态1120。这些元素中的每个元素对应于在本文中所讨论的其各自的元素。另外,HMD1100能够生成、访问或者获取环境的深度图1125。为了澄清,如在图4B中所图示的方法动作430中所述的,方法400包括访问环境的深度图(例如,深度图1125)的动作(动作430)。
如在本文中所使用的,“深度图”详细描述了相对于环境中的物体的位置关系和深度。因此,能够确定相对于彼此的物体的位置布置、定位、几何形状、轮廓和深度。如在图12中所示的,可以以不同的方式来计算深度图1125。
具体而言,图12的深度图1200表示深度图1125。在一些情况下,可以使用测距仪1205来计算深度图1200。在一些情况下,可以通过执行立体深度匹配1210来计算深度图1200。省略号1215示出了可以如何使用其他技术计算深度图1200,并且不限于在图12中所图示的两种。在一些实现方式中,深度图1200可以是完整并且完全的深度图,其中,对应的深度值被分配给深度图中的每个像素。在一些实现方式中,深度图1200可以是单个像素深度图。在一些实现方式中,所述深度图可以是平面深度图,其中,所述深度图中的每个像素被分配相同的深度值。在任意情况下,图11的深度图1125表示位于环境中的物体的一个或多个深度。注意,辅助相机的中心的深度也能够由测距仪/单像素测量系统来确定。实施例能够基于6DOF姿态加上单像素深度信息来叠加两幅相机图像。
返回到图11,如果在集成相机和/或分离相机的后续移动之前计算第一图像1105、6DOF姿态1110、第二图像1115和6DOF姿态1120,则实施例能够使用从IMU 1135获得的惯性测量单元(IMU)数据1130来更新那些条数据。为了澄清,所述集成相机可以与其自身的对应IMU相关联,并且所述分离相机可以与其自身的对应IMU相关联。这两个IMU能够生成IMU数据,如由IMU数据1130所表示的。所述分离相机能够将其IMU数据传输到HMD。
如果先前描述的旋转/旋转基本矩阵(在重新定位过程期间计算出的)是在任何集成相机或分离相机的后续移动之前计算的,则实施例能够利用IMU数据1130来更新相应的旋转基矩阵以说明新的移动。例如,通过将集成相机的旋转基矩阵与基于IMU数据1130生成的矩阵数据相乘,实施例能够消除集成相机的移动的影响。类似地,通过将分离相机的旋转基矩阵与基于其对应的IMU数据生成的矩阵数据相乘,实施例能够消除分离相机的移动的影响。因此,可以基于随后获得的IMU数据来更新6DOF姿态1110和6DOF姿态1120。换句话说,实施例能够基于检测到的集成相机(或分离相机)的移动来更新集成相机(或者分离相机)的6DOF姿态。可以基于从集成相机(或者分离相机)的IMU获得的IMU数据来检测所检测到的移动。
生成叠加图像
返回到图4B,方法400然后包括通过重新投影第二图像的视角以与第一图像的视角对准来生成叠加图像的动作(动作435)(例如,使用两个6DOF姿态和先前所讨论的深度图进行重新投影)。在对准所述视角之后,实施例将重新投影的第二图像的至少一部分(并且可能是全部)叠加到第一图像上。为了澄清,集成相机的6DOF姿态、分离相机的6DOF姿态和深度图被用于执行重新投影操作。当然,分离相机的图像(即,第二图像)也用于执行重新投影操作。图13图示了重新投影操作,其中,第二图像的视角被重新投影以便与第一图像的视角对准、匹配或一致。通过进行这种对准,实施例然后能够选择性地将所述第二图像的部分叠加到所述第一图像上,同时确保在这两幅图像的内容之间的准确对准。
图13示出了第二图像1300,其表示迄今为止所讨论的第二图像。所述第二图像包括2D关键点1305A和针对该2D关键点1305A的对应3D点1310。在确定内部相机参数1315(例如,相机的焦距、主点和镜头畸变)和外部相机参数1320A(例如,相机的位置和取向,或者相机的6DOF姿态)之后),实施例能够对第二图像1300执行重新投影1325操作,以将由该图像体现的视角重新投影到新视角,其中,新视角与第一图像的视角相匹配(因此,第二图像然后能够被准确地叠加到第一图像上)。
例如,作为执行重新投影1325操作的结果,生成重新投影图像1330,其中,重新投影图像1330包括对应于2D关键点1305A的2D关键点1305B。实际上,重新投影1325操作产生具有新的外部相机参数1320B的合成相机,以便给出重新投影图像1330是由合成相机在新视角处(例如,在与集成相机相同的位置处)捕获的假象。就此而言,重新投影第二图像(或者第二图像的至少一部分)补偿分离相机与集成相机分开的距离(例如,来自图1的距离130),并且也补偿两个相机之间的姿态或视角差异。
因此,实施例将第二图像重新投影到新的视角,以便使第二图像的视角与第一图像的视角对准。进一步的细节如在图14中所图示的。
图14示出了如何将分离相机的6DOF姿态1400、第二图像1405、集成相机的6DOF姿态1410和深度图1415(即,深度图1125)作为输入馈送到重新投影1420操作(即,来自图13的重新投影1325)中,以便产生重新投影图像1425(即,来自图13的重新投影图像1330)。作为执行重新投影1420操作的结果,由重新投影图像1425体现的视角与集成相机(例如,图1的第一相机115或第二相机120)的视角相匹配。在一些情况下,所公开的操作被执行两次,其中,对第一相机115执行一次操作,并且对第二相机120执行第二次操作,以便产生两幅单独的直通图像。
图14的重新投影图像1425还被图示为图15中的重新投影图像1500。现在,重新投影图像1500具有与第一图像的视角相对应的视角,实施例能够执行叠加1505操作以生成叠加图像1510。为了澄清,实施例通过将来自第一图像的像素(即,第一图像像素1515)与来自重新投影图像1500的像素(即,第二图像像素1520)合并或融合来生成叠加图像1510。换句话说,来自重新投影图像1500的一个或多个部分被叠加到第一图像上以形成叠加图像1510。作为对第二图像执行较早的重新投影操作的结果,第二图像像素1520与下文的第一图像像素1515恰当地对准。
例如,重新投影图像1500示出了戴着棒球帽的男人和一个女人的背影。第一图像(例如,参见在图11中所图示的第一图像1105)也包括相同的内容。出于许多原因,将第二图像内容叠加到第一图像内容上是有益的。
例如,由于不同相机的FOV的大小可能不同,因此所得到的图像的大小也可能不同。尽管大小不同,但是分辨率可能仍然相同。例如,图11示出了第二图像1115如何小于第一图像1105。尽管大小有此差异,但是分辨率可能都是相同的。因此,与第一图像1105中的每个像素相比,第二图像1115中所包括的每个像素更小,并且提供了提高的细节级别。
因此,在一些实施例中,第二图像1115的分辨率可以与第一图像1105的分辨率相同,使得作为第二图像1115的FOV小于第一图像1105的FOV的结果,第二图像1115中的每个像素小于第一图像1105中的每个像素。因此,与第一图像1105的像素相比,第二图像1115的像素将给出内容更锐利、更清晰或更清爽的可视化。因此,通过将第二图像内容叠加到第一图像内容上,被包含在图15的边界1525内的部分(对应于第二图像内容)可以看起来比叠加图像1510的其他部分(例如,对应于第一图像内容的那些像素)更清晰或细节更高。因此,通过叠加内容,可以生成增强的图像。
视差校正
返回到图4B,方法400包括对叠加图像执行视差校正以修改叠加图像的视角以对应于新视角的可选(如由虚线框所指示的)动作(动作440)。在一些实现方式中(尽管不是全部),所述新视角是佩戴HMD的用户的瞳孔(例如,图3的瞳孔330或335)的视角。方法400包括显示叠加图像以供用户查看的另一可选动作(动作445)。
实现所公开的操作(包括方法400)的计算机系统可以是由用户佩戴的头戴式设备(HMD)。新视角可以对应于左眼瞳孔或右眼瞳孔中的一个。如果生成第二叠加图像,则第二叠加图像也可以被视差校正到第二新视角,其中,所述第二新视角可以对应于左眼瞳孔或右眼瞳孔中的另一个。图16提供了关于视差校正操作的一些额外说明。
图16示出了叠加图像1600,其可以是来自图15的叠加图像1510,并且其可以是在方法400中所讨论的叠加图像。在此,叠加图像1600被示为具有原始视角1605。根据所公开的原理,实施例能够执行视差校正1610以将叠加图像1600的原始视角1605变换为新的或新颖的视角。应当注意,随后如何对从分离相机图像中获取的像素进行两个单独的重新投影操作,一个涉及修改分离相机图像的视角以与集成相机的视角一致,并且一个涉及修改叠加图像的视角以与用户瞳孔的视角一致。
执行视差校正1610涉及使用深度图以便将图像内容重新投影到新视角。该深度图可能与前面提到的深度图相同或不同。在一些情况下,深度图是先前深度图的更新版本,以反映HMD的当前定位和姿态。在一些情况下,深度图是为了执行视差校正而生成的新深度图。
视差校正1610被示为包括多个不同操作中的任何一个或多个操作。例如,视差校正1610可以涉及畸变校正1615(例如,校正凹面或凸面宽角或窄角相机镜头)、极线变换1620(例如,平行化相机的光轴)和/或重新投影变换1625(例如,将光轴重新定位以便基本上在用户的瞳孔前方或者与用户的瞳孔成直线)。视差校正1610包括执行深度计算以确定环境的深度,并且然后将图像重新投影到确定的位置或具有确定的视角。如在本文中所使用的,短语“视差校正”和“图像合成”可以彼此互换,并且可以包括执行立体直通视差校正和/或图像重新投影视差校正。
重新投影基于叠加图像1600相对于周围环境的原始视角1605。基于原始视角1605和所生成的深度图,实施例能够通过重新投影由叠加图像体现的视角以与新视角一致来校正视差,如有视差校正图像1630和新视角1635所示的。在一些实施例中,新视角1635可以是来自图3的用户瞳孔330和335之一。
一些实施例对叠加图像执行三维(3D)几何变换,以与用户瞳孔330和335的视角相关的方式来变换叠加图像的视角。此外,3D几何变换依赖于深度计算,其中,HMD环境中的物体被映射出来,以确定其深度以及视角。基于这些深度计算和视角,实施例能够以在视差校正图像1630(即,一种类型的直通图像)中保持物体深度的外观的方式对叠加图像进行三维重新投影或三维翘曲,其中,所保持的物体深度基本上匹配、对应或可视化真实世界中物体的实际深度。因此,视差校正1610的程度或量至少部分地依赖于来自图3的偏移340和345的程度或量。
通过执行视差校正1610,实施例有效地创建具有在用户瞳孔330和335前方的位置的“虚拟”相机。通过额外的澄清,考虑来自图3的相机305的位置,其当前在瞳孔335的上方和左侧。通过执行视差校正,实施例编程地变换由相机305生成的图像,或者那些图像的视角,因此视角看起来好像相机305实际上直接定位在瞳孔335的前方。换言之,即使相机305实际上不移动,实施例也能够变换由相机305生成的图像,使得那些图像具有好像相机305位于瞳孔335前方的外观。
在一些情况下,视差校正1610依赖于全深度图来执行重新投影,而在其他情况下,视差校正1610依赖于平面深度图来执行重新投影。在一些实施例中,视差校正1610依赖于一像素深度图(例如,针对每个相机帧的一像素深度测量结果),诸如由一个像素测距仪生成的深度图。
当使用叠加图像上的全深度图执行重新投影时,有时将单个深度归因于由视差校正图像1630中的点圆限定的所有像素是有益的。不这样做可能导致对应于限定像素的视差校正区域的偏斜或翘曲。例如,替代产生像素的圆,不对圆中的像素使用单个公共深度可能导致椭圆形或者其他偏斜效果。因此,一些实施例确定与特定像素(例如,可能是圆的中心像素)的深度相对应的深度,并且然后将该单个深度归因于由圆限定的所有像素。为了澄清,对由圆限定的所有像素给予相同的深度值。
然后,使用全深度图来执行在前文所讨论的视差校正操作中所涉及的重新投影。通过对叠加图像中圆限定的所有像素赋予相同的深度,实施例防止由于执行视差校正而在该图像内容上发生偏斜。
尽管大多数实施例选择与中心像素相对应的深度,但是一些实施例可以被配置为选择由圆限定的不同像素的深度。这样,使用中心像素的深度仅仅是一个示例性实现方式,但是其不是唯一的实现方式。一些实施例选择位于中心的多个像素,并且然后使用那些像素的平均深度。一些实施例选择偏离中心的像素或者像素组的深度。
替代使用全深度图来执行重新投影,一些实施例使用固定深度图来执行固定深度图重新投影。在这种情况下,实施例从由圆限定的像素(例如,可能再次是中心像素)中选择特定像素的深度。基于所选择的深度,实施例然后将该单个深度归因于深度图的所有像素,以生成固定深度图。为了澄清,固定深度图中的所有深度像素被分配或归因于相同的深度,所述深度是所选择的像素(例如,可能是中心像素或者可能是一些其他选择的像素)的深度。
一旦生成了固定深度图,所述深度图随后可以被用于使用固定深度图对叠加图像执行重新投影(例如,平面重新投影)。就此而言,可以使用全深度图或固定深度图来执行重新投影叠加图像(例如,图16中的叠加图像1600)以生成视差校正图像1630。
因此,所公开的实施例能够通过使用6DOF姿态执行重新投影来对准图像,以便对准所述图像以具有匹配的视角。然后,实施例对所对准的叠加图像执行视差校正,以便生成具有新视角的直通图像。这样的操作通过使得能够显示新的和动态的图像内容而显著地增强图像的质量。
示例性计算机/计算机系统
现在将注意力转向图17,图17图示了示例性计算机系统1700,其可以包括和/或被用于执行在本文中所描述的操作中的任意操作。计算机系统1700可以采用各种不同的形式。例如,计算机系统1300可以体现为平板计算机1700A、台式或膝上型计算机1700B、可穿戴设备1700C(例如,任何公开的HMD)、移动设备、独立设备或如由省略号1700D表示的任何其他实施例。计算机系统1700也可以是分布式系统,其包括与计算机系统1700通信的一个或多个连接的计算组件/设备。
在其最基本的配置中,计算机系统1700包括各种不同的组件。图17图示了计算机系统1700包括一个或多个处理器1305(也被称为“硬件处理单元”)、扫描传感器1710(例如,图2的扫描传感器205)、图像处理引擎1715和存储设备1720。
关于处理器1705,应当理解,在本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件(例如,处理器1705)执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件/处理器包括现场可编程门阵列(“FPGA”)、特定于程序或特定于应用的集成电路(“ASIC”)、特定于程序的标准产品(“ASSP”)、片上系统(“SOC”)、复杂可编程逻辑器件(“CPLD”)、中央处理单元(“CPU”)、图形处理单元(“GPU”)或者任何其他类型的可编程硬件。
计算机系统1700和扫描传感器1710可以使用任何类型的深度检测。示例包括但不限于立体深度检测(主动照明(例如,使用点照明器)、结构光照明(例如,1个实际相机、1个虚拟相机和1个点照明器)和被动(即,无照明))、飞行时间深度检测(在激光器和相机之间有基线,其中相机的视场没有完全叠加激光器的照明区域)、测距仪深度检测或者任何其他类型的距离或深度检测。
图像处理引擎1315可以被配置为执行结合图4A河图4B的方法100讨论的任何方法动作。在一些情况下,图像处理引擎1715包括ML算法。换言之,ML也可以被所公开的实施例利用,如前所述。ML可以实现为特定处理单元(例如,如前所述的专用处理单元),其被配置为执行计算机系统1700的一个或多个专门操作。如在本文中所使用的,术语“可执行模块”、“可执行组件”、“组件”、“模块”、“模型”或“引擎”可以指代硬件处理单元或可以在计算机系统1700上执行的软件对象、例程或方法。在本文中所描述的不同组件、模块、引擎、模型和服务可以实现为在计算机系统1700上执行的对象或处理器(例如,作为单独的线程)。ML模型和/或处理器1705可以被配置为执行一个或多个所公开的方法动作或者其他功能。
存储设备1720可以是物理系统存储器,其可以是易失性、非易失性或两者的某种组合。术语“存储器”在本文也可用于指代诸如物理存储介质的非易失性大容量存储设备。如果计算机系统1700是分布式的,则处理、存储器和/或存储能力也可以分布式的。
存储设备1720被示为包括可执行指令(即,代码1325)。可执行指令表示可由计算机系统1700的处理器1705(或者甚至图像处理引擎1715)执行以执行诸如在各种方法中描述的那些所公开的操作的指令。
所公开的实施例可以包括或利用专用或通用计算机,其包括计算机硬件,例如,一个或多个处理器(例如处理器1705)和系统存储器(例如存储设备1720),如下文更详细讨论的。实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储计算机可执行指令的计算机可读介质是“物理计算机存储介质”或“硬件存储设备”。携带计算机可执行指令的计算机可读介质是“传输介质”。因此,通过示例而非限制,当前实施例可以包括至少两种明显不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质(又名“硬件存储设备”)是计算机可读的硬件存储设备,例如RAM、ROM、EEPROM、CD-ROM、基于RAM、闪存、相变存储器(“PCM”)的固态驱动器(“SSD”),或者其他类型的存储器,或者其他光盘存储、磁盘存储或者其他磁存储设备,或可用于以计算机可执行指令、数据或数据结构的形式存储所需程序代码单元并可由通用或专用计算机访问的任何其他介质。
计算机系统1700还可以经由网络1730连接(经由有线或无线连接)到外部传感器(例如,一个或多个远程相机)或设备。例如,计算机系统1700可以与任意数量的设备或云服务通信,以获得或处理数据。在一些情况下,网络1730自身可以是云网络。此外,计算机系统1700还可以通过一个或多个有线或无线网络1730连接到远程/单独的计算机系统,这些计算机系统被配置为执行关于计算机系统1700描述的任何处理。
类似于网络1730的“网络”被定义为能够在计算机系统、模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线或者硬连线和无线的组合)传输或提供给计算机时,计算机正确地将连接视为传输介质。计算机系统1700将包括用于与网络1730通信的一个或多个通信信道。传输介质包括可用于以计算机可执行指令的形式或以数据结构的形式传送数据或所需程序代码单元的网络。此外,这些计算机可执行指令可以由通用或专用计算机访问。以上的组合也应包含在计算机可读介质的范围内。
在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码单元可以自动地从传输介质转移到计算机存储介质(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终转移到计算机系统RAM和/或计算机系统中易失性较低的计算机存储介质。因此,应当理解,计算机存储介质可以包含在还(或甚至主要)利用传输介质的计算机系统组件中。
计算机可执行(或者计算机可解释)指令包括例如,使通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令。计算机可执行指令可以是例如,二进制文件,诸如汇编语言的中间格式指令,或者甚至是源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但应当理解,在所附权利要求中定义的主题不一定限于上述描述的特征或动作。相反,所描述的特征和动作被公开为实施权利要求的示例性形式。
本领域技术人员将认识到,可以在具有许多类型的计算机系统配置的网络计算环境中实践这些实施例,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等。这些实施例还可以在分布式系统环境中实践,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统各自执行任务(例如云计算、云服务等)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本发明可以在不背离其精神或特性的情况下以其他特定形式实施。所描述的实施例在所有方面仅被认为是说明性的而不是限制性的。因此,本发明的范围由所附的权利要求书而不是由前面的描述来指示。在权利要求的等同意义和范围内的所有变更都应当包括在其范围内。

Claims (15)

1.一种头戴式设备(HMD),被配置为使由被物理安装到所述HMD的集成相机生成的图像与由从所述HMD物理卸载的分离相机生成的图像对准并且稳定,所述HMD包括:
一个或多个处理器;以及
一个或多个计算机可读硬件存储设备,其存储指令,所述指令能由所述一个或多个处理器执行以使得所述HMD至少用于:
生成所述HMD和所述分离相机两者都在其中操作的环境的三维(3D)特征图;
与所述分离相机共享所述3D特征图;
使用所述3D特征图以基于由所述集成相机生成的第一图像来重新定位所述集成相机的位置框架,从而确定所述集成相机的6自由度(6DOF)姿态;
使得所述分离相机使用所述3D特征图以基于由所述分离相机生成的第二图像来重新定位所述分离相机的位置框架,从而确定所述分离相机的6DOF姿态;
从所述分离相机接收(i)所述环境的所述第二图像和(ii)所述分离相机的6DOF姿态;
访问所述环境的深度图;以及
通过重新投影所述第二图像的视角以与所述第一图像的视角对准并且通过将经重新投影的第二图像的至少一部分叠加到所述第一图像上来生成叠加图像,其中,(i)所述集成相机的6DOF姿态、(ii)所述分离相机的6DOF姿态、以及(iii)所述深度图被用于执行所述重新投影。
2.根据权利要求1所述的HMD,其中,所述指令能执行以进一步使得所述HMD显示所述叠加图像,其中,所述集成相机和所述分离相机中的一个或多个是被配置为执行重新定位的头部跟踪相机。
3.根据权利要求1所述的HMD,其中,所述深度图是针对每个相机帧的一像素深度测量结果。
4.根据权利要求1所述的HMD,其中,重新投影所述第二图像的视角以与所述第一图像的视角对准补偿了所述分离相机与所述集成相机分开的距离。
5.根据权利要求1所述的HMD,其中,所述集成相机是从包括可见光相机、微光相机或热成像相机的相机组中选择的一个相机,并且其中,所述分离相机也是从所述相机组中选择的一个相机。
6.根据权利要求1所述的HMD,其中,所述分离相机与所述集成相机分开至多1.5米的距离。
7.根据权利要求1所述的HMD,其中,使得所述分离相机使用所述3D特征图来重新定位所述分离相机的位置框架包括执行同时定位和映射(SLAM)操作以确定在所述分离相机与所述集成相机之间的相对位置。
8.根据权利要求1所述的HMD,其中,所述分离相机和所述集成相机两者都是热成像相机。
9.根据权利要求1所述的HMD,其中,所述指令能执行以进一步使得所述HMD对所述叠加图像应用视差校正来修改所述叠加图像的视角以对应于新视角。
10.根据权利要求1所述的HMD,其中,所述指令能执行以进一步使得所述HMD基于所述集成相机的检测到的移动来更新所述集成相机的6DOF姿态,所述检测到的移动是基于从所述集成相机的惯性测量单元(IMU)获得的IMU数据来检测的。
11.一种用于使由被物理安装到头戴式设备(HMD)的集成相机生成的图像与由从所述HMD物理卸载的分离相机生成的图像对准并且稳定,所述方法包括:
生成所述HMD和所述分离相机两者都在其中操作的环境的三维(3D)特征图;
与所述分离相机共享所述3D特征图;
使用所述3D特征图以基于由所述集成相机生成的第一图像来重新定位所述集成相机的位置框架,从而确定所述集成相机的6自由度(6DOF)姿态;
使得所述分离相机使用所述3D特征图以基于由所述分离相机生成的第二图像来重新定位所述分离相机的位置框架,从而确定所述分离相机的6DOF姿态;
从所述分离相机接收(i)所述环境的所述第二图像和(ii)所述分离相机的6DOF姿态;
访问所述环境的深度图;以及
通过重新投影所述第二图像的视角以与所述第一图像的视角对准并且通过将经重新投影的第二图像的至少一部分叠加到所述第一图像上来生成叠加图像,其中,(i)所述集成相机的6DOF姿态、(ii)所述分离相机的6DOF姿态、以及(iii)所述深度图被用于执行所述重新投影。
12.根据权利要求11所述的方法,其中,所述方法还包括基于所述分离相机的检测到的移动来更新所述分离相机的6DOF姿态,所述检测到的移动是基于从所述分离相机的惯性测量单元(IMU)获得的IMU数据来检测的。
13.根据权利要求11所述的方法,其中,与所述分离相机共享所述3D特征图是通过经由宽带无线电连接将所述3D特征图传输到所述分离相机来执行的。
14.根据权利要求11所述的方法,其中,使用所述3D特征图来重新定位所述集成相机的位置框架是通过识别被包含在所述3D特征图中的特征点并且通过基于识别出的特征点来确定所述集成相机的6DOF姿态来执行的。
15.根据权利要求14所述的方法,其中,所述分离相机和所述集成相机两者都是热成像相机。
CN202180060798.7A 2020-07-17 2021-04-20 使用6dof姿态信息对准来自分离相机的图像 Pending CN116194866A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/932,415 US11049277B1 (en) 2020-07-17 2020-07-17 Using 6DOF pose information to align images from separated cameras
US16/932,415 2020-07-17
PCT/US2021/028041 WO2022015382A1 (en) 2020-07-17 2021-04-20 Using 6dof pose information to align images from separated cameras

Publications (1)

Publication Number Publication Date
CN116194866A true CN116194866A (zh) 2023-05-30

Family

ID=75870756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180060798.7A Pending CN116194866A (zh) 2020-07-17 2021-04-20 使用6dof姿态信息对准来自分离相机的图像

Country Status (4)

Country Link
US (4) US11049277B1 (zh)
EP (1) EP4182889A1 (zh)
CN (1) CN116194866A (zh)
WO (1) WO2022015382A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128817B2 (en) * 2019-11-26 2021-09-21 Microsoft Technology Licensing, Llc Parallax correction using cameras of different modalities
US11543665B2 (en) * 2020-12-01 2023-01-03 Microsoft Technology Licensing, Llc Low motion to photon latency rapid target acquisition
US20220012860A1 (en) * 2021-09-23 2022-01-13 Intel Corporation Methods and apparatus to synthesize six degree-of-freedom views from sparse rgb-depth inputs
US11900621B2 (en) 2021-10-13 2024-02-13 Microsoft Technology Licensing, Llc Smooth and jump-free rapid target acquisition
US20230122185A1 (en) * 2021-10-18 2023-04-20 Microsoft Technology Licensing, Llc Determining relative position and orientation of cameras using hardware
US11636645B1 (en) 2021-11-11 2023-04-25 Microsoft Technology Licensing, Llc Rapid target acquisition using gravity and north vectors
CN114119753A (zh) * 2021-12-08 2022-03-01 北湾科技(武汉)有限公司 面向机械臂抓取的透明物体6d姿态估计方法
TW202336689A (zh) * 2022-03-11 2023-09-16 緯創資通股份有限公司 虛擬視窗配置裝置、虛擬視窗配置方法及虛擬視窗配置系統
WO2024063253A1 (ko) * 2022-09-23 2024-03-28 삼성전자주식회사 카메라로부터 획득한 이미지 내에 포함된 복수의 영역들 각각의 해상도들을 제어하기 위한 전자 장치 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102086510B1 (ko) * 2013-09-26 2020-04-14 엘지전자 주식회사 헤드 마운트 디스플레이 및 제어 방법
US9630105B2 (en) * 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US20160371884A1 (en) * 2015-06-17 2016-12-22 Microsoft Technology Licensing, Llc Complementary augmented reality
KR101734287B1 (ko) * 2015-08-04 2017-05-11 엘지전자 주식회사 헤드 마운티드 디스플레이 및 그 제어방법
US10466953B2 (en) * 2017-03-30 2019-11-05 Microsoft Technology Licensing, Llc Sharing neighboring map data across devices
US11047691B2 (en) * 2018-10-31 2021-06-29 Dell Products, L.P. Simultaneous localization and mapping (SLAM) compensation for gesture recognition in virtual, augmented, and mixed reality (xR) applications

Also Published As

Publication number Publication date
US20220020168A1 (en) 2022-01-20
US20230005179A1 (en) 2023-01-05
EP4182889A1 (en) 2023-05-24
US11475586B2 (en) 2022-10-18
WO2022015382A1 (en) 2022-01-20
US20240153131A1 (en) 2024-05-09
US11922655B2 (en) 2024-03-05
US11049277B1 (en) 2021-06-29

Similar Documents

Publication Publication Date Title
US11922655B2 (en) Using 6DOF pose information to align images from separated cameras
US11330200B2 (en) Parallax correction using cameras of different modalities
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
US11037359B1 (en) Real-time rendering stylized passthrough images
US11539931B2 (en) Dual system optical alignment for separated cameras
CN116137902A (zh) 用于红外光检测的计算机视觉相机
CN115836324A (zh) 具有远程相机对准的双相机hmd
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
US20230122185A1 (en) Determining relative position and orientation of cameras using hardware

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