IP Library Granted Patent US 9,311,565
Granted Patent B2
US 9,311,565 · App. 14/305,563 · Granted Apr 12, 2016

3D scanning with depth cameras using mesh sculpting

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 9,311,565
App. No.
14/305,563
Granted
Apr 12, 2016
Kind
B2
Abstract

A method, performed by a mobile communication device, may include capturing one or more images from a depth camera, wherein the one or more images include depth information. The method may further include generating an initial sculpture for an entity in the captured one or more images; performing a ray casting process on the generated initial sculpture using the depth information; and deforming the initial sculpture based on the ray casting process to generate a sculpture for the entity.

Claims (71)

1. A method, performed by a computing device, comprising:

capturing, by the computing device, one or more images from a depth camera, wherein the one or more images include depth information;

generating, by the computer device, an initial sculpture for an entity in the captured one or more images;

performing, by the computer device, a ray casting process on the generated initial sculpture using the depth information; and

deforming, by the computer device, the initial sculpture based on the ray casting process to generate a sculpture for the entity; and

wherein the initial sculpture includes a mesh polygon with vertices and triangular faces, and wherein performing the ray casting process on the generated initial sculpture using the depth information includes:

casting a ray from an origin point to a particular data point included in the depth information;

determining an intersection point of the cast ray with a particular triangular face of the mesh polygon;

calculating a force vector to move the intersection point to the particular data point; and

determining a vertex force vector for a vertex of the particular triangular face based on the calculated force vector.

2. The method of claim 1 , wherein the performing the ray casting process and deforming the initial sculpture are performed using particular ones of the one or more images.

3. The method of claim 1 , wherein deforming the initial sculpture based on the ray casting process to generate a sculpture for the entity includes:

adding up vertex force vectors for a particular vertex of the mesh polygon; and

deforming the initial sculpture by moving the particular vertex based on the added up force vectors.

4. The method of claim 1 , wherein the captured one or more images include color information, the method further comprising:

determining color information for the particular triangular face based on the color information.

5. The method of claim 4 , wherein determining the color information for the particular triangular face based on the color information includes:

generating a three dimensional UV map based on the color information; and

mapping the generated three dimensional UV map onto the sculpture for the entity.

6. The method of claim 1 , further comprising:

determining whether the calculated force vector has a magnitude less than a force magnitude threshold; and

ignoring the calculated force vector in determining the vertex force vector when the calculated force vector has a magnitude less than a force magnitude threshold.

7. The method of claim 1 , further comprising:

determining an angle between the calculated force vector and the particular triangular face;

determining whether the angle is less than an angle threshold; and

ignoring the calculated force vector in determining the vertex force vector, when the angle is less than the angle threshold.

8. The method of claim 1 , further comprising:

assigning a stability value to the vertex, wherein the stability value is based on a measure of how much the vertex has been deformed; and

scaling the vertex force vector based on the assigned stability value.

9. The method of claim 1 , further comprising:

determining that an edge associated with the vertex is shorter than an edge length threshold; and

adding an edge force, parallel to the edge, to the vertex force vector, in response to determining that the edge associated with the vertex is shorter than the edge length threshold.

10. The method of claim 1 , further comprising:

eliminating a component of the vertex force vector that is not parallel to the cast ray.

11. The method of claim 1 , further comprising:

determining that the vertex is associated with at least two edges that form an angle that is smaller than an angle threshold; and

smoothing out the vertex by applying a force toward a midpoint between distant ends of the at least two edges with respect to the vertex.

12. The method of claim 1 , wherein deforming the initial sculpture based on the ray casting process to generate a sculpture for the entity includes:

calculating a tension value for the vertex, wherein the tension value is based on a ratio of a magnitude of a sum of forces applied at the vertex to a sum of magnitudes of the forces applied at the vertex;

determining whether the tension value is higher than a tension threshold; and

tessellating the particular triangular face into two smaller triangular faces, when the tension value is higher than the tension threshold.

13. The method of claim 1 , wherein deforming the initial sculpture based on the ray casting process to generate a sculpture for the entity includes:

determining that the particular triangular face is associated with an edge that is longer than an edge length threshold; and

tessellating the particular triangular face into two smaller triangular faces, when the edge is longer than the edge length threshold.

14. The method of claim 1 , wherein deforming the initial sculpture based on the ray casting process to generate a sculpture for the entity includes:

determining that an edge associated with the particular triangular face is shorter than an edge length threshold; and

removing the edge from the mesh polygon, in response to determining that the edge is shorter than the edge length threshold.

15. The method of claim 1 , wherein performing the ray casting process on the generated initial sculpture using the depth information includes:

using a graphics processing unit to perform the ray casting process.

16. A mobile communication device comprising:

logic configured to:

capture one or more images from a depth camera, wherein the one or more images include depth information;

generate an initial sculpture for an entity in the captured one or more images;

perform a ray casting process on the generated initial sculpture using the depth information; and

deform the initial sculpture based on the ray casting process to generate a sculpture for the entity; and

wherein the initial sculpture includes a mesh polygon with vertices and triangular faces, and wherein, when performing the ray casting process on the generated initial sculpture using the depth information, the logic is further configured to:

cast a ray from an origin point to a particular data point included in the depth information;

determine an intersection point of the cast ray with a particular triangular face of the mesh polygon;

calculate a force vector to move the intersection point to the particular data point; and

determine a vertex force vector for a vertex of the particular triangular face based on the calculated force vector.

17. The mobile communication device of claim 16 , wherein, when deforming the initial sculpture based on the ray casting process to generate a sculpture for the entity, the logic is further configured to:

add up vertex force vectors for a particular vertex of the mesh polygon; and

deform the initial sculpture by moving the particular vertex based on the added up force vectors.

18. A non-transitory computer-readable memory device storing instructions executable by a processor, the non-transitory computer-readable memory device comprising:

one or more instructions to capture one or more images from a depth camera, wherein the one or more images include depth information;

one or more instructions to generate an initial sculpture for an entity in the captured one or more images, wherein the initial sculpture includes a mesh polygon with vertices and triangular faces;

one or more instructions to cast a ray from an origin point to a particular data point included in the depth information;

one or more instructions to determine an intersection point of the cast ray with a particular triangular face of the mesh polygon;

one or more instructions to calculate a force vector to move the intersection point to the particular data point;

one or more instructions to determine a vertex force vector for a vertex of the particular triangular face based on the calculated force vector; and

one or more instructions to deform the initial sculpture by moving the vertex based on the added up force vectors.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2019
From: SONY MOBILE COMMUNICATIONS, INC.
To: SONY CORPORATION
Reel/Frame 048691/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: SONY CORPORATION
To: SONY MOBILE COMMUNICATIONS INC.
Reel/Frame 038542/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2014
From: SZASZ, PAL
To: SONY CORPORATION
Reel/Frame 033111/0227 →