IP Library › Granted Patent US 12,705,770
Granted Patent B2
US 12,705,770 · App. 18/205,940 · Granted Aug 11, 2026

Photometric-based 3D object modeling

Inventor: Oliver Woodford (Santa Monica, CA)
Assignee: Snap Inc.
G06T7/55G06T5/50G06T5/80G06T2200/08G06T2207/10028
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,705,770
App. No.
18/205,940
Filed
Jun 5, 2023
Granted
Aug 11, 2026
Kind
B2
Art Unit
2676
USPC
382/106
Abstract

Aspects of the present disclosure involve a system and a method for performing operations comprising: accessing a source image depicting a target structure; accessing one or more target images depicting at least a portion of the target structure; computing correspondence between a first set of pixels in the source image of a first portion of the target structure and a second set of pixels in the one or more target images of the first portion of the target structure, the correspondence being computed as a function of camera parameters that vary between the source image and the one or more target images; and generating a three-dimensional (3D) model of the target structure based on the correspondence between the first set of pixels in the source image and the second set of pixels in the one or more target images based on a joint optimization of target structure and camera parameters.

Claims (58)

1 . A method comprising:

accessing a source image depicting a target structure;

accessing one or more target images depicting at least a portion of the target structure;

computing a first set of distances between each pixel in a first collection of pixels corresponding to the portion of the target structure depicted in the source image;

computing a second set of distance between each pixel in a second collection of pixels corresponding to the portion of the target structure depicted in the one or more target images;

selecting a sampling parameter based on at least one difference between the first and second sets of distances; and

generating a three-dimensional (3D) model of the target structure based on the selected sampling parameter.

2 . The method of claim 1 , further comprising:

generating the 3D model based on a joint optimization of the target structure and one or more camera parameters.

3 . The method of claim 2 , wherein the joint optimization comprises solving an optimization problem that is based on a cost function that relates pixels of the portion of the target structure in the source image to pixels in the one or more target images.

4 . The method of claim 1 , further comprising:

identifying the second collection of pixels as a function of a set of camera parameters; and

reducing photometric error to generate the 3D model.

5 . The method of claim 1 , further comprising:

un-distorting the first collection of pixels based on a set of camera parameters.

6 . The method of claim 1 , further comprising normalizing the first and second collection of pixels.

7 . The method of claim 1 , further comprising computing a sum of squares of computed differences between each pixel in the first and second collection of pixels.

8 . The method of claim 1 , further comprising:

computing a pixel to 3D coordinate correspondence between pixels in the source image and a 3D point on the target structure; and

computing a 3D coordinate to pixel correspondence between a 3D point on the target structure and a pixel in the one or more target images.

9 . The method of claim 1 , further comprising:

defining an optimization problem comprising a plurality of structure parameters and one or more camera parameters, the optimization problem being lighting invariant and surface normal invariant.

10 . The method of claim 9 , wherein solving the optimization problem comprises decoupling camera parameter updates from structure parameter updates thereby to reduce an amount of data that is stored.

11 . The method of claim 1 , wherein the source image and the one or more target images are received in real-time in a camera feed from a camera on a device.

12 . The method of claim 11 , further comprising:

accessing an augmented reality content item comprising an augmented reality effect; and

overlaying the augmented reality content item onto the camera feed based on the 3D model to provide an augmented reality experience in which the augmented reality content item is displayed as part of the camera feed.

13 . The method of claim 1 , wherein the source image and the one or more target images are previously captured and processed offline on a server.

14 . The method of claim 1 , further comprising:

adjusting a resolution of the source image to a resolution of the one or more target images.

15 . The method of claim 1 , further comprising up-sampling or down-sampling the one or more target images based on the sampling parameter.

16 . The method of claim 1 , further comprising:

generating a 3D coordinate frame of the target structure;

computing visibility of the 3D coordinate frame for a plurality of images as a depth map; and

selecting one of the plurality of images as the source image based on the computed visibility.

17 . The method of claim 16 , further comprising:

computing a grid of pixels having specified spacing corresponding to the 3D coordinate frame;

sampling the plurality of images associated with the grid of pixels to generate a matrix, each column of the matrix corresponding to a different one of the plurality of images;

computing a mean, a weighted mean, or a solution to a robustified sum of squares of the columns of the matrix; and

selecting as the source image an image of the plurality of images for which the corresponding column is closest in value to any one of the computed mean, the weighted mean, or the solution to the robustified sum of squares respectively.

18 . The method of claim 1 , further comprising:

processing a first set of images that are reduced in size during an initial phase of optimization; and

processing a second set of images as the one or more target images that are larger in size following the initial phase of optimization to improve convergence.

19 . A system comprising:

at least one processor configured to perform operations comprising:

accessing a source image depicting a target structure;

accessing one or more target images depicting at least a portion of the target structure;

computing a first set of distances between each pixel in a first collection of pixels corresponding to the portion of the target structure depicted in the source image;

computing a second set of distance between each pixel in a second collection of pixels corresponding to the portion of the target structure depicted in the one or more target images;

selecting a sampling parameter based on at least one difference between the first and second sets of distances; and

generating a three-dimensional (3D) model of the target structure based on the selected sampling parameter.

20 . A non-transitory machine-readable storage medium that includes instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising:

accessing a source image depicting a target structure;

accessing one or more target images depicting at least a portion of the target structure;

computing a first set of distances between each pixel in a first collection of pixels corresponding to the portion of the target structure depicted in the source image;

computing a second set of distance between each pixel in a second collection of pixels corresponding to the portion of the target structure depicted in the one or more target images;

selecting a sampling parameter based on at least one difference between the first and second sets of distances; and

generating a three-dimensional (3D) model of the target structure based on the selected sampling parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2023
From: WOODFORD, OLIVER
To: SNAP INC.
Reel/Frame 064129/0289 →
Continuity (3)
Continuation 17813887 · Jul 20, 2022
Continuation 16861034 · Apr 28, 2020
Related Publication 20230316553A1 · Oct 5, 2023
References Cited (81)
US 8311277B2 · Peleg et al. · 2012 [cited by applicant]
US 8436853B1 · Hickman · 2013 [cited by examiner]
US 9208608B2 · Turetzky et al. · 2015 [cited by applicant]
US 9613406B2 · Chen et al. · 2017 [cited by applicant]
US 10186024B2 · Nagori · 2019 [cited by examiner]
US 10249022B2 · Stepanenko · 2019 [cited by applicant]
US 10284794B1 · Francois · 2019 [cited by examiner]
US 10380751B1 · Jones · 2019 [cited by applicant]
US 10552968B1 · Wang et al. · 2020 [cited by applicant]
US 10853960B2 · Lee et al. · 2020 [cited by applicant]
US 11094113B2 · Mundy · 2021 [cited by examiner]
US 11107268B2 · Große · 2021 [cited by examiner]
US 11145072B2 · Farås et al. · 2021 [cited by applicant]
US 11199414B2 · Zhang et al. · 2021 [cited by applicant]
US 11430142B2 · Woodford · 2022 [cited by applicant]
US 11430152B1 · Sangappa · 2022 [cited by examiner]
US 11783532B1 · Su · 2023 [cited by examiner]
US 20140210951A1 · Cho · 2014 [cited by applicant]
US 20150243035A1 · Narasimha et al. · 2015 [cited by applicant]
US 20150279016A1 · Kim et al. · 2015 [cited by applicant]
US 20180113315A1 · Souchard · 2018 [cited by applicant]
US 20200074698A1 · Schaffer et al. · 2020 [cited by applicant]
US 20200082605A1 · Große et al. · 2020 [cited by applicant]
US 20200226825A1 · Bian et al. · 2020 [cited by applicant]
US 20210334993A1 · Woodford · 2021 [cited by applicant]
US 20220375111A1 · Woodford · 2022 [cited by applicant]
CN 109564701 · 2019 [cited by applicant]
CN 115769260A · 2023 [cited by applicant]
WO WO2021222386A1 · 2021 [cited by applicant]
“U.S. Appl. No. 16/861,034, Non Final Office Action mailed Jan. 19, 2022”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 16/861,034, Notice of Allowance mailed Apr. 25, 2022”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 16/861,034, Response filed Mar. 24, 2022 to Non Final Office Action mailed Jan. 19, 2022”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/813,887, Non Final Office Action mailed Nov. 10, 2022”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/813,887, Notice of Allowance mailed Mar. 8, 2023”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/813,887, Response filed Feb. 8, 2023 to Non Final Office Action mailed Nov. 10, 2022”, 8 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/029609, International Preliminary Report on Patentability mailed Nov. 10, 2022”, 14 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/029609, International Search Report mailed Aug. 18, 2021”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/029609, Written Opinion mailed Aug. 18, 2021”, 12 pgs. [cited by applicant]
Gordon, Ariel, et al., “Depth From Videos in the Wild: Unsupervised Monocular Depth Learning From Unknown Cameras”, IEEE/CVF International Conference on Computer Vision (ICCV), (Oct. 27, 2019), 8976-8985. [cited by applicant]
Xian-Feng, Han, et al., “Image-based 3D Object Reconstruction: State-of-the-Art and Trends in the Deep Learning Era”, Deep Learning-based 3D Object Reconstruction—A Survey, arXiv:1906.06543v3 [cs.CV], (Nov. 1, 2019), 27… [cited by applicant]
Dayajie, Liao, et al., “Simultaneous Calibration: A Joint Optimization Approach for Multiple Kinect and External Cameras”, Sensors, 17(7), 1491, (Jun. 24, 2017), 16 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041722.X, Office Action mailed May 31, 2025”, w/ English Translation, 20 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041722.X, Response filed Aug. 5, 2025 to Office Action mailed May 31, 2025”, w/ English Claims, 10 pgs. [cited by applicant]
“Korean Application Serial No. 10-2022-7041645, Notice of Preliminary Rejection mailed Aug. 18, 2025”, w/ English Translation, 18 pgs. [cited by applicant]
“European Application Serial No. 21727022.2, Communication Pursuant to Article 943 EPC mailed Sep. 18, 2025”, 9 pgs. [cited by applicant]
“European Application Serial No. 21727022.2, Response filed Oct. 20, 2025 to Communication Pursuant to Article 943 EPC mailed Sep. 18, 2025”, 14 pgs. [cited by applicant]
Han, Xian-Feng, “Image-based 3D Object Reconstruction State-of-the-Art and Trends in the Deep Learning Era”, Deep Learning-Based 3D Object Reconstruction—A Survey, arXiv1906.06543v3, (Nov. 1, 2019), 27 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041722.X, Office Action mailed Nov. 20, 2025”, w/ English Translation, 11 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041722.X, Response filed Dec. 24, 2025 to Office Action mailed Nov. 20, 2025”, w/ English Claims, 13 pgs. [cited by applicant]
Agarwal, Sameer, et al., “Ceres Solver, Version 2.2”, [Online]. Retrieved from the Internet: <URL: https://github.com/ceres-solver/ceres-solver>, (Retrieved on Feb. 15, 2026), 3 pgs. [cited by applicant]
Alismail, Hatem, et al., “Direct visual odometry in low light using binary descriptors”, IEEE Robotics and Automation Letters, 2(2), 444-451, (2016), 8 pgs. [cited by applicant]
Alismail, Hatem, et al., “Photometric bundle adjustment for vision-based slam”, arXiv preprint, arXiv:1608.02026v1, (2016), 20 pgs. [cited by applicant]
Belongie, Serge, “Rodrigues' Rotation Formula”, MathWorld—A Wolfram Web Resource, URL: http://mathworld.wolfram.com/RodriguesRotationFormula.html, (accessed Feb. 19, 2019), 2 pgs. [cited by applicant]
Black, Michael J, et al., “On the unification of line processes, outlier rejection, and robust statistics with applications in early vision”, International Journal of Computer Vision, 19(1), (1996), 57-91. [cited by applicant]
Delaunoy, Amael, et al., “Photometric bundle adjustment for dense multiview 3d modeling”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1486-1493, (2014), 8 pgs. [cited by applicant]
Drap, Pierre, et al., “An exact formula for calculating inverse radial lens distortions”, Sensors, 16(6), 807, (2016), 18 pgs. [cited by applicant]
Engel, Jakob, et al., “Direct sparse odometry”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, No. 3, (2017), 611-625. [cited by applicant]
Furukawa, Y., et al., “Accurate, Dense, and Robust Multiview Stereopsis”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(8), (Aug. 2010), 1362-1376. [cited by applicant]
Furukawa, Yasutaka, et al., “Accurate camera calibration from multi-view stereo and/bundle adjustment”, International Journal of Computer Vision, 84(3), 257-268, (2009), 12 pgs. [cited by applicant]
Geman, Stuart, et al., “Bayesian image analysis: An application to single photon emission tomography”, Amer. Statist. Assoc, (1985), 12-18. [cited by applicant]
Goldlucke, Bastian, et al., “A superresolution framework for high-accuracy multiview reconstruction”, International Journal of Computer Vision, 106(2), (2014), 172-191. [cited by applicant]
Golub, Gene H, et al., “The differentiation of pseudo-inverses and nonlinear least squares problems whose variables separate”, SIAM Journal on Numerical Analysis, 10(2), (1973), 413-432. [cited by applicant]
Habbecke, Martin, et al., “Iterative multi-view plane fitting”, In Int. Fall Workshop of Vision, Modeling, and Visualization, 73-80, (2006), 9 pgs. [cited by applicant]
Holland, Paul W, et al., “Robust regression using iteratively reweighted least-squares”, Communications in Statistics-theory and Methods, 6(9), (1977), 813-827. [cited by applicant]
Hong, Je Hyeong, et al., “Projective bundle adjustment from arbitrary initialization using the variable projection method”, In Proceedings of the European Conference on Computer Vision, (2016), 477-493. [cited by applicant]
Kahler, Olaf, et al., “Tracking and reconstruction in a combined optimization approach”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(2), (2011), 387-401. [cited by applicant]
Kazhdan, Michael, et al., “Screened poisson surface reconstruction”, ACM Transactions on Graphics, 32(3), (Jun. 2013), 1-13. [cited by applicant]
Knapitsch, Arno, et al., “Tanks and temples: Benchmarking large-scale scene reconstruction”, ACM Transactions on Graphics (ToG), 36(4), (2017), 13 pgs. [cited by applicant]
Levenberg, Kenneth, et al., “A method for the solution of certain non-linear problems in least squares”, Quarterly of applied mathematics, 2(2), (1944), 164-168. [cited by applicant]
Lucas, B. D, et al., “An iterative image registration technique with an application to stereo vision”, Proc. of the 7th International Joint Conference on Artificial intelligence—vol. 2, 674-679, (Aug. 1981), 9 pgs. [cited by applicant]
Newsam, G. N, et al., “Recovering unknown focal lengths in self-calibration: An essentially linear algorithm and degenerate configurations”, In Proc. ISPRS-Congress, vol. 31, Citeseer, (1996), 575-580. [cited by applicant]
Ozyesil, Onur, et al., “A survey of structure from motion”, arXiv preprint, arXiv:1701.08493v2, (2017), 40 pgs. [cited by applicant]
Park, Seonwook, et al., “Illumination change robustness in direct visual slam”, In Proceedings of the IEEE International Conference on Robotics and Automation, pp. 4523-4530, (2017), 8 pgs. [cited by applicant]
Schönberger, Johannes L., “COLMAP”, [Online]. Retrieved from the Internet: <URL: https://web.archive.org/web/20200427181416/https://colmap.github.io/>, (Archived on Apr. 27, 2020), 3 pgs. [cited by applicant]
Schönberger, Johannes L., et al., “Pixelwise view selection for unstructured multi-view stereo”, In Proceedings of the European Conference on Computer Vision, pp. 501-518 Springer, (2016), 17 pgs. [cited by applicant]
Schönberger, Johannes L., et al., “Structure-from-motion revisited”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, (2016), 4104-4113. [cited by applicant]
Snavely, Noah, et al., “Modeling the world from internet photo collections”, International Journal of Computer Vision, 80(2), (2008), 189-210. [cited by applicant]
Strelow, D., et al., “General, nested, and constrained wiberg minimization”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 38(9), (2016), 1803-1815. [cited by applicant]
Tingleff, O., et al., “Methods for non-linear least squares problems”, Lecture Note in Computer Science 02611 Optimization and Data Fitting, (2004), 30 pgs. [cited by applicant]
Woodford, Oliver J, “Using Normalized Cross Correlation in Least Squares Optimizations”, arXiv preprint, arXiv:1810.04320v1 [cs.CV], (2018), 9 pgs. [cited by applicant]
“Chinese Application Serial No. 202180041722.X, Response filed Mar. 24, 2026 to Consultation by Telephone”, w/ English claims, 10 pgs. [cited by applicant]