MACHINE LEARNING POWERLIFTING TRAINING SYSTEM

A powerlifting training method is disclosed. The method may include obtaining a powerlifting video associated with a user from a user device. The powerlifting video may include a plurality of frames. The method may further include obtaining a plurality of body identification data associated with each frame from a server. Further, the method may include generating a plurality of feature maps associated with the plurality of frames by using a first trained machine learning module. The method may additionally include merging the plurality of body identification data and the plurality of feature maps to create a merged dataset. The method may further include determining, via a second trained machine learning module, one or more recommendations based on the merged dataset. Furthermore, the method may include transmitting the recommendations to the user device.

TECHNICAL FIELD

The present disclosure relates to a powerlifting training system, and more particularly, to a machine learning powerlifting training system that provides recommendations to a user to enhance a powerlifting activity and mitigate user muscle imbalance.

BACKGROUND

Many users regularly exercise or perform physical activities such as running, cycling, rowing, etc. to stay healthy. Some users also engage in specialized physical activities such as powerlifting to build muscles. Such users typically hire professional trainers who train and guide the users, when the users engage in powerlifting activities. While the professional trainers may be effective in providing customized training and feedback to the users, such trainers are generally expensive and not easily accessible.

The users who do not hire professional trainers typically perform the powerlifting activities by self-education, e.g., by watching powerlifting videos on the Internet. Performing powerlifting activities based on self-education may be harmful and the users may get injured in the absence of correct training and feedback. Specifically, powerlifting videos on the Internet are typically generic in nature and are not customized for each user's physiology or body type. Performing powerlifting activities by watching generic training videos may result in ineffective training, or in some scenarios injury to the users.

Thus, there exists a need for a system and method to provide effective powerlifting training to users.

DETAILED DESCRIPTION

Overview

The present disclosure describes a powerlifting training system and method that may assist a user in improving a powerlifting activity being performed by the user and/or mitigating user muscle imbalance(s). The system may receive a video (e.g., a powerlifting video) of the user performing the powerlifting activity from a user device. The powerlifting activity may be, for example, squats, deadlift, bench, and/or the like. Responsive to receiving the video, the system may transmit the video to an external server, which may analyze the video and transmit a plurality of body identification data to the system. In an exemplary aspect, the plurality of body identification data may include X, Y, Z coordinate locations (e.g., pixel coordinates) of each user body part in each frame of the powerlifting video. The system may determine velocity data and angular displacement data associated with each body part when the user may be performing the powerlifting activity by using the plurality of body identification data.

In addition, the system may execute a first trained machine learning module to generate a plurality of feature maps associated with each frame of the powerlifting video. Responsive to generating the plurality of feature maps, the system may fuse or merge the plurality of feature maps and the body identification data to create a merged dataset. The system may then execute a second trained machine learning module and analyze the merged database to determine one or more anomalies in the powerlifting activity being performed by the user and/or one or more muscle imbalances that the user may have, based on the analysis.

Responsive to determining the anomalies in the powerlifting activity, the system may determine one or more improvement recommendations for the user to improve/enhance the powerlifting activity. In a similar manner, responsive to determining the muscle imbalance(s), the system may determine one or more mitigation recommendations for the user to mitigate the muscle imbalance(s). The system may transmit the improvement recommendations and/or the mitigation recommendations to the user device for the user to view and implement the recommendations.

In further aspects, the system may execute the second trained machine learning module and calculate a powerlifting score associated with the powerlifting activity, based on the analysis of the merged dataset. The system may transmit the calculated powerlifting score to the user device, in addition to transmitting the improvement recommendations and/or the mitigation recommendations.

In additional aspects, the system may obtain inputs from a Light Detection and Ranging (lidar) sensor and/or an inertial measurement unit (IMU) and determine recommendations and/or powerlifting score for the user with a higher confidence based on the obtained inputs. In this case, the system may fuse the merged dataset and the obtained inputs to determine the recommendations and/or the powerlifting score.

The present disclosure discloses a powerlifting system and method. The system provides recommendations to improve the powerlifting activity based on the powerlifting video provided by the user. Therefore, the recommendations are customized for each user and user's physiology. The system further provides recommendations to mitigate user muscle imbalances, thereby enabling the user to enhance the powerlifting activity over a time duration. The system provides real-time feedback and improvement recommendations to the user when the user performs the powerlifting activity, thereby eliminating the need for the user to hire a professional trainer.

These and other advantages of the present disclosure are provided in detail herein.

Illustrative Embodiments

FIG.1depicts an example environment100in which techniques and structures for providing the systems and methods disclosed herein may be implemented. The environment100may include a powerlifting training system102and a user device104communicatively coupled with each other via one or more networks106(or a network106). The user device104may be, for example, a mobile phone, a laptop, a computer, a tablet, a smartwatch, or any other device with communication capabilities.

The network106may be, for example, a communication infrastructure in which the connected devices discussed in various embodiments of this disclosure may communicate. The network106may be and/or include the Internet, a private network, public network or other configuration that operates using any one or more known communication protocols such as, for example, transmission control protocol/Internet protocol (TCP/IP), Bluetooth®, BLE®, Wi-Fi based on the Institute of Electrical and Electronics Engineers (IEEE) standard 802.11, UWB, and cellular technologies such as Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), High Speed Packet Access (HSPDA), Long-Term Evolution (LTE), Global System for Mobile Communications (GSM), and Fifth Generation (5G), to name a few examples.

The powerlifting training system102(or system102), as described herein, can be implemented in hardware, software (e.g., firmware), or a combination thereof. The system102may be hosted on one or more servers (not shown) and may provide an online platform or an application (“app”) that may facilitate a user to transmit an exercise video to the system102and receive feedback on the exercise activity from the system102. The system102may be an Artificial Intelligence (AI)/Machine Learning (ML) based system that may analyze the received exercise video by using one or more AI/ML based algorithms and determine one or more anomalies in the exercise video and/or one or more muscle imbalances that the user may have, based on the video analysis. The system102may further determine and transmit, to a user device, recommendations to enhance the exercise activity based on the determined anomalies and recommendations to mitigate the determined muscle imbalance(s).

Specifically, a user108(or any other person) may capture a video of the user108performing the exercise activity by using the user device104or any other video capturing device (e.g., a camera installed in the environment in which the user108may be performing the exercise activity). In an exemplary aspect, the user108may be performing a powerlifting activity, e.g., a squat, a deadlift, bench, and/or the like, as shown in view110ofFIG.1. The user108may transmit the exercise/powerlifting video, via the user device104and the network106, to the system102.

Responsive to receiving the powerlifting video, the system102may transmit the powerlifting video to an external server (shown as server204inFIG.2) that may perform image processing on the powerlifting video and identify a plurality of body identification data associated with the user108and the powerlifting video. The concept of body identification data is described in detail in conjunction withFIGS.2and4. Responsive to identifying the plurality of body identification data, the external server may transmit the plurality of body identification data to the system102.

The system102may obtain the plurality of body identification data from the external server. In addition, the system102may execute instructions stored in a trained machine learning module (e.g., a first trained machine learning module that may be pre-stored in a system memory) and generate a plurality of feature maps/vector maps associated with each frame of the powerlifting video. Responsive to generating the feature maps, the system102may merge or fuse the body identification data with the feature maps to create a merged dataset for each frame of the powerlifting video.

The system102may then execute instructions stored in a second trained machine learning module to analyze the merged dataset and determine one or more anomalies in the powerlifting video and/or one or more muscle imbalances that the user may have, as described above. In some aspects, the second trained machine learning module may be trained by using a labeled training data that may include information associated with a plurality of correct or “good” powerlifting videos and a plurality of incorrect or “bad” powerlifting videos. The system102may additionally calculate, by using the instructions stored in the second trained machine learning module, a powerlifting score associated with the powerlifting video based on the determined one or more anomalies. Furthermore, the system102may determine one or more recommendations to enhance the powerlifting activity and mitigate the determined muscle imbalance(s) based on the analysis of the merged database and the instructions stored in the second trained machine learning module.

The system102may then transmit the recommendations and/or the powerlifting score to the user device104, via the network106, for the user108to view and implement the recommendations to enhance the powerlifting activity (e.g., to improve the deadlift). In this manner, the system102may facilitate the user108in receiving feedback on the powerlifting activity that the user108may be performing and improve the activity, without requiring assistance from a professional trainer. Further, since the system102provides the recommendations and/or the powerlifting score based on the powerlifting video associated with the user108, the recommendations and/or the powerlifting score are customized according to user's physiology, and hence is not “generic” in nature.

Functional details of the system102are described below in conjunction withFIG.2.

FIG.2depicts a block diagram of an example powerlifting training system200in accordance with the present disclosure. The system200may be same as the system102described above in conjunction withFIG.1. While describingFIG.2, references may be made toFIGS.3-5.

The system200may be communicatively connected with a user device202and one or more server(s)204(or a server204) via a network206. The user device202may be same as the user device104and the network206may be same as the network106. The server204may be same as the external server described above in conjunction withFIG.1, which provides the plurality of data identification data to the system200. The concept of data identification data is described later in the description below.

The system200may include one or more components or units including, but not limited to, a transceiver208, a processor210and a memory212. In some aspects, the memory212may store programs in code and/or store data for performing various system operations in accordance with the present disclosure. Specifically, the processor210may be configured and/or programmed to execute computer-executable instructions stored in the memory212for performing various system functions in accordance with the disclosure. Consequently, the memory212may be used for storing code and/or data code and/or data for performing operations in accordance with the present disclosure.

In one or more aspects, the processor210may be disposed in communication with one or more memory devices (e.g., the memory212and/or one or more external databases (not shown inFIG.2)). The memory212can include any one or a combination of volatile memory elements (e.g., dynamic random-access memory (DRAM), synchronous dynamic random access memory (SDRAM), etc.) and can include any one or more nonvolatile memory elements (e.g., erasable programmable read-only memory (EPROM), flash memory, electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), etc.).

The memory212may be one example of a non-transitory computer-readable medium and may be used to store programs in code and/or to store data for performing various operations in accordance with the present disclosure. The instructions in the memory212can include one or more separate programs, each of which can include an ordered listing of computer-executable instructions for implementing logical functions.

In some aspects, the memory212may include a plurality of modules and databases including, but not limited to, a video database214, a body identification data database216, a first trained machine learning module218, training data220, a machine learning module222, and a second trained machine learning module224.

The video database214may be configured to store one or more videos that the system200may receive from external devices, e.g., the user device202. The body identification data database216may be configured to store the plurality of body identification data that the system200may receive from the server204. The training data220may include a plurality of correct or “good” powerlifting videos and a plurality of incorrect or “bad” powerlifting videos. The training data220may further include data correlating one or more muscle imbalances with the plurality of good and bad powerlifting videos. The training data220is described later in the description below in conjunction withFIG.3.

The first trained machine learning module218, the machine learning module222, and the second trained machine learning module224, as described herein, may be stored in the form of computer-executable instructions, and the processor210may be configured and/or programmed to execute the stored computer-executable instructions for performing system functions in accordance with the present disclosure. In some aspects, the system200may obtain the first trained machine learning module218from one or more external servers (not shown) and may store the first trained machine learning module218in the memory212. In some aspects, the first trained machine learning module218may be associated with a neural network algorithm that may assist the processor210in generating feature maps for each frame of a video.

Further, the system200may “train” the second trained machine learning module224by using the machine learning module222, the training data220and one or more inputs or feedbacks provided by a system operator to the system200over time. The concept of training the second trained machine learning module224may be understood by using the description below and the block diagram depicted inFIG.3. Specifically,FIG.3depicts an example data flow300of supervised machine learning for optimizing powerlifting recommendations in accordance with the present disclosure.

A person ordinarily skilled in the art may appreciate that machine learning is an application of Artificial Intelligence (AI) using which systems (e.g., the system200) may have the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning focuses on use of data and algorithms to imitate the way humans learn. In some aspects, the machine learning algorithms may be created to make classifications and/or predictions. Machine learning based systems may be used for a variety of applications including, but not limited to, speech recognition, email filtering, image or video processing and recommendation-generation based on image/video processing, and/or the like.

Machine learning may be of various types based on data or signals available to the learning system. For example, the machine learning approach may include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The supervised learning is an approach that may be supervised by a human. In this approach, the machine learning algorithm may use labeled training data and defined variables. In the case of supervised learning, both the input and the output of the algorithm may be specified/defined, and the algorithms may be trained to classify data and/or predict outcomes accurately.

Broadly, the supervised learning may be of two types, “regression” and “classification”. In classification learning, the learning algorithm may help in dividing the dataset into classes based on different parameters. In this case, a computer program may be trained on the training dataset and based on the training, the computer program may categorize input data into different classes. Some known methods used in classification learning include Logistic Regression. K-Nearest Neighbors, Support Vector Machines (SVM), Kernel SVM, Naïve Bayes, Decision Tree Classification, and Random Forest Classification.

In regression learning, the learning algorithm may predict output value that may be of continuous nature or real value. Some known methods used in regression learning include Simple Linear Regression, Multiple Linear Regression, Polynomial Regression, Support Vector Regression, Decision Tree Regression, and Random Forest Regression. In some aspects, the system200may use regression learning.

The unsupervised learning is an approach that involves algorithms that may be trained on unlabeled data. An unsupervised learning algorithm may analyze the data by its own and find patterns in input data. Further, semi-supervised learning is a combination of supervised learning and unsupervised learning. A semi-supervised learning algorithm involves labeled training data; however, the semi-supervised learning algorithm may still find patterns in the input data. Reinforcement learning is a multi-step or dynamic process. This model is similar to supervised learning, but may not be trained using sample data. This model may learn “as it goes” by using trial and error. A sequence of successful outcomes may be reinforced to develop the best recommendation or policy for a given problem in reinforcement learning.

In an exemplary aspect, the machine learning module222may be a supervised machine learning module that may assist the system200(specifically, the processor210) to provide accurate recommendations to a user (e.g., the user108) to enhance powerlifting activity and/or mitigate user muscle imbalances based on the powerlifting video transmitted by the user108to the system200via the user device202. The machine learning module222may further assist the processor210to provide accurate powerlifting score to the powerlifting activity based on the powerlifting video.

The machine learning module222may use the training data220(as labeled data) to generate the second trained machine learning module224(e.g., distributed models). Specifically, the machine learning module222may generate the second trained machine learning module224to optimize generation of recommendations and powerlifting score for the user108.

As described above, the training data220may include a plurality of good and bad powerlifting videos. The training data220may further include data associated with correlations of movements of different user body parts, e.g., nose, hip, knee, neck, shoulder, elbow, wrist, ankle, ear, eye, toe, pelvis, waist, chest, skull, foot, head, etc. in good powerlifting videos and bad powerlifting videos. For example, the training data220may include information associated with correct body part movement (e.g., relative locations of body parts with respect to each other, speed of movement, etc.) when a user may be performing a “correct” deadlift, and information associated with incorrect body part movement when a user may be performing an “incorrect” deadlift. The training data220may further include correlations of known muscle imbalances with incorrect body part movement, which may facilitate the system200to determine one or more muscle imbalances that the user108may have based on the powerlifting video transmitted by the user device202to the system200.

In some aspects, the second trained machine learning module224may be configured to receive powerlifting data302associated with the user108performing a powerlifting activity from the processor210. The powerlifting data302may be derived based on the powerlifting video transmitted by the user device202to the system200. The concept of the powerlifting data302is described later in the description below. Responsive to receiving the powerlifting data302, the second trained machine learning module224may analyze the powerlifting data302and determine one or more recommendations for the user108and a powerlifting score based on powerlifting data analysis as shown in block304ofFIG.3.

In some aspects, during the initial “training” or “learning” phase of the second trained machine learning module224, a system operator (not shown) may provide inputs or confirmation on the recommendations and the powerlifting score determined by the second trained machine learning module224, as shown in block306ofFIG.3. Specifically, the system operator may either confirm or input that the determined recommendations and powerlifting score are correct, or may modify the determined recommendations and/or the powerlifting score as shown in block306.

Responsive to receiving the inputs from the system operator, an optimization module308may optimize the recommendations and the powerlifting score determined by the second trained machine learning module224, and may output final recommendations and/or the powerlifting score to the processor210as shown in block310ofFIG.3. In addition, the optimization module308may transmit feedback to the training data220to update or improve the training data220, so that future recommendations and/or powerlifting scores may be accurate. The machine learning module222may use the “updated” training data220to generate an updated second trained machine learning module224. In this manner, the system200(specifically, the second trained machine learning module224) “learns” and improves future recommendations and/or powerlifting scores. The system200may not require the optimization module308when the second trained machine learning module224may be fully trained, and/or when the system operator confirms a substantial portion (e.g., more than 97-98%) of the recommendations and/or powerlifting scores provided by the second trained machine learning module224to be accurate.

The detailed process of providing recommendations to the user108and/or calculating the powerlifting score is described below in conjunction with describing the system operation.

In operation, the transceiver208may receive a powerlifting video from the user device202via the network206. As described above, the powerlifting video may be associated with a powerlifting activity being performed by the user108. The powerlifting activity may be, for example, squats, bench, deadlift, and/or the like. In some aspect, the powerlifting video may include a plurality of frames that may be sequentially combined together to form the powerlifting video.

Responsive to receiving the powerlifting video, the transceiver208may send the powerlifting video to the video database214for storage purpose. In addition, the transceiver208may transmit the received powerlifting video to the server204via the network206. The server204may analyze the powerlifting video and may generate a plurality of body identification data associated with each frame of the powerlifting video. Example snapshots of body identification data is depicted inFIG.4.

In some aspects, the plurality of body identification data may be associated with locations of a plurality of user body parts in each frame of the powerlifting video. Examples of user body parts include, but are not limited to, nose, hip, knee, neck, shoulder, elbow, wrist, ankle, ear, eye, toe, pelvis, waist, chest, skull, foot, head, and/or the like. As shown inFIG.4, for a frame402captured at a timestamp of T=T1, the server204may generate first tabular body identification data404. The first tabular body identification data404may include pixel locations (X, Y, Z coordinates) of nose, neck, shoulder, elbow, etc. in the frame402(along with frame identifier or frame number). Similarly, for a frame406captured at a timestamp of T=T2, the server204may generate second tabular body identification data408that may include pixel locations of same body parts in the frame406. In a similar manner, the server204may generated the plurality of body identification data corresponding to all the frames included in the powerlifting video.

Responsive to generating the plurality of body identification data, the server204may transmit the plurality of body identification data to the transceiver208via the network206. The transceiver208may send the received plurality of body identification data to the body identification data database216for storage purpose.

The processor210may obtain the powerlifting video from the video database214and the plurality of body identification data from the body identification data database216(or directly from the transceiver208). Responsive to obtaining the powerlifting video, the processor210may execute instructions stored in the first trained machine learning module218to generate a plurality of feature maps associated with the plurality of frames of the powerlifting video. In some aspects, the first trained machine learning module218may be associated with a convolutional neural network (CNN) algorithm. In other aspects, the first trained machine learning module218may be associated with any other AI/ML based algorithm that may assist the processor210to generate the plurality of feature maps or vector maps for each frame of the powerlifting video. A person ordinarily skilled in the art may appreciate that feature maps or vector maps are generated to determine or identify presence/absence and/or locations of different objects (e.g., body parts) in an image or a video frame.

Responsive to generating the plurality of feature maps, the processor210may merge or fuse the plurality of body identification data and the plurality of feature maps for each frame of the powerlifting video to create a merged or fused dataset for each frame. The merged dataset (which may be same as the powerlifting data302described above in conjunction withFIG.3) may include body part identifiers and X, Y, Z pixel coordinates for each body part in each video frame. In additional aspects, the processor210may determine velocity data and angular displacement data associated with each body part based on the plurality of body identification data, and may include the determined velocity data and angular displacement data in the merged dataset. Stated another way, the merged dataset may additionally include velocity data and angular displacement data associated with each user body part, when the user108may be performing the powerlifting activity.

In some aspects, the processor210may determine or calculate velocity data and angular displacement data by “tracking” movement of X, Y, Z pixel coordinates for each body part across the plurality of frames. For example, the processor210may track movement (e.g., velocity and angular displacement) of user knees by tracking X, Y, Z pixel coordinates for the user knees across the plurality of frames of the powerlifting video. If required, the processor210may extrapolate one or more X, Y, Z coordinate information if such information is missing for one or more frames in the body identification data obtained from the server204.

A person ordinarily skilled in the art may appreciate that some (and not all) information associated with the powerlifting video can be determined based on the plurality of body identification data. For example, velocity data and angular displacement data may be determined by using the plurality of body identification data, as described above. However, additional information, e.g., presence or absence of user knee caving in the powerlifting video, may not be determined by using the plurality of body identification data. Such additional information may be determined by using the feature maps. Therefore, the processor210merges or fuses the plurality of body identification data and the plurality of feature maps to create the merged or fused dataset for each frame.

Responsive to creating the merged dataset, the processor210may execute the instructions stored in the second trained machine learning module224to analyze the merged dataset and determine one or more anomalies in the powerlifting activity and one or more user muscle imbalances based on merged dataset analysis. Specifically, as described above, the second trained machine learning module224may be trained using the training data220that includes a plurality of good and bad powerlifting videos, data associated with correlations of movements of different user body parts in good and bad powerlifting videos, data associated with correlations of known muscle imbalances with incorrect body part movements, and/or the like. In some aspects, the second trained machine learning module224may be associated with recurrent neural network (RNN). In other aspects, the second trained machine learning module224may be associated with any other AI/ML based algorithm.

The processor210/second trained machine learning module224may correlate the training data220and the merged dataset to determine one or more anomalies in the powerlifting activity and one or more user muscle imbalances. For example, the processor210may determine that the user108may have quad weakness if the user's hips rise before user's knees extend in the powerlifting video.

Responsive to determining one or more anomalies in the powerlifting activity, the processor210/second trained machine learning module224may determine improvement recommendations to mitigate the anomalies or improve/enhance the powerlifting activity. In this case, a mapping of a plurality of improvement recommendations with a plurality of known anomalies may be pre-stored in the memory212(e.g., as part of the training data220or otherwise), and the processor210may fetch the mapping from the memory212. The processor210may compare the determined anomalies with the mapping and determine the improvement recommendations for the user108. For example, the processor210may determine a recommendation for simultaneously extending the knees and rising the hips, when the processor210determines the anomaly as being “the user's hips rise before the user's knees extend”.

In addition, responsive to determining one or more user muscle imbalances, the processor210/second trained machine learning module224may determine mitigation recommendations to mitigate the muscle imbalances. In this case also, a mapping of a plurality of mitigation recommendations with a plurality of known muscle imbalances may be pre-stored in the memory212(e.g., as part of the training data220or otherwise), and the processor210may fetch the mapping from the memory212. The processor210may compare the determined muscle imbalance(s) with the mapping and determine the mitigation recommendations for the user108. For example, the processor210may determine specific exercises or diet plan as mitigation recommendation when the user108may be having quad weakness.

Responsive to determining the improvement recommendations and the mitigation recommendations, the processor210may transmit, via the transceiver208, the recommendations to the user device202. The user108may view the recommendations on a user device display screen and implement the recommendation to enhance the powerlifting activity and/or mitigate the muscle imbalance(s).

In further aspects, the processor210may be configured to execute instructions stored in the second trained machine learning module224and determine a powerlifting score for the user108based on the merged dataset. In some aspects, to determine the powerlifting score, the processor210may first obtain a plurality of scoring criteria associated with the powerlifting activity (e.g., deadlift) from the memory212. In this case, the memory212may pre-store the plurality of scoring criteria associated with the powerlifting activity.

Examples of scoring criteria include, but are not limited to, knee alignment relative to toes, presence or absence of knee valgus, variation in torso angle when a user performs a powerlifting activity, acceptable depth (e.g., squat depth), presence or absence of elbow flair behind torso, and/or the like. In an exemplary aspect, on a scale of 0 to 1 (1 being the best), a user may be scored 0 when knees and toes are not in line during powerlifting activity, scored 0 when knees cave in, scored 1 when trunk angle is constant during ascent and descent of the powerlifting activity, and/or the like.

The processor210may correlate the plurality of scoring criteria obtained from the memory212with the user movement during the powerlifting activity determined based on the analysis of the merged dataset, and calculate a plurality of sub-scores for the user108. In some aspect, each sub-score may be associated with each scoring criterion. For example, the processor210may calculate a first sub-score for the user108for the criterion of “knee alignment relative to toes”, a second sub-score for the criterion of “presence or absence of knee valgus”, a third sub-score for the criterion of “acceptable depth”, and so on. Responsive to calculating the plurality of sub-scores, in some aspects, the processor210may calculate the powerlifting score for the user108by performing linear summation of the plurality of sub-scores, and normalizing the sum on a scale of 0 to 5 (5 being the best). In other aspects, the processor210may calculate the powerlifting score for the user108by performing weighted sum of the plurality of sub-scores, and normalizing the sum on a scale of 0 to 5 (5 being the best). In this case, corresponding weights associated with each scoring criterion may be pre-stored in the memory212, and the processor210may fetch the weights from the memory212to calculate the powerlifting score. In some aspects, the processor210may calculate the powerlifting score for the overall powerlifting video. In other aspects, the processor210may calculate separate powerlifting score for each frame.

Responsive to calculating the powerlifting score, the processor210may transmit, via the transceiver208, the powerlifting score to the user device202. An exemplary view of display screen of the user device202depicting a powerlifting score502and an improvement recommendation504is shown inFIG.5.

Although the description above describes an aspect where the processor210determines the improvement recommendation, the mitigation recommendation and the powerlifting score based on the powerlifting video provided by the user108via the user device202, in some aspects, the processor210may additionally obtains inputs from a light detection and ranging (lidar) sensor and/or an inertial measurement unit (IMU) that may be disposed on user body. The processor210may fuse the inputs obtained from the lidar sensor and/or the IMU with the merged dataset described above to create an “augmented” dataset. The processor210may determine the improvement recommendation, the mitigation recommendation and/or the powerlifting score based on the augmented dataset in the same manner as described above. A person ordinarily skilled in the art may appreciate that by fusing inputs from a plurality of data sources (e.g., camera, lidar sensor and/or the IMU), an accuracy and confidence level of recommendations and powerlifting score may be increased. In further aspects, the processor210may obtain videos from different angles of the user108performing the powerlifting activity to further improve accuracy and confidence level of recommendations and powerlifting score.

FIG.6depicts a flow diagram of an example powerlifting training method600in accordance with the present disclosure.FIG.6may be described with continued reference to prior figures, includingFIGS.1-5. The following process is exemplary and not confined to the steps described hereafter. Moreover, alternative embodiments may include more or less steps that are shown or described herein and may include these steps in a different order than the order described in the following example embodiments.

Referring toFIG.6, at step602, the method600may commence. At step604, the method600may include obtaining, by the processor210, the powerlifting video from the user device202. At step606, the method600may include obtaining, by the processor210, the plurality of body identification data from the server204. As described above, the processor210may transmit, via the transceiver208, the powerlifting video to the server204, and the server204may transmit the body identification data to the processor210responsive to receiving the powerlifting video from the server204.

At step608, the method600may include generating, by the processor210, the plurality of feature maps associated with each frame of the powerlifting video by executing instructions stored in the first trained machine learning module218. At step610, the method600may include merging, by the processor210, the plurality of feature maps and the plurality of body identification data to create a merged dataset.

At step612, the method600may include determining, by the processor210, one or more recommendations to improve the powerlifting activity and/or mitigate user muscle imbalance(s) based on the merged dataset. As described above in conjunction withFIG.2, the processor210may determine the recommendations by executing instructions stored in the second trained machine learning module224.

At step614, the method600may include transmitting, by the processor210via the transceiver208, the recommendations to the user device202.