IP Library Granted Patent US 12,659,447
Granted Patent B2
US 12,659,447 · App. 18/636,101 · Granted Jun 16, 2026

Self-supervised training of a depth estimation system

Inventors: Clément Godard (London, GB); Oisin Mac Aodha (Los Angeles, CA); Michael Firman (London, GB); Gabriel J. Brostow (London, GB)
Assignee: Niantic Spatial, Inc.
H04N13/271G06T7/579G06T7/593G06T7/73G06T2207/10016G06T2207/10028G06T2207/20081H04N2013/0081H04N2013/0088
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,659,447
App. No.
18/636,101
Granted
Jun 16, 2026
Kind
B2
Abstract

A method for training a depth estimation model and methods for use thereof are described. Images are acquired and input into a depth model to extract a depth map for each of the plurality of images based on parameters of the depth model. The method includes inputting the images into a pose decoder to extract a pose for each image. The method includes generating a plurality of synthetic frames based on the depth map and the pose for each image. The method includes calculating a loss value with an input scale occlusion and motion aware loss function based on a comparison of the synthetic frames and the images. The method includes adjusting the plurality of parameters of the depth model based on the loss value. The trained model can receive an image of a scene and generate a depth map of the scene according to the image.

Claims (83)

1 . A non-transitory computer-readable storage medium storing:

a depth-pose hybrid model including a depth encoder and a pose decoder, wherein the pose decoder is configured to receive input based on output from the depth encoder, the depth-pose hybrid model manufactured by a process comprising:

acquiring a set of images;

applying the depth-pose hybrid model to generate depth maps and poses for the set of images based on parameters of the depth-pose hybrid model;

generating synthetic frames based on the depth maps and the poses for the set of images;

calculating a loss value with a loss function based on a comparison of the synthetic frames and the set of images; and

adjusting the parameters of the depth-pose hybrid model based on the loss value; and

instructions that, when executed by a computing device, cause the computing device to apply the depth-pose hybrid model to an image of a scene to generate a depth map of the scene.

2 . The non-transitory computer-readable storage medium of claim 1 , wherein the depth encoder and the pose decoder share at least some of the parameters of the depth-pose hybrid model.

3 . The non-transitory computer-readable storage medium of claim 1 , wherein generating the depth maps and the poses for the set of images comprises:

applying the depth encoder to the set of images to generate the depth maps; and

applying the pose decoder to the depth maps to generate the poses.

4 . The non-transitory computer-readable storage medium of claim 1 , wherein the set of images comprises monocular video with each image of the monocular video captured at a corresponding timestamp, wherein generating the synthetic frames comprises:

for images of the monocular video, generating synthetic frames at adjacent timestamps.

5 . The non-transitory computer-readable storage medium of claim 4 , wherein calculating the loss value with the loss function comprises:

calculating, for images of the monocular video, differentials between generated synthetic frames and images of the monocular video with matching timestamps.

6 . The non-transitory computer-readable storage medium of claim 1 , wherein:

the set of images includes a first image at a first timestamp, a second image at a second timestamp, and a third image at a third timestamp,

a first synthetic frame is generated at the second timestamp with the first image and a second synthetic frame is generated at the second timestamp with the third image, and

calculating the loss value with the loss function further comprises:

calculating a first set of differentials between the first synthetic frame and the second image and a second set of differentials between the second synthetic frame and the second image; and

for each pixel of the second image, identifying a minimum differential between the first set of differentials and the second set of differentials, wherein the loss value is based on the minimum differentials.

7 . The non-transitory computer-readable storage medium of claim 5 , wherein calculating the loss value with the loss function further comprises:

identifying one or more static features in the monocular video,

wherein the loss value is based on filtering out the differentials of the one or more static features.

8 . The non-transitory computer-readable storage medium of claim 7 , wherein identifying the one or more static features in the monocular video comprises:

identifying a region in a first image at a first timestamp of the monocular video and in a second image at a second timestamp of the monocular video;

determining whether an object is in a similar position between the first image and the second image; and

in response to determining that the object is in the similar position between the first image and the second image, defining the region as a static feature.

9 . The non-transitory computer-readable storage medium of claim 1 , wherein the set of images comprises stereoscopic image pairs with each stereoscopic image pair captured by a stereoscopic pair of cameras, wherein generating the synthetic frames comprises:

for each stereoscopic image pair, generating a synthetic frame based on a first image of the stereoscopic image pair.

10 . The non-transitory computer-readable storage medium of claim 9 , wherein adjusting the parameters of the depth-pose hybrid model based on the comparison of the synthetic frames and the set of images comprises:

calculating, for each stereoscopic image pair, a differential between the generated synthetic frame and a second image of the stereoscopic image pair; and

adjusting the parameters to minimize the differentials.

11 . A computer-implemented method comprising:

receiving an image of a scene;

inputting the image into a depth-pose hybrid model including a depth encoder and a pose decoder, wherein the pose decoder is configured to receive input based on output from the depth encoder, the depth-pose hybrid model trained with a process including:

acquiring a set of images;

inputting the set of images into the depth-pose hybrid model to extract depth maps and poses for the set of images based on parameters of the depth-pose hybrid model;

generating synthetic frames based on the depth maps and the poses for the set of images;

calculating a loss value with a loss function based on a comparison of the synthetic frames and the set of images; and

adjusting the parameters of the depth-pose hybrid model based on the comparison of the synthetic frames and the set of images; and

generating, by the depth-pose hybrid model, a depth map of the scene corresponding to the image of the scene.

12 . The computer-implemented method of claim 11 , wherein the depth encoder and the pose decoder share at least some of the parameters of the depth-pose hybrid model.

13 . The computer-implemented method of claim 11 , wherein generating the depth maps and the poses for the set of images comprises:

applying the depth encoder to the set of images to generate the depth maps; and

applying the pose decoder to the depth maps to generate the poses.

14 . The computer-implemented method of claim 11 , wherein the set of images comprises monocular video with each image of the monocular video captured at a corresponding timestamp, wherein generating the synthetic frames comprises:

for images of the monocular video, generating synthetic frames at adjacent timestamps.

15 . The computer-implemented method of claim 14 , wherein calculating the loss value with the loss function comprises:

calculating, for images of the monocular video, differentials between generated synthetic frames and images of the monocular video with matching timestamps.

16 . The computer-implemented method of claim 11 , wherein:

the set of images includes a first image at a first timestamp, a second image at a second timestamp, and a third image at a third timestamp,

a first synthetic frame is generated at the second timestamp with the first image and a second synthetic frame is generated at the second timestamp with the third image, and

calculating the loss value with the loss function further comprises:

calculating a first set of differentials between the first synthetic frame and the second image and a second set of differentials between the second synthetic frame and the second image; and

for each pixel of the second image, identifying a minimum differential between the first set of differentials and the second set of differentials, wherein the loss value is based on the minimum differentials.

17 . The computer-implemented method of claim 11 , further comprising:

displaying the image of the scene augmented with virtual content based on the depth map of the scene.

18 . A non-transitory computer-readable storage medium storing instructions that, when executed by a computing device, cause the computing device to perform operations comprising:

receiving an image of a scene;

inputting the image into a depth-pose hybrid model including a depth encoder and a pose decoder, wherein the pose decoder is configured to receive input based on output from the depth encoder, the depth-pose hybrid model trained with a process including:

acquiring a set of images;

inputting the set of images into the depth-pose hybrid model to extract depth maps and poses for the set of images based on parameters of the depth-pose hybrid model;

generating synthetic frames based on the depth maps and the poses for the set of images;

calculating a loss value with a loss function based on a comparison of the synthetic frames and the set of images; and

adjusting the parameters of the depth-pose hybrid model based on the comparison of the synthetic frames and the set of images; and

generating, by the depth-pose hybrid model, a depth map of the scene corresponding to the image of the scene.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein:

the set of images includes a first image at a first timestamp, a second image at a second timestamp, and a third image at a third timestamp,

a first synthetic frame is generated at the second timestamp with the first image and a second synthetic frame is generated at the second timestamp with the third image, and

calculating the loss value with the loss function further comprises:

calculating a first set of differentials between the first synthetic frame and the second image and a second set of differentials between the second synthetic frame and the second image; and

for each pixel of the second image, identifying a minimum differential between the first set of differentials and the second set of differentials, wherein the loss value is based on the minimum differentials.

20 . The non-transitory computer-readable storage medium of claim 18 :

wherein the set of images comprises monocular video with each image of the monocular video captured at a corresponding timestamp;

wherein generating the synthetic frames comprises: for images of the monocular video, generating synthetic frames at adjacent timestamps;

wherein calculating the loss value with the loss function comprises: calculating, for images of the monocular video, differentials between generated synthetic frames and images of the monocular video with matching timestamps;

wherein calculating the loss value with the loss function further comprises: identifying one or more static features in the monocular video; and

wherein the loss value is based on filtering out the differentials of the one or more static features.

21 . The non-transitory computer-readable storage medium of claim 1 :

wherein the depth maps generated by the depth-pose hybrid model have lower resolutions than corresponding images of the set of images; and

wherein the process further comprises, prior to generating the synthetic frames, upsampling the depth maps to resolutions of corresponding images of the set of images.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: NIANTIC, INC.
To: NIANTIC SPATIAL, INC.
Reel/Frame 071555/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2024
From: GODARD, CLÉMENT; AODHA, OISIN MAC; FIRMAN, MICHAEL; BROSTOW, GABRIEL J.
To: NIANTIC, INC.
Reel/Frame 067159/0265 →
Continuity (4)
Continuation 17354517 · Jun 22, 2021
Continuation 16413907 · May 16, 2019
Provisional Application 62673045 · May 17, 2018
Related Publication 20240340400A1 · Oct 10, 2024
References Cited (59)
US 11044462B2 · Watson et al. · 2021 [cited by applicant]
US 11082681B2 · Godard et al. · 2021 [cited by applicant]
US 20130077820A1 · Marais et al. · 2013 [cited by applicant]
US 20150063681A1 · Bhardwaj et al. · 2015 [cited by applicant]
US 20150302665A1 · Miller · 2015 [cited by applicant]
US 20160335795A1 · Flynn et al. · 2016 [cited by applicant]
US 20170364771A1 · Pinheiro et al. · 2017 [cited by applicant]
US 20180053056A1 · Rabinovich et al. · 2018 [cited by applicant]
US 20180059679A1 · Taimouri · 2018 [cited by examiner]
US 20190012799A1 · Tsurumi · 2019 [cited by applicant]
US 20190035165A1 · Gausebeck · 2019 [cited by applicant]
US 20190139179A1 · Wang et al. · 2019 [cited by applicant]
US 20190325597A1 · Chakravarty et al. · 2019 [cited by applicant]
US 20200013176A1 · Kang et al. · 2020 [cited by applicant]
US 20200258249A1 · Angelova et al. · 2020 [cited by applicant]
CN 102223553A · 2011 [cited by applicant]
CN 107067465A · 2017 [cited by applicant]
CN 107204010A · 2017 [cited by applicant]
CN 107438866A · 2017 [cited by applicant]
CN 107578436A · 2018 [cited by applicant]
CN 107767413A · 2018 [cited by applicant]
CN 107909150A · 2018 [cited by applicant]
CN 108629800A · 2018 [cited by applicant]
CN 109191514A · 2019 [cited by applicant]
JP 2011188358A · 2011 [cited by applicant]
JP 2015087851A · 2015 [cited by applicant]
JP 2016143076A · 2016 [cited by applicant]
JP 2016148588A · 2016 [cited by applicant]
JP 2017129904A · 2017 [cited by applicant]
KR 1020150140392A · 2015 [cited by applicant]
KR 1020170120639A · 2017 [cited by applicant]
TW 201842478A · 2018 [cited by applicant]
WO WO2018046964A1 · 2018 [cited by applicant]
China National Intellectual Property Administration, Office Action, CN Patent Application No. 201980047649.X, Oct. 13, 2021, 15 pages. [cited by applicant]
China National Intellectual Property Administration, Office Action, CN Patent Application No. 202080005441.4, Nov. 1, 2021, 12 pages. [cited by applicant]
European Patent Office, Extended European Search Report and Opinion, EP Patent Application No. 19802580.1, May 7, 2021, nine pages. [cited by applicant]
Garg, R. et al., “Unsupervised cnn for single view depth estimation: Geometry to the rescue,” European Conference on Computer Vision, Oct. 8, 2016, pp. 740-756. [cited by applicant]
Godard, C. et al., “Unsupervised monocular depth estimation with left-right consistency,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017, pp. 270-279. [cited by applicant]
Goddard, C. et al., “Digging into Self-Supervised Monocular Depth Estimation,” arXiv preprint arXiv:1806.01260, 2018, 18 pages. [cited by applicant]
IP Australia, Examination Report, AU Patent Application No. 2021206838, Aug. 8, 2022, four pages. [cited by applicant]
IP Australia, Examination Report, AU Patent Application No. 2020266341, Dec. 16, 2020, seven pages. [cited by applicant]
Japan Patent Office, Office Action, JP Patent Application No. 2020-560813, Aug. 10, 2021, four pages. [cited by applicant]
Japan Patent Office, Office Action, JP Patent Application No. 2020-564565, Sep. 13, 2022, eight pages. [cited by applicant]
Kuznietsov, Y. et al., ‘Semi-supervised deep learning for monocular depth map prediction’, arXiv:1702.002706, May 9, 2017, pp. 1-14. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2019/032616, Sep. 26, 2019, 12 pages. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/IB2020/054170, Jul. 27, 2020, nine pages. [cited by applicant]
Taiwan Intellectual Property Administration, Office Action, TW Patent Application No. 109114835, Sep. 21, 2023, 20 pages. [cited by applicant]
Taiwan Intellectual Property Administration, Office Action, TW Patent Application No. 108117215, May 3, 2022, seven pages. [cited by applicant]
Uhrig, J. et al., “DeMON: Depth and Motion Network for Learning Monocular Stereo,” The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Jul. 26, 2017, pp. 5038-5047. [cited by applicant]
United States Office Action, U.S. Appl. No. 16/413,907, Sep. 18, 2020, nine pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/213,634, Oct. 14, 2021, 10 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/696,529, Dec. 8, 2022, nine pages. [cited by applicant]
Wang, R. et al., “Stereo DSO: Large-Scale Direct Sparse Visual Odometry with Stereo Cameras,” arXiv:1708.07878, Aug. 25, 2017, pp. 1-15. [cited by applicant]
Xie, J. et al., “Deep3D: Fully Automatic 2D-to-3D Video Conversion with Deep Convolution al Neural Networks,” European Conference on Computer Vision, Oct. 2016, pp. 1-16. [cited by applicant]
Yang, N. et al., “Deep Virtual Stereo Odometry: Leveraging Deep Depth Prediction for Monocular Direct Sparse Odometrv,” arXiv:1807.02570, Jul. 25, 2018, pp. 1-17. [cited by applicant]
Zhou, T. et al., “Unsupervised Learning of Depth and Ego-Motion from Video,”The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Jul. 26, 2017, pp. 1851-1858. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/354,517, Mar. 16, 2023, 12 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/354,517, Oct. 20, 2023, seven pages. [cited by applicant]
Japan Patent Office, Office Action, JP Patent Application No. 2020-572883, Aug. 10, 2021, four pages. [cited by applicant]