Next Article in Journal
Motorcycles that See: Multifocal Stereo Vision Sensor for Advanced Safety Systems in Tilting Vehicles
Previous Article in Journal
Three-Dimensional Terahertz Coded-Aperture Imaging Based on Single Input Multiple Output Technology
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

IMU-to-Segment Assignment and Orientation Alignment for the Lower Body Using Deep Learning

by
Tobias Zimmermann
1,2,
Bertram Taetz
1,2,* and
Gabriele Bleser
1,2
1
Junior Research Group wearHEALTH, University of Kaiserslautern, Gottlieb-Daimler-Str. 48, 67663 Kaiserslautern, Germany
2
Augmented Vision Department, DFKI, Trippstadter Str. 122, 67663 Kaiserslautern, Germany
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(1), 302; https://doi.org/10.3390/s18010302
Submission received: 17 December 2017 / Revised: 9 January 2018 / Accepted: 10 January 2018 / Published: 19 January 2018
(This article belongs to the Section Physical Sensors)

Abstract

:
Human body motion analysis based on wearable inertial measurement units (IMUs) receives a lot of attention from both the research community and the and industrial community. This is due to the significant role in, for instance, mobile health systems, sports and human computer interaction. In sensor based activity recognition, one of the major issues for obtaining reliable results is the sensor placement/assignment on the body. For inertial motion capture (joint kinematics estimation) and analysis, the IMU-to-segment (I2S) assignment and alignment are central issues to obtain biomechanical joint angles. Existing approaches for I2S assignment usually rely on hand crafted features and shallow classification approaches (e.g., support vector machines), with no agreement regarding the most suitable features for the assignment task. Moreover, estimating the complete orientation alignment of an IMU relative to the segment it is attached to using a machine learning approach has not been shown in literature so far. This is likely due to the high amount of training data that have to be recorded to suitably represent possible IMU alignment variations. In this work, we propose online approaches for solving the assignment and alignment tasks for an arbitrary amount of IMUs with respect to a biomechanical lower body model using a deep learning architecture and windows of 128 gyroscope and accelerometer data samples. For this, we combine convolutional neural networks (CNNs) for local filter learning with long-short-term memory (LSTM) recurrent networks as well as generalized recurrent units (GRUs) for learning time dynamic features. The assignment task is casted as a classification problem, while the alignment task is casted as a regression problem. In this framework, we demonstrate the feasibility of augmenting a limited amount of real IMU training data with simulated alignment variations and IMU data for improving the recognition/estimation accuracies. With the proposed approaches and final models we achieved 98.57% average accuracy over all segments for the I2S assignment task (100% when excluding left/right switches) and an average median angle error over all segments and axes of 2.91 ° for the I2S alignment task.

1. Introduction

Inertial measurement units (IMUs) comprise accelerometers and gyroscopes providing measurements of 3D acceleration including acceleration due to gravity and 3D angular velocity. In most cases, they also contain magnetometers adding 3D magnetic fields. This is also referred to as MIMUs. Nowadays, IMUs are small in size and can be obtained at low cost. They are thus present in a multitude of devices. They also enjoy a widespread use in many different application areas, where humans wear IMUs on the body or nearby, e.g., inside the clothes. This includes, for instance, mobile health and biomechanics [1,2,3,4,5].
The following sections provide related work for the IMU-to-segment (I2S) assignment and alignment problems, first for human body motion capture, and then for activity recognition. Afterwards, related work is provided for applications with simulated and synthetic data. Finally, our scope and contributions are summarized.

1.1. I2S Assignment and Alignment for Inertial Body Motion Capture

In inertial body motion capture, the data from multiple IMUs, so-called IMU networks, are fused with a biomechanical model of (parts of) the human body to reconstruct segment orientations and joint angles [6,7] and sometimes also joint positions [8]. Figure 1 illustrates a kinematic lower body configuration. For obtaining biomechanical joint angles and positions, both the assignment of each IMU to the respective body segment as well as the position and orientation of each sensor relative to the assigned segment need to be known [7,9,10,11]. The latter is referred to as IMU-to-segment (I2S) alignment or I2S calibration (cf. Figure 1). A comparison of different sensor fusion methods for inertial body motion tracking (segment orientation estimation) regarding I2S alignment errors indicated that the position of the sensor relative to the segment is usually far less important for obtaining valid segment orientations (which are typically of more interest than the positions) than the I2S orientation [7]. Some methods were even shown to be independent of the IMU positioning in this study. In contrast, I2S orientation errors were shown to propagate at least linearly into the orientation estimation of the respective segment (and as a result into the derived joint angles), for all tested methods (without considering joint constraints). Therefore, we focus on I2S assignment and I2S orientation estimation (subsequently denoted I2S alignment) in this work.
Basically, all current I2S calibration procedures assume the I2S assignment to be known. Some approaches estimate an I2S assignment and consider an underlying body model in a hierarchical manner [12,13]. The first used decision trees on manually selected features with correlations of sensor data to subsequently assign 17 IMUs for a full body configuration or eight IMUs for a lower body or trunk configuration during walking trials. The accuracy of this method was between 97.5 % and 100 % , if the sensors were on the predefined positions in a suit. If sensors were missing or the positions were altered, the method either did not work or the accuracy decreased considerably ( 75.9 % to 87.5 % ). Another recent approach assigned six IMUs to the lower limbs via constructed decisions based on walking characteristics and a proposed assignment hierarchy [13]. The accuracy of this approach ranged between 99.8 % and 100 % after three respectively five seconds of walking. However, the hierarchy needed multiple sensors. In contrast our approach considers each IMU individually and therefore scales to an arbitrary number of IMUs, including, for instance, only one IMU, seven IMUs (one on each considered lower body segment) or more than seven IMUs (multiple IMUs on one segment).
Assuming the I2S assignment to be known, obtaining a correct I2S calibration is still not trivial. Different calibration procedures have been proposed: static pose calibration that requires the user to take on specific poses [10], functional calibration [14,15], which requires the user to perform motions around predefined axes, or technical calibration that requires manual alignment of the IMUs with the bone structure [9]. In [9], typical I2S orientation calibration procedures were validated regarding their accuracy (trueness) and reproducibility (precision) relative to an optical reference system. The accuracy was in the range [ 8 ; 26 ] ° and precision was in the range [ 5 ; 10 ] °. This attests the potentially large (human-induced) errors with respect to (w.r.t.) the I2S orientation, even when persons were instructed to perform the calibration procedure through experts. One recent approach aims at simultaneous joint kinematics and I2S calibration estimation, exploiting moving horizon optimization with additional constraints and priors for the calibration parameters [11].

1.2. I2S Assignment and Alignment for Activity Recognition, Deep Learning Approaches

Besides inertial body motion capture, another related application that is typically based on one or few IMUs, for instance from a mobile phone worn on the body or inside the cloths, is human activity recognition (HAR). Here, the aim is to infer activities, such as walking, sitting or running, from the sensor data. There are many classification approaches that use different manually derived features based on properties of the IMU signals, see, e.g., [16,17]. The classification accuracy largely depends on the feature selection which can be time consuming [18]. This process can also be automated together with the classification model, which leads to end-to-end learning. Here, the resulting model is directly applied to the raw sensor data. Deep learning approaches [19] are a prominent representative for end-to-end learning and have tremendous success in different applications fields, such as computer vision (e.g., image classification, action or gesture recognition [20,21,22,23,24]) or speech recognition [25,26]. There are also related applications to IMU based HAR [18,27], including the recently proposed deep learning framework for HAR. The latter is based on multimodal sensors such as IMUs. It combines local feature learning based on convolutional neural network (CNN) units with time sequence learning based on recurrent long-short-term memory (LSTM) units and is named DeepConvLSTM [18]. Moreover, CNN kernels were analyzed for automatic feature extraction with the aim to transfer these to different HAR domains in order to reduce training time significantly [28]. Our work is inspired by the DeepConvLSTM approach.
One problem for the majority of activity recognition approaches is that many expressive features for the same activity may differ largely, depending on the placement of the IMU relative to the body. For instance the IMU signals in a trouser pocket or at the pelvis are usually different from the signals at the feet in case of walking. This often renders HAR unreliable if the sensor placement is not known. One approach to face this problem is to use features that are robust to location and/or alignment. These are, however, usually less expressive and thus inferior for the recognition of complex motion [29]. In [29] sensor placement variations for wearable activity recognition were investigated in a structured way. The variations where subdivided into: (1) on-body placement (i.e., the place where the user carries the sensor on the body, this corresponds to our I2S assignment); (2) within-body displacements (i.e., the variation of the sensor placement on the respective segment); and (3) orientation (i.e., the device orientation w.r.t. the users body, this corresponds to our I2S orientation alignment). There are also approaches given to mitigate the errors introduced by the respective variations. Wrong on-body placement often renders an activity recognition approach unreliable. A study on optimal positions for HAR was performed in [30]. The within-body displacement can also decrease activity recognition accuracy. Remedy can be found, e.g., by dynamically choosing the most robust features [29,31] or by applying low-pass filtering after orientation correction [32]. Orientation variations yield unreliable rotation dependent features that, however, usually incorporate a lot more information to separate activity classes compared to rotation independent features such as the vector norm [29]. In [33] the effect of 16 IMU orientation variations and different IMU locations to an activity recognition approach was evaluated and severe accuracy decreases were found. A projection of the data to an approximate global frame as well as a model switch for different body locations was proposed for remedy. There are also approaches that classify the approximate location of one sensor [34,35,36,37] during walking and activities of daily living [38]. In [39] the sensor location and activity was jointly classified using sparse signal representation. Another method used accelerometer and gyroscope data to classify different on-body positions [40]. In [41] the orientation of an IMU w.r.t. the hip was classified considering rotations around one axis in 90° steps. The data were then transformed into the corresponding reference frame resulting in increased accuracy. Note, none of the mentioned approaches reconstructed the complete 3D orientation of the IMU relative to the respective body part, i.e., the I2S alignment. Performing this reconstruction has the advantage that the sensor data can always be rotated into the segment coordinate system, no matter how the sensor is oriented. For a data based approach this automatically introduces the challenge of having enough training data for the different possible orientations. The required amount of training data as well as class labels increases exponentially depending on the intended alignment classification accuracy. Therefore, our approach casts the I2S alignment task as a regression problem and makes use of artificial training data from simulated I2S alignment variations.

1.3. Applications with Simulated/Synthetic IMU Data

There are different frameworks for simulating IMU data from IMU trajectories [42,43], the latter, for instance, used recorded optical motion capture data. In the field of inertial body motion tracking, IMU data simulation is often used for evaluating different estimation methods (e.g., [7,8,44]).
In the field of computer vision, synthetic data were used to augment or create training data for increasing classification performance [45,46,47]. A typical challenge is the difference in feature distortions between synthetic and real data, i.e. the synthetic gap [45,47]. One way to face this problem is by using a multichannel autoencoder to learn the mapping between synthetic and real data [47]. A recent work [46] interpreted the learning of a neural network using synthetic data as learning of a proposal distribution generator for approximate inference in the synthetic-data generative model. This interpretation was used to explain model misspecifications that could be shown by only slight data variations, leading to a significant decrease in classification accuracy. The remedy was found by broadening the synthetic generator via adding an elastic displacement field to the synthetic data, which also lead to significant accuracy improvements [48].
Simulated IMU data, however, have not yet been used and investigated as database for deep learning approaches. In particular, the feasibility of transferring models learned on simulated IMU data to real data scenarios, has, to the best of our knowledge, not yet been investigated.

1.4. Contributions and Scope

Given the importance of sensor assignment and alignment determination in multiple areas, an automatic approach would, on the one hand, reduce the influence of human induced errors and, on the other hand, simplify the installation of an IMU system.
The contributions of this paper can be summarized as follows:
  • We propose real-time capable deep learning approaches to solve the I2S assignment problem via classification and the I2S alignment problem via regression during walking for IMUs mounted on the lower body. The proposed approaches combine automatic feature learning via CNN units with time dynamic features based on two recurrent neural network approaches (LSTM and GRU). Since each IMU is handled individually, the proposed approaches scale to an arbitrary number of IMUs.
  • We propose and evaluate methods for simulating IMU training data for a variety of I2S alignment orientations during walking using freely available [49] and newly recorded motion capture datasets. This is our approach for counteracting the problem of requiring the recording of exponentially many training data for sufficiently sampling potential I2S alignment variations.
  • We investigate the performances of the proposed methods and approaches on simulated and real IMU test data, with different proportions of simulated and real IMU data used for training. The experiments show promising performances for both the classification and the regression problem with only a small amount of recorded IMU data (in terms of alignment variations).
In the following, the proposed methods, the datasets and experiments are introduced in Section 2 and Section 3, respectively. The results and a discussion are given in Section 4, and conclusions are drawn in Section 5.

2. Methods

First, the addressed problems are stated in Section 2.1. Then, the proposed network configurations with their different components are explained in Section 2.2. The involved coordinate frames and transformations are formalized in Section 2.3. Finally, Section 2.4 provides details on different aspects of our IMU data simulation.

2.1. Problem Statement

We address the following problems during walking motion (cf. Figure 1):
  • I2S assignment: Each IMU is separately assigned to the skeleton segment it is attached to. This results in the classification problem of mapping a window of (raw) IMU data to one of the seven classes associated to the lower body segments: (1) LeftFoot; (2) LeftLowerLeg; (3) LeftUpperLeg; (4) Pelvis; (5) RightUpperLeg; (6) RightLowerLeg; and (7) RightFoot.
  • I2S alignment: Each IMU’s orientation w.r.t. the associated segment is estimated via regression based on a window of IMU data. Note, I2S positions are assumed constant (on the middle of the respective segment) in this work.
In both cases, we use windows of 128 gyroscope and accelerometer data samples of the considered IMU as inputs. Moreover, throughout this work, the windows are always shifted by 16 data samples.
Note, successfully solving the stated problems provides I2S assignment and alignment of, in principle, any number of IMUs (they are treated separately) to the lower body skeleton in about two seconds of walking (assuming 60 Hz frequency) without using magnetometer data.

2.2. Proposed Networks

This section presents the network configurations proposed for solving the above stated problems. It starts with a general overview and then provides a mathematical formalization.
Figure 2 illustrates the structure of the proposed networks for both the classification and the regression task.
The configurations follow the general framework described in [18] with modifications described subsequently. Input denotes the input layer, i.e., (in this work) a window of 128 accelerometer and gyroscope data. Gaussian Noise refers to data augmenting noise samples, which we have introduced for processing simulated IMU data (cf. Section 2.4.1). A regularization based on Input Dropout has been introduced to avoid over-fitting (cf. Section 2.2.4). The main building blocks are the CNN Layer and the RNN Layer, where the latter is constructed differently for the classification and the regression problem. More details including the proposed modifications w.r.t. [18] are provided in Section 2.2.2 and Section 2.2.3. The respective final recurrent layer is densely connected with the output layer Output via a fully connected layer (FC Layer). The output layer either represents classes via probabilities using a Softmax layer (classification problem) or it maps to the components of a vector (regression problem), here representing the I2S alignment orientation. For the former, the class with the highest probability is chosen.

2.2.1. Notation

A deep neural network with L > 2 layers consists of an input layer with several input units ( a 1 : T 1 ), several hidden layers with activation units ( a 1 : T l , 1 < l < ) and an output layer with units a 1 : T L . The latter might be a softmax layer for classification or an identity layer mapping to the previous layer for regression.
Given a sequence of T gyroscope ( x gyr R 3 ) and accelerometer ( x acc R 3 ) data of (without loss of generality) one IMU, we stack these data to obtain the input data a 1 : T 1 = ( a 1 ( 1 ) , , a 1 ( T ) ) , where a 1 ( t ) = ( x acc ( t ) T , x gyr ( t ) T ) T denotes the IMU data at time t. We call the stacked components of the input units ( a j 1 ( t ) = ( a 1 ( t ) ) j , j = 1 , , 6 ) channels.
A dense connection between the input layer ( l = 1 ) and the next layer at time t (i.e., a fully connected layer) can be formalized as
a 2 ( t ) = σ ( W a , a 1 a 1 ( t ) + b 1 ( t ) ) .
Here, a 2 ( t ) are the activations of layer 2, and W a , a 1 is the weight matrix of layer 1 with the subscript denoting a connection from one activation to another activation. Moreover, ( W a , a 1 ) i , j represents the weight between activation j in layer 1 and i in layer 2. Further, a 1 ( t ) are the channels of the input data, b 1 ( t ) are the biases and σ is the non-linear activation function, which is typically applied to each component of the resulting vector separately. The specific functions are given in the subsections below.

2.2.2. Convolutional Neural Network (CNN) Layer

A CNN layer convolves (or often cross-correlates) activations of a layer, e.g., the input layer, with kernels (filters). CNNs with multiple layers perform convolutions on the respective activations of the previous layer. The convolution with the kernel yields a weight sharing between activations, which has different advantages for data with neighborhood relations (either spatially, temporally or both, depending on the kernel used). First, the amount of parameters to be estimated is reduced compared to a fully connected layer. Second, through the weight sharing, the generalization of the “learned” convolution kernel and the resulting feature map, i.e., the activation map at the next layer, is usually increased (if enough data is available). CNNs are thus often employed to learn features automatically. They can adapt well to locally disturbing effects like noises and slight biases, given a large enough kernel size.
The following formalization is inspired by [18]. To simplify notation, we consider the convolution over one channel of the input sequence. The convolution is then applied for each channel separately. A CNN with a single layer extracts features from the input signal through a convolution operation of the signal with a kernel. In a CNN, the activation of a unit represents the result of the convolution of the kernel with the complete input signal of the considered window (or activation of the previous layer in the case of stacked CNNs). The kernels are optimized as part of the supervised training process. The dimensionality of the kernel depends on the input data and their neighborhood relations. We use 1D kernels in this work as previously proposed for temporal convolution [4]. We consider a feature map as an array of units that share the same parameterization (weight vector and bias). We denote the amount of feature maps per layer l as F l . At the input layer, we have F 1 = 1 for each channel of the input signal, resulting in one feature map. Further feature maps are introduced in layers l 2 to be able to learn different filters/kernels to respond to different patterns. In what follows, the term K k , f l denotes a 1D kernel convolved over feature map f in layer l to create feature map k. With the activation of feature map f at unit τ in layer l ( a f l ( τ ) ), this convolution can be written as
( K k a ) f l ( τ ) = p = P / 2 P / 2 a f l ( τ p ) K k , f l ( p ) .
Here, P is the width of the kernel. The feature map k of layer l + 1 at unit τ can be obtained from the feature maps of the previous layer l, including the above defined convolution, as follows
a k ( l + 1 ) ( τ ) = σ B N f = 1 F l ( K k a ) f l ( τ ) + b k l ( τ ) .
Here, σ ( a ) = max ( a , 0 ) is a rectified linear unit (ReLu) activation function, B N denotes the batch normalization per activation as further detailed in [50]—it normalizes the convolution output by mean and variance—and b k l ( τ ) represents the bias.
Note, a model with several convolutional layers in a stacked configuration (where the output of layer l is the input for layer l + 1 ) may be able to learn a hierarchical representation of the data, where deeper layers represent the inputs in a more and more abstract way [18].
Compared to [18], besides a slightly larger kernel size (cf. Table A1 for all hyper parameters), the main difference of the proposed CNN layers is the inclusion of the normalization (BN) to push the activations closer to zero mean and unit variance. In our tests, this gave better results compared to the original convolution layers used in [18]. An explanation for this might be the differences in the data characteristics when mixing simulated and real IMU data for training. Note, network configuration tests are further detailed in Section 4.1. Figure 3 illustrates the convolution from the input to the second layer.

2.2.3. Recurrent Neural Network (RNN) Layer

The (feed forward) CNN layers presented in Section 2.2.2 are well suited for learning locally robust features in a time sequence. To represent and learn temporal dynamics of arbitrarily long sequences, a so called RNN has shown to be efficient both regarding its representation power and the required amount of parameters and input data [19,25]. Recurrent neural networks consist of cells with recurrent connections, i.e., forming a directed circle. A drawback of this approach is the problem of vanishing and exploding gradients for long-term dependencies [51]. While there are different approaches to prevent this, we use LSTM and GRU layers, as proposed by [25,52]. In our evaluation the LSTM approach showed the most beneficial behavior for the considered regression problem, while the GRU approach performed best for the classification problem, with comparably less parameters. Note, in [18], only LSTMs were used. Both approaches are further detailed and formalized in Appendix A.

2.2.4. Dropout Layer

To regularize the proposed model, we tested different dropout (statistical regularization) techniques [53]. It was shown that dropout is, on the one hand, more computational efficient than training multiple models for model averaging. On the other hand, it was shown to perform very well in combination with other regularizations, such as L 2 -Regularization and Early Stopping [54]. Thus, we evaluated the impact of L 2 -Regularization and Early Stopping as regularization methods in addition to dropout, on the same dataset as used for the other configurations, described in Section 4.1. Regarding dropout we tested input dropout with a keep probability of 0.8 [54], naive dropout between the fully connected layers and variational dropout between the RNN layers (latter both with keep probability of 0.5) [55], by taking the same dropout mask in each time step on the input, output and recurrent connections. We achieved the best results with an input dropout of 0.8 and no dropout between RNN cells as well as between the fully connected layers, in combination with an L 2 Regularization with a small weight (see Table A1 in Appendix A).

2.2.5. Application of the Proposed Networks

Applying the above described network configurations to the considered problems has the following implications. For the I2S assignment problem, the output layer is a linear activation with seven hidden nodes that enter the softmax layer resulting in seven probabilities. Here, the highest probability is chosen to represent the predicted IMU location on the lower body (i.e., the I2S assignment). As objective function, we used a cross entropy loss function, during training. Solving the I2S alignment problem requires a suitable rotation parametrization. In order to circumvent the inclusion of additional constraints, we compared two minimal parameterizations in a plausibility test: axis angle and stereographic projection of a unit quaternion [56]. While the former representation is more widespread, it has a singularity around the identity rotation, which can lead to numerical instabilities, if it is not specifically handled. Moreover, the derivatives include irrational sine and cosine terms that are nonlinear and need some sort of approximation during optimization, which can deteriorate convergence and accuracy [56]. The stereographic projection of a quaternion provides a minimal parameterization, for which the derivatives are rational and more. Moreover, there is no singularity for the identity rotation. This parametrization also gave significantly better results in our plausibility tests, which convinced us to use this representation for all further tests. Since the stereographic projection of a unit quaternion is a 3D vector, the output layer mentioned in Section 2.2 is a linear activation with three hidden nodes, the output of which is the predicted I2S alignment. As objective function, we used an L 2 loss function, during training.

2.3. Coordinate frames and transformations

We use three different coordinate frames: The global frame G is a fixed reference frame, S refers to the coordinate frame attached to the considered skeleton segment, and I refers to the coordinate frame attached to the considered IMU (cf. Figure 4). Moreover, the quantities R G S , S G and R G I , I G denote the poses (orientations and positions) of the considered segment and IMU coordinate frames w.r.t. the global frame. From these, the respective I2S orientation (alignment) and position can be obtained as
R S I = R S G R G I = ( R G S ) T R G I
I S = R S G ( I G S G ) .
In addition, given 3D kinematics data in terms of global segment poses ( R G S , S G ) and I2S poses ( R S I , I S ), the IMU poses can be obtained as
R G I = R G S R S I
I G = R G S I S + S G .
These relations are required for IMU data simulation as detailed in the following Section 2.4. Moreover, R S I denotes the I2S alignment for a given IMU that we want to predict.

2.4. Creation of Artificial Training Data

A major part of this work concerns the mixing of simulated and real IMU training data for increasing the accuracy of the proposed networks w.r.t. the I2S assignment and alignment tasks without the need to record large amounts of training data with alignment variations. This section details the creation of artificial training data in terms of simulated IMU data from available 3D kinematics data (global segment orientations and positions). Here, lower body kinematics data for walking was obtained through own recordings with a commercial IMU based system [57] as well as from an available motion capture dataset [49] (see Section 3.1 for further details on the used datasets). For both sources, the kinematics data were mapped to the skeleton shown in Figure 1. For creating artificial training data, the first step consisted of simulating a suitable set of I2S alignments for each body segment (Section 2.4.1). Note, in this work, we considered variations of the I2S orientations ( R S I ), while keeping the I2S positions ( I S ) stationary on the midpoints of the respective segment axes (i.e., inside the bones). The second step consisted of using these I2S alignments together with the global segment poses available from the 3D kinematics data to obtain sets of IMU trajectories for each segment, from which ideally simulated IMU data was obtained through differentiation. This was followed by mimicking different measurement artifacts to obtain realistic IMU data. The latter steps are detailed in Section 2.4.2.

2.4.1. Simulation of I2S Alignment Variations

An illustration of the I2S alignment variation simulation for one segment is shown in Figure 4. The basic idea is to, in a structured way, generate orientation variation samples for each IMU and associated segment according to the assumptions that body segments can be approximated by capsule like surfaces and IMUs are aligned tangentially to these surfaces, i.e., that their z-axes are approximately aligned with the outward pointing surface normals [11]. This can be achieved by systematically sampling rotation angle tuples ( θ 1 , θ 2 ) l R × R , l = 1 , , N with R being a set of N equidistant angle samples (of the full circle) and applying these to both the z-axis of the considered IMU (in the IMU coordinate frame) and the axis that connects segment origin and end, represented in the respective segment coordinate system. Formalizing this results in alignment variations R ^ l S I , l = 1 , , N with
R ^ l S I = R a ( θ 2 , l ) R S I R z ( θ 1 , l ) , l = 1 , , N .
Here, R S I is the assumed initial I2S alignment, e.g., an actual alignment used during an IMU based recording and obtained from an N-pose calibration [10]. The symbol R x ( θ ) denotes a rotation of angle θ around rotation axis x and N depends on the angle step size. For the experiments, we used R = { 0 , 45 , 90 , , 315 } leading to N = 64 alignment variations. Note, while R z always corresponds to the IMU’s z-axis (represented in the IMU coordinate frame), R a depends on the body location and is chosen as a = z (i.e., the segment’s z-axis represented in the segment coordinate system) for left and right upper and lower legs, a = y for the pelvis and a = ( 0.9 , 0.0 , 0.4 ) T for the feet. The latter approximates the vector between the foot’s origin and the head of the second metatarsal bone projected onto the ground [8]. These choices correspond to the assumed skeleton definition (segment coordinate systems), as further detailed in Section 3.1.

2.4.2. Simulation of Realistic IMU Data

Given a time sequence of global segment poses (i.e., 3D kinematics data) and a set of constant I2S poses as obtained from the procedure described in the previous section (i.e., neglecting soft tissue artifacts), time sequences of IMU poses were calculated using Equation (6). From this, ideal IMU datasets were simulated using standard data differentiation [58]. Note, in order to compensate for measurement artifacts in the used motion capture data, the global segment pose data was preprocessed with a zero lag Butterworth filter of order 8 and a cutoff frequency of 10 Hz [59]. Moreover, quantization artifacts (sensor ranges and digital resolution) were mimicked according to the specifications of the actual IMUs used in this work [57].
Figure 5 illustrates an example of good correspondence between real and re-simulated IMU data for a plausibility test, where IMUs were rigidly mounted on a rigid body (i.e., excluding soft tissue artifacts) moved freely in space and were additionally tracked with a gold standard marker based optical system [60]. The Pearson correlation coefficients between real and re-simulated accelerometer and gyroscope data were on average for all channels and IMUs 0.99 and 0.97 , respectively (see Table A2 and Table A3 in Appendix B).
We also compared our results to the simulated IMU data obtained from IMUSim [42] with comparable results (Pearson correlation coefficients when using [42]: 0.91 and 0.97 , respectively).
Figure 6 shows an example comparison of real and re-simulated data from a walking motion (IMU on the right foot). Here, the average Pearson correlation coefficients over all channels and all IMUs were 0.57 for the accelerometers and 0.93 for the gyroscopes (see Table A4 and Table A5 in Appendix B). The comparably lower correlation coefficient for the accelerometers is shown in Figure 6. Here, the greatest differences between real and re-simulated data are observed during the ground impacts.
This synthetic gap can be a result of additional artifacts due to clothing or soft-tissue (causing additional accelerations), which are most severe during ground impacts. The approximated I2S position assumption can also add artifacts. To initially address this, inspired by [61], we added zero-mean Gaussian noise ( e a N ( 0 , σ 2 ) , with σ 2 = 1 m/s 2 ) to all accelerometer channels. Note, we considered the gyroscope data to be reasonable without additional noise, in this work. Figure 7 augments Figure 6 by showing 100 re-simulated noisy signals per timestep. In addition, the absolute errors between real and re-simulated signals are shown.
Qualitatively speaking, it can be seen in the figure that the real accelerometer signal is often included in the fan of noisy re-simulated signals. Quantitatively, this shows in a drop of the average RMSE over all channels and all IMUs from 4.02 m/s 2 for a signal without noise to 1.23 m/s 2 when considering the closest noise sample at each timestep (i.e., the optimal case). Anticipating the experimental results in Section 4, the addition of Gaussian noise resulted in a considerable improvement w.r.t. the addressed I2S assignment and alignment tasks (8 percent and 1.5 degrees, respectively, for purely training networks on (noisy) simulated IMU data and testing on unseen labeled real IMU data). Hence, we kept this setting for the subsequent experiments and left more sophisticated soft tissue models (e.g., [61]), general motion artifact compensation (e.g., [62]) or specific compensation of walking artifacts to future work.

3. Datasets and Experiments

This section introduces the datasets used to train and evaluate the proposed networks (Section 3.1), the training configuration and time (Section 3.2) as well as the error metrics used for evaluation (Section 3.3).

3.1. Datasets

Three datasets (A,B, and C) were used for training and evaluation. Dataset A extracts walking motions from the publicly available CMU dataset [49]. The latter provides 3D kinematics data captured with a marker based optical motion capture system. The other datasets consist of IMU and 3D kinematics data recorded with the Xsens Awinda MVN Studio software and the Xsens Awinda IMU hardware [57]. More details are given in the following:
A 
IMU data simulated from the 3D kinematics data of parts of the CMU dataset (42 participants performing different walking styles, see Table A6 in Appendix C). Note, this dataset is distinguished by a high amount of simulated IMU configuration variations (as described in Section 2.4) based on an already high amount of variability in the 3D kinematics data (in terms of persons and walking styles) used for simulation.
B 
Collected real IMU data from four male participants (mean age: 32, mean weight: 82 kg, mean height: 181 cm) instructed to walk for one minute back and forth (within an area of five by five meters), with nine different IMU configurations as detailed in Appendix C (Table A7).
C 
Collected real IMU data from 28 participants (13/15 male/female, mean age: 25 years, mean weight: 70 kg, mean height: 176 cm) instructed to walk for six minutes in an eight-shape within an area of about five by five meters, with one standard IMU configuration, different from the previously mentioned nine configurations (see Figure 8). This study was approved by the Ethical Committee of the University of Kaiserslautern and written informed consent was obtained from all participants prior to their participation.

3.2. Training

In this work, we utilized methods from the Tensorflow library [63] for training and evaluation of the proposed network configurations. The training was performed on Nvidia GPUs with an average training time of twelve hours for the I2S assignment model and 48 hours for the I2S alignment model. Further details regarding the choice of the optimizer and different hyper parameters can be found in Appendix D (Table A1).

3.3. Evaluation

For model evaluation disjoint training, validation and test sets were created from the above mentioned datasets. According to the leave-one-subject-out (LOSO) method, the test sets consisted of persons not used for training. The training and validation sets were created with a 95% to 5% splitting. The training data were used to train the model. Evaluation on the same data allows verifying whether the model is able to reconstruct the labels of the training data. The validation data were used to evaluate the model on unseen data during the training process. Finally, the test data were used to evaluate the model on data from a person that was not present during the training process. Together, this provides indications of the model’s ability to generalize to unseen data and users.
Two different sets of error measures were used for evaluating the classification and the regression approach. The performance of the classification model was assessed via three scalar measurements based on the classification output in comparison to the ground truth dataset labels, i.e.,
precision = true positives true positives + false positives ,
recall = true positives false positives + false negatives ,
and
f 1 = precision · recall precision + recall .
The performance of the regression model was assessed by comparing the predicted I2S alignment orientation quaternions ( q ˜ i ) with the ground truth quaternions ( q i ) for each window i. The orientation deviations ( q i · q ˜ i 1 ) were decomposed into (absolute) angular deviations ( α e r r , i , a x 0 , α e r r , i , a x 1 , α e r r , i , a x 2 ) around the x-, y-, z-coordinate axes of the respective segment coordinate frame using an Euler angle decomposition of order X Y Z (cf. Figure 4). From these measures (which are in the range [ 0 , 180 ] ) we calculated typical statistics including minimum, maximum, mean, median, and mean squared angular errors in the considered dataset. Note, we also use box plots to illustrate the errors. Here, a white circle denotes the mean, a line across the box denotes the median, a colored bounding box denotes the upper ( > 75 % ) and lower ( < 25 % ) quantiles, and whiskers of 1.5 times the inter quantile range denote the upper and lower bounds.

4. Results and Discussion

This section details the results of applying the proposed methods to the different datasets while moving from simulated to real IMU data. Note, the hyper parameters summarized in Appendix A (Table A1) were obtained through cross validations on dataset A and were used for all experiments. Section 4.1 first provides an evaluation of different network configurations on dataset A, i.e., simulated IMU data for training and evaluation. Section 4.2 then provides evaluation results for the models trained with the proposed (best performing) network configurations (as illustrated in Figure 2) on dataset A. These are subsequently denoted pre-trained models. Thereafter, Section 4.3 evaluates the effects of combining the pre-trained models with simulated and real IMU data for training when testing on real IMU data. This uses dataset B. Finally, Section 4.4 provides an evaluation of the final models using all datasets.

4.1. Evaluation of Network Configurations on Dataset A

The network configurations described in Section 2.2 (and motivated by [18]) combine CNN and RNN layers. This aims for a model that allows to extract local IMU signal patterns via the CNN layers as well as long-term dependencies via the RNN layers. To evaluate the performances of different network configurations in our considered problems, we performed cross validations using only CNN layers, only RNN layers and a combination of both based on dataset A. The results for both the I2S assignment and alignment tasks are provided in Figure 9 and in Appendix D (Table A8 and Table A9). They clearly confirm the superiority of the proposed combination also for our problems.

4.2. Pre-trained Models Based on Dataset A

The next step consisted of model training and evaluation on dataset A, i.e., training and testing on simulated IMU data. Figure 10a shows the results for the I2S assignment problem in terms of a confusion matrix. The model achieved 99.99% precision, recall and f-score. Figure 10b shows the results for the I2S alignment problem in terms of box plots of the absolute angular deviations (angle errors) around the three body segment coordinate axes exemplary for the left foot. The mean error over all windows and axes was 0.62 ° and the maximum error was 4.23 ° (cf. Figure 9 (right) for average results concerning the other segments).
These results attest a good performance of the trained models under controlled conditions (simulated IMU data). Note that we already included Gaussian noise to cover additional real-world effects (cf. Section 2.4.1).
The models trained on dataset A correspond to a proposal distribution generator for an approximate inference from a synthetic data generative model [46], which created the motion samples of dataset A. In the following, these models are denoted pre-trained models.

4.3. Impact of Mixing Real and Simulated IMU Training Data Based on Dataset B

To investigate the effects of combining simulated and real IMU data for training when testing on real IMU data from a person not seen during training, we performed four tests based on dataset B:
  • Training on real IMU data from three persons (nine alignment variations each, see Table A7 in Appendix C), testing on real IMU data from the left out (test) person (nine alignment variations).
  • Training on re-simulated IMU data from three persons (64 simulated alignment variations per real IMU alignment), testing on real IMU data from the test person (nine alignment variations).
  • Setup 2, but with additionally using the real IMU data captured from the three participants (nine alignment variations) for training (i.e., 1 / 65 of the training data is based on real IMU data).
  • Setup 3, with the training being warm-started with the pre-trained models of Section 4.2.
Here, test case 1 can be considered as baseline (training and testing on only few real IMU data), while cases 2 through 4 represent different strategies of using simulated IMU data for increasing the I2S alignment variations present in the training dataset.
Figure 11a shows the results of test case 1 for the I2S assignment problem. The average accuracy was 94% with the main source of inaccuracy being the feet. Figure 11b shows the results for the I2S alignment problem in terms of per segment mean, median and maximum angle errors over all windows, axes and considered IMU configurations. Here, the model performed rather poorly, with an overall (over all segments) mean angle error of 63.33 °, average median angle error of 54.62 ° and maximum angle error of 179.99 °. This indicates that the training data did not contain sufficient alignment variations for the proposed regression approach.
The following sections describe the effects of augmenting the real IMU training data with simulated training data when testing on real IMU data from an unseen person (test cases 2 through 4), first for the I2S assignment then for the I2S alignment problem.

4.3.1. I2S Assignment Problem

Training on purely simulated data from few participants and then testing on real IMU data from an unseen participant (test case 2) gave an overall accuracy of 68% for the I2S assignment problem. This is a significant decrease compared to the baseline test case 1. Note, the majority of mis-classifications are due to left/right switches that are not explicitly handled in this approach (see Figure 12a). Hence, the prior distribution induced via the few simulated IMU data seems to be insufficient for a high classification accuracy. Adding a small amount of real IMU data to the training set (test case 3) resulted in a performance increase to an average accuracy of 92 % (see Figure 12b). Note, the accuracy is still slightly lower compared to the baseline test case 1 (real training data only). Using the pre-trained model from Section 4.2 (based on dataset A) resulted in an average accuracy of 96 % (see Figure 12c). This last model performed best with an additional accuracy improvement of 4 % as compared to test case 3 (without pre-training) and an increase of 2 % compared to the baseline test case 1.
In summary, these results indicate that a pre-training with simulated IMU data from an existing motion capture dataset (dataset A) in combination with a mixture of simulated and real IMU training data from a small additionally captured dataset (dataset B) yield already promising results for the I2S assignment problem in a real data scenario.

4.3.2. I2S Alignment Problem

Figure 13 summarizes the evaluation results for test cases 1 through 4 for the I2S alignment problem. Training on purely simulated IMU data (test case 2) resulted in an overall (over all segments) mean angle error over all windows and axes of 33.30 °. The maximum was 147.64 ° and the average median was 23.46 °. This already constitutes a considerable improvement as compared to the baseline test case 1. Adding real IMU data to the training set (test case 3) resulted in a further reduction of the angle errors. The overall mean angle error reduced to 22.5 °, the maximum to 143.13 ° and the average median to 18.11 °. Finally, a slight additional improvement was achieved by using the pre-trained model from Section 4.2 (test case 4). Here, the overall mean, maximum and average median angle error further reduced to 21.35 °, 142.03 ° and 16.59 °, respectively. In summary, these results indicate that our proposed approaches of simulating IMU data and combining the result with real IMU data for training can considerably increase the I2S alignment estimation accuracy when using only a small specifically captured dataset (dataset B).

4.4. Evaluation of the Final Models

In a last step, final models were trained across all datasets. More specifically, test case 4 in Section 4.3 was extended with real and simulated IMU training data based on dataset C. The final models were tested with two test persons, one randomly selected from dataset B and one randomly selected from dataset C, both not used for training. Hence, the test data included ten different IMU configurations. The following sections describe the evaluation results, first for the I2S assignment then for the I2S alignment problem.

4.4.1. I2S Assignment Problem

Figure 14 shows the evaluation results (over all test persons/IMU configurations) for the I2S assignment problem. The average accuracy was 98.57 % . We also performed separate evaluations for each different sensor configuration in the test data. The results in terms of confusion matrices are all given in Appendix E (Figure A2, Figure A3, Figure A4, Figure A5, Figure A6, Figure A7, Figure A8, Figure A9, Figure A10 and Figure A11). The average accuracies over all IMUs ranged between 96.14 % and 100 % . These results attest a consistently high accuracy for the I2S assignment for a variety of IMU assignments and alignments with our proposed approach. Note that errors only occurred due to left/right leg switches, which are hard to distinguish or even indistinguishable for some cases (if the segments are treated individually as done in our approach).

4.4.2. I2S Alignment Problem

Figure 15 summarizes the evaluation results for the I2S alignment problem in terms of the average median angle errors for all axes over all windows, test persons and IMU configurations. With an overall (over all windows, axes, segments, test persons and IMU configurations) mean angle error of 15.21 ° and average median of 2.91 °, the results further improved considerably compared to test case 4 in Section 4.3.2 (the maximum was slightly higher with 168.58 °) (see Table A10 in Appendix E for additional results). Hence, the addition of a higher amount of real IMU data (with one IMU configuration) completed with simulated alignment variations further increased the degree of generalization of the trained networks.

5. Conclusions

The aim of this work was to investigate the potential of deep learning for the challenging tasks of I2S assignment and alignment w.r.t. a biomechanical lower body model based on windows of IMU data (angular velocities, accelerations). We used only small data windows (128 samples) in order to obtain a real-time capable approach. Moreover, we considered each IMU separately in order to obtain an easily adaptable approach for applications in both inertial body motion capture (which is often based on multiple IMUs) and human activity recognition (which often uses a single IMU). Moreover, we aimed at using only a limited amount of real IMU data (in terms of I2S alignments) for training in order to obtain a practical approach.
We confronted these challenges by combining real IMU data samples with additional artificially generated IMU data based on available and newly captured 3D kinematics data. The generation of artificial IMU data was based on the simulation of I2S alignment variations followed by the simulation of noisy IMU data, where the noise was added to reduce the synthetic gap. For both the I2S assignment and alignment determination we utilized a suitable combination of CNN and RNN (LSTM and GRU) based neural network approach.
Regarding the evaluation results on real IMU data, the most promising approach consisted of combining simulated and real IMU data for training, while warm-starting the training with models pre-trained on a purely simulated dataset.
For the I2S assignment problem we achieved 94 % average accuracy on a small newly recorded dataset with only four persons and nine I2S alignment variations. This was improved to 96 % by augmenting the real training data with simulated I2S alignment variations and by starting from a pre-trained model based on purely simulated IMU data (see Section 4.3). With a further increase of the amount of real IMU data (eight-shaped walking from 28 persons and one standard I2S alignment) we obtained an average accuracy of 98.57 % (see Section 4.4). Note, the remaining errors were only due to left/right switches. The segments (pelvis, upper leg, lower leg, and foot) where identified with 100 % accuracy. Hence, a reliable left/right assignment is one part of our future work.
For the I2S alignment problem we achieved significant improvements when mixing real and simulated IMU data for training. When training and testing on the newly captured dataset with only four persons and nine I2S alignment variations the angle errors were rather large, e.g., 63.33 ° overall mean angle error, 179.99 ° overall maximum angle error and 54.62 ° overall median angle error (Section 4.3). This, however, considerably improved to an overall mean of 21.35 °, maximum of 142.03 ° and median of 16.59 ° when augmenting the real training data with simulated I2S alignment variations and by starting from the pre-trained model (see Section 4.3). When increasing the amount of real IMU data for training as mentioned above the proposed approach showed an additional improvement (overall mean and median angle errors of 15.21 ° and 2.91 °, respectively). The observed outliers (overall maximum of 168.58 °) were likely caused by real-world effects that were not yet sufficiently covered by the training dataset (e.g., amount of real I2S alignment variations and movement variations, soft tissue artifacts, and I2S position offsets).
Altogether, these results demonstrate the feasibility of augmenting real IMU training data with simulated data for improving the recognition/estimation accuracies. Note that the proposed approach provides I2S assignment and alignment of, in principle, any number of IMUs (they are treated separately) to the lower body skeleton in about two seconds of walking (assuming 60 Hz frequency) without using magnetometer data.
To further improve the validity and reliability of the proposed approach, there are a few interesting avenues for future research: the inclusion of uncertainties into the proposed approach, e.g., based on Bayesian deep learning [53] to provide indications for reliable I2S alignment estimates; a reliable left/right assignment; and an extension to the full body. In general, a more sophisticated approach for IMU data simulation, e.g., based on more realistic body shapes [64], a better soft tissue model, possibly such as the one used in [61], and the modeling of I2S position offsets could further reduce the synthetic gap in IMU data simulation and by this the amount of outliers and the required amount of real data.

Acknowledgments

This work was performed by the Interdisciplinary Junior Research Group wearHEALTH at the University of Kaiserslautern, funded by the BMBF (16SV7115), in cooperation with the Augmented Vision Department at DFKI Kaiserslautern. We thank Didier Stricker for supporting this work. For more information, please visit the websites www.wearhealth.org and av.dfki.de.

Author Contributions

T.Z. designed and implemented the system, contributed to the design of the experiments and conducted the experiments, analyzed the data and contributed to writing the article. B.T. supervised the design and implementation of the system, designed the experiments and supervised their conduction, analyzed the results and wrote the article. G.B. contributed to data analysis and writing of the article.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Proposed Network Configurations

Appendix A.1. Long Short-Term Memory (LSTM)

The core of the LSTM networks are the LSTM cells that replace the recurrent connections in the RNN approach with gated cells. The idea is that the recurrence is jointly trained with gates, which in turn control the information flow through the cell and are therefore able to counteract the vanishing and exploding gradient problem. LSTMs have been shown to learn long time dependencies more easily than RNNs. Note that these dependencies can also reach over a considered input window of data. The input to the LSTM cell consists of an activation at time t ( a ( t ) ) and the output of the previous hidden state of the cell h ( t 1 ) . The hidden state is usually initialized with h ( 0 ) = 0 . The LSTM cell consists of different components. The cell state c ( t ) is updated in a controlled manner, via different gates. The forget gate controls the amount of information from past cell states that should be prevented from influencing future cell states. It is updated as
f ( t ) = σ f ( W a , f a ( t ) + W h , f h ( t 1 ) + b f ) .
Here and in the following, the subscripts of the matrices denote the from-to relationship [18], i.e., W a , f is a matrix that relates the (input) activation vector to the vector f(t) representing the forget gate. W h , f relates the hidden state h ( t 1 ) and f(t). The activation function σ f is a tangens-hyperbolicus (tanh) function and b f denotes a bias. The input gate i ( t ) controls the amount of information that is allowed to modify the cell state via the hidden state and current activation. It is updated as
i ( t ) = σ i ( W a , i a ( t ) + W h , i h ( t 1 ) + b i ) .
As above, W a , i and W h , i are matrices, b i is a bias vector and σ i a tanh function. The cell state is updated with a conditional self-loop, weighted by the forget gate vector and the update weighted by the input gate vector
c ( t ) = f ( t ) c ( t 1 ) + i ( t ) σ c ( W a , c a ( t ) + W h , c h ( t 1 ) + b c ) .
Here, ⊙ denotes an element-wise multiplication. Again, W a , c and W h , c denote matrices, b c denotes a bias vector and σ c is a tanh function. Finally, the output gate vector and the hidden state at the next timestep ( h ( t ) ) are computed as
o ( t ) = σ o ( W a , o a + W h , o h ( t 1 ) + W c , o c ( t ) + b o ) ,
h ( t ) = o ( t ) σ h ( c ( t ) ) .
Again, W h , o and W c , o are matrices, b o is a bias vector and σ o , σ h are tanh functions.

Appendix A.2. Gated Recurrent Unit (GRU)

In contrast to an LSTM cell, the GRU cell, as introduced in [52], fuses forget and input gate to an update gate. Further, it merges the cell and hidden states. This results in a reduced amount of parameters and, hence, a simpler model. Similar to the LSTM cell, a new state is computed as a linear sum between the previous and current determined state, although GRU cells do not provide a mechanism for controlling the degree of state exposure. The state, h ( t ) , is computed as
h ( t ) = ( 1 z ( t ) ) h ( t 1 ) + z ( t ) h ˜ ( t ) ,
where h ˜ ( t ) denotes the candidate state and z ( t ) the update gate. The update gate, which determines the degree to which the previous cell state and the candidate state contribute to the cell update, is updated as
z ( t ) = σ z W a , z a ( t ) + W h , z h ( t 1 ) ,
where W a , z and W h , z are weight matrices, as in Appendix A.1. The candidate state h ˜ ( t ) is related to the calculation of a traditional recurrent unit as in [65]. It is updated as
h ˜ ( t ) = σ h ˜ ( W a , h ˜ a ( t ) + r ( t ) ( W r , h ˜ h ( t 1 ) ) ) .
Here, r ( t ) represents the reset gate, W a , h ˜ and W r , h ˜ are matrices, σ h ˜ is a tanh function and a ( t ) denotes the activation. Similar to the update gate z ( t ) , the reset gate is computed as
r ( t ) = σ r W a , r a ( t ) + W h , r h ( t 1 ) ,
where W a , r , W h , r are matrices and σ r is a tanh function. This finishes the update of the GRU cell.

Appendix A.3. Hyper Parameters

Table A1. Hyper parameters of the proposed network configurations, determined through cross validation based on dataset A and used for all tests.
Table A1. Hyper parameters of the proposed network configurations, determined through cross validation based on dataset A and used for all tests.
AssignmentAlignment
OptimizerBatch size256256
Learning rate0.0010.001
OptimizerAdamAdam
CNN Layer# Layer33
Kernel16 × 116 × 1
# Kernel6464
RNN Layer# Layer12
CellGRULSTM
# Units128128
Regularization L 2 -Factor0.00010.0001
Keep probability0.80.8

Appendix B. IMU Data Simulation

Table A2. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated accelerometer data from a capturing setup where the seven IMUs used in the experiments were rigidly mounted on a rigid body and were additionally tracked with a marker based optical system.
Table A2. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated accelerometer data from a capturing setup where the seven IMUs used in the experiments were rigidly mounted on a rigid body and were additionally tracked with a marker based optical system.
Accelerometer (Pearson Correlation Coefficient)
IMU x y z mean
10.99030.99150.98620.9893
20.99010.98980.98190.9873
30.99130.99090.98540.9892
40.99180.98280.97620.9836
50.99170.98750.98190.9870
60.98970.98690.97560.9841
70.99080.99200.98660.9898
mean0.99080.98880.98200.9872
Accelerometer RMSE [m/s 2 ]
x y z mean
10.69500.69690.79340.7285
20.71900.79770.96130.8260
30.65060.69910.78940.7130
40.68140.95771.07500.9047
50.66400.81110.90240.7925
60.75340.92651.24430.9747
70.68690.66440.75740.7029
mean0.69290.79330.93190.8060
Table A3. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated gyroscope data from a capturing setup where the seven IMUs used in the experiments were rigidly mounted on a rigid body and were additionally tracked with a marker based optical system.
Table A3. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated gyroscope data from a capturing setup where the seven IMUs used in the experiments were rigidly mounted on a rigid body and were additionally tracked with a marker based optical system.
Gyroscope (Pearson Correlation Coefficient)
IMU x y z mean
10.95940.97600.97780.9711
20.96370.97930.97370.9722
30.96450.98000.97590.9734
40.96170.97980.97530.9723
50.96400.97980.97500.9729
60.96320.98160.97760.9742
70.96520.98000.97660.9739
mean0.96310.97950.97600.9729
Gyroscope RMSE [rad/s]
IMU x y z mean
10.59780.35190.26610.4053
20.56710.32520.29040.3942
30.56040.32100.27820.3865
40.58400.32360.28110.3962
50.56360.32310.28340.3901
60.58380.30600.27000.3866
70.55580.31930.27450.3832
mean0.57320.32430.27770.3917
Table A4. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated accelerometer data from a capturing setup where IMUs were mounted on a person during walking and were additionally tracked with a marker based optical system.
Table A4. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated accelerometer data from a capturing setup where IMUs were mounted on a person during walking and were additionally tracked with a marker based optical system.
Accelerometer (Pearson Correlation Coefficient)
IMU x y z mean
LeftLowerLeg0.74280.48300.60280.6095
RightUpperLeg0.57260.28030.71390.5223
LeftUpperLeg0.67170.16020.77370.5352
RightLowerLeg0.73250.33260.51480.5266
LeftFoot0.80670.39620.65650.6198
Pelvis0.81320.24090.49400.5161
RightFoot0.84560.43420.80260.6942
mean0.74070.33250.65120.5748
Accelerometer RMSE [m/s 2 ]
IMU x y z mean
LeftLowerLeg3.64624.33714.11114.0314
RightUpperLeg4.20533.25823.82743.7637
LeftUpperLeg3.12123.94983.40683.4926
RightLowerLeg3.90415.04824.33444.4289
LeftFoot5.31384.93294.71094.9859
Pelvis2.26772.50072.34782.3720
RightFoot4.67486.41974.03635.0436
mean3.87624.34953.82504.0169
Table A5. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated gyroscope data from a capturing setup where IMUs were mounted on a person during walking and were additionally tracked with a marker based optical system.
Table A5. Pearson correlation coefficients and root mean squared errors (RMSE) between real and re-simulated gyroscope data from a capturing setup where IMUs were mounted on a person during walking and were additionally tracked with a marker based optical system.
Gyroscope (Pearson Correlation Coefficient)
IMU x y z mean
LeftLowerLeg0.87200.98020.96280.9383
RightUpperLeg0.87360.95700.92070.9171
LeftUpperLeg0.86610.96920.89010.9085
RightLowerLeg0.86810.98200.94690.9323
LeftFoot0.91450.96180.92340.9332
Pelvis0.97780.88900.93490.9339
RightFoot0.84510.96730.95040.9209
mean0.88820.95810.93270.9263
Gyroscope RMSE [rad/s]
IMU x y z mean
LeftLowerLeg0.86780.54590.22850.5474
RightUpperLeg0.66630.46520.18040.4373
LeftUpperLeg0.84040.35790.22510.4745
RightLowerLeg0.73380.55560.16530.4849
LeftFoot0.63861.07090.41290.7075
Pelvis0.12870.12570.09380.1161
RightFoot0.46381.01770.48360.6550
mean0.61990.59130.25570.4890

Appendix C. Datasets

Table A6. List of the 42 participants and recordings used from the CMU dataset [49] to create dataset A.
Table A6. List of the 42 participants and recordings used from the CMU dataset [49] to create dataset A.
Participant IDRecordingFramesDuration [s]Motion Description
0201313313.Walk
02298298.Walk
0301432432.Walk on uneven terrain
02365365.Walk on uneven terrain
0345634563.Walk on uneven terrain
0447224722.Walk on uneven terrain
0501598598.Walk
0601494494.Walk
0701316316.Walk
02329329.Walk
03415415.Walk
04449449.Slow walk
05517517.Slow walk
06417417.Walk
07379379.Walk
08362362.Walk
09306306.Walk
10301301.Walk
11315315.Walk
0801277277.Walk
02309309.Walk
03353353.Walk
04484484.Slow walk
06296296.Walk
08283283.Walk
09293293.Walk
10275275.Walk
1004549549.Walk
1201523523.Walk
02673673.Walk
03565565.Walk
150155245524.Walk / wander
031255012550.Walk/wander
0978757875.Walk/wander
1490039003.Walk/wander
1615471471.Walk
16510510.Walk
21312312.Walk
22307307.Walk
31424424.Walk
32580580.Walk
47416416.Walk
58342342.Walk
2601833833.Walk
270110331033.Walk
290113161316.Walk
3201482482.Walk
02434434.Walk
3601557557.Walk on uneven terrain
0437263726.Walk on uneven terrain
0541964196.Walk on uneven terrain
0638963896.Walk on uneven terrain
0737723772.Walk on uneven terrain
0837143714.Walk on uneven terrain
1038323832.Walk on uneven terrain
1141684168.Walk on uneven terrain
1245854585.Walk on uneven terrain
1342474247.Walk on uneven terrain
1441464146.Walk on uneven terrain
1541644164.Walk on uneven terrain
1643954395.Walk on uneven terrain
1743594359.Walk on uneven terrain
1843044304.Walk on uneven terrain
1941934193.Walk on uneven terrain
2040904090.Walk on uneven terrain
2140304030.Walk on uneven terrain
2243124312.Walk on uneven terrain
2343924392.Walk on uneven terrain
2441534153.Walk on uneven terrain
2546854685.Walk on uneven terrain
2642374237.Walk on uneven terrain
2742474247.Walk on uneven terrain
2823912391.Walk on uneven terrain
2944694469.Walk on uneven terrain
3044144414.Walk on uneven terrain
3137363736.Walk on uneven terrain
3244684468.Walk on uneven terrain
3343114311.Walk on uneven terrain
3443284328.Walk on uneven terrain
3543414341.Walk on uneven terrain
3647924792.Walk on uneven terrain
3701511511.Slow walk
3801352352.Walk
02420420.Walk
3901378378.Walk
02400400.Walk
03407407.Walk
04410410.Walk
05400400.Walk
06368368.Walk
07367367.Walk
08350350.Walk
10395395.Walk
11391391.Walk
12427427.Walk
13378378.Walk
14399399.Walk
4301421421.Walk
4501456456.Walk
4601616616.Walk
4901652652.Walk
5501530530.Walk
6901469469.Walk forward
02343343.Walk forward
03430430.Walk forward
04426426.Walk forward
05453453.Walk forward
8102544544.Walk forward
0310761076.Walk
17916916.Walk forward
910421622162.Walk
1031753175.Slow walk
1715201520.Quick walk
2221062106.Casual quick walk
2728942894.Slow walk
2921812181.Walk
3119921992.Walk
3422082208.Walk
5711771177.Walk forward
9307236236.Casual walk
10307236236.Casual walk
10419921921.Casual walk
3510741074.Slow walk
35623152315.Slow walk
1050318651865.Walk
1031753175.Slow walk
1715201520.Quick walk
2221062106.Casual quick walk
2728942894.Slow walk
2921812181.Walk
5711771177.Walk forward
1113418371837.Walk
3515031503.Walk
11325689689.Walk
1141331323132.Walk
1458545854.Walk
1513841384.Walk
120191279212792.Slow walk
201073510735.Walk
13217268268.Walk fast
18425425.Walk fast
19271271.Walk fast
20342342.Walk fast
21354354.Walk fast
22371371.Walk fast
4515311531.Walk slow
4612231223.Walk slow
4715101510.Walk slow
4816251625.Walk slow
4917481748.Walk slow
5021392139.Walk slow
13321786786.Walk
22759759.Walk
23848848.Walk
1362410751075.Walk
1372911281128.Walk
1392829702970.Walk
3012611261.Walk
1411911931193.Walk
25614614.Walk
14332780780.Walk
1443346884688.Walk
Table A7. IMU configurations used during the recording of dataset B.
Table A7. IMU configurations used during the recording of dataset B.
Placement on SegmentAlignment (See Figure A1)
#Upper LegLower LegFootPelvis
1anterioranteriordorsalposterior0
2anterioranteriordorsalposterior1
3anterioranteriordorsalposterior2
4laterallateraldorsalposterior0
5laterallateraldorsalposterior1
6laterallateraldorsalposterior2
7anteriormedialdorsalposterior0
8anteriormedialdorsalposterior1
9anteriormedialdorsalposterior2
Figure A1. IMU alignments used during the recording of dataset B.
Figure A1. IMU alignments used during the recording of dataset B.
Sensors 18 00302 g0a1

Appendix D. Cross Validation Results on Dataset A

Table A8. Results of the architecture cross validation for the I2S assignment problem based on dataset A.
Table A8. Results of the architecture cross validation for the I2S assignment problem based on dataset A.
Accuracy in %
CNNRNNCNN and RNN
Assignment96.0098.43100.00
Table A9. Results of the architecture cross validation for the I2S alignment problem based on dataset A: mean angle errors over all axes and windows for each segment.
Table A9. Results of the architecture cross validation for the I2S alignment problem based on dataset A: mean angle errors over all axes and windows for each segment.
Mean Angle Errors [ ]
CNNRNNCNN and RNN
LeftFoot4.2010.7960.623
LeftLowerLeg2.9550.7360.252
LeftUpperLeg0.7700.7290.427
Pelvis1.5031.3471.309
RightFoot2.6701.3360.800
RightLowerLeg5.6491.3290.990
RightUpperLeg1.4073.5890.822
Mean2.7361.4050.795

Appendix E. Evaluation Results for the Final Models

Figure A2, Figure A3, Figure A4, Figure A5, Figure A6, Figure A7, Figure A8, Figure A9, Figure A10 and Figure A11 show the evaluation results in terms of confusion matrices for the I2S assignment problem based on the final model. Each confusion matrix corresponds to one (of ten) combination(s) of test person (dataset B or C) and IMU configuration (cf. Table A7 and Figure 8). Table A10 shows the evaluation results for the I2S alignment problem.
Figure A2. I2S assignment problem, final model: test person from dataset B, IMU configuration 1 (cf. Table A7). Average accuracy: 99.57 % .
Figure A2. I2S assignment problem, final model: test person from dataset B, IMU configuration 1 (cf. Table A7). Average accuracy: 99.57 % .
Sensors 18 00302 g0a2
Figure A3. I2S assignment problem, final model: test person from dataset B, IMU configuration 2 (cf. Table A7). Average accuracy: 99.43 % .
Figure A3. I2S assignment problem, final model: test person from dataset B, IMU configuration 2 (cf. Table A7). Average accuracy: 99.43 % .
Sensors 18 00302 g0a3
Figure A4. I2S assignment problem, final model: test person from dataset B, IMU configuration 3 (cf. Table A7). Average accuracy: 99.43 % .
Figure A4. I2S assignment problem, final model: test person from dataset B, IMU configuration 3 (cf. Table A7). Average accuracy: 99.43 % .
Sensors 18 00302 g0a4
Figure A5. I2S assignment problem, final model: test person from dataset B, IMU configuration 4 (cf. Table A7). Average accuracy: 99.43 % .
Figure A5. I2S assignment problem, final model: test person from dataset B, IMU configuration 4 (cf. Table A7). Average accuracy: 99.43 % .
Sensors 18 00302 g0a5
Figure A6. I2S assignment problem, final model: test person from dataset B, IMU configuration 5 (cf. Table A7). Average accuracy: 97.29 % .
Figure A6. I2S assignment problem, final model: test person from dataset B, IMU configuration 5 (cf. Table A7). Average accuracy: 97.29 % .
Sensors 18 00302 g0a6
Figure A7. I2S assignment problem, final model: test person from dataset B, IMU configuration 6 (cf. Table A7). Average accuracy: 96.14 % .
Figure A7. I2S assignment problem, final model: test person from dataset B, IMU configuration 6 (cf. Table A7). Average accuracy: 96.14 % .
Sensors 18 00302 g0a7
Figure A8. I2S assignment problem, final model: test person from dataset B, IMU configuration 7 (cf. Table A7). Average accuracy: 100 % .
Figure A8. I2S assignment problem, final model: test person from dataset B, IMU configuration 7 (cf. Table A7). Average accuracy: 100 % .
Sensors 18 00302 g0a8
Figure A9. I2S assignment problem, final model: test person from dataset B, IMU configuration 8 (cf. Table A7). Average accuracy: 98.14 % .
Figure A9. I2S assignment problem, final model: test person from dataset B, IMU configuration 8 (cf. Table A7). Average accuracy: 98.14 % .
Sensors 18 00302 g0a9
Figure A10. I2S assignment problem, final model: test person from dataset B, IMU configuration 9 (cf. Table A7). Average accuracy: 99.71 % .
Figure A10. I2S assignment problem, final model: test person from dataset B, IMU configuration 9 (cf. Table A7). Average accuracy: 99.71 % .
Sensors 18 00302 g0a10
Figure A11. I2S assignment problem, final model: test person from dataset C, IMU configuration according to Figure 8). Average accuracy: 99.14 % .
Figure A11. I2S assignment problem, final model: test person from dataset C, IMU configuration according to Figure 8). Average accuracy: 99.14 % .
Sensors 18 00302 g0a11
Table A10. I2S alignment problem, final model, all test persons and IMU configurations: median, mean and maximum angle errors around the three body segment axes.
Table A10. I2S alignment problem, final model, all test persons and IMU configurations: median, mean and maximum angle errors around the three body segment axes.
Segment ax 0 [ ] ax 1 [ ] ax 2 [ ]
MedMeanMaxMedMeanMaxMedMeanMax
LeftFoot1.4813.71165.062.386.9944.704.0212.21155.23
LeftLowerLeg4.2028.59178.403.1614.2275.827.0417.95116.93
LeftUpperLeg1.3514.35171.090.888.4081.111.5110.1396.67
Pelvis1.4213.53180.002.077.2888.450.6512.89179.98
RightFoot2.9616.12127.481.355.2372.812.3911.42157.63
RightLowerLeg3.6131.21179.977.6310.9252.615.1324.49179.79
RightUpperLeg3.5428.55178.101.309.4277.723.0221.79179.64
Average2.6520.86168.582.688.9270.463.3915.84152.26

References

  1. Fong, D.T.P.; Chan, Y.Y. The use of wearable inertial motion sensors in human lower limb biomechanics studies: A systematic review. Sensors 2010, 10, 11556–11565. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. Patel, S.; Park, H.; Bonato, P.; Chan, L.; Rodgers, M. A review of wearable sensors and systems with application in rehabilitation. J. NeuroEng. Rehabil. 2012, 9, 21. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Hadjidj, A.; Souil, M.; Bouabdallah, A.; Challal, Y.; Owen, H. Wireless sensor networks for rehabilitation applications: Challenges and opportunities. J. Netw. Comput. Appl. 2013, 36, 1–15. [Google Scholar] [CrossRef]
  4. Zheng, Y.L.; Ding, X.R.; Poon, C.C.Y.; Lo, B.P.L.; Zhang, H.; Zhou, X.L.; Yang, G.Z.; Zhao, N.; Zhang, Y.T. Unobtrusive sensing and wearable devices for health informatics. IEEE Trans. Biomed. Eng. 2014, 61, 1538–1554. [Google Scholar] [CrossRef] [PubMed]
  5. Bleser, G.; Taetz, B.; Miezal, M.; Christmann, C.A.; Steffen, D.; Regenspurger, K. Development of an Inertial Motion Capture System for Clinical Application—Potentials and challenges from the technology and application perspectives. J. Interact. Media 2017, 16. [Google Scholar] [CrossRef]
  6. Roetenberg, D.; Luinge, H.; Slycke, P. Xsens MVN: Full 6DOF Human Motion Tracking Using Miniature Inertial Sensors; Technical report; Xsens Technologies: Enschede, The Netherlands, 2014. [Google Scholar]
  7. Miezal, M.; Taetz, B.; Bleser, G. On Inertial Body Tracking in the Presence of Model Calibration Errors. Sensors 2016, 16, 1132. [Google Scholar] [CrossRef] [PubMed]
  8. Miezal, M.; Taetz, B.; Bleser, G. Real-time inertial lower body kinematics and ground contact estimation at anatomical foot points for agile human locomotion. In Proceedings of the International Conference on Robotics and Automation, Singapore, 29 May–3 June 2017. [Google Scholar]
  9. Bouvier, B.; Duprey, S.; Claudon, L.; Dumas, R.; Savescu, A. Upper Limb Kinematics Using Inertial and Magnetic Sensors: Comparison of Sensor-to-Segment Calibrations. Sensors 2015, 15, 18813–18833. [Google Scholar] [CrossRef] [PubMed]
  10. Palermo, E.; Rossi, S.; Marini, F.; Patané, F.; Cappa, P. Experimental evaluation of accuracy and repeatability of a novel body-to-sensor calibration procedure for inertial sensor-based gait analysis. Measurement 2014, 52, 145–155. [Google Scholar] [CrossRef]
  11. Taetz, B.; Bleser, G.; Miezal, M. Towards self-calibrating inertial body motion capture. In Proceedings of the International Conference on Information Fusion, Heidelberg, Germany, 5–8 July 2016; pp. 1751–1759. [Google Scholar]
  12. Weenk, D.; Van Beijnum, B.J.F.; Baten, C.T.; Hermens, H.J.; Veltink, P.H. Automatic identification of inertial sensor placement on human body segments during walking. J. NeuroEng. Rehabil. 2013, 10, 1. [Google Scholar] [CrossRef] [PubMed]
  13. Graurock, D.; Schauer, T.; Seel, T. Automatic pairing of inertial sensors to lower limb segments—A plug-and-play approach. Curr. Direct. Biomed. Eng. 2016, 2, 715–718. [Google Scholar] [CrossRef]
  14. De Vries, W.; Veeger, H.; Cutti, A.; Baten, C.; van der Helm, F. Functionally interpretable local coordinate systems for the upper extremity using inertial & magnetic measurement systems. J. Biomech. 2010, 43, 1983–1988. [Google Scholar] [PubMed]
  15. Favre, J.; Aissaoui, R.; Jolles, B.; de Guise, J.; Aminian, K. Functional calibration procedure for 3D knee joint angle description using inertial sensors. J. Biomech. 2009, 42, 2330–2335. [Google Scholar] [CrossRef] [PubMed]
  16. Attal, F.; Mohammed, S.; Dedabrishvili, M.; Chamroukhi, F.; Oukhellou, L.; Amirat, Y. Physical Human Activity Recognition Using Wearable Sensors. Sensors 2015, 15, 31314–31338. [Google Scholar] [CrossRef] [PubMed]
  17. Davis, K.; Owusu, E.; Bastani, V.; Marcenaro, L.; Hu, J.; Regazzoni, C.; Feijs, L. Activity recognition based on inertial sensors for Ambient Assisted Living. In Proceedings of the 19th International Conference on Information Fusion (FUSION), Heidelberg, Germany, 5–8 July 2016; pp. 371–378. [Google Scholar]
  18. Ordóñez, F.J.; Roggen, D. Deep Convolutional and LSTM Recurrent Neural Networks for Multimodal Wearable Activity Recognition. Sensors 2016, 16, 115. [Google Scholar] [CrossRef] [PubMed]
  19. Goodfellow, I.; Bengio, Y.; Courville, A. Deep Learning; MIT Press: Cambridge, UK, 2016; Available online: http://www.deeplearningbook.org (accessed on 14 January 2018).
  20. Ciresan, D.C.; Meier, U.; Masci, J.; Schmidhuber, J. Multi-column deep neural network for traffic sign classification. Neural Netw. 2012, 32, 333–338. [Google Scholar] [CrossRef] [PubMed]
  21. Krizhevsky, A.; Sutskever, I.; Hinton, G.E. ImageNet Classification with Deep Convolutional Neural Networks. In Advances in Neural Information Processing Systems 25; Pereira, F., Burges, C.J.C., Bottou, L., Weinberger, K.Q., Eds.; Curran Associates, Inc.: New York, NY, USA, 2012; pp. 1097–1105. [Google Scholar]
  22. Ji, S.; Xu, W.; Yang, M.; Yu, K. 3D Convolutional Neural Networks for Human Action Recognition. IEEE Trans. Pattern Anal. Mach. Intell. 2013, 35, 221–231. [Google Scholar] [CrossRef] [PubMed]
  23. Tewari, A.; Taetz, B.; Grandidier, F.; Stricker, D. Two Phase Classification for Early Hand Gesture Recognition in 3D Top View Data. In Advances in Visual Computing, Proceedings of the 12th International Symposium, ISVC 2016, Las Vegas, NV, USA, 12–14 December 2016; Springer International Publishing: Basel, Switzerland, 2016; pp. 353–363. [Google Scholar]
  24. Tewari, A.; Taetz, B.; Frederic, G.; Stricker, D. A Probablistic Combination of CNN and RNN Estimates for Hand Gesture Based Interaction in Car. In Proceedings of the IEEE International Symposium on Mixed and Augmented Reality (ISMAR), Nantes, France, 9–13 October 2017. [Google Scholar]
  25. Hochreiter, S.; Schmidhuber, J. Long short-term memory. Neural Comput. 1997, 9, 1735–1780. [Google Scholar] [CrossRef] [PubMed]
  26. Schmidhuber, J. Deep learning in neural networks: An overview. Neural Netw. 2015, 61, 85–117. [Google Scholar] [CrossRef] [PubMed]
  27. Alsheikh, M.A.; Selim, A.; Niyato, D.; Doyle, L.; Lin, S.; Tan, H.P. Deep Activity Recognition Models with Triaxial Accelerometers. Technical Report. Cornell University Library, 2016. Available online: https://arxiv.org/abs/1511.04664 (accessed on 14 January 2018).
  28. Morales, F.J.O.N.; Roggen, D. Deep Convolutional Feature Transfer Across Mobile Activity Recognition Domains, Sensor Modalities and Locations. In Proceedings of the 2016 ACM International Symposium on Wearable Computers, Heidelberg, Germany, 12–16 September 2016; ACM: New York, NY, USA, 2016; pp. 92–99. [Google Scholar]
  29. Kunze, K.; Lukowicz, P. Sensor placement variations in wearable activity recognition. IEEE Pervasive Comput. 2014, 13, 32–41. [Google Scholar] [CrossRef]
  30. Pannurat, N.; Thiemjarus, S.; Nantajeewarawat, E.; Anantavrasilp, I. Analysis of Optimal Sensor Positions for Activity Classification and Application on a Different Data Collection Scenario. Sensors 2017, 17, 774. [Google Scholar] [CrossRef] [PubMed]
  31. Kunze, K.; Lukowicz, P. Dealing with Sensor Displacement in Motion-based Onbody Activity Recognition Systems. In Proceedings of the 10th International Conference on Ubiquitous Computing, Seoul, Korea, 21–24 September 2008; ACM: New York, NY, USA, 2008; pp. 20–29. [Google Scholar]
  32. Jiang, M.; Shang, H.; Wang, Z.; Li, H.; Wang, Y. A method to deal with installation errors of wearable accelerometers for human activity recognition. Physiol. Meas. 2011, 32, 347. [Google Scholar] [CrossRef] [PubMed]
  33. Henpraserttae, A.; Thiemjarus, S.; Marukatat, S. Accurate Activity Recognition Using a Mobile Phone Regardless of Device Orientation and Location. In Proceedings of the International Conference on Body Sensor Networks, BSN 2011, Dallas, TX, USA, 23–25 May 2011; pp. 41–46. [Google Scholar]
  34. Kunze, K.; Lukowicz, P.; Junker, H.; Tröster, G. Where am i: Recognizing on-body positions of wearable sensors. In Proceedings of the International Symposium on Location- and Context-Awareness, Oberpfaffenhofen, Germany, 12–13 May 2005; Springer International Publishing: Basel, Switzerland, 2005; pp. 264–275. [Google Scholar]
  35. Amini, N.; Sarrafzadeh, M.; Vahdatpour, A.; Xu, W. Accelerometer-based on-body sensor localization for health and medical monitoring applications. Pervasive Mob. Comput. 2011, 7, 746–760. [Google Scholar] [CrossRef] [PubMed]
  36. Mannini, A.; Sabatini, A.M.; Intille, S.S. Accelerometry-based recognition of the placement sites of a wearable sensor. Pervasive Mob. Comput. 2015, 21, 62–74. [Google Scholar] [CrossRef] [PubMed]
  37. Fujinami, K.; Jin, C.; Kouchi, S. Tracking on-body location of a mobile phone. In Proceedings of the International Symposium on Wearable Computers, Seoul, Korea, 10–13 October 2010; pp. 190–197. [Google Scholar]
  38. Kunze, K.; Lukowicz, P. Using acceleration signatures from everyday activities for on-body device location. In Proceedings of the 2007 11th IEEE International Symposium on Wearable Computers, Boston, MA, USA, 11–13 October 2007; 2007; pp. 115–116. [Google Scholar]
  39. Xu, W.; Zhang, M.; Sawchuk, A.A.; Sarrafzadeh, M. Robust human activity and sensor location corecognition via sparse signal representation. IEEE Trans. Biomed. Eng. 2012, 59, 3169–3176. [Google Scholar] [PubMed]
  40. Shi, Y.; Shi, Y.; Liu, J. A Rotation Based Method for Detecting On-body Positions of Mobile Devices. Proceedings of the 13th International Conference on Ubiquitous Computing, Beijing, China, 17–21 September 2011; ACM: New York, NY, USA, 2011; pp. 559–560.
  41. Thiemjarus, S. A Device-Orientation Independent Method for Activity Recognition. In Proceedings of the International Conference on Body Sensor Networks, BSN 2010, Singapore, 7–9 June 2010; pp. 19–23. [Google Scholar]
  42. Young, A.D.; Ling, M.J.; Arvind, D.K. IMUSim: A Simulation Environment for Inertial Sensing Algorithm Design and Evaluation. In Proceedings of the 10th International Conference on Information Processing in Sensor Networks, Chicago, IL, USA, 12–14 April 2011; pp. 199–210. [Google Scholar]
  43. Brunner, T.; Lauffenburger, J.; Changey, S.; Basset, M. Magnetometer-Augmented IMU Simulator: In-Depth Elaboration. Sensors 2015, 15, 5293–5310. [Google Scholar] [CrossRef] [PubMed]
  44. Ligorio, G.; Bergamini, E.; Pasciuto, I.; Vannozzi, G.; Cappozzo, A.; Sabatini, A.M. Assessing the Performance of Sensor Fusion Methods: Application to Magnetic-Inertial-Based Human Body Tracking. Sensors 2016, 16, 153. [Google Scholar] [CrossRef] [PubMed]
  45. Zhang, X.; Fu, Y.; Jiang, S.; Sigal, L.; Agam, G. Learning from Synthetic Data Using a Stacked Multichannel Autoencoder. Technical Report. Cornell University Library, 2015. Available online: https://arxiv.org/abs/1509.05463 (accessed on 14 January 2018).
  46. Le, T.A.; Baydin, A.G.; Zinkov, R.; Wood, F. Using Synthetic Data to Train Neural Networks is Model-Based Reasoning. arXiv, 2017; arXiv:1703.00868v1. [Google Scholar]
  47. Zhang, X.; Fu, Y.; Zang, A.; Sigal, L.; Agam, G. Learning Classifiers from Synthetic Data Using a Multichannel Autoencoder. Technical Report. Cornell University Library, 2015. Available online: https://arxiv.org/abs/1503.03163 (accessed on 14 January 2018).
  48. Simard, P.Y.; Steinkraus, D.; Platt, J.C. Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis. In Proceedings of the Seventh International Conference on Document Analysis and Recognition (ICDAR ’03), Edinburgh, UK, 3–6 August 2003; IEEE Computer Society: Washington, DC, USA, 2003. [Google Scholar]
  49. University, C.M. CMU Graphics Lab Motion Capture Database Website. Available online: http://mocap.cs.cmu.edu/ (accessed on 14 January 2018).
  50. Ioffe, S.; Szegedy, C. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Proceedings of the International Conference on Machine Learning, Lille, France, 6–1 July 2015; pp. 448–456. [Google Scholar]
  51. Bengio, Y.; Simard, P.; Frasconi, P. Learning long-term dependencies with gradient descent is difficult. IEEE Trans. Neural Netw. 1994, 5, 157–166. [Google Scholar] [CrossRef] [PubMed]
  52. Cho, K.; van Merrienboer, B.; Gülcehre, C.; Bahdanau, D.; Bougares, F.; Schwenk, H.; Bengio, Y. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation; EMNLP; Moschitti, A., Pang, B., Daelemans, W., Eds.; Association for Computational Linguistics: Doha, Qatar, 2014; pp. 1724–1734. [Google Scholar]
  53. Gal, Y. Uncertainty in Deep Learning. Ph.D. Thesis, University of Cambridge, Cambridge, UK, 2016. [Google Scholar]
  54. Srivastava, N.; Hinton, G.E.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R. Dropout: A simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 2014, 15, 1929–1958. [Google Scholar]
  55. Gal, Y. A Theoretically Grounded Application of Dropout in Recurrent Neural Networks. arXiv, 2015; arXiv:1512.05287. [Google Scholar]
  56. Terzakis, G.; Culverhouse, P.; Bugmann, G.; Sharma, S.; Sutton, R. A Recipe on the Parameterization of Rotation Matrices for Non-Linear Optimization Using Quaternions; Technical report, Technical report MIDAS. SMSE. 2012. TR. 004; Marine and Industrial Dynamic Analysis School of Marine Science and Engineering, Plymouth University: Plymouth, UK, 2012. [Google Scholar]
  57. Xsens Technologies B.V. Available online: https://www.xsens.com/products/xsens-mvn/ (accessed on 14 January 2018).
  58. Shuster, M.D. A survey of attitude representations. Navigation 1993, 8, 439–517. [Google Scholar]
  59. Butterworth, S. On the theory of filter amplifiers. Wirel. Eng. 1930, 7, 536–541. [Google Scholar]
  60. NaturalPoint OptiTrack. Available online: http://www.optitrack.com/motion-capture-biomechanics/ (accessed on 14 January 2018).
  61. Olsson, F.; Halvorsen, K. Experimental evaluation of joint position estimation using inertial sensors. In Proceedings of the 20th International Conference on Information Fusion (Fusion), IEEE, Xi’an, China, 10–13 July 2017; pp. 1–8. [Google Scholar]
  62. Mohammed, S.; Tashev, I. Unsupervised deep representation learning to remove motion artifacts in free-mode body sensor networks. In Proceedings of the 14th IEEE International Conference on Wearable and Implantable Body Sensor Networks (BSN), Eindhoven, The Netherlands, 9–12 May 2017; pp. 183–188. [Google Scholar]
  63. Abadi, M.; Agarwal, A.; Barham, P.; Brevdo, E.; Chen, Z.; Citro, C.; Corrado, G.S.; Davis, A.; Dean, J.; Devin, M.; et al. Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv, 2016; arXiv:1603.04467. [Google Scholar]
  64. Golyanik, V.; Reis, G.; Taetz, B.; Strieker, D. A framework for an accurate point cloud based registration of full 3D human body scans. In Proceedings of the 2017 Fifteenth IAPR International Conference on Machine Vision Applications (MVA), Nagoya, Japan, 8–12 May 2017; pp. 67–72. [Google Scholar]
  65. Bahdanau, D.; Cho, K.; Bengio, Y. Neural machine translation by jointly learning to align and translate. arXiv, 2014; arXiv:1409.0473. [Google Scholar]
Figure 1. Illustration of the two addressed problems for seven lower body segments and seven IMUs: (i) I2S assignment; and (ii) I2S alignment determination.
Figure 1. Illustration of the two addressed problems for seven lower body segments and seven IMUs: (i) I2S assignment; and (ii) I2S alignment determination.
Sensors 18 00302 g001
Figure 2. Overview of the proposed network configurations.
Figure 2. Overview of the proposed network configurations.
Sensors 18 00302 g002
Figure 3. The CNN layer configuration used in the proposed networks. Note, the Bias, batch normalization (BN) and rectified linear unit (ReLu) operations are applied per activation (see Equation (3)).
Figure 3. The CNN layer configuration used in the proposed networks. Note, the Bias, batch normalization (BN) and rectified linear unit (ReLu) operations are applied per activation (see Equation (3)).
Sensors 18 00302 g003
Figure 4. Exemplary illustration of IMU (I), segment (S, dashed) and global (G) coordinate frames for one IMU and one segment. The I2S alignment variations in terms of axes and angles ( θ 1 , θ 2 ) as basis for IMU data simulation are also illustrated.
Figure 4. Exemplary illustration of IMU (I), segment (S, dashed) and global (G) coordinate frames for one IMU and one segment. The I2S alignment variations in terms of axes and angles ( θ 1 , θ 2 ) as basis for IMU data simulation are also illustrated.
Sensors 18 00302 g004
Figure 5. Comparison between real and re-simulated IMU data for one example from a capturing setup where IMUs were rigidly mounted on a rigid body and were additionally tracked with a marker based optical system. The frequency was 60 Hz, i.e., 60 samples correspond to one second.
Figure 5. Comparison between real and re-simulated IMU data for one example from a capturing setup where IMUs were rigidly mounted on a rigid body and were additionally tracked with a marker based optical system. The frequency was 60 Hz, i.e., 60 samples correspond to one second.
Sensors 18 00302 g005
Figure 6. Comparison between real and re-simulated IMU data from the right foot from a capturing setup where IMUs were mounted on a person during walking and were additionally tracked with a marker based optical system. The frequency was 60 Hz, i.e., 60 samples correspond to one second.
Figure 6. Comparison between real and re-simulated IMU data from the right foot from a capturing setup where IMUs were mounted on a person during walking and were additionally tracked with a marker based optical system. The frequency was 60 Hz, i.e., 60 samples correspond to one second.
Sensors 18 00302 g006
Figure 7. Figure 6 augmented with 100 noisy re-simulated signals per timestep and the respective root squared errors (RSE) between the real signal and the closest re-simulated signal at each timestep (RSE Opt.).
Figure 7. Figure 6 augmented with 100 noisy re-simulated signals per timestep and the respective root squared errors (RSE) between the real signal and the closest re-simulated signal at each timestep (RSE Opt.).
Sensors 18 00302 g007
Figure 8. (Left) IMU configurations used for the recording of dataset C (dashed lines mark IMUs placed on the back); and (Right) skeleton with exemplary segment coordinate systems of pelvis and right leg (analogous for left leg). The global coordinate system (G) is a fixed reference coordinate system.
Figure 8. (Left) IMU configurations used for the recording of dataset C (dashed lines mark IMUs placed on the back); and (Right) skeleton with exemplary segment coordinate systems of pelvis and right leg (analogous for left leg). The global coordinate system (G) is a fixed reference coordinate system.
Sensors 18 00302 g008
Figure 9. Network configuration cross validation on dataset A: (Left) The bar plot represents the accuracy of the I2S assignment problem; and (Right) the bar plots represent the mean angle errors over all axes and windows for the I2S alignment problem for each body segment.
Figure 9. Network configuration cross validation on dataset A: (Left) The bar plot represents the accuracy of the I2S assignment problem; and (Right) the bar plots represent the mean angle errors over all axes and windows for the I2S alignment problem for each body segment.
Sensors 18 00302 g009
Figure 10. Evaluation results on simulated dataset A: (a) confusion matrix for the I2S assignment problem; and (b) boxplots of the angle errors around the three body segment axes for the I2S alignment problem (exemplary for the left foot).
Figure 10. Evaluation results on simulated dataset A: (a) confusion matrix for the I2S assignment problem; and (b) boxplots of the angle errors around the three body segment axes for the I2S alignment problem (exemplary for the left foot).
Sensors 18 00302 g010
Figure 11. Evaluation results on dataset B, test case 1: (a) confusion matrix for the I2S assignment problem; and (b) angle errors over all windows, axes and considered (nine) IMU configurations for the I2S alignment problem for test case 1.
Figure 11. Evaluation results on dataset B, test case 1: (a) confusion matrix for the I2S assignment problem; and (b) angle errors over all windows, axes and considered (nine) IMU configurations for the I2S alignment problem for test case 1.
Sensors 18 00302 g011
Figure 12. Evaluation results in terms of confusion matrices for the I2S assignment problem on dataset B.
Figure 12. Evaluation results in terms of confusion matrices for the I2S assignment problem on dataset B.
Sensors 18 00302 g012
Figure 13. Evaluation results for the I2S alignment problem on dataset B. The bar plots show the maximum, mean and median angle errors for all segments over all windows, axes and considered (nine) IMU configurations. These were obtained through cross validation.
Figure 13. Evaluation results for the I2S alignment problem on dataset B. The bar plots show the maximum, mean and median angle errors for all segments over all windows, axes and considered (nine) IMU configurations. These were obtained through cross validation.
Sensors 18 00302 g013aSensors 18 00302 g013b
Figure 14. Evaluation results in terms of a confusion matrix for the I2S assignment problem using the final model (based on all datasets).
Figure 14. Evaluation results in terms of a confusion matrix for the I2S assignment problem using the final model (based on all datasets).
Sensors 18 00302 g014
Figure 15. Evaluation results for the I2S alignment problem using the final model (based on all datasets). The bar plots show the median angle errors around the three body segment axes over all windows, considered test persons and IMU configurations.
Figure 15. Evaluation results for the I2S alignment problem using the final model (based on all datasets). The bar plots show the median angle errors around the three body segment axes over all windows, considered test persons and IMU configurations.
Sensors 18 00302 g015

Share and Cite

MDPI and ACS Style

Zimmermann, T.; Taetz, B.; Bleser, G. IMU-to-Segment Assignment and Orientation Alignment for the Lower Body Using Deep Learning. Sensors 2018, 18, 302. https://doi.org/10.3390/s18010302

AMA Style

Zimmermann T, Taetz B, Bleser G. IMU-to-Segment Assignment and Orientation Alignment for the Lower Body Using Deep Learning. Sensors. 2018; 18(1):302. https://doi.org/10.3390/s18010302

Chicago/Turabian Style

Zimmermann, Tobias, Bertram Taetz, and Gabriele Bleser. 2018. "IMU-to-Segment Assignment and Orientation Alignment for the Lower Body Using Deep Learning" Sensors 18, no. 1: 302. https://doi.org/10.3390/s18010302

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop