Athletic Posture Optimisation

The growing popularity of fitness and exercise has led to a significant rise in injuries resulting from poor posture.  Hence, this project proposes Athletic Posture Optimisation (APO), which is an application developed with the goal of ensuring posture during exercise in real time, thus reducing the risk of injury. The application has been designed with the intention of being utilised by any individual engaging in physical activity or fitness training. It could also be used for the analysis of various exercises.

The first stage in the development process of the application was the compilation of a dataset of images. Depending on the exercise or technique being analysed, the images included in the dataset would portray an individual carrying out the particular exercise. The larger the dataset, the higher the accuracy of the results that would be eventually presented to the user.

The second step in the development of APO was the application of a pose-detection framework, in order to accurately identify key landmarks on the body. The key joint movements to be analysed would be identified according to the choice of exercise. Additionally, the landmarks corresponding to those joint movements would be extracted using the pose-detection algorithm. Once everything was set up, the dataset was processed through the said algorithm. Subsequently, the values for the joint movements were calculated and, following a thorough research on the appropriate values for each joint movement, they were classified as optimal, average, or bad.

The third and final stage of the development process was the real-time classification stage. In this phase, a live-camera feed captured the user performing the exercise being analysed, with visual feedback being provided on the spot. This is was achieved by applying 3 classification algorithms, namely: k-nearest neighbor, Naive Bayes, and logistic regression. All three algorithms were trained using the values and the respective labels obtained beforehand from the dataset preprocessing stage. Once the training of the algorithms was completed, the pose-detection algorithm identified the key landmarks from the real-time feed and calculated the values of the corresponding joint movements. These values were fed into the classification algorithms and, following a comparison with the training data and labels, a predicted label was generated for each joint movement.  Using 3 different classification algorithms made it possible to compare the generated labels and ensuring that they match. This allowed the software to produce more precise results, increasing the chances of correct data being returned to the end-user.

In providing users with real-time feedback on their posture, Athletic Posture Optimisation has the potential to significantly decrease the risk of injury during exercise. Thanks to its simple and intuitive interface, precise pose detection, and its ability to classify posture effectively and precisely, this application promises to be a crucial, yet simple, tool for anybody wishing to engage in physical activity, with the reassurance of minimal risk of injury. 

Figure 1. Sample screenshot of the application, featuring the squat pose

Student: Matthew Scerri
Supervisor: Prof. Matthew Montebello