This repository contains my coursework as 3rd year BSc in HSE. I had to create a web app, which helps sportsmen to count their movements during the workout.
Also checkout my Medium writeup regarding this problem:
Here
For this purpose I combined the Dense Optical Flow algorithm with a simple CNN network written in PyTorch. As you can see, it is pretty easy to get the idea of what one push-up is, if we look at how frames are converted to Dense Optical Flow representation in my algorithm.
Thus, Dense Optical Flow converts frames to color coded representation, and CNN solves a multiclass problem, which is to classify each frame as move down, move up or not a move.
To wrap my algorithm in something which can really work I also created a web interface using django, here is how it looks like.
To run the web app follow the instructions below.
- Clone the repo and run
pip -r install requirements.txt
cd WorkoutApp/
- Run the app with
python manage.py runserver
- Choose the predefined workout and test!