EP-4740845-A2 - ACTIVITY RECOGNITION
Abstract
A variety of techniques are used automate the collection and classification of workout data gathered by a wearable physiological monitor. The classification process is staged in order to correctly and efficiently characterize a workout type. Initially, a generalized workout event is detected using motion and heart rate data. Then a location of the monitor on a user is determined. An artificial intelligence engine can then be conditionally applied (if a workout is occurring and a suitable device location is detected) to identify the type of workout. In addition to improved speed and accuracy, a workout detection process implemented in this manner can be realized with a sufficiently small computational footprint for deployment on a wearable physiological monitor.
Inventors
- TODD, BRIAN ANTHONY
- CAPODILUPO, JOHN VINCENZO
- CAPODILUPO, EMILY RACHEL
- AHMED, William
Assignees
- Whoop, Inc.
Dates
- Publication Date
- 20260513
- Application Date
- 20180423
Claims (15)
- A computer program product comprising computer executable code embodied in a computer-readable medium that, when executing on a wearable physiological monitor (200), performs the steps of: receiving data from a number of sensors (202) on the wearable physiological monitor, the data including accelerometer data and heart rate data acquired by the wearable physiological monitor; applying a threshold based on at least one of the accelerometer data and the heart rate data to identify two endpoints of an interval of increased physical activity indicative of a workout by a user of the wearable physiological monitor (508); dividing the data including the accelerometer data and the heart rate data into a number of sequential segments (510); applying a machine learning algorithm to the number of sequential segments of the accelerometer data to determine a probability that each one of the number of sequential segments includes data from one or more locations on a body of the user; selecting one of the one or more locations having a highest overall probability of being a current position from all of the number of sequential segments as a position of the wearable physiological monitor on the body of the user (512); and conditionally employing an automatic workout classification algorithm to detect a type of the workout (514) only when the position is one of a plurality of predetermined positions on the body of the user for which the automatic workout classification algorithm is configured to detect the type.
- The computer program product of claim 1, wherein conditionally employing the automatic workout classification algorithm includes conditionally employing the workout classification algorithm to detect the type of the workout only when the position is an ankle of the user.
- The computer program product of claim 1, wherein conditionally employing the automatic workout classification algorithm includes conditionally employing the workout classification algorithm to detect the type of the workout only when the position is a bicep of the user.
- The computer program product of claim 1, wherein conditionally employing the automatic workout classification algorithm includes conditionally employing the workout classification algorithm to detect the type of the workout only when the position is a wrist of the user.
- The computer program product of any of claims 1 to 4, wherein the machine learning algorithm is trained to estimate the probability of a location of the wearable physiological monitor on the body using data acquired from accelerometers in wearable physiological monitors and labeled for position detection.
- The computer program product of any of claims 1 to 5, wherein the automatic workout classification algorithm includes a deep convolutional neural network trained to calculate a probability that a chunk of data including at least one of accelerometer data and heart rate data from the wearable physiological monitor during the workout is each of a number of candidate types for the workout.
- The computer program product of claim 6, further comprising code that performs the step of applying the deep convolutional neural network to a number of chunks of data from the wearable physiological monitor to obtain a posterior distribution of the number of candidate types for the workout.
- The computer program product of claim 7, further comprising code that performs the step of determining the type of the workout by selecting one of the number of candidate types in the posterior distribution having a highest probability of characterizing a workout type for the workout.
- The computer program product of any of claims 1 to 8, wherein the automatic workout classification algorithm detects the type of the workout based on a history of exercise for the user.
- The computer program product of any of claims 1 to 9, further comprising code that performs the step of updating the automatic workout classification algorithm on a central server based on new data from a plurality of users.
- The computer program product of any of claims 1 to 10, further comprising code that performs the steps of training the machine learning algorithm to identify the position of the wearable physiological monitor on the body of the user and updating the machine learning algorithm on a central server based on new data from a plurality of users.
- The computer program product of any of claims 1 to 11, further comprising code that performs the step of adapting the automatic workout classification algorithm to a specific user based on prior workout data for the specific user.
- The computer program product of any of claims 1 to 12, further comprising code that performs the steps of determining whether a different position for the wearable physiological monitor can provide more accurate data for the type of the workout and, when the different position can provide more accurate data, providing a notification to the user suggesting a movement of the wearable physiological monitor to the different position.
- The computer program product of any of claims 1 to 13, wherein the wearable physiological monitor includes a wearable housing having one or more sensors configured to provide heart rate data and accelerometer data for the user.
- The computer program product of claim 1, wherein the wearable physiological monitor is configured as a wrist-worn device.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Prov. App. No. 62/489,259 filed on April 24, 2017 and U.S. Prov. App. No. 62/510,708 filed on May 24, 2017. The entire content of the foregoing applications is hereby incorporated by reference. TECHNICAL FIELD The present disclosure generally relates to activity recognition, and more specifically to automated activity recognition for a wearable physiological monitoring device. BACKGROUND Physiological monitoring of an individual during different periods such as training, recovery, inactivity, and sleep is useful for assessing the individual's health and fitness. This data can also inform decision making regarding future training activities. However, an assessment may depend on correctly distinguishing between workouts and other activity, as well as distinguishing what type of workout activity the individual is undertaking. There remains a need for physiological monitoring devices that can automate the collection and classification of workout data. SUMMARY A variety of techniques are used automate the collection and classification of workout data gathered by a wearable physiological monitor. The classification process is staged in order to correctly and efficiently characterize a workout type. Initially, a generalized workout event is detected using motion and heart rate data. Then a location of the monitor on a user is determined. An artificial intelligence engine can then be conditionally applied (if a workout is occurring and a suitable device location is detected) to identify the type of workout. In addition to improved speed and accuracy, a workout detection process implemented in this manner can be realized with a sufficiently small computational footprint for deployment on a wearable physiological monitor. In one aspect, a computer program product disclosed herein may include computer executable code embodied in a non-transitory computer-readable medium that, when executing on a wearable physiological monitor, performs the steps of receiving data from a number of sensors on the wearable physiological monitor, the data including accelerometer data and heart rate data acquired by the wearable physiological monitor; applying a threshold based on the accelerometer data and the heart rate data to identify two endpoints of an interval of increased physical activity indicative of a workout by a user of the wearable physiological monitor; dividing the data including the accelerometer data and the heart rate data into a number of sequential segments; applying a machine learning algorithm to the number of sequential segments of the accelerometer data to determine a probability that each one of the number of sequential segments includes data from one or more locations on a body of the user; selecting one of the one or more locations having a highest overall probability of being a current position from all of the number of sequential segments as a position of the wearable physiological monitor on the body of the user; and conditionally employing an automatic workout classification algorithm to detect a type of the workout only when the position is a wrist of the user, where the automatic workout classification algorithm includes a deep convolutional neural network trained to calculate a probability that a chunk of data including at least one of accelerometer data and heart rate data from the wearable physiological monitor during the workout is each of a number of candidate types for the workout. The automatic workout classification algorithm may detect the type of the workout based on a history of exercise for the user. In another aspect, a method for exercise monitoring disclosed herein may include receiving data from a wearable physiological monitor, the data including accelerometer data and heart rate data acquired by the wearable physiological monitor; identifying a workout by a user of the wearable physiological monitor based on the heart rate data and the accelerometer data; determining a position of the wearable physiological monitor on a body of the user during the workout; and conditionally employing an automatic workout classification algorithm to detect a type of the workout when the position is one of a number of predetermined positions on the body for which the automatic workout classification algorithm is configured to detect the type. Identifying the workout may include applying a threshold based on at least one of the accelerometer data and the heart rate data to select two endpoints of the workout. Determining the position of the wearable physiological monitor may include training a machine learning algorithm to estimate a probability of a location of the wearable physiological monitor on a body of the user using data from an accelerometer, applying the machine learning algorithm to a number of sequential segments of the accelerometer data from the workout, and determining the position based on one of a number of can