+ All Categories
Home > Documents > IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

Date post: 01-Oct-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
11
IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context Recognition in Infrastructure-free Pedestrian Navigation - Towards Adaptive Filtering Algorithm Maija M¨ akel¨ a, Jesperi Rantanen, Martti Kirkko-Jaakkola, Laura Ruotsalainen Abstract—In this paper, we study machine learning methods for recognizing the motion context of a user of a infrastructure- free navigation system. Motion context is information about whether the user is running, crawling or lying down, for instance. This can be valuable information for the command and control of a tactical or rescue operation, and it can also be used to adapt the positioning algorithm accordingly in order to improve the positioning result. We test our approach in collaboration with the Finnish Defence Forces. With only about 5 minutes of training data, we are able to detect the users motion context over 93 % of the time using a Random Forest classifier. However, our tests show that the performance of the classifier is highly dependent on the user of the system. For this reason we experiment with different classification algorithms in order to find a user-independent classifier providing a good compromise between accuracy and computational complexity. With a Na¨ ıve Bayesian classifier, we achieve 85 % detection rate in case when the training data is not produced by the user. In addition, we demonstrate how the motion recognition can be used to adjust the Zero Velocity Update threshold in order to improve the performance of a footmounted inertial navigation algorithm. Index Terms—activity recognition, adaptive estimation, context awareness, indoor navigation I. I NTRODUCTION I N military or first response operations situational awareness is critical for safety of life. Situational awareness is defined as knowledge about environment and existing conditions, and is also often known as context awareness [1]. Key part of situational awareness is the knowledge of soldiers or first responders location in often previously unfamiliar building. Positioning with traditional methods in these situations is challenging. Global Navigation Satellite System (GNSS) sig- nals are degraded indoors, and one cannot expect to have a working infrastructure-based navigation system, such as WiFi positioning, to be available. Especially in tactical applications there may be jamming or spoofing preventing the use of GNSS positioning also outdoors, and there is no guarantee of having a working infrastructure as for example the power lines may have been disabled. In our previous work [2] we evaluated the performance of different sensor setups for the motion recognition and selected the used sensor setup based on the results. Based The authors are with the Finnish Geospatial Research Institute. This work was supported by the Scientific Advisory Board for Defence of the Finnish Ministry of Defence [project INTACT (INfrastructure-free TAC- Tical situational awareness)], and the Finnish Geospatial Research Institute (FGI). on our earlier results, we chose to use Inertial Measurement Units (IMUs), barometer, camera and sonar in a carry-on situational awareness system [2]–[4]. In this paper we will focus on two aspects of situational awareness, motion context and location. We study methods to recognize user’s motion context, such as whether the user is walking, running, crawling or lying still, based on the wearable sensor readings. Reason to find user’s motion context is twofold. First, information of the user’s way of movement can be valuable to the command and control of the tactical or rescue operation, especially if the user is in distress. Second, the positioning algorithm can be adapted according to the user’s movement. Pedestrian dead reckoning (PDR) can be challenging if the user is crawling instead of walking, and in that case the navigation algorithm could be altered to be suitable for this kind of movement. In this work we demonstrate adapting the positioning algorithm according to two types of motion, walking and running. In order to demonstrate the performance of our approach in a realistic tactical situation, we conduct a test campaign in collaboration with the Finnish Defence Forces. In the tests soldiers perform exercises in a realistic setup with our wearable sensors, without having any knowledge of how to move in order to achieve a good navigation result. In this work we aim for 80-90 % accuracy in motion recognition, which in principle should be sufficient for context adaptivity. However, such performance is obtained only when the particular user of the navigation system has also provided the data to train the classifier. Simply put, the performance of a classifier is highly dependent of the user. In tactical and rescue applications there generally is no time to gather training data, and the system has to work immediately when don on by the user. For that reason we study different classifiers in order to find one that generalizes well regardless of the person producing the data. Also, as an illustrative example we propose a method to modify Zero Velocity Update (ZUPT) threshold value based on whether the user is moving fast or slow. This is shown to improve the performance of the footmounted inertial navigation system. Furthermore, for future work we will discuss how the motion context information could be used in more challenging situations, such as when the user is crawling. This paper is constructed as follows: in Section II we create the context of this paper and discuss related work. In Section III we will describe the theoretical background of this c 2018 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. Citation: M. M¨ akel¨ a, J. Rantanen, M. Kirkko-Jaakkola and L. Ruotsalainen, ”Context Recognition in Infrastructure-Free Pedestrian Navigation—Toward Adaptive Filtering Algorithm,” in IEEE Sensors Journal, vol. 18, no. 17, pp. 7253-7264, 1 Sept.1, 2018. DOI: 10.1109/JSEN.2018.2847038
Transcript
Page 1: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1

Context Recognition in Infrastructure-freePedestrian Navigation - Towards Adaptive Filtering

AlgorithmMaija Makela, Jesperi Rantanen, Martti Kirkko-Jaakkola, Laura Ruotsalainen

Abstract—In this paper, we study machine learning methodsfor recognizing the motion context of a user of a infrastructure-free navigation system. Motion context is information aboutwhether the user is running, crawling or lying down, for instance.This can be valuable information for the command and controlof a tactical or rescue operation, and it can also be used to adaptthe positioning algorithm accordingly in order to improve thepositioning result. We test our approach in collaboration with theFinnish Defence Forces. With only about 5 minutes of trainingdata, we are able to detect the users motion context over 93 % ofthe time using a Random Forest classifier. However, our tests showthat the performance of the classifier is highly dependent on theuser of the system. For this reason we experiment with differentclassification algorithms in order to find a user-independentclassifier providing a good compromise between accuracy andcomputational complexity. With a Naıve Bayesian classifier, weachieve 85 % detection rate in case when the training data isnot produced by the user. In addition, we demonstrate how themotion recognition can be used to adjust the Zero Velocity Updatethreshold in order to improve the performance of a footmountedinertial navigation algorithm.

Index Terms—activity recognition, adaptive estimation, contextawareness, indoor navigation

I. INTRODUCTION

IN military or first response operations situational awarenessis critical for safety of life. Situational awareness is defined

as knowledge about environment and existing conditions, andis also often known as context awareness [1]. Key part ofsituational awareness is the knowledge of soldiers or firstresponders location in often previously unfamiliar building.Positioning with traditional methods in these situations ischallenging. Global Navigation Satellite System (GNSS) sig-nals are degraded indoors, and one cannot expect to have aworking infrastructure-based navigation system, such as WiFipositioning, to be available. Especially in tactical applicationsthere may be jamming or spoofing preventing the use of GNSSpositioning also outdoors, and there is no guarantee of havinga working infrastructure as for example the power lines mayhave been disabled.

In our previous work [2] we evaluated the performanceof different sensor setups for the motion recognition andselected the used sensor setup based on the results. Based

The authors are with the Finnish Geospatial Research Institute.This work was supported by the Scientific Advisory Board for Defence of

the Finnish Ministry of Defence [project INTACT (INfrastructure-free TAC-Tical situational awareness)], and the Finnish Geospatial Research Institute(FGI).

on our earlier results, we chose to use Inertial MeasurementUnits (IMUs), barometer, camera and sonar in a carry-onsituational awareness system [2]–[4]. In this paper we willfocus on two aspects of situational awareness, motion contextand location. We study methods to recognize user’s motioncontext, such as whether the user is walking, running, crawlingor lying still, based on the wearable sensor readings. Reasonto find user’s motion context is twofold. First, information ofthe user’s way of movement can be valuable to the commandand control of the tactical or rescue operation, especially ifthe user is in distress. Second, the positioning algorithm canbe adapted according to the user’s movement. Pedestrian deadreckoning (PDR) can be challenging if the user is crawlinginstead of walking, and in that case the navigation algorithmcould be altered to be suitable for this kind of movement. Inthis work we demonstrate adapting the positioning algorithmaccording to two types of motion, walking and running.

In order to demonstrate the performance of our approachin a realistic tactical situation, we conduct a test campaignin collaboration with the Finnish Defence Forces. In thetests soldiers perform exercises in a realistic setup with ourwearable sensors, without having any knowledge of how tomove in order to achieve a good navigation result.

In this work we aim for 80-90 % accuracy in motionrecognition, which in principle should be sufficient for contextadaptivity. However, such performance is obtained only whenthe particular user of the navigation system has also providedthe data to train the classifier. Simply put, the performanceof a classifier is highly dependent of the user. In tactical andrescue applications there generally is no time to gather trainingdata, and the system has to work immediately when don onby the user. For that reason we study different classifiers inorder to find one that generalizes well regardless of the personproducing the data. Also, as an illustrative example we proposea method to modify Zero Velocity Update (ZUPT) thresholdvalue based on whether the user is moving fast or slow. Thisis shown to improve the performance of the footmountedinertial navigation system. Furthermore, for future work wewill discuss how the motion context information could beused in more challenging situations, such as when the useris crawling.

This paper is constructed as follows: in Section II wecreate the context of this paper and discuss related work. InSection III we will describe the theoretical background of this

c© 2018 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, includingreprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists,or reuse of any copyrighted component of this work in other works. Citation: M. Makela, J. Rantanen, M. Kirkko-Jaakkola and L. Ruotsalainen, ”ContextRecognition in Infrastructure-Free Pedestrian Navigation—Toward Adaptive Filtering Algorithm,” in IEEE Sensors Journal, vol. 18, no. 17, pp. 7253-7264, 1Sept.1, 2018. DOI: 10.1109/JSEN.2018.2847038

Page 2: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 2

work, and in Section IV we will describe how we apply thisbackground in practice. In Section V we present the tests weconducted to verify our approach and the obtained test results.Finally, in Section VI we will conclude our work and discussfuture work.

II. RELATED WORK

In this section we will review publications that are related tothe work done in this paper. First we will discuss sensor-basedmotion recognition, and second adaptivity in navigation.

A. Motion recognition

Choudhury et al. [5] describe a general activity recognitionsystem consisting of three main components: sensing module,feature processing and selection module, and classificationmodule. Sensing module consists of different sensors, that caneither be attached to different parts of body or to be enclosedin one casing. Feature processing and selection are doneprogrammatically based on the sensor outputs. Similarly, theclassification is done programmatically based on the computedfeatures.

Coincidentally, the navigation system used in our workand described in Section IV utilizes mainly the same sensorsthat have been used in research focusing solely on activityrecognition and not related to navigation. Accelerometers area common choice. Mannini et al. [6] study activity recognitionusing accelerometers located at the test persons hip, wrist, arm,ankle and thigh. Parkka et al. [7] use several kinds of sensorsincluding accelerometers, but also magnetometers, barometers,and different kinds of physiological sensors such as heart ratemonitors. Most of the sensors in their research are locatedin a rucksack carried by the test person. Maurer et al. [8]test the classification accuracy using an eWatch located indifferent body parts. The watch has an accelerometer, a lightsensor, a thermometer and a microphone enclosed. In theirpaper, the motion recognition capability of a decision tree isnot significantly affected by the location of the eWatch, exceptfor ascending or descending stairs.

As smartphones are popular nowadays, several publica-tions study activity recognition using sensors included in thesmartphone hardware, see for example [9], [10]. However, forexample in [5] it is discussed that sensors located solely on amobile phone or a similar single device may not be enoughto provide acceptable recognition accuracy. This is also truefor strapdown inertial navigation, however the accumulationof sensor errors [11] can be mitigated using a footmountedinertial sensor [12]. Wagstaff et al. [13] study activity recog-nition using a single footmounted IMU, and apply the activityrecognition result in footmounted inertial navigation. In thispaper we will use a similar approach as an illustrative exampleof how to use the context information in navigation applica-tion. In addition, one interesting aspect of context recognitionis collaboration suggested by Mantyjarvi et al. [14]. Theystudy how nearby devices, such as mobile phones, couldexchange individually obtained context information over anad hoc proximity network in order to reach a consensus of

the existing situation. This resembles the way humans obtainsituational awareness.

It seems that in motion recognition tasks the raw sensoroutputs are not generally used as features, but are processedfurther. Often the computed features are time domain features,such as means, variances, medians or other statistical mea-sures of the raw sensor outputs over some predefined timeperiod [8]. In addition, different frequency domain features,such as frequency peaks and corresponding power estimates,spectral centroids and spreads etc. [2], [5]–[7] are used.However, obtaining the frequency domain features may becomputationally costly [8], which has to be taken into accountin resource-constrained applications [10]. Guinness [10] statesthat usually it is not possible to determine the suitable set offeatures in advance, and therefore feature selection is needed.Different machine learning approaches, that are independentof the application in question, can be utilized for featureselection [15]. However, for example Parkka et al. [7] dofeature selection based on visual analysis of different featuresand a priori information of the application. This approach canyield good results, but may be problematic as features initiallyassumed to be useful may turn out to be negligible [10].

The No Free Lunch Theorem [15] states that, in general,no machine learning algorithm is better than other. Thus thebest suited algorithm for the problem at hand has to be foundthrough a process of trial and error, and depends on thedetails of the chosen approach. In motion recognition, thechoice of sensors and their locations on the body, as wellas the chosen features computed from the sensor outputs, allaffect the performance of the machine learning algorithm. Forthis reason a systematic comparison of different algorithms inexisting motion recognition research is challenging and notnecessarily meaningful.

Different variations of decision trees are one popular ap-proach for motion recognition. Decision trees are computa-tionally light to train and to use, and therefore a compellingchoice in resource-constrained applications such as tactical andrescue operations. Parkka et al. [7] use both automaticallygenerated and custom made decision trees achieving over80 % classification accuracy on average using leave-one-subject-out cross validation. Decision trees are also tested formotion recognition in [6], [8], [10], for example, and in ourprevious work [2]. Also for example Bayesian classifiers [6],[8], [10], [16], Support Vector Machines [6], [10], [13], [16]and artificial neural networks [7], [10] are tested. The temporalnature of the movement should also be taken into account [5].Mannini et al. [6] compare a Hidden Markov Model to othermachine learning approaches in motion recognition, whereasParkka et al. [7] apply median filtering to the consecutiveclassifier outputs.

One key issue in training a classifier for motion recognitionis the generalization of the classifier from user to user. Inliterature there are generally two different approaches; eithera separate classifier is trained for each user [6], [13], or aclassifier is trained with data obtained from multiple users [2],[5], [7], [8], [10], [16]. In the research of Choudhury et al. [5]data gathered from six to eight individuals usually resulted incomparable classification accuracy also for new users of the

Page 3: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 3

system. They also discuss a partially unsupervised training ofa classifier in order to be able to obtain more training dataand to personalize the classifier. Parviainen et al. [16] suggesta method to adapt the classifier parameters based on binaryinput from the user. Unfortunately, none of these approachessuit for tactical and rescue applications. Collection of labeledtraining samples of a variety of motion contexts in a realistictactical setup and from several users can be too costly and timeconsuming process. Also, in these situations there generally isno time to collect personal training samples or to feed anyinput to the system. For this reason, in this work we aim todevelop a motion recognition classifier, that is able to detectthe motion type of the user based on the training samplesobtained from another individual.

B. Adaptive navigation

The core idea in context adaptive filtering is that theautomatically recognized navigation conditions can influencethe filter calculations. For example, the navigation systempresented in [17] automatically determines whether it is betterto use GNSS or indoor localization, and whether a Kalmanfilter can be used instead of a particle filter to conserveprocessing power. The transition is seamless and requires noinput from the user. The motion context in tactical applicationscan be very variable, so the algorithms designed for walkingmotion are not necessarily suitable and may need to be adaptedaccording to the movement type [18].

Foxlin [12] developed a method to use a Zero VelocityUpdate (ZUPT) in inertial pedestrian navigation. It is based onthe fact that if an IMU is placed on the foot of the user, duringeach step the IMU will momentarily be stationary. When thisperiod of stationarity is detected, it can be used as a pseudomeasurement in computations to greatly reduce the cumulativeerrors that are problematic in inertial navigation. The methodhas been used successfully in many studies. Since the work ofFoxlin, numerous ways to detect these stationary periods havebeen presented. The detection can be done, for example, bymeasuring the acceleration values, which should be low whenthe foot is in contact with the ground.

Instead of acceleration measurements, angular rate mea-surements or their mean values can also be used to detectstationary stance as is done in [18]–[20]. Romanovas et al. [21]do stationarity detection separately for both acceleration andangular rate. Peltola et al. [22] use a threshold for accelerationwhile walking, but switch to a threshold for pitch angle changewhen climbing stairs. This is also an interesting exampleof the use of context information in stationarity detection.In [23] several detectors, including variation of acceleration,magnitude of acceleration, angular rate energy and generalizedlikelihood ratio test, have been derived and named StanceHypothesis Optimal detection (SHOE). The last two detectorsperformed best in general, but during slow gait the magnitudeof acceleration can be a better indicator for ZUPT.

The key problem with ZUPT and pedestrian navigationseems to be that there is no optimal detector for all circum-stances. The results in literature are difficult to compare, sincedifferent studies have used different metrics for accuracy. For

example, navigation solution accuracy or stationarity perioddetection accuracy have been used. Also, testing conditions areoften very different. Walder et al. [24] use an adaptive thresh-old that takes into account both velocity and acceleration. Thisapproach is tested with three types of motion: walking, runningand crawling. In [25] and [26] pedestrian gait segmentation isused to identify different parts of the gait, such as foot risingup, swing and the stationary period. In [13] the adaptationto movement type is accomplished by first recognizing themotion context with a machine learning approach, and thenthe information is used to choose the correct threshold forstationarity detection. Similar idea is studied later in this paper,when the navigation measurements done for this work areprocessed with different ZUPT threshold values. However,we use different machine learning methods and different ZUPTdetector.

In this work we experiment with different machine learningapproaches, of which many have been studied in existingliterature on motion recognition. However, for training andtesting the classifiers we use data gathered in a realisticproof of concept test scenario conducted in collaboration withFinnish Defence Forces. It seems that in existing literature thedata is usually gathered either in a laboratory setup or in aeveryday life scenario, and realistic tactical data has not beenused. Moreover, in literature the classifiers are either trainedwith data from several people, or a separate classifier is trainedfor each test person. Neither of these approaches suits well fortactical or rescue applications where time is of the essence.Therefore we aim for a cost-effective method to train a user-independent classifier using training data produced by onlyone person in a realistic tactical scenario. The tests presentedin this paper show that this may not be straightforward, as aclassifier trained with data from one person does not easilygeneralize to another person, but with careful classifier designthe outcome can be improved. We also demonstrate howapplying motion recognition results to footmounted inertialnavigation decreases loop closure error in navigation testsdone, again, in a realistic tactical setup.

III. THEORETICAL BACKGROUND

This section will discuss the mathematical methods and al-gorithms used in this work. More specifically, we will describethe machine learning methods used in motion detection, aswell as the estimation methods used in navigation.

A. Pattern recognition

In this work we compare several types of classifiers forpattern recognition. Some of these methods, as well as thefeature selection method used in this work, will be brieflydiscussed in the following subsections. For more detaileddescription the reader is referred to a pattern recognitiontextbook, such as [15].

1) Feature selection: In feature selection the aim is to im-prove prediction performance and to seek a better understand-ing of the underlying process generating the data. A reducednumber of features usually results in better computationalperformance in both classifier training and use. In addition,

Page 4: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 4

with a limited amount of training data and a large numberof features, feature selection is usually necessary in order toavoid the curse of dimensionality [27].

In this work we use a so called One Rule (1R) -classifierfor feature selection, although there are also several otheroptions. The 1R-classifier is a one-level decision tree, in otherwords it uses only a single feature for classification [28].The performance of the classifier is tested using ten-foldcross validation, and the feature is valued based on how largeamount of the samples is classified correctly using the featurein question. The different features are then ranked based ontheir performance, and a suitable number of features is usedto train a more sophisticated classifier. There is no simpleway to determine the sufficient number of features to be used,as it depends on the application and the available amount oftraining data, for example. Often the number is determinedthrough a process of trial and error.

2) Pattern classification: In this work we experiment withseveral types of classifiers. This section will discuss theclassifiers that, based on the tests presented in Section V, weconsider most suitable for the target application.

A decision tree is a classifier that finds the class of asample by series of questions. The sequence of questions canbe presented as a directed tree, where starting from the rootnode the nodes represent a question and the answer to thatquestion determines which branch one should follow to thenext question. Finally, the leaf node, from which there are nomore branches, tells the class of the sample [15].

In decision tree training the goal is to find at each nodea decision outcome, so called split, that best separates thesamples in different classes. This is usually done based onsome chosen measure of impurity. In the case of Randomtrees or Random forests (being an ensemble of Random trees),the features considered for a split are a randomly chosensubset of the whole feature space. Furthermore, a Randomforest is constructed using a random subset of the trainingsamples for each tree. Forests trained with randomly choseninputs and features have been shown to produce good resultsin classification tasks [29].

A Bayesian classifier is based on the Bayesian decisiontheory, which is a fundamental statistical approach to patternclassification problems [15]. Given a finite set of possibleclasses and corresponding prior probabilities, a new samplecan be classified based on Bayes’ rule. The class of thesample is the one that has the highest posterior probabilitygiven the prior probabilities of each class and class-conditionalprobabilities of the sample.

In practical applications the probability distributions usuallyneed to be estimated from data. One common method isto assume that the data is normally distributed and to usethe sample mean and variance in modeling the distribution.However, this will lead to problems if the data in fact isnot normally distributed. The distribution of the measurementscan be estimated using nonparametric methods, such as kerneldensity estimation or discretization [30]. In this work we usesupervised discretization [31] to estimate the distributions ofdifferent features. In supervised discretization the range offeature values is divided into subsections using an information

entropy minimization heuristic. For each class in the data, adistribution is formed based on how large portion of the sam-ples falls into each subsection, and applying Laplace smooth-ing [32]. This results in more descriptive density estimationof the data, compared to assuming a normal distribution. It isassumed that the features are conditionally independent, andthus the Bayesian classifier is naıve [15].

A Support Vector Machine (SVM) is a hyperplane thatseparates the samples in different classes. The samples areoften preprocessed such that they are represented in a higherdimension than the original data [15]. The transforming func-tion can be for example a polynomial or be derived basedon domain-specific knowledge. The separating hyperplane isdefined using the support vectors. Support vectors are trainingsamples that all lie, in principle, from an equal distance fromthe separating hyperplane. For good generalization of theclassifier the margins should be as large as possible. However,all datasets are not linearly separable even after transformationto a higher dimension. In that case it is still possible to train aSVM with a slightly modified optimization scheme that findsa compromise between a large margin and a small number oftraining samples falling on the wrong side of the separatinghyperplane [33].

The SVM is trained by solving a certain optimizationproblem, often utilizing quadratic programming (QP) [15],[33]. However, in principle training an SVM using standard QPtechniques can be computationally demanding especially forlarge datasets. Sequential Minimal Optimization (SMO) cansolve the QP problem for SVM training more efficiently [33].A binary-class SVM can be generalized into multiclass classi-fier by training several binary SVMs, either one for each pairof classes in the training data, or one to separate each classfrom all of the other classes [15].

B. Footmounted Inertial Navigation

The classical strapdown mechanization of inertial navigationis based on a numerical integration of gyroscope measure-ments to resolve the attitude followed by double integrationof accelerometer measurements to estimate the position, whichis well known to be susceptible to rapid position and velocityerror accumulation [11]. Integrated navigation systems tradi-tionally employ a Kalman filter to estimate the evolution ofthe inertial navigation errors based on position or velocityupdates from, e.g., GNSS. In this study, the filter estimatesthe evolution of attitude, velocity, and position errors usingthe traditional state-space model [11].

Footmounted inertial navigation hinges on the assumptionthat during human gait, the foot is periodically at rest1.Detecting these stance phases from the sensor output makes itpossible to exploit the knowledge of stationarity as a pseudo-measurement; this method is commonly known as ZUPT.Although only velocity updates are made, position errors aremitigated considerably because of the high correlation betweenthese two. However, ZUPT cannot mitigate the accumulation

1Existing studies suggest that the foot is not necessarily perfectly stationaryduring the stance phase but may be subject to rotation [34], [35].

Page 5: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 5

of heading errors or any residual position error accumulationwhen ZUPTs are applied [35].

Several algorithms to detect the foot stance phase have beenproposed based on various approaches, ranging from measure-ment variance thresholds to hidden Markov models [12], [23],[26]. In this article, we use the angular rate energy detectorwhere the test statistic T is based on a time series of Nmeasurement vectors w(i), i = 1, . . . , N from a three-axisgyroscope [23]:

T =1

N

N∑i=1

w(i)>w(i)

σ2g

(1)

where σg denotes the standard deviation of gyroscope mea-surement noise (assumed equal for each measurement axis).If the value of the test statistic T falls below a pre-defineddetection threshold T ∗, the foot is determined to be stationaryand a ZUPT is triggered.

Determining suitable detector parameters is not a trivialtask: any choice of the detection window length N and thedetection threshold T ∗ leads to different detector behaviorunder different types of motion: for instance, the higher footdynamics during running calls for a faster response time(smaller N ) than when walking slowly, which in turn increasesthe false detection (type I error) rate.

In this study we experiment with the size of the detectionthreshold value for the angular rate energy detector describedabove, and different movement paces. The foot-mounted in-ertial navigation algorithm is able to use a different thresholdfor each processing step, but the detection window size iskept unchanged. This allows the change of threshold everytime the movement type is changed. Here the threshold forthe navigation algorithm is defined in post-processing in orderto evaluate, whether the threshold must be changed for theused footmounted inertial navigation algorithm to performoptimally in tactical applications.

IV. MOVEMENT RECOGNITION AND ADAPTIVE FILTERINGMETHODS

In this section we will describe how the methods discussedin Section III are applied in practice in motion recognitionand adaptive filtering. The sensor readings should first bepassed through feature extraction and to the classification. Theobtained motion category should be passed to the navigationalgorithm with the sensor readings, that is then adapted accord-ing to the motion category in order to produce the positioningsolution.

A. Feature extraction from the sensors

The core sensors in our situational awareness system are theones used for navigation. The footmounted IMU and camera,that is used as a visual odometer and visual gyroscope, areused for horizontal positioning [4]. IMU and camera havedifferent error sources and thus complement each other insensor fusion. Sonar and barometer are used for vertical posi-tioning [3]. As the barometer is enclosed with an IMU [36],we also obtain accelerometer and gyroscope readings fromthe backmounted sensor. In addition, our earlier research has

shown that motion recognition benefits from including featurescomputed from head- and bodymounted IMU outputs [2].

In order to do motion recognition we attempt to find a moredescriptive and compact representation of the data by comput-ing different features from the raw sensor measurements. Themeasurements are divided into one second frames, and themovement category is assumed to stay the same during thatsecond. The different features are listed in Table I for eachsensor and sensor output used. In the table, componentwisesensor output, such as Acceleration, componentwise, meansacceleration along all axes x, y and z separately. On theother hand, magnitude of sensor output, such as Acceleration,magnitude, means the total acceleration combined from all theaccelerations along different axes. Corresponding applies alsofor other types of output.

The extracted features are means, variances, medians andfrequency related features. Our earlier research has found thesefeatures to suit the problem at hand for example in [2]. Meanof the raw sensor measurements, as well as the variance andmedian, are taken over all of the given sensor measurementsover the one second period of interest. To extract the frequencyrelated features we first take the Fourier transform of themeasurements made during the one second period. After thatwe choose 5 dominant frequencies as features, that is thefrequency components that have largest magnitudes, and thecorresponding magnitude values. In addition, we also calcu-late the distances between these dominant frequency peaks,resulting in 4 frequency difference values.

Sonar and camera have very low sampling frequencies (8 Hzand 10 Hz, respectively), and therefore Fourier transformon the measurements from these sensors does not providesignificant information. For pressure, that is measured by thebackmounted sensor unit including barometer, we compute theslope of the pressure in order to find whether it is increasing ordecreasing during the one second period. It is done by fittinga line to the pressure values obtained during the one secondperiod of interest, 50 data points in total, and choosing theslope value of the resulting line as a feature. We use the camerafor computing heading change and translation measurementsvia vision aiding processing and evaluate the performanceusing a Line Dilution of Precision (LDOP) method [37].For cameras LDOP value we use 7 as a limit to determinewhether or not the computation of the visual odometer andgyroscope values was reliable. If the LDOP is larger than 7,the computations failed. That can happen for instance when thetest person is lying down on the ground and thus the camerais facing the floor. The Computation OK -feature value is true,if five or more of the LDOP values computed during the onesecond of interest are smaller than 7, otherwise the value isfalse.

B. Movement categories

The different movement categories used in this work arebased on the ones defined in our earlier research, for in-stance in [2]. However, the previously defined 14 motioncategories contain some less relevant classes, such as Risingfrom crawling to standing or Getting down to crouching. The

Page 6: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 6

TABLE IEXTRACTED FEATURES FROM DIFFERENT WEARABLE SENSORS.

Sensor Sensor output Mea

n

Vari

ance

Med

ian

Freq

uenc

yfe

atur

es

Slop

e

Com

puta

tion

OK

Footmounted &HeadmountedIMU

Acceleration,componentwise

× × ×

Gyroscope,componentwise

× × ×

Acceleration,magnitude

× × × ×

Gyroscope,magnitude

× × × ×

Sonar Distance × × ×

BackmountedIMU

Roll, pitch, yaw × × × ×Acceleration,componentwise

× × ×

Acceleration,magnitude

× × × ×

Gyroscope,componentwise

× × ×

Gyroscope,magnitude

× × × ×

Pressure × × × ×

Camera

Odometer,horizontalcomponents

× × ×

Odometer,horizontalmagnitude

× × ×

Gyroscope,componentwise

× × ×

Gyroscope,magnitude

× × ×

LDOP × × × ×

duration of these movements is usually very short comparedto other categories, such as Walking. In addition, it can bededuced that this movement happened if the detected motioncategory changes from Crawling to Standing or from Standingto Crouching, for example. Therefore, in order to be able todetect the most relevant motion categories with good accuracy,we reduced the number of different categories and modified theexisting ones. This resulted in 8 different motion categories,that are listed in the first column of Table II.

C. Classifier training

All classifiers in this work are trained using a separatetraining set. The classifiers are then tested using a differenttest set, obtained from either the same person that producedthe training data or from another test person. Separate trainingand test sets are used in order to avoid overfitting the classifier.

Even though for instance the Random Forest classifier’sperformance does not depend much on data preprocessing,other classifiers can benefit from more careful handling ofthe data. In principle this should aid especially in traininga classifier that is independent of the user of the system. Inpreprocessing we first replace all of the missing values in thedata with the mean value of the corresponding feature in thetraining data. Second, based on the training data, we scaleall of the feature values to range from 0 to 1. This can limit

the dominance of the larger-valued features, and reduce in itspart the classifier’s dependency on the user. Both training andtest data are processed in the same manner before training theclassifiers.

V. TESTS AND TEST RESULTS

In this section we present the tests and the achieved testresults of motion recognition and adaptive filtering. The testsshow that motion recognition is fairly straightforward, whenall of the data is produced by the same person. However,problems arise when the training data is not produced bythe end user. We also present results we achieved, when themotion category information is used in footmounted inertialnavigation.

A. Test setup

Next we will describe the test equipment we used and thedata collection campaign.

1) Test equipment: Our test system consists of severalindividual sensors connected to a RaspberryPi [38], a singleboard computer for data collection. The test system can beworn as a backpack type harness with the computer, inertialmeasurement unit (IMU), downward pointing sonar rangefinder and a portable battery attached on the upper back. TheIMU mounted to the back is a Xsens MTi-G-710 [36], whichalso has an integrated air pressure sensor and a GNSS receiver.The sonar is HRUSB-Maxsonar [39]. Another IMU unit isattached to the test persons shoe on the instep of the foot anda third unit is attached on the side of the head. These areMIMU22BT type IMUs produced by Inertial Elements [40].All sensors are connected with an USB cable to the computer.Finally, a forward pointing video camera, equipped with itsown internal memory card, is attached on the center of thechest.

The test setup during the second measurement campaign inSeptember was the same with three added IMUs. Both feetwere equipped with a wireless IMU unit in addition to theexisting MIMU22BT unit, and one wireless unit was attachedto the chest. These were Xsens Awinda [41] type IMUs withintegrated barometer and a wireless connection to a laptopthat recorded the data. In motion recognition tests we use theMIMU22BT as a footmounted IMU, but in navigation tests weuse the wireless Xsens Awinda. The test equipment, worn byone of the test persons, is displayed in Figure 1.

2) Data collection: The data collection campaign wascarried out in collaboration with the Finnish Defence Forces.Similar tests were done in two separate sessions, one in Febru-ary and another in September 2017. The test persons wereFinnish conscripts and thus did not have any knowledge of howone should move in order to obtain a good navigation result.This intentional or unintentional adjustment of movement canhappen when test persons are the ones conducting the researchthemselves.

Navigation was tested in a building that had both smallconfined hallways and one larger hall approximately 20 by40 meters in size. The tests were performed so that two testspersons traveled the same test route twice each. The route

Page 7: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 7

Fig. 1. Test person wearing the navigation equipment.

started outside, entered the building, traveled trough severalsmaller rooms and a narrow hallway to a large hall, andended back outside on the same location where it started. Forthe first round the test person was instructed to walk slowlyand stop occasionally on marked locations. This round is thebaseline for navigation algorithm to evaluate the performancein uncomplicated conditions. On the second round the testperson traveled the exact same route, but moved at a fasterpace while occasionally sprinting short distances or stoppingto a crouching pose. The second round tested the navigationalgorithm in a more realistic conditions.

Data collection for motion recognition was done in thefollowing manner. First one test person wore the test equip-ment and moved in a controlled manner, such that for eachmovement category approximately one minute of data wascollected. After that the same person moved freely in the samespace and was choosing independently the movement fromthe predefined categories. Next the same test equipment wasmoved to another test person, who then moved freely in thesame space in a similar manner than the first test person. Theamount of collected samples is presented in Table II.

B. Motion recognition tests

The motion recognition tests were done using the navigationequipment measurements from two test persons, as described

TABLE IINUMBER OF SAMPLES IN EACH CLASS AND DATASET.

Motion category Training set Test set 1 Test set 2Walking 53 35 32Running 39 39 65Crawling 37 - 33Crouching 40 35 22Lying down 34 14 25Standing 79 2 15Climbing up 20 4 14Climbing down 17 4 14Total 319 133 220

in previous section. The feature extraction was done in themanner described in Section IV-A. The amounts of resultingtraining and test samples for each motion category are shownin Table II. One test person produced both the Training set andTest set 1, whereas another test person produced the Test set 2.For both training and testing the classifiers we utilized WEKA(Waikato Environment for Knowledge Analysis) [42].

1) Random Forest classifier test: We first tested the Ran-dom Forest algorithm described in Section III. Our previousresearch has shown that the Random Forest algorithm suitswell for motion recognition purposes [2], as it performs welland it is computationally light to train and use. With aslightly different feature set and more carefully chosen motioncategories, we were able to further improve the classificationaccuracy to the total of 93 % of correctly classified samples.The confusion matrix is presented in Table III, where thenumbers are the percentage of correctly classified instances.It should be noted that due to rounding errors the rows in theconfusion matrices do not always sum up to 100 %. The testdata set in this case did not contain any samples of crawling,but 97 % of the crawling samples in the training data wereclassified correctly when the classifier was tested using 10-foldcross validation.

This good accuracy was achieved only when the test andtraining data sets were produced by the same test person.When using the same classifier to classify samples fromanother person, the results were significantly worse. Theconfusion matrix is presented in Table IV. Especially Crawlingis mixed with Crouching, and Climbing up and Climbing downwith each other, resulting in the classifiers total accuracy beingonly 67 % of correctly classified samples. This result suggeststhat personal moving styles affect the classifiers ability torecognize different categories of movement.

2) Comparison of classifiers: Based on the results obtainedwith the Random Forest classifier, we wanted to find a classi-fier that performs well independent of the user. Therefore wepreprocessed the data more carefully in the manner describedpreviously in this section.

After these preprocessing steps we experimented in WEKAwith different classifiers, classifier hyperparameters and sets offeatures in order to find the best classifier for our application.However, the hyperparameter optimization was not done in anexhaustive manner since for some classifiers there would bea nearly infinite number of different parameter combinations.Based on these experiments we chose seven different classi-fiers, listed in Table V, for closer inspection. The classifiers

Page 8: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 8

TABLE IIICONFUSION MATRIX FOR THE Random Forest CLASSIFIER WHEN BOTH

THE TRAINING AND TEST DATA WERE PRODUCED BY THE SAME PERSON.

%

Wal

king

Run

ning

Cra

wlin

g

Cro

uchi

ng

Lyin

gdo

wn

Stan

ding

Clim

bing

up

Clim

bing

dow

n

Cla

ssifi

edas

Walking 100 0 0 0 0 0 0 0Running 3 97 0 0 0 0 0 0

Crawling - - - - - - - -Crouching 0 0 0 100 0 0 0 0

Lying down 0 0 29 0 64 7 0 0Standing 50 0 0 0 0 50 0 0

Climbing up 0 0 0 0 0 0 100 0Climbing down 25 0 0 0 0 0 25 50

Actual class

TABLE IVCONFUSION MATRIX FOR THE Random Forest CLASSIFIER WHEN THE

TRAINING AND TEST DATA WERE PRODUCED BY DIFFERENT PERSONS.

%

Wal

king

Run

ning

Cra

wlin

g

Cro

uchi

ng

Lyin

gdo

wn

Stan

ding

Clim

bing

up

Clim

bing

dow

n

Cla

ssifi

edas

Walking 88 0 0 3 0 6 0 3Running 5 91 2 2 0 0 0 2

Crawling 0 0 18 82 0 0 0 0Crouching 5 0 14 82 0 0 0 0

Lying down 0 0 4 32 32 32 0 0Standing 20 7 0 0 0 67 0 7

Climbing up 0 0 0 0 0 7 71 21Climbing down 7 0 0 0 0 0 29 64

Actual class

were tested using the training and test data from differentpersons. When applicable, such as with Random Forest, theresult is obtained by averaging 100 iterations each with adifferent random number seed. Otherwise the classifier istrained and tested only once.

The results from experimenting with different classifiers aredisplayed in Table V. In the table there is the best achievedpercentage of correctly classified samples with each classifierusing either original or merged classes, and either with orwithout feature selection. When feature selection was applied,the number of selected features that gave the best achievedperformance is given in parenthesis. The feature selectionwas done using the 1R-classifier described in Section III, theoriginal number of different features being 239.

The first column of Table V shows the accuracy of eachclassifier with all features and motion categories. The k-Nearest Neighbors (KNN)-classifier (in this case k = 8) per-forms best with 77 % of correctly classified samples. Featureselection, results presented in the second column, improvesthe performance of some classifiers. For example, the NaıveBayesian classifier classifies 70 % of the features correctlyusing 74 features, whereas with all features only 64 % of thesamples are classified correctly. All classifiers do not benefitfrom feature selection in terms of accuracy, but classifiers suchas Multilayer Perceptron (MLP) or KNN are able to achievesimilar or slightly better performance with a significantly

TABLE VOVERALL PERFORMANCES OF DIFFERENT CLASSIFIERS. IN PARENTHESIS

THERE IS THE NUMBER OF SELECTED FEATURES IN EACH CASE.

%

Ori

gina

lca

tego

ries

Ori

gina

l,fe

atur

ese

lect

ion

Mer

ged

cate

gori

es

Mer

ged,

feat

ure

sele

ctio

n

Test

set

Naıve Bayes 64 70 (74) 81 85 (67)Random Forest 69 72 (173) 87 87 (144)

Random Tree 69 71 (170) 83 86 (159)BayesNet 73 73 (209) 85 85 (209)

Support Vector Machine 75 76 (236) 89 89 (236)Multilayer Perceptron 72 76 (34) 86 89 (159)

k-Nearest Neighbors 77 77 (24) 87 88 (35)Classifier

reduced number of features.3) Effect of merged categories: We also decided to test the

effect of merging some similar motion categories. Crawlingand Crouching were merged into Moving forward in a lowposture and Climbing up and Climbing down were mergedinto Climbing. Crawling and Crouching are quite similarmovements, if considering from the situational awareness pointof view. Furthermore, in both movement categories PDR withZUPT does not work, so some other navigation algorithmhas to be used. One option that should be able to producelocation estimates for both Crawling and Crouching is inertialnavigation based solely on the backmounted IMU. Also, inprinciple the performance of footmounted inertial navigationshould not be degraded by climbing, so recognizing the direc-tion of climbing is not necessarily that crucial. However, whenconsidering situational awareness and SLAM the direction ofclimbing may be needed. By using measurements from a well-pointed sonar it is possible to recognize the direction whenusing stairs, as has been shown in [3]. In principle, this couldalso be deduced from the foot-PDR, however, the navigationalgorithm output was not used here for classification.

Using the merged categories for Crawling and Crouching,and Climbing up and Climbing down all tested classifiersachieve 81-89 % of correctly classified samples. Applyingfeature selection somewhat improves the performance of mostof the classifiers, but none exceed the accuracy of 89 % ofcorrectly classified samples.

4) Discussion: None of the tested classifiers really standsout in terms of classification accuracy, as for each the bestachieved accuracy lies between 85 and 89 %. In these teststhe 4 % difference in accuracy means about 9 samples outof 220. Therefore the choice of the classifier for the navigationapplication in question depends on the performance in termsof computational complexity of the classification phase. Alsothe computational burden of feature extraction phase has to betaken into account. Since the target application is a carry-onsituational awareness system, these things affecting the powerconsumption need to be carefully considered.

The Support Vector Machine (SVM) or MLP look com-pelling in terms of accuracy. However, MLP has in this case 9hidden layers, that combined with 159 features that need

Page 9: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 9

TABLE VICONFUSION MATRIX FOR THE Naıve Bayesian CLASSIFIER WHEN THE

TRAINING AND TEST DATA WERE PRODUCED BY DIFFERENT PERSONS.

%

Wal

king

Run

ning

Forw

ard

low

Lyin

gdo

wn

Stan

ding

Clim

bing

Cla

ssifi

edas

Walking 69 3 3 0 3 22Running 2 91 3 0 0 5

Forward low 0 0 100 0 0 0Lying down 0 0 32 52 4 12

Standing 0 0 0 0 67 33Climbing 0 0 0 0 0 100

Actual class

TABLE VIICONFUSION MATRIX FOR THE SVM CLASSIFIER WHEN THE TRAINING AND

TEST DATA WERE PRODUCED BY DIFFERENT PERSONS.

%

Wal

king

Run

ning

Forw

ard

low

Lyin

gdo

wn

Stan

ding

Clim

bing

Cla

ssifi

edas

Walking 72 3 6 0 6 13Running 5 94 2 0 0 0

Forward low 0 2 98 0 0 0Lying down 0 0 36 64 0 0

Standing 0 7 0 0 93 0Climbing 0 0 0 0 0 100

Actual class

to be extracted result in a somewhat computationally costlyapproach. The computational cost of the SVM is reasonableeven with a polynomial kernel, however it requires a largenumber of features to be extracted. Furthermore, in this caseimplementing a SVM for multiclass classification problemsrequires training 15 binary classifiers.

The KNN performs quite well with a small number offeatures (35). However, the practical implementation of a KNNclassifier involves storing a possibly large amount of labeledsamples. The sample that is to be classified has to be comparedagainst all of these in order to find the k labeled samplesclosest to it. The computational cost of the classification phasecan thus be large, even though there exists methods that canbe used to reduce the computational burden [15].

Random Forest, Random Tree and BayesNet all performalso quite well, but the number of features that provided thepresented results in these tests is somewhat large for all ofthese. The Naıve Bayesian classifier seems to be a good choicein terms of computational complexity of the classificationphase and the number of needed features (67).

Table VI shows the confusion matrix for the Naıve Bayesianclassifier. The density estimation for the class-conditionalprobability density functions of the features was done usingsupervised discretization described in Section III. The classi-fier recognizes Running, Moving forward in a low posture andClimbing well. Lying down and Standing are not recognized aswell; Lying down is often mixed with Moving forward in a lowposture and Standing with Climbing. This is probably due tothe fact that people are rarely completely still when standingor lying down, and thus these categories are easily confusedwith more mobile but otherwise similar categories. Walking is

1 2 3 4 5 6

ZUPT Treshold 104

0

5

10

15

Loop

clo

sure

err

or [m

]

(a) Person 1, left foot

Slow movementFast movement

1 2 3 4 5 6

ZUPT Treshold 104

0

5

10

15

Loop

clo

sure

err

or [m

]

(b) Person 1, right foot

1 2 3 4 5 6

ZUPT Treshold 104

0

5

10

15

Loop

clo

sure

err

or [m

]

(c) Person 2, left foot

1 2 3 4 5 6

ZUPT Treshold 104

0

5

10

15

Loop

clo

sure

err

or [m

]

(d) Person 2, right foot

Fig. 2. Loop closure errors from the navigation test processed with differentvalues for ZUPT threshold. The blue lines represent the results from slowmovement and red lines from fast movement.

also often mixed with Climbing, which are quite similar exceptthat in climbing the movement happens up or down instead offorward. For comparison, Table VII shows similar results forthe SVM classifier implemented with a normalized polynomialkernel. Even though the overall accuracy of the SVM (89%)is higher than the accuracy obtained with the Naıve Bayesianclassifier (85%), it has similar issues with recognizing Lyingdown, for instance.

C. Adaptive filtering tests

A test for different movement paces was performed todemonstrate the use of context information in navigation. AZUPT based footmounted inertial navigation, also known asfoot-PDR, was performed for two different test sets from twotest persons. The stationarity detection is done comparing thetest statistic in Equation (1), computed with N = 4 andσg = 0.15, against a threshold value. Different values forthe threshold are used for the two navigation tests performedby two test persons on the same route as described above inSection V-A2. Because the test persons wore a sensor on bothfeet it was possible to process each test twice with differentdata.

Results were processed for 12 different ZUPT thresholdvalues ranging from 5000 to 60000 at equal intervals. The testroute started and ended at the same location and we investigatethe loop closure error, which is the difference between the firstand last position estimates along the route. Each processinground with a different threshold resulted in a slightly differentroute, and the loop closure errors of these routes are plotted inFigure 2. The blue line presents the loop closure errors for thefirst round of testing and the red line for the second round oftesting. In three cases out of four the minimum loop closureerror is obtained from the first round with a lower thresholdvalue than from the second round. These optimal values arepresented in Table VIII.

Page 10: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 10

TABLE VIIITHE OPTIMAL ZUPT THRESHOLD VALUES OBTAINED IN THE NAVIGATION

TEST.

Test Optimal threshold valueSlow movement Fast movement

Test person 1 (left) 50000 60000Test person 1 (right) 40000 50000

Test person 2 (left) 50000 40000Test person 2 (right) 20000 50000

In these two tests fast and slow movement have differentoptimal thresholds for stationarity detection for loop closureerror. For example [13] goes into more detail on choosingthe correct threshold values. However, this test was done as aproof of concept of tactical application navigation system. Thetest was as close to a realistic scenario as possible in order toshow that, even under these circumstances, adaptive thresholdcan reduce the loop closure error.

An interesting detail is that the left and right foot of thesame test person produce quite different loop closure errors,this is especially clear for Test person 1 in Figure 2. Thismay be due to slightly different placements of the sensors ondifferent feet, as other wireless IMU used in the navigationtests was located on top of the enclosure of another foot-mounted IMU. Also, as people generally are either “leftfooted”or “rightfooted”, there may be slight movement differencesbetween left and right leg of a person.

For slow pace even very small threshold values seem togive good results. The ZUPT threshold should not be largerthan necessary in order to being able to observe most of thestationary periods. If the threshold is larger than presentedhere, there are more false positive detections of zero velocity,which will result in the estimated route appearing too short.This gives erroneous navigation results, even though it mightresult in a smaller loop closure error. In these tests there wasno location reference available. High grade inertial navigationreference system equipment was too heavy to allow realisticuser movement and the use of an application appropriate userequipment. The test route was indoors, so satellite navigationwas not an option, and there were no other indoor navigationsystems available at the location. For this reason the loop clo-sure error was used for evaluating the accuracy. Further studyof the effect of different threshold values to the navigationwith different movement types would include a more detailedanalysis of the accuracy.

VI. CONCLUSIONS AND FUTURE WORK

In tactical and rescue operations the knowledge of soldiersor first responders location can make the difference betweenlife and death. For this reason we have studied recognizinguser’s motion context based on the readings from the sensorsused for infrastructure-free navigation. The motion contextcan be used to improve the performance of the navigationalgorithm in an adaptive manner. We presented an illustrativeexample of modifying ZUPT threshold based on whether themovement is fast or slow. The research is still ongoing, butwe have presented first steps towards an adaptive navigationalgorithm.

We defined 8 different motion contexts that we want to beable to recognize. These contexts support both the situationalawareness purposes and development of an adaptive navigationalgorithm. In order to test the performance of our approach weconducted a test campaign in collaboration with the FinnishDefence Forces.

The sensors used in infrastructure-free navigation are head-,back- and footmounted inertial sensors, a barometer, a cameraand sonar. Coincidentally, especially the inertial sensors arealso commonly used in research focusing solely on motionrecognition. From the raw sensor readings we computednumerous time and frequency domain features, that were thenused in different classifiers.

Previous research [2] has shown that Random Forests arewell suited for motion recognition, as they are computationallylight to both train and to use. Using a Random Forest classifierwe obtained over 93 % classification accuracy with only aboutfive minutes of training measurements, when both the trainingand test data were produced by the same person. However,our tests showed that if the training data is produced bysomeone else than the end user of the system, the classificationperformance degraded significantly to 67 %.

In order to find a user-independent motion recognitionmethod we preprocessed the data, merged some similar mo-tion categories and applied feature selection. The classifierswe chose to test achieved 85-89 % of correctly classifiedinstances. The differences are fairly small, so the choiceof the suitable classification method depends more on thecomputational cost of the feature extraction and classificationphases rather than on differences in accuracy. SVM and MLPperform well in terms of classification accuracy, however theyrequire a quite large number of features. KNN performs wellwith a small number of features, but the classification phasecan be computationally too demanding. Based on the presentedresults the Naıve Bayesian classifier seems to be the bestoption in terms of computational complexity.

We demonstrated how to use the motion context by exper-imenting with different ZUPT threshold values used in thefootmounted inertial navigation algorithm. The threshold wasmodified based on whether the user of the system was movingslow or fast. Our preliminary results show that the loop closureerror can be reduced when the motion context is recognizedand the navigation algorithm is modified accordingly. How-ever, further study on adaptive navigation algorithm is needed.

Our results show that the performance of the footmountedinertial navigation algorithm can benefit from adaptation, whenthe user is either walking or running. However, there is aneed to adapt the method to use the motion context also inother situations. Footmounted inertial navigation can not beused if no steps are taken, such as when crawling. In thiscase the algorithm could, for example, switch from foot-PDRto inertial navigation using only the backmounted IMU. Ina similar manner, when the user is detected to be lying orstanding still, the navigation algorithm could seize processingthe sensor outputs until movement is again detected.

In principle, for an adaptive navigation algorithm the re-quired motion recognition accuracy is between 80-90%, whichis achieved in this work. However, improving the classification

Page 11: IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 1 Context ...

IEEE SENSORS JOURNAL, VOL. X, NO. X, XXX 2018 11

method further is preferable as this accuracy requirement isnot yet verified. Improvements could be done, for instance,by looking into modeling human movement and finding bet-ter, user-independent features from that field. More carefulclass-conditional probability density estimation for differentfeatures could also improve the performance of the NaıveBayesian classifier. In addition, for Bayesian classification acost function could be developed. Regarding the adaptivityoptions we discuss above, it is not as costly to mix Crawlingwith Crouching as it is to mix it with Lying down, forexample. Based on this kind of reasoning the performanceof the Bayesian classifier could be further improved using acustom-made cost function.

REFERENCES

[1] R. Chen and R. Guinness, Geospatial computing in mobile devices.Boston: Artech House, 2014.

[2] L. Ruotsalainen, R. Guinness, S. Grohn, L. Chen, M. Kirkko-Jaakkola,and H. Kuusniemi, “Situational Awareness for Tactical Applications,” inProceedings of the ION GNSS+, Portland, Oregon, Sep. 2016.

[3] L. Ruotsalainen, L. Chen, M. Kirkko-Jaakkola, S. Grohn, and H. Ku-usniemi, “INTACT - Towards infrastructure-free tactical situationalawareness,” European Journal of Navigation, vol. 14, no. 4, pp. 33–38, 2016.

[4] L. Ruotsalainen, M. Kirkko-Jaakkola, L. Chen, S. Grohn, R. Guinness,and H. Kuusniemi, “Multi-Sensor SLAM for Tactical Situational Aware-ness,” in Proceedings of the ION ITM, Monterey, California, Jan. 2016.

[5] T. Choudhury, S. Consolvo, B. Harrison, J. Hightower, A. LaMarca,L. LeGrand, A. Rahimi, A. Rea, G. Borriello, B. Hemingway, P. Klasnja,K. Koscher, J. A. Landay, J. Lester, D. Wyatt, and D. Haehnel, “TheMobile Sensing Platform: An Embedded Activity Recognition System,”IEEE Pervasive Computing, vol. 7, no. 2, pp. 32–41, Jun. 2008.

[6] A. Mannini and A. M. Sabatini, “Machine Learning Methods forClassifying Human Physical Activity from On-Body Accelerometers,”Sensors, vol. 10, pp. 1154–1175, 2010.

[7] J. Parkka, M. Ermes, P. Korpipaa, J. Mantyjarvi, J. Peltola, and I. Ko-rhonen, “Activity Classification Using Realistic Data From WearableSensors,” IEEE Transactions on Information Technology in Biomedicine,vol. 10, no. 1, pp. 119–128, Jan. 2006.

[8] U. Maurer, A. Smailagic, D. P. Siewiorek, and M. Deisher, “ActivityRecognition and Monitoring Using Multiple Sensors on Different BodyPositions,” in Proceedings of the International Workshop on Wearableand Implantable Body Sensor Networks, 2006.

[9] J. Parviainen, “Studies on Sensor Aided Positioning and ContextAwareness,” PhD Thesis, Tampere University of Technology, Tampere,Finland, 2016.

[10] R. Guinness, “Context Awareness for Navigation Applications,” Doctoraldissertation, Tampere University of Technology, Tampere, Finland, 2015.

[11] D. Titterton and J. L. Weston, Strapdown Inertial Navigation Technol-ogy, 2nd ed. Reston, VA, USA: American Institute of Aeronautics andAstronautics, 2004.

[12] E. Foxlin, “Pedestrian tracking with shoe-mounted inertial sensors,”IEEE Computer Graphics and Applications, vol. 25, no. 6, pp. 38–46,Dec. 2005.

[13] B. Wagstaff, V. Peretroukhin, and J. Kelly, “Improving Foot-MountedInertial Navigation Through Real-Time Motion Classification,” in arXivpreprint, 2017. [Online]. Available: https://arxiv.org/abs/1707.01152v1

[14] J. Mantyjarvi, P. Huuskonen, and J. Himberg, “Collaborative ContextDetermination to Support Mobile Terminal Applications,” IEEE WirelessCommunications, pp. 39–45, Oct. 2002.

[15] R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, 2nd ed.John Wiley & Sons, Inc, 2001.

[16] J. Parviainen, J. Bojja, J. Collin, J. Leppanen, and A. Eronen, “AdaptiveActivity and Environment Recognition for Mobile Phones,” Sensors,vol. 14, pp. 20 753–20 778, 2014.

[17] P. Peltola, C. Hill, and T. Moore, “Adaptive Real-Time Dual-Mode FilterDesign for Seamless Pedestrian Navigation,” in Proceedings of the ICL-GNSS 2017, Nottingham, UK, 2017.

[18] J. Rantakokko, P. Stromback, E. Emilsson, and J. Rydell, “Soldierpositioning in GNSS-denied operations,” in Proceedings of the Sensorsand Electronics Technology Panel Symposium (SET-168) on NavigationSensors and Systems in GNSS Denied Environments, Izmir, Turkey,2012.

[19] L. Ojeda and J. Borenstein, “Non-GPS Navigation for Security Personneland First Responders,” Journal of Navigation, vol. 60, no. 3, pp. 391–407, 2007.

[20] R. Zhang, F. Hoflinger, and L. Reindl, “Inertial sensor based indoorlocalization and monitoring system for emergency responders,” IEEESensors Journal, vol. 13, no. 2, pp. 838–848, 2013.

[21] M. Romanovas, V. Goridko, A. Al-Jawad, M. Schwaab, M. Traechtler,L. Klingbeil, and Y. Manoli, “A study on indoor pedestrian localizationalgorithms with foot-mounted sensors,” in Proceedings of the Interna-tional conference on Indoor Positioning and Indoor Navigation, 2012.

[22] P. Peltola, C. Hill, and T. Moore, “Particle filter for context sensitiveindoor pedestrian navigation,” in Proceedings of the ICL-GNSS 2016,Barcelona, Spain, 2016.

[23] I. Skog, P. Handel, J.-O. Nilsson, and J. Rantakokko, “Zero-velocitydetection—An algorithm evaluation,” IEEE Transactions on BiomedicalEngineering, vol. 57, no. 11, pp. 2657–2666, 2010.

[24] U. Walder and T. Bernoulli, “Context-adaptive algorithms to improveindoor positioning with inertial sensors,” in Proceedings of the Interna-tional conference on Indoor Positioning and Indoor Navigation, 2010.

[25] S. K. Park and Y. S. Suh, “A zero velocity detection algorithm usinginertial sensors for pedestrian navigation systems,” Sensors, vol. 10,no. 10, pp. 9163–9178, 2010.

[26] M. Ren, K. Pan, Y. Liu, H. Guo, X. Zhang, and P. Wang, “A NovelPedestrian Navigation Algorithm for a Foot-Mounted Inertial-Sensor-Based System,” Sensors, vol. 16, Jan. 2016.

[27] I. Guyon and A. Elisseeff, “An Introduction to Variable and FeatureSelection,” Journal of Machine Learning Research, vol. 3, no. Mar, pp.1157–1182, 2003.

[28] R. C. Holthe, “Very Simple Classification Rules Perform Well on MostCommonly Used Datasets,” Machine Learning, vol. 11, pp. 63–91, 1993.

[29] L. Breiman, “Random forests,” Machine Learning, vol. 45, no. 1, pp.5–32, 2001.

[30] G. H. John and P. Langley, “Estimating continuous distributions inBayesian classifiers,” in Proceedings of the Eleventh conference onUncertainty in artificial intelligence. Morgan Kaufmann PublishersInc., 1995.

[31] U. Fayyad and K. Irani, “Multi-interval discretization of continuous-valued attributes for classification learning,” Machine Learning, pp.1022–1027, 1993.

[32] C. D. Manning, P. Raghavan, and H. Schutze, Introduction to Informa-tion Retrieval. Cambridge University Press, 2008.

[33] J. Platt, “Sequential Minimal Optimization: A Fast Algorithm forTraining Support Vector Machines,” Microsoft Research, Tech. Rep.,Apr. 1998. [Online]. Available: https://www.microsoft.com/en-us/research/publication/sequential-minimal-optimization-a-fast-algorithm-for-training-support-vector-machines/

[34] A. Peruzzi, U. Della Croce, and A. Cereatti, “Estimation of stride lengthin level walking using an inertial measurement unit attached to the foot:A validation of the zero velocity assumption during stance,” Journal ofBiomechanics, vol. 44, no. 10, pp. 1991–1994, Jul. 2011.

[35] J.-O. Nilsson, I. Skog, and P. Handel, “A note on the limitationsof ZUPTs and the implications on sensor error modeling,” in Proc.International Conference on Indoor Positioning and Indoor Navigation,Sydney, Australia, Nov. 2012.

[36] “MTi-G-710, Turnkey GNSS/INS solution for navigation andstabilization applications.” [Online]. Available: https://www.xsens.com/download/pdf/documentation/mti-g-100/mti-g-710-series.pdf

[37] L. Ruotsalainen, “Vision-Aided Pedestrian Navigation for ChallengingGNSS Environments,” Doctoral dissertation, Tampere University ofTechnology, Tampere, Finland, 2013.

[38] “Raspberry Pi.” [Online]. Available: https://www.raspberrypi.org/[39] “HRUSB-MaxSonar R©-EZTM Series, USB Rangefinder, High

Resolution Precision.” [Online]. Available: https://www.maxbotix.com/documents/HRUSB-MaxSonar-EZ Datasheet.pdf

[40] “OSMIUM MIMU22b9/22b9p/22b9px, Shoe-mounted Sensors(IMUs).” [Online]. Available: http://www.inertialelements.com/documents/mimu22b9/MIMU22B9 product-brief.pdf

[41] “MTw Awinda, Wireless Motion Tracker.” [Online]. Available:https://www.xsens.com/products/mtw-awinda/

[42] E. Frank, M. A. Hall, and I. H. Witten, The WEKA Workbench. OnlineAppendix for ”Data Mining: Practical Machine Learning Tools andTechniques”, 4th ed. Morgan Kaufmann, 2016.


Recommended