SYSTEM AND METHOD OF GENERATING A 3D REPRESENTATION OF AN OBJECT
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.
1 . A method of 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.
2 . The method of claim 1 , wherein accessing the 3D point cloud reconstruction of the object comprises applying a denoising routine.
3 . The method of claim 1 , wherein accessing the 3D model template is performed in accordance with a selection routine.
4 . (canceled)
5 . The method of claim 1 , wherein the geometrical space is associated with a cartesian coordinate system and/or a cylindrical coordinate system and/or a spherical coordinate system.
6 . The method of claim 1 , wherein aligning the 3D model template with respect to the 3D point cloud reconstruction comprises applying a rotation and/or a translation.
7 . The method of claim 6 , wherein aligning the 3D model template with respect to the 3D point cloud reconstruction comprises:
(i) aligning, in translation, a first center of gravity associated with the 3D model template and a second center of gravity associated with the 3D point cloud reconstruction; and
(ii) aligning, in rotation, the 3D model template with respect to the 3D point cloud reconstruction is based on at least one of a minimum distance between the 3D model template and the 3D point cloud reconstruction, Principal Components Analysis, and/or 2D projections alignments.
8 . The method of claim 7 , wherein aligning, in rotation, the 3D model template with respect to the 3D point cloud reconstruction based on Principal Components Analysis comprises identifying 3 main axis of the 3D model template to align the 3 main axis with the axis of the 3D point cloud reconstruction.
9 . The method of claim 7 , wherein aligning, in rotation, the 3D model template with respect to the 3D point cloud reconstruction based on 2D projections alignments comprises computing 2D pictures from the 3D model template in a combination of different points of view and match the 2D pictures to match the points of views.
10 . The method of claim 1 , wherein adjusting the scale of the 3D model comprises executing an iterative closest point (ICP) algorithm.
11 . The method of claim 1 , wherein adjusting the scale of the 3D model is performed iteratively and comprises:
one of (1) modifying a scale of the 3D model template, (2) applying/refining a rotation to the 3D model template and/or (3) applying/refining a translation to the 3D model template;
calculating a distance between the 3D model template and the 3D point cloud reconstruction; and
wherein the iterating stops based on a calculated minimum distance.
12 . The method of claim 1 , applying local deformations to the surface of the 3D model template comprises:
determining, for at least some of the points of the 3D model template, normal axis extending from each of the at least some of the points of the 3D model template; and
displacing the at least some of the points of the 3D model template along corresponding normal axis of a computed amplitude, the displacing further comprising displacing neighboring points located within a radius of the at least some of the points of the 3D model template.
13 . The method of claim 12 , wherein the computed amplitude is based on a scalar product of a normalized normal vector to the at least some of the points of the 3D model template and a vector linking a point to be displaced in the 3D model template and a centroid in the 3D point cloud reconstruction.
14 . The method of claim 1 , further comprising:
identifying low quality deformations;
selecting parts to be corrected; and
correcting the parts.
15 . The method of claim 14 , wherein low quality deformations are identified by operating a quality function.
16 . The method of claim 14 , wherein selecting parts to be corrected is based on distances distribution and/or angles distribution between the 3D model template and a deformed 3D model template.
17 . The method of claim 1 , wherein applying the local deformations to the surface of the 3D model template comprises:
computing a quality level of the local deformations; and
correcting the local deformations based on the computed quality level.
18 . The method of claim 17 , wherein the correcting the local deformations based on the computed quality level further comprises correcting the local deformations if a computed quality level is below a threshold.
19 . The method of claim 1 , further comprises generating at least two 3D representations of at least two objects and combining the at least two 3D representations.
20 . (canceled)
21 . A non-transitory computer-readable medium comprising computer-executable instructions that cause a system to execute the method according to claim 1 .
22 . A system for generating a three-dimensional (3D) representation of an object, the system comprising:
a processor;
a non-transitory computer-readable medium comprising instructions, the processor;
upon executing the instructions, being configured to cause the processor to:
access a 3D point cloud reconstruction of the object;
access a 3D model template, the 3D model template defining a generic version of the object;
align, in a geometrical space, the 3D model template with respect to the 3D point cloud reconstruction;
adjust a scale of the 3D model template; and
apply local deformations to a surface of the 3D model template.