IP Library › Granted Patent US 11,798,248
Granted Patent B1
US 11,798,248 · App. 17/573,347 · Granted Oct 24, 2023

Fitting virtual eyewear models on face models

Inventors: Aliaksandr Shchurko (San Jose, CA); Xing Zhang (Santa Clara, CA); Anandram Sundar (Santa Clara, CA)
Assignee: AMAZON TECHNOLOGIES, INC.
G06T19/20G06Q30/0621G06Q30/0643G06T17/20G06T19/006G06V20/20G06V40/165G06T2210/21G06T2219/2004
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,798,248
App. No.
17/573,347
Granted
Oct 24, 2023
Kind
B1
Abstract

A system and method for fitting virtual eyewear models on face models is described herein. The method includes attaching a first collider to a model of eyewear and attaching a second collider to a model of a user's face. The method also includes positioning the model of eyewear onto the model of the user's face by reducing a distance between the model of eyewear and the model of the user's face until the first collider attached to the model of eyewear collides with the second collider attached to the model of the user's face and anchoring the model of eyewear to the model of the user's face.

Claims (57)

1. A method for fitting virtual eyewear onto a face, the method comprising:

receiving, from a database, a model of eyewear;

receiving, from a user device, a model of a user's face, wherein the model of the user's face comprises a mesh formed by a plurality of vertices;

attaching a first plurality of colliders to the model of eyewear;

attaching a second plurality of colliders to the model of the user's face, wherein the attaching the second plurality of colliders to the model of the user's face comprises:

determining a first percentage of vertices along a first dimension of the model of the user's face;

determining a first subset of the plurality of vertices by excluding the first percentage of vertices along the first dimension with respect to a first reference point on the mesh;

determining a second percentage of vertices along a second dimension of the model of the user's face;

determining a second subset of the plurality of vertices by excluding the second percentage of vertices along the second dimension with respect to a second reference point on the mesh; and

attaching a respective collider of the second plurality of colliders to each of the second subset of the plurality of vertices; and

positioning the model of eyewear onto the model of the user's face by reducing a distance between the model of eyewear and the model of the user's face until a first collider of the first plurality of colliders collides with a second collider of the second plurality of colliders; and

anchoring the model of eyewear to the model of the user's face.

2. The method of claim 1 , wherein the first plurality of colliders are arranged on a first rim and a second rim of the model of eyewear.

3. The method of claim 1 , wherein positioning the model of eyewear onto the model of the user's face comprises:

determining a midpoint between a first eye and a second eye of the model of the user's face;

determining an initial position of the model of eyewear based on the midpoint between the first eye and the second eye; and

incrementally moving the model of eyewear from the initial position towards the model of the user's face until the first collider collides with the second collider.

4. A method comprising:

attaching a first collider to a model of eyewear;

attaching a first plurality of colliders to a model of a user's face, wherein the first plurality of colliders comprises a second collider, wherein the model of the user's face comprises a mesh formed by a plurality of vertices and wherein the attaching the first plurality of colliders comprises:

determining a first percentage of vertices along a first dimension of the mesh:

determining a first subset of the plurality of vertices by excluding the first percentage of vertices along the first dimension with respect to a first reference point on the mesh;

determining a second percentage of vertices along a second dimension of the mesh;

determining a second subset of the plurality of vertices by excluding the second percentage of vertices along the second dimension with respect to a second reference point on the mesh; and

attaching a respective collider of the first plurality of colliders to each of the second subset of the plurality of vertices; and

positioning the model of eyewear onto the model of the user's face by reducing a distance between the model of eyewear and the model of the user's face until the first collider attached to the model of eyewear collides with the second collider attached to the model of the user's face; and

anchoring the model of eyewear to the model of the user's face.

5. The method of claim 4 , further comprising attaching, to the model of eyewear, a first plurality of colliders comprising the first collider.

6. The method of claim 5 , wherein the first plurality of colliders are arranged on a first rim and a second rim of the model of eyewear.

7. The method of claim 6 , wherein the first plurality of colliders are further arranged on nose pads of the model of eyewear.

8. The method of claim 4 , wherein attaching the first plurality of colliders further comprises determining a third subset of vertices of the plurality of vertices positioned on an eye of the model of the user's face, wherein the third subset of vertices are excluded from the second subset of vertices.

9. The method of claim 4 , wherein attaching the first plurality of colliders further comprises determining a third subset of vertices of the plurality of vertices with the highest coordinates in a third dimension, wherein the third subset of vertices are excluded from the second subset of vertices.

10. The method of claim 4 , wherein positioning the model of eyewear onto the model of the user's face comprises:

determining a midpoint between a first eye and a second eye of the model of the user's face;

determining an initial position of the model of eyewear based on the midpoint between the first eye and the second eye; and

incrementally moving the model of eyewear from the initial position towards the model of the user's face until the first collider attached to the model of eyewear collides with the second collider attached to the model of the user's face.

11. The method of claim 4 , further comprising moving the model of eyewear according to movement of the model of the user's face after anchoring the model of eyewear to the model of the user's face.

12. The method of claim 4 , wherein the first collider is a kinematic cube.

13. The method of claim 4 , wherein the first collider is a three-dimensional kinematic object that conforms to the model of eyewear.

14. An apparatus comprising:

a memory; and

a hardware processor communicatively coupled to the memory, wherein the hardware processor is configured to:

attach a first collider to a model of eyewear;

attach a first plurality of colliders to a model of a user's face, wherein the first plurality of colliders comprises a second collider, wherein the model of the user's face comprises a mesh formed by a plurality of vertices and wherein to attach the first plurality of colliders the hardware process is configured to:

determine a first percentage of vertices along a first dimension of the mesh;

determine a first subset of the plurality of vertices by excluding the first percentage of vertices along the first dimension with respect to a first reference point on the mesh;

determine a second percentage of vertices along a second dimension of the mesh;

determine a second subset of the plurality of vertices by excluding the second percentage of vertices along the second dimension with respect to a second reference point on the mesh; and

attach a respective collider of the first plurality of colliders to each of the second subset of the plurality of vertices; and

position the model of eyewear onto the model of the user's face by reducing a distance between the model of eyewear and the model of the user's face until the first collider attached to the model of eyewear collides with the second collider attached to the model of the user's face; and

anchor the model of eyewear to the model of the user's face.

15. The apparatus of claim 14 , wherein attaching the first plurality of colliders further comprises determining a third subset of vertices of the plurality of vertices positioned on an eye of the model of the user's face, wherein the third subset of vertices are excluded from the second subset of vertices.

16. The apparatus of claim 14 , wherein positioning the model of eyewear onto the model of the user's face comprises:

determining a midpoint between a first eye and a second eye of the model of the user's face;

determining an initial position of the model of eyewear based on the midpoint between the first eye and the second eye; and

incrementally moving the model of eyewear from the initial position towards the model of the user's face until the first collider attached to the model of eyewear collides with the second collider attached to the model of the user's face.

17. The apparatus of claim 14 , further comprising moving the model of eyewear according to movement of the model of the user's face after anchoring the model of eyewear to the model of the user's face.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2022
From: SHCHURKO, ALIAKSANDR; ZHANG, XING; SUNDAR, ANANDRAM
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 058622/0870 →
Cited By (1)
US 12,725,353