/hiitpi

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..

Primary LanguagePythonMIT LicenseMIT

HIIT PI

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.

How it works

Hardwares

Softwares

Usage guides

  1. SSH into your Raspberry Pi and clone the repository.
  2. Set up a working environment with dependencies listed above before running the app by
    $ python app.py
    
  3. 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.
  4. 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.
  5. 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.

Notes

  • This project currently has implemented a couple of workouts to play with, and we're planning to add more later.