IP Library Granted Patent US 8,873,841
Granted Patent B2
US 8,873,841 · App. 13/091,901 · Granted Oct 28, 2014

Methods and apparatuses for facilitating gesture recognition

Inventors: Jun Yang (Milpitas, CA); Hawk-Yin Pang (San Jose, CA); Zhigang Liu (Sunnyvale, CA)
Assignee: Nokia Corporation
G06F3/017G06F3/0346G06K9/00355G06K9/22G06K9/70
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 8,873,841
App. No.
13/091,901
Granted
Oct 28, 2014
Kind
B2
Abstract

Methods and apparatuses are provided for facilitating gesture recognition. A method may include constructing a matrix based at least in part on an input gesture and a template gesture. The method may further include determining whether a relationship determined based at least in part on the constructed matrix satisfies a predefined threshold. In an instance in which the relationship does not satisfy the predefined threshold, the method may also include eliminating the template gesture from further consideration for recognition of the input gesture. In an instance in which the relationship satisfies the predefined threshold, the method may further include determining a rotation matrix based at least in part on the constructed matrix.

Claims (63)

1. A method comprising:

constructing a matrix based at least in part on an input gesture and a template gesture;

determining, by a processor, whether a relationship determined based at least in part on the constructed matrix satisfies a predefined threshold;

in an instance in which the relationship does not satisfy the predefined threshold, eliminating the template gesture from further consideration for recognition of the input gesture; and

in an instance in which the relationship satisfies the predefined threshold, determining a rotation matrix based at least in part on the constructed matrix.

2. The method of claim 1 , further comprising:

calculating a plurality of eigenvalues based at least in part on the constructed matrix; and

wherein determining whether a relationship determined based at least in part on the constructed matrix satisfies a predefined threshold comprises determining whether a relationship between the eigenvalues satisfies a predefined threshold.

3. The method of claim 2 , wherein determining whether a relationship between the eigenvalues satisfies the predefined threshold comprises determining whether a ratio between the eigenvalue having the largest positive value and another of the eigenvalues is greater than the predefined threshold.

4. The method of claim 1 , wherein determining the rotation matrix comprises:

determining the eigenvector of the constructed matrix having the largest positive eigenvalue as a unit quaternion; and

determining the rotation matrix represented by the unit quaternion.

5. The method of claim 1 , further comprising:

prior to constructing the matrix, comparing a property of the input gesture to a property of the template gesture; and

wherein constructing the matrix comprises constructing the matrix only in an instance in which the comparison between the property of the input gesture and the property of the template gesture satisfies a second predefined threshold.

6. The method of claim 5 , wherein comparing a property of the input gesture to a property of the template gesture comprises comparing one or more of a length, rate, or acceleration of the input gesture to a respective one or more of a length, rate, or acceleration of the template gesture.

7. The method of claim 1 , further comprising, in an instance in which the relationship satisfies the predefined threshold:

using the rotation matrix to rotate a gravity vector associated with the template gesture to a coordinate system of the input gesture;

comparing the rotated gravity vector associated with the template gesture to a gravity vector associated with the input gesture to determine whether an angle between the rotated gravity vector associated with the template gesture and the gravity vector associated with the input gesture satisfies a second predefined threshold; and

eliminating the template gesture from further consideration for recognition of the input gesture in an instance in which the angle does not satisfy the second predefined threshold.

8. The method of claim 1 , further comprising, in an instance in which the relationship satisfies the predefined threshold:

using the rotation matrix to rotate the template gesture to a coordinate system of the input gesture;

calculating a pairwise distance based at least in part on the rotated template gesture and the input gesture;

determining whether the pairwise distance satisfies a second predefined threshold; and

eliminating the template gesture from further consideration for recognition of the input gesture in an instance in which the pairwise distance does not satisfy the second predefined threshold.

9. The method of claim 1 , further comprising:

using a gesture recognition classifier to determine whether the input gesture matches the template gesture in an instance in which the template gesture is not eliminated from further consideration for recognition of the input gesture.

10. The method of claim 1 , further comprising repeating the constructing and determining for each of a plurality of template gestures, thereby filtering out template gestures that fail to satisfy the predefined threshold.

11. An apparatus comprising at least one processor and at least one memory storing computer program code, wherein the at least one memory and stored computer program code are configured, with the at least one processor, to cause the apparatus to at least:

construct a matrix based at least in part on an input gesture and a template gesture;

determine whether a relationship determined based at least in part on the constructed matrix satisfies a predefined threshold;

in an instance in which the relationship does not satisfy the predefined threshold, eliminate the template gesture from further consideration for recognition of the input gesture; and

in an instance in which the relationship satisfies the predefined threshold, determine a rotation matrix based at least in part on the constructed matrix.

12. The apparatus of claim 11 , wherein the at least one memory and stored computer program code are configured, with the at least one processor, to further cause the apparatus to:

calculate a plurality of eigenvalues based at least in part on the constructed matrix;

determine whether a relationship determined based at least in part on the constructed matrix satisfies a predefined threshold at least in part by determining whether a relationship between the eigenvalues satisfies a predefined threshold.

13. The apparatus of claim 12 wherein the at least one memory and stored computer program code are configured, with the at least one processor, to cause the apparatus to determine whether a relationship between the eigenvalues satisfies the predefined threshold at least in part by determining whether a ratio between the eigenvalue having the largest positive value and another of the eigenvalues is greater than the predefined threshold.

14. The apparatus of claim 11 , wherein the at least one memory and stored computer program code are configured, with the at least one processor, to cause the apparatus to determine the rotation matrix at least in part by:

determining the eigenvector of the constructed matrix having the largest positive eigenvalue as a unit quaternion; and

determining the rotation matrix represented by the unit quaternion.

15. The apparatus of claim 11 , wherein the at least one memory and stored computer program code are configured, with the at least one processor, to further cause the apparatus to:

prior to constructing the matrix, compare a property of the input gesture to a property of the template gesture; and

construct the matrix only in an instance in which the comparison between the property of the input gesture and the property of the template gesture satisfies a second predefined threshold.

16. The apparatus of claim 11 , wherein, in an instance in which the relationship satisfies the predefined threshold, the at least one memory and stored computer program code are configured, with the at least one processor, to further cause the apparatus to:

use the rotation matrix to rotate a gravity vector associated with the template gesture to a coordinate system of the input gesture;

compare the rotated gravity vector associated with the template gesture to a gravity vector associated with the input gesture to determine whether an angle between the rotated gravity vector associated with the template gesture and the gravity vector associated with the input gesture satisfies a second predefined threshold; and

eliminate the template gesture from further consideration for recognition of the input gesture in an instance in which the angle does not satisfy the second predefined threshold.

17. The apparatus of claim 11 , wherein, in an instance in which the relationship satisfies the predefined threshold, the at least one memory and stored computer program code are configured, with the at least one processor, to further cause the apparatus to:

use the rotation matrix to rotate the template gesture to a coordinate system of the input gesture;

calculate a pairwise distance based at least in part on the rotated template gesture and the input gesture;

determine whether the pairwise distance satisfies a second predefined threshold; and

eliminate the template gesture from further consideration for recognition of the input gesture in an instance in which the pairwise distance does not satisfy the second predefined threshold.

18. The apparatus of claim 11 , wherein the at least one memory and stored computer program code are configured, with the at least one processor, to further cause the apparatus to:

use a gesture recognition classifier to determine whether the input gesture matches the template gesture in an instance in which the template gesture is not eliminated from further consideration for recognition of the input gesture.

19. The apparatus of claim 11 , wherein the apparatus comprises or is embodied on a mobile phone, the mobile phone comprising user interface circuitry and user interface software stored on one or more of the at least one memory; wherein the user interface circuitry and user interface software are configured to:

facilitate user control of at least some functions of the mobile phone through use of a display; and

cause at least a portion of a user interface of the mobile phone to be displayed on the display to facilitate user control of at least some functions of the mobile phone.

20. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program instructions stored therein, the computer-readable program instructions comprising:

program instructions configured to construct a matrix based at least in part on an input gesture and a template gesture;

program instructions configured to calculate a plurality of eigenvalues based at least in part on the constructed matrix;

program instructions configured to determine whether a relationship between the eigenvalues satisfies a predefined threshold;

program instructions configured, in an instance in which the relationship does not satisfy the predefined threshold, to eliminate the template gesture from further consideration for recognition of the input gesture; and

program instructions configured, in an instance in which the relationship satisfies the predefined threshold, to determine a rotation matrix based at least in part on the constructed matrix.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035398/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2011
From: YANG, JUN; PANG, HAWK-YIN; LIU, ZHIGANG
To: NOKIA CORPORATION
Reel/Frame 026491/0520 →
Continuity (1)
Related Publication 20120272194A1 · Oct 25, 2012