IP Library Granted Patent US 10,360,718
Granted Patent B2
US 10,360,718 · App. 15/206,918 · Granted Jul 23, 2019

Method and apparatus for constructing three dimensional model of object

Inventors: Vitaly Vladimirovich Chernov (Moscow, RU); Artem Gennadievich Shamsuarov (Moscow, RU); Oleg Fanilevich Muratov (Moscow, RU); Yury Vyacheslavovich Slynko (Moscow Region, RU); Maria Mikhailovna Lyubimtseva (Moscow, RU); Victor Valentinovich Bucha (Moscow, RU)
Assignee: Samsung Electronics Co., Ltd.
G06T15/04G06T7/246G06T7/579G06T17/20G06T17/205H04N13/221G06T2200/08G06T2207/20016G06T2207/30241G06T2207/30244H04N2013/0081
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 10,360,718
App. No.
15/206,918
Granted
Jul 23, 2019
Kind
B2
Abstract

A method and an apparatus for constructing a three-dimensional (3D) model of an object are provided. The method includes capturing images of the object by scanning the object along a trajectory around the object, estimating positions of a scanner, which respectively correspond to the captured images, refining the estimated positions of the scanner based on at least two locations on the trajectory, estimating depth maps corresponding to the refined positions of the scanner, generating a surface mesh of the object by fusing the depth maps, and constructing and displaying the 3D model of the object by mapping textures onto the generated surface mesh.

Claims (80)

1. A method of constructing a three-dimensional (3D) model of an object, the method comprising:

capturing images of the object by scanning the object along a trajectory around the object;

estimating positions of a scanner, which respectively correspond to the captured images;

identifying an accumulated drift of position and orientation of the scanner based on at least two locations on the trajectory;

re-estimating the positions of the scanner by distributing the accumulated drift among the positions;

generating a surface mesh of the object by using the re-estimated positions of the scanner; and

constructing and displaying the 3D model of the object by using the generated surface mesh,

wherein the re-estimating of the positions further comprises:

identifying for each of key frames a variance indicating to what extent position is corrupted by measurement noise and the accumulated drift,

providing key frames having a high position variance with stronger position correction, and

providing key frames having a low position variance with less position correction.

2. The method of claim 1 ,

wherein the trajectory is a closed loop or an opened loop, and

wherein the at least two locations on the trajectory comprise start and end points of the trajectory, which correspond to loop closure points for a loop closure of the trajectory.

3. The method of claim 2 , wherein the accumulated drift of the position of the scanner corresponds to a difference between a position of the start point and a position of the end point.

4. The method of claim 1 , wherein the capturing of the images further comprises capturing the images by scanning the object in 360° by using a simultaneous localization and mapping (SLAM).

5. The method of claim 1 , wherein the estimating of the positions of the scanner further comprises:

performing map initialization by using a first image from among the captured images;

extracting key points from the first image by using features from an accelerated segment test (FAST) algorithm performing corner detection; and

estimating the positions of the scanner, which respectively correspond to the captured images by using the extracted key points.

6. The method of claim 5 , wherein the estimating of the positions of the scanner further comprises:

identifying whether each of the captured images comprises a key frame; and

storing a captured image comprising the key frame and the corresponding position of the scanner in a memory.

7. The method of claim 6 , wherein the re-estimating of the positions of the scanner further comprises:

obtaining loop points on the trajectory with respect to the key frame;

checking whether the loop points are loop closure points; and

when the loop points are the loop closure points, re-estimating the positions of the scanner based on a result of performing a loop closure by using the loop closure points.

8. The method of claim 1 , wherein the re-estimating of the positions of the scanner is performed to compensate for an effect of the accumulated drift generated when the object is scanned by using a simultaneous localization and mapping (SLAM).

9. The method of claim 1 , wherein the generating of the surface mesh of the object comprises:

selecting a stereo pair comprising adjacent key frames;

estimating depth maps from the selected stereo pair by using a pyramidal approach in which a result of low resolution sampling is up-sampled via sampling of finer resolution; and

generating the surface mesh of the object by fusing the estimated depth maps.

10. The method of claim 1 , wherein the generating of the surface mesh comprises:

estimating depth maps corresponding to the re-estimated positions of the scanner; and

generating the surface mesh corresponding to a voxel-to-octree representation regarding the object by fusing the estimated depth maps by using 3D voxel truncated signed distance function (TSDF).

11. The method of claim 1 , wherein the constructing and displaying of the 3D model further comprises:

checking whether each face of the surface mesh is visible or invisible at each of the positions of the scanner;

texturing a visible face of the surface mesh to a projection corresponding to one of the captured images based on a result of the checking; and

constructing and displaying the 3D model by generating the texturized surface mesh.

12. An apparatus for configuring a three-dimensional (3D) model of an object, the apparatus comprising:

a scanner configured to capture images of the object by scanning the object along a trajectory around the object;

at least one processor configured to:

estimate positions of the scanner, which respectively correspond to the captured images,

identify an accumulated drift of position and orientation of the scanner based on at least two locations on the trajectory,

re-estimate the positions of the scanner by distributing the accumulated drift among the positions,

generate a surface mesh of the object by using the re-estimated positions of the scanner, and

construct the 3D model of the object by using the generated surface mesh; and

a display configured to display the 3D model of the object,

wherein, to re-estimate the positions, the at least one processor is further configured to:

identify for each of key frames a variance indicating to what extent position is corrupted by measurement noise and the accumulated drift,

provide key frames having a high position variance with stronger position correction, and

provide key frames having a low position variance with less position correction.

13. The apparatus of claim 12 ,

wherein the trajectory is a closed loop or an opened loop, and

wherein the at least two locations on the trajectory comprise start and end points of the trajectory, which correspond to loop closure points for a loop closure of the trajectory.

14. The apparatus of claim 13 , wherein the accumulated drift of the position of the scanner corresponds to a difference between a position of the start point and a position of the end point.

15. The apparatus of claim 12 , wherein the scanner is further configured to capture the images by scanning the object in 360° by using a simultaneous localization and mapping (SLAM).

16. The apparatus of claim 12 , wherein the at least one processor is further configured to:

perform map initialization by using a first image from among the captured images,

extract key points from the first image by using features from an accelerated segment test (FAST) algorithm performing corner detection, and

estimate the positions of the scanner, which respectively correspond to the captured images by using the extracted key points.

17. The apparatus of claim 16 , wherein the at least one processor is further configured to:

identify whether each of the captured images comprises a key frame, and

store a captured image comprising the key frame and the corresponding position of the scanner in a memory.

18. The apparatus of claim 17 , wherein the at least one processor is further configured to:

obtain loop points on the trajectory with respect to the key frame,

check whether the loop points are loop closure points, and

when the loop points are the loop closure points, re-estimate the positions of the scanner based on a result of performing loop closure by using the loop closure points.

19. The apparatus of claim 12 , wherein the at least one processor is further configured to re-estimate the positions of the scanner to compensate for an effect of the accumulated drift generated when the object is scanned by using a simultaneous localization and mapping (SLAM).

20. The apparatus of claim 12 , wherein the at least one processor is further configured to:

select a stereo pair comprising adjacent key frames,

estimate depth maps from the selected stereo pair by using a pyramidal approach in which a result of low resolution sampling is up-sampled via sampling of finer resolution, and

generate the surface mesh of the object by fusing the estimated depth maps.

21. The apparatus of claim 12 , wherein the at least one processor is further configured to:

estimate depth maps corresponding to the re-estimated positions of the scanner, and

generate the surface mesh corresponding to a voxel-to-octree representation regarding the object by fusing the estimated depth maps by using 3D voxel truncated signed distance function (TSDF).

22. The apparatus of claim 12 , wherein the at least one processor is further configured to:

check whether each face of the surface mesh is visible or invisible at each of the positions of the scanner,

texture a visible face of the surface mesh to a projection corresponding to one of the captured images based on a result of the checking, and

construct the 3D model by generating the texturized surface mesh.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2016
From: CHERNOV, VITALY VLADIMIROVICH; SHAMSUAROV, ARTEM GENNADIEVICH; MURATOV, OLEG FANILEVICH; SLYNKO, YURY VYACHESLAVOVICH; LYUBIMTSEVA, MARIA MIKHAILOVNA; BUCHA, VICTOR VALENTINOVICH
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 039124/0701 →
Priority Claims (2)
RU 2015134345 · Aug 14, 2015 · national
KR 10-2016-0058779 · May 13, 2016 · national
Continuity (1)
Related Publication 20170046868A1 · Feb 16, 2017
Cited By (3)
US 12,475,573 US 12,541,918 US 12,632,992