Gesture detection and recognition
First Claim
1. A computer-implemented method of gesture detection, comprising:
- receiving a sequence of data items relating to motion of a gesturing user as captured by one or more image capture devices;
testing, by a hardware processor of a computing device, a plurality of selected data items from the sequence against predefined threshold values to determine a probability of the sequence representing a gesture, testing comprising;
applying the sequence to a trained decision tree, applying the sequence to the trained decision tree comprising passing the sequence through a plurality of nodes in the tree until a leaf node is reached in the tree, and wherein the probability of the sequence representing a gesture is determined in dependence on the leaf node reached in the decision tree;
applying the sequence to at least one further, distinct trained decision tree; and
determining the probability of the sequence representing the gesture by averaging the probabilities from each of the trained decision trees;
detecting the gesture if the probability is greater than a predetermined value; and
controlling the computing device at least partly in response to detecting the gesture.
2 Assignments
0 Petitions
Accused Products
Abstract
A gesture detection and recognition technique is described. In one example, a sequence of data items relating to the motion of a gesturing user is received. A selected set of data items from the sequence are tested against pre-learned threshold values, to determine a probability of the sequence representing a certain gesture. If the probability is greater than a predetermined value, then the gesture is detected, and an action taken. In examples, the tests are performed by a trained decision tree classifier. In another example, the sequence of data items can be compared to pre-learned templates, and the similarity between them determined. If the similarity for a template exceeds a threshold, a likelihood value associated with a future time for a gesture associated with that template is updated. Then, when the future time is reached, the gesture is detected if the likelihood value is greater than a predefined value.
-
Citations
35 Claims
-
1. A computer-implemented method of gesture detection, comprising:
-
receiving a sequence of data items relating to motion of a gesturing user as captured by one or more image capture devices; testing, by a hardware processor of a computing device, a plurality of selected data items from the sequence against predefined threshold values to determine a probability of the sequence representing a gesture, testing comprising; applying the sequence to a trained decision tree, applying the sequence to the trained decision tree comprising passing the sequence through a plurality of nodes in the tree until a leaf node is reached in the tree, and wherein the probability of the sequence representing a gesture is determined in dependence on the leaf node reached in the decision tree; applying the sequence to at least one further, distinct trained decision tree; and determining the probability of the sequence representing the gesture by averaging the probabilities from each of the trained decision trees; detecting the gesture if the probability is greater than a predetermined value; and controlling the computing device at least partly in response to detecting the gesture. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method of gesture detection, comprising:
-
receiving a sequence of data items relating to motion of a gesturing user as captured by one or more image capture devices; comparing, by a hardware processor of a computing device, the sequence of data items to a plurality of templates, each associated with a gesture, and generating a measure of similarity for each; in the case that the measure of similarity for a template is greater than a threshold, updating a likelihood value associated with a future time for the gesture associated with that template, updating the likelihood value comprising aggregating a weight value associated with the template with additional weight values previously stored at the future time for the gesture; and when the future time is reached, detecting the gesture if the likelihood value is greater than a predefined value and controlling the computing device based on the gesture. - View Dependent Claims (12, 13)
-
-
14. A computer-implemented method of gesture detection, comprising:
-
receiving a sequence of data items relating to motion of a gesturing user as captured by one or more image capture devices; testing, by a hardware processor of a computing device, a plurality of selected data items from the sequence against predefined threshold values to determine a probability of the sequence representing a gesture, testing comprising applying the sequence to a trained decision tree; detecting the gesture if the probability is greater than a predetermined value and in response to detecting the gesture, controlling the computing device; and training the decision tree prior to receiving the sequence, training the decision tree comprising; selecting a node of the decision tree; selecting at least one annotated training sequence; generating a plurality of random index values and random threshold values; comparing data items from the annotated training sequence located at each of the random index values to each of the random threshold values to obtain a plurality of results; selecting a chosen index value and at least one chosen threshold value for the node in dependence on the plurality of results; and storing the chosen index value and the at least one chosen threshold value in association with the node at a storage device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A system, comprising:
-
at least one memory; and at least one processor configured to operate with the at least one memory to; receive a sequence of data items relating to motion of a gesturing user as captured by one or more image capture devices; and at least one of; test a plurality of selected data items from the sequence against predefined threshold values to determine a probability of the sequence representing a gesture at least by applying the sequence to a trained decision tree, applying the sequence to the trained decision tree comprising passing the sequence through a plurality of nodes in the tree until a leaf node is reached in the tree, and wherein the probability of the sequence representing a gesture is determined in dependence on the leaf node reached in the decision tree, applying the sequence to at least one further, distinct trained decision tree, and determining the probability of the sequence representing the gesture by averaging the probabilities from each of the trained decision trees;
detect the gesture if the probability is greater than a predetermined value; and
control a computing device at least partly in response to detecting the gesture;
orcompare the sequence of data items to a plurality of templates, each associated with the gesture, and generating a measure of similarity for each;
in the case that the measure of similarity for a template is greater than a threshold, updating a likelihood value associated with a future time for the gesture associated with that template, updating the likelihood value comprising aggregating a weight value associated with the template with additional weight values previously stored at the future time for the gesture; and
when the future time is reached, detecting the gesture if the likelihood value is greater than a predefined value and controlling the computing device based on the gesture;
ortest the plurality of selected data items from the sequence against the predefined threshold values to determine the probability of the sequence representing the gesture at least by applying the sequence to a trained decision tree;
detect the gesture if the probability is greater than the predetermined value and in response to detecting the gesture, controlling the computing device; and
train the decision tree prior to receiving the sequence by at least selecting a node of the decision tree, selecting at least one annotated training sequence, generating a plurality of random index values and random threshold values, comparing data items from the annotated training sequence located at each of the random index values to each of the random threshold values to obtain a plurality of results, selecting a chosen index value and at least one chosen threshold value for the node in dependence on the plurality of results, and storing the chosen index value and the at least one chosen threshold value in association with the node at a storage device. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification