Systems and methods for personalized motion control
First Claim
1. A method for creating and using motion recognizers, the method comprising:
- receiving a training set created by an end user without reference to a predefined set of allowed motions, the training set including a first set of motion signals characterizing at least one type of motion executed over some period of time;
constructing at least one of the motion recognizers automatically from the training set, wherein;
(1) substantially all parameters needed to create the motion recognizers that are ad-hoc and perform motion recognition are determined automatically;
(2) means to influence which moves are recognizable is to add new examples of motions to or subtract some of the motion signals from the training set; and
performing motion recognition with the at least one of the motion recognizers by classifying a second set of motion signals
3 Assignments
0 Petitions
Accused Products
Abstract
End users, unskilled in the art, generating motion recognizers from example motions, without substantial programming, without limitation to any fixed set of well-known gestures, and without limitation to motions that occur substantially in a plane, or are substantially predefined in scope. From example motions for each class of motion to be recognized, a system automatically generates motion recognizers using machine learning techniques. Those motion recognizers can be incorporated into an end-user application, with the effect that when a user of the application supplies a motion, those motion recognizers will recognize the motion as an example of one of the known classes of motion. Motion recognizers can be incorporated into an end-user application; tuned to improve recognition rates for subsequent motions to allow end-users to add new example motions.
33 Citations
50 Claims
-
1. A method for creating and using motion recognizers, the method comprising:
-
receiving a training set created by an end user without reference to a predefined set of allowed motions, the training set including a first set of motion signals characterizing at least one type of motion executed over some period of time; constructing at least one of the motion recognizers automatically from the training set, wherein; (1) substantially all parameters needed to create the motion recognizers that are ad-hoc and perform motion recognition are determined automatically; (2) means to influence which moves are recognizable is to add new examples of motions to or subtract some of the motion signals from the training set; and performing motion recognition with the at least one of the motion recognizers by classifying a second set of motion signals - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for creating and using motion recognizers, the system comprising:
-
at least one hand-held motion sensing device producing a first set of motion signals; a memory space for storing at least one motion recognizer that is ad-hoc, and at least one training set created by an end user without reference to a predefined set of allowed motions, the training set including a second set of motion signals characterizing at least one motion executed over some period of time; and a first processing unit with a recognizer maker that is configured to automatically build the at least one motion recognizer from the at least one training set; and a second processing unit that receives the motion signals from the at least one hand-held motion sensing device, and executes a recognition runtime library which, responsive to the at least one motion recognizer, computes a motion label for the motion signals. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for creating motion recognizers, the method comprising:
-
receiving a training set of a first set of motion signals characterizing at least one type of motion executed over some period of time; constructing at least one motion recognizer automatically from the training set, wherein when used by a recognition runtime library, the motion recognizers support motion recognition on a second set of motion signals); and computing automatically from the training set at least one of; (3) a set of slack parameters, which is used to control per-class classification tolerances of the motion recognizer without adding or deleting motion signals from the training set, as a function of (i) overall classification rates, (ii) a difference in per-class classification rates, or (iii) a desired “
undetermined”
classification rate;(4) a capacity parameter, which is used to control a recognition capacity of the motion recognizer, as a function of (i) number of classes of the motion recognizer, (ii) required classification rates of each class, or (iii) a desired “
undetermined”
classification rate;(5) a confusion matrix, which is used to guide an interactive use of a recognizer maker by indicating which motion classes in the training set need to be updated with new motion signals or redesigned completely. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A system for creating motion recognizers, the system comprising:
-
at least one motion sensing device producing a first set of motion signals; a memory space for storing at least one motion recognizer, and at least one training set including a second set of motion signals characterizing at least one motion executed over some period of time; and a first processing unit that receives the first set of motion signals from the at least one motion sensing device, and executes a recognition runtime library which, responsive to the at least one motion recognizer, computes a motion label for the first set of motion signals; and a second processing unit with a recognizer maker configured to automatically build the at least one motion recognizer from the at least one training set and additionally computes automatically from the training set at least one of; (3) a set of slack parameters, which is used to control per-class classification tolerances of the motion recognizer without adding or deleting any of the second set of motion signals from the training set, as a function of (i) overall classification rates, (ii) a difference in per-class classification rates, or (iii) a desired “
undetermined”
classification rate;(4) a capacity parameter, which is used to control recognition capacity of the motion recognizer, as a function of (i) number of classes of the motion recognizer, (ii) required classification rates of each class, or (iii) a desired “
undetermined”
classification rate;(5) a confusion matrix, which is used to guide interactive use of the recognizer maker by indicating which motion classes in the training set need to be updated with new motion signals or redesigned completely. - View Dependent Claims (37)
-
-
38. A method for creating motion recognizers, the method comprising:
-
receiving motion signals as a training set of data from one or more motion sensitive devices, each of the motion signals characterizing at least one type of motion executed over some period of time; recording and retaining an envelope of data for each of the motion signals including data before a start and after an end of the motion characterized in each of the motion signals; analyzing each of the motion signals to build a motion start classifier that predicts the start of a motion based on features including differences in motion signal activities before, during and after the start of each of the motion signals in the training set; and labeling an incoming motion signal stream automatically with a motion start when the motion start classifier indicates a motion has started. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method for creating motion recognizers, the method comprising:
-
receiving a motion recognizer built from a training set composed of a first set of motion signals characterizing at least one type of motion executed over some period of time with a motion sensing device, wherein the motion signals include sufficient information to compute position and orientation over time of the motion sensing device; receiving a second set of motion signals from a second motion sensing device providing sufficient information to compute position and orientation over time of the second motion sensing device; and performing motion recognition to determine a first example motion signal in the training set most responsive to a second example in the second set of motion signals; computing at any point in time a first 3D track of the first example motion signal, and a second 3D track of the second example motion signal; and rendering the first and second 3D tracks visually side by side, with at least a first major point of divergence between the two motions highlighted. - View Dependent Claims (49, 50)
-
Specification