IP Library › Granted Patent US 9,734,435
Granted Patent B2
US 9,734,435 · App. 14/985,741 · Granted Aug 15, 2017

Recognition of hand poses by classification using discrete values

Inventors: Eyal Krupka (Shimshit, IL); Alon Vinnikov (Ramat-Gan, IL); Kfir Karmon (Petach-Tikva, IL)
Assignee: Microsoft Technology Licensing, LLC
G06K9/6267G06K9/00355G06K9/66
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,734,435
App. No.
14/985,741
Granted
Aug 15, 2017
Kind
B2
Abstract

Computer implemented method for computing a feature dataset classifying a pose of a human hand, comprising: (a) Selecting a global orientation category (GOC) defining a spatial orientation of a human hand in a 3D space by applying GOC classifying functions on a received image segment depicting the hand. (b) Identifying in-plane rotation by applying in-plane rotation classifying functions on the image segment, the in-plane rotation classifying functions are selected according to said GOC. (c) Aligning the image segment in a 2D plane according to the in-plane rotation. (d) Applying hand pose features classifying functions on the aligned image segment. Each one of the feature classifying functions outputs a current discrete pose value of an associated hand feature. (e) Outputting a features dataset defining a current discrete pose value for each of the hand pose features for classifying current hand pose of the hand.

Claims (71)

1. A computer implemented method of computing a features dataset classifying a pose of a hand of a human, comprising:

selecting, using a computerized processor, a global orientation category (GOC) defining a spatial orientation of a hand of a human in a three dimensional (3D) space by applying a plurality of GOC classifying functions on a received image segment depicting said hand;

identifying an in-plane rotation by applying a plurality of in-plane rotation classifying functions on said image segment, said plurality of in-plane rotation classifying functions being selected according to said GOC;

aligning said image segment in a 2 dimensional (2D) plane according to said identified in-plane rotation;

applying a plurality of hand feature classifying functions on said aligned image segment, each one of said plurality of feature classifying functions outputting a current discrete pose value of an associated one of a plurality of hand pose features; and

outputting a features dataset defining a respective said current discrete pose value for each of said plurality of hand pose features for classifying a current hand pose of said hand;

wherein said GOC is identified after estimating a center of hand by applying a plurality of center of hand classifying functions on said image segment.

2. The computer implemented method of claim 1 , further comprising said center of hand is derived from a center of mass of said hand, said center of mass is identified by analyzing a depth image data available from an image depicting said hand, said depth image data maps a depth of said hand in said 3D space.

3. The computer implemented method of claim 2 , further comprising, said image is manipulated to remove at least one non-relevant image portions to produce an image segment.

4. The computer implemented method of claim 1 , wherein said plurality of center of hand classifying functions are trained statistical classifiers used for regression analysis.

5. The computer implemented method of claim 1 , wherein said plurality of GOC classifying functions are trained statistical classifiers.

6. A computer implemented method of computing a features dataset classifying a pose of a hand of a human, comprising:

selecting, using a computerized processor, a global orientation category (GOC) defining a spatial orientation of a hand of a human in a three dimensional (3D) space by applying a plurality of GOC classifying functions on a received image segment depicting said hand;

identifying an in-plane rotation by applying a plurality of in-plane rotation classifying functions on said image segment, said plurality of in-plane rotation classifying functions being selected according to said GOC;

aligning said image segment in a 2 dimensional (2D) plane according to said identified in-plane rotation;

applying a plurality of hand feature classifying functions on said aligned image segment, each one of said plurality of feature classifying functions outputting a current discrete pose value of an associated one of a plurality of hand pose features; and

outputting a features dataset defining a respective said current discrete pose value for each of said plurality of hand pose features for classifying a current hand pose of said hand;

wherein said plurality of in-plane rotation classifying functions are trained statistical classifiers.

7. The computer implemented method of claim 6 , wherein said plurality of hand feature classifying functions are trained statistical classifiers.

8. The computer implemented method of claim 6 , further comprising said features dataset includes a score assigned to said current hand pose, said score indicates a probability rate of said current hand pose matching one of a plurality of pre-defined hand poses features datasets.

9. The computer implemented method of claim 6 , further comprising scaling said image segment to comply with a scale of a training dataset used for training at least one of: said plurality of GOC classifying functions, said plurality of in-plane rotation classifying functions and said plurality of hand feature classifying functions.

10. A system for computing a features dataset classifying a pose of a hand of a human, comprising:

a storage storing a plurality of pre-defined hand poses features datasets;

a memory storing a code;

at least one processor coupled to said storage and said memory for executing said stored code, said code comprising:

code instructions to select a global orientation category (GOC) defining a spatial orientation of a hand of a human in a three dimensional (3D) space by applying a plurality of GOC classifying functions on a received image segment depicting said hand;

code instructions to identify an in-plane rotation by applying a plurality of in-plane rotation classifying functions on said image segment, said plurality of in-plane rotation classifying functions being selected according to said GOC;

code instructions to align said image segment in a 2 dimensional (2D) plane according to said identified in-plane rotation;

code instructions to apply a plurality of hand feature classifying functions on said aligned image segment, each one of said plurality of feature classifying functions outputting a current discrete pose value of an associated one of a plurality of hand pose features; and

code instructions to output a features dataset defining a respective said current discrete pose value for each of said plurality of hand pose features for classifying a current hand pose of said hand;

wherein said GOC is identified after estimating a center of hand by applying a plurality of center of hand classifying functions on said image segment.

11. The system of claim 10 , further comprising said center of hand is derived from a center of mass of said hand, said center of mass is identified by analyzing a depth image data available from an image depicting said hand, said depth image data maps a depth of said hand in said 3D space.

12. The system of claim 11 , further comprising said image is manipulated to remove at least one non-relevant image portion to produce an image segment.

13. The system of claim 10 , further comprising said features dataset includes a score assigned to said current hand pose, said score indicates a probability rate of said features dataset matching one of said plurality of pre-defined hand poses features datasets.

14. A software program product for computing a feature dataset classifying a pose of a hand of a human, comprising:

a non-transitory computer readable storage medium;

first program instructions to access a memory storing a plurality of hand pose features datasets;

second program instructions to select, using a computerized processor, a global orientation category (GOC) defining a spatial orientation of a hand of a human in a three dimensional (3D) space by applying a plurality of GOC classifying functions on a received image segment depicting said hand;

third program instructions to identify an in-plane rotation by applying a plurality of in-plane rotation classifying functions on said image segment, said plurality of in-plane rotation classifying functions being selected according to said GOC;

fourth program instructions to align said image segment in a 2 dimensional (2D) plane according to said identified in-plane rotation;

fifth program instructions to apply a plurality of hand feature classifying functions on said aligned image segment, each one of said plurality of feature classifying functions outputting a current discrete pose value of an associated one of a plurality of hand pose features; and

sixth program instructions to output a features dataset defining a respective said current discrete pose value for each of said plurality of hand pose features for classifying a current hand pose of said hand;

wherein said first, second, third, fourth, fifth and sixth program instructions are executed by at least one computerized processor from said non-transitory computer readable storage medium;

wherein said GOC is identified after estimating a center of hand by applying a plurality of center of hand classifying functions on said image segment.

15. The software program product of claim 14 , further comprising said center of hand is derived from a center of mass of said hand, said center of mass is identified by analyzing a depth image data available from an image depicting said hand, said depth image data maps a depth of said hand in said 3D space.

16. The software program product of claim 15 , further comprising said image is manipulated to remove at least one non-relevant image portions to produce an image segment.

17. The software program product of claim 14 , wherein said plurality of center of hand classifying functions are trained statistical classifiers used for regression analysis.

18. The software program product of claim 14 , wherein said plurality of GOC classifying functions are trained statistical classifiers.

19. A software program product for computing a feature dataset classifying a pose of a hand of a human, comprising:

a non-transitory computer readable storage medium;

first program instructions to access a memory storing a plurality of hand pose features datasets;

second program instructions to select, using a computerized processor, a global orientation category (GOC) defining a spatial orientation of a hand of a human in a three dimensional (3D) space by applying a plurality of GOC classifying functions on a received image segment depicting said hand;

third program instructions to identify an in-plane rotation by applying a plurality of in-plane rotation classifying functions on said image segment, said plurality of in-plane rotation classifying functions being selected according to said GOC;

fourth program instructions to align said image segment in a 2 dimensional (2D) plane according to said identified in-plane rotation;

fifth program instructions to apply a plurality of hand feature classifying functions on said aligned image segment, each one of said plurality of feature classifying functions outputting a current discrete pose value of an associated one of a plurality of hand pose features; and

sixth program instructions to output a features dataset defining a respective said current discrete pose value for each of said plurality of hand pose features for classifying a current hand pose of said hand;

wherein said first, second, third, fourth, fifth and sixth program instructions are executed by at least one computerized processor from said non-transitory computer readable storage medium;

wherein said plurality of in-plane rotation classifying functions are trained statistical classifiers.

20. A software program product for computing a feature dataset classifying a pose of a hand of a human, comprising:

a non-transitory computer readable storage medium;

first program instructions to access a memory storing a plurality of hand pose features datasets;

second program instructions to select, using a computerized processor, a global orientation category (GOC) defining a spatial orientation of a hand of a human in a three dimensional (3D) space by applying a plurality of GOC classifying functions on a received image segment depicting said hand;

third program instructions to identify an in-plane rotation by applying a plurality of in-plane rotation classifying functions on said image segment, said plurality of in-plane rotation classifying functions being selected according to said GOC;

fourth program instructions to align said image segment in a 2 dimensional (2D) plane according to said identified in-plane rotation;

fifth program instructions to apply a plurality of hand feature classifying functions on said aligned image segment, each one of said plurality of feature classifying functions outputting a current discrete pose value of an associated one of a plurality of hand pose features; and

sixth program instructions to output a features dataset defining a respective said current discrete pose value for each of said plurality of hand pose features for classifying a current hand pose of said hand;

wherein said first, second, third, fourth, fifth and sixth program instructions are executed by at least one computerized processor from said non-transitory computer readable storage medium;

wherein said plurality of hand feature classifying functions are trained statistical classifiers.

21. The software program product of claim 20 , further comprising said features dataset includes a score assigned to said current hand pose, said score indicates a probability rate of said features dataset matching one of a plurality of pre-defined hand poses features datasets.

22. The software program product of claim 20 , further comprising seventh program instructions to scale said image segment to comply with a scale of a training dataset used for training at least one of: said plurality of GOC classifying functions, said plurality of in-plane rotation classifying functions and said plurality of hand feature classifying functions;

wherein said seventh program instructions are executed by said at least one computerized processor from said non-transitory computer readable storage medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2016
From: KRUPKA, EYAL; VINNIKOV, ALON; KARMON, KFIR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 037568/0195 →
Continuity (1)
Related Publication 20170193334A1 · Jul 6, 2017