IP Library Granted Patent US 10,228,242
Granted Patent B2
US 10,228,242 · App. 14/704,858 · Granted Mar 12, 2019

Method and system for determining user input based on gesture

Inventors: Rony Abovitz (Plantation, FL); Brian T. Schowengerdt (Seattle, WA); Mathew D. Watson (Bellevue, WA)
Assignee: Magic Leap, Inc.
G01B11/303A61B34/10A63F13/00A63F13/213A63F13/428G02B6/10G02B6/34G02B27/0101G02B27/017G02B27/0172G02B27/42G02B27/4205G02B27/4227G06F3/005G06F3/011G06F3/013G06F3/017G06F3/0304G06F3/0485G06F3/0487G06F3/04815G06F3/04842G06F3/04845G06F3/04883G06F17/3079G06F19/325G06K9/00214G06K9/00355G06K9/00664G06K9/00671G06K9/00711G06K9/6201G06K9/6212G06K9/6215G06Q30/0643G06T7/60G06T19/006G16H40/20H04B10/2504A61B2034/101G02B2027/014G02B2027/0105G02B2027/0127G02B2027/0178G02B2027/0185G02B2027/0187G06K9/00389G06T2200/04G06T2200/24G06T2207/10004G06T2207/30196G06T2210/41G06T2219/024
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,228,242
App. No.
14/704,858
Granted
Mar 12, 2019
Kind
B2
Abstract

A waveguide apparatus includes a planar waveguide and at least one optical diffraction element (DOE) that provides a plurality of optical paths between an exterior and interior of the planar waveguide. A phase profile of the DOE may combine a linear diffraction grating with a circular lens, to shape a wave front and produce beams with desired focus. Waveguide apparati may be assembled to create multiple focal planes. The DOE may have a low diffraction efficiency, and planar waveguides may be transparent when viewed normally, allowing passage of light from an ambient environment (e.g., real world) useful in AR systems. Light may be returned for temporally sequentially passes through the planar waveguide. The DOE(s) may be fixed or may have dynamically adjustable characteristics. An optical coupler system may couple images to the waveguide apparatus from a projector, for instance a biaxially scanning cantilevered optical fiber tip.

Claims (66)

1. A method for determining a user input, comprising:

capturing, at one or more image capturing sensors, an image of a field of view of a user, the image comprising a gesture created by the user;

determining a sequence for a plurality of gesture analysis processes based in part or in whole upon computational resource utilization of the plurality of gesture analysis processes;

analyzing, at least by a microprocessor, the image to determine a set of candidates and to identify a set of points associated with the gesture;

removing at least one candidate from gesture recognition with at least a first gesture analysis process of the plurality of gesture analysis processes to reduce the set of candidates to a remaining set of one or more remaining candidates while skipping one or more remaining gesture analysis processes of the plurality of gesture analysis processes for the at least one candidate;

generating respective scoring values for the one or more remaining candidates based in part or in whole on matching results of the one or more remaining candidates with predetermined gestures in a database; and

determining a user input based at least in part on a recognized gesture that is recognized by at least a second gesture analysis process.

2. The method of claim 1 , further comprising:

accessing a networked memory to access the database of predetermined gestures;

recognizing the gesture when a scoring value exceeds a threshold value; and

comparing the set of points to at least one predetermined set of points associated with a database of predetermined gestures.

3. The method of claim 1 , wherein the gesture comprises at least one of inter-finger interactions, pointing, tapping, and rubbing.

4. The method of claim 1 , further comprising:

determining an action based on the user input; and

performing the action at the computing system comprising the microprocessor.

5. A system for determining a user input, comprising:

one or more image capturing sensors configured to capture an image of a field of view of a user, the image comprising a gesture created by the user;

the at least one microprocessor further configured to determine a sequence for a plurality of gesture analysis processes based in part or in whole upon computational resource utilization of the plurality of gesture analysis processes;

at least one microprocessor further configured to analyze the image with at least one of the plurality of gesture analysis processes according to the sequence to determine a set of candidates and to identify a set of points associated with the gesture;

the at least one microprocessor further configured to remove at least one candidate from gesture recognition to reduce the set of candidates to a remaining set of one or more remaining candidates while skipping one or more remaining gesture analysis processes of the plurality of gesture analysis processes for the at least one candidate;

the at least one microprocessor further configured to generate respective scoring values for the one or more remaining candidates based in part or in whole on matching results of the one or more remaining candidates with predetermined gestures in a database; and

the at least one microprocessor further configured to determine a user input based at least in part on a recognized gesture of the one or more remaining gestures.

6. A computer program product comprising a non-transitory computer-usable storage medium storing thereupon executable code which, when executed by at least one microprocessor, causes the at least one microprocessor to perform a set of acts for determining a user input, the set of acts comprising:

capturing, at one or more image capturing sensors, an image of a field of view of a user, the image comprising a gesture created by the user;

determining a sequence for a plurality of gesture analysis processes based in part or in whole upon computational resource utilization of the plurality of gesture analysis processes;

analyzing, at least by a microprocessor, the image with at least one of the plurality of gesture analysis processes according to the sequence to determine a set of candidates and to identify a set of points associated with the gesture;

removing at least one candidate from gesture recognition to reduce the set of candidates to a remaining set of one or more remaining candidates while skipping one or more remaining gesture analysis processes of the plurality of gesture analysis processes for the at least one candidate;

generating respective scoring values for the one or more remaining candidates based in part or in whole on matching results of the one or more remaining candidates with predetermined gestures in a database; and

determining a user input based at least in part on a recognized gesture of the one or more remaining gestures.

7. A method of identifying a gesture, comprising:

capturing, at one or more image capturing sensors, a plurality of images of respective fields of view of a user;

determining a predetermined processing order for a plurality of gesture analysis processes based in part or in whole upon computational resource utilization of the plurality of gesture analysis processes;

analyzing, with at least one microprocessor, the plurality of images with at least one of the plurality of gesture analysis processes according to the sequence at least by performing a rejection cascade processing on a set of candidates to remove at least one candidate from a set of candidates for the plurality of images to generate a reduced set of one or more remaining candidates while skipping one or more gesture analysis processes based in part or in whole upon the predetermined processing order, the rejection cascade processing comprising:

a relatively less computational intensive stage using relatively less expensive computations and configured to remove one or more candidates to transform the set of candidates into a reduced set of candidates; and

a later, more computational intensive stage using relatively more expensive computations and configured to analyze the reduced set of candidates to determine one or more gestures from the plurality of images; and

identifying at least one gesture by performing at least a second gesture analysis process of the plurality of gesture analysis processes on the plurality of images.

8. A method of identifying a gesture, comprising:

capturing, at one or more image capturing sensors, a plurality of images of respective fields of view of a user;

generating a plurality of gesture candidates from the plurality of images at least by performing a depth segmentation analysis based in part or in whole upon depth data provided by the one or more one or more image capturing sensors;

determining a sequence for a plurality of gesture analysis processes based in part or in whole upon computational resource utilization of the plurality of gesture analysis processes;

generating analysis data values corresponding to each of the plurality of gesture candidates;

sorting the plurality of gesture candidates based on the analysis data values;

eliminating, with at least a first gesture analysis process, one or more gesture candidates with analysis data values less than a threshold to generate a reduced set of gesture candidates while skipping one or more remaining gesture analysis processes of the plurality of gesture analysis processes; and

identifying at least one gesture candidate from the reduced set of gesture candidates as the gesture for interaction with at least a second gesture analysis process executing on a computing system.

9. A method for classifying a gesture, comprising:

capturing, at one or more image capturing sensors, an image of a field of view of a user;

determining a sequence for a plurality of gesture analysis processes based in part or in whole upon computational resource utilization of the plurality of gesture analysis processes;

reducing a set of gesture candidates into a reduced set of gesture candidates at least by removing one or more gesture candidates with at least a first gesture analysis process of the plurality of gesture analysis processes while skipping one or more remaining gesture analysis processes of the plurality of gesture analysis processes for the image;

performing, at least by a microprocessor operatively coupled to the one or more image capturing sensors, depth segmentation on the image at least by performing a line search with a series of lines on data in the image to generate a depth map;

analyzing the depth map using a classifier mechanism to identify a part of a hand corresponding to a point in the depth map;

skeletonizing the depth map into a skeletonized depth map based at least in part on an identification of the part of the hand;

classifying the image as a gesture in the reduced set of gesture candidates with at least a second gesture analysis process of the plurality of gesture analysis processes based in part or in whole on the skeletonized depth map.

10. The method of claim 9 , wherein the depth segmentation comprises the line search with one or more diagonal lines employed in a portion of the image.

11. The method of claim 9 , further comprising performing a cascade analysis on the depth map to classify the image as the gesture.

12. The method of claim 9 , further comprising performing depth augmentation on the depth map.

13. The method of claim 9 , further comprising performing surface normalization on the depth map.

14. The method of claim 9 , further comprising performing orientation normalization on the depth map.

15. The method of claim 9 , further comprising performing background subtraction on the depth map.

16. The method of claim 9 , further comprising performing depth comparison on the depth map.

17. The method of claim 9 , further comprising classifying the image as the gesture based on the depth map, which has been skeletonized, and prior information.

18. The method of claim 9 , wherein the classifier mechanism comprises a decision forest or a decision tree.

19. The method of claim 9 , wherein the line search is performed with a plurality of flat lines in a first portion in the image and a plurality of diagonal lines in a second portion in the image.

20. The method of claim 9 , further comprising:

checking an amount of light reflected off a part of the user in the image;

performing confidence enhancement for the depth map, which has been skeletonized, based at least in part or in whole upon a clear map of the part of the user and upon the amount of light; and

filtering out one or more identified objects as the part of the user at least by flood filling data from cascade processing.

Assignments (3)
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Nov 7, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CITIBANK, N.A.
Reel/Frame 050967/0138 →
PATENT SECURITY AGREEMENT Recorded Aug 22, 2019
From: MAGIC LEAP, INC.; MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC
To: JP MORGAN CHASE BANK, N.A.
Reel/Frame 050138/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2016
From: ABOVITZ, RONY; SCHOWENGERDT, BRIAN T.; WATSON, MATHEW D.
To: MAGIC LEAP, INC.
Reel/Frame 039835/0865 →
Continuity (8)
Continuation 14696347 · Apr 24, 2015
Continuation 14331218 · Jul 14, 2014
Continuation 14704858
Continuation In Part 14641376 · Mar 7, 2015
Provisional Application 61845907 · Jul 12, 2013
Provisional Application 62012273 · Jun 14, 2014
Provisional Application 61950001 · Mar 7, 2014
Related Publication 20150234477A1 · Aug 20, 2015
Cited By (3)
US 12,260,023 US 12,306,301 US 12,693,717