1 Introduction

Gesture recognition, object manipulation and finger-based interaction within an immersive virtual environment represent challenging problems. In the interactive virtual reality application the computer generated environment is responsible to provide visual, force (pressure) or vibro-tactile haptic feedback to the user [1].

Tracking of the user can be made by one or more of the commercially available mechanical, magnetic, optical, acoustic and inertial tracking systems [2]. The body, arm, head, hand and the fingers can be tracked by using reflective markers, magnetic markers, gloves with bending sensors, image processing techniques or a combination of all these. The motion capture system is providing the input data for the user’s motion recognition. Even if the motion capture system is calibrated and the tracking data is recorded with high frequency, the uncertainty remains in obtaining the exact motion of the user due to the deformations, especially when the markers are attached to the clothes or to the skin.

Physical parameters estimation of mechanical systems is the subject of several researches. The estimation process can be based on statistical methods, optimization functions or machine learning algorithms. Renaud et al. [3] presented an approach to minimize the error between the measured variables and their corresponding values in the forward and inverse kinematic model obtaining kinematic parameters, describing the geometry, and the dynamic physical parameters, describing the effects of masses, inertias and friction. The identification process can be based on manipulation data and a decision-theoretic formulation [4], pushing or pulling object to discover and learn how to manipulate the environment’s degrees of freedom [5] or kinematics [6] and the kinematic cues can be used for person identification and how can the observers learn to identify walkers [7].

Probabilistic uncertainty quantification in mechanical simulations with rigid and elastic elements has been used to propagate uncertainty from model inputs to outputs. The sources of the uncertainty could be the inaccuracy of available data, approximations in the mathematical model or discretization error. To compute the propagation of uncertainty in numerical simulations mainly stochastic models are employed, but also sampling method with Monte Carlo simulations, polynomial chaos methodology, stochastic collocation or other probabilistic models [8, 9]. Knowing the parameters of the user is important during interaction with virtual words, because the interaction process and virtual objects are expected to obey the laws of physics with respect to the simulated environment.

Bayesian filtering techniques provides a powerful statistical tool for solving problems in the presence of uncertainty and can be used to obtain a distributional estimate of the unknown parameters. The Bayesian statistics defines how new information can be used and combined with prior belief and objectives to make optimal decisions [10]. The advantage of the Bayesian method is that is not defining the probability as a frequency of occurrence [11], but as a reasonable degree of belief. The Bayesian probability theory returns the best estimate of a parameter from the data and prior information.

This paper address the question how the uncertainty be solved, how can be obtained the exact parameters of an articulated model based on tracking data and without assuming that the probability density function of the searched parameters are known in advance. An accurate parametric model is important in virtual reality applications, especially for force rendering in haptic feedback and to produce realistic interactions with virtual words [1215].

2 The Articulated Model

The articulated model of the user can be constructed with interconnected rigid element, but subject to deformations. The connection between the rigid elements (corresponding to the bones) corresponds to mechanical joints, with different degree of freedom. The virtual model of the articulated system can be constructed based on the following assumptions:

  • each of the rigid componenets can be seen as an individual element of the simulation,

  • the joints are ideal joints, and for the planar case all axis of rotation are parallel,

  • in case the markers on the elements belong in the same plane during the simulation, the model can be seen as two-dimensional.

  • the markers’ positions on the elements are not fixed during the simulation, due to the deformations the measured data obtained from the tracking devices are corrupted by noise; in the simulations this will be replicated by a Gaussian probability density function.

For each mechanical joint the constraints equation can be formulated [16], the number of them is depending on the degree of freedom of the joint [17]. The sum of the number of constraint equation and the degree of freedom of the joint is equal to the associated space dimension, 3 in the planar case and 6 in spatial case. These holonomic constraint equations represent the relationship between the coordinates of the points (markers) and geometrical characteristics (length, angles). Other constraint equations can be formulated to describe the constant distant between two points belonging to the same rigid element.

Different types of parameters are included in the constraint equations: motion tracking data, parameters of the model and coordinates of the point of interest [18]. The motion tracking data are the coordinates of markers obtained from the measurements. The constant parameters of the model are the geometrical characteristics of the rigid elements and position of markers on the rigid elements. The coordinates of the point of interest (like the coordinates of the joints) are variables and their values will modify during the simulation. To estimate the number of parameters of the virtual model which can be computed, first the constraints equations have to be formulated.

The maximum number of equation which can be solved in each frame of the simulation is equal to the number of independent data obtained from the measurements (tracking data). The number of independent data is according to the type of marker and number of markers on each rigid body:

  • In case of one marker attached to a rigid element and the marker is returning the space position (x, y and z), then the number of independent coordinates is three;

  • In case of one marker attached to a rigid element and the marker is tracking the position in plane (retro-reflective marker or position obtained by image processing), then the number of independent coordinates is two;

  • If two markers are attached to a rigid element, then the number of independent coordinates are five in the spatial case, and three in the planar case;

  • If three markers are attached to a rigid element, then the number of independent coordinates is six in the spatial case (in the planar case no new information can be retrieved from the third marker).

The value of the desired parameters can be obtained using noise rejection by filtering and will be presented in the next section). The following two case studies are demonstrating the proposed method.

2.1 Case A

In Fig. 1 are presented three elements (1, 2, 3) linked with revolute joint M and N (corresponding to three linked body parts as leg, arm, hand or fingers). The 2D (plane) movements of the elements are tracked with optical marker (A, B and C) on each. The total number of independent data available for the reconstruction of the virtual model is 6 (the x and y coordinates of the markers).

Fig. 1.
figure 1

The articulated model of the tracked elements, Case A

This model has two revolute joints between the rigid parts 1–2 and 2–3. The joints have one degree of freedom, so two constraint equations can be formulated. These equations correspond to the fact that the center of the revolute joints (M and N) are belonging to both of the connected elements, so the distances between these two point and the markers attached to the elements are constant during the simulation. Five constraint equations can be formulated between the coordinates of the points A (xA, yA), B (xB, yB), C (xC, yC), M (xM, yN) and N (xN, yN) (1):

$$ \left\{ {\begin{array}{*{20}c} {((x_{M} - x_{A} )^{2} + (y_{M} - y_{A} )^{2} )^{1/2} = d_{MA} } \\ {((x_{B} - x_{M} )^{2} + (y_{B} - y_{M} )^{2} )^{1/2} = d_{BM} } \\ {((x_{N} - x_{B} )^{2} + (y_{N} - y_{B} )^{2} )^{1/2} = d_{NB} } \\ {((x_{C} - x_{N} )^{2} + (y_{C} - y_{N} )^{2} )^{1/2} = d_{CN} } \\ {((x_{M} - x_{N} )^{2} + (y_{M} - y_{N} )^{2} )^{1/2} = L_{2} ,} \\ \end{array} } \right. $$
(1)

where dMA represents the distance between the points M and A (similarly for the other points), and L2 is the unknown length of element 2. In (1) the coordinates of M and N are not known and their values are modifying during the simulation (four unknowns), so only one of the other parameters can be computed. Presuming that the position on 1 and 3 of the marker A and C are known, and the distance between the MN line and B (known location of B on 2) is also known, then equations in (1) can be solved by iterative methods to obtain L2 for each position of the articulated system given by the measurement of the tracking system. But the measurements are corrupted by noise, so the length of 2 has to be obtained by filtering.

2.2 Case B

In this case the movements of the same three elements are tracked by four markers (Fig. 2): three markers as in the previous case on each elements and marker D rigidly attached to element 2. The total number of independent data available for the reconstruction of the virtual model in this case is 7. To the five constraint equations of (1), two more constant distance constraints can be added:

Fig. 2.
figure 2

The articulated model of the tracked elements, Case B

$$ \left\{ {\begin{array}{*{20}c} {((x_{D} - x_{M} )^{2} + (y_{D} - y_{M} )^{2} )^{1/2} = d_{DM} } \\ {((x_{D} - x_{N} )^{2} + (y_{D} - y_{N} )^{2} )^{1/2} = d_{DN} } \\ \end{array} } \right. $$
(2)

The unknown length of L2 can be obtained also if the positions of the markers on each element are known. The nonlinear Eqs. (1) and (2) were solved using the Newton-Raphson algorithm.

3 Parameter Estimation with Bayes Filter

The inputs in the Bayes filter are measured parameters obtained from motion tracking as coordinates of the markers (CoordM) attached to the elements (A, B, C and D). Each of the marker’s position is providing two parameters (assuming that the model is two dimensional). An example of tracking data is presented in Fig. 3 for Case A and Fig. 4 for Case B. The data is corrupted by noise, caused by the tracking process, replicated by a Gaussian probability density function.

In the first step the value of the searched parameter is estimated and the true will be chosen from an interval given by a minimum and a maximum of the estimation. In the case studies presented the searched parameter is L2, and the proposed algorithm will find the true value between L2 min and L2 max. This interval is discretized using a small step of ΔL2, so the true value will be searched in following set of L2estimation:

$$ L_{2estimation} = \left\{ {L_{2\hbox{min} } ,\,L_{2\hbox{min} } + \varDelta L_{2} ,\,L_{2\hbox{min} } + 2\varDelta L_{2} , \ldots L_{2\hbox{max} } } \right\} $$
(3)

The Bayesian filter converts each measurement in the most likely hypothesis. The probability density function will be computed separately for each estimation of L2. One by one, for each of the available tracking data the following process is repeated for every possible value of the searched parameter:

(a) for the current coordinated of the markers (CoordM) the length of L2 is computed solving (1) for Case A and (1) and (2) for Case B;

(b) The likelihood of the measurement is computed for each estimation of L2 (3), comparing each estimation with the current length of L2 offerend by the measurements and assuming Gaussian distribution of the noise:

$$ \Pr (L_{2} |L_{2estimation} ,{\text{CoordM}}) = \frac{1}{{\sigma \sqrt {2\pi } }}e^{{ - \frac{{(L_{2} - L_{2estimation} )^{2} }}{{2\sigma^{2} }}}} $$
(4)
Fig. 3.
figure 3

The recorded coordinates of the markers, Case A

Fig. 4.
figure 4

The recorded coordinates of the markers, Case A

where σ is the standard deviation, as a measure of the amount of dispersion of the tracking data. High standard deviation indicates that the measured coordinates are spread out over a large range of values from the real locations.

(c) According to the Bayes rule, the likelihood and the prior can be combined to obtain the posterior probability:

$$ \Pr (L_{2estimation} |L_{2} ,{\text{CoordM}}) = \Pr (L_{2} |{\text{CoordM}}) \cdot \Pr (L_{2} |L_{2estimation} ,{\text{CoordM}}) $$
(5)

(d) The posterior probability is normalized and used as prior in the next iteration and tracking data.

These four steps are repeated for each of the available coordinates of the markers. The modification of the probability distribution after 50, 100 and 500 steps is illustrated in Fig. 5. After 200–300 steps the maximum value of the probability is already an indication of the true (Fig. 5).

The true length of L2 will correspond to the highest value of the maximum probabilities from each of the investigated estimation of the set (3). Figure 6 (for Case A) and Fig. 7 (for Case B) are showing the computed length of L2 corresponding to the maximum values of the probabilities obtained from the first 500 noisy measurements. These results correspond to a standard deviation of 15 mm for the positions of the markers in each frame of the simulation.

Fig. 5.
figure 5

The evolution of the probability distribution

Fig. 6.
figure 6

The most likely length of L2 (Case A)

Fig. 7.
figure 7

The most likely length of L2 (Case B)

4 Conclusions

The obtained algorithm is well-suited to identifying parameters (geometrical characteristics) of articulated models in the presence of noisy data. The tracking data obtained from markers attached to the articulated model has to satisfy the physical constraint offered by the mechanical joints. The constraint equations of the joints are providing the parameters of the articulated model, but it is subject to uncertainty due to noisy tracking data. The number of parameter of the virtual model which can be found during the simulation is depending on the number of constraint equation of the articulated model. The Bayesian filtering technique provides an efficient way to obtain the distributional estimate of the unknown parameters. An accurate parametric model is important in virtual reality applications, especially for force rendering in haptic feedback and to produce realistic interactions with virtual words.