Matching system for correlating accelerometer data to known movements
First Claim
1. A system implemented by a portable computing device for creating a custom entry in a database that represents a custom movement performed by a user wearing one or more accelerometers, the system comprising:
- wearable devices incorporating accelerometers;
a portable computing device for receiving wireless input from the wearable devices, said input being formatted into a request that a custom entry be created in a database of the portable computing device that stores a plurality of entries, each custom entry representing one or more feature sets of accelerometer data that are generated when a particular movement is performed;
the portable computing device receiving accelerometer data from one or more accelerometers worn by a user while performing a custom movement;
using a processor of the portable computing device to generate one or more feature sets by;
extracting a chunk of the accelerometer data corresponding to a plurality of axes;
splitting the chunk into a plurality of time series, each time series including the accelerometer data from a particular axis;
for each time series, extracting a magnitude of various frequencies in the data of each time series;
for each time series, summing groups of magnitudes into bins; and
for each time series, aggregating bins to form feature sets; and
storing the custom entry in the database, the custom entry including the feature sets and an identifier of the custom movement;
receiving additional accelerometer data at the portable computing device from the one or more accelerometers worn by the user while performing the custom movement;
accessing the database with the processor to determine that the additional accelerometer data received from the one or more accelerometers includes the one or more feature sets of the custom entry;
displaying on the portable computer device an indication that the custom movement has been performed by the user;
for each of a plurality of feature sets in the database including the feature set of the custom entry, using the processor to determine the inverse Euclidean metric of the feature set of the unknown movement and the feature set; and
using the processor to determine which feature set of the plurality of feature sets in the database yields the greatest inverse Euclidean metric.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for providing a matching system for correlating accelerometer data to known movements. Data representing known movements can be obtained and stored in a database such as by processing and storing accelerometer data obtained from one or more accelerometers worn by a user while performing a particular movement. The accelerometer data obtained from a particular movement can be processed to generate a feature set descriptive of the accelerations associated with a particular movement or series of movements.
14 Citations
15 Claims
-
1. A system implemented by a portable computing device for creating a custom entry in a database that represents a custom movement performed by a user wearing one or more accelerometers, the system comprising:
-
wearable devices incorporating accelerometers; a portable computing device for receiving wireless input from the wearable devices, said input being formatted into a request that a custom entry be created in a database of the portable computing device that stores a plurality of entries, each custom entry representing one or more feature sets of accelerometer data that are generated when a particular movement is performed; the portable computing device receiving accelerometer data from one or more accelerometers worn by a user while performing a custom movement; using a processor of the portable computing device to generate one or more feature sets by; extracting a chunk of the accelerometer data corresponding to a plurality of axes; splitting the chunk into a plurality of time series, each time series including the accelerometer data from a particular axis; for each time series, extracting a magnitude of various frequencies in the data of each time series; for each time series, summing groups of magnitudes into bins; and for each time series, aggregating bins to form feature sets; and storing the custom entry in the database, the custom entry including the feature sets and an identifier of the custom movement; receiving additional accelerometer data at the portable computing device from the one or more accelerometers worn by the user while performing the custom movement; accessing the database with the processor to determine that the additional accelerometer data received from the one or more accelerometers includes the one or more feature sets of the custom entry; displaying on the portable computer device an indication that the custom movement has been performed by the user; for each of a plurality of feature sets in the database including the feature set of the custom entry, using the processor to determine the inverse Euclidean metric of the feature set of the unknown movement and the feature set; and using the processor to determine which feature set of the plurality of feature sets in the database yields the greatest inverse Euclidean metric. - View Dependent Claims (2, 3, 4, 5)
-
-
6. The method of system 1, wherein the chunk is split by the processor into three time series corresponding to each of the x-axis, y-axis, and z-axis and wherein each of the three time series is used by the processor to form the feature sets.
-
7. A system implemented by a portable computing device for creating a custom entry in a database that represents a custom movement performed by a user wearing one or more accelerometers, the system comprising:
-
wearable devices incorporating accelerometers; a portable computing device for receiving input from a user requesting that a custom entry be created; the portable computing device receiving accelerometer data at the portable computing device from one or more accelerometers worn by the user while performing a custom movement; extracting a chunk of the accelerometer data with a processor of the portable computing device; splitting the chunk into a time series using the processor; extracting a magnitude of at least one frequency in the time series using the processor; summing groups of magnitudes into bins using the processor; aggregating bins with the processor to form feature sets; storing the feature sets as the custom entry that corresponds to the custom movement performed by the user in the database; receiving additional accelerometer data at the portable computing device from the one or more accelerometers worn by the user while performing the custom movement; accessing the database with the processor to determine that the additional accelerometer data received from the one or more accelerometers includes the one or more feature sets of the custom entry, comprising; for each of a plurality of feature sets in the database including the feature set of the custom entry, using the processor to determine the inverse Euclidean metric of the feature set of the unknown movement and the feature set; and using the processor to determine which feature set of the plurality of feature sets in the database yields the greatest inverse Euclidean metric; and displaying an indication that the custom movement associated with the greatest inverse Euclidian metric has been performed by the user. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method implemented by a portable computing device for creating a custom entry in a database that represents a custom movement performed by a user wearing one or more accelerometers, the method comprising:
-
receiving input from a user at the portable computing device requesting that a custom entry be created; receiving accelerometer data at the portable computing device from one or more accelerometers worn by the user while performing a custom movement; extracting a chunk of the accelerometer data received over a particular time interval using a processor of the portable computing device; splitting the chunk into three time series corresponding to each of an x-axis, a y-axis, and a z-axis using the processor; extracting a magnitude of various frequencies in the data of each time series using the processor; for each time series, summing groups of magnitudes into bins; for each time series, aggregating bins to form feature sets; storing the feature sets as the custom entry that corresponds to the custom movement performed by the user in a database; generating an additional feature set corresponding to the custom movement performed at a different speed; receiving additional accelerometer data from the one or more accelerometers worn by the user while performing the custom movement; accessing the database to determine that the additional accelerometer data received from the one or more accelerometers includes the one or more feature sets corresponding to the custom movement and to determine the speed at which the custom movement was performed; and displaying an indication that the custom movement has been performed by the user and the speed at which the custom movement was performed; wherein determining that the additional accelerometer data received from the one or more accelerometers includes the one or more feature sets of the custom movement comprises; for each of a plurality of feature sets in the database including the feature set of the custom entry, determining the inverse Euclidean metric of the feature set of the unknown movement and the feature set; and determining which feature set of the plurality of feature sets in the database yields the greatest inverse Euclidean metric. - View Dependent Claims (14, 15)
-
Specification