Systems and methods for depth estimation by learning sparse point triangulation and refinement for multi-view stereo

JP7640569B2Active Publication Date: 2025-03-05MAGIC LEAP INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2022552548
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-05
Filing Date
2021-03-05
Publication Date
2025-03-05
Estimated Expiration
2041-03-05

AI Technical Summary

Benefits of technology

【0019】 本明細書に開示される実施形態は、エンドツーエンドプロセスにおいて、XRシステム等の空間コンピューティングシステムのユーザを囲繞する、場面または環境内の特徴の深度を推定するためのシステムおよび方法を対象とする。推定される深度は、空間コンピューティングシステムによって、例えば、正確かつ効果的3DXR体験を提供するために利用されることができる。結果として生じる3DXR体験は、部分的に、輻輳·開散運動-遠近調節不整合等のヒト知覚系の基本側面のうちのいくつかに対処する様式において、画像を提示し得るため、ユーザにとって快適かつ最大限に有用である、豊かな両眼3次元体験において表示可能である。例えば、推定される深度は、正確な深度データを有し、3D画像が複数の焦点面内に表示されることを有効にする、3D再構築物を生成するために使用されてもよい。3D再構築物はまた、仮想オブジェクト、他の仮想オブジェクト、および/または実世界オブジェクト間の相互作用の正確な管理を有効にしてもよい。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007640569000014
    Figure 0007640569000014
  • Figure 0007640569000015
    Figure 0007640569000015
  • Figure 0007640569000016
    Figure 0007640569000016
Patent Text Reader

Abstract

A system and method for depth estimation by learning sparse point triangulation and refinement for multi-view stereo is provided. The system and method estimate the depth of features within a scene or environment surrounding a user of a spatial computing system, such as a virtual reality, augmented reality, or mixed reality (collectively, cross-reality) system, in an end-to-end process. The estimated depth can be utilized by the spatial computing system to provide, for example, an accurate and effective 3D cross-reality experience.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to computing, learning network configurations, and connected mobile computing systems, methods, and configurations, and more particularly to systems and methods for estimating depth of features in a scene from multi-view images that may be used in mobile computing systems, methods, and configurations where the estimated depth features at least one wearable component configured for virtual and / or augmented reality operation. [Background technology]

[0002] Modern computing and display technologies are facilitating the development of systems for so-called virtual reality ("VR"), augmented reality ("AR"), and / or mixed reality ("MR") experiences, collectively referred to as "cross-reality" environments or experiences. This can be done by presenting computer-generated images to the user through a head-mounted display. The images create a sensory experience that immerses the user in the simulated environment. The data can, for example, describe virtual objects that can be rendered such that the user can sense or perceive and interact with the virtual objects as part of the physical world. The user can experience these virtual objects as a result of data being rendered and presented through a user interface device, such as a head-mounted display device. The data can be displayed to the user to be visible or played audible to the user, can control audio, or can control a tactile (or haptic) interface, allowing the user to experience touch sensations that the user senses or perceives as they feel the virtual objects.

[0003] XR systems can be useful for many applications, ranging from the areas of scientific visualization, medical training, engineering design and prototyping, remote manipulation and telepresence, and personal entertainment. VR systems typically involve the presentation of digital or virtual image information without transparency to actual real-world visual input.

[0004] AR systems generally complement the real-world environment with simulated elements. For example, AR systems may provide a user with a view of the surrounding real-world environment via a head-mounted display. Computer-generated images may also be presented on the head-mounted display to enhance the surrounding real-world environment. The computer-generated images may include elements that are contextually related to the surrounding real-world environment. Such elements may include simulated text, images, objects, and the like. MR systems also introduce simulated objects into the real-world environment, but these objects are typically characterized by a degree of interaction that exceeds that of AR systems.

[0005] AR / MR scenarios often involve the presentation of virtual image elements in relation to real-world objects. For example, an AR / MR scene is depicted such that a user of the AR / MR technology sees a real-world scene featuring the environment surrounding the user, including structures, objects, etc. In addition to these features, the user of the AR / MR technology perceives that they "see" computer-generated features (i.e., virtual objects), even if such features do not exist in the real-world environment. Thus, in contrast to VR, AR and MR involve one or more virtual objects in relation to real objects in the physical world. The virtual objects also interact with real-world objects, and thus AR / MR systems may also be referred to as "spatial computing" systems in relation to the system's interaction with the 3D world surrounding the user. The experience of virtual objects interacting with real objects greatly enhances the user's enjoyment when using an XR system, and also opens up possibilities for a variety of applications that present realistic and easily understandable information about how the physical world can be altered.

[0006] The visual centers of the brain derive valuable perceptual information from the movement of the eyes and their components relative to one another. The vergence-divergence movement of the two eyes relative to one another (i.e., the rotational movement of the pupils toward or away from one another to converge and fixate the gaze of the eyes on an object) is closely coupled to the accommodation (or focusing) of the eye lenses. Under normal conditions, accommodating the eyes, or changing the focus of the eye lenses to focus on an object at a different distance, will automatically produce a matching change in vergence to the same distance, a relationship known as the "accommodation-vergence-divergence reflex." Similarly, a change in vergence will induce a matching change in accommodation under normal conditions. Working against this reflex, as in most conventional stereoscopic VR / AR / MR configurations, is known to result in eye strain, headaches, or other forms of discomfort for the user.

[0007] Stereoscopic wearable glasses generally feature two displays (one for the left eye, one for the right eye) configured to display images with slightly different element presentations such that a three-dimensional perspective is perceived by the human visual system. Such configurations have been found to be uncomfortable for many users due to a mismatch between vergence and accommodation ("vergence-accommodation conflict"), which must be overcome to perceive images in three dimensions. In fact, some users are unable to tolerate stereoscopic configurations. These limitations apply to VR, AR, and MR systems. Thus, most conventional VR / AR / MR systems are not optimally suited to present rich binocular three-dimensional experiences in a manner that would be comfortable and maximally useful to users, in part because conventional systems are unable to address some of the fundamental aspects of the human perceptual system, including vergence-accommodation conflict.

[0008] Various systems and methods have been disclosed to address vergence-accommodation conflicts. For example, U.S. Patent Application Serial No. 14 / 555,585 discloses a VR / AR / MR system and method that addresses vergence-accommodation conflicts by using one or more light-guiding optical elements to project light to the user's eyes such that the light and the images rendered by the light appear to originate from multiple depth planes. The light-guiding optical elements are designed to in-couple virtual light corresponding to a digital or virtual object, propagate it by total internal reflection ("TIR"), and then out-couple the virtual light and display the virtual object to the user's eyes. In AR / MR systems, the light-guiding optical elements are also designed to be transparent to light from (e.g., reflected from) actual real-world objects. Thus, a portion of the light-guiding optical elements is designed to be transparent to real-world light from real-world objects in the AR / MR system while reflecting virtual light for propagation via TIR.

[0009] AR / MR scenarios often involve interactions between virtual objects and the real-world physical environment. Similarly, some VR scenarios involve interactions between fully virtual objects and other virtual objects. Delineating objects in the physical environment facilitates interaction with virtual objects by defining the boundaries and borders of those interactions (e.g., by defining the extent of a particular structure or object in the physical environment). For example, if an AR / MR scenario involves a virtual object (e.g., a tentacle or fist) extending from a particular object in the physical environment, defining the extent of the object in three dimensions allows the AR / MR system to present a more realistic AR / MR scenario. Conversely, if the extent of the object is not defined or is defined inaccurately, artifacts and errors will occur in the displayed image. For example, a virtual object may appear to extend partially or completely from the air adjacent to the object, instead of from the surface of the object. In another example, if an AR / MR scenario involves a virtual character walking on a particular horizontal surface in a physical environment, inaccurately defining the extent of the surface may result in the virtual character not falling but instead appearing to be floating in the air and walking away from the surface.

[0010] Thus, depth sensing of a scene, such as the surrounding environment, is useful for a wide range of applications, ranging from cross-reality systems to autonomous driving. Estimating the depth of a scene can be broadly divided into the following classes: active and passive sensing. Active sensing techniques include LiDAR, structured light, and time-of-flight (ToF) cameras, while depth estimation using stereo vision of a monocular camera or an array of cameras is referred to as passive sensing. Active sensors are now the de facto standard for applications requiring depth sensing due to their good accuracy and low latency in variable environments (see [Reference 44]). Numbered references in parentheses ("[Reference ##])) refer to the list of references attached below, each of which is incorporated herein by reference in its entirety.

[0011] However, active sensors have their own limitations. LiDAR is prohibitively expensive and provides sparse measurements. Structured light and ToF depth cameras have limited range and integrity due to the physics of light transport. Furthermore, they are power-hungry, inhibiting mobility, which is important for AR / VR applications on wearables. As a result, computer vision researchers are pursuing passive sensing techniques as a universal, cost-effective, and energy-efficient alternative to active sensors (see [Reference 30]).

[0012] Passive depth sensing using stereo cameras requires large-scale baselines and careful calibration for accurate depth estimation (see [Reference 3]). Large-scale baselines are infeasible for mobile devices such as phones and wearables. An alternative is to estimate depth using multi-view stereo (MVS) techniques for movable monocular cameras. MVS generally refers to the problem of reconstructing 3D scene structure from multiple images with known camera poses and intrinsic properties (see [Reference 14]). The unconstrained nature of camera motion relaxes the baseline limitations of stereo rigs, and algorithms benefit from multiple observations of the same scene from continuously varying viewpoints (see [Reference 17]). However, camera motion also makes depth estimation more challenging for rigid stereo rigs due to the added complexity of pose uncertainty and motion artifacts. Most MVS approaches involve constructing a 3D cost volume, usually using a plane-sweeping stereo approach (see [References 41, 18]). Accurate depth estimation using MVS relies on 3D convolutions on the cost volume, which is both memory and computationally expensive and scales with the cube of the resolution. Furthermore, redundant computations are added by ignoring useful image-level properties such as the camera pose estimation, hence the interest points and their descriptors, which are a necessary pre-processing for any MVS technique. This increases the overall cost and energy requirements for passive sensing.

[0013] Passive sensing using a single image is fundamentally unreliable due to scale ambiguity in 2D images. Deep learning-based monocular depth estimation approaches have formulated the problem as depth regression (see [10, 11]) and reduced the performance gap with that of active sensors (see [26, 24]), but are still far from practical. Recently, sparse / dense depth estimation approaches have been proposed to remove the scale ambiguity and improve the robustness of monocular depth estimation (see

[30] ). In fact, recent sparse / dense approaches with less than 0.5% depth samples have accuracy comparable to active sensors, with a wider range and higher completeness (see [6]). However, these approaches assume accurate or seed depth samples from active sensors, which is limiting. An alternative is to use sparse 3D landmarks output from the best performing algorithms for simultaneous localization and mapping (SLAM) (see

[31] ) or visual inertial odometry (VIO) (see

[33] ). However, using depth estimated from these sparse landmarks instead of depth from active sensors significantly degrades performance (see

[43] ). This is not surprising since the trained sparse / dense network ignores potentially useful cues, structured noise, and biases present in the SLAM or VIO algorithms.

[0014] Sparse feature-based methods are the standard for SLAM or VIO techniques due to their speed and accuracy. The detection-after-description approach is the most common approach to sparse feature extraction, where a point of interest is detected and then described in terms of a patch around the point. The descriptor encapsulates higher-level information that is missing by typical low-level points of interest such as corners, blobs, etc. Before the deep learning revolution, classical systems such as SIFT (see

[28] ) and ORB (see

[37] ) were ubiquitously used as descriptors for feature matching on low-level vision tasks. Deep neural networks, which directly optimize the objective at hand, are now replacing these hand-crafted features across a variety of applications. However, such end-to-end networks remain elusive for SLAM (see

[32] ) due to the non-differentiable nature of the components. Generic descriptors learned by methods such as SuperPoint (see [Ref. 9]), LIFT (see [Ref. 42]), and GIFT (see [Ref. 27]) aim to fill the gap towards differentiable SLAM.

[0015] MVS approaches either directly reconstruct 3D volumes or output depth maps that can be flexibly used for 3D reconstructions or other applications. Methods that reconstruct 3D volumes (see [41, 5]) are limited to small volumes or isolated objects, either due to the high memory burden of working in 3D voxelized space (see [35, 39]) or due to the difficulty of learning point representations in complex environments (see

[34] ). The use of multi-view images captured in indoor environments has recently progressed, starting with DeepMVS (see

[18] ), which proposed a learned patch matching approach. MVDepthNet (see

[40] ) and DPSNet (see

[19] ) build cost volumes for depth estimation. Recently, GP-MVSNet (see

[17] ) built on MVDepthNet and used Gaussian processes to coherently fuse temporal information. All these methods utilize plane sweeping algorithms during some stage of depth estimation, resulting in a trade-off between accuracy and efficiency.

[0016] Sparse / dense depth estimation has also recently emerged to complement active depth sensors due to their range limitations when operating on a power budget, and as a way to fill in depth in areas that are difficult to detect, such as dark or reflective objects. One approach was proposed by Ma et al. (see

[30] ), followed by Chen et al. (see [6, 43]), who introduced innovations in the representation and network architecture. A convolutional space propagation module is proposed to fill in missing depth values ​​[7]. Recently, self-supervised approaches (see [13, 12]) have been explored for the sparse / dense problem (see

[29] ).

[0017] Multi-view stereo (MVS) has been shown to represent an advantageous intermediate approach between the accuracy of active depth sensing and the practicality of monocular depth estimation. Volume-based approaches employing 3D convolutional neural networks (CNNs) have significantly improved the accuracy of MVS systems. However, this accuracy comes at a high computational cost, which hinders practical adoption.

[0018] Thus, there is a need for improved systems and methods for scene depth estimation that do not rely on costly and ineffective active depth sensing and that improve on the efficiency and / or accuracy of previous passive depth sensing techniques. In addition, a system and method for depth estimation that has a display that is lightweight, low cost, has a small form factor, has a wide virtual image field of view, and is as transparent as possible should be implementable within an XR system. Summary of the Invention [Means for solving the problem]

[0019] The embodiments disclosed herein are directed to systems and methods for estimating depth of features in a scene or environment surrounding a user of a spatial computing system, such as an XR system, in an end-to-end process. The estimated depth can be utilized by the spatial computing system, for example, to provide an accurate and effective 3DXR experience. The resulting 3DXR experience can be displayed in a rich binocular three-dimensional experience that is comfortable and maximally useful to the user, in part because it can present images in a manner that addresses some of the fundamental aspects of the human perceptual system, such as vergence-divergence-accommodation misalignment. For example, the estimated depth can be used to generate a 3D reconstruction that has accurate depth data and enables 3D images to be displayed in multiple focal planes. The 3D reconstruction can also enable accurate management of interactions between virtual objects, other virtual objects, and / or real-world objects.

[0020] Thus, one embodiment is directed to a method for estimating depth of features in a scene from multi-view images. First, a multi-view image is acquired, including an anchor image of the scene and a set of reference images of the scene. This can be accomplished by one or more suitable cameras, such as the camera of an XR system. The anchor image and the reference images are passed through a shared RGB encoder and a descriptor decoder, which (i) outputs a separate descriptor field for the anchor image and each reference image, (ii) detects points of interest in the anchor image along with the relative pose and determines a search space in the reference image from alternative viewpoints, and (iii) outputs intermediate feature maps. The separate descriptors are sampled in the search space of each reference image to determine a descriptor in the search space and match the identified descriptors with the descriptors for the points of interest in the anchor images. The matched descriptors are referred to as matched feature points. The matched feature points are triangulated using singular value decomposition (SVD) to output 3D points. The 3D points are passed through a sparse depth encoder to create a sparse depth image from the 3D points and output a feature map. A depth decoder then generates a dense depth image based on the output feature map for the sparse depth encoder and the intermediate feature maps from the RGB encoder.

[0021] In another aspect of the method, the shared RGB encoder and descriptor decoder may include two encoders, including an RGB image encoder and a sparse depth image encoder, and three decoders, including a focus detection encoder, a descriptor decoder, and a dense depth prediction encoder.

[0022] In yet another aspect, the shared RGB encoder and descriptor decoder may be a fully convolutional neural network configured to operate on the full resolution of the anchor and transaction images.

[0023] In yet another aspect, the method may further include feeding the feature maps from the RGB encoder into a first task-specific decoder head to determine weights for detection of points of interest in the anchor image and output point of interest descriptions.

[0024] In yet another aspect of the method, the descriptor decoder may comprise a U-Net-like architecture to fuse fine- and coarse-level image information for matching the identified descriptor with a descriptor related to the point of interest.

[0025] In another aspect of the method, the search space may be constrained to a distinct epipolar line in the reference image plus a fixed offset on either side of the epipolar line, within the feasible depth sensing range along the epipolar line.

[0026] In yet another aspect of the method, bilinear sampling may be used by a joint RGB encoder and a descriptor decoder to output separate descriptors at desired points within the descriptor field.

[0027] In another aspect of the method, triangulating the matched feature points includes estimating individual two-dimensional (2D) locations of the points of interest by computing a softmax across spatial axes and outputting a cross-correlation map; performing a soft-argmax operation to calculate the 2D location of the node as the center of mass of the corresponding cross-correlation map; performing linear algebra triangulation from the 2D estimates; and using singular value decomposition (SVD) to output a 3D point.

[0028] Another disclosed embodiment is directed to a cross reality (XR) system configured to estimate depth and utilized for depth as described herein. The cross reality system comprises a head mounted display device having a display system. For example, the head mounted display may have a pair of eyepiece displays in a glasses-like configuration. A computing system is in operative communication with the head mounted display. A plurality of camera sensors are in operative communication with the computing system. The computing system is configured to estimate depth of features in a scene from a plurality of multi-view images captured by the camera sensors in any of the methods described above. In additional aspects of the cross reality system, the process may include any one or more of the additional aspects of the cross reality system described above. For example, the process may include obtaining a multi-view image including an anchor image of a scene in the field of view of the camera sensor from a camera sensor and a set of reference images of the scene; (i) passing the anchor image and the reference images through a shared RGB encoder and descriptor decoder that outputs a separate descriptor field for the descriptor for the anchor image and each reference image; (ii) detecting points of interest in the anchor image along with the relative pose and determining a search space in the reference images from alternative viewpoints; and (iii) outputting intermediate feature maps; sampling the separate descriptors in the search space for each reference image and determining the descriptor fields in the search space. and matching the identified descriptors with descriptors for the points of interest in the anchor image, where such matched descriptors are referred to as matched feature points; triangulating the matched feature points using singular value decomposition (SVD) to output 3D points; passing the 3D points through a sparse depth encoder and creating a sparse depth image from the 3D points and the output feature map; and a depth decoder generating a dense depth image based on the output feature map for the sparse depth encoder and intermediate feature maps from the RGB encoder. The present invention provides, for example, the following: (Item 1) 1. A method for estimating depth of a feature in a scene from multi-view images, the method comprising: acquiring a multi-view image comprising an anchor image of the scene and a set of reference images of the scene; (i) passing the anchor image and the reference image through a shared RGB encoder and a descriptor decoder, which outputs separate descriptor fields for the anchor image and each reference image; (ii) detecting points of interest in the anchor image, along with relative poses, to determine a search space in the reference image from alternative viewpoints; and (iii) outputting intermediate feature maps. sampling the individual descriptors in the search space for each reference image, determining descriptors in the search space, and matching the identified descriptors with descriptors for points of interest in the anchor images, where such matched descriptors are referred to as matched feature points; triangulating the matched feature points using singular value decomposition (SVD) to output 3D points; passing the 3D points through a sparse depth encoder and creating a sparse depth image from the 3D points and an output feature map; a depth decoder generating a dense depth image based on the output feature map for the sparse depth encoder and the intermediate feature map from the RGB encoder; A method comprising: (Item 2) 2. The method of claim 1, wherein the shared RGB encoder and descriptor decoder comprises two encoders including an RGB image encoder and a sparse depth image encoder, and three decoders including an interest point detection encoder, a descriptor decoder, and a dense depth prediction encoder. (Item 3) Item 1. The method of item 1, wherein the shared RGB encoder and descriptor decoder are fully convolutional neural networks configured to operate on full resolution of the anchor and transaction images. (Item 4) feeding the feature maps from the RGB encoder into a first task-specific decoder head to determine weights for detection of points of interest in the anchor images and output point of interest descriptions. The method of claim 1, further comprising: (Item 5) 2. The method of claim 1, wherein the descriptor decoder comprises a U-Net-like architecture and fuses fine- and coarse-level image information to match the identified descriptor with a descriptor related to the point of interest. (Item 6) 2. The method of claim 1, wherein the search space is constrained to a distinct epipolar line in the reference image plus a fixed offset on either side of the epipolar line and is within a feasible depth sensing range along the epipolar line. (Item 7) 2. The method of claim 1, wherein bilinear sampling is used by the joint RGB encoder and descriptor decoder to output the individual descriptors at desired points within the descriptor field. (Item 8) The step of triangulating the matched feature points comprises: estimating respective two-dimensional (2D) locations of the points of interest by computing a softmax across spatial axes and outputting a cross-correlation map; performing a soft-argmax operation and computing the 2D location of the node as the center of mass of the corresponding cross-correlation map; performing linear algebraic triangulation from the 2D estimate; Use Singular Value Decomposition (SVD) to output 3D points. The method according to item 1, comprising: (Item 9) A cross reality system, comprising: a head mounted display device having a display system; a computing system in operative communication with the head mounted display; a plurality of camera sensors in operative communication with the computing system; the computing system comprises: acquiring a multi-view image from the camera sensor, the multi-view image including an anchor image of a scene in a field of view of the camera sensor and a set of reference images of the scene; (i) passing the anchor image and the reference image through a shared RGB encoder and a descriptor decoder, which outputs separate descriptor fields for the anchor image and each reference image; (ii) detecting points of interest in the anchor image, along with relative poses, to determine a search space in the reference image from alternative viewpoints; and (iii) outputting intermediate feature maps. sampling the individual descriptors in the search space for each reference image, determining descriptors in the search space, and matching the identified descriptors with descriptors for points of interest in the anchor images, where such matched descriptors are referred to as matched feature points; triangulating the matched feature points using singular value decomposition (SVD) to output 3D points; passing the 3D points through a sparse depth encoder and creating a sparse depth image from the 3D points and an output feature map; a depth decoder generating a dense depth image based on the output feature map for the sparse depth encoder and the intermediate feature map from the RGB encoder; a cross-reality system configured to estimate a depth of a feature in a scene from a plurality of multi-view images captured by the camera sensor by a process including: (Item 10) 10. The cross-reality system of claim 9, wherein the shared RGB encoder and descriptor decoder comprises two encoders including an RGB image encoder and a sparse depth image encoder, and three decoders including a focus detection encoder, a descriptor decoder, and a dense depth prediction encoder. (Item 11) 10. The cross reality system of claim 9, wherein the shared RGB encoder and descriptor decoder are fully convolutional neural networks configured to operate on full resolution of the anchor and transaction images. (Item 12) The process for estimating depth of a feature in a scene from a plurality of multi-view images captured by the camera sensor further comprises: feeding the feature maps from the RGB encoder into a first task-specific decoder head to determine weights for detection of points of interest in the anchor images and output point of interest descriptions. 10. The cross reality system of item 9, comprising: (Item 13) 10. The cross-reality system of claim 9, wherein the descriptor decoder comprises a U-Net-like architecture and fuses fine- and coarse-level image information to match the identified descriptor with a descriptor related to the point of interest. (Item 14) 10. The cross reality system of item 9, wherein the search space is constrained to a distinct epipolar line in the reference image plus a fixed offset on either side of the epipolar line and within a feasible depth sensing range along the epipolar line. (Item 15) 10. The cross reality system of claim 9, wherein bilinear sampling is used by the shared RGB encoder and descriptor decoder to output the individual descriptors at desired points within the descriptor field. (Item 16) The step of triangulating the matched feature points comprises: estimating respective two-dimensional (2D) locations of the points of interest by computing a softmax across spatial axes and outputting a cross-correlation map; performing a soft-argmax operation and computing the 2D location of the node as the center of mass of the corresponding cross-correlation map; performing linear algebraic triangulation from the 2D estimate; Use Singular Value Decomposition (SVD) to output 3D points. 10. The cross reality system of item 9, comprising: [Brief description of the drawings]

[0029] The drawings illustrate the design and utility of preferred embodiments of the present disclosure, in which like elements are referred to by common reference numerals. To better understand how the above and other advantages and objects of the present disclosure are obtained, a more particular description of the present disclosure, briefly described above, will be given by reference to specific embodiments thereof, which are illustrated in the accompanying drawings. With the understanding that these drawings depict only exemplary embodiments of the present disclosure and therefore are not to be considered as limiting its scope, the present disclosure will be described and explained with additional specificity and detail through the use of the accompanying drawings.

[0030] [Figure 1]FIG. 1 is a schematic diagram of an exemplary cross-reality system for providing a cross-reality experience, according to one embodiment.

[0031] [Diagram 2] FIG. 2 is a schematic diagram of a method for scene depth estimation according to one embodiment.

[0032] [Diagram 3] FIG. 3 is a block diagram of a shared RGB encoder and descriptor decoder architecture used in the method of FIG. 2 according to one embodiment.

[0033] [Figure 4] FIG. 4 illustrates a process for limiting the extent of a search space using epipolar sampling and depth range sampling as used within the method of FIG. 2, according to one embodiment.

[0034] [Diagram 5] FIG. 5 is a block diagram illustrating an architecture for a feature point network as used in the method of FIG. 2, according to one embodiment.

[0035] [Figure 6] FIG. 6 illustrates a qualitative comparison between the method embodiment of FIG. 2 and various other different methods.

[0036] [Figure 7] FIG. 7 shows a sample 3D reconstruction of a scene from estimated depth map I of an embodiment of the method of FIG. 2 described herein.

[0037] [Figure 8] FIG. 8 shows Table 1 with a comparison of the performance of different descriptors on ScanNet.

[0038] [Figure 9] FIG. 9 shows Table 2 with a comparison of the performance of depth estimation on ScanNet.

[0039] [Figure 10] FIG. 10 shows Table 3 with a comparison of the performance of depth estimation on ScanNet for different numbers of images.

[0040] [Figure 11] FIG. 11 shows Table 4 with a comparison of depth estimation on Sun3D.

[0041] [Figure 12] FIG. 12 sets forth equations for the process for each point of interest's descriptor to be convolved with the descriptor field along its corresponding epipolar line for each image viewpoint, as used in the method of FIG. 2, according to one embodiment.

[0042] [Figure 13] 13-16 set forth equations for the process for algebraic triangulation to obtain 3D points as used within the method of FIG. 2, according to one embodiment. [Figure 14] 13-16 set forth equations for the process for algebraic triangulation to obtain 3D points as used within the method of FIG. 2, according to one embodiment. [Figure 15] 13-16 set forth equations for the process for algebraic triangulation to obtain 3D points as used within the method of FIG. 2, according to one embodiment. [Figure 16] 13-16 set forth equations for the process for algebraic triangulation to obtain 3D points as used within the method of FIG. 2, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0043] Detailed Description The following describes various embodiments of systems and methods for estimating depth of features in a scene or environment surrounding a user of a spatial computing system, such as an XR system, in an end-to-end process. Various embodiments will now be described in detail with reference to the drawings, which are provided as illustrative examples of the present disclosure, to enable those skilled in the art to practice the present disclosure. It should be noted that the following figures and examples are not meant to limit the scope of the present disclosure. If certain elements of the present disclosure can be implemented partially or completely using known components (or methods or processes), only a portion of such known components (or methods or processes) necessary for understanding the present disclosure will be described, and detailed descriptions of other parts of such known components (or methods or processes) will be omitted so as not to obscure the present disclosure. Furthermore, various embodiments encompass current and future known equivalents of components referenced herein as examples.

[0044] Furthermore, the systems and methods for estimating depth of features within a scene or environment surrounding a user of a spatial computing system may also be implemented independent of an XR system, and the embodiments depicted herein are described in connection with an XR system for illustrative purposes only.

[0045] Referring to Figure 1, an exemplary XR system 100 is illustrated, according to one embodiment. The XR system 100 includes a head-mounted display device 2 (also referred to as a head-mounted viewing component 2), a handheld controller 4 (also referred to as a handheld controller component 4), and an interconnected ancillary computing system or controller 6 (also referred to as an interconnected ancillary computing system or controller component 6), which may be configured to be worn on a user as a beltpack or equivalent. Each of these components operatively communicate (i.e., are operatively coupled to) each other and other connected resources 8 (such as cloud computing or cloud storage resources) via wired or wireless communication connections 10, 12, 14, 16, 17, 18, such as those defined by IEEE 802.11, Bluetooth (RTM), and other connectivity standards and configurations. The head mounted display device 2 includes two rendered optical elements 20 through which the user may see the world around them along with video images and visual components produced by associated system components, including a pair of image sources (e.g., microdisplay panels) and viewing optics for displaying computer-generated images on the optical elements 20 for an augmented reality experience. In the illustrated embodiment, the head mounted display device 2 and pair of image sources are lightweight, low cost, have a small form factor, have a wide virtual image field of view, and are as transparent as possible. As illustrated in FIG. 1, the XR system 100 also includes various sensors configured to provide information about the user's environmental surroundings, including, but not limited to, various camera type sensors 22, 24, 26 (such as monochrome, color / RGB, and / or thermal), a depth camera sensor 28, and / or a sound sensor 30 (such as a microphone).

[0046] In addition, it is desirable for the XR system 100 to be configured to present virtual image information in multiple focal planes (e.g., two or more) in order to be practical for a variety of use cases without exceeding acceptable tolerances for vergence-divergence-accommodation mismatch. U.S. Patent Application Nos. 14 / 555,585, 14 / 690,401, 14 / 331,218, 15 / 481,255, 62 / 627,155, 62 / 518,539, 16 / 229,532, 16 / 155,564, 15 / 413,284, 16 / 020,541, 62,702,322, 62 / 206,765, 15,597,694, 16 / 221,065, 15 / 968,673, and 62 / 682,788 (each of which is incorporated herein by reference in its entirety) describe various aspects of the XR system 100 and its components in further detail.

[0047] In various embodiments, a user wears an augmented reality system, such as the XR system 100 depicted in FIG. 1, which may also be referred to as a “spatial computing” system in reference to the interaction of such system with the three-dimensional world around the user when operated. The cameras 22, 24, 26 and the computing system 6 are configured to map the user's surroundings and / or create a “mesh” of such an environment, comprising various points representing the geometry of various objects within the user's surroundings, such as walls, floors, chairs, and the like. The spatial computing system may be configured to map or mesh the environment around the user and run or operate software, such as that available from Magic Leap, Inc. (Planation, Florida), which may be configured to utilize the room map or mesh to assist the user in placing, manipulating, visualizing, creating, and modifying various objects and elements within the three-dimensional space around the user. As shown in FIG. 1, the XR system 100 may also be operatively coupled to additional connected resources 8, such as other computing systems, by cloud or other connectivity configurations.

[0048] It should be understood that the methods, systems, and configurations described herein are broadly applicable to a variety of scenarios outside the realm of wearable spatial computing, such as the XR system 100, depending on the appropriate sensors and associated data available.

[0049] In contrast to previous systems and methods for scene depth estimation, the disclosed system and method (a) removes the cost volume dependency in MVS techniques, thus significantly reducing the amount of computation, (b) complements camera pose estimation using sparse VIO or SLAM by reusing detected interest points and descriptors, (c) utilizes geometry-based MVS concepts to guide the algorithm and improve interpretability, and (d) learns sparse 3D landmarks in conjunction with a sparse / dense formulation in an end-to-end manner to benefit from the accuracy and efficiency of the sparse / dense technique. The network in the disclosed system and method is a multi-task model (see [Reference 22]) consisting of an encoder-decoder structure with two encoders, one for RGB images and one for sparse depth images, and three decoders, one for interest point detection, one for descriptors, and one for dense depth prediction. A differentiable module is also utilized which efficiently triangulates points using geometric initialization and forms the critical link between the interest point decoder, the descriptor decoder and the sparse depth encoder, enabling end-to-end training.

[0050] These methods and configurations are broadly applicable to a variety of scenarios outside the realm of wearable spatial computing, provided that appropriate sensors and associated data are available.

[0051] One of the challenges in spatial computing relates to utilizing data captured by various operatively coupled sensors of the XR system 100 (such as elements 22, 24, 26, 28 of the system 100 of FIG. 1 ) in making decisions that are useful and / or important to a user, such as in computer vision and / or object recognition tasks that may relate to the three-dimensional world around the user. Disclosed herein are methods and systems for generating a 3D reconstruction of a scene, such as a 3D environment surrounding a user of the XR system 100, using only RGB images, such as RGB images from cameras 22, 24, and 26, without using depth data from the depth sensor 28.

[0052] In contrast to previous methods of depth estimation for scenes such as indoor environments, the present disclosure introduces an approach for depth estimation by learning to triangulate and densify sparse points for multi-view stereo. In sharp contrast to cost-volume approaches, the disclosed system and method utilizes an efficient depth estimation approach by first (a) detecting points of interest and evaluating descriptors for them, then (b) learning to match and triangulate a small set of points of interest, and finally densifying this sparse set of 3D points using a CNN. An end-to-end network is trained using intermediate 2D images and 3D geometric supervision along with depth supervision, efficiently implementing all three steps within a deep learning framework. Importantly, the first step of the disclosed method complements pose estimation using point of interest detection and descriptor learning. The method is shown to produce state-of-the-art results on depth estimation for different scene lengths with lower computational complexity. Furthermore, the method is generalized to newer environments, and the descriptors output by the network are preferentially compared to robust baselines.

[0053] In the method of this disclosure, sparse 3D landmarks are learned in conjunction with a sparse / dense formula in an end-to-end manner to (a) remove the dependency on cost volume as in MVS techniques, thus significantly reducing computational costs, (b) complement camera pose estimation using sparse VIO or SLAM by reusing detected interest points and descriptors, (c) utilize geometry-based MVS concepts to guide the algorithm and improve interpretability, and (d) benefit from the accuracy and efficiency of the sparse / dense technique. The network used in the method is a multi-task model (see [Reference 22]) consisting of an encoder-decoder structure with two encoders, one for RGB images and one for sparse depth images, and three decoders, one for interest point detection, one for descriptors, and one for dense depth prediction. The method also utilizes a differentiable module that efficiently triangulates points using geometric initialization and forms the critical link between the interest point decoder, the descriptor decoder and the sparse depth encoder, enabling end-to-end training.

[0054] An embodiment of a method 110 and system 110 for scene depth estimation can be broadly subdivided into three steps, as illustrated in the schematic diagram of FIG. 2. In a first step 112, the target or anchor image 114 and the multi-view image 116 are passed through a shared RGB encoder and descriptor decoder 118 (including an RGB image encoder 119, a detector decoder 121, and a descriptor decoder 123), which outputs a descriptor field 120 for each image 114, 116. A point of interest 122 is also detected for the target or anchor image 114. In a second step 124, the point of interest 122 in the anchor image 114, together with a relative pose 126, is used to determine a search space in the reference image 116 from an alternative viewpoint. The descriptor 132 is sampled in the search space using an epipolar sampler 127 and a point sampler 129, respectively, to output a sampled descriptor 128, which is matched by a soft matcher 130 with the descriptor 128 for the point of interest 122. The matched feature points 134 are then triangulated using SVD using a triangulation module 136 to output 3D points 138. The output 3D points 138 are used by a sparse depth encoder 140 to create a sparse depth image. In the third and final step 142, the output feature map for the sparse depth encoder 140 and the intermediate feature maps from the RGB encoder 119 are collectively used to inform a depth decoder 144 to output a dense depth image 146. Each of the three steps is described in more detail below.

[0055] As explained above, the shared RGB encoder and descriptor decoder 118 consists of two encoders, the RGB image encoder 119 and the sparse depth image encoder 140, and three decoders, the detector decoder 121 (also called interest detector decoder 121), the descriptor decoder 123, and the dense depth decoder 144 (also called dense depth predictor decoder 144). In one embodiment, the shared RGB encoder and descriptor decoder 118 may comprise a SuperPoint-like (see [Reference 9]) formulation of a fully convolutional neural network architecture, which operates on full resolution images and produces interest detections with fixed length descriptors. The model processes and reduces the input image dimensions to a single shared encoder. The feature maps from the RGB encoder 119 are fed into two task-specific decoder "heads", which learn weights for interest detection and interest description. Our joint formulation of interest point detection and description in SuperPoint enables sharing of computational resources for the detection and description tasks and the downstream task of depth estimation. However, SuperPoint is trained on grayscale images and focuses on interest point detection and description for persistent pose estimation on high frame rate video streams, and therefore has a relatively shallow encoder. In contrast, our method focuses on image sequences with sufficient baselines and, therefore, longer intervals between subsequent frames. Furthermore, the shallow backbone of SuperPoint, which is suitable for sparse point analysis, has limited capacity for our downstream task of dense depth estimation. Therefore, the shallow backbone is replaced with a ResNet-50 (see [Reference 16]) encoder, which balances efficiency and performance. The output resolution of the interest point detector decoder 121 is the same as that of SuperPoint. To fuse fine- and coarse-level image information important for point matching, the method 110 may utilize a U-Net (see

[36] )-like architecture for the descriptor decoder 123, which outputs an N-dimensional descriptor tensor 120 at 1 / 8 of the image resolution, similar to SuperPoint.This architecture is illustrated in Figure 3. The interest detector network is trained by diluting the output of the original SuperPoint network, and the descriptors are trained by the matching formula described below.

[0056] The previous step provides the points of interest for the anchor image and the descriptors for all images, i.e. the complete set of anchor and reference images. The next step 124 of the method 110 involves point matching and triangulation. A simple approach would be to match the descriptors of the points of interest 122 sampled from the descriptor field 120 of the anchor image 114 to every possible location in each reference image 116. However, this would be computationally prohibitive. Therefore, the method 110 invokes geometric constraints to limit the search space and improve efficiency. Using concepts from multiview geometry, the method 100 searches only along epipolar lines in the reference images (see FIG. 14). Epipolar lines are determined by the relationship xFx T = 0, where x is the set of points in the image. The matched points are guaranteed to be on the epipolar line in an ideal scenario. However, practical limitations in obtaining a perfect pose lead to a search along the epipolar line with a small fixed offset on each side. Furthermore, the epipolar line extends from -∞ to ∞ in terms of depth values. The search space is constrained to be within a feasible depth sensing range from the epipolar line, and the sampling rate is varied within this limited range to obtain a descriptor field with the same output shape for implementation purposes, as illustrated in FIG. 4. Bilinear sampling is used to obtain a descriptor at the desired point in the descriptor field 120. The descriptor of each interest point 122 is convolved with the descriptor field 120 along its corresponding epipolar line for each image viewpoint, as illustrated in equation (1) of FIG. 12 and reproduced below.

number

[0057] To obtain the 3D points, the algebraic triangulation approach proposed in [Reference 21] is followed. Each point of interest j is treated independently from the others. The approach is built according to triangulating the 2D points of interest with the 2D position obtained from the peak value in each cross-correlation map. To estimate the 2D position, a softmax is first calculated across the spatial axis, as shown in equation (2) of FIG. 13 and reproduced below:

number

[0058] Then, using equation (3) of FIG. 14 (also reproduced below), the 2D location of the node is calculated as the centre of mass of the corresponding cross-correlation map, also referred to as a soft-argmax operation.

number

[0059] The important feature of soft-argmax is that instead of getting the index of the maximum, we simply compute the gradient-matched point x j, k The cross-correlation map C from the output 2D positions j, k In other words, unlike argmax, the soft-argmax operator is differentiable. It is possible to calculate the 3D position of a node from its 2D estimate x j, k A linear algebra triangulation approach is used to infer from the point z j The steps to find the 3D coordinates of the point [ka] This reduces to solving an overdetermined system of equations for homogeneous 3D coordinate vectors.

number

[0060] Simple triangulation algorithms assume that point coordinates from each view are independent of each other and therefore all make equal contributions to the triangulation. However, in some views, the 2D point locations cannot be reliably estimated (e.g., due to occlusion, artifacts, etc.), leading to unnecessary degradation of the final triangulation result. This significantly exacerbates the tendency of methods to optimize algebraic reprojection errors and pay non-uniform attention to different views. This problem can be solved by applying Random Sample Consensus (RANSAC) together with Huber loss (which corresponds to positive correspondence and is used to score the reprojection error). However, this has its own shortcomings. For example, using RANSAC may completely eliminate the gradient flow to the excluded views. To address the aforementioned issue, the weights w k are added to the coefficients of the matrix corresponding to the different views, as illustrated in equation (5) of FIG. 16. The weighting w is set to be the maximum value in each cross-correlation map. This allows the contribution of each camera view to be weighted lower while triangulating the point of interest. Note that the confidence value of the point of interest is set to 1. Equation (5) of FIG. 16, reproduced below, defines the matrix B=UDV T is solved via the differentiable singular value decomposition (SVD) of [ka] is set as the last column of V.

number

[0061] The final non-homogeneous value of z is the homogeneous 3D coordinate vector [ka] The fourth coordinate [ka] It is obtained by dividing by

[0062] Next, step 142 of the method 110 will be described, which involves the densification of the sparse depth points. A feature point detector network provides the location of the points. The z-coordinate of the triangulated points provides the depth. A sparse depth image of the same resolution as the input image is imputed with the depth of these sparse points. Note that gradients can be back-propagated from the sparse depth image to the 3D feature points of the input image. This is similar to the switch-an-pooling in SegNet (see [Reference 1]). The sparse depth image is passed through an encoder network, which is a more limited version of the image encoder network 119. More specifically, a ResNet-50 encoder is used after each layer, with a channel width that is 1 / 4 of the image encoder. These features are concatenated with the features obtained from the image encoder 119. A U-NET style decoder is used, similar to [Reference 6], with intermediate feature maps from both the image and the sparse depth encoder concatenated with intermediate feature maps of the same resolution in the decoder. Deep supervision across four scales is provided (see

[25] ). A spatial pyramid pooling block is also included to facilitate feature mixing at different receptive field sizes (see [15, 4]). Details of the architecture are shown in Figure 5.

[0063] The overall training objective will now be described. The entire network is trained using a combination of (a) cross-entropy loss between the output tensor of the interest detector decoder and the ground truth interest locations obtained from SuperPoint, (b) smooth-L1 loss between the 2D points output after soft-argmax and ground truth 2D point matching, (c) smooth-L1 loss between the 3D points output after SVD triangulation and the ground truth 3D points, (d) edge-aware smoothness loss on the output dense depth map, and (e) smooth-L1 loss over multiple scales between the predicted dense depth map output and the ground truth 3D depth map. The overall training objective is:

number

[0064] Working Example:

[0065] Implementation details:

[0066] Training: Most MVS datasets are trained on the DEMON dataset. However, the DEMON dataset mainly contains paired images with associated depth and pose information. Relative confidence estimation is critical for accurate triangulation in our algorithm, and we require sequences of length three or more to accurately estimate confidence and globally triangulate the points of interest. Hence, we move away from traditional datasets for MVS depth estimation and instead use ScanNet (see [8]). ScanNet is an RGB-D video dataset containing 2.5 million views in over 1,500 scans annotated with 3D camera poses, surface reconstructions, and instance-level semantic segmentation. Three views from the scans at a fixed interval of 20 frames, along with pose and depth information, form the training data points for our method. The target frames are passed through SuperPoint to detect points of interest, which is then trained while reducing the loss L ipThe depth images are diluted using . We use the depth images to determine ground truth 2D matching, unproject the depth, and determine ground truth 3D points. We train our model over 100,000 iterations using the PyTorch framework with a batch size of 24 and the ADAM optimizer with a learning rate of 0.0001 (β1=0.9, β2=0.999). We fix the image resolution to qVGA (240×320) and the number of interest points to 512 in each image, where at most half of the interest points are selected from an interest point detector thresholded at 5e-4, and the rest of the points are selected randomly from the image. Selecting random points ensures a uniform distribution of sparse points in the image, which aids in the densification process. We set the length of the sampled descriptors along the epipolar lines to be 100, even though we find that the matching is robust even for lengths as small as 25. We experimentally set the weights to be [0.1, 1.0, 2.0, 1.0, 2.0].

[0067] Evaluation: The ScanNet test set consists of 100 scans of different unique scenes relative to the 707 scenes in the training dataset. We first evaluate the performance of our detector and descriptor decoder for the purpose of pose estimation on ScanNet. We use the evaluation protocol and metrics proposed in SuperPoint, namely, mean localization error (MLE), matching score (MScore), repeatability (Rep), and percentage of correct poses estimated using the descriptor matching and PnP algorithms at a 5° (5 degree) threshold for rotation and 5cm for translation. We compare against SuperPoint, SIFT, ORB, and SURF at a NMS threshold of 3 pixels for Rep, MLE, and MScore as proposed in the SuperPoint paper. We then quantitatively measure the quality of our estimated depths using standard metrics: absolute relative error (AbsRel), absolute difference error (Absdiff), squared relative error (SqRel), root mean square error and its logarithmic scales (RMSE and log RMSE), and correct correspondence ratio (δ<1.25i, where i∈1,2,3).

[0068] We compare our method with recent deep learning approaches for MVS: (a) DPSNet: a deep plane sweeping approach, (b) MVDepthNet: a multi-view depth network, and (c) GP-MVSNet: a one-time non-parametric fusion approach using Gaussian processes. Note that these methods perform much better than traditional geometry-based stereo algorithms. Our primary results are based on sequences of length 3, but we also report numbers based on sequences of length 2, 4, 5, and 7 to understand the performance as a function of scene length. We evaluate our method on the Sun3D dataset to understand the generalization of our approach to other indoor scenes. We also discuss multiply-accumulate operations (MAC) for the different methods to understand the efficiency of their operation at runtime.

[0069] Descriptor quality:

[0070] Table 1 in Figure 8 shows the results of our detector and descriptor evaluation. Note that MLE and recall are detector metrics, MScore is the descriptor metric, and rotation@5 and translation@5 are combined metrics. We set the threshold for our detector to 0.0005, the same as that used during training. This results in a large number of interest points being detected (Num), which artificially inflates the recall score (Rep) in favor of our invention, but with poor localization performance as shown by the MLE metric. However, our MScore is comparable to SuperPoint, even though we trained our network to match only along epipolar lines, not the full image. Furthermore, we have the best rotation@5 and translation@5 metrics, indicating that the matches found using our descriptors help to accurately determine rotation and translation, i.e., pose. These results indicate that our training procedure can complement SuperPoint's homography matching technique and boost overall performance.

[0071] Depth results:

[0072] We set the same hyperparameters to evaluate our network for all scenarios and across all datasets, i.e., the number of points detected is fixed at 512, the length of the sampled descriptor is fixed at 100, and the detector threshold is fixed at 5e-4. To ensure uniform distribution of points of interest and avoid clusters, we set a high NMS value of 9, as suggested in [9]. The appendix has an ablation study across different choices of hyperparameters. Table 2 in Fig. 9 shows the performance of depth estimation on sequences of length 3 and gap 20, as used in the training set. For a fair comparison, we evaluate two versions of the competing approach: (1) an open-source training model that we provided, and (2) a model fine-tuned on ScanNet over 100,000 iterations with the default training parameters proposed in the manuscript or made available by the authors. We train each network using a gap of 20 frames, as in our invention. The fine-tuned models are denoted by the subscript “-FT” in Table 2 in Fig. 9. Not surprisingly, the fine-tuned models performed much better than the original models on the ScanNet evaluation. MVDepthNet has the least improvement after fine-tuning, which is due to the significant geometric and photometric extensions used during training, and therefore can generalize well. DPSNet benefits the most from fine-tuning, with a drop in absolute error of over 25%. However, our network according to the disclosed method outperforms all methods across all metrics. Figure 6 shows a qualitative comparison between the different methods, and Figure 7 shows a sample 3D reconstruction of the scene from the estimated depth map.

[0073] An important feature of any multi-view stereo method is its ability to improve with more views. Table 3 in Figure 10 shows the performance for different numbers of images. We set the frame gap to 20, 15, 12, and 10 for 2, 4, 5, and 7 frames, respectively. These gaps ensure that each set spans approximately a similar volume in 3D space, and any performance improvement emerges better from the network using available information as opposed to acquiring new information. We again observe that the method disclosed herein outperforms all other methods in all three metrics for different sequence lengths. A closer examination of the values ​​shows that DPSNet and GPMVSNet do not benefit from additional views, while MVDepthNet benefits from a small number of additional views but stagnates for more than four frames. In contrast, the method disclosed herein shows steady improvement in all three metrics with additional views. This can be attributed to our point matcher and triangulation modules, which naturally benefit from additional views.

[0074] As a final experiment, we test our network on the Sun3D test dataset, which consists of 80 pairs of images. Sun3D also captures the indoor environment, albeit at a much smaller scale compared to ScanNet. Table 4 in FIG. 11 shows the performance from the two versions of DPSNet and MVDepthNet discussed above compared to our network according to the disclosed embodiments. Note that DPSNet and MVDepthNet were originally trained on the Sun3D training database. The fine-tuned version of DPSNet performs better than the original network on the Sun3D test set due to the wider diversity in the ScanNet training database. MVDepthNet, in contrast, performs worse and overfits ScanNet, indicating that the original network is well trained and generalizes well. Notably, our method according to the disclosed embodiments again outperforms both methods, even though our trained network has not been through any images from the Sun3D database. This shows that our principle method of determining sparse depth and then densifying has good generalizability.

[0075] Next, we evaluate the total number of multiply-accumulate operations (MACs) required for our approach according to the disclosed embodiments. For a two-image sequence, we perform 16.57 gigamacs (GMacs) for the point detector and descriptor module, less than 0.002 GMacs for the matcher and triangulation module, and 67.90 GMacs for the sparse / dense module. Most of this is due to the U-NET-style feature tensors that connect the image and sparse depth encoders to the decoder. We perform a total of 84.48 GMacs to estimate depth for a two-image sequence. This is significantly lower than DPSNet, which performs 295.63 GMacs for a two-image sequence, and also less than real-time MVDepthNet, which performs 134.8 GMacs for a pair of images to estimate depth. It takes 90 ms to estimate depth on an NVidia TiTan RTX GPU, which is estimated to be 2.5 times faster than DPSNet. We believe that our method can be further accelerated by substituting custom implementations for PyTorch's native SVD and triangulation. Furthermore, because it is cost-volume independent, composite scaling laws, such as those derived for image recognition and object detection, can be easily extended to make our method more efficient.

[0076] The disclosed method for depth estimation provides an efficient depth estimation algorithm by learning to triangulate and densify sparse points in a multi-view stereo scenario. In all existing benchmarks, the methods disclosed herein outperform state-of-the-art results and demonstrate significant computational efficiency over competitive methods. It is expected that these methods can be extended by incorporating more effective attention mechanisms for interest point matching and additional anchor support view selection. The method may also incorporate deeper integration with the SLAM problem, such that depth estimation and SLAM overlap with each other.

[0077] Appendix 1: The references listed below correspond to the parenthetical references above ([References ##]), each of which is incorporated herein by reference in its entirety. [Table 1-1] [Table 1-2] [Table 1-3]

[0078] Various exemplary embodiments of the present invention are described herein. These examples are referred to in a non-limiting sense. They are provided to illustrate the more broadly applicable aspects of the present invention. Various modifications may be made to the described invention, and equivalents may be substituted without departing from the true spirit and scope of the present invention. In addition, many modifications may be made to adapt a particular situation, material, composition, process, process action, or step to the objective, spirit, or scope of the present invention. Furthermore, as will be understood by those skilled in the art, each of the individual variations described and illustrated herein has discrete components and features that can be easily separated from or combined with the features of any of the other several embodiments without departing from the scope or spirit of the present invention. All such modifications are intended to be within the scope of the claims associated with the present invention.

[0079] The present invention includes methods that may be implemented using the subject devices. The methods may comprise the act of providing such a suitable device. Such provisioning may be performed by an end user. In other words, the act of "providing" merely requires the end user to obtain, access, approach, locate, configure, activate, power on, or otherwise act to provide the device required in the subject methods. The methods recited herein may occur in any sequence of the recited events and the recited sequence of events that is logically possible.

[0080] Exemplary aspects of the invention have been described above, together with details regarding material selection and manufacture. As for other details of the invention, these may be understood in conjunction with the aforementioned reference patents and publications, and are generally known or may be understood by those skilled in the art. The same may be true with respect to the method-based aspects of the invention in terms of additional acts as generally or theoretically adopted.

[0081] In addition, the present invention has been described with reference to several embodiments, optionally incorporating various features, but the present invention is not limited to those described or illustrated as each variation of the invention is considered. Various modifications may be made to the invention described, and equivalents (whether recited herein or not included for purposes of some brevity) may be substituted without departing from the spirit and scope of the invention. In addition, when a range of values ​​is provided, it is to be understood that all intervening values ​​between the upper and lower limits of that range, and any other stated value or intervening values ​​within the stated range, are encompassed within the invention.

[0082] It is also contemplated that any optional features of the described inventive variations may be described and claimed independently or in combination with any one or more of the features described herein. Reference to a singular item includes the possibility that there are multiple identical items. More specifically, as used in this specification and the claims associated herewith, the singular forms "a," "an," "said," and "the" include plural references unless specifically stated otherwise. In other words, the use of articles allows for "at least one" of the items of the subject matter in the above description and in the claims associated herewith. Furthermore, it is noted that such claims may be drafted to exclude any optional element. Thus, this language is intended to serve as a predicate for the use of exclusive terminology such as "solely," "only," and the like in connection with the recitation of claim elements, or the use of a "negative" limitation.

[0083] Without the use of such exclusive terminology, the term "comprising" in a claim associated with the present invention shall be deemed to permit the inclusion of any additional elements, regardless of whether a given number of elements are recited in the claim, or the addition of features may be deemed to change the nature of the elements recited in such claim. Except as specifically defined herein, all technical and scientific terms used herein shall be given the broadest possible commonly understood meaning while maintaining the legitimacy of the claims.

[0084] The scope of the present invention should not be limited to the examples provided and / or this specification, but rather should be limited only by the scope of the claim terms associated with this disclosure.

Claims

1. 1. A method for estimating depth of a feature in a scene from multi-view images, the method comprising: obtaining a multi-view image including an anchor image of the scene and a set of reference images of the scene; (1) passing the anchor image and the reference image through a shared RGB encoder and a descriptor decoder that outputs separate descriptor fields for the anchor image and each reference image; (ii) detecting sparse attention points in the anchor image along with relative poses and determining a search space in the reference image from alternative viewpoints; and (iii) outputting intermediate feature maps, the descriptor decoder utilizing a learning architecture configured to train a descriptor; sampling the individual descriptors in the search space for each reference image, determining a descriptor in the search space, and matching the determined descriptors with descriptors for the sparse interest points in the anchor images, where such matched descriptors are referred to as matched feature points; triangulating the matched feature points using singular value decomposition (SVD) to output 3D points; passing the 3D points through a sparse depth encoder and creating a sparse depth image from the 3D points and an output feature map; a depth decoder generating a dense depth image based on the output feature map for the sparse depth encoder and the intermediate feature map from the shared RGB encoder; A method comprising:

2. 2. The method of claim 1 , wherein the shared RGB encoder and descriptor decoder are fully convolutional neural networks configured to operate on full resolution of the anchor and transaction images.

3. feeding the intermediate feature map from the shared RGB encoder into a first task-specific decoder head to determine weights for detection of the sparse attention points in the anchor image and output attention point descriptions. The method of claim 1 further comprising:

4. The method of claim 1 , wherein the descriptor decoder comprises a U-Net-like architecture and fuses fine- and coarse-level image information to match the determined descriptor with a descriptor for the sparse interest point.

5. The method of claim 1 , wherein the search space is constrained to a distinct epipolar line in the reference image and a fixed offset on either side of the epipolar line, within a feasible depth-sensing range along the epipolar line.

6. The method of claim 1 , wherein bilinear sampling is used by the joint RGB encoder and descriptor decoder to output the individual descriptors at desired points within the descriptor field.

7. The step of triangulating the matched feature points comprises: estimating individual two-dimensional (2D) locations of the sparse points of interest by calculating softmax across spatial axes and outputting a cross-correlation map; performing a soft-argmax operation to calculate the 2D location of the node as the center of mass of the corresponding cross-correlation map; performing linear algebraic triangulation from the estimated individual 2D positions; Using singular value decomposition (SVD) to output 3D points; The method of claim 1 , comprising:

8. A cross reality system, comprising: a head mounted display device having a display system; a computing system in operative communication with the head mounted display device; a plurality of camera sensors in operative communication with the computing system; Equipped with The computing system includes: acquiring a multi-view image from the camera sensor, the multi-view image including an anchor image of a scene in a field of view of the camera sensor and a set of reference images of the scene; (1) passing the anchor image and the reference image through a shared RGB encoder and a descriptor decoder that outputs separate descriptor fields for the anchor image and each reference image; (ii) detecting sparse attention points in the anchor image along with relative poses and determining a search space in the reference image from alternative viewpoints; and (iii) outputting intermediate feature maps, the descriptor decoder utilizing a learning architecture configured to train a descriptor; sampling the individual descriptors in the search space for each reference image, determining a descriptor in the search space, and matching the determined descriptors with descriptors for the sparse interest points in the anchor images, where such matched descriptors are referred to as matched feature points; triangulating the matched feature points using singular value decomposition (SVD) to output 3D points; passing the 3D points through a sparse depth encoder and creating a sparse depth image from the 3D points and an output feature map; a depth decoder generating a dense depth image based on the output feature map for the sparse depth encoder and the intermediate feature map from the shared RGB encoder; a cross-reality system configured to estimate a depth of a feature in a scene from a plurality of multi-view images captured by the camera sensor by a process including:

9. 9. The cross reality system of claim 8, wherein the shared RGB encoder and descriptor decoder are fully convolutional neural networks configured to operate on full resolution of the anchor and transaction images.

10. The process for estimating depth of a feature in a scene from a plurality of multi-view images captured by the camera sensor comprises: feeding the intermediate feature map from the shared RGB encoder into a first task-specific decoder head to determine weights for detection of the sparse attention points in the anchor image and output attention point descriptions; The cross reality system of claim 8 further comprising:

11. The cross-reality system of claim 8, wherein the descriptor decoder comprises a U-Net-like architecture and fuses fine- and coarse-level image information to match the determined descriptor with a descriptor for the sparse attention point.

12. 9. The cross-reality system of claim 8, wherein the search space is constrained to a distinct epipolar line in the reference image and a fixed offset on either side of the epipolar line, within a feasible depth sensing range along the epipolar line.

13. 9. A cross-reality system as claimed in claim 8, wherein bilinear sampling is used by the joint RGB encoder and descriptor decoder to output the individual descriptors at desired points within the descriptor field.

14. The step of triangulating the matched feature points comprises: estimating individual two-dimensional (2D) locations of the sparse points of interest by calculating softmax across spatial axes and outputting a cross-correlation map; performing a soft-argmax operation to calculate the 2D location of the node as the center of mass of the corresponding cross-correlation map; performing linear algebraic triangulation from the estimated individual 2D positions; Using singular value decomposition (SVD) to output 3D points; The cross reality system of claim 8 , comprising: