personal-web-image-assets/machine-learning/repetition-counter/image1
personal-web-image-assets/machine-learning/repetition-counter/image2
personal-web-image-assets/machine-learning/repetition-counter/image3
personal-web-image-assets/machine-learning/repetition-counter/image4
personal-web-image-assets/machine-learning/repetition-counter/image5
personal-web-image-assets/machine-learning/repetition-counter/image6
Introduction
The purpose of this app is to counting repetition for specific exercise that user selected and track total number of repetition had been performed by user.
The app accept either a pre-record video clip or stream from camera. By these two options, users is able to use pre-record video clip to count repetition for their exercise or use stream from camera to achieve real-time exercise repetition counting.

Motivation & Purpose
Counting exercise repetition required human intervention either self or other person in order to properly track number of repetition of an exercise been performed. Person who is responsible for counting repetition might miss or neglect count accidently or due to human error that counting incompleted exercise into final sum of repetitions. As result final total repetitions for an exercise is incorrect.
The app can be used as an assistant tool to help exerciser to tracked number of exercise repetition had been performed. As result reduce human intervention and human errors.

More
There are 2 primary methods involved to develop the app. First is deep learning model which can track human body joints per frame. Second is signal processing that is used to determine exercise repetition.
There are two options for video source:
    1. Video clip : A pre-record video clip
    2. Camera : Real-Time video stream from camera
Frameworks were used to build this app:
    🧰 Tensorflow : Deep learning framework for the model
    🧰 ONNX Runtime : Deep learning model inference on device
    🧰 PyQt : Application interface

Note
    ❗️ Dynamic environment lighting could interfere and degrade the app overall performance
    ❗️ The app target only one exerciser not multiple
    ❗️ The app tolrate certain level of human body outside of camera but can decrease performance if too much

Support platform
    🖥 MacOSX
    🖥 Windows
    🖥 Linux
Download