Method of recognition of human motion, vector sequences and speech
First Claim
1. A method for recognizing an input human motion as most similar to a model human motion, which is a member of a stored collection of model human motions, comprising the steps of:
- a. Creating a collection of model human motions by measuring and recording the model trajectories of body parts that pertain to human performances of such collection of model human motions;
b. sampling at a model-rate of sampling, one recorded model trajectories of body parts;
c. repeating step b each time with another recorded model trajectories of body parts, until all the recorded model trajectories of body parts included in the collection of model human motions, have been sampled;
d. representing each sample of the recorded model trajectories of body parts by a model vector mrj;
wherein each component of such model vector is derived from a sample of a recorded model trajectory of one body part;
e. representing each member of the collection of model human motions by a model vectors sequence Mj=(m1j . . . mrj . . . mqj);
wherein the subscript q denotes the total number of model vectors in the model vectors sequence Mj;
wherein the subscript r denotes the location of the model vector mrj within the model vectors sequence Mj;
wherein the subscript j denotes the serial number of the model vectors sequence Mj within the collection of model vectors sequences {Mj} that represents the corresponding collection of model human motions;
f. storing in a hash table, the entire collection of model vectors sequences {Mj} by storing each of the model vectors mrj that belongs to the collection of model vectors sequences {Mj}, in a hash table bin whose address is the nearest to the model vector mrj;
g. Acquiring an input human motion by measuring and recording the input trajectories of body parts that pertain to a human performance of such input human motion;
h. sampling at an input-rate of sampling, the recorded input trajectories of body parts;
wherein the input-rate of sampling is set to be substantially different from the model-rate of sampling;
i. representing each sample of the recorded input trajectories of body parts by an input vector tnk;
wherein each component of such an input vector is derived from a sample of a recorded input trajectory of the same body part that pertains to the corresponding component of the model vector mrj;
j. representing the sampled input human motion by an input vectors sequence Tk=(t1k . . . tnk . . . tpk);
wherein the subscript p denotes the total number of input vectors in the input vectors sequence;
wherein the subscript n denotes the location of the input vector tnk within the input vectors sequence Tk;
wherein the subscript k denotes the serial number of the input vectors sequence;
k. employing an optimal matching algorithm to find the optimal matching score between the input vectors sequence Tk and one model vectors sequence Mj, which is one of the members of the collection of model vectors sequences {Mj};
l. repeating step k until all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} are found;
m. comparing all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} and finding one model vectors sequence Mo that has the highest optimal matching score;
recognizing the input human motion as most similar to the model human motion that pertains to the model vectors sequence Mo with the highest optimal matching score;
0 Assignments
0 Petitions
Accused Products
Abstract
A method for recognition of an input human motion as being the most similar to one model human motion out of a collection of stored model human motions. In the preferred method, both the input and the model human motions are represented by vector sequences that are derived from samples of angular poses of body parts. The input and model motions are sampled at substantially different rates. A special optimization algorithm that employs sequencing constraints and dynamic programming, is used for finding the optimal input-model matching scores. When only partial body pose information is available, candidate matching vector pairs for the optimization are found by indexing into a set of hash tables, where each table pertains to a sub-set of body parts. The invention also includes methods for recognition of vector sequences and for speech recognition.
-
Citations
45 Claims
-
1. A method for recognizing an input human motion as most similar to a model human motion, which is a member of a stored collection of model human motions, comprising the steps of:
-
a. Creating a collection of model human motions by measuring and recording the model trajectories of body parts that pertain to human performances of such collection of model human motions;
b. sampling at a model-rate of sampling, one recorded model trajectories of body parts;
c. repeating step b each time with another recorded model trajectories of body parts, until all the recorded model trajectories of body parts included in the collection of model human motions, have been sampled;
d. representing each sample of the recorded model trajectories of body parts by a model vector mrj;
wherein each component of such model vector is derived from a sample of a recorded model trajectory of one body part;
e. representing each member of the collection of model human motions by a model vectors sequence Mj=(m1j . . . mrj . . . mqj);
wherein the subscript q denotes the total number of model vectors in the model vectors sequence Mj;
wherein the subscript r denotes the location of the model vector mrj within the model vectors sequence Mj;
wherein the subscript j denotes the serial number of the model vectors sequence Mj within the collection of model vectors sequences {Mj} that represents the corresponding collection of model human motions;
f. storing in a hash table, the entire collection of model vectors sequences {Mj} by storing each of the model vectors mrj that belongs to the collection of model vectors sequences {Mj}, in a hash table bin whose address is the nearest to the model vector mrj;
g. Acquiring an input human motion by measuring and recording the input trajectories of body parts that pertain to a human performance of such input human motion;
h. sampling at an input-rate of sampling, the recorded input trajectories of body parts;
wherein the input-rate of sampling is set to be substantially different from the model-rate of sampling;
i. representing each sample of the recorded input trajectories of body parts by an input vector tnk;
wherein each component of such an input vector is derived from a sample of a recorded input trajectory of the same body part that pertains to the corresponding component of the model vector mrj;
j. representing the sampled input human motion by an input vectors sequence Tk=(t1k . . . tnk . . . tpk);
wherein the subscript p denotes the total number of input vectors in the input vectors sequence;
wherein the subscript n denotes the location of the input vector tnk within the input vectors sequence Tk;
wherein the subscript k denotes the serial number of the input vectors sequence;
k. employing an optimal matching algorithm to find the optimal matching score between the input vectors sequence Tk and one model vectors sequence Mj, which is one of the members of the collection of model vectors sequences {Mj};
l. repeating step k until all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} are found;
m. comparing all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} and finding one model vectors sequence Mo that has the highest optimal matching score;
recognizing the input human motion as most similar to the model human motion that pertains to the model vectors sequence Mo with the highest optimal matching score;
- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for recognizing an input vectors sequence Tk as most similar to a model vectors sequence Mj, which is a member of a stored collection of model vectors sequences {Mj}, comprising the steps of:
-
a. Creating a collection of model signal sets by measuring and recording all the model signal sets of a collection of model signal sets;
b. sampling at a model-rate of sampling, one model signal set;
c. repeating step b each time with another model signal set, until all the recorded model signal sets included in the collection of model signal sets, have been sampled;
d. representing each sample of the model signal set by a model sample vector wrj;
wherein each component of such model sample vector is derived from one sample of one recorded model signal that belongs to the model signal set;
e. transforming each model sample vector wrj into a model vector mrj using a pre-specified transformation;
f. representing each member of the collection of model vectors sequences by a model vectors sequence Mj=(m1j . . . mrj . . . mqj);
wherein the subscript q denotes the total number of model vectors in the model vectors sequence Mj;
wherein the subscript r denotes the location of the model vector mrj within the model vectors sequence Mj;
wherein the subscript j denotes the serial number of the model vectors sequence Mj within the collection of model vectors sequences {Mj};
g. storing in a hash table, the entire collection of model vectors sequences {Mj} by storing each of the model vectors mrj that belongs to the collection of model vectors sequences {Mj}, in a hash table bin whose address is the nearest to the model vector mrj;
h. Acquiring an input signal set by measuring and recording an input signal set;
wherein each input signal of the input signal set corresponds to a model signal of the model signal set;
i. sampling at an input-rate of sampling, the recorded input signal set;
wherein the input-rate of sampling is adjusted to be substantially different from the model-rate of sampling;
j. representing each sample of the recorded input signal set by an input sample vector vnk;
wherein each component of such an input sample vector is derived from one sample of a recorded input signal that belongs to the input signal set;
k. transforming each input sample vector vnk into an input vector trj using a pre-specified transformation;
l. representing the sampled input signal set by an input vectors sequence Tk=(t1k . . . tnk . . . tpk);
wherein the subscript p denotes the total number of input vectors in the input vectors sequence;
wherein the subscript n denotes the location of the input vector tnk within the input vectors sequence Tk;
wherein the subscript k denotes the serial number of the input vectors sequence;
m. employing an optimal matching algorithm to find the optimal matching score between the input vectors sequence Tk and one model vectors sequence Mj, which is one of the members of the collection of model vectors sequences {Mj};
n. repeating step k until all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} are found;
o. comparing all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} and finding one model vectors sequence Mo that has the highest optimal matching score;
recognizing the input signal set as most similar to the model signal set that pertains to the model vectors sequence Mo with the highest optimal matching score;
- View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method for recognizing an input human motion as most similar to a model human motion, which is a member of a stored collection of model human motions, comprising the steps of:
-
a. Creating a collection of model human motions by measuring and recording the model trajectories of body parts that pertain to human performances of such collection of model human motions;
b. sampling at a model-rate of sampling, one recorded model trajectories of body parts;
c. repeating step b each time with another recorded model trajectories of body parts, until all the recorded model trajectories of body parts included in the collection of model human motions, have been sampled;
d. representing each sample of the recorded model trajectories of body parts by a model vector mrj;
wherein each component of such model vector is derived from a sample of a recorded model trajectory of one body part;
e. representing each member of the collection of model human motions by a model vectors sequence Mj=(m1j . . . mrj . . . mqj);
wherein the subscript q denotes the total number of model vectors in the model vectors sequence Mj;
wherein the subscript r denotes the location of the model vector mrj within the model vectors sequence Mj;
wherein the subscript j denotes the serial number of the model vectors sequence Mj within the collection of model vectors sequences {Mj} that represents the corresponding collection of model human motions;
f. Acquiring an input human motion by measuring and recording the input trajectories of body parts that pertain to a human performance of such input human motion;
g. sampling at an input-rate of sampling, the recorded input trajectories of body parts;
wherein the input-rate of sampling is set to be substantially different from the model-rate of sampling;
h. representing each sample of the recorded input trajectories of body parts by an input vector tnk;
wherein each component of such an input vector is derived from a sample of a recorded input trajectory of the same body part that pertains to the corresponding component of the model vector mrj;
i. representing the sampled input human motion by an input vectors sequence Tk=(t1k . . . tnk . . . tpk);
wherein the subscript p denotes the total number of input vectors in the input vectors sequence;
wherein the subscript n denotes the location of the input vector tnk within the input vectors sequence Tk;
wherein the subscript k denotes the serial number of the input vectors sequence;
j. dividing the full set of human body parts into several groups of human body parts;
k. in complete correspondence to the division into groups of human body parts, also dividing each of the input vectors and each of the model vectors into input sub-vectors and corresponding model sub-vectors;
wherein each sub-vector pertains to another group of human body parts;
l. storing each division of model sub-vectors, which corresponds to the same group of body parts, in a separate hash sub-table;
wherein the hash sub-table has addressing sub-vectors that correspond in their dimensions to the dimensions of the model sub-vectors stored;
wherein each model sub-vector is stored in a hash sub-table bin whose address sub-vector is the nearest to the model sub-vector;
wherein the bins have address sub-vectors that are determined by a process of vector quantization;
m. indexing each of the input vectors tnk within the input vectors sequence Tk by using each of its input sub-vectors to index separately into the corresponding hash sub-table;
n. for each input vector tnk within the input vectors sequence Tk, retrieving the corresponding model sub-vectors extracted by separately indexing with input sub-vectors that are parts of the same input vector tnk and merging them back into model vectors mrj;
creating from each retrieved and merged model vector mrj a vector pair (tnk, mrj);
o. computing for each vector pair (tnk, mrj) created in step n, a pair matching score that reflects the vector pair'"'"'s matching quality;
p. removing from all the vector pairs created in step n, all the vector pairs that have a pair matching score equal or below a predetermined threshold and retaining the remaining vector pairs and naming these vector pairs as matching vector pairs;
q. employing an optimal matching algorithm to find the optimal matching score between the input vectors sequence Tk and one model vectors sequence Mj which is one of the members of the collection of model vectors sequences {Mj};
r. repeating step q until all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} are found;
s. comparing all the optimal matching scores that pertain to all the model vectors sequences Mj, which are members of the collection of model vectors sequences {Mj} and finding one model vectors sequence Mn that has the highest optimal matching score;
recognizing the input human motion as most similar to the model human motion that pertains to the model vectors sequence Mn with the highest optimal matching score;
- View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification