US20170173391A1 - Adaptive calibration for sensor-equipped athletic garments - Google Patents
Adaptive calibration for sensor-equipped athletic garments Download PDFInfo
- Publication number
- US20170173391A1 US20170173391A1 US15/381,037 US201615381037A US2017173391A1 US 20170173391 A1 US20170173391 A1 US 20170173391A1 US 201615381037 A US201615381037 A US 201615381037A US 2017173391 A1 US2017173391 A1 US 2017173391A1
- Authority
- US
- United States
- Prior art keywords
- calibration value
- user
- calibration
- muscle
- physiological data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/67—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41D—OUTERWEAR; PROTECTIVE GARMENTS; ACCESSORIES
- A41D1/00—Garments
- A41D1/002—Garments adapted to accommodate electronic equipment
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0002—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
- A61B5/0004—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by the type of physiological signal transmitted
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0002—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
- A61B5/0015—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system
- A61B5/0022—Monitoring a patient using a global network, e.g. telephone networks, internet
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/0205—Simultaneously evaluating both cardiovascular conditions and different types of body conditions, e.g. heart and respiratory condition
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/0205—Simultaneously evaluating both cardiovascular conditions and different types of body conditions, e.g. heart and respiratory condition
- A61B5/02055—Simultaneously evaluating both cardiovascular condition and temperature
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/024—Detecting, measuring or recording pulse rate or heart rate
- A61B5/02438—Detecting, measuring or recording pulse rate or heart rate with portable devices, e.g. worn by the patient
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/024—Detecting, measuring or recording pulse rate or heart rate
- A61B5/0245—Detecting, measuring or recording pulse rate or heart rate by using sensing means generating electric signals, i.e. ECG signals
-
- A61B5/0488—
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/05—Detecting, measuring or recording for diagnosis by means of electric currents or magnetic fields; Measuring using microwaves or radio waves
- A61B5/053—Measuring electrical impedance or conductance of a portion of the body
- A61B5/0531—Measuring skin impedance
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1118—Determining activity level
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/389—Electromyography [EMG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/48—Other medical applications
- A61B5/486—Bio-feedback
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/68—Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
- A61B5/6801—Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
- A61B5/6802—Sensor mounted on worn items
- A61B5/6804—Garments; Clothes
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0075—Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/003—Repetitive work cycles; Sequence of movements
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/003—Repetitive work cycles; Sequence of movements
- G09B19/0038—Sports
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2503/00—Evaluating a particular growth phase or type of persons or animals
- A61B2503/10—Athletes
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2560/00—Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
- A61B2560/02—Operational features
- A61B2560/0223—Operational features of calibration, e.g. protocols for calibrating sensors
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2562/00—Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
- A61B2562/02—Details of sensors specially adapted for in-vivo measurements
- A61B2562/0209—Special features of electrodes classified in A61B5/24, A61B5/25, A61B5/283, A61B5/291, A61B5/296, A61B5/053
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2562/00—Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
- A61B2562/18—Shielding or protection of sensors from environmental influences, e.g. protection from mechanical damage
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0002—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
- A61B5/0015—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7203—Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
- A63B2024/0068—Comparison to target or threshold, previous performance or not real time comparison to other individuals
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/80—Special sensors, transducers or devices therefor
- A63B2220/83—Special sensors, transducers or devices therefor characterised by the position of the sensor
- A63B2220/836—Sensors arranged on the body of the user
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2230/00—Measuring physiological parameters of the user
- A63B2230/04—Measuring physiological parameters of the user heartbeat characteristics, e.g. ECG, blood pressure modulations
- A63B2230/06—Measuring physiological parameters of the user heartbeat characteristics, e.g. ECG, blood pressure modulations heartbeat rate only
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/93—Remote control using other portable devices, e.g. mobile phone, PDA, laptop
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/40—Arrangements in telecontrol or telemetry systems using a wireless architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/86—Performing a diagnostic of the sensing device
Definitions
- This description generally relates to sensor-equipped athletic garments, and specifically to calibrating sensors of the athletic garments.
- Electrocardiograph (ECG) electrodes can measure electrical signals from the skin of a person that are used to determine the person's heart rate.
- electromyography (EMG) electrodes can measure electrical activity generated by a person's muscles. Heart rate and muscle activation information may be useful for evaluating the person's physiological condition, for instance, while exercising.
- the electrical signals measured by sensors such as ECG or EMG electrodes on a person's body may vary based on several factors. For example, a leg muscle may generate more electrical activity on average than an arm muscle because there are more muscle fibers in the leg muscle. As another example, the sensors generate different physiological data for a male adult than a female child because the male adult has larger muscles. Thus, it is difficult to provide comparable metrics between different muscle groups for a given person and between different people since the muscle response depends on muscle physiology and body composition, which may vary between muscles and between people.
- Signal responses of the electrical activity from sensors can vary greatly across different muscle groups for a given person and between people.
- different muscle groups could have different signal amplitude ranges that correspond to the range of contraction intensity of the muscle.
- the EMG signal measured at a given muscle depends on the physiology of the muscle
- a system that generates metrics of a person's athletic performance based on inconsistent calibration results from the physiological data can provide a poor user experience. With inaccurate calibration results, one muscle group could be reported to have an activation level that is inaccurate with respect to another muscle group or when comparing to another person. In particular, if the metrics indicate inaccurate values for the person's muscle activation or heart rate, the person may lose confidence in the reliability of the system.
- An exercise feedback system calibrates sensors of an athletic garment worn by an athlete while performing exercises.
- the sensors can record physiological data such as EMG signals that represent muscle activation, which is a measure of the athlete's muscle exertion during an exercise.
- the exercise feedback system instructs the athlete to perform calibration exercises, for instance, when the athlete begins using the exercise feedback system during an onboarding phase.
- the exercise feedback system generates a calibration value based on physiological data from the calibration exercises. For instance, the calibration value indicates the predicted maximum amplitude for the muscle activation of a particular muscle group (for example, glutes, hamstrings, or quadriceps) of the athlete.
- the calibration values may account for variations in the physiological data across different muscles or athletes. Example factors that may contribute to the variations include user demographics, muscle physiology, body composition, sensor contact quality, fatigue, etc.
- the exercise feedback system can also determine initial calibration values based on information about the athlete such as demographic data or known performance metrics.
- the exercise feedback system can refine the calibration value over time as the system receives additional physiological data from subsequent exercises performed by the athlete and/or information describing exercise context.
- the ongoing phase may include multiple sub-phases. For example, during a first phase (e.g., after the first five workouts completed by the athlete), the exercise feedback system performs an initial refinement of the calibration values, and may reprocess physiological data from the first phase.
- the exercise feedback system continues to refine the calibration values as the system receives additional data from the athlete's workouts.
- the exercise feedback system determines a confidence level of the calibration value and may update the calibration value if the confidence level becomes too low.
- the exercise feedback system uses a trained machine learning model to determine and/or update the calibration value and confidence level.
- the exercise feedback system provides biofeedback to the athlete generated during the performance of subsequent activity and based on the calibration value.
- the biofeedback indicates a percentage of muscle activation relative to the calibration value for the particular muscle groups.
- contribution between different muscle groups can therefore be accurately compared given that the calibration value between different muscle groups accurately reflects the same level of contraction intensity and the relationship between signal amplitude and muscle activation is comparable.
- the biofeedback may be based on an increase or decrease in the calibration value over time, e.g., representing changes in strength or physiology of the athlete related to the athlete's training.
- Embodiments of the disclosed invention include a process for transforming the EMG signal response to a common scale to provide biofeedback that allows for the comparison of different muscle groups within an individual and across people.
- Embodiments of the disclosed invention include a calibration process that accounts for the unique challenges of a consumer product.
- a process provides an initial calibration value to the athlete when first using a product associated with the exercise feedback system and continues to refine the calibration values over time with additional physiological data and context from the athlete.
- the process can leverage data collected on the athlete over multiple training sessions and multiple different types of input to improve calibration accuracy.
- the process can also leverage context collected from the athlete during those training sessions including the exercise performed, reps, weight, or any other performance benchmarks (e.g. time, distance, etc.).
- FIG. 1 is a diagram of a system environment for monitoring exercise data according to one embodiment.
- FIG. 2 is a diagram of a sensor-equipped athletic garment according to one embodiment.
- FIG. 3A is a block diagram of an exercise feedback system according to one embodiment.
- FIG. 3B is a block diagram of a client device according to one embodiment.
- FIG. 4 shows graphs of physiological data associated with controlled strength exercises according to one embodiment.
- FIG. 5 shows graphs of physiological data based on a number of repetitions according to one embodiment.
- FIG. 6A shows a penalty function according to one embodiment.
- FIG. 6B shows a graph of a confidence level of physiological data generated by sensors over time according to one embodiment.
- FIG. 7 is a flowchart of a process for calibrating the exercise feedback system according to one embodiment.
- FIG. 8 is a diagram illustrating onboarding and ongoing calibration phases of the exercise feedback system according to one embodiment.
- FIG. 1 is a diagram of a system environment for monitoring exercise data according to one embodiment.
- the system environment includes an exercise feedback system 100 , client device 110 , and athletic garment 130 communicatively coupled together via a network 140 .
- Users of the exercise feedback system 100 are also referred to herein as “athletes.”
- different and/or additional entities can be included in the system architecture.
- the client device 110 is a computing device capable of receiving user input as well as transmitting and/or receiving data via the network 140 .
- a client device is a device having computer functionality, such as a smartphone, personal digital assistant (PDA), a mobile telephone, tablet, laptop computer, desktop computer, or another suitable device.
- PDA personal digital assistant
- a client device executes an application allowing a user of the client device to interact with the exercise feedback system 100 .
- a client device executes a browser application to enable interaction between the client device and the exercise feedback system 100 via the network 140 .
- a client device interacts with the exercise feedback system 100 through an application programming interface (API) running on a native operating system of the client device, such as IOS® or ANDROIDTM.
- API application programming interface
- the network 140 includes any combination of local area and/or wide area networks, including both wired and/or wireless communication systems.
- the network 140 uses standard communications technologies and/or protocols.
- the network 140 includes communication links using technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, code division multiple access (CDMA), digital subscriber line (DSL), BLUETOOTH®, Wi-Fi, ZIGBEE®, other suitable close-range networks, etc.
- networking protocols used for communicating via the network 140 include multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), and file transfer protocol (FTP).
- Data exchanged over the network 140 may be represented using any suitable format, such as hypertext markup language (HTML) or extensible markup language (XML).
- all or some of the communication links of the network 140 may be encrypted using any suitable technique or techniques.
- An athlete 120 wears the athletic garment 130 while performing exercises.
- the athletic garment 130 records physiological data, e.g., muscle activation data or heart rate data, of the athlete. Based on the physiological data, the exercise feedback system 100 generates exercise feedback customized for the athlete. Further, a coach of the athlete can view the exercise feedback on a client device and provide additional feedback for the athlete. The athlete can view the exercise feedback and any additional feedback displayed on a user interface of the client device 110 . In some embodiments, the exercise feedback system 100 can communicate the exercise feedback using audio output or haptic feedback of the client device 110 .
- FIG. 2 is a diagram of a sensor-equipped athletic garment 200 according to one embodiment.
- the athletic garment 200 includes sensors that contact the skin of an athlete wearing the athletic garment 200 .
- the sensors can be electrodes that measure electromyography (EMG) signals (electrical signals caused by muscle cells) also referred to as muscle activation data or muscle activation levels, electrocardiograph (ECG) signals (electrical signals caused by depolarization of the user's heart muscle in particular) also referred to as heart rate data, electrical signals modified by the tissue of the user (also referred to herein as bioimpedance data), electroencephalograph (EEG) signals, magnetoencephalograph (MEG) signals, among other types of signals associated with physiological data.
- EMG electromyography
- ECG electrocardiograph
- EEG electroencephalograph
- MEG magnetoencephalograph
- the sensors may also include other types of sensors such as accelerometers and gyroscopes (which generate motion data based on the athlete's movement), temperature sensors, pressure sensors, humidity sensors, geographical location sensors, etc.
- the sensors generate physiological data of the athlete based on the measured signals.
- the sensors are communicatively coupled to a processing unit 290 .
- the processing unit 290 can aggregate and analyze the physiological data from the sensors.
- the processing unit 290 can also provide the physiological data to the client device 110 or exercise feedback system 100 via the network 140 .
- the athletic garment 200 includes eight sensors that record muscle activation data from the athlete's muscles nearby each sensor.
- sensors 210 and 220 located on the right and left shoulder of the athletic garment 200 can record muscle activation data of the athlete's deltoid muscles.
- Sensors 230 and 240 located on the right and left sleeves of the athletic garment 200 can record muscle activation data of the athlete's triceps and/or bicep muscles.
- Sensors 250 and 260 located on the right and left chest of the athletic garment 200 can record muscle activation data of the athlete's pectoral muscles.
- Sensors 270 and 280 located on the right and left abdomen of the athletic garment 200 can record muscle activation data of the athlete's abdominal and oblique muscles.
- the athletic garment 200 shown in FIG. 2 includes eight sensors and the processing unit 290 , in other embodiments, the athletic garment 200 can include any number of sensors or other types of components or electronics at any location or configuration within the athletic garment 200 .
- the athletic garment 200 shown in FIG. 2 is a long sleeve shirt
- the principles described herein apply equally to any garment, including but not limited to a short sleeved shirt, a tank top, pants, shorts (e.g., the athletic garment 130 shown in FIG. 1 ), or any other suitable garment.
- sensors of the athletic garment can record muscle activation data from muscles on an athlete's lower body, e.g., quadriceps, gluteus maximus (also referred to herein as “glutes”), hamstrings, calves, and the like.
- FIG. 3A is a block diagram of the exercise feedback system 100 according to one embodiment.
- the exercise feedback system 100 includes a data processing engine 300 , calibration engine 310 , machine learning engine 320 , biofeedback engine 330 , calibration data store 340 , and athlete data store 350 .
- the exercise feedback system 100 may include additional, fewer, or different components for various applications, which are not shown so as to not obscure the details of the system architecture.
- the data processing engine 300 processes physiological data generated by sensors of an athletic garment, e.g., athletic garment 200 shown in FIG. 2 .
- the exercise feedback system 100 can receive the physiological data from the client device 110 or the processing unit 290 of the athletic garment 200 .
- the data processing engine 300 can process the physiological data by performing noise filtering or feature extraction.
- Example noise filtering techniques include a moving average filter, root mean square condition, standard deviation, low pass, high pass, band pass, and notch filters.
- Features can include a heart rate or level of muscle activation for a certain muscle of an athlete.
- the data processing engine 300 determines the heart rate, e.g., in beats per minute, of an athlete based on the frequency of a sample of sinusoidal heart rate data.
- the data processing engine 300 determines a level of muscle activation for a particular muscle of an athlete based on the amplitude of muscle activation data from EMG signals.
- Physiological data generated by sensors of the athletic garment may vary based on parameters associated with the athlete wearing the athletic garment, e.g., based on the body composition of the athlete.
- the physiology of the muscle influences the muscle activation data associated with contraction of the muscle.
- the number of muscle fibers, fiber size and fiber type distribution e.g., slow twitch or fast twitch
- the thickness of adipose tissue between the muscle tissue and skin surface may influence the amplitude of the muscle activation signal generated by sensors of the athletic garment.
- the amplitude of muscle activation data may be proportional to the muscle fiber size and/or inversely proportional to the amount of fat between the muscle and the portion of skin.
- Physiological data generated by sensors of the athletic garment may also vary based on parameters associated with the different types of muscles contacting the sensors, e.g., based on the local and/or global body composition of the athlete.
- muscles include a combination of slow twitch muscle fibers and fast twitch muscle fibers.
- a ratio of activated fast twitch muscle fibers to activated slow twitch muscle fibers depends on the athlete's intensity of contraction of the muscle. For instance, as the athlete contracts the muscle with greater exertion, additional fast twitch muscle fibers are activated. Therefore, the change in muscle contraction intensity changes the ratio of activated types of muscle fibers and ultimately may manifest as a difference in amplitude of muscle activation data generated between sensors contacting different muscle groups.
- the data processing engine 300 may also correlate body composition information with other types of sensor data, e.g., correlating body fat percentage with heart rate data.
- the amplitude of muscle activation data associated with a first muscle group may be greater than the amplitude of muscle activation data associated with a second muscle group due to variations in any of the above parameters and/or other factors. Additional example parameters include muscle fiber size, muscle fiber distribution, and the amount of fat between a muscle and a portion of skin contacting the sensor.
- physiological data generated by sensors of the athletic garment may vary because athletes have different physiological traits, such as muscle fiber size, body composition, and other traits similar to those that cause differences in muscle activation data across different muscle groups. For instance, a 25 year-old male athlete who is a professional swimmer may have an average amplitude of muscle activation data greater than that of a 10 year-old female athlete for a given muscle contraction intensity.
- the physiological data may also vary based on the sensor contact quality. For example, thicker hair on the athlete's skin or skin dryness may result in poor sensor contact quality, and thus reduce the amplitude of physiological data generated by the sensors. As another example, skin oiliness or sweat may result in improved sensor contact quality, and thus increase the amplitude of physiological data generated by the sensors.
- the data processing engine 300 may determine sensor contact quality (e.g., a level of physical contact with the skin) based on bioimpedance data generated by a sensor.
- the data processing engine 300 may also correlate the sensor contact quality and/or bioimpedance data with other types of sensor data (e.g., heart rate information).
- the amplitude of physiological data generated by a sensor is inversely proportional to the impedance between the sensor and the skin of the athlete.
- the bioimpedance data varies based on both a level of contact between the sensor and athlete's body as well as the body tissue of the athlete.
- a data signal generated by sensors (or other electrical components) of the athletic garment varies based on the body tissue.
- the data processing engine 300 may determine the athlete's body composition at the multiple locations on the athlete's body that correspond to the location of the sensors. Different compositions of muscle and fat tissue will change characteristics of the bioimpedance data signal.
- the data processing engine 300 may improve the accuracy of calibration values (e.g., generated by the calibration engine 310 described below) corresponding to a given muscle location by using body composition data determined based on bioimpedance data local to a sensor corresponding to a specific muscle group.
- the data processing engine 300 may measure an ECG signal corresponding to the heart function (e.g., heart rate or pulse) of the athlete using sensors of the athletic garment. Parameters of the ECG signal such as the amplitude or frequency may vary based on where the ECG signal is measured from on the athlete's body. Parameters of the ECG signal may also vary based on the tissue and body composition of the athlete at different locations on the body (e.g., on the chest, an arm, or a leg). Thus, the data processing engine 300 can determine the body composition on different portions of the athlete's body based on changes in the ECG signal parameters. The exercise feedback system 100 may improve the accuracy of calibration values based the body composition determined using the ECG signals.
- the ECG signal corresponding to the heart function (e.g., heart rate or pulse) of the athlete using sensors of the athletic garment. Parameters of the ECG signal such as the amplitude or frequency may vary based on where the ECG signal is measured from on the athlete's body. Parameters of the ECG signal may
- the calibration engine 310 calibrates the exercise feedback system 100 to account for variations in physiological data across different muscles of an athlete and across different athletes.
- the calibration engine 310 normalizes physiological data of a set of muscles based on the amplitude of the muscle activation data, in one embodiment.
- the calibration engine 310 provides instructions that prompt an athlete wearing the athletic garment to perform one or more calibration exercises.
- the calibration exercises include, for example, activities that do not require any weights or equipment such as walking up stairs, jumping, standing, lying down, performing a leg raise, sprinting for a certain distance or duration of time, or moving a limb.
- the calibration exercises may also include activities that do require weights and/or other equipment such as performing a squat, bench press, overhead press, biceps curl, pull-up, or deadlift with a barbell.
- the calibration exercises may target one or more muscle groups, e.g., a chest fly, bent over row, arm curl, arm extension, arm raise, or push-up exercise target upper body muscles (e.g., pectorals, biceps, triceps, or deltoids), and a squat, kickback, or leg curl target lower body muscles (e.g., the quadriceps, glutes, or hamstrings).
- the calibration exercises may also target an isolated one or more muscles.
- the instructions may prompt the athlete to perform a target number of repetitions of the calibration exercise.
- the instructions may also prompt the athlete to perform the calibration exercise based on the athlete's repetition maximum (which may also be referred to herein as “rep max” or RM) for a target number of repetitions of the calibration exercise.
- the repetition maximum represents the greatest amount of weight that the athlete can lift for a given number of repetitions, or in other words, the maximum voluntary contraction of a muscle of the athlete.
- the calibration engine 310 provides the instructions to the athlete when the athlete starts using the exercise feedback system 100 so that the calibration engine 310 can determine calibration values personalized to the athlete before the athlete completes additional exercises using the exercise feedback system 100 .
- the calibration engine 310 may also provide instructions to the athlete to perform calibration exercises at a future time, e.g., to determine updated calibration values.
- the calibration engine 310 can update calibration values over time as the calibration engine 310 receives additional physiological data from exercises and training programs that the athlete (or other athletes of the exercise feedback system 100 ) performs.
- the calibration engine 310 may provide instructions to the athlete to input a level of perceived effort corresponding to a calibration exercise.
- the calibration engine 310 provides different calibration exercise options to the athlete. For example, a shorter option includes fewer calibration exercises than a longer option, and thus the athlete can complete the shorter option quickly to begin performing other workouts using the exercise feedback system 100 .
- the longer option may require more time to complete, though may be advantageous because the calibration engine 310 may determine more accurate calibration values based on calibration exercises from the longer option, for example, because the calibration engine 310 receives a larger sample of physiological data.
- a shorter option includes one calibration exercise prompting the athlete to complete three repetitions of a squat exercise at the athlete's three repetition maximum.
- a longer option includes squat, lunge, and pushup calibration exercises, where each calibration exercise involves five repetitions at the athlete's five repetition maximum.
- the calibration engine 310 determines calibration values without requiring the athlete to perform a calibration exercise.
- the calibration data store 340 includes a database of reference calibration values associated with different parameters of athletes. Based on the information about a target athlete, the calibration engine 310 selects one or more reference calibration values from the database associated with parameters similar to those of the target athlete.
- the calibration values are associated with parameters such as demographic information (e.g., age, gender, height, weight, body composition, etc.), muscle type, exercise type, athlete skill level (e.g., a known performance metric such as personal records for certain exercises, vertical jump height, max number of pull-ups or push-ups, max wall-sit time, 1-mile run time, or 40-yard sprint time), health information (e.g., resting heart rate or heart rate while recovering after performing an exercise), genetics (e.g., associated with certain types of physiological traits), and the like.
- the reference calibration value is based on an average of calibration values of a population of athletes with similar parameters, e.g., 20-30 year old female swimmers.
- the reference calibration values may be stored with a confidence level based on the variation of the calibration values of the population of athletes.
- the machine learning engine 320 uses machine learning techniques to train one or more models for determining calibration values, in some embodiments.
- a machine learning model can predict the maximum muscle activation level of an athlete corresponding to a number of input parameters of the athlete, as previously described above, e.g., including demographics and known performance metrics. Additionally, the machine learning model can predict the range of muscle activation levels (e.g., including an estimated maximum and minimum value) of an athlete corresponding to exercises completed by the athlete, the physiological data collected from those exercises, and/or additional information including the exercise type, weight, number of reps and athlete perceived effort. Further, the machine learning model can determine a confidence level of the predicted muscle activation level for the one rep max.
- the calibration engine 310 uses the predicted maximum muscle activation level and confidence level to determine or to update calibration values.
- Machine learning techniques include, for example, supervised and unsupervised learning, linear regression, decision trees, support vector machines, classifiers (e.g., a Naive Bayes classifier), and gradient boosting, boosting for other algorithms (e.g., AdaBoost), neural net, logistic regression, and memory-based learning.
- the machine learning models can initially be trained by extracting features associated with calibration exercises, demographics and desired calibration levels completed by other athletes of the exercise feedback system 100 . In some embodiments, after initial training, the machine learning model can be further trained to reduce the error of the predicted calibration level for the athletes in the training set.
- the biofeedback engine 330 generates biofeedback for users of the exercise feedback system 100 based on features extracted by the data processing module 300 and calibration values determined by the calibration engine 300 .
- the biofeedback indicates a metric of performance (e.g., a percentage value, a Boolean value such as satisfactory or unsatisfactory, or any suitable type of value) of an athlete performing exercises.
- the metric of performance may indicate a level of balance of the athlete while performing an exercise, e.g., whether the athlete's muscle activation levels for the left and right quads during a squat exercise are within a predetermined threshold value.
- the biofeedback may be associated with a particular muscle group, repetition of an exercise, set of an exercise (e.g., with multiple repetitions), workout, or session for a given day.
- the biofeedback engine 330 can store the biofeedback in the athlete data store 350 along with information identifying the corresponding athlete.
- the biofeedback engine 330 can compare the extracted features with features based on reference exercise data from the athlete data store 350 .
- the reference exercise data indicates a target range of one repetition maximum weight for a squat exercise based on demographic information of an athlete. If an athlete's one repetition maximum weight falls within the target range, the biofeedback engine 330 generates biofeedback indicating that the athlete has a satisfactory one repetition maximum weight for squat exercises. Further, by generating biofeedback based on calibration values, the biofeedback engine 330 can provide metrics that compare the performance between different muscle groups and between different athletes. Additional details regarding generating biofeedback are disclosed in U.S.
- FIG. 3B is a block diagram of the client device 110 according to one embodiment.
- the client device 110 includes an interface manager 360 , local calibration engine 370 , and local athlete data store 380 .
- the client device 110 may include additional, fewer, or different components for various applications, which are not shown so as to not obscure the details of the system architecture.
- the client device 110 includes the local calibration engine 370 to provide instructions regarding calibration exercises to the athlete, determine (or update) calibration values, and store the calibration values in the local athlete data store 380 .
- the client device 110 may not always have a network connection while an athlete is exercising (e.g., the athlete's gym does not have internet available).
- the calibration values are generated locally on the client device 110 without having to upload the physiological data to the exercise feedback system 100 for processing.
- the interface manager 360 receives physiological data from the athletic garment 130 and can provide the physiological data to the exercise feedback system 100 for further processing.
- the interface manager 360 receives biofeedback, exercise training programs, and other information from the exercise feedback system 100 . Based on the received information, the interface manager 360 may generate graphical user interfaces depicting the biofeedback, exercise training programs, calibration exercises, and the like. In some embodiments, the interface manager 360 presents the biofeedback and exercise training programs using audio or any other suitable form of feedback, e.g., vibrating the client device 110 as tactile feedback.
- the interface manager 360 can store physiological data, biofeedback, or exercise training programs in the local athlete data store 380 .
- the interface manager 360 can receive athlete information input by the athlete via the client device 110 .
- the interface manager 360 can store the athlete information in the local athlete data store 380 or provide the athlete information to the exercise feedback system 100 to be stored in the athlete data store 350 .
- the athlete information can describe, e.g., a goal of the athlete, demographic data, geographical location, one or more sports that the athlete plays, history of injuries of the athlete, other types of data such as biometrics including weight and height.
- the interface manager 360 can receive information input by a coach of the athlete via a client device, and provide the input information to the exercise feedback system 100 .
- FIG. 4 shows graphs of physiological data associated with controlled strength exercises according to one embodiment.
- the graphs show muscle activation data of the glutes, hamstrings, and quadriceps muscles for three separate controlled strength exercises performed by an athlete, as well as muscle activation data for a separate power exercise.
- the peak amplitude 420 for the quadriceps exercise is greater than the peak amplitude 410 for the hamstrings exercise, which is greater than the peak amplitude 400 for the glutes exercise.
- the calibration engine 310 uses the peak amplitudes to calibrate the muscle activation data.
- the calibration engine 310 stores the peak amplitudes 400 , 410 , and 420 along with information identifying the glutes, hamstrings, and quadriceps muscles, respectively, in the calibration data store 350 .
- the biofeedback engine 330 generates biofeedback associated with the athlete's glutes, hamstrings, and quadriceps muscles based on the stored peak amplitudes, e.g., calibration values. For example, biofeedback engine 330 generates biofeedback indicating a percentage value representation of muscle activation level of the glutes muscle while the athlete is performing an exercise. The percentage value is relative to the peak amplitude 400 . Similarly, the biofeedback engine 330 may generate biofeedback indicating a percentage value representation of muscle activation levels of the athlete's hamstrings and quadriceps muscles relative to the peak amplitudes 410 and 420 , respectively. Thus, the calibration engine 310 can normalize physiological data across different types of muscles.
- the biofeedback engine 330 generates biofeedback that presents the muscle activation levels for each of the three muscles on the same scale, e.g., as a percentage from 0% to 100%, which is a relative scale rather than an absolute scale.
- the peak amplitudes 400 , 410 , and 420 can each correspond to the same percentage of muscle activation, relative to the maximum amplitude for the glutes, hamstrings, and quadriceps, respectively, even though the three peak amplitude values have different magnitudes as shown in FIG. 4 .
- the biofeedback engine 330 can generate comparative metrics between different types of muscle groups or between muscles of different athletes. Further, the biofeedback engine 330 can generate biofeedback indicative of overall athletic performance of an athlete (e.g., full body metrics).
- the biofeedback engine 330 generates biofeedback based on data from other sources accessible to the exercise feedback system 100 .
- the exercise feedback system 100 receives images (or other types of media) of an athlete from a third party system (e.g., a social networking system).
- a third party system e.g., a social networking system
- the biofeedback engine 330 can generate a visualization (e.g., including overlaying depiction of muscles) of the athlete's body that is normalized to account for the athlete's body mass index (BMI).
- BMI body mass index
- sensors of an athletic garment generate physiological data with less variation when an athlete performs controlled strength exercises than when the athlete performs power exercises.
- Controlled strength exercises may involve performing multiple repetitions of an exercise with a greater ratio of activated slow twitch muscles to fast twitch muscles.
- a power exercise involves performing one repetition of an exercise with a quick burst of energy and heavy use of fast twitch muscles.
- the amplitudes of the muscle activation level of the three controlled strength exercises have less variation than the muscle activation level of the power exercise.
- the muscle activation data for the power exercise has three amplitude peaks while the muscle activation data for each of the three controlled strength exercises have one amplitude peak.
- the muscle activation data for power exercises have more variability, for example, because the athlete performs power exercises over a shorter period of time, which may introduce transient peaks and/or more noise in the amplitude of the muscle activation data.
- a transient peak may be an outlier and not the true maximum muscle activation of the muscle.
- calibration engine 310 may generate more accurate calibration values based on the peak amplitudes from physiological data of controlled strength exercises.
- the calibration engine 310 may exclude muscle activation data from power exercises (e.g., based on identifying the transient peaks) when generating calibration values. In another embodiment, the calibration engine 310 may generate more accurate calibration values by incorporating user information describing exercise context of the athlete, or information about the exercise corresponding to the physiological data (e.g., whether the exercise type is characteristic of strength controlled exercises or power exercises).
- FIG. 5 shows graphs of physiological data based on a number of repetitions according to one embodiment.
- the graph 500 includes data points indicating the repetition maximum amplitude of muscle activation levels associated with one, three, five, and ten repetitions (RM).
- the calibration engine 310 determines the repetition maximum amplitudes based on the muscle activation data shown in graph 510 .
- the repetition maximum amplitudes may be modeled as an approximately linear function dependent on the number of repetitions.
- the calibration engine 310 can use a linear regression model to predict repetition maximum amplitudes.
- the calibration engine 310 may not have physiological data associated with a one repetition maximum exercise, e.g., because it is unsafe for an athlete to perform only one repetition with a heavy weight before warming up for a workout.
- the calibration engine 310 can predict the one repetition maximum amplitude based on physiological data associated with three, five, and ten repetitions, as shown in the graphs 500 and 510 .
- the repetition maximum amplitude has a nonlinear relationship with the number of repetitions.
- the calibration engine 310 may also use a trained machine learning model to predict the one repetition maximum amplitude (e.g., in cases where a linear model is not suitable).
- the machine learning engine 320 trains the machine learning model using physiological data associated with other calibration exercises, e.g., with a variety of the number of repetitions for a set of a calibration exercise.
- FIG. 6A shows a penalty function 600 according to one embodiment.
- the penalty function 600 outputs a delta (e.g., difference or change) in confidence based on an input delta in amplitude.
- the penalty function 600 outputs the deltas in confidence 620 and 640 based on input deltas in amplitude 610 and 630 , respectively.
- the penalty function 600 shown in FIG. 6A is a logarithmic function that asymptotically approaches the confidence value 650 , it should be noted that in other embodiments, the penalty function may be any other type of function, e.g., nonlinear, exponential, polynomial, arbitrary, periodic, etc.
- the machine learning engine 320 trains a machine learning model that determines the penalty function 600 .
- the calibration data store 340 may include a predetermined penalty function 600 .
- the exercise feedback system 100 uses a rule-based model or another type of model other than a machine learning model.
- FIG. 6B shows a graph 660 of a confidence level 670 of physiological data generated by sensors over time according to one embodiment.
- the machine learning engine 320 trains a machine learning model that determines and updates the confidence level 670 based on the physiological data and the penalty function 600 shown in FIG. 6A .
- the machine learning model determines an initial value for the calibration value 690 and for the corresponding confidence level 670 (e.g., 90%), which may be based on data from a calibration exercise or a reference calibration values.
- the calibration value 690 represents the predicted maximum muscle activation level of an athlete.
- the exercise feedback system 100 receives physiological data, e.g., muscle activation data, generated by the sensors of the garment.
- the graph 680 illustrates the amplitude of the muscle activation data over time.
- the muscle activation data has an amplitude greater than the calibration value 690 by a delta in amplitude 610 .
- the machine learning model determines that the delta in amplitude 610 is mapped to the delta in confidence 620 .
- the machine learning model decreases the confidence level 670 by the delta in confidence 620 .
- the muscle activation data has an amplitude greater than the calibration value 690 by a delta in amplitude 630 .
- the machine learning model determines that the delta in amplitude 630 is mapped to the delta in confidence 640 .
- the machine learning model decreases the confidence level 670 by the delta in confidence 640 .
- the machine learning model's confidence in the calibration value 690 can be eroded because amplitudes of data samples of the muscle activation data exceed the current calibration value 690 .
- the machine learning model determines that the confidence level 670 is less than an adjustable threshold confidence level 695 , e.g., 40%.
- the machine learning model updates the calibration value 690 , for example, by increasing the calibration value 690 to the maximum amplitude of muscle activation received for the athlete.
- the machine learning model may update the calibration value 690 by a percentage of the current calibration value 690 (e.g., increase by 10%), or by a predetermined constant value.
- the machine learning model adjusts the threshold confidence level 695 to modify the frequency at which the calibration value 690 is updated.
- the confidence level 670 is more likely to fall under the threshold confidence level 695 , and thus the machine learning model will update the calibration value 690 more frequently.
- updating the calibration value 690 too frequently may confuse the athlete, so the machine learning model may determine an upper limit for the threshold confidence level 695 , as well as a lower limit to avoid not updating the calibration value 690 frequently enough.
- the machine learning model updates the calibration value 690 after the athlete has performed a certain number of exercises.
- the machine learning model learns to optimize how frequently the calibration value 690 is updated. For example, the machine learning model determines a number of repetitions or sets of exercises to include in a calibration routine having one or more calibration exercises. The machine learning model can also determine a number of sets or exercises that the athlete completes subsequent to completing the calibration routine before updating the calibration value for the first time. Similarly, the machine learning model can also determine a number of sets or exercises that the athlete completes subsequent to the previous calibration value update before the next update of the calibration value.
- the machine learning model may optimize the time constant to avoid eroding confidence in the calibration value too conservatively or too aggressively, e.g., resulting in calibration value updates that are not frequent enough or too frequent.
- the machine learning model learns to optimize how frequently the calibration value 690 is updated based on training sets derived using physiological data and user information from other athletes of the exercise feedback system 100 .
- the machine learning model has a target frequency of updating a calibration value no more than once a week.
- the machine learning model determines an initial value for the calibration value for athletes who are 15-25 year old male basketball players.
- a training set indicates that for a population of 15-25 year old male basketball players, the calibration engine 310 updated the calibration value twice a week, which is twice as frequent as the target frequency of no more than once a week. For instance, the maximum amplitude of muscle activation levels for the population of athletes was frequently greater than the machine learning model originally predicted.
- the machine learning model trained using this training set learns that the initial value was likely too low because the calibration engine 310 kept increasing the calibration value.
- the machine learning model determines a new calibration value that is greater than the initial value, e.g., to be more conservative in the prediction.
- the training set indicates that the calibration value was updated less frequently than the target frequency
- the machine learning model determines a new calibration value that is less than the initial value, e.g., to be more aggressive in the prediction.
- the machine learning model Along with updating the calibration value 690 after time B, the machine learning model also updates the confidence level 670 , e.g., increasing the confidence level 670 to 90%.
- the confidence level 670 increases when the calibration value 690 is updated because the machine learning model is more certain of the new prediction of the calibration value 690 .
- the machine learning model waits a predetermined period of time after time B to update the calibration value 690 . For instance, the machine learning model waits until after the athlete has completed the current set of exercises (or waits until the next day) before updating the calibration value 690 so that the biofeedback provided to the user during the set appears more stable to the athlete.
- the machine learning model periodically updates calibration values over time. For example, the machine learning model increases the predicted maximum amplitude of an athlete's muscle activation levels once a month to account for the athlete's muscle growth. In other words, as the athlete performs strength training, the athlete should be progressing and able to lift heavier weights. As another example, during a given set of exercises, the machine learning model may decrease the predicted maximum amplitude of an athlete's muscle activation levels to account for fatigue or freshness (e.g., when the athlete is starting a workout after a period of rest). Due to fatigue, the athlete may not be able to lift as heavy weights on a repetition toward the end of a set in comparison to a repetition toward the start of the set.
- the machine learning model may decrease the predicted maximum amplitude of an athlete's muscle activation levels to account for fatigue or freshness (e.g., when the athlete is starting a workout after a period of rest). Due to fatigue, the athlete may not be able to lift as heavy weights on a repetition toward the end of
- the biofeedback engine 330 After the machine learning model updates the calibration value 690 , the biofeedback engine 330 generates biofeedback for the athlete based on the updated calibration value 690 . Thus, the biofeedback is more likely to accurately represent the performance of the athlete because the biofeedback is based on a more accurate predicted maximum value.
- the biofeedback engine 330 retroactively updates previously generated biofeedback. For example, a sample biofeedback indicates that the athlete exerted the athlete's quadriceps muscles at 110% muscle activation level. After the machine learning model updates the calibration value 690 to a greater value, the biofeedback engine 330 updates the sample biofeedback to now indicate that the athlete exerted the athlete's quadriceps muscles at 90% muscle activation level. The percentage of muscle activation level decreases because the calibration value 690 increases, e.g., representing a greater predicted maximum muscle activation level.
- the calibration engine 310 generates a first set of calibration values for an athlete's glutes and biceps muscles based on physiological data from calibration exercises performed by the athlete during an onboarding process. Based on the first set of calibration values, the biofeedback engine 330 generates biofeedback comparing the performance of the athlete's glutes and biceps. The biofeedback engine 330 provides the comparative biofeedback during a period of time as the athlete performs additional workouts. At a future time, the calibration engine 310 generates a second set of calibration values for the athlete including an updated calibration value for the biceps muscles.
- the biofeedback engine 330 may reprocess the biofeedback based on the second set of calibration values to update the previously provided comparative biofeedback during the period of time.
- the updated comparative biofeedback may more accurately compare the performance of the athlete's glutes and biceps muscles, and may be more consistent with subsequent biofeedback generated based on the second set of calibration values.
- FIG. 7 is a flowchart of a process 700 for calibrating an exercise feedback system according to one embodiment.
- the process 700 is performed by the exercise feedback system 100 —e.g., modules of the exercise feedback system 100 described with reference to FIG. 3A —within the system environment in FIG. 1 .
- the process 700 may include different or additional steps than those described in conjunction with FIG. 7 in some embodiments or perform steps in different orders than the order described in conjunction with FIG. 7 .
- the calibration engine 310 provides 710 information describing a calibration workout to a client device 110 of a user (e.g., an athlete).
- the calibration workout may be part of an onboarding process completed by the athlete when the athlete begins using the exercise feedback system 100 with an athletic garment 130 , e.g., for the first five workouts of the athlete.
- the calibration engine 310 may provide the athlete with multiple options of muscle groups to calibrate. Based on the athlete's selection, the calibration engine 310 may provide the athlete with multiple options of exercises suitable for calibrating the selected muscle group, e.g., a biceps curl exercise and a pull-up exercise are provided as options for calibrating the biceps muscle group.
- the calibration workout may include one or more sets of exercises, where each exercise may include any number of repetitions. In one embodiment, the calibration workout includes at least two sets of an exercise for a given muscle, and the repetition maximum is different for at least two sets.
- the data processing engine 300 receives 720 a first set of physiological data from a garment 130 worn by the user while performing the calibration workout.
- the physiological data is generated by sensors of the garment 130 and describes muscle activation of one or more muscles of the user.
- the calibration engine 310 receives 730 user information from the client device 110 .
- the user information may include, for example, demographic data, performance metrics, a user perceived effort corresponding to the calibration workout, etc.
- the user perceived effort indicates a first effort level of a first set of an exercise of the calibration workout, and indicates a second effort level of a second set of the exercise (e.g., the first effort level is 50% and the second effort level is 75%), where the two sets may have a different number of repetitions.
- the calibration engine 310 determines 740 a calibration value based at least in part on the first set of physiological data and the user information. In some embodiments, the calibration engine 310 determines the calibration value based on the first set of physiological data without requiring user information. Thus, in such embodiments, the calibration engine 310 does not necessarily receive the user information during the onboarding process. In other embodiments, the calibration engine 310 determines the calibration value based on the user information without requiring the first set of physiological data. Thus, in such embodiments, the calibration engine 310 does not necessarily receive the first set of physiological data during the onboarding process. In some embodiments, the data processing engine 300 determines a level of data quality of the physiological data based on bioimpedance data received from the sensors; the calibration engine 310 may determine calibration values further based on the level of data quality.
- the data processing engine 300 receives 750 a second set of physiological data (e.g., also describing muscle activation of the user's muscles) from the garment 130 worn by the user while performing a subsequent workout.
- the calibration engine 310 modifies 760 the calibration value based on the second set of physiological data.
- the calibration engine 310 may modify the calibration value in response to determining that an amplitude of a data subset of the second set of physiological data is greater than the calibration value (e.g., the calibration value is an underestimate).
- the calibration engine 310 may modify the calibration value in response to determining that an amplitude of a data subset of the second set of physiological data is less than the calibration value by a threshold value (e.g., the calibration value is an overestimate).
- the calibration engine 310 uses a penalty function and/or a trained machine learning model to modify the calibration value.
- the calibration value is further determined or modified based on user information received from the client device 110 .
- the user information may describe, e.g., the workouts, exercises, weight, reps, or other performance metrics of the athlete corresponding to the second set of physiological data.
- the biofeedback engine 330 provides 770 biofeedback to the client device 110 for communication to the user, where the biofeedback is generated based on the modified calibration value.
- the biofeedback may indicate, e.g., a metric of athletic performance of the user, a level of balance of the user (e.g., comparing the effort level of the left and right biceps muscles), a level of workload of the user's muscles, or the contribution of a given muscle compared to an aggregate group of muscles. Since the exercise feedback system 100 can receive physiological data from any number of subsequent exercises, the calibration engine 310 can perform ongoing calibration (e.g., after the onboarding process in completed) when updated physiological data of the athlete is available.
- the biofeedback may be a representation of the calibration value and modifications to the calibration value over time, in some embodiments.
- the biofeedback may indicate strength progression or regression based on changes to the calibration value over a period of time.
- an athlete's increase in strength may correspond to an increase in muscle fiber size, which results in an increase in the maximum signal response measured from a given muscle.
- the calibration engine 310 may modify the calibration value over time to represent an updated maximum signal response.
- the biofeedback includes a representation of a user profile and provides information indicating the relative strength of different muscle groups by comparing calibration values of different muscle groups.
- the exercise feedback system 100 provides biofeedback indicating balance information based on comparing calibration values corresponding to the right and left muscles of a symmetric muscle type. Biofeedback may also include a comparison of calibration values between different athletes.
- steps 710 - 740 are part of the onboarding phase when the athlete performs calibration exercises.
- the calibration engine 310 determines an initial reference for calibration values, e.g., a “starting point.”
- the calibration engine 310 can perform ongoing calibration in two or more phases.
- steps 750 - 770 are part of a phase 1 update, which is performed by the exercise feedback system 100 within a duration of time after the onboarding phase (e.g., five weeks or a month).
- the exercise feedback system 100 may repeat steps 750 - 770 as part of a subsequent phase 2 update performed after the phase 1 update.
- the exercise feedback system 100 may continue to refine the calibration by performing any number of additional phase 2 updates based on additional physiological data from the workouts.
- the exercise feedback system 100 optimizes parameters of the phase 1 process to account for a greater expected degree of error between the starting point calibration value after onboarding and the actual target calibration level for the user. For instance, during the phase 1 update process, the exercise feedback system 100 adjusts the calibration levels to accurately reflect the user, and thus the calibration value may be modified more frequently. Parameters of the phase 2 update process may be optimized to adjust to physiological changes of the user. Thus, the exercise feedback system 100 may be optimized to modify the calibration value less frequently during the phase 2 update process.
- the exercise feedback system 100 can perform a process including the ongoing calibration phase without necessarily including an onboarding calibration phase. For example, the exercise feedback system 100 retrieves default (or reference) calibration values or previously calibration values that are stored in the calibration data store 340 . The exercise feedback system 100 may modify the retrieved calibration values based on updated physiological data from the athlete during the ongoing calibration phase.
- FIG. 8 is a diagram 800 illustrating onboarding and ongoing calibration phases of the exercise feedback system 100 according to one embodiment.
- the exercise feedback system 100 can perform calibration during an onboarding phase and an ongoing phase.
- the machine learning engine 320 may train different models for each phase, e.g., an onboarding calibration model and an ongoing calibration model. Alternatively, the machine learning engine 320 may train one model for multiple phases.
- the models may be trained via machine learning techniques using feature sets, e.g., derived based on information from a population of athletes of the exercise feedback system 100 .
- the feature sets may also include information such as physiological data of athletes associated with different associated repetition maxima, different target calibration values, different perceived effort levels, user information pertaining to demographics of the user, performance metrics of the user, or information about exercises completed by the user (e.g., type of exercise, reps, or weight).
- the models determine calibration references (e.g., initial calibration values) based on input data.
- Input data may include information input by the user such as demographic data (e.g., age, gender, height, weight), geographical location data, a perceived effort level for an exercise or workout, a performance metric (e.g., a personal record of the athlete), or other types of exercise content (e.g., number of repetitions, type of exercise, weight for the exercise, duration of the exercise, time of day, etc.).
- the input data may also be received by the exercise feedback system 100 without requiring manual input from the user.
- the exercise feedback system 100 uses an application programming interface (API) to receive input data from a third party system such as a social networking system. Differences in the input data, e.g., across different athletes, may manifest as variations in physiological data from the athletes.
- API application programming interface
- the calibration engine 310 calibrates physiological data and determines calibration values.
- the exercise feedback system 100 may perform a discrete onboarding calibration if triggered by the user, e.g., when the user begins using the exercise feedback system 100 for workouts or when the user provides updated input data.
- the exercise feedback system 100 may perform continuous ongoing calibration over time without manual input, that is, autonomously.
- a software module is implemented with a computer program product including a computer-readable non-transitory medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
- Embodiments of the invention may also relate to a product that is produced by a computing process described herein.
- a product may include information resulting from a computing process, where the information is stored on a non-transitory, tangible computer readable storage medium and may include any embodiment of a computer program product or other data combination described herein.
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Animal Behavior & Ethology (AREA)
- Heart & Thoracic Surgery (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Veterinary Medicine (AREA)
- Pathology (AREA)
- Cardiology (AREA)
- Physiology (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Hardware Design (AREA)
- Pulmonology (AREA)
- Physical Education & Sports Medicine (AREA)
- Radiology & Medical Imaging (AREA)
- Biodiversity & Conservation Biology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Dermatology (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Dentistry (AREA)
- General Engineering & Computer Science (AREA)
Abstract
An exercise feedback system calibrates sensors of an athletic garment worn by an athlete while performing exercises. The sensors can record physiological data such as muscle activation. The system instructs the athlete to perform a calibration workout. The system generates a calibration value based on physiological data from the calibration workout and/or user information. The calibration value indicates, for example, the predicted maximum amplitude for the muscle activation of a particular muscle group (for example, glutes, hamstrings, or quadriceps) of the athlete. The system can update the calibration value over time as the system receives additional physiological data from subsequent exercises performed by the athlete. The system may determine a confidence level of the calibration value and may update the calibration value if the confidence level becomes too low. The system provides biofeedback to the athlete generated based on the calibration value.
Description
- This application claims the benefit of and priority to U.S. Provisional Application No. 62/269,391 filed Dec. 18, 2015, which is incorporated by reference herein in its entirety. The subject matter of the present application is related to U.S. patent application Ser. No. 15/356,354, filed on Nov. 18, 2016, entitled “Exercise Biofeedback Using Sensor-Equipped Athletic Garments,” the entire disclosure of which is incorporated herein by reference.
- This description generally relates to sensor-equipped athletic garments, and specifically to calibrating sensors of the athletic garments.
- Sensors record a variety of information about the human body. For example, electrocardiograph (ECG) electrodes can measure electrical signals from the skin of a person that are used to determine the person's heart rate. In addition, electromyography (EMG) electrodes can measure electrical activity generated by a person's muscles. Heart rate and muscle activation information may be useful for evaluating the person's physiological condition, for instance, while exercising.
- The electrical signals measured by sensors such as ECG or EMG electrodes on a person's body may vary based on several factors. For example, a leg muscle may generate more electrical activity on average than an arm muscle because there are more muscle fibers in the leg muscle. As another example, the sensors generate different physiological data for a male adult than a female child because the male adult has larger muscles. Thus, it is difficult to provide comparable metrics between different muscle groups for a given person and between different people since the muscle response depends on muscle physiology and body composition, which may vary between muscles and between people.
- Signal responses of the electrical activity from sensors can vary greatly across different muscle groups for a given person and between people. In particular, when measuring the EMG electrical signal from the surface of the body, different muscle groups could have different signal amplitude ranges that correspond to the range of contraction intensity of the muscle. The EMG signal measured at a given muscle depends on the physiology of the muscle
- A system that generates metrics of a person's athletic performance based on inconsistent calibration results from the physiological data can provide a poor user experience. With inaccurate calibration results, one muscle group could be reported to have an activation level that is inaccurate with respect to another muscle group or when comparing to another person. In particular, if the metrics indicate inaccurate values for the person's muscle activation or heart rate, the person may lose confidence in the reliability of the system.
- An exercise feedback system calibrates sensors of an athletic garment worn by an athlete while performing exercises. The sensors can record physiological data such as EMG signals that represent muscle activation, which is a measure of the athlete's muscle exertion during an exercise. The exercise feedback system instructs the athlete to perform calibration exercises, for instance, when the athlete begins using the exercise feedback system during an onboarding phase. The exercise feedback system generates a calibration value based on physiological data from the calibration exercises. For instance, the calibration value indicates the predicted maximum amplitude for the muscle activation of a particular muscle group (for example, glutes, hamstrings, or quadriceps) of the athlete. The calibration values may account for variations in the physiological data across different muscles or athletes. Example factors that may contribute to the variations include user demographics, muscle physiology, body composition, sensor contact quality, fatigue, etc.
- During the onboarding phase, the exercise feedback system can also determine initial calibration values based on information about the athlete such as demographic data or known performance metrics. During an ongoing phase after the onboarding phase, the exercise feedback system can refine the calibration value over time as the system receives additional physiological data from subsequent exercises performed by the athlete and/or information describing exercise context. The ongoing phase may include multiple sub-phases. For example, during a first phase (e.g., after the first five workouts completed by the athlete), the exercise feedback system performs an initial refinement of the calibration values, and may reprocess physiological data from the first phase. During a second or subsequent phase, the exercise feedback system continues to refine the calibration values as the system receives additional data from the athlete's workouts. The exercise feedback system determines a confidence level of the calibration value and may update the calibration value if the confidence level becomes too low. In some embodiments, the exercise feedback system uses a trained machine learning model to determine and/or update the calibration value and confidence level. The exercise feedback system provides biofeedback to the athlete generated during the performance of subsequent activity and based on the calibration value. For example, the biofeedback indicates a percentage of muscle activation relative to the calibration value for the particular muscle groups. In one embodiment, contribution between different muscle groups can therefore be accurately compared given that the calibration value between different muscle groups accurately reflects the same level of contraction intensity and the relationship between signal amplitude and muscle activation is comparable. In another example, the biofeedback may be based on an increase or decrease in the calibration value over time, e.g., representing changes in strength or physiology of the athlete related to the athlete's training.
- In one embodiment when providing feedback to a person regarding muscle utilization during training, it can be important to be able to compare the response from different muscle groups. As explained above, for a given contraction intensity, two different muscle groups could have different amplitude signal responses. Embodiments of the disclosed invention include a process for transforming the EMG signal response to a common scale to provide biofeedback that allows for the comparison of different muscle groups within an individual and across people.
- Existing systems (e.g., within an academic setting) propose calibrating an EMG signal response from a given muscle. This process may be referred to as normalizing. Prior calibration approaches generally require specific equipment and have been developed to normalize measurements for a specific muscle across multiple trials where the electrodes are re-applied to a subject person. In an example use case, a desired outcome is to reduce measurement differences for a given muscle across trials. Embodiments of the disclosed invention include a calibration process that accounts for the unique challenges of a consumer product. In one embodiment, a process provides an initial calibration value to the athlete when first using a product associated with the exercise feedback system and continues to refine the calibration values over time with additional physiological data and context from the athlete. The process can leverage data collected on the athlete over multiple training sessions and multiple different types of input to improve calibration accuracy. The process can also leverage context collected from the athlete during those training sessions including the exercise performed, reps, weight, or any other performance benchmarks (e.g. time, distance, etc.).
- Figure (
FIG. 1 is a diagram of a system environment for monitoring exercise data according to one embodiment. -
FIG. 2 is a diagram of a sensor-equipped athletic garment according to one embodiment. -
FIG. 3A is a block diagram of an exercise feedback system according to one embodiment. -
FIG. 3B is a block diagram of a client device according to one embodiment. -
FIG. 4 shows graphs of physiological data associated with controlled strength exercises according to one embodiment. -
FIG. 5 shows graphs of physiological data based on a number of repetitions according to one embodiment. -
FIG. 6A shows a penalty function according to one embodiment. -
FIG. 6B shows a graph of a confidence level of physiological data generated by sensors over time according to one embodiment. -
FIG. 7 is a flowchart of a process for calibrating the exercise feedback system according to one embodiment. -
FIG. 8 is a diagram illustrating onboarding and ongoing calibration phases of the exercise feedback system according to one embodiment. - The figures depict embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
- Figure (
FIG. 1 is a diagram of a system environment for monitoring exercise data according to one embodiment. The system environment includes anexercise feedback system 100,client device 110, andathletic garment 130 communicatively coupled together via anetwork 140. Users of theexercise feedback system 100 are also referred to herein as “athletes.” In other embodiments, different and/or additional entities can be included in the system architecture. - The
client device 110 is a computing device capable of receiving user input as well as transmitting and/or receiving data via thenetwork 140. A client device is a device having computer functionality, such as a smartphone, personal digital assistant (PDA), a mobile telephone, tablet, laptop computer, desktop computer, or another suitable device. In one embodiment, a client device executes an application allowing a user of the client device to interact with theexercise feedback system 100. For example, a client device executes a browser application to enable interaction between the client device and theexercise feedback system 100 via thenetwork 140. In another embodiment, a client device interacts with theexercise feedback system 100 through an application programming interface (API) running on a native operating system of the client device, such as IOS® or ANDROID™. - The
network 140 includes any combination of local area and/or wide area networks, including both wired and/or wireless communication systems. In one embodiment, thenetwork 140 uses standard communications technologies and/or protocols. For example, thenetwork 140 includes communication links using technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G, code division multiple access (CDMA), digital subscriber line (DSL), BLUETOOTH®, Wi-Fi, ZIGBEE®, other suitable close-range networks, etc. Examples of networking protocols used for communicating via thenetwork 140 include multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), and file transfer protocol (FTP). Data exchanged over thenetwork 140 may be represented using any suitable format, such as hypertext markup language (HTML) or extensible markup language (XML). In some embodiments, all or some of the communication links of thenetwork 140 may be encrypted using any suitable technique or techniques. - An
athlete 120 wears theathletic garment 130 while performing exercises. Theathletic garment 130 records physiological data, e.g., muscle activation data or heart rate data, of the athlete. Based on the physiological data, theexercise feedback system 100 generates exercise feedback customized for the athlete. Further, a coach of the athlete can view the exercise feedback on a client device and provide additional feedback for the athlete. The athlete can view the exercise feedback and any additional feedback displayed on a user interface of theclient device 110. In some embodiments, theexercise feedback system 100 can communicate the exercise feedback using audio output or haptic feedback of theclient device 110. -
FIG. 2 is a diagram of a sensor-equippedathletic garment 200 according to one embodiment. Theathletic garment 200 includes sensors that contact the skin of an athlete wearing theathletic garment 200. For example, the sensors can be electrodes that measure electromyography (EMG) signals (electrical signals caused by muscle cells) also referred to as muscle activation data or muscle activation levels, electrocardiograph (ECG) signals (electrical signals caused by depolarization of the user's heart muscle in particular) also referred to as heart rate data, electrical signals modified by the tissue of the user (also referred to herein as bioimpedance data), electroencephalograph (EEG) signals, magnetoencephalograph (MEG) signals, among other types of signals associated with physiological data. The sensors may also include other types of sensors such as accelerometers and gyroscopes (which generate motion data based on the athlete's movement), temperature sensors, pressure sensors, humidity sensors, geographical location sensors, etc. The sensors generate physiological data of the athlete based on the measured signals. The sensors are communicatively coupled to aprocessing unit 290. Theprocessing unit 290 can aggregate and analyze the physiological data from the sensors. Theprocessing unit 290 can also provide the physiological data to theclient device 110 or exercisefeedback system 100 via thenetwork 140. - In the embodiment shown in
FIG. 2 , theathletic garment 200 includes eight sensors that record muscle activation data from the athlete's muscles nearby each sensor. In particular,sensors athletic garment 200 can record muscle activation data of the athlete's deltoid muscles.Sensors athletic garment 200 can record muscle activation data of the athlete's triceps and/or bicep muscles.Sensors athletic garment 200 can record muscle activation data of the athlete's pectoral muscles.Sensors athletic garment 200 can record muscle activation data of the athlete's abdominal and oblique muscles. Though theathletic garment 200 shown inFIG. 2 includes eight sensors and theprocessing unit 290, in other embodiments, theathletic garment 200 can include any number of sensors or other types of components or electronics at any location or configuration within theathletic garment 200. - It should be noted that while the
athletic garment 200 shown inFIG. 2 is a long sleeve shirt, the principles described herein apply equally to any garment, including but not limited to a short sleeved shirt, a tank top, pants, shorts (e.g., theathletic garment 130 shown inFIG. 1 ), or any other suitable garment. In embodiments where the athletic garment is a pant or shorts, sensors of the athletic garment can record muscle activation data from muscles on an athlete's lower body, e.g., quadriceps, gluteus maximus (also referred to herein as “glutes”), hamstrings, calves, and the like. -
FIG. 3A is a block diagram of theexercise feedback system 100 according to one embodiment. Theexercise feedback system 100 includes adata processing engine 300,calibration engine 310,machine learning engine 320,biofeedback engine 330,calibration data store 340, andathlete data store 350. In other embodiments, theexercise feedback system 100 may include additional, fewer, or different components for various applications, which are not shown so as to not obscure the details of the system architecture. - The
data processing engine 300 processes physiological data generated by sensors of an athletic garment, e.g.,athletic garment 200 shown inFIG. 2 . Theexercise feedback system 100 can receive the physiological data from theclient device 110 or theprocessing unit 290 of theathletic garment 200. Thedata processing engine 300 can process the physiological data by performing noise filtering or feature extraction. Example noise filtering techniques include a moving average filter, root mean square condition, standard deviation, low pass, high pass, band pass, and notch filters. Features can include a heart rate or level of muscle activation for a certain muscle of an athlete. For example, thedata processing engine 300 determines the heart rate, e.g., in beats per minute, of an athlete based on the frequency of a sample of sinusoidal heart rate data. In another example, thedata processing engine 300 determines a level of muscle activation for a particular muscle of an athlete based on the amplitude of muscle activation data from EMG signals. - Physiological data generated by sensors of the athletic garment may vary based on parameters associated with the athlete wearing the athletic garment, e.g., based on the body composition of the athlete. The physiology of the muscle influences the muscle activation data associated with contraction of the muscle. For example, the number of muscle fibers, fiber size and fiber type distribution (e.g., slow twitch or fast twitch) can influence the muscle activation signal amplitude associated with the muscle group. Also, the thickness of adipose tissue between the muscle tissue and skin surface may influence the amplitude of the muscle activation signal generated by sensors of the athletic garment. For instance, the amplitude of muscle activation data may be proportional to the muscle fiber size and/or inversely proportional to the amount of fat between the muscle and the portion of skin.
- Physiological data generated by sensors of the athletic garment may also vary based on parameters associated with the different types of muscles contacting the sensors, e.g., based on the local and/or global body composition of the athlete. For example, muscles include a combination of slow twitch muscle fibers and fast twitch muscle fibers. During an exercise, a ratio of activated fast twitch muscle fibers to activated slow twitch muscle fibers depends on the athlete's intensity of contraction of the muscle. For instance, as the athlete contracts the muscle with greater exertion, additional fast twitch muscle fibers are activated. Therefore, the change in muscle contraction intensity changes the ratio of activated types of muscle fibers and ultimately may manifest as a difference in amplitude of muscle activation data generated between sensors contacting different muscle groups.
- The
data processing engine 300 may also correlate body composition information with other types of sensor data, e.g., correlating body fat percentage with heart rate data. The amplitude of muscle activation data associated with a first muscle group may be greater than the amplitude of muscle activation data associated with a second muscle group due to variations in any of the above parameters and/or other factors. Additional example parameters include muscle fiber size, muscle fiber distribution, and the amount of fat between a muscle and a portion of skin contacting the sensor. - Additionally, physiological data generated by sensors of the athletic garment may vary because athletes have different physiological traits, such as muscle fiber size, body composition, and other traits similar to those that cause differences in muscle activation data across different muscle groups. For instance, a 25 year-old male athlete who is a professional swimmer may have an average amplitude of muscle activation data greater than that of a 10 year-old female athlete for a given muscle contraction intensity. The physiological data may also vary based on the sensor contact quality. For example, thicker hair on the athlete's skin or skin dryness may result in poor sensor contact quality, and thus reduce the amplitude of physiological data generated by the sensors. As another example, skin oiliness or sweat may result in improved sensor contact quality, and thus increase the amplitude of physiological data generated by the sensors. Similar to processing physiological data based on body composition data, for example, the
data processing engine 300 may determine sensor contact quality (e.g., a level of physical contact with the skin) based on bioimpedance data generated by a sensor. Thedata processing engine 300 may also correlate the sensor contact quality and/or bioimpedance data with other types of sensor data (e.g., heart rate information). In some embodiments, the amplitude of physiological data generated by a sensor is inversely proportional to the impedance between the sensor and the skin of the athlete. - In some embodiments, the bioimpedance data varies based on both a level of contact between the sensor and athlete's body as well as the body tissue of the athlete. A data signal generated by sensors (or other electrical components) of the athletic garment varies based on the body tissue. Based on parameters of the bioimpedance data, the
data processing engine 300 may determine the athlete's body composition at the multiple locations on the athlete's body that correspond to the location of the sensors. Different compositions of muscle and fat tissue will change characteristics of the bioimpedance data signal. Thedata processing engine 300 may improve the accuracy of calibration values (e.g., generated by thecalibration engine 310 described below) corresponding to a given muscle location by using body composition data determined based on bioimpedance data local to a sensor corresponding to a specific muscle group. - In one embodiment, the
data processing engine 300 may measure an ECG signal corresponding to the heart function (e.g., heart rate or pulse) of the athlete using sensors of the athletic garment. Parameters of the ECG signal such as the amplitude or frequency may vary based on where the ECG signal is measured from on the athlete's body. Parameters of the ECG signal may also vary based on the tissue and body composition of the athlete at different locations on the body (e.g., on the chest, an arm, or a leg). Thus, thedata processing engine 300 can determine the body composition on different portions of the athlete's body based on changes in the ECG signal parameters. Theexercise feedback system 100 may improve the accuracy of calibration values based the body composition determined using the ECG signals. - The
calibration engine 310 calibrates theexercise feedback system 100 to account for variations in physiological data across different muscles of an athlete and across different athletes. Thecalibration engine 310 normalizes physiological data of a set of muscles based on the amplitude of the muscle activation data, in one embodiment. Thecalibration engine 310 provides instructions that prompt an athlete wearing the athletic garment to perform one or more calibration exercises. The calibration exercises include, for example, activities that do not require any weights or equipment such as walking up stairs, jumping, standing, lying down, performing a leg raise, sprinting for a certain distance or duration of time, or moving a limb. The calibration exercises may also include activities that do require weights and/or other equipment such as performing a squat, bench press, overhead press, biceps curl, pull-up, or deadlift with a barbell. The calibration exercises may target one or more muscle groups, e.g., a chest fly, bent over row, arm curl, arm extension, arm raise, or push-up exercise target upper body muscles (e.g., pectorals, biceps, triceps, or deltoids), and a squat, kickback, or leg curl target lower body muscles (e.g., the quadriceps, glutes, or hamstrings). The calibration exercises may also target an isolated one or more muscles. - The instructions may prompt the athlete to perform a target number of repetitions of the calibration exercise. The instructions may also prompt the athlete to perform the calibration exercise based on the athlete's repetition maximum (which may also be referred to herein as “rep max” or RM) for a target number of repetitions of the calibration exercise. The repetition maximum represents the greatest amount of weight that the athlete can lift for a given number of repetitions, or in other words, the maximum voluntary contraction of a muscle of the athlete. In one embodiment, the
calibration engine 310 provides the instructions to the athlete when the athlete starts using theexercise feedback system 100 so that thecalibration engine 310 can determine calibration values personalized to the athlete before the athlete completes additional exercises using theexercise feedback system 100. Thecalibration engine 310 may also provide instructions to the athlete to perform calibration exercises at a future time, e.g., to determine updated calibration values. Thecalibration engine 310 can update calibration values over time as thecalibration engine 310 receives additional physiological data from exercises and training programs that the athlete (or other athletes of the exercise feedback system 100) performs. In some embodiments, thecalibration engine 310 may provide instructions to the athlete to input a level of perceived effort corresponding to a calibration exercise. - In one embodiment, the
calibration engine 310 provides different calibration exercise options to the athlete. For example, a shorter option includes fewer calibration exercises than a longer option, and thus the athlete can complete the shorter option quickly to begin performing other workouts using theexercise feedback system 100. The longer option may require more time to complete, though may be advantageous because thecalibration engine 310 may determine more accurate calibration values based on calibration exercises from the longer option, for example, because thecalibration engine 310 receives a larger sample of physiological data. As one example, a shorter option includes one calibration exercise prompting the athlete to complete three repetitions of a squat exercise at the athlete's three repetition maximum. As a different example, a longer option includes squat, lunge, and pushup calibration exercises, where each calibration exercise involves five repetitions at the athlete's five repetition maximum. - In some embodiments, the
calibration engine 310 determines calibration values without requiring the athlete to perform a calibration exercise. For example, thecalibration data store 340 includes a database of reference calibration values associated with different parameters of athletes. Based on the information about a target athlete, thecalibration engine 310 selects one or more reference calibration values from the database associated with parameters similar to those of the target athlete. For instance, the calibration values are associated with parameters such as demographic information (e.g., age, gender, height, weight, body composition, etc.), muscle type, exercise type, athlete skill level (e.g., a known performance metric such as personal records for certain exercises, vertical jump height, max number of pull-ups or push-ups, max wall-sit time, 1-mile run time, or 40-yard sprint time), health information (e.g., resting heart rate or heart rate while recovering after performing an exercise), genetics (e.g., associated with certain types of physiological traits), and the like. In one embodiment, the reference calibration value is based on an average of calibration values of a population of athletes with similar parameters, e.g., 20-30 year old female swimmers. The reference calibration values may be stored with a confidence level based on the variation of the calibration values of the population of athletes. - The
machine learning engine 320 uses machine learning techniques to train one or more models for determining calibration values, in some embodiments. For example, a machine learning model can predict the maximum muscle activation level of an athlete corresponding to a number of input parameters of the athlete, as previously described above, e.g., including demographics and known performance metrics. Additionally, the machine learning model can predict the range of muscle activation levels (e.g., including an estimated maximum and minimum value) of an athlete corresponding to exercises completed by the athlete, the physiological data collected from those exercises, and/or additional information including the exercise type, weight, number of reps and athlete perceived effort. Further, the machine learning model can determine a confidence level of the predicted muscle activation level for the one rep max. In some embodiments, thecalibration engine 310 uses the predicted maximum muscle activation level and confidence level to determine or to update calibration values. Machine learning techniques include, for example, supervised and unsupervised learning, linear regression, decision trees, support vector machines, classifiers (e.g., a Naive Bayes classifier), and gradient boosting, boosting for other algorithms (e.g., AdaBoost), neural net, logistic regression, and memory-based learning. The machine learning models can initially be trained by extracting features associated with calibration exercises, demographics and desired calibration levels completed by other athletes of theexercise feedback system 100. In some embodiments, after initial training, the machine learning model can be further trained to reduce the error of the predicted calibration level for the athletes in the training set. - The
biofeedback engine 330 generates biofeedback for users of theexercise feedback system 100 based on features extracted by thedata processing module 300 and calibration values determined by thecalibration engine 300. The biofeedback indicates a metric of performance (e.g., a percentage value, a Boolean value such as satisfactory or unsatisfactory, or any suitable type of value) of an athlete performing exercises. As another example, the metric of performance may indicate a level of balance of the athlete while performing an exercise, e.g., whether the athlete's muscle activation levels for the left and right quads during a squat exercise are within a predetermined threshold value. The biofeedback may be associated with a particular muscle group, repetition of an exercise, set of an exercise (e.g., with multiple repetitions), workout, or session for a given day. - The
biofeedback engine 330 can store the biofeedback in theathlete data store 350 along with information identifying the corresponding athlete. Thebiofeedback engine 330 can compare the extracted features with features based on reference exercise data from theathlete data store 350. In one example, the reference exercise data indicates a target range of one repetition maximum weight for a squat exercise based on demographic information of an athlete. If an athlete's one repetition maximum weight falls within the target range, thebiofeedback engine 330 generates biofeedback indicating that the athlete has a satisfactory one repetition maximum weight for squat exercises. Further, by generating biofeedback based on calibration values, thebiofeedback engine 330 can provide metrics that compare the performance between different muscle groups and between different athletes. Additional details regarding generating biofeedback are disclosed in U.S. patent application Ser. No. 15/356,354, filed on Nov. 18, 2016, the entire disclosure of which is incorporated herein by reference. -
FIG. 3B is a block diagram of theclient device 110 according to one embodiment. Theclient device 110 includes aninterface manager 360,local calibration engine 370, and localathlete data store 380. In other embodiments, theclient device 110 may include additional, fewer, or different components for various applications, which are not shown so as to not obscure the details of the system architecture. - In some embodiments, some or all of the functionality of the
exercise feedback system 100 may be performed by or implemented within theclient device 110. For example, the client device includes thelocal calibration engine 370 to provide instructions regarding calibration exercises to the athlete, determine (or update) calibration values, and store the calibration values in the localathlete data store 380. This can be advantageous because theclient device 110 may not always have a network connection while an athlete is exercising (e.g., the athlete's gym does not have internet available). Thus, the calibration values are generated locally on theclient device 110 without having to upload the physiological data to theexercise feedback system 100 for processing. - The
interface manager 360 receives physiological data from theathletic garment 130 and can provide the physiological data to theexercise feedback system 100 for further processing. Theinterface manager 360 receives biofeedback, exercise training programs, and other information from theexercise feedback system 100. Based on the received information, theinterface manager 360 may generate graphical user interfaces depicting the biofeedback, exercise training programs, calibration exercises, and the like. In some embodiments, theinterface manager 360 presents the biofeedback and exercise training programs using audio or any other suitable form of feedback, e.g., vibrating theclient device 110 as tactile feedback. Theinterface manager 360 can store physiological data, biofeedback, or exercise training programs in the localathlete data store 380. - The
interface manager 360 can receive athlete information input by the athlete via theclient device 110. Theinterface manager 360 can store the athlete information in the localathlete data store 380 or provide the athlete information to theexercise feedback system 100 to be stored in theathlete data store 350. The athlete information can describe, e.g., a goal of the athlete, demographic data, geographical location, one or more sports that the athlete plays, history of injuries of the athlete, other types of data such as biometrics including weight and height. Additionally, theinterface manager 360 can receive information input by a coach of the athlete via a client device, and provide the input information to theexercise feedback system 100. -
FIG. 4 shows graphs of physiological data associated with controlled strength exercises according to one embodiment. The graphs show muscle activation data of the glutes, hamstrings, and quadriceps muscles for three separate controlled strength exercises performed by an athlete, as well as muscle activation data for a separate power exercise. Thepeak amplitude 420 for the quadriceps exercise is greater than thepeak amplitude 410 for the hamstrings exercise, which is greater than thepeak amplitude 400 for the glutes exercise. In one embodiment, thecalibration engine 310 uses the peak amplitudes to calibrate the muscle activation data. Thecalibration engine 310 stores thepeak amplitudes calibration data store 350. - The
biofeedback engine 330 generates biofeedback associated with the athlete's glutes, hamstrings, and quadriceps muscles based on the stored peak amplitudes, e.g., calibration values. For example,biofeedback engine 330 generates biofeedback indicating a percentage value representation of muscle activation level of the glutes muscle while the athlete is performing an exercise. The percentage value is relative to thepeak amplitude 400. Similarly, thebiofeedback engine 330 may generate biofeedback indicating a percentage value representation of muscle activation levels of the athlete's hamstrings and quadriceps muscles relative to thepeak amplitudes calibration engine 310 can normalize physiological data across different types of muscles. In particular, though the glutes, hamstrings, and quadriceps muscles may each have different ranges of muscle activation levels, based on the calibration values, thebiofeedback engine 330 generates biofeedback that presents the muscle activation levels for each of the three muscles on the same scale, e.g., as a percentage from 0% to 100%, which is a relative scale rather than an absolute scale. Thus, thepeak amplitudes FIG. 4 . Based on normalized physiological data, thebiofeedback engine 330 can generate comparative metrics between different types of muscle groups or between muscles of different athletes. Further, thebiofeedback engine 330 can generate biofeedback indicative of overall athletic performance of an athlete (e.g., full body metrics). - In some embodiments, the
biofeedback engine 330 generates biofeedback based on data from other sources accessible to theexercise feedback system 100. For example, theexercise feedback system 100 receives images (or other types of media) of an athlete from a third party system (e.g., a social networking system). By processing the images of the athlete, thebiofeedback engine 330 can generate a visualization (e.g., including overlaying depiction of muscles) of the athlete's body that is normalized to account for the athlete's body mass index (BMI). - In some embodiments, sensors of an athletic garment generate physiological data with less variation when an athlete performs controlled strength exercises than when the athlete performs power exercises. Controlled strength exercises may involve performing multiple repetitions of an exercise with a greater ratio of activated slow twitch muscles to fast twitch muscles. In contrast, a power exercise involves performing one repetition of an exercise with a quick burst of energy and heavy use of fast twitch muscles.
- In the example shown in
FIG. 4 , the amplitudes of the muscle activation level of the three controlled strength exercises have less variation than the muscle activation level of the power exercise. In particular, the muscle activation data for the power exercise has three amplitude peaks while the muscle activation data for each of the three controlled strength exercises have one amplitude peak. The muscle activation data for power exercises have more variability, for example, because the athlete performs power exercises over a shorter period of time, which may introduce transient peaks and/or more noise in the amplitude of the muscle activation data. A transient peak may be an outlier and not the true maximum muscle activation of the muscle. Thus,calibration engine 310 may generate more accurate calibration values based on the peak amplitudes from physiological data of controlled strength exercises. In some embodiments, thecalibration engine 310 may exclude muscle activation data from power exercises (e.g., based on identifying the transient peaks) when generating calibration values. In another embodiment, thecalibration engine 310 may generate more accurate calibration values by incorporating user information describing exercise context of the athlete, or information about the exercise corresponding to the physiological data (e.g., whether the exercise type is characteristic of strength controlled exercises or power exercises). -
FIG. 5 shows graphs of physiological data based on a number of repetitions according to one embodiment. In particular, thegraph 500 includes data points indicating the repetition maximum amplitude of muscle activation levels associated with one, three, five, and ten repetitions (RM). Thecalibration engine 310 determines the repetition maximum amplitudes based on the muscle activation data shown ingraph 510. In the example shown inFIG. 5 , the repetition maximum amplitudes may be modeled as an approximately linear function dependent on the number of repetitions. Thus, thecalibration engine 310 can use a linear regression model to predict repetition maximum amplitudes. For instance, thecalibration engine 310 may not have physiological data associated with a one repetition maximum exercise, e.g., because it is unsafe for an athlete to perform only one repetition with a heavy weight before warming up for a workout. However, thecalibration engine 310 can predict the one repetition maximum amplitude based on physiological data associated with three, five, and ten repetitions, as shown in thegraphs calibration engine 310 may also use a trained machine learning model to predict the one repetition maximum amplitude (e.g., in cases where a linear model is not suitable). Themachine learning engine 320 trains the machine learning model using physiological data associated with other calibration exercises, e.g., with a variety of the number of repetitions for a set of a calibration exercise. -
FIG. 6A shows apenalty function 600 according to one embodiment. Thepenalty function 600 outputs a delta (e.g., difference or change) in confidence based on an input delta in amplitude. For example, thepenalty function 600 outputs the deltas inconfidence amplitude penalty function 600 shown inFIG. 6A is a logarithmic function that asymptotically approaches theconfidence value 650, it should be noted that in other embodiments, the penalty function may be any other type of function, e.g., nonlinear, exponential, polynomial, arbitrary, periodic, etc. In some embodiments, themachine learning engine 320 trains a machine learning model that determines thepenalty function 600. Alternatively, thecalibration data store 340 may include apredetermined penalty function 600. In some embodiments, theexercise feedback system 100 uses a rule-based model or another type of model other than a machine learning model. -
FIG. 6B shows agraph 660 of aconfidence level 670 of physiological data generated by sensors over time according to one embodiment. In one embodiment, themachine learning engine 320 trains a machine learning model that determines and updates theconfidence level 670 based on the physiological data and thepenalty function 600 shown inFIG. 6A . The machine learning model determines an initial value for thecalibration value 690 and for the corresponding confidence level 670 (e.g., 90%), which may be based on data from a calibration exercise or a reference calibration values. Thecalibration value 690 represents the predicted maximum muscle activation level of an athlete. As the athlete performs exercises, theexercise feedback system 100 receives physiological data, e.g., muscle activation data, generated by the sensors of the garment. Thegraph 680 illustrates the amplitude of the muscle activation data over time. - At time A, the muscle activation data has an amplitude greater than the
calibration value 690 by a delta inamplitude 610. Using thepenalty function 600, the machine learning model determines that the delta inamplitude 610 is mapped to the delta inconfidence 620. Thus, the machine learning model decreases theconfidence level 670 by the delta inconfidence 620. Similarly, at time B, the muscle activation data has an amplitude greater than thecalibration value 690 by a delta inamplitude 630. Using thepenalty function 600, the machine learning model determines that the delta inamplitude 630 is mapped to the delta inconfidence 640. Thus, the machine learning model decreases theconfidence level 670 by the delta inconfidence 640. - Over time, the machine learning model's confidence in the
calibration value 690 can be eroded because amplitudes of data samples of the muscle activation data exceed thecurrent calibration value 690. After time B, the machine learning model determines that theconfidence level 670 is less than an adjustablethreshold confidence level 695, e.g., 40%. In response to this determination, the machine learning model updates thecalibration value 690, for example, by increasing thecalibration value 690 to the maximum amplitude of muscle activation received for the athlete. Alternatively, the machine learning model may update thecalibration value 690 by a percentage of the current calibration value 690 (e.g., increase by 10%), or by a predetermined constant value. In one embodiment, the machine learning model adjusts thethreshold confidence level 695 to modify the frequency at which thecalibration value 690 is updated. In particular, by increasing thethreshold confidence level 695, theconfidence level 670 is more likely to fall under thethreshold confidence level 695, and thus the machine learning model will update thecalibration value 690 more frequently. However, updating thecalibration value 690 too frequently may confuse the athlete, so the machine learning model may determine an upper limit for thethreshold confidence level 695, as well as a lower limit to avoid not updating thecalibration value 690 frequently enough. In some embodiments, the machine learning model updates thecalibration value 690 after the athlete has performed a certain number of exercises. - In some embodiments, the machine learning model learns to optimize how frequently the
calibration value 690 is updated. For example, the machine learning model determines a number of repetitions or sets of exercises to include in a calibration routine having one or more calibration exercises. The machine learning model can also determine a number of sets or exercises that the athlete completes subsequent to completing the calibration routine before updating the calibration value for the first time. Similarly, the machine learning model can also determine a number of sets or exercises that the athlete completes subsequent to the previous calibration value update before the next update of the calibration value. For penalty functions that are exponential-type functions with a time constant, the machine learning model may optimize the time constant to avoid eroding confidence in the calibration value too conservatively or too aggressively, e.g., resulting in calibration value updates that are not frequent enough or too frequent. - The machine learning model learns to optimize how frequently the
calibration value 690 is updated based on training sets derived using physiological data and user information from other athletes of theexercise feedback system 100. For example, the machine learning model has a target frequency of updating a calibration value no more than once a week. Further, the machine learning model determines an initial value for the calibration value for athletes who are 15-25 year old male basketball players. A training set indicates that for a population of 15-25 year old male basketball players, thecalibration engine 310 updated the calibration value twice a week, which is twice as frequent as the target frequency of no more than once a week. For instance, the maximum amplitude of muscle activation levels for the population of athletes was frequently greater than the machine learning model originally predicted. Accordingly, the machine learning model trained using this training set learns that the initial value was likely too low because thecalibration engine 310 kept increasing the calibration value. When determining a calibration value for a subsequent athlete who has similar (or the same) characteristics as the population of 15-25 year old male basketball players, the machine learning model determines a new calibration value that is greater than the initial value, e.g., to be more conservative in the prediction. On the other hand, if the training set indicates that the calibration value was updated less frequently than the target frequency, the machine learning model determines a new calibration value that is less than the initial value, e.g., to be more aggressive in the prediction. - Along with updating the
calibration value 690 after time B, the machine learning model also updates theconfidence level 670, e.g., increasing theconfidence level 670 to 90%. Theconfidence level 670 increases when thecalibration value 690 is updated because the machine learning model is more certain of the new prediction of thecalibration value 690. In some embodiments, the machine learning model waits a predetermined period of time after time B to update thecalibration value 690. For instance, the machine learning model waits until after the athlete has completed the current set of exercises (or waits until the next day) before updating thecalibration value 690 so that the biofeedback provided to the user during the set appears more stable to the athlete. - In some embodiments, the machine learning model periodically updates calibration values over time. For example, the machine learning model increases the predicted maximum amplitude of an athlete's muscle activation levels once a month to account for the athlete's muscle growth. In other words, as the athlete performs strength training, the athlete should be progressing and able to lift heavier weights. As another example, during a given set of exercises, the machine learning model may decrease the predicted maximum amplitude of an athlete's muscle activation levels to account for fatigue or freshness (e.g., when the athlete is starting a workout after a period of rest). Due to fatigue, the athlete may not be able to lift as heavy weights on a repetition toward the end of a set in comparison to a repetition toward the start of the set.
- After the machine learning model updates the
calibration value 690, thebiofeedback engine 330 generates biofeedback for the athlete based on the updatedcalibration value 690. Thus, the biofeedback is more likely to accurately represent the performance of the athlete because the biofeedback is based on a more accurate predicted maximum value. In some embodiments, thebiofeedback engine 330 retroactively updates previously generated biofeedback. For example, a sample biofeedback indicates that the athlete exerted the athlete's quadriceps muscles at 110% muscle activation level. After the machine learning model updates thecalibration value 690 to a greater value, thebiofeedback engine 330 updates the sample biofeedback to now indicate that the athlete exerted the athlete's quadriceps muscles at 90% muscle activation level. The percentage of muscle activation level decreases because thecalibration value 690 increases, e.g., representing a greater predicted maximum muscle activation level. - As another example, the
calibration engine 310 generates a first set of calibration values for an athlete's glutes and biceps muscles based on physiological data from calibration exercises performed by the athlete during an onboarding process. Based on the first set of calibration values, thebiofeedback engine 330 generates biofeedback comparing the performance of the athlete's glutes and biceps. Thebiofeedback engine 330 provides the comparative biofeedback during a period of time as the athlete performs additional workouts. At a future time, thecalibration engine 310 generates a second set of calibration values for the athlete including an updated calibration value for the biceps muscles. Thebiofeedback engine 330 may reprocess the biofeedback based on the second set of calibration values to update the previously provided comparative biofeedback during the period of time. Thus, the updated comparative biofeedback may more accurately compare the performance of the athlete's glutes and biceps muscles, and may be more consistent with subsequent biofeedback generated based on the second set of calibration values. -
FIG. 7 is a flowchart of aprocess 700 for calibrating an exercise feedback system according to one embodiment. In some embodiments, theprocess 700 is performed by theexercise feedback system 100—e.g., modules of theexercise feedback system 100 described with reference toFIG. 3A —within the system environment inFIG. 1 . Theprocess 700 may include different or additional steps than those described in conjunction withFIG. 7 in some embodiments or perform steps in different orders than the order described in conjunction withFIG. 7 . - In one embodiment, the
calibration engine 310 provides 710 information describing a calibration workout to aclient device 110 of a user (e.g., an athlete). The calibration workout may be part of an onboarding process completed by the athlete when the athlete begins using theexercise feedback system 100 with anathletic garment 130, e.g., for the first five workouts of the athlete. Thecalibration engine 310 may provide the athlete with multiple options of muscle groups to calibrate. Based on the athlete's selection, thecalibration engine 310 may provide the athlete with multiple options of exercises suitable for calibrating the selected muscle group, e.g., a biceps curl exercise and a pull-up exercise are provided as options for calibrating the biceps muscle group. The calibration workout may include one or more sets of exercises, where each exercise may include any number of repetitions. In one embodiment, the calibration workout includes at least two sets of an exercise for a given muscle, and the repetition maximum is different for at least two sets. - The
data processing engine 300 receives 720 a first set of physiological data from agarment 130 worn by the user while performing the calibration workout. The physiological data is generated by sensors of thegarment 130 and describes muscle activation of one or more muscles of the user. Thecalibration engine 310 receives 730 user information from theclient device 110. The user information may include, for example, demographic data, performance metrics, a user perceived effort corresponding to the calibration workout, etc. In one embodiment, the user perceived effort indicates a first effort level of a first set of an exercise of the calibration workout, and indicates a second effort level of a second set of the exercise (e.g., the first effort level is 50% and the second effort level is 75%), where the two sets may have a different number of repetitions. - The
calibration engine 310 determines 740 a calibration value based at least in part on the first set of physiological data and the user information. In some embodiments, thecalibration engine 310 determines the calibration value based on the first set of physiological data without requiring user information. Thus, in such embodiments, thecalibration engine 310 does not necessarily receive the user information during the onboarding process. In other embodiments, thecalibration engine 310 determines the calibration value based on the user information without requiring the first set of physiological data. Thus, in such embodiments, thecalibration engine 310 does not necessarily receive the first set of physiological data during the onboarding process. In some embodiments, thedata processing engine 300 determines a level of data quality of the physiological data based on bioimpedance data received from the sensors; thecalibration engine 310 may determine calibration values further based on the level of data quality. - The
data processing engine 300 receives 750 a second set of physiological data (e.g., also describing muscle activation of the user's muscles) from thegarment 130 worn by the user while performing a subsequent workout. Thecalibration engine 310 modifies 760 the calibration value based on the second set of physiological data. Thecalibration engine 310 may modify the calibration value in response to determining that an amplitude of a data subset of the second set of physiological data is greater than the calibration value (e.g., the calibration value is an underestimate). In other embodiments, thecalibration engine 310 may modify the calibration value in response to determining that an amplitude of a data subset of the second set of physiological data is less than the calibration value by a threshold value (e.g., the calibration value is an overestimate). For instance, if the calibration value is an underestimate, thecalibration engine 310 increases the calibration value. On the other hand, if the calibration value is an overestimate, thecalibration engine 310 decreases the calibration value. In some embodiments, thecalibration engine 310 uses a penalty function and/or a trained machine learning model to modify the calibration value. In some embodiments, the calibration value is further determined or modified based on user information received from theclient device 110. The user information may describe, e.g., the workouts, exercises, weight, reps, or other performance metrics of the athlete corresponding to the second set of physiological data. - The
biofeedback engine 330 provides 770 biofeedback to theclient device 110 for communication to the user, where the biofeedback is generated based on the modified calibration value. The biofeedback may indicate, e.g., a metric of athletic performance of the user, a level of balance of the user (e.g., comparing the effort level of the left and right biceps muscles), a level of workload of the user's muscles, or the contribution of a given muscle compared to an aggregate group of muscles. Since theexercise feedback system 100 can receive physiological data from any number of subsequent exercises, thecalibration engine 310 can perform ongoing calibration (e.g., after the onboarding process in completed) when updated physiological data of the athlete is available. - Further, the biofeedback may be a representation of the calibration value and modifications to the calibration value over time, in some embodiments. In an example use case, the biofeedback may indicate strength progression or regression based on changes to the calibration value over a period of time. For example, an athlete's increase in strength may correspond to an increase in muscle fiber size, which results in an increase in the maximum signal response measured from a given muscle. The
calibration engine 310 may modify the calibration value over time to represent an updated maximum signal response. In another example, the biofeedback includes a representation of a user profile and provides information indicating the relative strength of different muscle groups by comparing calibration values of different muscle groups. In another example, theexercise feedback system 100 provides biofeedback indicating balance information based on comparing calibration values corresponding to the right and left muscles of a symmetric muscle type. Biofeedback may also include a comparison of calibration values between different athletes. - In the embodiment shown in
FIG. 7 , steps 710-740 are part of the onboarding phase when the athlete performs calibration exercises. During the onboarding process, thecalibration engine 310 determines an initial reference for calibration values, e.g., a “starting point.” Thecalibration engine 310 can perform ongoing calibration in two or more phases. In particular, steps 750-770 are part of aphase 1 update, which is performed by theexercise feedback system 100 within a duration of time after the onboarding phase (e.g., five weeks or a month). Theexercise feedback system 100 may repeat steps 750-770 as part of asubsequent phase 2 update performed after thephase 1 update. As the athlete continues to complete additional workouts, theexercise feedback system 100 may continue to refine the calibration by performing any number ofadditional phase 2 updates based on additional physiological data from the workouts. - In some embodiments, the
exercise feedback system 100 optimizes parameters of thephase 1 process to account for a greater expected degree of error between the starting point calibration value after onboarding and the actual target calibration level for the user. For instance, during thephase 1 update process, theexercise feedback system 100 adjusts the calibration levels to accurately reflect the user, and thus the calibration value may be modified more frequently. Parameters of thephase 2 update process may be optimized to adjust to physiological changes of the user. Thus, theexercise feedback system 100 may be optimized to modify the calibration value less frequently during thephase 2 update process. - In some embodiments, the
exercise feedback system 100 can perform a process including the ongoing calibration phase without necessarily including an onboarding calibration phase. For example, theexercise feedback system 100 retrieves default (or reference) calibration values or previously calibration values that are stored in thecalibration data store 340. Theexercise feedback system 100 may modify the retrieved calibration values based on updated physiological data from the athlete during the ongoing calibration phase. -
FIG. 8 is a diagram 800 illustrating onboarding and ongoing calibration phases of theexercise feedback system 100 according to one embodiment. As previously described, theexercise feedback system 100 can perform calibration during an onboarding phase and an ongoing phase. Themachine learning engine 320 may train different models for each phase, e.g., an onboarding calibration model and an ongoing calibration model. Alternatively, themachine learning engine 320 may train one model for multiple phases. The models may be trained via machine learning techniques using feature sets, e.g., derived based on information from a population of athletes of theexercise feedback system 100. The feature sets may also include information such as physiological data of athletes associated with different associated repetition maxima, different target calibration values, different perceived effort levels, user information pertaining to demographics of the user, performance metrics of the user, or information about exercises completed by the user (e.g., type of exercise, reps, or weight). - In some embodiments, the models determine calibration references (e.g., initial calibration values) based on input data. Input data may include information input by the user such as demographic data (e.g., age, gender, height, weight), geographical location data, a perceived effort level for an exercise or workout, a performance metric (e.g., a personal record of the athlete), or other types of exercise content (e.g., number of repetitions, type of exercise, weight for the exercise, duration of the exercise, time of day, etc.). The input data may also be received by the
exercise feedback system 100 without requiring manual input from the user. For instance, theexercise feedback system 100 uses an application programming interface (API) to receive input data from a third party system such as a social networking system. Differences in the input data, e.g., across different athletes, may manifest as variations in physiological data from the athletes. - Based on the calibration references, the
calibration engine 310 calibrates physiological data and determines calibration values. Theexercise feedback system 100 may perform a discrete onboarding calibration if triggered by the user, e.g., when the user begins using theexercise feedback system 100 for workouts or when the user provides updated input data. On the other hand, theexercise feedback system 100 may perform continuous ongoing calibration over time without manual input, that is, autonomously. - The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
- Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
- Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product including a computer-readable non-transitory medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
- Embodiments of the invention may also relate to a product that is produced by a computing process described herein. Such a product may include information resulting from a computing process, where the information is stored on a non-transitory, tangible computer readable storage medium and may include any embodiment of a computer program product or other data combination described herein.
- Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
Claims (158)
1. A method comprising:
providing information describing a calibration workout to a client device of a user;
receiving a first set of physiological data from a garment worn by the user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing the calibration workout, the garment including a plurality of sensors configured to generate physiological data;
receiving user information from the client device;
determining a calibration value based at least in part on the first set of physiological data and the user information;
receiving a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing a subsequent workout;
modifying the calibration value based on the second set of physiological data; and
providing biofeedback to the client device for communication to the user, the biofeedback generated based on the modified calibration value.
2. The method of claim 1 , wherein the calibration value is further determined based on a perceived user effort corresponding to the calibration workout.
3. The method of claim 2 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data and the perceived user effort.
4. The method of claim 3 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
5. The method of claim 1 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data.
6. The method of claim 5 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
7. The method of claim 5 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
8. The method of claim 5 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
9. The method of claim 1 , further comprising:
receiving bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is further determined based on the bioimpedance data.
10. The method of claim 9 , further comprising:
determining a level of data quality for each of the first set of physiological data and the second set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the levels of data quality.
11. The method of claim 1 , further comprising:
receiving heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is further determined based on the heart rate information.
12. The method of claim 1 , further comprising:
determining a confidence level of the calibration value based at least in part on the calibration workout;
determining a difference between an amplitude of a data subset of the second set of physiological data and the calibration value; and
modifying the confidence level based on the difference of the amplitude of the data subset and the calibration value.
13. The method of claim 12 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
14. The method of claim 12 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
15. The method of claim 1 , wherein the biofeedback indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
16. The method of claim 1 , further comprising modifying additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
17. The method of claim 1 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
18. The method of claim 1 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first or second set of physiological data, and another set of physiological data corresponding to a group of other users.
19. The method of claim 1 , wherein the user information is received from a third party application associated with the client device of the user.
20. A method comprising:
receiving user information from a client device of a user;
determining a calibration value based on a model configured to generate the calibration value based on the user information;
receiving a first set of physiological data from a garment worn by the user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing a workout, the garment including a plurality of sensors configured to generate physiological data;
modifying the calibration value based on the first set of physiological data;
generating biofeedback based on the modified calibration value, the biofeedback indicating a metric of athletic performance of the user; and
providing the biofeedback to the client device for communication to the user.
21. The method of claim 20 , wherein the calibration value is further determined based on a second set of physiological data from a calibration workout and a perceived user effort corresponding to the calibration workout.
22. The method of claim 21 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data and the perceived user effort.
23. The method of claim 22 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
24. The method of claim 20 , wherein the calibration value is further determined based on a second set of physiological data from a calibration workout including at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data.
25. The method of claim 24 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
26. The method of claim 24 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
27. The method of claim 24 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
28. The method of claim 20 , further comprising:
receiving bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is further determined based on the bioimpedance data.
29. The method of claim 28 , further comprising:
determining a level of data quality of the first set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the level of data quality.
30. The method of claim 20 , further comprising:
receiving heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is further determined based on the heart rate information.
31. The method of claim 20 , further comprising:
determining a confidence level of the calibration value based at least in part on the user information;
determining a difference between an amplitude of a data subset of the first set of physiological data and the calibration value; and
modifying the confidence level based on the difference of the amplitude of the data subset and the calibration value.
32. The method of claim 31 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
33. The method of claim 31 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
34. The method of claim 20 , wherein the biofeedback further indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
35. The method of claim 20 , further comprising modifying additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
36. The method of claim 20 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
37. The method of claim 20 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first set of physiological data, and another set of physiological data corresponding to a group of other users.
38. The method of claim 20 , wherein the user information is received from a third party application associated with the client device of the user.
39. The method of claim 20 , further comprising:
providing information describing a calibration workout to the client device; and
receiving a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing the calibration workout, wherein the calibration value is further determined based on the second set of physiological data.
40. A method comprising:
providing information describing a calibration workout to a client device of a user;
receiving a first set of physiological data from a garment worn by the user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing the calibration workout, the garment including a plurality of sensors configured to generate physiological data;
determining a calibration value based at least in part on the first set of physiological data;
receiving a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing a subsequent workout;
modifying the calibration value based on the second set of physiological data; and
providing biofeedback to the client device for communication to the user, the biofeedback generated based on the modified calibration value.
41. The method of claim 40 , wherein the calibration value is further determined based on a perceived user effort corresponding to the calibration workout.
42. The method of claim 41 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data and the perceived user effort.
43. The method of claim 42 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
44. The method of claim 40 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data.
45. The method of claim 44 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
46. The method of claim 44 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
47. The method of claim 44 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
48. The method of claim 40 , further comprising:
receiving bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is further determined based on the bioimpedance data.
49. The method of claim 48 , further comprising:
determining a level of data quality for each of the first set of physiological data and the second set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the levels of data quality.
50. The method of claim 40 , further comprising:
receiving heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is further determined based on the heart rate information.
51. The method of claim 40 , further comprising:
determining a confidence level of the calibration value based at least in part on the calibration workout;
determining a difference between an amplitude of a data subset of the second set of physiological data and the calibration value; and
modifying the confidence level based on the difference of the amplitude of the data subset and the calibration value.
52. The method of claim 51 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
53. The method of claim 51 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
54. The method of claim 40 , wherein the biofeedback indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
55. The method of claim 40 , further comprising modifying additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
56. The method of claim 40 , further comprising receiving user information from the client device, wherein the calibration value is further determined based on the user information.
57. The method of claim 56 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
58. The method of claim 56 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first or second set of physiological data, and another set of physiological data corresponding to a group of other users.
59. The method of claim 56 , wherein the user information is received from a third party application associated with the client device of the user.
60. A method comprising:
retrieving a calibration value;
receiving a first set of physiological data from a garment worn by a user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing a workout, the garment including a plurality of sensors configured to generate physiological data;
modifying the calibration value based on the first set of physiological data;
generating biofeedback based on the modified calibration value, the biofeedback indicating a metric of athletic performance of the user; and
providing the biofeedback to a client device for communication to the user.
61. The method of claim 60 , wherein the calibration value is determined based on a second set of physiological data from a calibration workout and a perceived user effort corresponding to the calibration workout.
62. The method of claim 61 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data and the perceived user effort.
63. The method of claim 62 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
64. The method of claim 60 , wherein the calibration value is determined based on a second set of physiological data from a calibration workout including at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data.
65. The method of claim 64 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
66. The method of claim 64 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
67. The method of claim 64 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
68. The method of claim 60 , further comprising:
receiving bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is determined based on the bioimpedance data.
69. The method of claim 68 , further comprising:
determining a level of data quality of the first set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the level of data quality.
70. The method of claim 60 , further comprising:
receiving heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is determined based on the heart rate information.
71. The method of claim 60 , further comprising:
determining a confidence level of the calibration value;
determining a difference between an amplitude of a data subset of the first set of physiological data and the calibration value; and
modifying the confidence level based on the difference of the amplitude of the data subset and the calibration value.
72. The method of claim 71 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
73. The method of claim 71 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
74. The method of claim 60 , wherein the biofeedback indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
75. The method of claim 60 , further comprising modifying additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
76. The method of claim 60 , further comprising receiving user information from the client device, wherein the calibration value is further determined based on the user information.
77. The method of claim 76 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
78. The method of claim 76 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first set of physiological data, and another set of physiological data corresponding to a group of other users.
79. The method of claim 76 , further comprising:
providing information describing a calibration workout to the client device; and
receiving a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing the calibration workout, wherein the calibration value is further determined based on the second set of physiological data.
80. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
provide information describing a calibration workout to a client device of a user;
receive a first set of physiological data from a garment worn by the user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing the calibration workout, the garment including a plurality of sensors configured to generate physiological data;
receive user information from the client device;
determine a calibration value based at least in part on the first set of physiological data and the user information;
receive a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing a subsequent workout;
modify the calibration value based on the second set of physiological data; and
provide biofeedback to the client device for communication to the user, the biofeedback generated based on the modified calibration value.
81. The method of claim 80 , wherein the calibration value is further determined based on a perceived user effort corresponding to the calibration workout.
82. The method of claim 81 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data and the perceived user effort.
83. The non-transitory computer readable storage medium of claim 82 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
84. The non-transitory computer readable storage medium of claim 80 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data.
85. The non-transitory computer readable storage medium of claim 84 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
86. The non-transitory computer readable storage medium of claim 84 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
87. The non-transitory computer readable storage medium of claim 84 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
88. The non-transitory computer readable storage medium of claim 80 , having further instructions that when executed by the processor cause the processor to:
receive bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is further determined based on the bioimpedance data.
89. The non-transitory computer readable storage medium of claim 88 , having further instructions that when executed by the processor cause the processor to:
determine a level of data quality for each of the first set of physiological data and the second set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the levels of data quality.
90. The non-transitory computer readable storage medium of claim 80 , having further instructions that when executed by the processor cause the processor to:
receive heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is further determined based on the heart rate information.
91. The non-transitory computer readable storage medium of claim 80 , having further instructions that when executed by the processor cause the processor to:
determine a confidence level of the calibration value based at least in part on the calibration workout;
determine a difference between an amplitude of a data subset of the second set of physiological data and the calibration value; and
modify the confidence level based on the difference of the amplitude of the data subset and the calibration value.
92. The non-transitory computer readable storage medium of claim 91 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
93. The non-transitory computer readable storage medium of claim 91 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
94. The non-transitory computer readable storage medium of claim 80 , wherein the biofeedback indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
95. The non-transitory computer readable storage medium of claim 80 , having further instructions that when executed by the processor cause the processor to modify additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
96. The non-transitory computer readable storage medium of claim 80 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
97. The non-transitory computer readable storage medium of claim 80 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first or second set of physiological data, and another set of physiological data corresponding to a group of other users.
98. The non-transitory computer readable storage medium of claim 80 , wherein the user information is received from a third party application associated with the client device of the user.
99. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
receive user information from a client device of a user;
determine a calibration value based on a model configured to generate the calibration value based on the user information;
receive a first set of physiological data from a garment worn by the user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing a workout, the garment including a plurality of sensors configured to generate physiological data;
modify the calibration value based on the first set of physiological data;
generate biofeedback based on the modified calibration value, the biofeedback indicating a metric of athletic performance of the user; and
provide the biofeedback to the client device for communication to the user.
100. The non-transitory computer readable storage medium of claim 99 , wherein the calibration value is further determined based on a second set of physiological data from a calibration workout and a perceived user effort corresponding to the calibration workout.
101. The non-transitory computer readable storage medium of claim 100 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data and the perceived user effort.
102. The non-transitory computer readable storage medium of claim 101 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
103. The non-transitory computer readable storage medium of claim 99 , wherein the calibration value is further determined based on a second set of physiological data from a calibration workout including at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data.
104. The non-transitory computer readable storage medium of claim 103 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
105. The non-transitory computer readable storage medium of claim 103 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
106. The non-transitory computer readable storage medium of claim 103 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
107. The non-transitory computer readable storage medium of claim 99 , having further instructions that when executed by the processor cause the processor to:
receive bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is further determined based on the bioimpedance data.
108. The non-transitory computer readable storage medium of claim 107 , having further instructions that when executed by the processor cause the processor to:
determine a level of data quality of the first set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the level of data quality.
109. The non-transitory computer readable storage medium of claim 99 , having further instructions that when executed by the processor cause the processor to:
receive heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is further determined based on the heart rate information.
110. The non-transitory computer readable storage medium of claim 99 , having further instructions that when executed by the processor cause the processor to:
determine a confidence level of the calibration value based at least in part on the user information;
determine a difference between an amplitude of a data subset of the first set of physiological data and the calibration value; and
modify the confidence level based on the difference of the amplitude of the data subset and the calibration value.
111. The non-transitory computer readable storage medium of claim 110 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
112. The non-transitory computer readable storage medium of claim 110 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
113. The non-transitory computer readable storage medium of claim 99 , wherein the biofeedback further indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
114. The non-transitory computer readable storage medium of claim 99 , having further instructions that when executed by the processor cause the processor to modify additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
115. The non-transitory computer readable storage medium of claim 99 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
116. The non-transitory computer readable storage medium of claim 99 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first set of physiological data, and another set of physiological data corresponding to a group of other users.
117. The non-transitory computer readable storage medium of claim 99 , wherein the user information is received from a third party application associated with the client device of the user.
118. The non-transitory computer readable storage medium of claim 99 , having further instructions that when executed by the processor cause the processor to:
provide information describing a calibration workout to the client device; and
receive a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing the calibration workout, wherein the calibration value is further determined based on the second set of physiological data.
119. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
provide information describing a calibration workout to a client device of a user;
receive a first set of physiological data from a garment worn by the user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing the calibration workout, the garment including a plurality of sensors configured to generate physiological data;
determine a calibration value based at least in part on the first set of physiological data;
receive a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing a subsequent workout;
modify the calibration value based on the second set of physiological data; and
provide biofeedback to the client device for communication to the user, the biofeedback generated based on the modified calibration value.
120. The non-transitory computer readable storage medium of claim 119 , wherein the calibration value is further determined based on a perceived user effort corresponding to the calibration workout.
121. The non-transitory computer readable storage medium of claim 120 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data and the perceived user effort.
122. The non-transitory computer readable storage medium of claim 121 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
123. The non-transitory computer readable storage medium of claim 119 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the first set of physiological data.
124. The non-transitory computer readable storage medium of claim 123 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
125. The non-transitory computer readable storage medium of claim 123 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
126. The non-transitory computer readable storage medium of claim 123 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
127. The non-transitory computer readable storage medium of claim 119 , having further instructions that when executed by the processor cause the processor to:
receive bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is further determined based on the bioimpedance data.
128. The non-transitory computer readable storage medium of claim 127 , having further instructions that when executed by the processor cause the processor to:
determine a level of data quality for each of the first set of physiological data and the second set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the levels of data quality.
129. The non-transitory computer readable storage medium of claim 119 , having further instructions that when executed by the processor cause the processor to:
receive heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is further determined based on the heart rate information.
130. The non-transitory computer readable storage medium of claim 119 , having further instructions that when executed by the processor cause the processor to:
determine a confidence level of the calibration value based at least in part on the calibration workout;
determine a difference between an amplitude of a data subset of the second set of physiological data and the calibration value; and
modify the confidence level based on the difference of the amplitude of the data subset and the calibration value.
131. The non-transitory computer readable storage medium of claim 130 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
132. The non-transitory computer readable storage medium of claim 130 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
133. The non-transitory computer readable storage medium of claim 119 , wherein the biofeedback indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
134. The non-transitory computer readable storage medium of claim 119 , having further instructions that when executed by the processor cause the processor to modify additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
135. The non-transitory computer readable storage medium of claim 119 , having further instructions that when executed by the processor cause the processor to receive user information from the client device, wherein the calibration value is further determined based on the user information.
136. The non-transitory computer readable storage medium of claim 135 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
137. The non-transitory computer readable storage medium of claim 135 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first or second set of physiological data, and another set of physiological data corresponding to a group of other users.
138. The non-transitory computer readable storage medium of claim 135 , wherein the user information is received from a third party application associated with the client device of the user.
139. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor:
retrieve a calibration value;
receive a first set of physiological data from a garment worn by a user, the first set of physiological data describing muscle activation of a plurality of muscles of the user while performing a workout, the garment including a plurality of sensors configured to generate physiological data;
modify the calibration value based on the first set of physiological data;
generate biofeedback based on the modified calibration value, the biofeedback indicating a metric of athletic performance of the user; and
provide the biofeedback to a client device for communication to the user.
140. The non-transitory computer readable storage medium of claim 139 , wherein the calibration value is determined based on a second set of physiological data from a calibration workout and a perceived user effort corresponding to the calibration workout.
141. The non-transitory computer readable storage medium of claim 140 , wherein the calibration workout includes at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the perceived user effort indicating a first effort level for a first set of the at least two sets, and a second effort level for a second set of the at least two sets, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data and the perceived user effort.
142. The non-transitory computer readable storage medium of claim 141 , wherein the calibration value model is trained using data collected from a population of athletes including physiological data associated with different perceived effort levels and target calibration values.
143. The non-transitory computer readable storage medium of claim 139 , wherein the calibration value is determined based on a second set of physiological data from a calibration workout including at least two sets of an exercise associated with at least one muscle of the plurality of muscles, the at least two sets including a first set of a first number of repetitions and a second set of a second number of repetitions, each of the first number of repetitions and the second number of repetitions associated with repetition maximums, and wherein the calibration value is determined based on a calibration value model configured to generate the calibration value based on the second set of physiological data.
144. The non-transitory computer readable storage medium of claim 143 , where the calibration value model is trained using data collected from a population of athletes including physiological data associated with different associated repetition maxima and target calibration values.
145. The non-transitory computer readable storage medium of claim 143 , wherein:
the exercise comprises one of: a kickback, a leg curl, and a squat; and
the at least one muscle of the plurality of muscles comprising at least one of: a gluteus maximus muscle, a hamstring muscle, and a quadriceps muscle.
146. The non-transitory computer readable storage medium of claim 143 , wherein:
the exercise comprises one of: a chest fly, a bent over row, an arm curl, an arm extension, and an arm raise;
the at least one muscle of the plurality of muscles comprising at least one of: a pectoral muscle, a biceps muscle, a triceps muscle, and a deltoids muscle.
147. The non-transitory computer readable storage medium of claim 139 , having further instructions that when executed by the processor cause the processor to:
receive bioimpedance data from the plurality of sensors of the garment, wherein the calibration value is determined based on the bioimpedance data.
148. The non-transitory computer readable storage medium of claim 147 , having further instructions that when executed by the processor cause the processor to:
determine a level of data quality of the first set of physiological data based on the bioimpedance data, wherein the calibration value is further determined based on the level of data quality.
149. The non-transitory computer readable storage medium of claim 139 , having further instructions that when executed by the processor cause the processor to:
receive heart rate information of the user generated by at least one sensor of the plurality of sensors, wherein the calibration value is determined based on the heart rate information.
150. The non-transitory computer readable storage medium of claim 139 , having further instructions that when executed by the processor cause the processor to:
determine a confidence level of the calibration value;
determine a difference between an amplitude of a data subset of the first set of physiological data and the calibration value; and
modify the confidence level based on the difference of the amplitude of the data subset and the calibration value.
151. The non-transitory computer readable storage medium of claim 150 , wherein:
the confidence level is modified based on a non-linear function that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
152. The non-transitory computer readable storage medium of claim 150 , wherein:
the confidence level is modified based on a machine learning model that generates a confidence level value based on the difference of the amplitude of the data subset and the calibration value, the machine learning model trained using feature vectors based on physiological data associated with a population of users that perform exercises; and
modifying the confidence level includes reducing the confidence level by the confidence level value.
153. The non-transitory computer readable storage medium of claim 139 , wherein the biofeedback indicates at least one of: (i) a level of exertion of at least one muscle of the plurality of muscles of the user while performing the subsequent workout, (ii) a level of balance of the user while performing the subsequent workout, (iii) a level of workload of the plurality of muscles while performing the subsequent workout, (iv) a first contribution of a given muscle of the plurality of muscles compared to a second contribution of the plurality of muscles while performing the subsequent workout, (v) a strength progression or regression based on changes to the calibration value over time, and (vi) a comparison of the user and a group of other users.
154. The non-transitory computer readable storage medium of claim 139 , having further instructions that when executed by the processor cause the processor to modify additional biofeedback information based on the modified calibration value, the additional biofeedback information based on the calibration value before it was modified.
155. The non-transitory computer readable storage medium of claim 139 , having further instructions that when executed by the processor cause the processor to receive user information from the client device, wherein the calibration value is further determined based on the user information.
156. The non-transitory computer readable storage medium of claim 155 , wherein the user information describes demographic data of the user, and wherein the calibration value is further determined based on the demographic data.
157. The non-transitory computer readable storage medium of claim 155 , wherein the user information describes at least one of: a performance metric of the user, exercises corresponding to the first set of physiological data, and another set of physiological data corresponding to a group of other users.
158. The non-transitory computer readable storage medium of claim 155 , having further instructions that when executed by the processor cause the processor to:
provide information describing a calibration workout to the client device; and
receive a second set of physiological data from the garment worn by the user, the second set of physiological data describing muscle activation of the plurality of muscles of the user while performing the calibration workout, wherein the calibration value is further determined based on the second set of physiological data.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/381,037 US20170173391A1 (en) | 2015-12-18 | 2016-12-15 | Adaptive calibration for sensor-equipped athletic garments |
US15/762,542 US11097157B2 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
PCT/US2016/067372 WO2017106781A1 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
US17/400,648 US20210370136A1 (en) | 2015-12-18 | 2021-08-12 | Adaptive calibration for sensor-equipped athletic garments |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562269391P | 2015-12-18 | 2015-12-18 | |
US15/356,354 US10357688B2 (en) | 2016-11-18 | 2016-11-18 | Exercise biofeedback using sensor-equipped athletic garments |
US15/381,037 US20170173391A1 (en) | 2015-12-18 | 2016-12-15 | Adaptive calibration for sensor-equipped athletic garments |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2016/067372 Continuation WO2017106781A1 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
US15/762,542 Division US11097157B2 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
US15/762,542 Continuation US11097157B2 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170173391A1 true US20170173391A1 (en) | 2017-06-22 |
Family
ID=59057717
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/381,037 Abandoned US20170173391A1 (en) | 2015-12-18 | 2016-12-15 | Adaptive calibration for sensor-equipped athletic garments |
US15/762,542 Active 2037-05-29 US11097157B2 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
US17/400,648 Abandoned US20210370136A1 (en) | 2015-12-18 | 2021-08-12 | Adaptive calibration for sensor-equipped athletic garments |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/762,542 Active 2037-05-29 US11097157B2 (en) | 2015-12-18 | 2016-12-16 | Adaptive calibration for sensor-equipped athletic garments |
US17/400,648 Abandoned US20210370136A1 (en) | 2015-12-18 | 2021-08-12 | Adaptive calibration for sensor-equipped athletic garments |
Country Status (2)
Country | Link |
---|---|
US (3) | US20170173391A1 (en) |
WO (1) | WO2017106781A1 (en) |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170172466A1 (en) * | 2015-12-21 | 2017-06-22 | Suunto Oy | Activity intensity level determination |
US20180203886A1 (en) * | 2017-01-18 | 2018-07-19 | Microsoft Technology Licensing, Llc | Cleansing of computer-navigable physical feature graph |
WO2019036389A1 (en) * | 2017-08-14 | 2019-02-21 | MAD Apparel, Inc. | Muscle stress measurement in a sensor equipped garment |
US10307644B2 (en) * | 2013-11-05 | 2019-06-04 | Halcyonic, LLC | Virtual competition environment |
US10327673B2 (en) * | 2015-12-21 | 2019-06-25 | Amer Sports Digital Services Oy | Activity intensity level determination |
US10433768B2 (en) | 2015-12-21 | 2019-10-08 | Amer Sports Digital Services Oy | Activity intensity level determination |
US20200170549A1 (en) * | 2017-06-30 | 2020-06-04 | Nokia Technologies Oy | An apparatus and associated methods for determining user activity profiles |
US20200261023A1 (en) * | 2019-02-14 | 2020-08-20 | Athletai Co. | Ascertaining, Reporting, and Influencing Physical Attributes And Performance Factors of Athletes |
WO2021112278A1 (en) * | 2019-12-04 | 2021-06-10 | (주) 로임시스템 | Exercise support device providing target-oriented muscular strength exercise guide ui, exercise support method, computer-readable recording medium storing computer program for implementing exercise support method, and program stored in computer-readable recording medium |
US11097157B2 (en) | 2015-12-18 | 2021-08-24 | MAD Apparel, Inc. | Adaptive calibration for sensor-equipped athletic garments |
US11103750B2 (en) | 2016-11-18 | 2021-08-31 | MAD Apparel, Inc. | Exercise biofeedback using sensor-equipped athletic garments |
US11137820B2 (en) | 2015-12-01 | 2021-10-05 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11144107B2 (en) | 2015-12-01 | 2021-10-12 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11145272B2 (en) | 2016-10-17 | 2021-10-12 | Amer Sports Digital Services Oy | Embedded computing device |
US11179601B2 (en) | 2016-11-18 | 2021-11-23 | MAD Apparel, Inc. | Training program customization using sensor-equipped athletic garments |
US11210299B2 (en) | 2015-12-01 | 2021-12-28 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11215457B2 (en) | 2015-12-01 | 2022-01-04 | Amer Sports Digital Services Oy | Thematic map based route optimization |
US11246531B2 (en) | 2018-05-10 | 2022-02-15 | MAD Apparel, Inc. | Fatigue measurement in a sensor equipped garment |
US11273283B2 (en) | 2017-12-31 | 2022-03-15 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement to enhance emotional response |
US11284807B2 (en) | 2015-12-21 | 2022-03-29 | Amer Sports Digital Services Oy | Engaging exercising devices with a mobile device |
US20220096016A1 (en) * | 2019-02-01 | 2022-03-31 | Nec Corporation | State estimation apparatus, state estimation method, and computer-readable recording medium |
US11364361B2 (en) | 2018-04-20 | 2022-06-21 | Neuroenhancement Lab, LLC | System and method for inducing sleep by transplanting mental states |
US20220211314A1 (en) * | 2021-01-07 | 2022-07-07 | Biosense Webster (Israel) Ltd. | Incorporating a confidence level into an electrophysiological (ep) map |
US11395954B2 (en) | 2020-05-08 | 2022-07-26 | Cheer Match Media, LLC | Methods and apparatus for emulating live performance routine competition conditions without live competition staging |
US11452839B2 (en) | 2018-09-14 | 2022-09-27 | Neuroenhancement Lab, LLC | System and method of improving sleep |
US11521107B2 (en) * | 2019-06-27 | 2022-12-06 | Toyota Jidosha Kabushiki Kaisha | Learning system, rehabilitation support system, method, program, and trained model |
US11541280B2 (en) | 2015-12-21 | 2023-01-03 | Suunto Oy | Apparatus and exercising device |
US20230004917A1 (en) * | 2021-07-02 | 2023-01-05 | Rippleworx, Inc. | Performance Management System and Method |
US11587484B2 (en) | 2015-12-21 | 2023-02-21 | Suunto Oy | Method for controlling a display |
US11607144B2 (en) | 2015-12-21 | 2023-03-21 | Suunto Oy | Sensor based context management |
US11703938B2 (en) | 2016-10-17 | 2023-07-18 | Suunto Oy | Embedded computing device |
US11717686B2 (en) | 2017-12-04 | 2023-08-08 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement to facilitate learning and performance |
US11723579B2 (en) | 2017-09-19 | 2023-08-15 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement |
US20230260619A1 (en) * | 2021-02-19 | 2023-08-17 | Strive Tech Inc. | Algorithmic service and training recommendations based on data, and associated systems and methods |
US11786694B2 (en) | 2019-05-24 | 2023-10-17 | NeuroLight, Inc. | Device, method, and app for facilitating sleep |
US11806579B2 (en) * | 2020-09-16 | 2023-11-07 | Sonador, Inc. | Sports operating system |
US11838990B2 (en) | 2015-12-21 | 2023-12-05 | Suunto Oy | Communicating sensor data in wireless communication systems |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10290227B2 (en) * | 2015-06-08 | 2019-05-14 | Pilates Metrics, Inc. | System for monitoring and assessing subject response to programmed physical training, a method for encoding parameterized exercise descriptions |
US11666278B1 (en) | 2018-04-13 | 2023-06-06 | Justin McKay | Smart athletic wear and related systems and methods |
US10602929B1 (en) | 2018-04-13 | 2020-03-31 | Justin McKay | Smart athletic wear and related method of use |
US10568570B1 (en) | 2019-02-14 | 2020-02-25 | Trungram Gyaltrul Sherpa | Methods and systems for providing a preferred fitness state of a user |
EP4139009A4 (en) | 2020-04-23 | 2024-05-08 | Dynamic Accession LLC | Dynamic motion resistance module |
US11857843B2 (en) | 2020-04-23 | 2024-01-02 | Dynamic Accession LLC | Dynamic motion force sensor module |
FR3111064B1 (en) * | 2020-06-08 | 2022-09-09 | Panoramic Digital Health | method for processing measurements made by a sensor worn by a person |
US11896875B1 (en) | 2022-12-08 | 2024-02-13 | Dynamic Accession, LLC | Dynamic motion force sensor module |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991011221A1 (en) * | 1990-01-31 | 1991-08-08 | Loredan Biomedical, Inc. | Exercise and diagnostic system |
US6823214B1 (en) | 2000-09-08 | 2004-11-23 | Cardiac Pacemakers, Inc. | Self-calibrating rate-adaptive pacemaker |
US6623427B2 (en) * | 2001-09-25 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Biofeedback based personal entertainment system |
US7096061B2 (en) * | 2002-07-03 | 2006-08-22 | Tel-Aviv University Future Technology Development L.P. | Apparatus for monitoring CHF patients using bio-impedance technique |
FI119718B (en) | 2003-12-22 | 2009-02-27 | Suunto Oy | A method of measuring exercise performance |
US7846067B2 (en) | 2004-10-22 | 2010-12-07 | Mytrak Health System Inc. | Fatigue and consistency in exercising |
US7254516B2 (en) | 2004-12-17 | 2007-08-07 | Nike, Inc. | Multi-sensor monitoring of athletic performance |
US20100201512A1 (en) | 2006-01-09 | 2010-08-12 | Harold Dan Stirling | Apparatus, systems, and methods for evaluating body movements |
US9137309B2 (en) * | 2006-05-22 | 2015-09-15 | Apple Inc. | Calibration techniques for activity sensing devices |
EP2028995B1 (en) | 2006-06-02 | 2010-12-08 | Philips Intellectual Property & Standards GmbH | Biofeedback system and display device |
US8750971B2 (en) * | 2007-05-24 | 2014-06-10 | Bao Tran | Wireless stroke monitoring |
US7783442B2 (en) | 2007-10-31 | 2010-08-24 | Medtronic Minimed, Inc. | System and methods for calibrating physiological characteristic sensors |
US8521439B2 (en) * | 2009-05-08 | 2013-08-27 | Pulsar Informatics, Inc. | Method of using a calibration system to generate a latency value |
WO2012040390A2 (en) | 2010-09-21 | 2012-03-29 | Somaxis Incorporated | Methods for assessing and optimizing muscular performance |
US9223936B2 (en) | 2010-11-24 | 2015-12-29 | Nike, Inc. | Fatigue indices and uses thereof |
US9317660B2 (en) | 2011-03-31 | 2016-04-19 | Adidas Ag | Group performance monitoring system and method |
EP2600109A3 (en) * | 2011-11-30 | 2015-03-25 | Sony Ericsson Mobile Communications AB | Method for calibration of a sensor unit and accessory comprising the same |
US9445759B1 (en) | 2011-12-22 | 2016-09-20 | Cercacor Laboratories, Inc. | Blood glucose calibration system |
US20150366504A1 (en) * | 2014-06-20 | 2015-12-24 | Medibotics Llc | Electromyographic Clothing |
US9582072B2 (en) * | 2013-09-17 | 2017-02-28 | Medibotics Llc | Motion recognition clothing [TM] with flexible electromagnetic, light, or sonic energy pathways |
US8945328B2 (en) | 2012-09-11 | 2015-02-03 | L.I.F.E. Corporation S.A. | Methods of making garments having stretchable and conductive ink |
US20150282768A1 (en) * | 2012-09-29 | 2015-10-08 | Aliphcom | Physiological signal determination of bioimpedance signals |
US10143405B2 (en) | 2012-11-14 | 2018-12-04 | MAD Apparel, Inc. | Wearable performance monitoring, analysis, and feedback systems and methods |
US10285617B2 (en) | 2013-06-06 | 2019-05-14 | Lifelens Technologies, Llc | Modular physiologic monitoring systems, kits, and methods |
DE102013211908A1 (en) | 2013-06-24 | 2014-12-24 | Adidas Ag | Apparatus and method for mobile determination of a physiological stress threshold |
US20150088284A1 (en) | 2013-09-25 | 2015-03-26 | Board Of Trustees Of The University Of Alabama | Miniature Surface EMG/EKG |
US9510789B2 (en) * | 2013-10-31 | 2016-12-06 | Roshanak Houmanfar | Motion analysis method |
US10321832B2 (en) | 2013-11-23 | 2019-06-18 | MAD Apparel, Inc. | System and method for monitoring biometric signals |
US10292652B2 (en) | 2013-11-23 | 2019-05-21 | MAD Apparel, Inc. | System and method for monitoring biometric signals |
US10327670B2 (en) | 2014-03-26 | 2019-06-25 | GestureLogic Inc. | Systems, methods and devices for exercise and activity metric computation |
US9782104B2 (en) | 2014-03-26 | 2017-10-10 | GestureLogic Inc. | Systems, methods and devices for acquiring and processing physiological signals |
US20160038083A1 (en) | 2014-08-08 | 2016-02-11 | Orn, Inc. | Garment including integrated sensor components and feedback components |
US10065074B1 (en) | 2014-12-12 | 2018-09-04 | Enflux, Inc. | Training systems with wearable sensors for providing users with feedback |
US9720515B2 (en) | 2015-01-02 | 2017-08-01 | Wearable Devices Ltd. | Method and apparatus for a gesture controlled interface for wearable devices |
US10945629B2 (en) | 2015-03-23 | 2021-03-16 | Repono Pty Ltd | Muscle activity monitoring |
US10362993B2 (en) | 2015-09-14 | 2019-07-30 | MAD Apparel, Inc. | Determining sensor data quality based on bioimpedance information |
US10357688B2 (en) | 2016-11-18 | 2019-07-23 | MAD Apparel, Inc. | Exercise biofeedback using sensor-equipped athletic garments |
US20170173391A1 (en) | 2015-12-18 | 2017-06-22 | MAD Apparel, Inc. | Adaptive calibration for sensor-equipped athletic garments |
US20190029594A1 (en) | 2016-03-30 | 2019-01-31 | Shenzhen Royole Technologies Co. Ltd. | Smart garment and training method |
US11471085B2 (en) | 2016-07-11 | 2022-10-18 | Strive Tech Inc. | Algorithms for detecting athletic fatigue, and associated methods |
US20180133551A1 (en) | 2016-11-16 | 2018-05-17 | Lumo BodyTech, Inc | System and method for personalized exercise training and coaching |
US11179601B2 (en) | 2016-11-18 | 2021-11-23 | MAD Apparel, Inc. | Training program customization using sensor-equipped athletic garments |
US20190046107A1 (en) | 2017-08-14 | 2019-02-14 | MAD Apparel, Inc. | Exercise application based on muscle stress measurement |
US20190046839A1 (en) | 2017-08-14 | 2019-02-14 | MAD Apparel, Inc. | Muscle stress measurement in a sensor equipped garment |
US11246531B2 (en) | 2018-05-10 | 2022-02-15 | MAD Apparel, Inc. | Fatigue measurement in a sensor equipped garment |
US20190344121A1 (en) | 2018-05-14 | 2019-11-14 | MAD Apparel, Inc. | Exercise training adaptation using physiological data |
-
2016
- 2016-12-15 US US15/381,037 patent/US20170173391A1/en not_active Abandoned
- 2016-12-16 US US15/762,542 patent/US11097157B2/en active Active
- 2016-12-16 WO PCT/US2016/067372 patent/WO2017106781A1/en active Application Filing
-
2021
- 2021-08-12 US US17/400,648 patent/US20210370136A1/en not_active Abandoned
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10307644B2 (en) * | 2013-11-05 | 2019-06-04 | Halcyonic, LLC | Virtual competition environment |
US11215457B2 (en) | 2015-12-01 | 2022-01-04 | Amer Sports Digital Services Oy | Thematic map based route optimization |
US11210299B2 (en) | 2015-12-01 | 2021-12-28 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11144107B2 (en) | 2015-12-01 | 2021-10-12 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11137820B2 (en) | 2015-12-01 | 2021-10-05 | Amer Sports Digital Services Oy | Apparatus and method for presenting thematic maps |
US11097157B2 (en) | 2015-12-18 | 2021-08-24 | MAD Apparel, Inc. | Adaptive calibration for sensor-equipped athletic garments |
US11284807B2 (en) | 2015-12-21 | 2022-03-29 | Amer Sports Digital Services Oy | Engaging exercising devices with a mobile device |
US20170172466A1 (en) * | 2015-12-21 | 2017-06-22 | Suunto Oy | Activity intensity level determination |
US10856776B2 (en) * | 2015-12-21 | 2020-12-08 | Amer Sports Digital Services Oy | Activity intensity level determination |
US11838990B2 (en) | 2015-12-21 | 2023-12-05 | Suunto Oy | Communicating sensor data in wireless communication systems |
US11541280B2 (en) | 2015-12-21 | 2023-01-03 | Suunto Oy | Apparatus and exercising device |
US10433768B2 (en) | 2015-12-21 | 2019-10-08 | Amer Sports Digital Services Oy | Activity intensity level determination |
US10327673B2 (en) * | 2015-12-21 | 2019-06-25 | Amer Sports Digital Services Oy | Activity intensity level determination |
US11587484B2 (en) | 2015-12-21 | 2023-02-21 | Suunto Oy | Method for controlling a display |
US11607144B2 (en) | 2015-12-21 | 2023-03-21 | Suunto Oy | Sensor based context management |
US11145272B2 (en) | 2016-10-17 | 2021-10-12 | Amer Sports Digital Services Oy | Embedded computing device |
US11703938B2 (en) | 2016-10-17 | 2023-07-18 | Suunto Oy | Embedded computing device |
US11103750B2 (en) | 2016-11-18 | 2021-08-31 | MAD Apparel, Inc. | Exercise biofeedback using sensor-equipped athletic garments |
US11179601B2 (en) | 2016-11-18 | 2021-11-23 | MAD Apparel, Inc. | Training program customization using sensor-equipped athletic garments |
US20180203886A1 (en) * | 2017-01-18 | 2018-07-19 | Microsoft Technology Licensing, Llc | Cleansing of computer-navigable physical feature graph |
US20200170549A1 (en) * | 2017-06-30 | 2020-06-04 | Nokia Technologies Oy | An apparatus and associated methods for determining user activity profiles |
WO2019036389A1 (en) * | 2017-08-14 | 2019-02-21 | MAD Apparel, Inc. | Muscle stress measurement in a sensor equipped garment |
US11723579B2 (en) | 2017-09-19 | 2023-08-15 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement |
US11717686B2 (en) | 2017-12-04 | 2023-08-08 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement to facilitate learning and performance |
US11273283B2 (en) | 2017-12-31 | 2022-03-15 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement to enhance emotional response |
US11318277B2 (en) | 2017-12-31 | 2022-05-03 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement to enhance emotional response |
US11478603B2 (en) | 2017-12-31 | 2022-10-25 | Neuroenhancement Lab, LLC | Method and apparatus for neuroenhancement to enhance emotional response |
US11364361B2 (en) | 2018-04-20 | 2022-06-21 | Neuroenhancement Lab, LLC | System and method for inducing sleep by transplanting mental states |
US11246531B2 (en) | 2018-05-10 | 2022-02-15 | MAD Apparel, Inc. | Fatigue measurement in a sensor equipped garment |
US11452839B2 (en) | 2018-09-14 | 2022-09-27 | Neuroenhancement Lab, LLC | System and method of improving sleep |
US20220096016A1 (en) * | 2019-02-01 | 2022-03-31 | Nec Corporation | State estimation apparatus, state estimation method, and computer-readable recording medium |
US20200261023A1 (en) * | 2019-02-14 | 2020-08-20 | Athletai Co. | Ascertaining, Reporting, and Influencing Physical Attributes And Performance Factors of Athletes |
US11786694B2 (en) | 2019-05-24 | 2023-10-17 | NeuroLight, Inc. | Device, method, and app for facilitating sleep |
US11521107B2 (en) * | 2019-06-27 | 2022-12-06 | Toyota Jidosha Kabushiki Kaisha | Learning system, rehabilitation support system, method, program, and trained model |
WO2021112278A1 (en) * | 2019-12-04 | 2021-06-10 | (주) 로임시스템 | Exercise support device providing target-oriented muscular strength exercise guide ui, exercise support method, computer-readable recording medium storing computer program for implementing exercise support method, and program stored in computer-readable recording medium |
US11673037B2 (en) | 2020-05-08 | 2023-06-13 | Cheer Match Media, LLC | Emulation of live performance routine competition conditions without live competition staging methods and apparatus |
US11395954B2 (en) | 2020-05-08 | 2022-07-26 | Cheer Match Media, LLC | Methods and apparatus for emulating live performance routine competition conditions without live competition staging |
US11806579B2 (en) * | 2020-09-16 | 2023-11-07 | Sonador, Inc. | Sports operating system |
US11478182B2 (en) * | 2021-01-07 | 2022-10-25 | Biosense Webster (Israel) Ltd. | Incorporating a confidence level into an electrophysiological (EP) map |
US20220211314A1 (en) * | 2021-01-07 | 2022-07-07 | Biosense Webster (Israel) Ltd. | Incorporating a confidence level into an electrophysiological (ep) map |
US20230260619A1 (en) * | 2021-02-19 | 2023-08-17 | Strive Tech Inc. | Algorithmic service and training recommendations based on data, and associated systems and methods |
US20230004917A1 (en) * | 2021-07-02 | 2023-01-05 | Rippleworx, Inc. | Performance Management System and Method |
Also Published As
Publication number | Publication date |
---|---|
WO2017106781A1 (en) | 2017-06-22 |
US20190076699A1 (en) | 2019-03-14 |
US11097157B2 (en) | 2021-08-24 |
US20210370136A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210370136A1 (en) | Adaptive calibration for sensor-equipped athletic garments | |
US20220016483A1 (en) | Training program customization using sensor-equipped athletic garments | |
US20220249937A1 (en) | Method and system of optimizing and personalizing resistance force in an exercise | |
US11103750B2 (en) | Exercise biofeedback using sensor-equipped athletic garments | |
US11246531B2 (en) | Fatigue measurement in a sensor equipped garment | |
KR102531930B1 (en) | Method of providing training using smart clothing having electromyography sensing function and weight apparatus and training providing service system training using the same | |
US20200151595A1 (en) | Automated training and exercise adjustments based on sensor-detected exercise form and physiological activation | |
US20190344121A1 (en) | Exercise training adaptation using physiological data | |
US20190046839A1 (en) | Muscle stress measurement in a sensor equipped garment | |
US20190046107A1 (en) | Exercise application based on muscle stress measurement | |
US11234653B2 (en) | Determining sensor data quality based on bioimpedance information | |
US20180133551A1 (en) | System and method for personalized exercise training and coaching | |
KR102403364B1 (en) | Method and apparatus of providing exercise program based on feedback | |
US20160249832A1 (en) | Activity Classification Based on Classification of Repetition Regions | |
O'Reilly et al. | Technology in strength and conditioning: assessing bodyweight squat technique with wearable sensors | |
JP6980249B2 (en) | Exercise equipment, controls, and programs | |
EP3391809A1 (en) | Fitness level prediction device, system and method | |
WO2016157217A2 (en) | Technological device to assist user in workouts and healthy living | |
KR101534811B1 (en) | exercise prescription present method on network using of estimation of physical fitness and the system | |
US20230210402A1 (en) | Methods and devices for motion monitoring | |
WO2019036389A1 (en) | Muscle stress measurement in a sensor equipped garment | |
KR102604544B1 (en) | Method, apparatus and program for providing physical firness management service based on physical fitness test items | |
KR102668498B1 (en) | Method, apparatus and program for exercise management service based on exercise video | |
US20230039042A1 (en) | Muscle activation, and associated algorithms, systems and methods | |
US20230201667A1 (en) | Artificial intelligence workout guide apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MAD APPAREL, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WIEBE, CHRISTOPHER JOHN;JANG, SEUNGHEE;JAYALATH, DHANANJA PRADHAN;AND OTHERS;REEL/FRAME:040844/0589 Effective date: 20161222 |
|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |