workout-movement-counting icon indicating copy to clipboard operation
workout-movement-counting copied to clipboard

Counting number of movements during workout using Deep Learning and Computer Vision techniques

Workout Movement Counting App using Dense Optical Flow and Convolutional Neural Networks

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.

Instructions

  1. Clone the repo and run pip -r install requirements.txt
  2. cd WorkoutApp/
  3. Run the app with python manage.py runserver
  4. Choose the predefined workout and test!