A workout trainer Dash/Flask app that helps track your HIIT workouts by analyzing real-time video streaming from your sweet Pi using machine learning and Edge TPU..
HIIT PI is a Dash app that uses machine learning (specifically pose estimation) on edge devices to help track your HIIT workout progress in real time (~30fps). The backend runs everything locally on a Raspberry Pi while you interact with the app wherever there is a web browser connecting to the same local network as the Pi does.
SSH into your Raspberry Pi and clone the repository.
Install Docker & Docker Compose.
Build our Docker images and spawn up the containers with
$ docker-compose -d --build up
(Optional) For maximum performance, swap the standard Edge TPU runtime library libedgetpu1-legacy-std
with libedgetpu1-legacy-max
web-hiitpi
by
$ docker exec -it web-hiitpi bash
$ DEBIAN_FRONTEND=dialog apt-get install -y libedgetpu1-legacy-max
Note: select yes
and hit ENTER
in the interactive installation process.
web
service after the above install finishes
$ docker-compose restart web
Go to <your_pis_ip_address>:8050
on a device in the same LAN as the Pi's, and then enter a player name in the welcome page to get started.
The live-updating line graphs show the model inferencing time (~50fps) and pose score frame by frame, which indicates how likely the camera senses a person in front.
Selecting a workout from the dropdown menu starts a training session, where your training session stats (reps
& pace
) are updating in the widgets below as the workout progresses. Tap the DONE!
button to complete the session, or EXIT?
to switch a player. Click LEADERBOARD
to view total reps accomplished by top players.