IP Library Granted Patent US 12,430,778
Granted Patent B2
US 12,430,778 · App. 17/596,794 · Granted Sep 30, 2025

Depth estimation using a neural network

Inventors: Abhishek Kar (Sunnyvale, CA); Hossam Isack (Oakland, CA); Adarsh Prakash Murthy Kowdle (San Francisco, CA); Aveek Purohit (Palo Alto, CA); Dmitry Medvedev (San Francisco, CA)
Assignee: GOOGLE LLC
G06T7/50G06T7/285G06T7/593G06T2207/10028G06T2207/20084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,430,778
App. No.
17/596,794
Granted
Sep 30, 2025
Kind
B2
Abstract

According to an aspect, a method for depth estimation includes receiving image data from a sensor system, generating, by a neural network, a first depth map based on the image data, where the first depth map has a first scale, obtaining depth estimates associated with the image data, and transforming the first depth map to a second depth map using the depth estimates, where the second depth map has a second scale.

Claims (79)

1. A method for depth estimation, the method comprising:

receiving an image frame from a sensor system of a computing device;

generating, by a model, a first depth map and first surface normals based on the image frame, the first depth map having a first scale, the first scale being a non-real-world scale;

receiving depth estimate data having values according to a second scale, the second scale being a real-world scale;

estimating at least one affine parameter based on the depth estimate data and the first depth map;

transforming the first depth map to a second depth map using the at least one affine parameter, the second depth map having the second scale;

estimating second surface normals from the second depth map;

computing a loss based on the first surface normals and the second surface normals; and

updating the model based on the loss.

2. The method of claim 1 , wherein the depth estimate data includes feature points computed from the image frame.

3. The method of claim 2 , further comprising:

detecting at least one planar region in the image frame from the feature points; and

estimating the at least one affine parameter based on the depth estimate data-estimates and the at least one planar region.

4. The method of claim 1 , wherein the at least one affine parameter is estimated based on offsets between the first depth map and the depth estimate data-estimates.

5. The method of claim 1 , further comprising:

generating a three-dimensional map from the second depth map; and

detecting at least one planar region in the image frame using the three-dimensional map, the at least one planar region configured to be used to attach a virtual object.

6. The method of claim 1 , wherein the first depth map is generated by the model using a single image frame as an input to the model.

7. The method of claim 1 , wherein the depth estimate data includes depth data from a time-of-flight sensor.

8. The method of claim 1 , wherein the depth estimate data includes depth data from a light detection and ranging sensor.

9. A method comprising:

receiving image data from a sensor system of a user device;

generating, by a model, a first depth map based on the image data, the first depth map having a first scale;

obtaining depth estimates associated with the image data;

transforming the first depth map to a second depth map using the depth estimates, the second depth map having a second scale;

predicting, by the model, first surface normals based on the image data;

predicting second surface normals from the second depth map;

computing a self-consistency loss based on the first surface normals and the second surface normals; and

updating the model based on the self-consistency loss.

10. A depth estimation system comprising:

at least one processor; and

a non-transitory computer-readable medium storing executable instructions that cause the at least one processor to execute operations, the operations comprising:

receiving an image frame from a sensor system of a user device;

generating, by a model, a first depth map and first surface normals based on the image frame, the first depth map having a first scale, the first scale being a non-real-world scale;

receiving depth estimates having values according to a second scale, the second scale being a real-world scale;

estimating at least one affine parameter based on the depth estimates and the first depth map, the at least one affine parameter including at least one of shift or scale;

transforming the first depth map to a second depth map using the at least one affine parameter, the second depth map having the second scale;

estimating second surface normals from the second depth map;

computing a loss based on the first surface normals and the second surface normals; and

updating the model based on the loss.

11. The depth estimation system of claim 10 , wherein the model is configured to execute on the user device, the model including a depth-wise separable convolution, a rectified linear activation function, and a bilinear upsampling operation.

12. The depth estimation system of claim 10 , wherein the depth estimates include feature points computed from the image frame.

13. The depth estimation system of claim 10 , wherein the operations further comprise:

receiving pose data, a gravity direction, and planar region data; and

estimating the at least one affine parameter also using the pose data, the gravity direction, and the planar region data.

14. The depth estimation system of claim 10 , wherein the operations further comprise:

executing an objective function to estimate at least one of the scale or the shift.

15. The depth estimation system of claim 10 , wherein the operations further comprise:

generating a three-dimensional (3D) map based on the second depth map; and

detecting at least one planar region in the image frame by executing a plane fitting algorithm on the three-dimensional-3D map.

16. A depth estimation system comprising:

at least one processor; and

a non-transitory computer-readable medium storing executable instructions that cause the at least one processor to execute operations, the operations comprising:

obtaining image data from a sensor system of a user device;

generating, by a model, a first depth map based on the image data, the first depth map having a first scale;

obtaining depth estimates associated with the image data;

estimating at least one affine parameter based on the depth estimates and the first depth map;

transforming the first depth map to a second depth map using the at least one affine parameter, the second depth map having a second scale;

predicting, using the model, first surface normals based on the image data;

predicting second surface normals from the second depth map;

computing a self-consistency loss based on the first surface normals and the second surface normals;

computing a loss based on the first surface normals and ground truth normals; and

updating the model based on the self-consistency loss and the loss.

17. A non-transitory computer-readable medium storing executable instructions that when executed by at least one processor cause the at least one processor to execute operations, the operations comprising:

receiving an image frame from a sensor system of a user device;

generating, by a model, a first depth map and first surface normals based on the image frame, the first depth map having a first scale, the first scale being a non-real-world scale;

receiving depth estimate data having values according to a second scale, the second scale being a real-world scale;

estimating at least one affine parameter based on the depth estimate data and the first depth map;

transforming the first depth map to a second depth map using the at least one affine parameter, the second depth map having the second scale, the second scale being a real-world scale;

estimating second surface normals from the second depth map;

computing a loss based on the first surface normals and the second surface normals; and

updating the model based on the loss.

18. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise:

estimating the at least one affine parameter based on offsets between the first depth map and the depth estimate data.

19. The non-transitory computer-readable medium of claim 17 , wherein the depth estimate data includes feature points computed from the image frame.

20. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise:

generating a three-dimensional map based on the second depth map; and

detecting at least one planar region in the image frame using the three-dimensional map, the at least one planar region configured to be used to attach a virtual object.

21. The non-transitory computer-readable medium of claim 17 , wherein the depth estimate data includes depth data from a time-of-flight sensor or a light detection and ranging sensor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2021
From: KAR, ABHISHEK; ISACK, HOSSAM; KOWDLE, ADARSH PRAKASH MURTHY; PUROHIT, AVEEK; MEDVEDEV, DMITRY
To: GOOGLE LLC
Reel/Frame 058466/0640 →
Continuity (1)
Related Publication 20220335638A1 · Oct 20, 2022
References Cited (25)
US 10916035B1 · Kroeger · 2021 [cited by applicant]
US 20180130210A1 · Hall · 2018 [cited by applicant]
US 20200402251A1 · Ban · 2020 [cited by examiner]
US 20210295599A1 · Adkinson · 2021 [cited by examiner]
US 20220051425A1 · Busam · 2022 [cited by examiner]
US 20220254121A1 · Xu · 2022 [cited by examiner]
CN 112132972A · 2020 [cited by applicant]
Eigen, David, and Rob Fergus. “Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-scale Convolutional Architecture.” 2015 IEEE International Conference on Computer Vision (ICCV). IEEE, 2015. (Year… [cited by examiner]
Sweeney, Chris, et al. “Efficient computation of absolute pose for gravity-aware augmented reality.” 2015 IEEE International Symposium on Mixed and Augmented Reality. IEEE, 2015. (Year: 2015). [cited by examiner]
Ma, Kuan, Feng Lu, and Xiaowu Chen. “Robust planar surface extraction from noisy and semi-dense 3D point cloud for augmented reality.” 2016 International Conference on Virtual Reality and Visualization (ICVRV). IEEE, 20… [cited by examiner]
El Amin, Ahmed, and Ahmed El-Rabbany. “Monocular VO Scale Ambiguity Resolution Using an Ultra Low-Cost Spike Rangefinder.” Positioning 11.04 (2020): 45. (Year: 2020). [cited by examiner]
Chiodini, Sebastiano, et al. “Retrieving scale on monocular visual odometry using low-resolution range sensors.” IEEE Transactions on Instrumentation and Measurement 69.8 (2020): 5875-5889. (Year: 2020). [cited by examiner]
Liu, Sibo, and Lijin Fang. “Unsupervised learning for monocular depth and motion with real scale.” 2020 Chinese Automation Congress (CAC). IEEE, 2020. (Year: 2020). [cited by examiner]
Qi, Xiaojuan, et al. “GeoNet: Geometric Neural Network for Joint Depth and Surface Normal Estimation.” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. IEEE, 2018. (Year: 2018). [cited by examiner]
Yin, Wei, Yifan Liu, and Chunhua Shen. “Virtual Normal: Enforcing Geometric Constraints for Accurate and Robust Depth Prediction.” arXiv preprint arXiv:2103.04216v4 (2021). (Year: 2021). [cited by examiner]
R. Ranftl, K. Lasinger, D. Hafner, K. Schindler, and V. Koltun, “Towards robust monocular depth estimation: Mixing datasets for zero-shot cross-dataset transfer,” IEEE Trans. Pattern Anal. Mach. Intell., 2020. (Year: 20… [cited by examiner]
Garg, Rahul, et al. “Learning Single Camera Depth Estimation Using Dual-Pixels.” 2019 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE, 2019. (Year: 2019). [cited by examiner]
Loo, Shing Yan, et al. “DeepRelativeFusion: Dense Monocular SLAM using Single-Image Relative Depth Prediction.” arXiv preprint arXiv:2006.04047v2 (2020). (Year: 2020). [cited by examiner]
International Search Report and Written Opinion for PCT Application No. PCT/US2021/070422, mailed on Feb. 4, 2022, 15 pages. [cited by applicant]
Ye, et al., “DRM-SLAM: Towards Dense Reconstruction of Monocular Slam With Scene Depth Fusion”, Neurocomputing, vol. 396, Jul. 1, 2020, pp. 76-91. [cited by applicant]
Lu, et al., “Extending Single Beam Lidar to Full Resolution by Fusing With Single Image Depth Estimation”, 2020 25th International Conference on Pattern Recognition (ICPR), Jan. 10-15, 2021, pp. 6343-6350. [cited by applicant]
Khan, et al., “Deep Learning-Based Monocular Depth Estimation Methods—A State-of-the-Art Review”, Sensors 2020, 2, https://www.mdpi.com/1424-8220/20/8/2272/htm, Apr. 16, 2020, 16 pages. [cited by applicant]
Xu, et al., “Direct Visual-Inertial Odometry with Semi-Dense Mapping”, https://www.sciencedirect.com/science/article/abs/pii/S0045790617312119, Oct. 4, 2019, 20 pages. [cited by applicant]
Yin, et al., “DiverseDepth: Affine-invariant Depth Prediction Using Diverse Data”, https://arxiv.org/abs/2002.00569, Feb. 3, 2020, 17 pages. [cited by applicant]
Office Action for Japanese Application No. 2022-509068 (with English Translation), mailed Oct. 3, 2023, 20 pages. [cited by applicant]