METHOD FOR CREATING A GESTURE LIBRARY
The technology disclosed relates to the creation of a gesture library for subsequent use in filtering gestures. In particular, the methods disclosed here generate and store gestures and their characteristic values to create a set of user-defined reference gestures that can be compared against characteristics of actual gestures performed in a 3D sensory space. Based on these comparisons, a set of gestures of interest may be filtered from all the gestures performed in the 3D sensory space. The technology disclosed also relates to customizing gesture interpretation for a particular user, and to setting parameters for recognizing gestures by prompting the user to select values for characteristics of the gestures. In one implementation, the technology disclosed includes performing characteristic focused demonstrations of boundaries of the gesture. It further includes testing the interpretation of gestures by prompting the user to perform complete gesture demonstrations and receiving user evaluation regarding the interpretation.
1 . A method including:
recognizing a first performance of a first gesture;
creating a first data object for the first gesture and associating the first data object with a first action;
recognizing a first performance of a second gesture;
determining that the second gesture is associated with the first action based, at least in part, on comparing the second gesture to the first data object; and
executing the first action.
2 . The method of claim 1 , wherein the creating of the first data object for the first gesture is based, at least in part, on the first performance of the first gesture.
3 . The method of claim 1 , comprising recognizing a second performance of the first gesture associated with the first action,
wherein the creating of the first data object for the first gesture is based, at least in part, on the first performance of the first gesture and the second performance of the first gesture.
4 . The method of claim 3 , comprising recognizing a second performance of the first gesture associated with the first action,
wherein the creating of the first data object for the first gesture is based, at least in part, on the first performance of the first gesture and the second performance of the first gesture, and
wherein the recognizing of at least one of the first performance of the first gesture or the second performance of the first gesture is executed based, at least in part, on a motion-capture program.
5 . The method of claim 1 , comprising storing data associating the first gesture and the second gesture with the first action.
6 . The method of claim 1 , wherein the first data object comprises a first set of parameters.
7 . The method of claim 1 , wherein the first data object comprises at least a first parameter range.
8 . The method of claim 1 ,
wherein the first data object comprises a first set of parameters and a first parameter range,
wherein the comparing of the second gesture to the first data object comprises determining a second set of parameters for the second gesture, and
wherein the determining that the second gesture is associated with the first action comprises determining that at least one parameter of the second set of parameters is within the first parameter range.
9 . The method of claim 1 ,
wherein the first data object comprises a first set of parameters,
wherein the comparing of the second gesture to the first data object comprises determining a second set of parameters for the second gesture, and
wherein the method includes modifying the first data object based, at least in part, on the determined second set of parameters for the second gesture.
10 . The method of claim 1 ,
wherein the first data object comprises a first set of parameters and a first parameter range,
wherein the comparing of the second gesture to the first data object comprises determining a second set of parameters for the second gesture, and
wherein the method includes modifying the first parameter range based, at least in part, on the second set of parameters for the second gesture.
11 . The method of claim 1 , comprising prompting a demonstration of the first gesture.
12 . The method of claim 11 , wherein the prompting of the demonstration of the first gesture comprises providing one or more prompts requesting a boundary of the first gesture.
13 . The method of claim 11 , wherein the prompting of the demonstration of the first gesture comprises providing one or more questions requesting one or more responses about characteristics of the first gesture.
14 . The method of claim 1 , comprising:
recognizing a first performance of a third gesture;
comparing the third gesture to the first data object; and
determining that the third gesture is associated with a second action.
15 . The method of claim 14 ,
wherein the first data object comprises a first set of parameters and a first parameter range, and
wherein the comparing of the third gesture to the first data object comprises determining a third set of parameters for the third gesture.
16 . The method of claim 14 ,
wherein the first data object comprises a first set of parameters and a first parameter range,
wherein the comparing of the third gesture to the first data object comprises determining a third set of parameters for the third gesture,
wherein a second data object comprises a second parameter range, and
wherein the method comprises:
determining that at least one parameter of the third set of parameters is outside the first parameter range of the first data object;
determining that at least one parameter of the third set of parameters is within the second parameter range of the second data object; and
executing the second action.
17 . The method of claim 14 , comprising storing data associating the third gesture with the second action, the second action being different from the first action.
18 . The method of claim 1 , wherein the first data object comprises a first set of parameters that include at least one of a path of a gesture, parameters of a gesture, spatial properties of the gesture, or a velocity of the gesture.
19 . A system including one or more processors coupled to memory, the memory loaded with computer instructions that, when executed on the processors, implement operations comprising:
recognizing a first performance of a first gesture;
creating a first data object for the first gesture and associating the first data object with a first action;
recognizing a first performance of a second gesture;
determining that the second gesture is associated with the first action based, at least in part, on comparing the second gesture to the first data object; and
executing the first action.
20 . A non-transitory computer-readable storage medium storing computer program instructions that, when executed on a processor, implement operations including:
recognizing a first performance of a first gesture;
creating a first data object for the first gesture and associating the first data object with a first action;
recognizing a first performance of a second gesture;
determining that the second gesture is associated with the first action based, at least in part, on comparing the second gesture to the first data object; and
executing the first action.