Motion pattern classification and gesture recognition
First Claim
1. A method performed by a mobile device, comprising:
- receiving, at the mobile device, a plurality of motion patterns, each of the motion patterns including a timed series of motion pattern vectors and being associated with a motion pattern time and a sphere of influence;
receiving a plurality of motion sensor readings from a motion sensor of the mobile device, the motion sensor readings including a plurality of motion reading vectors, each motion reading vector corresponding to a motion reading time;
selecting, using a time window and from the motion sensor readings, a time series of motion reading vectors;
calculating a motion deviation distance between the selected time series of motion reading vectors and each of the motion patterns, including applying dynamic time warping based on the motion pattern times of the motion pattern and the motion reading times of the series of motion reading vectors;
sliding the time window along a time dimension on the received motion sensor readings, and performing the selecting and calculating operations for each sliding time window until, according to a calculated motion deviation distance, the selected time series of motion reading vectors is located within the sphere of influence of a motion pattern, which is then designated as a matching motion pattern; and
performing a specified task on the mobile device based on the matching motion pattern.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, program products, and systems for gesture classification and recognition are disclosed. In general, in one aspect, a system can determine multiple motion patterns for a same user action (e.g., picking up a mobile device from a table) from empirical training data. The system can collect the training data from one or more mobile devices. The training data can include multiple series of motion sensor readings for a specified gesture. Each series of motion sensor readings can correspond to a particular way a user performs the gesture. Using clustering techniques, the system can extract one or more motion patterns from the training data. The system can send the motion patterns to mobile devices as prototypes for gesture recognition.
-
Citations
30 Claims
-
1. A method performed by a mobile device, comprising:
-
receiving, at the mobile device, a plurality of motion patterns, each of the motion patterns including a timed series of motion pattern vectors and being associated with a motion pattern time and a sphere of influence; receiving a plurality of motion sensor readings from a motion sensor of the mobile device, the motion sensor readings including a plurality of motion reading vectors, each motion reading vector corresponding to a motion reading time; selecting, using a time window and from the motion sensor readings, a time series of motion reading vectors; calculating a motion deviation distance between the selected time series of motion reading vectors and each of the motion patterns, including applying dynamic time warping based on the motion pattern times of the motion pattern and the motion reading times of the series of motion reading vectors; sliding the time window along a time dimension on the received motion sensor readings, and performing the selecting and calculating operations for each sliding time window until, according to a calculated motion deviation distance, the selected time series of motion reading vectors is located within the sphere of influence of a motion pattern, which is then designated as a matching motion pattern; and performing a specified task on the mobile device based on the matching motion pattern. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory, computer-readable storage medium having instructions stored thereon, that when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
receiving, at a mobile device, a plurality of motion patterns, each of the motion patterns including a timed series of motion pattern vectors and being associated with a motion pattern time and a sphere of influence; receiving a plurality of motion sensor readings from a motion sensor of the mobile device, the motion sensor readings including a plurality of motion reading vectors, each motion reading vector corresponding to a motion reading time; selecting, using a time window and from the motion sensor readings, a time series of motion reading vectors; calculating a motion deviation distance between the selected time series of motion reading vectors and each of the motion patterns, including applying dynamic time warping based on the motion pattern times of the motion pattern and the motion reading times of the series of motion reading vectors; sliding the time window along a time dimension on the received motion sensor readings, and performing the selecting and calculating operations for each sliding time window until, according to a calculated motion deviation distance, the selected time series of motion reading vectors is located within the sphere of influence of a motion pattern, which is then designated as a matching motion pattern; and performing a specified task on the mobile device based on the matching motion pattern. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system, comprising:
a mobile device configured to perform operations comprising; receiving, at the mobile device, a plurality of motion patterns, each of the motion patterns including a timed series of motion pattern vectors and being associated with a motion pattern time and a sphere of influence; receiving a plurality of motion sensor readings from a motion sensor of the mobile device, the motion sensor readings including a plurality of motion reading vectors, each motion reading vector corresponding to a motion reading time; selecting, using a time window and from the motion sensor readings, a time series of motion reading vectors; calculating a motion deviation distance between the selected time series of motion reading vectors and each of the motion patterns, including applying dynamic time warping based on the motion pattern times of the motion pattern and the motion reading times of the series of motion reading vectors; sliding the time window along a time dimension on the received motion sensor readings, and performing the selecting and calculating operations for each sliding time window until, according to a calculated motion deviation distance, the selected time series of motion reading vectors is located within the sphere of influence of a motion pattern, which is then designated as a matching motion pattern; and performing a specified task on the mobile device based on the matching motion pattern. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
Specification