IP Library › Granted Patent US 12,462,515
Granted Patent B2
US 12,462,515 · App. 18/541,479 · Granted Nov 4, 2025

System and method of generating a 3D representation of an object

Inventors: Laurent Juppe (Montreal, CA); Sherif Esmat Omar Abuelwafa (Montreal, CA)
Assignee: APPLICATIONS MOBILES OVERVIEW INC.
G06T19/20G06T17/00G06T2210/56G06T2219/2004G06T2219/2016
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,462,515
App. No.
18/541,479
Granted
Nov 4, 2025
Kind
B2
Abstract

The disclosed systems, structures, and methods are directed to generating a three-dimensional (3D) representation of an object, the method comprising accessing a 3D point cloud reconstruction of the object, accessing a 3D model template, the 3D model template defining a generic version of the object, aligning, in a geometrical space, the 3D model template with respect to the 3D point cloud reconstruction, adjusting a scale of the 3D model template, and applying local deformations to a surface of the 3D model template.

Claims (60)

1 . A method of generating a three-dimensional (3D) representation of a foot of a user, the method comprising:

capturing data of the foot using one or more cameras;

generating, based on the data of the foot, a 3D point cloud corresponding to the foot;

retrieving a 3D model template of a generic human foot;

generating the 3D representation of the foot by:

aligning the 3D point cloud to the 3D model template using an iterative closest point (ICP) algorithm, and

applying local deformations to a surface of the 3D model template by:

determining a normal axis extending from a point of the 3D model template;

determining a plurality of neighboring points located within a radius of the point of the 3D model template;

determining a centroid of the plurality of neighboring points;

displacing the point along the normal axis; and

displacing the neighboring points based on a product of the normal axis and a vector linking a vertex to be displaced and the centroid; and

determining, based on the 3D representation of the foot, measurement information of the foot.

2 . The method of claim 1 , wherein the measurement information comprises a length, height, depth, or width of the foot.

3 . The method of claim 1 , wherein the aligning the 3D point cloud to the 3D model template further comprises adjusting a scale of the 3D model template using the ICP algorithm.

4 . The method of claim 1 , wherein aligning the 3D point cloud to the 3D model template is performed iteratively and comprises:

modifying a scale of the 3D model template, applying or refining a rotation to the 3D model template, or applying or refining a translation to the 3D model template; and

calculating a distance between the 3D model template and the 3D point cloud.

5 . The method of claim 1 , wherein capturing the data of the foot comprises capturing images of the foot or a video of the foot.

6 . The method of claim 1 , wherein the one or more cameras are embedded in a mobile phone device.

7 . The method of claim 1 , further comprising selecting the 3D model template from a database of 3D models.

8 . The method of claim 1 , wherein the 3D model template comprises a 3D mesh model.

9 . The method of claim 8 , further comprising generating a 3D point cloud model template based on the 3D mesh model, and wherein aligning the 3D point cloud to the 3D model template comprises aligning the 3D point cloud to the 3D point cloud model template.

10 . The method of claim 1 , further comprising applying a denoising routine to the data of the foot.

11 . The method of claim 1 , wherein aligning the 3D point cloud to the 3D model template comprises:

computing 2D pictures from the 3D model template in a combination of different points of view; and

matching the 2D pictures to the different points of view.

12 . A system comprising at least one processor and memory storing executable instructions which, when executed by the at least one processor, cause the system to:

receive data of a foot captured using one or more cameras;

generate, based on the data of the foot, a 3D point cloud corresponding to the foot;

retrieve a 3D model template of a generic human foot;

generate a 3D representation of the foot by:

aligning the 3D point cloud to the 3D model template using an iterative closest point (ICP) algorithm to generate a 3D representation of the foot, and

applying local deformations to a surface of the 3D model template by:

determining a normal axis extending from a point of the 3D model template;

determining a plurality of neighboring points located within a radius of the point of the 3D model template;

determining a centroid of the plurality of neighboring points;

displacing the point along the normal axis; and

displacing the neighboring points based on a product of the normal axis and a vector linking a vertex to be displaced and the centroid; and

determine, based on the 3D representation of the foot, measurement information of the foot.

13 . The system of claim 12 , wherein the measurement information comprises a length, height, depth, or width of the foot.

14 . The system of claim 12 , wherein the instructions that cause the system to align the 3D point cloud to the 3D model template comprise instructions that cause the system to adjust a scale of the 3D model template using the ICP algorithm.

15 . The system of claim 12 , wherein the instructions that cause the system to align the 3D point cloud to the 3D model template comprise instructions that cause the system to:

modify a scale of the 3D model template, applying or refining a rotation to the 3D model template, or applying or refining a translation to the 3D model template; and

calculate a distance between the 3D model template and the 3D point cloud.

16 . The system of claim 12 , wherein the 3D model template comprises a 3D mesh model, and the instructions further cause the system to generate a 3D point cloud model template based on the 3D mesh model, and wherein the instructions that cause the system to align the 3D point cloud to the 3D model template comprise instructions that cause the system to align the 3D point cloud to the 3D point cloud model template.

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

receive data of a foot captured using one or more cameras;

generate, based on the data of the foot, a 3D point cloud corresponding to the foot;

retrieve a 3D model template of a generic human foot;

generate a 3D representation of the foot by:

aligning the 3D point cloud to the 3D model template using an iterative closest point (ICP) algorithm to generate a 3D representation of the foot, and

applying local deformations to a surface of the 3D model template by:

determining a normal axis extending from a point of the 3D model template;

determining a plurality of neighboring points located within a radius of the point of the 3D model template;

determining a centroid of the plurality of neighboring points;

displacing the point along the normal axis; and

displacing the neighboring points based on a product of the normal axis and a vector linking a vertex to be displaced and the centroid; and

determine, based on the 3D representation of the foot, measurement information of the foot.

18 . The non-transitory computer-readable medium of claim 17 , wherein the measurement information comprises a length, height, depth, or width of the foot.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE TYPE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 065893 FRAME: 0948. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 4, 2024
From: JUPPE, LAURENT; ABUELWAFA, SHERIF ESMAT OMAR
To: APPLICATIONS MOBILES OVERVIEW INC.
Reel/Frame 066195/0767 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2023
From: JUPPE, LAURENT; ABUELWAFA, SHERIF ESMAT OMAR
To: INC., APPLICATIONS MOBILES OVERVIEW
Reel/Frame 065893/0948 →
Continuity (4)
Continuation 17615146
Provisional Application 62855451 · May 31, 2019
Provisional Application 62952193 · Dec 20, 2019
Related Publication 20240346789A1 · Oct 17, 2024
References Cited (50)
US 8049753B2 · Andersson · 2011 [cited by examiner]
US 8755630B2 · Hwang et al. · 2014 [cited by applicant]
US 9235928B2 · Medioni et al. · 2016 [cited by applicant]
US 9747668B2 · Yücer et al. · 2017 [cited by applicant]
US 9946732B2 · Maranzana et al. · 2018 [cited by applicant]
US 10176589B2 · Taguchi et al. · 2019 [cited by applicant]
US 10621791B2 · Yen et al. · 2020 [cited by applicant]
US 10796497B2 · Santhanam et al. · 2020 [cited by applicant]
US 10930069B1 · Jackson et al. · 2021 [cited by applicant]
US 10977481B2 · Meany et al. · 2021 [cited by applicant]
US 11257289B2 · Venkataraman · 2022 [cited by applicant]
US 11321918B2 · Jørgensen et al. · 2022 [cited by applicant]
US 11423630B1 · Agrawal et al. · 2022 [cited by applicant]
US 20090051683A1 · Goonetilleke · 2009 [cited by examiner]
US 20100111370A1 · Black et al. · 2010 [cited by applicant]
US 20130155058A1 · Golparvar-Fard · 2013 [cited by examiner]
US 20140043329A1 · Wang et al. · 2014 [cited by applicant]
US 20150213646A1 · Ma · 2015 [cited by examiner]
US 20160148425A1 · Hwang et al. · 2016 [cited by applicant]
US 20160163104A1 · Hou · 2016 [cited by examiner]
US 20160379419A1 · Khalili et al. · 2016 [cited by applicant]
US 20170193699A1 · Mehr et al. · 2017 [cited by applicant]
US 20170272728A1 · Rafii · 2017 [cited by examiner]
US 20180218507A1 · Hyllus et al. · 2018 [cited by applicant]
US 20180318014A1 · Gangwar et al. · 2018 [cited by applicant]
US 20190028637A1 · Kolesov · 2019 [cited by examiner]
US 20190035149A1 · Chen et al. · 2019 [cited by applicant]
US 20190108677A1 · Blondel et al. · 2019 [cited by applicant]
US 20190266796A1 · Comer · 2019 [cited by applicant]
US 20190294743A1 · Ajri et al. · 2019 [cited by applicant]
US 20200000180A1 · Sherrah · 2020 [cited by examiner]
US 20200005537A1 · Inagaki et al. · 2020 [cited by applicant]
US 20200020118A1 · Chapdelaine-Couture et al. · 2020 [cited by applicant]
US 20200160616A1 · Li et al. · 2020 [cited by applicant]
US 20200226786A1 · Fitzgibbon et al. · 2020 [cited by applicant]
US 20200242331A1 · Song et al. · 2020 [cited by applicant]
US 20210103776A1 · Jiang et al. · 2021 [cited by applicant]
US 20210142556A1 · Vachaparampil et al. · 2021 [cited by applicant]
US 20210275925A1 · Kolen et al. · 2021 [cited by applicant]
US 20220068024A1 · Lin et al. · 2022 [cited by applicant]
EP 3996540A1 · 2022 [cited by applicant]
WO 2021007592A1 · 2021 [cited by applicant]
WO 2022150252A1 · 2022 [cited by applicant]
International Search Report and Written Opinion with regard to PCT/IB2020/055118 mailed Aug. 29, 2020. [cited by applicant]
Basri et al., “The Alignment of Objects With Smooth Surfaces: Error Analysis of the Curvature Method”, Proceedings / CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Socie… [cited by applicant]
Besl et al., “Method for Registration of 3-D Shapes”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, No. 2, Feb. 1992, pp. 239-256. [cited by applicant]
Elhabian et al., “A Tutorial on Rigid Registration: Iterative Closed Point (ICP)”, University of Louisville, CVIP Lab, Mar. 2009, 130 pages. [cited by applicant]
Bookstein, “Principal Warps: Thin-Plate Splines and the Decomposition of Deformations”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 11, No. 6, Jun. 1989, pp. 567-585. [cited by applicant]
Wang et al., “Surface Reconstruction Using Deformable Models with Interior and Boundary Constraints”, IEEE, Proceedings Third International Conference on Computer Vision, 1990, https://ieeexplore.ieee.org/document/13953… [cited by applicant]
Feng, “Method to automatically register scattered point clouds based on principal pose estimation.” Optical Engineering 56.4 (2017), 11 pages. [cited by applicant]