Skip to main content

Personal AI Trainer Part 1 - Project Introduction

Staying at home for long periods of time can become boring, especially when most fun activities are done outdoors. Still, this is not an excuse to be unproductive and the extra available time is an excellent opportunity to work on your own health. Typical gyms come with a variety of equipment and trainers who can tell you what to do. The lack of these in one's home can often be the culprit that stops them from working out. Wouldn't it be great if there existed a personal trainer that could generate workouts for you at home? What if it could also count the repetitions of each exercise so that you can put all your concentration and energy to do one more push up?

Just to get an idea of the kind of interaction you could have with such an assistant, let's have a look at the imaginary scenario below, on the left of which is you (still a stick figure, but soon a six-pack owner) and on the right is your personal AI trainer - Mike Wazowski from Monsters, Inc. As a side note, the choice of having Mike might seem arbitrary, but actually, some consideration went into it:

  1. Mike is an easily recognisable name by automatic speech recognition systems, so it can be used as a triggering word.
  2. Mike has a relatively big body that could be 3D printed and fit a Jetson Nano, and only one eye, in which a camera could be integrated.
  3. Mike looks cheering with his smile, tiny hands and bumps on his biceps which is a mood-booster.


Also, thank you for ignoring my lack of drawing skills.

pushups cartoon

Technical Implementation

I hope this made the idea of the project clear, now let's see how this could be implemented. Nearly all of the tasks required for this project are currently being heavily researched, and state-of-the-art performance is usually achieved using deep neural networks. These tasks include automatic speech recognition (converting speech to text), body pose estimation, and speech synthesis (converting text to speech). The Nvidia Jetson Nano is a portable computer (similar to a Raspberry Pi) that is capable of quickly executing neural network models. The plan for this project is to have a hardware setup, similar to the one below. The Jetson Nano will be responsible for running neural network models in real-time to allow the functionality of the personal AI trainer described above.


This article was a bit different - it wasn't highly technical and it discussed the idea about a project I have and a very rough plan for how it could be executed. In a follow-up series of articles, I will walk you through the progress of the project - from building the separate building blocks, such as speech recognition and repetition counting, through a proof-of-concept, to a finished product that anyone could easily reproduce. Stay tuned in the coming weeks if you liked the idea!

See Part 2 for Speech Synthesis and Recognition

I have a BEng in Electrical & Electronic Engineering and an MSc in Artificial Intelligence. I like to combine knowledge from both fields in my work. In short, I make computers walk, talk, hear, see and understand.