Sports science is a discipline characterized by a strong focus on practical application. Ultimately, the aim of any research in this field is to facilitate advancement in some aspect of the athletic endeavour. The nature of such advancement may take on many forms. An improvement in performance may be achieved through the use of a novel training modality [1,2,3] or better training parameter selection [4, 5], for example. Alternatively, strategies to enhance intra-training [6] or inter-training [7, 8] recovery rates may be devised. Injury prevention methods [9] or methods for accelerating rehabilitation [10], over time albeit indirectly can also be seen to contribute to improved performance. While certainly not an exhaustive list, the aforementioned elements of an integral training regime have been attracting the most attention from researchers and practitioners. The complexity emerging from the interrelatedness of these elements illustrates the breadth of potential avenues for further study and potential scientific contribution to the sports community.

In broad terms, the development of a novel idea in sport science comprises three distinct challenges before reaching the stage of general acceptance by the practitioners. The first of these concerns the pursuit of data collection by means of empirical study. Indeed, this aspect of research has been dominating sports science for most of its existence, producing a consistently expanding corpus of available data. The accumulation of empirical findings facilitates the second challenge—the understanding of the underlying physiological mechanisms. This is effected by the unification of regularities in the observed data by means of phenomenological models. Such models effectively reduce the total information content needed to describe a particular phenomenon and are subjected to scrutiny through the predictions they produce. In this final stage the model is applied in practice, in the context of athletic training.

This paper focuses on the final of the aforementioned developmental stages. Specifically, it considers several outstanding problems associated with the application of a recently proposed physiological model underlying resistance training performance and adaptation and extends the previous work described in [11]. Herein, we expand on the technical detail of each of the stages of the framework in detail, present additional discussion, and explain how different parameters of the framework can be estimated either directly from data or based on evidence in the existing literature. Moreover, we present additional empirical experiments and findings and discuss the performance of the proposed method in light of these. Finally, we present a more comprehensive description of the proof-of-concept software tool which we developed and which implements the proposed algorithms.

The remainder of the paper is organized as follows. A list of the most commonly used mathematical symbols and their explanations is given in Table 1. The estimation of measurable performance characteristics from realistic, loosely constrained videos of athletes in training is addressed in Sect. 2. The process of estimation of free model parameters from said characteristics is the subject of Sect. 3 and the subsequent use of the model to guide future training choices in a manner tuned to a specific athlete and exercise of Sect. 4. A summary and a discussion of promising future work directions are presented in Sect. 5.

Table 1 A summary of the key mathematical notation used in this paper

Image-Based Extraction of Performance Characteristics

The central concept in the computational model introduced in [12] is the capability profile of an athlete in a given exercise. It is instrumental in predicting performance as well as in capturing the nature and magnitude of training adaptations. An athlete’s capability profile \({\hat{F}}\) for a given exercise is defined as the maximum force that the athlete can exert against the load in the exercise as a function of the load’s position (commonly elevation) \(\delta\) and velocity v:

$$\begin{aligned} {\hat{F}} \equiv {\hat{F}}(\delta ,v). \end{aligned}$$

Conceptually \({\hat{F}}(\delta ,v)\) can be thought of as a generalization of the force–length [13,14,15] and force–velocity characteristics [16, 17] of an isolated skeletal muscle to an arbitrary and in practice usually biomechanically complex exercise [12]. Force–length and force–velocity characteristics, while trainable [18] and variable between different people as well as across different muscles of the same person, generally share the same functional form. However, this is generally not the case for a capability profile corresponding to an arbitrary exercise. The universal characteristics of force production for individual muscles are modulated by the plurality of involved musculature, attachment structure of individual muscles and the change in the biomechanics throughout the lift. It is an important observation that in the model proposed in [12] these are not modelled separately—all performance prediction and adaptation experienced over time is based on the corresponding capability profile which captures the total effective force exerted against the load.

The model is employed by predicting exercise performance first. This is achieved by formulating a differential equation governing the motion of the load. Using its numerical approximation, a computer simulation is applied to predict the variation in the elevation of the load through time. The effective force which the athlete can exert against the load at different stages of the movement modelled as the athlete’s capability profile which is additionally modulated by an exponential decay capturing fatigue accumulation which takes place over time. Simulation results are then used to infer the adaptational stimulus, which manifests itself through a fed-back modification of the capability profile. The key elements of the training–adaptation cycle are illustrated schematically in Fig. 1. For further in-depth technical detail on the model, the reader is referred to the original publication [12].

Fig. 1
figure 1

Key elements of the computational model of neuromuscular adaptation to resistance trained proposed by Arandjelović [12] adopted in the present work

The aim of the work presented in this paper was to develop a framework which facilitates the application of the aforementioned model in training practice. The key contributions include: (1) a method for the estimation of the free parameters of the model from data which can be readily acquired without the use of specialized equipment, large cost or user effort, and (2) a proof-of-concept software tool which implements the proposed framework allowing it to be used for planning real-world resistance training regimens.

Overview of the Proposed Framework

The first contribution of this paper and the focus of this section is an algorithm for estimating the motion of the load in resistance exercise. This is a crucial element in the pipeline described in subsequent sections. Specifically, the reconstruction of an athlete’s capability profile [12], which is based on the elevation–velocity characteristics, and the corresponding force exerted against the load in the performed lifts, are both inferred from the motion extracted here.

The key stages of the proposed method are illustrated conceptually in the diagram shown in Fig. 2. The process beings with the detection of so-called interest points in the starting frame of the raw input video. Overlaid on the original image these are displayed to the user who selects a region corresponding to the load used for exercise. Then, each interest point within this region of interest is tracked until the completion of the video producing a series of continuous motion tracks, one for each interest point. Information from all extracted tracks is polled together to reliably infer the overall motion of the load which is then processed further to extract the corresponding variation in velocity and the effective force exerted against the load. The starting and terminal times of individual repetitions (and their concentric and eccentric portions) are extracted here too. Each of the aforementioned steps is described in detail next.

Fig. 2
figure 2

The key elements of the proposed motion extraction method

Detection of Reliable Tracking Features

Consider \({\mathbf {F}}_1\), the initial frame of an input video sequence represented as a greyscale image, with the value of the pixel at the image location \({\mathbf {x}} = (x,y)\) denoted as \({\mathbf {F}}(x,y)\) (or equivalently \({\mathbf {F}}({\mathbf {x}})\), depending on convenience). The corresponding Gaussian scale-space \({\mathbf {S}}(x,y,s)\) is a three-dimensional volume defined as follows:

$$\begin{aligned} {\mathbf {S}}(x,y,s) = {\mathbf {F}}_1(x,y) *_{xy} {\mathbf {G}}(x,y;s\sigma ) \end{aligned}$$

where \(*_{xy}\) denotes convolution over x and y, and \(G(x,y;s\sigma )\) is a two-dimensional isotropic Gaussian distribution with the diagonal elements of the covariance matrix equal to \((s\sigma )^2\):

$$\begin{aligned} {\mathbf {G}}(x,y;s\sigma ) = \frac{1}{2\pi s^2 \sigma ^2} \exp \left\{ -\frac{x^2+y^2}{2s^2\sigma ^2}\right\} . \end{aligned}$$

Here s is the so-called scale parameter and it governs the degree of image blur, suppressing image features of a lesser spatial extent than \({\approx} \sqrt{s}\). In practice, the scale-space is quantized to only a discrete set of values of \(s = s_1, \ldots s_m\) usually chosen as logarithmically equidistant with a spacing which gives an integer number of scale levels in an octave:

$$\begin{aligned} \exists q \in {\mathbb {N}}, \forall i \ge 1:\log _2 (s_{i+1} / s_i) = q. \end{aligned}$$

Characteristic image interest points can be readily localized from \({\mathbf {S}}(x,y,s)\) as the loci of at which appearance change with scale (at some scale-space level) exhibits maximum rate of change. To ensure repeatability, as proposed by Lowe [19], this initial list is further narrowed down by accepting only those loci which are well localized by requiring both eigenvalues of the corresponding Hessian to be sufficiently large [20]. This process ensures that low contrast loci or line like regions are rejected. An example of a typical result is shown in Fig. 3a.

Fig. 3
figure 3

a The original frame with detected features overlaid as yellow dots and b a close-up surrounding the interest region outlined by the user (purple line)

Feature Seeding

By construction, interest points are image loci with locally characteristic appearance. As such, they are promising candidates for reliable tracking of motion through time. However, our specific aim here is to extract the motion of the load lifted by the athlete—the video sequence may contain other, confounding sources of motion which are not of interest. For example, there may be other trainees moving in the background. Thus, we seek to restrict our attention to those interest points which are within the region corresponding to the moving load.

The initialization of the tracking is difficult to automate fully because the load can greatly vary in appearance: it may comprise a fixed dumbbell or a loaded barbell, while the plates used to load it can differ in their shape, dimensions and colour. Thus, we adopt a semi-automatic approach, whereby brief user input is used to initialize the tracker. Specifically, the initial frame of the video sequence is displayed and the user asked to outline a region of the image corresponding to the load used by the athlete. The loci of detected interest points, which are marked on the displayed image, thus serve to guide the user who can choose a region with their maximal number. A typical example is illustrated in Fig. 3a with a magnification of the user-selected region of interest shown in Fig. 3b and the associated image patches in Fig. 4.

Fig. 4
figure 4

Patches of local appearance corresponding to the set of features enclosed by the user in Fig. 3. They correspond to “corner-like” regions, which are well localized in space

Feature Tracking

Having located a set of discriminative image loci of interest, the goal is to track them over time. The methodology employed here is similar to that first proposed by Lucas and Kanade [21] and subsequently further developed by Tomasi and Kanade [22], and Shi and Tomasi [23]. There are two key differences in the approach taken here: in the initialization of the tracked windows and in the search for the optimal frame-to-frame wrapping parameters (see [24, 25]). Unlike Shi and Tomasi whose choice of tracking windows is based on the spatio-temporal gradient matrix corresponding to the first two video frames, here the tracked regions surrounding interest points are detected as described in Sect. 2.2. The dimensions of each square region are set equal to the detection scale of the corresponding interest point.

As in the previous work, tracking is formulated as an optimization problem, whereby the region of interest \({\mathcal {W}}\) in frame \({\mathbf {F}}_i\) is localized in the subsequent frame \({\mathbf {F}}_{i+1}\) by estimating the set of parameters \({\mathbf {a}}\in {\mathbb {R}}^6\) of an affine transformation which maps \({\mathcal {W}}\) onto a region in \({\mathbf {F}}_{i+1}\), such that the observed image difference is minimized. A modification introduced here is to estimate \({\mathbf {a}}\) using a three-level pyramidal coarse-to-fine scheme whereby the initial estimate is made using quarter-resolution images, which is then refined at half-resolution and finally full resolution. This serves both to increase the speed of convergence as well as the robustness of the estimate by preventing the iterative gradient descent (described next) from getting stuck to a locally optimal value. Formally, at each level of the pyramid, we wish to minimize:

$$\begin{aligned} e({\mathbf {a}}) = \sum _{{\mathbf {x}} \in {\mathcal {W}}} \big [{\mathbf {F}}_{i+1}({\mathbf {x}}_a) - {\mathbf {F}}_i({\mathbf {x}})\big ]^2 , \end{aligned}$$

where \({\mathbf {x}} = [xy]^\mathrm{T}\) is a vector corresponding to image location (xy), and:

$$\begin{aligned} {\mathbf {x}}_a = \left[ \begin{array}{l} (1+a_1)x + a_3y + a_5 \\ a_2x + (1+a_4)y + a_6 \\ \end{array} \right] . \end{aligned}$$

Minimization of the error term \(e({\mathbf {a}})\) is a nonlinear optimization task which can be solved through an iterative steepest descent scheme. Using the first order Taylor series expansion of the expression in Eq. 5, \(e({\mathbf {a}})\) can be approximated by \({\hat{e}}({\mathbf {a}})\):

$$\begin{aligned} e({\mathbf {a}}) \approx {\hat{e}}({\mathbf {a}}) = \sum _{{\mathbf {x}} \in {\mathcal {W}}} \big [{\mathbf {F}}_{i+1}({\mathbf {x}}_a) + \nabla {\mathbf {F}}_{i+1} \frac{\partial {\mathbf {x}}_a}{\partial {\mathbf {a}}} \Delta {\mathbf {a}} - {\mathbf {F}}_i({\mathbf {x}})\big ]^2 \end{aligned}$$

This is a quadratic minimization problem, which can be solved in a closed form. A simple but cluttered analysis shows that minimal \({\hat{e}}({\mathbf {a}})\) is achieved for:

$$\begin{aligned} \Delta {\mathbf {a}} = \left\{ \sum _x \left( \frac{\partial {\mathbf {x}}_a}{\partial {\mathbf {a}}}\right) ^\mathrm{T} \nabla {{\mathbf {F}}_{i+1}}^\mathrm{T} \nabla {\mathbf {F}}_{i+1} \frac{\partial {\mathbf {x}}_a}{\partial {\mathbf {a}}} \right\} ^{-1} \sum _x \left[ \nabla {\mathbf {F}}_{i+1} \frac{\partial {\mathbf {x}}_a}{\partial {\mathbf {a}}} \right] ^\mathrm{T} \bigg [{\mathbf {F}}_i({\mathbf {x}}) - {\mathbf {F}}_{i+1}({\mathbf {x}}_a) \bigg ] \end{aligned}$$

Equation 8 and the update of the warping parameter \({\mathbf {a}}_i^{(j+1)} = {\mathbf {a}}_i^{(j)} + \Delta {\mathbf {a}}_i^{(j)}\) are applied until convergence i.e. until the magnitude of the update fails to exceed a tolerance threshold on the parameter error \(\Vert \Delta {\mathbf {a}}_i^{(j)}\Vert \le \epsilon\) [26].

Robust Motion Estimation

The tracking algorithm described in the previous section follows the movement of a particular local feature within the region of interest, initially corresponding to an automatically detected interest point. However, generally, the region of interest contains many features, each of which produces a track:

$$\begin{aligned} \mathcal {T}_n = x_n(0), \ldots , x_n(k_n \Delta t)\quad \,{\text {for}}\,n{\text {th}}\,{\text {feature}} \end{aligned}$$

As indicated by different maximal time step indices \(k_i\), the tracks may be of different durations—a feature once lost in tracking is not re-spawned.

An example of a set of tracks extracted from a typical lifting video sequence is shown in Fig. 5a. Each thin (and blue, if viewing in colour) line is the vertical track of a single feature. Note different starting values of elevation of different features’ tracks—these correspond to different initial locations and are not of relevance here. It is the coherence in their relative motion which is being exploited in computing the mean load displacement, shown as the superimposed thick red line.

As will become apparent in Sect. 3, precise tracking of the load is crucial for the accurate estimation of the variation in the force exerted by the trainee. Here we use the entire set of obtained feature tracks to more robustly infer their shared translatory motion, that is, the motion of the rigid load they correspond to. Let, without loss of generality, \(k_1 \le k_2 \le \cdots \le k_n\). We compute the location of the load at time \(k\Delta t\) as follows. If \(D_k\) is the set of displacements at \(k\Delta t\) at most \(\Delta\) pixels smaller or greater than the median displacement at \(k\Delta t\):

$$\begin{aligned} V_k&= \left\{ x_i(k \Delta t) - x_i(0) : k_i \le k \right\} \end{aligned}$$
$$\begin{aligned} D_k&= \left\{ d : d \in V \wedge \Vert d - \mu _{1/2}(V)\Vert \le \Delta \right\} \end{aligned}$$

Then the displacement of the bar at \(k\Delta t\) is computed as the robust mean:

$$\begin{aligned} \bar{d}(k \Delta t) = \frac{1}{|D_k|}\sum _{d \in D_k} d \end{aligned}$$

The result of applying this approach is illustrated in Figs. 5 and 6.

Fig. 5
figure 5

a Tracks of vertical displacement over time of features of interest (thin blue lines) and the robust overall motion estimated using the proposed algorithm (thick red line). b Overall vertical displacement track, marked with semantic labelling corresponding to different stages of a set of repetitions. c The detected starting and terminal points of the concentric portions of each completed repetition (red circles and dotted vertical lines). d Variation in the vertical displacement of the load during three extracted concentric bouts

Fig. 6
figure 6

Examples of load tracking. The motion of the load during each video is overlaid as a red line on a typical frame from the video

Estimating Physical from Observed Image Motion

Hitherto we only concerned ourselves with the image motion of the load. As our final goal is to model quantities which exist in the physical world, such as the force producing capability of an athlete, we need to link the apparent motion x(t) with actual physical motion \(\delta (t)\). In general, this is an ill-posed problem—the process of imaging, that is to say of projecting 3-dimensional geometry of the physical world onto a 2-dimensional image plane, inherently creates ambiguity. This ambiguity can be resolved only by imposing further constraints, specific to a particular task. Specifically, in this work we consider lifts in which the only relevant resistive forces are constrained to the vertical direction (note that this does not mean that the motion of the load is constrained to the vertical direction). Most obviously this applies to free weight lifts, which are resisted by the force of gravity, but can also, depending on the design of the apparatus, include a variety of other machine-based exercises with frictional, elastic and viscous resistive forces (see Sect. 4). Consequently, since all that is needed for the estimation of velocities, acceleration and forces involved is relative motion, i.e. displacement, assuming that the extent of any horizontal motion of the load is small compared to the load’s distance from the camera, the relationship between the two quantities x(t) and \(\delta (t)\) is a simple proportionality:

$$\begin{aligned} \delta (t) = K_x x(t) \end{aligned}$$

The value of the multiplicative constant \(K_x\) is determined through simple calibration using a known reference object (e.g. the length of a standard Olympic barbell).

Repetition Segmentation and Concentric Motion Extraction

Generally, the overall motion of the load, extracted in the previous section, captures different aspects of a lifting bout. This is illustrated in Fig. 5b. Initially, the athlete is preparing for the lift and the load may exhibit motion as the athlete assumes a comfortable starting pose. This is then followed by alternating eccentric and concentric lifting efforts (not necessarily in that order) separated by usually brief pauses, that is, isometric holds. They facilitate the dissipation of some of the accumulated fatigue, allow the athlete to focus on the forthcoming repetition, catch breath, check body positioning etc. Static holds may follow either the eccentric or the concentric portion of the lift, depending on the biomechanics of a particular exercise. In the bench press or the squat, for example, a natural tendency is to pause after the concentric portion of a repetition. During the execution of the barbell row, the opposite is true, and the pause is more likely after the eccentric effort.

From Performance Characteristics to the Capability Profile

In the previous section we saw how the variation in the elevation of the load used for resistance exercise can be robustly extracted from video without strong assumptions on the exercise, viewpoint or the appearance of the load. Here our goal is to use these measured performance characteristics to infer the athlete’s exercise-specific fitness, that is, in the context of the performance model adopted in this paper, the athlete’s capability profile.

This concept is central to the model employed in the present work and is adopted from [12]. The capability profile is instrumental in predicting performance as well as in capturing the nature and magnitude of training adaptations. An athlete’s capability profile for a given exercise was defined as the maximum force that the athlete can exert against the load in that exercise, as a function of the load’s elevation and velocity. Conceptually it can be thought of as a generalization of force–length [27, 28] and force–velocity [16, 17] characteristics of an isolated skeletal muscle. Force–length and force–velocity characteristics, while trainable and variable between different people as well as across different muscles of the same person, have universal functional behaviour. In contrast, the capability profile is dependent both on the specifics of a particular exercise as well as athlete’s muscle attachment structure, limb lengths, weight distribution etc [29, 30]. As such, it must be estimated directly from performance characteristics, such as those whose extraction was addressed in Sect. 2.

Estimating Velocity and Force Variation

The athlete’s capability profile \({\hat{F}}\) in an exercise is defined as a bivariate function capturing the dependence of the maximum force that the athlete can exert against the load and the load’s elevation \(\delta\) and velocity v. That is:

$$\begin{aligned} {\hat{F}} \equiv {\hat{F}}(\delta ,v). \end{aligned}$$

It is this variation that we wish to infer from a set of motion tracks, each corresponding to a concentric portion of a repetition in a given lift, extracted using the algorithm detailed in Sect. 2.

Consider the vector comprising the displacement (elevation) and velocity of the load over time, \({\varvec{\delta }}(t) \equiv \left[ \delta (t)\dot{\delta }(t)\right] ^\mathrm{T}\) where a dot over a symbol signifies time differentiation (thus \(\dot{\delta } = \frac{\mathrm{d}\delta }{\mathrm{d}t}\) is the rate of change of elevation, or velocity, and \(\ddot{\delta } = \frac{\mathrm{d}^2 \delta }{\mathrm{d}t^2}\) is the rate of change of velocity, or acceleration). This state vector of the load changes throughout the lift, thus making a path \(\mathcal {P}\) through the two-dimensional elevation–velocity (or capability) plane. The idea proposed here is that the capability profile \({\hat{F}}(\delta ,v)\) can be inferred in the localities of all available paths \(\mathcal {P}_i\) from the estimates of the effective force variation \(F_i(t)\) along the said paths.

Velocity, Acceleration and Effective Force

The quantity directly measured from an input video is the elevation of the load. From the position of the load, its vertical velocity must be estimated to obtain capability plane tracks \(\mathcal {P}_i\), as well as its acceleration from which \(F_i(t)\) can be computed.

In principle this can be achieved by means of simple numerical differentiation of the elevation \(\delta (t)\). If the variation \(\delta (t)\) is sampled at equidistant intervals \(t \equiv t_k = k\Delta t\), the corresponding instantaneous velocity can be estimated using the well-known three point finite difference approximation:

$$\begin{aligned} v_{k}&={\left\{ \begin{array}{ll} \frac{1}{2\Delta t} \cdot (\delta _{k+1} - \delta _{k-1}){:}&{} k > 0\\ 0{:} &{} k = 0 \,({\text {initial}}\,{\text {condition}}) \end{array}\right. }\end{aligned}$$

and similarly the acceleration:

$$\begin{aligned} a_{k}&={\left\{ \begin{array}{ll} \frac{1}{2\Delta t} \cdot (v_{k+1} - v_{k-1}){:}&{} k > 0\\ \frac{1}{\Delta t} \cdot (v_{k+1} - v_{k}){:}&{} k = 0\\ \end{array}\right. } \end{aligned}$$

where the subscript k is used to denote the value of a particular variable at time \(t = k\Delta t\). However, this approach has the undesirable effect of amplifying high frequency noise present in the initial estimates of \(\delta _k\) [31]. The corruption of the desired signal is particularly pronounced with repeated differentiation. On the other hand, the usual practice of simple data smoothing (i.e. smoothing that does not include in its underlying model any constraints that emerge from the semantics of the specific signal—in this case the underlying physics and physiology) prior to differentiation is problematic because it can result in physiologically unrealistic force estimates [32]. Instead, to ensure that our known domain specific physical constraints are satisfied, we fit a constrained smoothing cubic spline [33] to load elevation values \(\delta (k\Delta t)\) and then differentiate the spline itself. Specifically, we construct a spline which minimizes the objective function which comprises two terms: (1) the discrepancy between the observed data (load elevation) and that predicted by the spline, and (2) the spline roughness. Formally, the objective function \(\epsilon _{\delta }\) is:

$$\begin{aligned} \epsilon _{\delta } = \omega \underbrace{ \sum _{k} \left| \delta (k\Delta t) - {\hat{\delta }}(k\Delta t) \right| ^2}_{\mathrm{Fitting}\,\mathrm{disagreement}} + (1-\omega ) \underbrace{ \int _t \ddot{\delta }(t)^2 \mathrm{d}t }_{\mathrm{Roughness}}, \end{aligned}$$

where \(0\le \omega \le 1\), and the initial condition constraint:

$$\begin{aligned} \frac{\mathrm{d}\delta }{\mathrm{d}t}\Big |_{t=0} = v_0 = 0. \end{aligned}$$

The value of the weighting parameter \(\omega\) is set empirically and is dependent on the quality of input video (in particular, its resolution and the level of noise associated with the CCD sensor).

Estimation of Effective Force Exerted by the Athlete

The final step in the process of extracting lift characteristics from video proposed in this paper is the estimation of effective force exerted by the athlete and against the load. Having estimated the variation of the load’s position, velocity and acceleration through time, force can be computed from the differential equations of motion, that is, by the method of so-called “inverse dynamics”. In its most general form, the motion of the load can be described through an equation capturing the dependency of its position \(\delta\) on (1) the force F applied against the load, (2) the velocity, acceleration and possibly higher order derivatives of the load’s position, and (3) a set of exercise parameters \({\varvec{\Lambda }}\) which include a variety of biomechanical variables. Formally:

$$\begin{aligned} 0 = \psi (F, \delta , \dot{\delta }, \ddot{\delta }, \ldots ;{\varvec{\Lambda }}) \end{aligned}$$

The application of inverse dynamics then comprises the computation of F from the known values of the remaining quantities in Eq. 19. For clarity, we shall consider a few relevant examples next.

Inverse dynamics example 1: free load only

The simplest setup of practical relevance involves a free load of mass m lifted by the athlete against gravity. If the variation of the acceleration of the load through time is known, the effective force exerted by the athlete at any time t during the lift can be computed as:

$$\begin{aligned} F(t) = m \cdot \left[ \ddot{\delta }(t) + g \right] \end{aligned}$$

where g is the acceleration due to gravity.

Inverse dynamics example 2: free load with added elastic resistance

A more complex system can be obtained by the addition of an elastic resistance component to the free weight, as frequently done by powerlifters using elastic bands [34]. The equation of motion then becomes:

$$\begin{aligned} m\ddot{\delta }(t) = F(t) - mg - F_E(\delta ), \end{aligned}$$

where \(F_E(\delta )\) captures the dependency of the elastic force exerted on the load. This dependency is usually linear so the equation of motion can be rewritten as:

$$\begin{aligned} m\ddot{\delta }(t) = F(t) - m g - \left[ k \delta (t) + F_{E0} \right] , \end{aligned}$$

where \(F_{E0}\) is the elastic force at the bottom-most position of the load, \(\delta (t) = 0\). Thus, the force exerted by the athlete at any time t can be computed from the estimates of the load’s position and acceleration as:

$$\begin{aligned} F(t) = m \cdot \big [ \ddot{\delta }(t) + g \big ] + \big [ k \delta (t) + F_{E0} \big ]. \end{aligned}$$

Estimation of effective force: concluding remarks

While simple, the two loading scenarios which were provided as examples illustrate the general principle that the effective force exerted by the athlete against the load can be computed from the characteristics of the load’s motion (position, velocity, acceleration etc.) and the physical model of the resistance seen by the load (due to gravity, elastic forces, drag etc.). For a detailed treatment of more complex resistance systems encountered in practice the reader is referred to the relevant previous work [12, 35,36,37].

Fatigue Modelling and Parameter Inference

In the previous section it was shown how the effective force F(t) exerted by the lifter can be estimated from the motion of the load and the prior knowledge of the system dynamics. Under the adopted model, this force is bounded above by the value of the capability profile for the corresponding state \({\hat{F}}(\delta (t),\dot{\delta }(t))\), modulated by the accumulated fatigue:

$$\begin{aligned} F(t) \le {\hat{F}}(\delta (t), \quad \dot{\delta }(t)) \cdot \exp (-t/T_\mathrm{F}), \end{aligned}$$

where \(T_\mathrm{F}\) is the person-specific fatigue time constant, unknown a priori. In simulations reported in [12], and the discussion of a possible approach for model parameter inference, it was assumed that the upper bound in Eq. 24 was actually attained at all times. In other words, the athlete was assumed to always attempt to maximally accelerate the load. This assumption was justified by the focus of the original publication on strength and power athletes, such as powerlifters, who indeed do observe this practice in training [38]. However, the aim in the present work is to devise an approach more widely applicable and, as will be shown, the aforementioned assumption of continuous maximum exertion does not hold well for maximal sets at intensities lower than \({\approx } 85\%\) (i.e. for maximum sets of more than \({\approx} 6\) repetitions).

Variable Fatigue Model

Firstly, to account for non-maximum exertion, Eq. 24 is here extended to explicitly account for a variable rate of fatigue accumulation. Formally:

$$\begin{aligned} F(t) = {\hat{F}}(\delta (t),\dot{\delta }(t)) \cdot g(t), \end{aligned}$$

where \(0 \le g(t) \le 1\) is the newly introduced fatigue modulating function, and:

$$\begin{aligned} \frac{\mathrm{d} g(t)}{\mathrm{d}t} = - \frac{1}{T_\mathrm{F}} g(t) \rho (t) \end{aligned}$$

The coefficient \(\rho (t)\), where \(0 \le \rho (t) \le 1\), effectively scales the time fatigue constant from its minimum value of \(T_\mathrm{F}\) attained during maximum exertion. Put differently, fatigue (captured through g) is accumulated less quickly (governed by \(\mathrm{d}g/\mathrm{d}t\)) when a trainee exerts a lower force. The rate of maximum voluntary force loss is decreased at the time of submaximum effort (lower voluntary force can be sustained for longer time):

$$\begin{aligned} \rho (t) = F(t) / {\hat{F}}(\delta (t),\dot{\delta }(t)). \end{aligned}$$

Note that when \(\rho (t) \equiv 1\) i.e. when \({\hat{F}}(\delta (t),\dot{\delta }(t)) \equiv F(t)\), the form of the fatigue function becomes simply \(g(t) = \exp (-t/T_\mathrm{F})\), as in the original model [12]. However, in general, because \(\rho (t)\) is a function of time (inferred from observed data as explained in the next section), Eq. 26 cannot be solved in closed form.

Force–Fatigue Model for Trained Athletes

In the original work by Arandjelović [12] the assumption was that the athlete exerts the maximum force possible at each point in the lift. This force is readily computed using the athlete’s capability profile corresponding to the lift in question and the model of fatigue accumulation. The assumption of continuous maximal exertion is effectively a simple model of force–fatigue management, characterizing how an athlete employs the underlying capability to produce force to complete the lift. In this work, an alternative model is described which is aimed at a broader range of athletes. Our focus is on athletes who explicitly seek performance improvement across a range of intensities, unlike powerlifters who are ultimately concerned only with performance at the maximal intensity i.e. 100% of one repetition maximum (1RM).

Here we consider trained athletes. This allows us to assume that the use of the underlying force production capability is approximately optimized for the training task. Specifically, we assume that for a given training intensity (i.e. load relative to 1RM), the athlete’s force production is such as to complete a repetition with minimize fatigue accumulation thus allowing the athlete to perform the most work (repetitions) at this intensity.

To formalize the above, let \(L^{(k)}(\delta _{n+1},v)\) be the negative logarithm of the fatigue modulating function g(t) at the repetition k, the load’s position \(\delta _{n+1}\) and velocity v:

$$\begin{aligned} L^{(k)}(\delta _{n+1},v) = - \log g(t). \end{aligned}$$

Then, to meet the assumption of the minimal accumulated fatigue, the force exerted by the athlete at each time step n has to satisfy the following equality:

$$\begin{aligned} L^{(k)}(\delta _{n+1},v)&= \min _{v' \in {\mathcal {R}}_s} \left[ L(\delta _n,v') + \frac{\Delta t}{T_\mathrm{F}} \cdot \rho (t) \right] \nonumber \\&= \min _{v' \in {\mathcal {R}}_s} \left[ L(\delta _n,v') + \frac{\delta _{n+1}-\delta _n}{T_\mathrm{F} (v + v')/2} \cdot \frac{F_n(\delta _n,v)}{{\hat{F}}(\delta _n,v) } \right] . \end{aligned}$$

Here, fatigue corresponding to \(L^{(k)}(\delta _{n+1},v)\) is minimized by considering the minimal fatigue achievable at the previous time step at \(L^{(k)}(\delta _n,v')\) and the incremental increase in fatigue accumulated in reaching \(L^{(k)}(\delta _{n+1},v)\) from \(L^{(k)}(\delta _n,v')\). The range of possible velocities \(v'\) at the previous time step is restricted by the athlete’s ability to produce force to a region \({\mathcal {R}}_s\) in the capability plane. This concept is graphically illustrated in Fig. 7 which shows the locus \((\delta ,\dot{\delta })\) in the capability plane, the path though the capability plane corresponding to the preceding stages of the repetition (blue arrow), and the region of interest for the next time step (shaded, green). This region is triangular and defined by the locus \((\delta _n,\dot{\delta }_n)\), the condition that failure does not take place (i.e. the locus \((\delta _n,0)\)) and the maximal velocity that the load can have given the athlete’s capability (corresponding to the maximal force that the athlete can produce). Finally, the repetition has to end with the load velocity \(v_T\) such that:

$$\begin{aligned} v_T = \arg \min _{v_T} L^{(k)}(\delta _{\max },v_T). \end{aligned}$$

This boundary condition enforces global optimality of the repetition i.e. minimizes the total fatigue accumulated in lifting the load.

Fig. 7
figure 7

At every point in a successful lift the motion of the load is constrained. This can be visualized usefully by considering the lift as a path through the capability plane (see Sect. 2). In the process of inference of the underlying capability profile, the position of the load at \((\delta _n, {\hat{\delta }}_n)\) constrains its position at the next time increment to a triangle, defined by the load’s current position \((\delta _n, {\hat{\delta }}_n)\), the point which would be reached in the case of subsequent immediate failure \((\delta _{n+1}, 0)\) and the point which would be reached in the case of athlete’s maximal exertion

Inference of model parameters

Observe that the nature of lifting performance optimality described by Eq. 29 is not such that incremental fatigue at each time step is minimized, that is, the term \(\frac{\delta _{n+1}-\delta _n}{T_\mathrm{F} (v + v')/2} \cdot \frac{F_n(\delta _n,v)}{{\hat{F}}(\delta _n,v) }\). Rather than being local, optimization is global. It is by virtue of this assumption that it is necessary to constrain our attention to trained individuals [39]. Specifically, the reader should note that fatigue minimization described by the introduced model is not achieved through conscious efforts of the athlete. Instead, it is an adaptation of the neuromuscular system induced through repeated training bouts.

In mathematical vernacular, the optimization problem of interest is not “greedy”. On the other hand, it does exhibit the property of optimality of nested overlapping subproblems. This is readily apparent by inspection from Eq. 29—the optimal solution at the load position \(\delta _{n+1}\) can be expressed as a function of a locally computable term and the optimal solution corresponding to the position of the load at the preceding time step, that is, \(\delta _n\). Optimization problems of this type are solvable efficiently [40]. However, note that this is not what we are trying to achieve here. Rather than trying to compute the optimal solution, our goal is to infer the underlying model parameters (the athlete’s capability profile) from (1) the optimal solution and (2) the form of the model. The optimal solution is given by the lifting characteristics or, equivalently, the corresponding repetition paths in the capability plane. The form of the underlying model is that described by Eq. 29. The difficulty of this inference is rooted in the global nature of the optimization, that is, in terms of our mathematical model, the loss of local information through summation.

The set-ending repetition

Consider the last attempted repetition in a set which ends in momentary muscular failure. Referring back to the illustration in Fig. 7, in the last elementary time interval \(\Delta t\), the shaded region \({\mathcal {R}}_s\) collapses to a line—the velocity of the load drops to 0 even when maximal possible force is applied by the athlete. This means that the coefficient \(\rho (t)\) is equal to 1. By means of mathematical induction and working backwards in time, it can be seen that \(\rho (t)=1\) for the entire duration of the final repetition. Thus, we can write:

$$\begin{aligned} F_n(\delta _n,v) = {\hat{F}}(\delta _n,v) \cdot \exp \left\{ -L^{(K)}(\delta _n,v) \right\} = {\hat{F}}(\delta _n,v) \cdot \exp \left\{ -L^{(K)}(0,0) - {\hat{t}}/T_\mathrm{F} \right\} , \end{aligned}$$

where K is the index of the final repetition and \({\hat{t}}\) time since its beginning. It is clear from Eq. 31 that the values of the capability profile \({\hat{F}}(\delta ,v)\) along the path corresponding to the final repetition can be computed directly up to scale. The global scale of the capability profile is then estimated by matching its prediction with the actual load lifted by the trainee. Lastly, the value of the fatigue time constant \(T_\mathrm{F}\) was adopted from previous work [12] where it was estimated from empirical data to be \(T_\mathrm{F} \approx 65\) s.

Successful repetitions

The lifting conditions during the last repetition in a set are rather special—failure to complete the lift results despite athlete’s maximal effort investment. In contrast, the preceding, successful repetitions offer a “choice” (not necessarily conscious, as noted earlier) in the manner force exerted against the load is managed over time, This choice is described mathematically in the form of the optimization in Eq. 29. It is the global nature of this optimization which makes lifting characteristics measured during successful repetitions less informative in the reconstruction of the underlying capability profile. Successful repetitions can merely be used to formulate a lower bound on the values of the capability profile along the capability plane paths corresponding to the repetitions. For this reason, in the present work, successful repetitions are not used in the capability profile reconstruction.

Integrating data from multiple sets

Repetitions of sets performed by the same athlete but different intensities trace different paths in the capability plane. Thus, performance characteristics at a range of training intensities can be used to infer the functional forms of different regions of the athlete’s capability profile underlying the exercise in consideration.

In practice, sufficient data for accurate reconstruction of the region of the capability profile relevant to the athlete’s performance could be accumulated with ease. This is especially true in the case of cornerstone exercises (e.g. the bench press for powerlifters or the squat for weightlifters) which are practiced with relatively high frequency and volume. Monitoring training performance over only a few sessions would typically suffice. In this paper, to overcome the limited amount of data we had available and extend the area of the capability plane over which capability is estimated, we also employ interpolative and extrapolative methods. These are employed while ensuring the conformance of the results with constraints derived to the fundamental physiological principles underlying the capability profile. Specifically, we require that the capability profile is monotonically decreasing in the “velocity direction” i.e. that for any given point in an exercise, maximum effective force that the athlete can exert against the load decreases with the increase in the load’s velocity:

$$\begin{aligned} \forall \delta , v_1 < v_2: F(\delta ,v_1) > F(\delta ,v_2) \end{aligned}$$

For a single muscle, Eq. 32 follows trivially from Hill’s equation [16]. For an arbitrary number of contributing muscles in a complex, compound exercise, the same conclusion follows from Hill’s equation and the monotonicity of functions \(\Psi\) and \(\Phi _i\) which are in [12] used to model exercise biomechanics and impose kinematic constraints.

Recall from Sect. 3.2 and the original publication [12] that a capability profile is represented by a set of samples. As illustrated in Fig. 8, the samples correspond to predetermined, discrete values of the load’s position and velocity i.e. a regular, dense mesh over the capability plane. As explained earlier in this section, only those samples which lie on the paths of set-ending repetitions are directly measured. To estimate the values of the capability profile corresponding to regions enclosed by the paths, interpolation using a quadratic form penalty was performed. Formally, the discrepancy in the values of the capability profile of two samples neighbouring in the \(\delta\) or position direction is computed as:

$$\begin{aligned} \Delta J_\delta = k_\delta \left[ {\hat{F}}(\delta ,v) - {\hat{F}}(\delta + \Delta \delta ,v) \right] ^2. \end{aligned}$$

Similarly, for samples neighbouring in the v or velocity direction is:

$$\begin{aligned} \Delta J_v = k_v \left[ {\hat{F}}(\delta ,v) - {\hat{F}}(\delta ,v + \Delta v) \right] ^2, \end{aligned}$$

and finally in the diagonal direction:

$$\begin{aligned} \Delta J_{\delta v} = k_{\delta v }\left[ {\hat{F}}(\delta ,v) - {\hat{F}}(\delta + \Delta \delta ,v + \Delta v) \right] ^2, \end{aligned}$$

Thus, the full error function J which is minimized is:

$$J = \sum _{\delta =0}^{\delta _{\max }- \Delta \delta } \sum _{v=0}^{v_{\max }} k_\delta \left[ {\hat{F}}(\delta ,v) - {\hat{F}}(\delta + \Delta \delta ,v) \right] ^2 + \sum _{\delta =0}^{\delta _{\max }} \sum _{v=0}^{v_{\max }- \Delta v} k_v \left[ {\hat{F}}(\delta ,v) - {\hat{F}}(\delta ,v+ \Delta v) \right] ^2 + \sum _{\delta =0}^{\delta _{\max }- \Delta \delta } \sum _{v=0}^{v_{\max }- \Delta v} k_{\delta v} \left[ {\hat{F}}(\delta ,v) - {\hat{F}}(\delta + \Delta \delta ,v+ \Delta v) \right] ^2.$$

As the form of J is quadratic, minimization over unknown values of the capability profile samples is computed readily in closed form by differentiation.

Fig. 8
figure 8

Capability profile which is a bivariate function \({\hat{F}}(\delta ,v)\) over \(\delta \in [0,\delta _{\max }]\), \(v \in [0, v_{\max }]\) is represented by a set of samples taken from a regular dense mesh over the capability plane. Load displacement is thus constrained to discrete values \(0 \le i \Delta \delta \le \delta _{\max }\) and velocity to \(0 \le j \Delta v \le v_{\max }\) for integer ij

Cross-Validation and Empirical Results

In this paper we introduced a cascade of algorithms which allow for an athlete’s capability profile to be estimated from the athlete’s resistance training performance captured in video form. Our methods need only minimal human input and allow for the use of realistic and virtually unconstrained video sequences. Thus, little technical proficiency from the user is required. We finish this section with an empirical demonstration of how the underlying capability profile representation together with the algorithms developed in the present work allows for accurate and principled prediction of performance under unseen conditions.


The effectiveness of the proposed method was evaluated using the video footage of 12 trainees, 10 male and 2 female, performing multiple sets of the squat or the bench press. All of the participants had been regularly performing the corresponding exercise for at least the last 5 years. The participants’ mean age and bodyweight were, respectively, 32.8 years and 91.6 kg, and the corresponding standard deviations 6.0 years and 15.0 kg. The squat and the bench press were chosen as exercises used by a wide range of trainees with different goals, and which can be safely performed to momentary muscular failureFootnote 1 both at low and high intensities (from 15RM to 3RM in our case). After a gradual warm-up, during which the athlete followed his/her established routine, maximum 15RM, 12RM and 8RM lifts were recorded for the training of our algorithm (i.e. learning the athlete’s capability profile) and a 3RM lift for validation purposes. Notice that in practice, by ensuring consistent monitoring of performance (for discussion see Sect. 4), a far larger amount of data would be available for the capability profile estimation.

Capability Profile Estimation

In the case of all video sequences used for the evaluation herein, the camera angle was not in any way specially chosen (e.g. to capture either the fully frontal or the fully profile view of the trainee). As desirable in practice, the camera was instead simply placed in a location which was found to be convenient in the context of the equipment setup of the training facility.

A typical keyframe of one of the videos used to extract training and validation data used to evaluate the proposed methods is shown in Fig. 9a. The corresponding characteristics of the training lifts are shown in Fig. 9b. Note that the remarkable resemblance of the characteristics of different repetitions in the same set supports our fatigue management model introduced in Sect. 3.3.2. Under the maximum exertion model used in [12] (reviewed in Sect. 3.3), greater effects of accumulating fatigue would have been expected. A reconstruction of the athlete’s capability profile is shown in Fig. 9c.

Fig. 9
figure 9

a A snapshot from the video used to collect data for the evaluation of the methods introduced in this paper, b the variation in effective force exerted by the athlete against the load through repetitions of sets at different loading intensities and c the corresponding capability profile reconstruction

Comparison with Measured Performance

The main results of our experiment are summarized in Fig. 10a which shows the plot of predicted 3RM loads against those that were determined empirically. In the case of perfect prediction, the data points would lie on the dotted line shown in the plot. While our algorithm expectedly did not attain perfect performance, it is readily apparent that it has performed remarkably well. Specifically, the measured standard deviation of the prediction error was found to be 3.7% for the squat and 3.4% for the bench press. This compares favourably with the well-known Brzycki equation [41, 42], for example, particulary considering that empirically obtained maximum strength estimates from higher repetition ranges (such as those used here) exhibit greater test–retest variability [43,44,45].

While a comparison of maximum effort lifting performances predicted using statistical, regression techniques and that using the model proposed in the present paper allows for clear and readily understood validation of the information extracted as a capability profile, the capability profile model is much richer in information, allowing for a far wider spectrum of predictions to be cast. To exemplify this, here we also show an example of a comparison between the actual, empirically measured performance characteristics with those simulated using the capability profile estimate of Sect. 3.4.2.

Actual lifting performance characteristics were collected by asking the trainee to perform the maximum number of repetitions using a 3RM load which was previously determined to be 375 lbs. From a video recording of the lift, the elevation and velocity of the load through time were then extracted using the methods described in Sect. 3.1. Finally, a comparison was made with performance simulated using the capability profile of Sect. 3.4.2. The result of this comparison is summarized on the graph shown in Fig. 10b. Lifting characteristics predicted by the model described in this paper match the measured motion of the load remarkably well throughout the entire duration of the lift i.e. across all three repetitions. It is particularly interesting to observe that the model correctly predicted even subtle phenomena such as small convexities and concavities in the elevation–time plots of Fig. 10b. The convexities and concavities likely correspond to loci in the exercise range of motion (ROM) when a transition, respectively, from a biomechanically weaker to a biomechanically stronger or a biomechanically stronger to a biomechanically weaker position of the load occurs. That performance characteristics of this nature are predicted with such precision provides strong evidence that the underlying model is capable of accurately capturing those elements of the athlete’s fitness which govern relevant exercise performance, as well as that the proposed methodology for inferring the parameters of the model is indeed extracting meaningful information from training data.

Fig. 10
figure 10

a Predicted versus measured 3RM loads for the 12 athletes used to assess the proposed methods. b The predicted (blue lines) and actual, measured (red lines) 3RM performance to exhaustion, shown as plots of the load’s elevation against time. The resulted prediction exhibits remarkable agreement with measured performance at both low frequencies (i.e. long time scale) and high frequencies (i.e. as subtle motion features at short time scales)

Application in Training Analysis and Design

Owing to the central role that the capability profile plays, the ability to estimate it from actual performance opens a wide range of possibilities for practical use. To illustrate this, we developed a computer application that allows a practitioner to investigate predicted athlete-specific effects of differently targeted training regimes. The key aspects of the application’s functionality are described next.

Summary of Software Features

Figure 11a shows the main window of the software and its principal elements. The window consists of four panels and a selection of buttons controlling the application. The panel furthest to the left is the Capability Profile Panel which displays the capability profile which is studied. Furthest to the right is the Exercise Setup Panel containing controls that adjust a variety of exercise parameters (that are not already implicitly incorporated in the capability profile). The central two panels display simulated performance characteristics (as in Sect. 3.4.3), predicted by using the capability profile shown in the Capability Profile Panel and resistance variables from the Exercise Setup Panel. The first of the central panels shows predicted performance as a plot of the load’s elevation against time; the other panel shows the same data but in the form of the corresponding capability plane path (the reader may find it useful to revisit the material of Sect. 3.1 as well as [12]).

Capability Profile Panel

The left-most panel in the main window of our software application shows the capability profile, displayed as an image. The rate of force production at a particular combination of values of the load’s elevation and velocity is indicated using a colour-code, with warmer colours corresponding to higher force and cooler colours to lower force, see Fig. 11a. Note, for example, that the top of the image is uniformly blue corresponding to diminished capability to exert force against a rapidly moving load.

Fig. 11
figure 11

Main window of the software demonstrating a possible practical application the methods proposed in this paper. a The capability profile from Fig. 9c displayed as a colour-coded image and the predicted performance characteristics for the values of resistance parameters in the right hand side panel. Performance characteristics are automatically reevaluated and visually updated when b the resistance settings are changed or when c the user modifies the capability profile

The capability profile, which may have been estimated using the algorithm described in the previous sections, can be modified by the user. Clicks in the capability plane with the left and right mouse buttons produce, respectively, positive and negative Gaussian “bumps” in the profile. Formally, a click at the location corresponding to \((x_0,v_0)\) creates a modified profile \({\hat{F}}_{\mathrm{mod}}(\delta ,v)\) from \({\hat{F}}(\delta ,v)\):

$$\begin{aligned} {\hat{F}}_{\mathrm{mod}}(\delta ,v) = {\hat{F}}(\delta ,v) + \nu \cdot G(\delta _0,v_0; \sigma _\delta , \sigma _v), \end{aligned}$$

where \(\nu\) is the adjustable (see next paragraph) magnitude of the effect, while parameters \(\sigma _\delta\) and \(\sigma _v\), which too are user-adjustable, control its breadth in the capability plane. This principle of capability profile modification is similar to that described in detail in [35].

The example in Fig. 11c shows the resulting capability profile after the original one from Fig. 11a was modified by decrementing the force in the locality of the point of elevation-velocity \((\delta ,v) \approx (0.2\,{\text {m}},0.45\,{\text {m}}\,{\text {s}}^{-1})\) and incrementing it in the locality of \((\delta ,v) \approx (0.6\,{\text {m}},0.6\,\,{\text {m}}\,{\text {s}}^{-1})\).

Exercise Setup Panel

The panel furthest to the right in the main window of our application is the Exercise Setup Panel, used to control a number of exercise parameters. The first two of these control the effects of user input. “Influence breadth”, changes the width of the capability profile modification (relative to the scale \(\delta \in [0,\delta _{\max }],v \in [0,v_{\max }]\) of the elevation–velocity plane region displayed) affected by input:

$$\begin{aligned} \sigma _\delta&= ({\text {influence}}\,{\text {breadth}}) \times \delta _{\text {max}} \end{aligned}$$
$$\begin{aligned} \sigma _v&= ({\text {influence}}\,{\text {breadth}}) \times v_{\text {max}} \end{aligned}$$

“Influence magnitude” controls the magnitude \(\nu\) of the adjustment in Eq. 37. The remaining three parameters control the nature of resistance used to predict performance characteristics achieved when the current capability profile is used in a computer simulation of a lifting effort. To account for different types of resistance commonly encountered in weight training equipment we consider the general mechanism schematically illustrated in Fig. 12. Thus, “load mass“ is the mass m of the free adjustable load, such as a weighted barbell, while “countermass” \(m_0\) and “viscosity” c are, respectively, the mass of a counterweight and the viscous resistance constant. An unmodified, free weight lift, is obtained by setting \(m_0 = 0\) and \(c = 0\).

Fig. 12
figure 12

A schematic diagram of the key components of the resistance mechanism considered in the present work. Forces acting on the system when the direction of the velocity of both the adjustable load and the counterweight is positive (and thus, respectively, in the upward and downward directions, due to differently oriented axes measuring the two displacements)

Predicted Performance Panels

The central two panels of the main window hold plots of, respectively, the variation of the load’s elevation as a function of time and the path of the elevation–velocity state vector in the capability plane through the lift. These are estimated using a computer simulation as described in [35], performed automatically after any of the application parameters are changed: the capability profile or the resistance settings.


Having described the key aspects of our software’s functionality, we lastly describe how such a computer tool may be used in day to day training practice.

The challenge central to the design of a continuously productive training regime is that of feedback-based adjustment of training parameters. In principle, the underlying idea is simple and consists of the following stages:

Step 1: Observation :

Actual performance in training is monitored (usually by a coach or the athlete himself) and compared with the projected performance.

Step 2: Limiting factor identification :

Aspects of performance which are assessed to be the limiting factors in progress are identified.

Step 3: Parameter adjustment :

A suitable modification of training parameters is implemented to correct for the weaknesses identified in Step 2.

Observation: data acquisition

It has been emphasized throughout this paper that one of our key aims is to develop a principle system for monitoring, evaluating and optimizing training which is inexpensive and convenient, requiring little technical proficiency from the user. Indeed the proposed methods require no more than a readily affordable camera and a PC. One of the consequences of a setup such as this is that training data can be continuously acquired, allowing for the creation of a more reliable and up-to-date model of an athlete’s fitness. Specifically, video sequences (acquired by the athlete’s coach, training partner or using a stationary camera set up by the athlete himself) of the athlete’s training sets can be continuously fed into our capability profile estimation algorithm (see Sect. 3).

Limiting factor identification: performance analysis

The task of identifying those aspects of an athlete’s fitness which are limiting performance is usually not trivial. This is because unlike the task of observing past performance, here it is necessary to be able to hypothesize small changes to specific aspects of the athlete’s fitness and furthermore predict the nature and magnitude of performance change they would produce. The software tool described at the beginning of this section achieves precisely this in the context of resistance training. Guided by insight and experience, the coach can investigate how small changes to the athlete’s current capability profile affect performance. For example, a ready estimate of the new maximum strength can be obtained. Alternatively, different training modalities can be explored. By changing the loading parameters, the practitioner can promptly see how this is reflected on the corresponding path in the capability plane i.e. which aspects of performance are exerted and trained the most.

Parameter adjustment

The adjustment of training parameters to achieve performance improvement is intimately linked to the previously discussed task of identifying those aspects of fitness which currently limit performance. This link is made explicit in our model and software. A productive adjustment is one which directs capability paths of training repetition sets towards capability plane regions which correspond to limiting force production conditions. This can be achieved by the practitioner though experimentation with loading parameters in the Exercise Setup Panel and observation of the effects on training performance characteristics. It is worth noting the indispensability of experience and insight, that is to say the human factor, in guiding such experimentation.

Summary and Conclusions

The work described in this paper addressed a broad range of practical challenges which until now limited the application of a recently proposed model of neuromuscular adaptation to resistance training. In a number of studies this model has demonstrated promising results both in predictive and explanatory domains, and revealed novel insights into different training practices. Being able to take this model, or indeed future models based upon similar premises, from the realm of theoretical or highly specific studies and make them useful in everyday practice has the potential of transforming the use of technology in sports and of reshaping sports science research.

Starting from raw video input, acquired using readily available, low cost equipment, the proposed framework consists of a series of steps, ending with an estimate of the parameters of the model describing a specific athlete’s force production capability in a given exercise. The key contributions include:

  • visual tracking of the load lifted, of unknown shape and appearance,

  • robust estimation of the position, velocity and acceleration of the load,

  • effective force estimation from the characteristics of the load’s motion,

  • a model of force–fatigue management applicable to the trained population

  • inference of the athlete’s maximum force production capability at a certain position in a lift from the estimate of the effective force actually exerted, and

  • reconstruction of the relevant regions of the capability profile from curved cross-sections through the capability profile.

The proposed framework was evaluated empirically using data representative of that which would be used in weight training practice. Agreement of the model’s predictions with empirical performance data and relevant previous work was demonstrated. Finally, a description of a software program implementing the proposed framework was used to illustrate its possible application in practice as a tool for monitoring, evaluating and improving training performance.