US9691178B2ActiveUtilityA1
Scanning and processing objects into three-dimensional mesh models
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Oct 21, 2014Filed: Jan 6, 2015Granted: Jun 27, 2017
Est. expiryOct 21, 2034(~8.3 yrs left)· nominal 20-yr term from priority
G06T 2219/2012G06T 17/205G06T 2219/2021G06T 19/20
59
PatentIndex Score
1
Cited by
22
References
21
Claims
Abstract
The claimed subject matter includes techniques for scanning and processing three-dimensional (3D) objects. An example method includes scanning the 3D object to produce depth data. The method also includes generating, via a processor, a 3D progressive mesh from the depth data. The method further includes displaying the generation of the 3D progressive mesh in real-time.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system for scanning and processing a three-dimensional (3D) object in color, comprising:
a scanner to scan the 3D object to produce depth data; and
a generator to generate a 3D progressive mesh from the depth data, the generation of the 3D progressive mesh to be displayed in real-time as the 3D object is being scanned; and
an editor to:
detect a non-manifold region of the 3D progressive mesh; and
automatically fill a hole below a threshold size in the non-manifold region based on a plane or a curved surface corresponding to neighboring surfaces.
2. The system of claim 1 , wherein the editor is to improve color accuracy during the generation of the 3D progressive mesh by filtering noises in the depth data and removing inaccurate color artifacts associated with the noises.
3. The system of claim 1 , wherein the editor is to:
detect a threshold complexity of the 3D progressive mesh based on a number of triangles or vertices; and
display a simplification tool to simplify the 3D progressive mesh.
4. The system of claim 1 , wherein the editor is to simplify the 3D progressive mesh by removing small particles.
5. The system of claim 1 , wherein the editor is to transform a vertex color detected from the 3D progressive mesh into a graphical texture file.
6. A method for scanning and processing a three-dimensional (3D ) object in color, the method comprising:
scanning the 3D object to produce depth data;
generating, via a processor, a 3D progressive mesh from the depth data;
displaying the generation of the 3D progressive mesh in real-time as the 3D object is being scanned;
detecting a non-manifold region of the 3D progressive mesh; and
automatically filling a hole below a threshold size in the non-manifold region based on a plane or a curved surface corresponding to neighboring surfaces.
7. The method of claim 6 , further comprising improving color accuracy during the generation of the 3D progressive mesh by filtering noises in the depth data and removing inaccurate color artifacts associated with the noises.
8. The method of claim 6 , further comprising removing a disconnected particle from the 3D progressive mesh or the depth data.
9. The method of claim, 8 further comprising simplifying the 3D progressive mesh by applying a smoothing filter, removing a section of the 3D progressive mesh, removing a detail of the 3D progressive mesh, or any combination thereof.
10. The method of claim 6 , further comprising reducing background noise during scanning by adjusting a capture depth volume.
11. The method of claim 6 , further comprising configuring a capture volume size for scanning, the capture volume size to be smaller for a more detailed scan or larger for a less detailed scan.
12. The method of claim 6 , further comprising:
detecting an opening in the 3D progressive mesh; and
repairing the 3D progressive mesh such that the 3D progressive mesh represents a true volume.
13. The method of claim 6 , further comprising:
detecting a non-manifold region of the 3D progressive mesh; and
repairing the non-manifold region such that the 3D progressive mesh is manifold.
14. The method of claim 6 , comprising receiving a threshold triangle size and removing triangles in the 3D progressive mesh below the threshold triangle size.
15. One or more computer-readable memory storage devices for storing computer readable instructions that, when executed by one or more processing devices, instruct the scanning and processing of a 3D object, the computer-readable instructions comprising code to:
scan the 3D object to produce depth data;
generate, via a processor, a 3D progressive mesh from the depth data;
display the generation of the 3D progressive mesh in real-time as the 3D object is being scanned;
detect a non-manifold region of the 3D progressive mesh;
automatically fill a hole below a threshold size in the non-manifold region based on a plane or a curved surface corresponding to neighboring surfaces; and
print the 3D object.
16. The one or more computer-readable memory storage devices of claim 15 , the computer-readable instructions comprising code to transform a vertex color detected from the 3D progressive mesh into a graphical texture file.
17. The one or more computer-readable memory storage devices of claim 15 , the computer-readable instructions comprising code to remove a disconnected particle from the 3D progressive mesh or the depth data.
18. The one or more computer-readable memory storage devices of claim 15 , the computer-readable instructions comprising code to simplify the 3D progressive mesh by applying a smoothing filter, remove a section of the 3progressive mesh, remove a detail of the 3D progressive mesh, or any combination thereof.
19. The one or more computer-readable memory storage devices of claim 15 , the computer-readable instructions comprising code to reduce background noise during scanning by adjusting a capture depth volume.
20. The one or more computer-readable memory storage devices of claim 15 , the computer-readable instructions comprising code to configure a capture volume size for scanning, the capture volume size to be smaller for a more detailed scan or larger for a less detailed scan.
21. The one or more computer-readable memory storage devices of claim 20 , the computer-readable instructions comprising code to:
detect a threshold complexity of the 3D progressive mesh based on number of triangles or vertices; and
display a simplification tool for a user to use to simplify the 3D progressive mesh.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.