Skip to content

tapmateus/the-jerker

Repository files navigation

The Jerker: Olympic Weightlifting Analysis with Machine Learning

Image

Overview

The objective with this project was to build a tool to help an Olympic Wigthlifting Athlete to optimize the efficiency of their movements using Machine Learning models to analyze critical points of the technique and use it as an indicator to assess their technical work. The tool is is used to analyze two aspects: the bar trajectory and the the athlet's triple extension.

This tool was built for Ironhack's Data Analytics Final Project.

Technical Requirements

The requirements to run the code are in the requirements.txt. To install those packages just run:

pip install -r requirements.txt

I'll hightlight some:

  • YOLOv8: used for object detections and tracking so the bar path trajectory line drawing was possible;
  • MediPipe: used for pose estimations so to analyze the body positioning that would allow to calculate angles between joints and therefore check if triple extension is performed or not;
  • OpenCV: the Open Computer Vision library supports both YOLO and Mediapipe for processing the video with the overlays for the desired analsysis;
  • Streamlit: Also played around with Streamlit to idealize a possible future App.

Tools

Bar Trajectory

YOLOv8 pre-trained model for object detection and tracking supported by OpenCV allows to make this type of observation and analysis:

Trajectory

Triple Extension Checker

MediaPipe's pose estimator allowed to track ankles, kness and hips coordinates and then calculate the angle on the with a function made apart from this. You'll get an observation like this one (one close to extended but no extended, one perfectly extended):

Not Extended Extended
Not Extended Extended

2 Additional Features

Added the NO Half Rep! tool to check if the squat "breaks the parellel", also using MediaPipe pose estimator.

Also added a 1-Rep Max Calculator to calculate the Rep Max giving the number of repetions done in a certain weight, assuming that's the maximum effort.

Future Improvements

  • Train my own models for plates detection only. YOLO worked fairly well on this one because it's trained to detect objects with similar shapes but the accuracy detection could increase;
  • Build an App that takes as an input a recording of a movement done in a training session and output the analysis asked to help athlets and coaches to anylize and know how to aproach their technique work.

Resources

YOLOv8 Documentation: Plot tracks over multiple video frames

MediaPipe Documentation: Pose landmark detection guide

Youtube: AI Pose Estimation with Python and MediaPipe | Plus AI Gym Tracker Project

How To Calculate and Use Your 1-Rep Max

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors