Workout: Using a Wearable Sensor to Find, Recognize, and Count Repetitive Exercises

Although numerous devices exist to track and share exercise routines based on running and walking, these devices offer limited functionality for strength-training exercises. We introduce a system for automatically tracking repetitive exercises – such as weight training and calisthenics – via an arm-worn inertial sensor. Our goal is to provide real-time and post-workout feedback, with no user-specific training and no intervention during a workout. Toward this end, we address three challenges:

(1) Segmenting exercise from intermittent non-exercise periods
(2) Recognizing which exercise is being performed
(3) Counting repetitions

We present cross-validation results on our training data and results from a study assessing the final system, totaling 114 participants over 146 sessions. We achieve precision and recall greater than 95% in identifying exercise periods, recognition of 99%, 98%, and 96% on circuits of 4, 7, and 13 exercises respectively, and counting that is accurate to ±1 repetition 93% of the time. These results suggest that our approach enables a new category of fitness tracking devices.

The automatic counting portion of this work shipped as part of the Microsoft Band (opens in new tab).

Data from this project is available on GitHub (opens in new tab).


Random images with cool wavy lines:

workout_ss_250 reco300
signal_300 peaks300




Portrait of Scott Saponas

Scott Saponas

Senior Director

Portrait of Ilya Kelner

Ilya Kelner

Electrical Engineer

Portrait of Andrew Guillory

Andrew Guillory

Research Intern