IP Library Granted Patent US 11,030,801
Granted Patent B2
US 11,030,801 · App. 16/580,868 · Granted Jun 8, 2021

Three-dimensional modeling toolkit

Inventors: Jeffrey Huber (San Francisco, CA); Aaron Thompson (San Francisco, CA); Ricky Reusser (Oakland, CA); Dustin Dorroh (San Francisco, CA); Eric Arnebäck (Hyssna, SE); Garrett Spiegel (San Francisco, CA)
Assignee: Standard Cyborg, Inc.
G06T17/00G06T19/00G06T2219/004
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 11,030,801
App. No.
16/580,868
Granted
Jun 8, 2021
Kind
B2
Abstract

A 3D scanning toolkit to perform operations that include: accessing a first data stream at a client device, wherein the first data stream comprises at least image data; applying a bit mask to the first data stream, the bit mask identifying a portion of the image data; accessing a second data stream at the client device, the second data stream comprising depth data associated with the portion of the image data; generating a point cloud based on the depth data, the point cloud comprising a set of data points that define surface features of an object depicted in the first data stream; and causing display of a visualization of the point cloud upon a presentation of the first data stream at the client device.

Claims (78)

1. A system comprising:

a memory; and

at least one hardware processor coupled to the memory and comprising instructions that causes the system to perform operations comprising:

accessing a first data stream at a client device, the first data stream comprising image data that comprises a set of image bits that comprise attributes, the image data depicting an object;

accessing a bit mask that corresponds with the object depicted by the image data from among a plurality of bit masks, the bit mask identifying a portion of the set of image bits of the image data based on the attributes of the portion of the set of image bits;

accessing a second data stream at the client device, the second data stream comprising depth data associated with the portion of the image data identified by the bit mask;

generating a point cloud based on the depth data, the point cloud comprising a set of data points that define surface features of an object depicted in the first data stream; and

causing display of a visualization of the point cloud at the client device.

2. The system of claim 1 , wherein the instructions cause the system to perform operations further comprising:

receiving an input that selects a subset of the set of data points of the point cloud;

applying a label to the subset of the set of data points;

generating a training dataset based on the label and the subset of the set of data points; and

fitting a machine learned model to the training dataset.

3. The system of claim 1 , wherein the instructions cause the system to perform operations further comprising:

accessing the point cloud;

identifying a plurality of landmarks based on the point cloud;

determining a classification associated with the point cloud based on the plurality of landmarks;

retrieving a 3D model based on the classification and the plurality of landmarks; and

applying the 3D model to a position in a 3D space relative to the point cloud, based on the plurality of landmarks of the point cloud.

4. The system of claim 3 , wherein the instructions cause the system to perform operations further comprising:

generating a value based on the position of the 3D model relative to the point cloud; and

causing display of the value at the client device.

5. The system of claim 1 , wherein the image data comprises a set of attributes, and the instructions cause the system to perform operations further comprising:

selecting the bit mask from among the plurality of bit masks based on at least the set of attributes of the image data.

6. The system of claim 1 , wherein the applying the bit mask to the first data stream includes:

receiving an input that selects the bit mask from among a plurality of bit masks.

7. The system of claim 1 , wherein the causing display of the visualization of the point cloud includes:

presenting the visualization of the point cloud upon a presentation of the first data stream at the client device.

8. A method comprising:

accessing a first data stream at a client device, the first data stream comprising image data that comprises a set of image bits that comprise attributes, the image data depicting an object;

accessing a bit mask that corresponds with the object depicted by the image data from among a plurality of bit masks, the bit mask identifying a portion of the set of image bits of the image data based on the attributes of the portion of the set of image bits;

accessing a second data stream at the client device, the second data stream comprising depth data associated with the portion of the image data identified by the bit mask;

generating a point cloud based on the depth data, the point cloud comprising a set of data points that define surface features of an object depicted in the first data stream; and

causing display of a visualization of the point cloud at the client device.

9. The method of claim 8 , wherein the method further comprises:

receiving an input that selects a subset of the set of data points of the point cloud;

applying a label to the subset of the set of data points;

generating a training dataset based on the label and the subset of the set of data points; and

fitting a machine learned model to the training dataset.

10. The method of claim 8 , wherein the method further comprises:

accessing the point cloud;

identifying a plurality of landmarks based on the point cloud;

determining a classification associated with the point cloud based on the plurality of landmarks;

retrieving a 3D model based on the classification and the plurality of landmarks; and

applying the 3D model to a position in a 3D space relative to the point cloud, based on the plurality of landmarks of the point cloud.

11. The method of claim 10 , wherein the method further comprises:

generating a value based on the position of the 3D model relative to the point cloud; and

causing display of the value at the client device.

12. The method of claim 8 , wherein the image data comprises a set of attributes, and the method further comprises:

selecting the bit mask from among the plurality of bit masks based on at least the set of attributes of the image data.

13. The method of claim 8 , wherein the applying the bit mask to the first data stream includes:

receiving an input that selects the bit mask from among a plurality of bit masks.

14. The method of claim 8 , wherein the causing display of the visualization of the point cloud includes:

presenting the visualization of the point cloud upon a presentation of the first data stream at the client device.

15. Anon-transitory machine-readable storage medium, storing instructions which, when executed by at least one processor of a machine, cause the machine to perform operations comprising:

accessing a first data stream at a client device, the first data stream comprising image data that comprises a set of image bits that comprise attributes, the image data depicting an object;

accessing a bit mask that corresponds with the object depicted by the image data from among a plurality of bit masks, the bit mask identifying a portion of the set of image bits of the image data based on the attributes of the portion of the set of image bits;

accessing a second data stream at the client device, the second data stream comprising depth data associated with the portion of the image data identified by the bit mask;

generating a point cloud based on the depth data, the point cloud comprising a set of data points that define surface features of an object depicted in the first data stream, and

causing display of a visualization of the point cloud at the client device.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions cause the machine to perform operations further comprising:

receiving an input that selects a subset of the set of data points of the point cloud;

applying a label to the subset of the set of data points;

generating a training dataset based on the label and the subset of the set of data points; and

fitting a machine learned model to the training dataset.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions cause the machine to perform operations further comprising:

accessing the point cloud;

identifying a plurality of landmarks based on the point cloud;

determining a classification associated with the point cloud based on the plurality of landmarks;

retrieving a 3D model based on the classification and the plurality of landmarks; and

applying the 3D model to a position in a 3D space relative to the point cloud, based on the plurality of landmarks of the point cloud.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the instructions cause the machine to perform operations further comprising:

generating a value based on the position of the 3D model relative to the point cloud; and

causing display of the value at the client device.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the image data comprises a set of attributes, and the instructions cause the machine to perform operations further comprising:

selecting the bit mask from among the plurality of bit masks based on at least the set of attributes of the image data.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the applying the bit mask to the first data stream includes:

receiving an input that selects the bit mask from among a plurality of bit masks.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2024
From: SDC U.S. SMILEPAY SPV
To: OTIP HOLDING, LLC
Reel/Frame 068178/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2024
From: SMILEDIRECTCLUB, LLC
To: SDC U.S. SMILEPAY SPV
Reel/Frame 066362/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2022
From: STANDARD CYBORG, INC.
To: SMILEDIRECTCLUB LLC
Reel/Frame 059956/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2019
From: HUBER, JEFFREY; THOMPSON, AARON; REUSSER, RICKY; DORROH, DUSTIN; ARNEBÄCK, ERIC; SPIEGEL, GARRETT
To: STANDARD CYBORG, INC.
Reel/Frame 050476/0873 →
Continuity (2)
Provisional Application 62849286 · May 17, 2019
Related Publication 20200364927A1 · Nov 19, 2020