Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Automatic filtering techniques for three-dimensional

kinematics data using 3D motion capture system


Aissaoui R., Husse S., Mecheri H., Parent G., de Guise J.A.
Laboratoire de recherche en imagerie et orthopdie, cole de technologie suprieure
e-mail : rachid.aissaoui@etsmtl.ca

Abstract-The purpose of this paper is to investigate the


performance of three algorithms for automatic filtering of 3D
displacement data. The first approach is based on power
spectrum analysis of signal with autoregressive modeling
approach to detect a signal bandwidth in the frequency domain.
The second method uses the autocorrelation of the residual signal
between filtered and unfiltered data to separate the signal
bandwidth from noise. The third approach uses a singular
spectrum analysis to detect the variance of the signal and reject
the noise based on the eigenvalue decomposition of the signal.
Overall, the highest RMS value of 0.480 m/s2 was measured in the
X direction for PSA method, whereas the lowest RMS value of
0.162 m/s2 was recorded for cluster 2 for SSA method. This
represents a gain of 3 in accuracy in estimating higher-order
derivatives such as linear acceleration of rigid body motion. SSA
method is robust and seems to behave well for different signal
combinations.

I.

INTRODUCTION

Three-dimensional (3D) motion capture systems are


becoming widely used in the measurement of 3D human
movement. They are generally used in the virtual-reality and
biomechanics areas and can be divided into two categories.
The first includes systems that measure the 3D location of a
marker in space: they are called 3DOF-system. These systems
are based on optoelectronic cameras that sense passive or
active markers, but necessitate a calibration procedure [1]. The
second category includes systems that measure simultaneously
the location and orientation of a rigid-body in 3D space. They
are called 6DOF-systems. They are generally based on
electromagnetic AC or DC fields [2]. In general, 3DOFsystems can achieve a higher accuracy of about 1 mm when
compared to 6DOF-systems, which are tenfold lower in
accuracy and also prone to field distortion without a calibration
procedure [3].
The estimation of derivatives of measured time series is an
important issue in many biomechanical applications. In fact,
the estimation of the forces and moments acting at human joint
using inverse dynamic approach needs the computation of
linear and angular acceleration of human-body segments [4].
Often this computation is obtained by twice differentiation of
displacement data using a numerical approach. Since the
differentiation process acts as a high-pass filter, this procedure
will largely amplify the high frequency noise. It has been
theoretically verified that the following inequality applies to all
unbiased linear estimates of the kth order derivative [5].

f T s
2

k
2

2 k +1

(2 k + 1)

(1)

Where k is the standard deviation of the noise in the estimated


kth derivative; f is the standard deviation of the noise in the
measured displacement data (which is assumed to be white and
additive to the measurement signal); T is the sampling period;
s is the bandwidth of the signal (which is supposed to be
band-limited, i.e. no information exists for frequencies above
s in rad/sec); and k is the derivative order (k=1 for velocity,
and k=2 for acceleration data). If the signal bandwidth is
known, it will be easy to remove high frequency noise by lowpass filtering of displacement data. Unfortunately, this
information about the power of the signal and noise is not
known, since the frequency content of the displacement data
varies for different human body segments [6], and different
human activities [7]. In biomechanics, recursive digital filter
such as the Butterworth low-pass filter has been extensively
used by researchers. However, one disadvantage of this
technique is that the user has to decide on the cut-off frequency
of the filter, after repeatedly comparing the computed filtered
second derivative with the finite-difference method of the
unfiltered data. An attempt to compare the acceleration
measured by an accelerometer and that obtained by twice
differentiation of a filtered data has revealed the difficulty in
choosing the cut-off frequency [8]. In [9], an automatic
method based on regularized Fourier series was proposed to
estimate higher-order derivatives of signal. Unfortunately, the
accuracy was not reported in [9]. Moreover, it is known that
the estimation of the power spectral density (PSD) of timeseries signals using nonparametric approach such as
periodogram suffers from three important aspects: leakage
due to time truncation, resolution due to time-series length and
sampling frequency, and finally bias in the estimation of PSD
[10]. Parametric methods can yield higher resolutions than
nonparametric methods in cases when the signal length is
short. These methods use a different approach to spectral
estimation; instead of trying to estimate the PSD directly from
the data, they model the data as the output of a linear system
driven by white noise, and then attempt to estimate the
parameters of that linear system. The most commonly used
linear system model is the all-pole model, a filter with all of its
zeroes at the origin in the z-plane. The output of such a filter
for white noise input is an autoregressive (AR) process. For

this reason, these methods are sometimes referred to as AR


methods of spectral estimation.
Non-conventional approaches have also been proposed for
data smoothing using wavelet-transform [11], time-frequency
distribution [12], and singular spectrum analysis [16]. In spite
of their superiority in detecting high signal impact acceleration,
wavelet and time-frequency can generate spurious peaks in low
impact signal. Moreover, non-conventional techniques [11-12]
are difficult to automate, since they necessitate the adjustment
of many parameters, whereas in [16] there are relatively few
parameters to be fixed. Three approaches have been proposed
to compute the cut-off frequency of the signal in automatic
manner. The first technique, developed in [13], used an
autoregressive modeling approach to estimate the power
spectral density and to detect the bandwidth frequency of
displacement data. This method will be called PSA for power
spectrum analysis. The second technique uses the
autocorrelation of the residual signal between the filtered and
unfiltered data to detect also the signal bandwidth [14-15].
This method will be called AC, for computation of the
autocorrelation function. The third approach is recent, and
uses a non-parametric time series analysis called singular
spectrum analysis (SSA) [16]. The original signal is
transformed onto a Hankel matrix. This image matrix is
transformed using a singular value decomposition method. A
few singular values are then retained, and the filtered signal is
back reconstructed based on a new Hankel matrix. Most of the
previous studies comparing filtering and smoothing techniques
were based on single marker comparison i.e. they do not take
into account the rigidity constraint of rigid-body motion. The
purpose of this paper is twofold: (i) to investigate the influence
of three algorithms for automatic filtering of 3D displacement
data on the acceleration variable as measured by
accelerometer; (ii) to use the rigidity constraint imposed by
solid motion to compute the linear acceleration vector using
gyroscopic measurements.
II. FILTERING THEORY AND NUMERICAL DIFFERENTIATION
The following sections describe the automatic filtering
algorithms, but only in their major steps respectively. Let S be
a signal represented by its time serie {si}i=1..n sampled signal
measured at equidistant time with a sampling frequency fs.
A. Power spectral analysis method (PSA) [13]
The first step in PSA is to model the signal by an all-pole
model i.e. an autoregressive process.
p

S ( n ) = A( k ) S ( n k ) + E ( n )

(2)

k =1

Where A(k) represents the model parameters, A(0)=1, and E(n)


is an input white noise. This is obtained by the modifiedcovariance algorithm [17]. The second step corresponds to the
estimation of power spectral density of the signal using the
Fast Fourier Transform (FFT):

PSD = E FFT ( A( n))

(3)

The third step is to evaluate the signal noise bandwidth by


computing the average of the PSD signal from 80% to 100% of
the Nyquist frequency i.e. fs/2. The corresponding average
value is pre-multiplied by a predefined signal to noise ratio
(SNR) k. The last step is to detect the frequency, which is
considered a cut-off frequency (fc) that corresponds to the
noise spectral power density. Afterwards, the signal S is
filtered using a second order zero-lag Butterworth filter at
frequency fc.
B. Autocorrelation method (AC) [14]
Let S be a raw signal, and let Sf be the same signal filtered
with a second order zero-lag Butterworth filter with a cut-off
frequency f. Let the variable res correspond to the residual of
the signal i.e.:
res = S S
(4)
The autocorrelation of the residual signal is then estimated for
a predefined lag L. The frequency f is varied from Nyquist
frequency to the direction of the zero one. It is thought that
when the autocorrelation function is minimal, then the
corresponding frequency is optimally dividing the signal
information from its noise content [14]. The frequency that
allows the autocorrelation function to be minimal is considered
as a cut-off frequency. The signal is filtered with a
Butterworth filter at that cut-off frequency.
f

C. Singular spectrum analysis method (SSA) [16]


Let S be a signal of length N, and let L represent a window
length. The first step is to construct a Hankel matrix from the
original signal by sliding a window with length L. A Hankel
matrix is a matrix which has equal elements along the
diagonals that are perpendicular to the main diagonal i.e:
aij = ai+1,j-1; for all i <n and j n. The second step is to use the
singular value decomposition of the Hankel matrix H:
H = UDWT
(5)
The third step is to keep only the r first singular value of H that
accounts for 99.999% of the total variance and to reconstruct
the signal with the r value. The condition that r>4 has been
imposed to get an adequate rank for signal reconstruction.
This procedure is similar to a smoothing process, and it is done
in a recursive manner. The procedure stops when the
difference between the root mean square (RMS) of two
successive iterations is under a certain predefined threshold.
D. Numerical differentiation and rigidity constraint
Once the signal S has been filtered, a simple way to compute
the linear acceleration is to numerically differentiate the signal.
Let the time serie {si}i=1..n considered to be filtered then the
corresponding acceleration time serie {ai} i=1..n is computed by
the central difference formula as:
s 2 si + si 2
ai = i + 2
(6)
2
4 t

Where t denotes the sampling time. Another way to


compute the linear acceleration is to express the theoretical
relation between position and acceleration for exact data in
rigid-body motion, which is given by the following [18]:
 = (W + W 2 ) P + c.hT
P
(7)
 is a 3xN array containing the acceleration
Where P
components of N markers in 3D space; P is a 3xN array
containing the x,y, and z position components of N markers;
W is the 3x3 skew-symmetric angular velocity matrix
characterizing an infinitesimal displacement; W is the 3x3

skew-symmetric angular acceleration matrix characterizing an


infinitesimal displacement; c is the vector that includes the
rigid body linear acceleration for infinitesimal displacements; h
is nx1 vector one ones i.e. a unit tensor. Equation (7) holds
only for exact data. In general, the angular velocity vector

= [ x , y , z ] is estimated from the position matrix P . Let


T

the matrices P ' and V ' represent the relative position and the
relative linear velocity of N markers with respect to their
centroid. The invariance concept states that the moment of
inertia (MI) of the N markers remains invariant with respect to
any rotation [19]. This gives the following relation:

= 2 MI vect (V ' P ' )


1

(8)

MI = trace ( P ' P ' ) I P ' P '


(9)
Where I is a 3x3 identity matrix, whereas trace and vect denote
algebraic operators for diagonal and skew-symmetric matrices
respectively. Equation (8) has been validated experimentally
with a triaxial gyroscope and motion analysis in an earlier
study [20].
T

III. EXPERIMENTAL SET-UP


Figure 1 shows the experimental set-up used in this study.
Two rigid clusters made from plexiglass were fixed on a rigid
tube simulating a knee rotational movement. Four reflective
markers (8mm diameter) were placed in tetrahedron shape in
each cluster. In addition, a pair of triaxial gyroscopes with a
range of 400 /s, and a pair of triaxial accelerometers with a
range of 5g were rigidly fixed on each cluster. Threedimensional trajectories of eight markers were tracked using a
motion analysis system (VICON M460, Vicon, Inc., USA).
The VICON system consists of 6 CCD high resolution cameras
(1000x1000) which collect the movement of the reflective
markers (Fig.1) in real-time at a sampling frequency of 120 Hz.
The VICON system was calibrated using the new wand
calibration procedure in a volume of 2x2x2 m3. The
accelerometer and the gyroscope signals were collected with
the PHYSILOG system (BioAGM, Inc, Switzerland) at a
sampling frequency of 120 Hz. The VICON and the
PHYSILOG systems were synchronized using external trigger.
The movement was induced by rotating manually the moving
body around the x-axis (Fig. 1). Three rapid trials were
executed for a total duration of 12 seconds.

Figure 1: knee simulator prototype (Right-hand side). Four markers are placed
onto the moving rigid body in cluster 1 and four others on cluster 2. Circles
represent reflective markers. (Top left) cluster with four markers and one pair
of tri-axial gyroscope and tri-axial accelerometer (Bottom left).

Data from the gyroscope and accelerometer were preprocessed in order to remove the drift and bias from a static
position of the knee simulator. Since the accelerometer
measures the gravitational vector in static position, the former
has been removed from the signal in order to keep only the
acceleration related to the kinematics of the rigid body. Two
methods described in section II-D have been implemented:
Method-1 estimates the second derivatives of the filtered signal
after numerical differentiation techniques (6), whereas
Method-2 estimates the second derivative of the signal using
(7). In the latter, the angular velocity vector is also filtered by
the same corresponding technique as the displacement raw
data. For each method, three filtering techniques are applied
(PSA, AC, SSA). For PSA algorithm, the number of poles
from which the autoregressive process is estimated has been
fixed to 20 as suggested in [13]. The signal to noise ratio
(SNR) was fixed to 50 and the average power spectrum of the
noise signal was estimated in the bandwidth that corresponds
to the interval 80%-100% Nyquist frequency. For the AC
method, the autocorrelation function of the residual has been
computed for each frequency, from the Nyquist one (i.e. 60
Hz) to the closest one to zero with a step of 0.06 Hz. The
minimal value of the autocorrelation function indicates the
value of cut-off frequency. The SSA algorithm was performed
with the following parameterization. First, the ratio between
the size of time-serie and the window length was fixed to 60,
i.e. a window length of 20 for a time-serie length of about 1180
samples. This ratio has been chosen since it corresponds to the
one tested originally in [16]. To compare the acceleration of
reflective markers to that measured by the accelerometer, two
additional steps must be done. First, the gravitational vector
must be removed from the measured signal of the
accelerometer: this is done for each image frame using a local

10

X -a x is

5
0
-5
-10

200

400

600

800

1000

1200

200

400

600

800

1000

1200

200

400

600

800

1000

1200

10

Y -axis

5
0
-5
-10

20

10
Z -axis

coordinate fixed on the accelerometers. The local coordinate is


built with the 3D position of four reflective markers using
quaternion algebra. The second step is to transfer the local
accelerometric data measured to the marker one, using a
formula similar to that of (7). Since the accelerometer sensor
and the markers cluster are fixed the transformation vector is
fixed (Fig. 2), however as indicated in (7) the angular velocity
vector and its derivatives are still needed. The latter are
obtained by (8) and (9). For each method, algorithm and trial
two parameters will be calculated. The first one is the RMS
between the filtered data and the referenced accelerometric
data for each marker that will be estimated along the time-serie
curve; the second parameter is the RMS evaluated only at the
peaks of the signal for each marker separately.

-10

Figure 3: Typical acceleration patterns for rotational movement of knee


simulator. The movement was performed around the x-axis (see Fig.1). Linear
acceleration obtained by double differentiation of raw data for marker 1 in
cluster 1 (dashed-line). Linear acceleration measured by the accelerometer at
the location of marker 1 (solid-line). Time in sampling: 1200 samples
correspond to 10 seconds.
10

X-axis

5
0
-5
-10

200

400

600

800

1000

1200

200

400

600

800

1000

1200

200

400

600

800

1000

1200

10
5
Y-axis

Figure 2: Mechanical alignment of the accelerometer with respect to reflective


markers in the cluster. Side and top view of the rigid cluster.

0
-5
-10

IV. RESULTS

10
Z-axis

Figure 3 shows a typical pattern of linear acceleration


measured by the accelerometer and estimated with a raw data
from twice differentiation technique. Data in figure 3 show a
cyclical movement induced manually by a single operator. The
range of the acceleration in the X, Y, Z axis are respectively 1,
10 and 5 m/s2. Since the accelerometers were not oriented
similarly to the global coordinate system, they actually
measure the projection of the movement onto the X-axis. This
is of course will not be interpreted as a movement in the X-axis
direction since the cylinder undergoes a pure rotational
movement. It should be noted that the acceleration estimated
without filtering the initial position of markers lead to highly
noised signal, especially in the direction of X and Z axis during
the deceleration phases (Fig. 3.). Figure 4 shows the effect of
filtering the initial displacement signal with the automatic SSA
filter. In Fig. 4, the acceleration computed and measured fits
very well on all parts of the signal. Table 1 shows the RMS
value along all the entire data-curve of the differentiation using
method-1. The trials represent different repetitions of the
rotation movement in the knee simulator. The clusters
represent the position of markers and accelerometers, with
cluster 1 closer to the axis of rotation. Overall, the highest
RMS value of 0.480 m/s2 was measured for cluster 2 in the X
direction for PSA method,

20

-10

Figure 4: Linear acceleration obtained using SSA filtering method on


displacement signal (same trial as in Fig. 3). Linear acceleration obtained by
double differentiation of raw data for marker 1 in cluster 1 (thick-line). Linear
acceleration measured by the accelerometer at the location of marker 1 (thinline). Time in sampling: 1200 samples correspond to 10 seconds.

whereas the lowest RMS value of 0.162 m/s2 was recorded for
cluster 2 for SSA method. In general, RMS values for each of
the three corresponding methods are lower for cluster 1 than
cluster 2, except for SSA method in which RMS value are
almost similar for the clusters. Also, the RMS values for all
three methods are in the same order of magnitude, the standard
deviations (Std) obtained by SSA method are one order lower
than the PSA and AC methods. In fact, the lowest Std of 0.006
m/s2 was obtained by SSA, whereas the highest Std value of
0.355 m/s2 was obtained by PSA method. This variation
represents an increase factor of 5900%, and shows the
consistency of SSA method in estimating high-order
derivatives. Table 2 shows the RMS value between measured
and computed linear acceleration of two clusters with 4
markers attached on each one.

Table 1: Method-1. Average and standard deviations (Std) of the RMS error
value along the duration of signal of four markers in cluster 1 and 2 for 3 trials.
Units are in m/s2. Each trial represents a separate movement.
PSA
X

SSA

AC
Z

mean
Std

0,275
0,040

0,351
0,158

0,325
0,177

0,282
0,055

0,286
0,137

0,217
0,048

0,304
0,026

0,263
0,016

0,298
0,028

trial 1, Cluster 2

mean
Std

0,326
0,244

0,356
0,149

0,317
0,230

0,284
0,132

0,220
0,023

0,246
0,034

0,263
0,017

0,263
0,009

0,226
0,019

trial 2, Cluster 1

mean
Std

0,256
0,072

0,313
0,128

0,193
0,030

0,339
0,284

0,233
0,132

0,172
0,030

0,295
0,024

0,202
0,007

0,207
0,022

trial 2, Cluster 2

mean
Std

0,480
0,355

0,354
0,159

0,402
0,252

0,381
0,312

0,201
0,016

0,174
0,035

0,203
0,017

0,222
0,006

trial 3, Cluster 1

mean
Std

0,356
0,259

0,346
0,142

0,275
0,047

0,217
0,043

0,209
0,020

0,240
0,060

0,280
0,051

trial 3, Cluster 2

mean
Std

0,447
0,304

0,399
0,184

0,436
0,248

0,203
0,045

0,234
0,014

0,208
0,026

0,223
0,010

SSA
Z

mean 0,289 0,424 0,593 0,374 0,420 0,261 0,284 0,520 0,814
Std
0,059 0,199 0,218 0,188 0,185 0,192 0,033 0,076 0,079

trial 1, Cluster 2

mean 0,316 0,364 0,380 0,221 0,251 0,221 0,103 0,359 0,434
Std
0,335 0,070 0,170 0,124 0,085 0,049 0,020 0,026 0,064

0,162
0,013

trial 2, Cluster 1

mean 0,284 0,312 0,238 0,406 0,339 0,202 0,411 0,459 0,371
Std
0,124 0,096 0,094 0,381 0,164 0,044 0,033 0,024 0,033

0,266
0,015

0,339
0,036

trial 2, Cluster 2

mean 0,673 0,371 0,533 0,563 0,337 0,321 0,349 0,460 0,318
Std
0,403 0,056 0,204 0,403 0,043 0,103 0,072 0,022 0,038

0,279
0,013

0,236
0,025

trial 3, Cluster 1

mean 0,346 0,490 0,337 0,220 0,345 0,240 0,289 0,595 0,718
Std
0,267 0,297 0,200 0,042 0,073 0,127 0,063 0,070 0,087

trial 3, Cluster 2

mean 0,441 0,458 0,505 0,238 0,336 0,175 0,251 0,432 0,374
Std
0,378 0,149 0,313 0,085 0,043 0,066 0,041 0,037 0,071

Table 2: Method-2. Average and standard deviations (Std) of the RMS error
value along the duration of signal of four markers in cluster 1 and 2 for 3 trials.
Units are in m/s2. Each trial represents a separate movement.

Table 4: Method-2. Average and standard deviations (Std) of the RMS error
value for peak value of the signal of four markers in cluster 1 and 2 for 3 trials.
Units are in m/s2. Each trial represents a separate movement.
PSA
X

trial 1, Cluster 1

mean 1,322
Std
0,093

0,710
0,046

0,483
0,046

1,873
0,141

1,698
0,120

0,945
0,091

0,599
0,041

0,397
0,019

0,308
0,027

trial 1, Cluster 2

mean 0,776
Std
0,098

0,553
0,029

0,370
0,042

1,530
0,211

0,770
0,054

0,433
0,053

0,274
0,017

0,354
0,006

0,232
0,020

trial 2, Cluster 1

mean 1,100
Std
0,076

0,907
0,066

0,606
0,058

4,187
0,327

1,205
0,091

0,648
0,091

1,009
0,076

0,350
0,016

0,234
0,021

trial 2, Cluster 2

mean 0,979
Std
0,115

1,284
0,133

0,686
0,084

1,158
0,135

0,855
0,105

0,433
0,056

0,216
0,018

0,291
0,004

0,176
0,016

trial 3, Cluster 1

mean 1,374
Std
0,097

1,037
0,075

0,750
0,072

1,188
0,085

0,724
0,045

0,479
0,043

0,663
0,047

0,422
0,021

0,356
0,035

trial 3, Cluster 2

mean 0,844
Std
0,093

1,399
0,141

0,710
0,087

0,699
0,094

0,584
0,029

0,294
0,027

0,225
0,010

0,369
0,006

0,239
0,025

Table 3 and 4 represent RMS values obtained on the first six


consecutive peak values (either positive or negative, Fig. 2). In
Table 3 the RMS-peak value varies from a low of 0.103 m/s2
(SSA, cluster-2, X-axis) to a high of 0.718 m/s2 (SSA, cluster1, Z-axis). Standard deviations are lower by one order of
magnitude for the SSA method in comparison with the other
two. In Table 3, cluster 2 always presents the lowest RMSpeak value with respect to cluster-1. Table 4 shows the same
peak value for data as in Table 3, but obtained with the use of
rigidity constraints.

AC
Z

SSA
Z

trial 1, Cluster 1

mean 0,916 1,341 0,980 2,583 3,083 2,464 0,466 0,776 0,755
Std
0,111 0,130 0,130 0,213 0,271 0,259 0,016 0,079 0,076

trial 1, Cluster 2

mean 0,557 0,294 0,664 1,262 0,318 0,374 0,123 0,469 0,325
Std
0,096 0,059 0,076 0,177 0,062 0,055 0,023 0,046 0,053

trial 2, Cluster 1

mean 1,272 1,959 1,220 5,674 1,931 0,802 0,923 0,629 0,423
Std
0,130 0,124 0,112 0,439 0,125 0,109 0,065 0,024 0,026

trial 2, Cluster 2

mean 1,610 1,476 1,012 1,165 1,235 0,839 0,327 0,621 0,363
Std
0,215 0,138 0,096 0,135 0,153 0,137 0,071 0,023 0,029

trial 3, Cluster 1

mean 1,492 1,467 1,007 1,195 0,846 0,520 0,600 0,836 0,679
Std
0,148 0,130 0,129 0,104 0,073 0,066 0,041 0,085 0,077

trial 3, Cluster 2

mean 0,739 0,880 0,594 0,493 0,567 0,269 0,283 0,563 0,305
Std
0,100 0,089 0,074 0,097 0,045 0,032 0,039 0,050 0,057

SSA

AC

AC

trial 1, Cluster 1

Overall, the RMS value varies from 0.176 m/s2 (SSA, cluster2, Z axis) to 4.187 m/s2 (AC, cluster-1, X axis). It is
interesting to note that the standard deviations found in Table 2
are lower for all of the PSA and AC methods, but similar to the
SSA one.
The low standard deviations indicate high
repeatability of the experiment; however this repeatability
comes with a significant bias for PSA and AC methods. It is
also interesting to note that in Table 1, most of the highest
RMS values are due to X-axis direction. This not the case in
Table 2 since the Y-axis generates also a high RMS value,
even if the major part of the displacement is recorded
throughout this axis.

PSA

trial 1, Cluster 1

PSA

Table 3: Method-1. Average and standard deviations (Std) of the RMS error
value for peak value of the signal of four markers in cluster 1 and 2 for 3 trials.
Units are in m/s2. Each trial represents a separate movement.

In Table 4, RMS-peak value reached its lowest value at 0.123


m/s2 (SSA, cluster-2, X-axis), and its highest value at 5.674
m/s2 (AC, cluster-1, X-axis). Standard deviations are also low
by one order of magnitude for SSA technique in comparison
with PSA and AC methods. In general RMS-peak values
obtained from cluster-2 are lower than those from cluster-1.
V. DISCUSSION
The purpose of this study was to compare three methods for
automatic filtering of three-dimensional trajectories as obtained
by motion-capture systems. It is important here to note that,
even if motion-capture systems are now very accurate with
approximately ~1 mm accuracy in real world coordinate
system and in a volume of 3 m3, filtering is still needed when
estimating high-order derivatives of displacement signals as
shown in Fig. 3. In general, our data reveals that the SSA
method behave very well in different trials with different

clusters, whereas other methods such as PSA and AC


sometimes degenerates due to the presence of noise. The
RMS-curve values found in this study are lower than that
estimated in [22], which ranged from 0.4 to 1.8 m/s2. It should
be noted that in [22], the authors reported on the relative
rankings among algorithms and not on actual acceleration.
Moreover, in this earlier study, data was collected by fixing
markers on human, which did not guarantee the rigidity
constraint. Finally, the authors [22] ranked the PSA method as
one of the best methods; however neither SSA nor AC methods
were tested. Walker [21] also found that PSA performed
relatively well in simulating swimming fish. In [14], the AC
method was not compared to other methods; however, it was
found in [15] that a similar AC method behaves well when
compared to the generalized cross-validated quintic spline
function. In [15], data was synthetic i.e. built with a
polynomial functions in which white Gaussian noise was
added. Finally, Alonso et al. [16] proposed their own
algorithm for automatic filtering of noisy data using SSA
method. In our knowledge, this is the first time that SSA
method is compared to other methods using measured and
computed accelerations in a three-dimension motion analysis
setting. Our data reveal that SSA algorithm behaves well in all
situations and clusters positions. Our data also reveal that
linear acceleration estimate is accurate when the cluster is
close to rotation axe. However, this information is counterindicated by the use of the rigidity constraint for method-2. In
fact, it is somehow surprising that the use of rigidity constraint
did not enhance the accuracy of linear acceleration estimates.
The rigid-body constraint uses a screw-theory to estimate the
linear acceleration of 3D coordinate knowing the instantaneous
linear displacement and the angular velocity vector. In our
data, the angular velocity vector estimated by Eq. (8) was very
close to the measurement of the gyroscope [20]. However, it is
also important to note that Eq. (7) incorporates the angular
velocity vector and its derivatives (i.e. the angular acceleration
vector) that could have propagated nonlinear noisy signal. In
this study, we filtered the angular velocity vector with the
corresponding technique used for displacement data. Further
study on specific filtering of rotational data should be done to
maintain the rigidity constraint of rigid body motion. The
three algorithms implemented here have internal
parameterization already fixed by their author such as lag in
AC method [14], or order of AR process in PSA [13], and
window length in SSA [16]. One important feature in this
study is the assumption made about noise. Most of algorithm
treated the noise as white with and expectation value of sigma.
SSA algorithm as proposed here made implicitly this
assumption, but if not more complex implementation are
necessary to distinguish between linear ergodic signal and
nonlinear noise signal [23].

REFERENCES
[1]
[2]
[3]
[4]

[5]
[6]
[7]

[8]
[9]
[10]
[11]
[12]
[13]

[14]
[15]
[16]
[17]
[18]
[19]
[20]

[21]

[22]
[23]

Chiari L., Della Croce U., Leardini, A., and Cappozzo, A., Human
movement analysis using stereophotogrammetry. Part 2: Instrumental
errors, Gait and Posture, 21, pp. 197-211, 2005.
Kindratenko, V., A survey of electromagnetic position tracker
calibration techniques, Virtual Reality: Research, Development and
Applications, 5, pp. 169-182, 2000.
Richards, J. G., The measurement of human motion: A comparison of
commercially available systems, Human Movement Science, 18, pp.
589-602, 1999.
Dumas, R., Aissaoui, R., and de Guise, J. A., A 3D generic inverse
dynamic model using wrench notation and quaternion algebra,
Computer Methods in Biomechanics and Biomedical Engineering, 7(3),
pp. 159-166, 2004.
Lanshammar, H., On precision limits for derivatives numerically
calculated from noisy data, J. Biomech., 13(8), pp. 459-470, 1982.
Angeloni, C., Riley, P. O., and Krebs, D. E., Frequency content of
whole body gait kinematic data, IEEE Trans. Rehabil. Eng., 2, pp. 4046, 1994.
Cooper, R. A., Digiovine, C. P., Boninger, M. L., Shimada, S. D.,
Robertson, R. N., Frequency analysis of 3-dimensional pushrim forces
and moments for manual wheelchair propulsion, Automedica, 16, pp.
355-365, 1998.
Allard, P., Blanchi, J. P., Gautier, G., Aissaoui, R., Technique de lissage
et de filtrage de donnes biomcaniques, Science & Sports, 5, pp. 27-38,
1990.
Hatze, H., The use of optimally regularized Fourier series for estimating
higher-order derivatives of noisy biomechanical data, J. Biomech., 14,
pp. 13-18.
Kay, S. M., and Marple, S. L., Spectrum analysis A modern
perspective, Proc. IEEE, 69, pp. 1380-1419, 1981.
Wachowiak, M. P., Rash, G. S., Quesada, P. M., and Desoky, A. H.,
Wavelet-based noise removal for biomechanical signals: a comparative
study, IEEE Trans. Biomed. Eng., vol. 47, pp. 360-368, 2000.
Georkakis, A., Stergioulas, L. K., and Giakas, G., Automatic algorithm
for filtering kinematic signals with impacts in the Wigner
representation, Med. Biol. Eng. Comput., 40, pp. 625-633, 2002.
DAmico M. and Ferrigno G, Technique for the evaluation of
derivatives from noisy biomechanical displacement data using a modelbased bandwith-selection parameter procedure, Medical & Biological
Engineering & Computing, 28, pp. 407-415, 1990.
Cappello, A., La Palombara, P. F., and Leardini, A., Optimization and
smoothing techniques in movement analysis, Int. J. Biomed. Comput.,
41, pp. 137-151, 1996.
Challis, J. H., A procedure for the automatic determination of filter
cuttof frequency for the processing of biomechanical data, J. Applied
Biomech., vol. 15, pp. 303-317, 1999.
Alonso F. J., Del Castillo J. M. and Pintado P, An automatic filtering
procedure for processing biomechanical kinematic signals, Lecture
Notes in Computer Science, 3337, pp. 281-291, 2004.
Hayes, M. H., Lattice filters, In Statistical digital signal processing
and modeling, John Wiley & Sons, Inc., Chap.6, pp. 289-333, 1996.
Shiflett, G. R. and Laub, A. J., The analysis of rigid body motion from
measured data, ASME Journal of Dynamic Systems, Measurement, and
Control, 177, pp.578-584, 1995.
Angeles J., On robusteness and invariance in motion estimation
algorithms, The 4th International Symposium on the 3D Analysis of
Human Movement, Grenoble, France, 1996.
Aissaoui, R., Mecheri, H., and de Guise, J.A., Validation of four major
algorithms for estimating the instantaneous helical axis with miniature
triaxial gyroscope, Proc. of the 26th Annual Int. conf. of the IEEE
EMBS. San Fransisco, CA, USA, September 1-5, pp. 2442 2445, 2004.
Walker J.A., Estimating velocities and accelerations of animal
locomotion:A simulation experiment comparing numerical differentiation
algorithms, The Journal of Experimental Biology, 201, pp. 981-995,
1998.
Giakas, G. and Baltzopoulos, V., A comparison of automatic filtering
techniques applied to biomechanical walking data J. Biomech., 30, pp.
847-850, 1997.
Allen, M. R., and Smith, L. A., Optimal filtering in singular spectrum
analysis, Physics Letters, A. 234, pp. 419-428, 1997.

You might also like