# A Lightweight Gait Authentication on Mobile Phone Regardless of Installation Error

Thang Hoang, Deokjai Choi, Viet Vo, Anh Nguyen, Thuc Nguyen

► To cite this version:

Thang Hoang, Deokjai Choi, Viet Vo, Anh Nguyen, Thuc Nguyen. A Lightweight Gait Authentication on Mobile Phone Regardless of Installation Error. 28th Security and Privacy Protection in Information Processing Systems (SEC), Jul 2013, Auckland, New Zealand. pp.83-101, 10.1007/978-3-642-39218-4_7. hal-01463861

HAL Id: hal-01463861

https://inria.hal.science/hal-01463861

Submitted on 9 Feb 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A Lightweight Gait Authentication on Mobile Phone Regardless of Installation Error

Thang Hoang<fnref n="1" />,<fnref n="3" />, Deokjai Choi<fnref n="1" />, Viet Vo<fnref n="1" />, Anh Nguyen<fnref n="1" />, and Thuc Nguyen<fnref n="2" />

dchoi@jnu.ac.kr

ndthuc@fit.hcmus.edu.vn

thang.hoangminh@stu.edu.vn

**Abstract.** In this paper, we propose a novel gait authentication mechanism by mining sensor resources on mobile phone. Unlike previous works, both built-in accelerometer and magnetometer are used to handle mobile installation issues, including but not limited to disorientation, and misplacement errors. The authentication performance is improved by executing deep examination at pre-processing steps. A novel and effective segmentation algorithm is also provided to segment signal into separate gait cycles with perfect accuracy. Subsequently, features are then extracted on both time and frequency domains. We aim to construct a lightweight but high reliable model; hence feature subsets selection algorithms are applied to optimize the dimension of the feature vectors as well as the processing time of classification tasks. Afterward, the optimal feature vector is classified using SVM with RBF kernel. Since there is no public dataset in this field to evaluate fairly the effectiveness of our mechanism, a realistic dataset containing the influence of mobile installation errors and footgear is also constructed with the participation of 38 volunteers (28 males, 10 females). We achieved the accuracy approximately 94.93% under identification mode, the FMR, FNMR of 0%, 3.89% and processing time of less than 4 seconds under authentication mode.

**Keywords:** gait authentication, identification, pattern recognition, behavioural biometric, mobile accelerometer, mobile security.

## 1 Introduction

The explosion of mobility nowadays is setting a new standard for information technology industry. Mobile devices sales skyrocketed over recent years. A survey on the mobile market<fnref n="1" /> showed that there were six billion subscriptions by the end of 2011. Technology constantly evolves and creates more intelligent devices. Their abilities are not only limited in calling, or texting, but also cover a

<footnote n="1">¹ECE, Chonnam National University, Gwangju, South Korea</footnote>

<footnote n="2">²DKE, Ho Chi Minh University of Science, Ho Chi Minh City, Vietnam</footnote>

<footnote n="3">³FIT, Saigon Technology University, Ho Chi Minh City, Vietnam</footnote>

<footnote n="1">¹ Report of the Wireless Intelligence Company [J. Gillet, "Wireless Intelligence: Global mobile connections surpass 6 billion by year-end", 2011]</footnote>
variety of utilities, including portable storage and business applications, such as e-commerce or m-banking [2].

However, misperceiving mobile devices as an absolutely safe repository to store critical information could make owners face up to security issues. Such devices can be easily lost, stolen, or illegally accessed [1], which makes sensitive or/and important information of mobile owners become vulnerable (see more [1]). Consequently, authentication settings have evolved to become a more priority issue. The most widely-used authentication methods in mobile currently are PINs, visual patterns, and passwords because of their ease in use and implementation. However, these methods are not always effective considering re-membrance and security aspects [1]. Implementations on physiological biometric could overcome this issue completely [3]. However, it is hard to deploy them on mobile phone since existing mobile resources would not guarantee to acquire specialized data such as iris, fingerprint, etc. properly. Similar to other active authentications like PIN and password, physiological biometrics also cause time consuming which is one of the main obstacles preventing users from using these techniques. They forced us to pay attention and perform explicit gestures to be authenticated (e.g. typing passphrases, facing to the front camera, etc.). This causes obtrusiveness and inconvenience in frequent use.

Thus, a friendlier and reliable authentication mechanism which can operate implicitly without users awareness is desired to be found and aimed to ameliorate mobile security. Recently, a novel approach using wearable sensors to authenticate human gait has been introduced and achieved potential results [11, 13]. Accordingly, sensors are attached to human body in various positions such as pocket, waist and footgear to record physical locomotion. This approach takes advantage of modern mobile devices sensing capabilities including GPS, accelerometer, magnetometer, gyroscope sensor, etc. Moreover, devices are usually put in their owners' pockets for most of the day [1], so gaits can be authenticated implicitly and continuously by acquiring walking signals. For this reason, sensor-based gait authentication has a significant advantage in implementation on mobile. It will provide developers with an edge over improving various techniques in authentication.

The above potentialities of wearable sensor authentication motivated us to improve and establish a similar mechanism running on mobile. Since 2009, this study has been initiated on mobile and achieved encouraging results [8, 19]. However, they were still in early stages and methods were tried-out on ideal conditions in which mobiles were always installed at an exact position and orientation by tightening directly to equipment such as suite, footgear, or human body. Processing steps such as segmentation and noise elimination which could directly affect the recognition model were not analyzed in depth. Finally, there was no evaluation of the possibility of running authentication directly on mobile devices. Authentication tasks were assigned to powerful computers rather than mobile resources. An excessively complex model could face up to critical challenges when it is deployed under limited computational capabilities.

In this paper, we focus on finding solutions to deal with existing matters:
(1) To handle mobile installation issues, we introduce a novel lightweight but effective calibration method by taking full advantage of existing sensors on modern mobile phone. (2) Gait preprocessing phases are investigated thoroughly to improve the effectiveness of authentication mechanism. A novel segmentation algorithm which could segment acquired data into well separated gait cycles is also presented. (3) To make sure the authentication model can run smoothly and independently under limited computational resources on mobile phone, we apply some techniques to reduce the processing time of learning algorithm. A scenario is also designed to construct a particular dataset under more realistic conditions to fairly evaluate our proposed model. We perform our study on both authentication and identification modes. The impacts of mobile installation errors and processing steps to the authentication model are analyzed deeply. Finally, the authentication is deployed directly on the mobile phone to experiment the possibility of running such model with limited computational resources. With promising results achieved from the experiment, solving installation issues and providing a novel lightweight reliable gait authentication are our main contributions.

The rest of this paper is organized into 4 sections. Section 2 presents state of the art in which we summarize typical previous studies related to sensor-based gait authentication. Section 3 presents our proposed authentication model. Section 4 summarizes our experimental results. Finally, conclusions will be presented in Section 5.

## 2 State of the Art

Human gait has been considered as a particular style and manner of moving human feet and hence contains the information of identity authentication. In a more detailed level view, the mechanism of human gait involves synchronization between the skeletal, neurological and muscular system of human body [4]. In 2005, H. Ailisto et al. were the first to propose the gait authentication using wearable sensor [13] and this area was further expanded by Gafurov et al. [10]. In general, sensors are attached to various positions on human body to record locomotion signal. Various sensors are experimented including gyroscope, rotation sensor but acceleration sensor (or accelerometer) is the most commonly used. In this field, there are two typical approaches: (1) Template Matching (TM) and (2) Machine Learning (ML). In (1), acquired signal is preprocessed and then split into patterns. Best patterns which represent the most characteristics of the subject are considered as representative gait templates. They are then stored as referred templates corresponding to individual. Various distance metrics such as Dynamic Time Warping (DTW) [9, 19, 14], Euclidean distance [8, 9], autocorrelation [13], nearest neighbors [11] are used for calculating the similarity score between a given pattern and referred templates.

Second method is the most popular approach used in pattern recognition areas. In this approach, gait signal is segmented into patterns. On each pattern, features are extracted in time domain, frequency domain, and wavelet domain
or by special techniques such as time delay embedding [18]. Extracted feature
vectors are then classified using supervised classifiers like HMM [16], SVM [17,
15, 20, 14, 18], ANN [5], LDA [5]. Some other works propose hybrid approaches
in which either distance metrics such as DTW [7], Euclidean [10, 12], are used
to measure the similarity scores of features extracted in time and frequency do-
mains, or similarity scores of gait templates can be considered as features which
are used for classification [6].

In early stages, most of works used standalone sensors (SSs) have been im-
plemented with a variety of success rate, they still have some restrictions. For
example, SSs is relatively expensive and the interface of some special sensors
needs to be developed separately. Thus, there is an increasing need to develop
an easy-to-operate gait monitoring system within pervasive and ubiquitous envi-
ronment. Recently, the developing of micro electromechanical (MEMs) technol-
ogy helped such sensors to be miniaturized and integrated inside mobile devices
(known as mobile sensors - MS). Gait authentication has been initially experi-
mented on MS during recent years. In 2010, J. Frank et al. [18] used HTC G1
cell phone with built-in accelerometer attached at the trouser pocket position
to collect gait signal. By using time-delay embedding combined with SVM clas-
sifier, they achieved a perfect recognition rate of 100%. In comparison to SSs,
MSs are designed to be cheaper, simpler and as a result the quality is not guar-
anteed as SSs. For example, the sampling rate is low and unstable (<50Hz vs.
>100Hz), the noise is rather high. Derawi et al. [19] pointed up that impact by
redid Holien's work [21] using MS instead of SS and achieved EER of 20.1% com-
pared to 12.9%. Table 1 summarized gait authentication approaches and their
performances with various evaluation metrics such as Equal Error Rate (EER),
Recognition Rate (RR), etc. on both SS and MS.

3 Methodology

We pay particular attention to the position of mobile device. It is put freely
inside the trouser pocket. This position turns out to be the most appropriate
for the mobile phone bearer [1]. The authentication method is implemented by
machine learning approach. Acquired gait signal is precisely segmented into pat-
terns containing a sequence of gait cycles using our segmentation algorithm.
Features are then extracted in time and frequency domains. Subsequently, fea-
ture subset selection algorithms are applied to find the best feature subset giving
the most accuracy rate as well as reducing feature dimension. Finally, Support
Vector Machine (SVM) classifier is applied to obtain the last model. A detailed
description of milestones in gait authentication will be explained in the following.

3.1 Data Acquisition

We perform our study on a Google Android HTC Nexus One mobile phone. The
authentication mechanism is constructed based on gait signal acquired by a built
-in accelerometer. Acceleration forces acting on the phone are measured in three
<table><caption>**Table 1.** State of the art gait authentication using Standalone (S) and Mobile sensor (M) including Accelerometer (A), Rotation Sensor (R) by approaches: Template Matching (TM), Machine Learning (ML) and Hybrid (H)</caption><thead><tr><th>Previous Works</th><th>Sensor/ Sampling rate</th><th>Location</th><th>Methods</th><th>No. Subjects</th><th>Results</th></tr></thead><tbody><tr><td>[14]</td><td>MA / 27Hz</td><td>T Pocket</td><td>TM, ML</td><td>11</td><td>79.1%, 92.7% RR</td></tr><tr><td>[6]</td><td>SA / 50Hz</td><td>Ankle</td><td>H</td><td>22 (16M 6F)</td><td>3.03% EER</td></tr><tr><td>[5]</td><td>9 SR</td><td>Body</td><td>ML (LDA)</td><td>30 (25M 5F)</td><td>100% RR</td></tr><tr><td>[15]</td><td>MA</td><td>T Pocket</td><td>ML (SVM)</td><td>36</td><td>HTER: 10.1%</td></tr><tr><td>[7]</td><td>SA / 40Hz</td><td>Ankle</td><td>H</td><td>22</td><td>3.27% EER</td></tr><tr><td rowspan="2">[16, 17]</td><td>MA / 120Hz</td><td>Hip</td><td>ML (HMM)</td><td rowspan="2">48 (30M 18F)</td><td>6.15% EER, 5.9%</td></tr><tr><td>MA / 45Hz</td><td>Hip</td><td>ML (SVM)</td><td>FMR, 6.3%FNMR</td></tr><tr><td>[8]</td><td>SA / 100Hz</td><td>Ankle</td><td>TM (Euclidean)</td><td>10</td><td>20% EER</td></tr><tr><td>[18]</td><td>MA / 25 Hz</td><td>T Pocket</td><td>ML (SVM)</td><td>25</td><td>100% RR</td></tr><tr><td>[9]</td><td>SA / 100Hz</td><td>Hip</td><td>TM (PCA)</td><td>60(43M 17F)</td><td>1.6% EER</td></tr><tr><td>[19]</td><td>MA / 45Hz</td><td>Hip</td><td>TM (DTW)</td><td>51 (41M 10F)</td><td>20% EER</td></tr><tr><td>[20]</td><td>MA / 37Hz</td><td>Hip</td><td>ML (SVM)</td><td>6</td><td>90.3 3.2% RR</td></tr><tr><td rowspan="4">[10]</td><td>SA / 16Hz, 100Hz</td><td>Ankle</td><td>H (Euclidean)</td><td>21 (12M 9F)</td><td>5% EER</td></tr><tr><td></td><td>Pocket</td><td>H (Manhattan)</td><td>100 (70M 30F)</td><td>7% EER</td></tr><tr><td></td><td>Arm</td><td></td><td>50(33M 17F)</td><td>10% EER</td></tr><tr><td></td><td>Hip</td><td></td><td>30 (23M 7 F)</td><td>13% EER</td></tr><tr><td>[11]</td><td>SA / 100Hz</td><td>Body</td><td>TM(NN)</td><td>30</td><td>96.7% RR</td></tr><tr><td>[12, 13]</td><td>SA / 256Hz</td><td>Waist</td><td>TM(cross-corr.), H (FFT, histogram)</td><td>36 (19M 17F)</td><td>6.4 %, 10%, 19% EER</td></tr></tbody></table>

spatial dimensions (X, Y, and Z as illustrated in figure 1(a)) when subjects are walking. Based on the relationships between gravity, acceleration and motion, we present the output of accelerometer as 3-component vectors

$$A = [a_X, a_Y, a_Z] \qquad (1)$$

where $a_X, a_Y, a_Z$ represent the magnitude of the acceleration forces acting on three directions respectively.

Because of the accelerometer characteristics, its sensing is very sensitive to mobile installation. Normally in fact, it is impossible to ensure the phone will always be at a fixed orientation and position all the time without additional accessories. Two issues could occur concurrently: (1) misplacement and (2) disorientation errors (figure 1(b-d)). From our observation, the impact of misplacement does not significantly affect accelerometers sensing axes once it is put in the trouser pocket. It is easily solved without exploiting more information.

Looking into the case of disorientation error, as accelerometer senses acceleration forces acting on three dimensions of the phone, acquired signals will be contaminated if it is not always fixed correspondingly to its bearer. Acceleration vectors should always be represented in a constantly referred coordination system instead of an unstable one (mobile coordinate system in this case). To do this, an additional built-in magnetometer is used along with the accelerometer. In our study, Earth is considered as the referred context. A rotation matrix is calculated based on the yaw, pitch, and roll angles which represent the angle
<figure><img src="image_2.png" /><figcaption>Fig. 1. (a) Mobile coordinate system, (b) misplacement error, (c) disorientation error and (d) both cases</figcaption></figure>

changes between mobile and Earth coordinate system. These angles are determined by the combination of magnetometer and accelerometer.

In summary, two kinds of information are determined to construct an effective gait authentication model: (1) yaw, pitch and roll angles determined before users start to walk and (2) gait signal of individuals. A scenario to acquire these values is explained meticulously in section 4.2.

## 3.2 Data Pre-processing

### Signal Transformation

As gait signals of individuals are acquired with arbitrary installations. Thus, the first step is standardizing raw signals to eliminate the impacts of disorientation and misplacement errors.

### Disorientation Errors Elimination

Denote $A = [a_X a_Y a_Z]$ as the raw acceleration vector corresponding to mobile coordinate system. To transform the acceleration vector $A$ to acceleration vector $A' = [a'_X a'_Y a'_Z]$ corresponding to the Earth coordinate system, we multiply $A$ by a rotation matrix $R$ as following

$$A' = A \cdot R \qquad (2)$$

The rotation matrix $R$ is calculated from yaw ($\alpha$), pitch ($\beta$), roll ($\gamma$) angles, which represent three composed rotation that move an unstable frame $C_M$ (mobile coordinate) to a given referred context $C_E$ (Earth coordinate). In other words, $\alpha, \beta, \gamma$ angles denote the angles of rotating $C_M$ about $\alpha, \beta, \gamma$ respectively. The rotation matrix $R$ can be formulated as

$$R(\alpha, \beta, \gamma) = \begin{pmatrix} \cos \alpha \cos \beta & \cos \alpha \cos \beta \sin \gamma - \sin \alpha \cos \gamma & \cos \alpha \sin \beta \cos \gamma + \sin \alpha \sin \gamma \\ \sin \alpha \cos \beta & \sin \alpha \sin \beta \sin \gamma + \cos \alpha \cos \gamma & \sin \alpha \sin \beta \cos \gamma - \cos \alpha \sin \gamma \\ -\sin \beta & \cos \beta \sin \gamma & \cos \beta \cos \gamma \end{pmatrix} \quad (3)$$

Note that we assume once mobile device is fixed on a rigid body, its orientation is kept unchanged with respect to that of the rigid body during walking. This means the relative position between $C_M$ and $C_E$ is also unchanged. Thus, the three angles and $R$ are constant.
Theoretically, the phone should be calibrated according to its bearer's context. Its purpose aims to make sure accelerometer will precisely sense gait signals in 3 dimensions corresponding to subjects walking direction. However, it is such a challenge to determine the relative position of mobile phone and its bearer with limited existing mobile resources. There is a restriction when considering Earth coordinate system as the fixed context. In this method, mobile orientation is calibrated to make the phone always parallel to the ground. Its Z-axis points toward the sky and perpendiculars to the ground. Therefore, Z-axis coincides with bearers upright. X and Y axes are always tangential to the ground and point towards the East and the magnetic North Pole respectively (figure 2(a)). Acceleration forces acting on each X and Y axis will be sensed imperfectly.

<figure><img src="image_3.png" /><figcaption>Fig. 2. (a) Mobile orientation after applying rotation matrix, (b) the relative position between the phone and its wearer</figcaption></figure>

However, this minor limitation does not adversely affect our mechanism. We found that although the gait signals recorded at X or Y axis are imperfect, the total acceleration forces of these two axes are guaranteed to be accurate. Thus, calibrating Z-signal precisely is necessary and efficient in this step. The authentication is constructed regardless of discretely calibrating X and Y axis signals.

### Misplacement Errors Elimination

When the phone is put in the subjects trouser pocket, it lays around his/her thigh. From our observation, walking is a slow activity with a moderate fluctuation. Consequently, any strong acceleration is likely to last no longer than a few tenths of a second. Furthermore, once the phone is placed close to a joint of the leg, output signals are dominated by gravitational signals [22]. The influence of misplacement in this case is not considerable and it can be reduced by applying a low-pass filter to eliminate detail components in the signal. This filter is described in the following section.

### Time Interpolation and Noise Elimination

As the mobile accelerometer is power saving designed to be simpler than standalone sensors, its sampling rate is not stable and entirely depends on mobile OS. The time interval between two consecutive returned samples is not a constant. The sensor only outputs value when the forces acting on each dimension have a significant change. The sampling rate of our device is approximately 27 Hz. Therefore, acquired signal is interpolated to 32 Hz using linear interpolation to ensure that the time interval between two samplepoints will be fixed.

When accelerometer samples movement data by user walking, some noises will inevitably be collected. These additional noises came from various sources (e.g., idle orientation shifts, screen taps, bumps on the road while walking). Moreover, mobile accelerometer produces numerous noises compared with standalone sensors since its functionality is fully governed by mobile OS layer. A digital filter needs to be designed to eliminate noises and reduce the impact of
misplacement error concurrently. Multi-level wavelet decomposition and recon-
struction method are adopted to filter the signal.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Multi-level wavelet decomposition</figcaption></figure>

According to figure 3, original signal is denoted by *S(n)*. High-pass filter and low-pass filter are denoted by *HF* and *LF*. Within each level, the outputs from high-pass filter are known as detail coefficients. On the other hand, low-pass filter outputs contain most of the information of the input signal. They are known as coarse coefficients. The signal is down-sampled by 2 at each level. Coefficients obtained from the low-pass filter are used as the original signal for the next level, and this process continues until the desired level is achieved.

In contrast, reconstruction is the reverse of decomposition process. To elim-
inate noises, we assign the detail coefficients to 0. The reconstruction of the
signal is computed by concatenating the coefficients of high-frequency with low-
frequency. In this study, the Daubechies orthogonal wavelet (Db6) with level 2
is adopted for reducing noise and eliminating the impact of misplacement error
simultaneously.

**3.3 Data Segmentation**

Segmentation is the most important step that could directly affect to the quality
of learning algorithms. As already stated, gait authentication is based on walking
style of individuals. Meanwhile walking is a cyclic activity. Acquired signal should
be segmented according to gait cycles instead of a fixed time interval (e.g. 5 or
10 seconds) like previous works [15–17].

<figure><img src="image_5.png" /><figcaption>Fig. 4. Illustration of a gait cycle</figcaption></figure>

Gait cycle is defined as the time interval between two successive occurrences
of one of the repetitive events when walking [23]. In other words, two consecutive
steps form a gait cycle. As shown in figure 4, the cycle starts with initial contact
of the right heel, and then it will continue until the right heel contacts the ground
again. The left goes through exactly the same series of events as the right, but
displaced in time by half a cycle.

When the subject walks, the movement of thigh will be from back to front.
In addition, at the time the heel touches the ground in phase “a” or phase “g”
as in figure 4, the association between ground reaction force and inertial force together make the transformed Z-axis signal strongly change and form negative peaks with absolute high magnitudes. These peaks are considered as marking points used to distinguish separated gait cycles. From our previous work [14], we designed an algorithm to detect these points. The algorithm filters noisy peaks based on a threshold calculated by mean and standard deviation. However, we recently observed that this threshold is not always robust especially in case subject walks with light steps. In this case, marking points are not displayed vividly. Thus, we improve the segmentation capability by applying an additional autocorrelation algorithm to estimate the approximate time gap tg between two consecutive gait cycles. Unlike previous works, tg is assumed to oscillate around a pre-defined fixed range [7, 19]. In fact, such range is not robust since user can walk with arbitrary velocities. tg should be dynamically calculated based on each characteristic of the gait signal.

First, the autocorrelation algorithm is applied to the transformed Z-axis data to determine the regularity of the signal.

$$A_m = \sum_{i=1}^{N-|m|} x_i x_{i+m} \qquad (4)$$

where $A_m$ is the autocorrelation coefficient, $x_i$ is the time series data point, $x_{i+m}$ is the time-lagged replication of the time series.

Then $A_m$ is normalized to [0, 1] by dividing to $A_0$.

$$A_m = \frac{A_m}{A_0} \quad \text{with} \quad A_0 = \sum_{i=1}^{N} x_i^2 \qquad (5)$$

<figure><img src="image_6.png" /><figcaption>Fig. 5. (a) Auto-correlation coefficients with the estimated tg, (b) detected marking points in Z-signal</figcaption></figure>

Figure 5(a) illustrates autocorrelation coefficients A which represent the regularity of the walking signal. The approximate time gap of gait cycles is determined by the gap between two red peaks in which the first one correspond with $A_0$. The remaining $A_k$ is detected by a designed peak detection algorithm.

$$tg = t(A_k) \qquad (6)$$
where $t(i)$ is the time-lagged of point $i$.

Denotes $P = p_i$ as the set of negative peaks<fnref n="2" /> obtained when passing through a filter described in [14]. From Eq. 6, the distance between two marking points is estimated to be a definite amount of $tg$. Unusual peaks in $P$ which do not fall to these positions are excluded to obtain the optimal set of marking points $P'$ (figure 5(b)). The segmentation procedure is summarized as follows

<caption>**Algorithm 1 Gait Signal Segmentation**</caption>

**Input:** Time series of transformed Z-axis gait signal $S_Z$, number of gait cycles (GCs) $n$ per segment, number of overlapping gait cycles $o$ with $n = ok, k \in \mathbb{N}$
**Output:** sets of separated segments $M_i, M_i$ contains $n$ consecutive GCs and overlaps $o$ GCs with $M_{i-1}$
1. Extract set of negative peaks $P$ using $T = \mu + k\sigma$ as described in [14] on $S_Z$.
2. Calculate the auto-correlation coefficients $A_m$ of $S_Z$ using Eq. 5
3. Find $A_k$ and calculate the time gap $t$ between gait cycles using Eq. 6
4. Filter unusual peaks in $P$ based on their positions and values
**for** (each peak $p$ in $P$) **do**
    **if** (position_of($p$) - position_of($p-1$) < $\alpha t$) **then**
        **if** value_of($p$) < value_of($p-1$) **then**
            remove($p$)
        **else**
            remove($p-1$)
    **end if**
    **else if** (position_of($p$) - position_of($p-1$) < $\beta t$) **then**
        **if** position_of($p+1$) - position_of($p$) < $\gamma t$ **then**
            remove($p$)
        **else**
            remove($p+1$)
    **end if**
    **else**
        remove($p$)
    **end if**
**end for**
5. Extract gait cycles GCs based on filtered $P$. $GC(i) = \langle S \rangle^{pos(p_i+1)}_{pos(p_i)}$
6. Remove unusual GCs if their length is significant unlike $t$ to obtain best gait cycles
7. Combine $n$ consecutive GCs to form a segment
**for** ($i = 0, j = 0; j < length(GCs)n; i + +, j+ = o$) **do**
    $M_i = \langle GC \rangle^{j+n}_j$
**end for**
return $M_i$

In this algorithm, user-defined values such as $\alpha, \beta, \gamma$ are estimated from experiment to precisely determine position of peaks representing the beginning of a gait cycle in all cases (e.g. $\alpha = 0.25, \beta = 0.75, \gamma = 0.16$ was used in our work). From our study, gait signal is segmented into separated patterns in which each pattern contains $n = 4$ consecutive gait cycles and overlap $n/2$ gait cycles from

<footnote n="2">² Negative peaks are defined oppositely with peaks pre-defined in [14]. Negative peaks are data points that its value is lower than its predecessor and successor.</footnote>
the previous one. Features are extracted in every separated pattern on both time and frequency domains to obtain feature vectors used for classification.

## 3.4 Feature Extraction and Classification

In this stage, three phases are investigated to obtain an optimal classification model: First, possible features on both time and frequency domains are extracted on 3 types of acceleration data including Z-axis signal $a_Z$, magnitude $m_{XYZ} = \sqrt{a_X^2 + a_Y^2 + a_Z^2}$ and sum of acceleration forces of X-Y axes $m_{XY} = \sqrt{a_X^2 + a_Y^2}$. As discussed in section 3.2, X-Y signals could not be distinguished with current limited resources on mobile devices. Hence, we consider the sum of forces acting simultaneously on both axes. Second, feature subset selection algorithms are applied for obtaining the best feature set. Feature subsets are selected based on the accuracy criterion of the learning algorithm. Finally, the best feature subsets are classified using Support Vector Machine (SVM) classifier with Radial Basis Function (RBF) kernel.

### Time Domain Features

We extract features which can represent characteristics of gait signal in time domain including

* Average maximum acceleration

$$ \text{avg-max} = \text{mean}(\text{max}(\text{GC}_i))_{i=0}^{n} \quad (7) $$

* Average minimum acceleration

$$ \text{avg-min} = \text{mean}(\text{min}(\text{GC}_i))_{i=0}^{n} \quad (8) $$

* Average absolute difference

$$ \text{avg_abs_diff} = \sum_{i=1}^{N} |x_i - \bar{x}| \quad (9) $$

* Root Mean Square

$$ \text{RMS} = \frac{1}{N} \sum_{i=1}^{N} x_i^2 \quad (10) $$

* 10-bin histogram distribution

$$ \begin{gathered} \text{his_dist} = \langle n_j \rangle_0^9 \\ \text{with } n_j = \frac{\sum_i x_i}{\text{size}(\text{bin}_j)} \quad \text{where} \\ \frac{j\Delta_j}{10} \le x_i \in \text{bin}_j < \frac{(j+1)\Delta_j}{10}, \\ \Delta_j = \max - \min \end{gathered} \quad (11) $$

* Standard deviation

$$ \sigma = \sqrt{\frac{1}{N-1} \sum_{i=1}^{N} |x_i - \bar{x}|} \quad (12) $$

* Waveform length

$$ \text{wl} = \sum_{i=1}^{N-1} |x_{i+1} - x_i| \quad (13) $$

where $x_i$ is the data point in time series of a segment, $n$ is the number of gait cycles $GC$ in the segment, $N$ is the total number of data point in the segment.

These features above are extracted on 3 types of signal including $a_Z$, $m_{XYZ}$ and $m_{XY}$

* Cadence period

$$ T_{cad} = \frac{\sum_{i=1}^{n} l(GC_i)}{n} \quad (14) $$

where $l(GC_i)$ is the length of gait cycle $i$.

* Cadence frequency

$$ f_{cad} = \frac{n}{\sum_{i=1}^{n} l(GC_i)} \quad (15) $$

### Frequency Domain Feature
* 40 first FFT coefficients

$$fft = \langle X_k \rangle_{k=0}^{39} \quad \text{where} \quad X_k = \sum_{n=0}^{N-1} x_n e^{-\frac{j2\pi kn}{N}} \quad (16)$$

* 40 first DCT coefficients

$$dct = \langle X_k \rangle_{k=0}^{39} \quad \text{where} \quad X_k = \frac{1}{2}x_0 + \sum_{n=1}^{N-1} x_n \cos\left[\frac{\pi}{N}n\left(k + \frac{1}{2}\right)\right] \quad (17)$$

Similar to features on time domains, these coefficients are extracted on $a_Z, m_{XYZ}$ and $m_{XY}$. As stated before, the walking speed of users in fact is not absolutely constant. Hence, the length of gait cycles is not stable. Calculating coefficients on frequency domain (e.g. FFT, DCT) requires window frames (or patterns) have the same fixed length. Meanwhile, the length of gait cycles fluctuates slightly around time gap $tg$ calculated in section 3.3. As a result, the number of data points in every gait cycle needs to be normalized by using our proposed algorithm [14] to make sure the frequency coefficients are calculated properly.

## Feature Subset Selection

Total 29 features are extracted in both time and frequency domains. However concatenating whole features to form a final feature vector whose dimension is grown up to be supreme not only require a lot of computational tasks but also return a suboptimal result. Only features that are highly discriminative between each individual should be selected. We applied algorithms using hill-climbing strategies to select the best feature subset from the feature pool.

<table><caption>**Table 2.** Feature subset(s) selection using SFS and SFFS algorithms</caption><thead><tr><th rowspan="2">#</th><th colspan="2">SFS Algorithm</th><th colspan="2">SFFS Algorithm</th></tr><tr><th>Feature</th><th>Accuracy (%)</th><th>Feature</th><th>Accuracy (%)</th></tr></thead><tbody><tr><td>1</td><td>dct<sub>XYZ</sub></td><td>75.27</td><td>dct<sub>XYZ</sub></td><td>75.27</td></tr><tr><td>2</td><td>dct<sub>XY</sub></td><td>88.67</td><td>dct<sub>XY</sub></td><td>88.67</td></tr><tr><td>3</td><td>his_dist<sub>Z</sub></td><td>90.86</td><td>his_dist<sub>Z</sub></td><td>90.86</td></tr><tr><td>4</td><td>wf<sub>XY</sub></td><td>92.52</td><td>fft<sub>XY</sub></td><td>91.70</td></tr><tr><td>5</td><td>wf<sub>Z</sub></td><td>93.29</td><td>fft<sub>XYZ</sub></td><td>93.62</td></tr><tr><td>6</td><td>avg_min<sub>XYZ</sub></td><td>93.43</td><td>avg_abs_diff<sub>XYZ</sub></td><td>94.01</td></tr><tr><td>7</td><td>dct<sub>Z</sub></td><td>93.50</td><td>dct<sub>Z</sub></td><td>94.25</td></tr><tr><td>8</td><td>T<sub>cad</sub></td><td>93.73</td><td>avg_abs_diff<sub>XY</sub></td><td>94.46</td></tr><tr><td>9</td><td>fft<sub>XY</sub></td><td>94.04</td><td>avg_abs_diff<sub>Z</sub></td><td>94.67</td></tr><tr><td>10</td><td>fft<sub>XYZ</sub></td><td>94.64</td><td>f<sub>cad</sub></td><td>94.69</td></tr><tr><td>11</td><td>avg_abs_diff<sub>XYZ</sub></td><td>94.78</td><td>avg_min<sub>Z</sub></td><td>94.81</td></tr><tr><td>12</td><td>avg_max<sub>Z</sub></td><td>94.90</td><td>avg_max<sub>Z</sub></td><td>94.85</td></tr><tr><td>13</td><td></td><td></td><td>wl<sub>XYZ</sub></td><td>94.92</td></tr></tbody></table>
Sequential Forward Selection (SFS) Algorithm

SFS algorithm was originally proposed by Whitney [25]. The idea of SFS algo-
rithm is to determine the best feature from the feature pool which increases the
most classification accuracy and concatenate it to the current feature vector at
each step. SFS algorithm performs a greedy optimization in the feature space.
However, the main drawback of this algorithm is called “nesting effect” in which
discarded features will not be picked anymore. Hence, a local maximum of the
feature space is usually found only.

Sequential Floating Forward Selection (SFFS) Algorithm

SFFS algorithm [24] is the improvement of SFS to avoid nesting effect. In SFFS, a new feature is determined and concatenated to the current feature vector using the SFS strategy. Additionally, there is a backward phase to recheck to current feature vector after concatenating a new feature. Features in the selected set are conditionally excluded and moved back to feature pool until no improvement is achieved to the previous sets.

Table 2 illustrates the most significant feature subset selected by SFS and SFFS algorithms. The feature vector is initialized by empty. Each row represents a selected feature that increases the classification accuracy rate. By applying SFS and SFFS separately, the number of final feature subsets is reduced from 29 to 12 and 13 respectively. This is not only help to reduce processing time and computational tasks of learning and prediction but also ameliorate the classification accuracy. It will be shown more from our experiment.

4 Experiments

## 4.1 Data Collection Scenario

We experimented on data collected from built-in accelerometer and magnetome-
ter in Google Nexus One mobile phone<fnref n="3" />. The sampling rate of both sensors is
approximately 27 Hz by setting to SENSOR_DELAY_FASTED mode on An-
droid SDK. In this study, we would like to construct a more realistic dataset. In
reality, two main factors including the effect of footgear and mobile installation
often occur that could significantly affect gait of individuals. Hence, a scenario is
designed to construct the dataset in which acquired gaits are collected under the
influence of such factors. During experiment process, each volunteer will wear
all three types of footgear including sleeper, sandal and shoe. The scenario is
designed as following:

- *Preparation (1st) phase:* Volunteers wear 1 of 3 footgear types and put the mobile phone in their trouser pocket according to any position and orientation. Subsequently, they will be asked to stand still for few seconds. During this time, the accelerometer and the magnetometer will be activated

<footnote n="3">³ Access http://www.gsmarena.com/htc Google Nexus One-3069.php for its specification</footnote>
to collect values for determining yaw, pitch and roll angles. Subsequently, the rotation matrix will be calculated and stored inside mobile storage for acceleration vector transformation later.

- *Collection (2<sup>nd</sup>) phase:* After the rotation matrix is stored successfully, volunteers will perform walking activity around 36 seconds on the ground floor. They will be asked to walk as naturally as possible. During this time, accelerometer will be activated to collect gait signals.

A total of 38 volunteers including 28 males and 10 females with the average age from 24 to 28 participated to our dataset construction. Each volunteer will perform around 18 laps. Each lap includes two phases above. Before starting a new lap, they will change the footgear and install the mobile to another orientation and position. Note that since the transformation matrix is always estimated in the preparation phase before volunteers start walking. Hence we have a constraint that when volunteers perform walking, the mobile will not change its position and orientation. To ensure that, we ask volunteers to wear trousers having the narrow pocket (e.g. the jean trouser). Totally, we acquired 24624 seconds walk of 38 volunteers.

## 4.2 Overall Gait Identification Result

Total 8500 patterns are extracted from the dataset by using our segmentation algorithm. Around 8500/38 patterns corresponding to each volunteer are split into two separated parts. The first part is used for training (*T-part*) and the remaining is used for prediction (*P-part*). We used libsvm<sup>4</sup> [26] as the tool to perform SVM with RBF kernel. The performance of RBF kernel fully depends on selecting parameters (*C*, γ). In order to construct an optimal SVM model, we perform a strategy to find the best (*C*, γ) yielding the best classification result. Features described in section 3.4 are extracted on both *T-part* and *P-part*. To deal with over-fitting issue, 10-fold cross validation is applied on *T-part* with various (*C*, γ). The (*C*, γ) yielding the best cross validation accuracy will be selected. According to [26], we tried exponentially growing sequences of *C* and γ to identify the 'coarse' pair first *C* = 2<sup>-5</sup>, 2<sup>-4</sup>, 2<sup>-3</sup>, ..., 2<sup>15</sup> and γ = 2<sup>-15</sup>, 2<sup>-14</sup>, 2<sup>-13</sup>, ..., 2<sup>3</sup>. Subsequently, a more detailed search is performed to identify a finer (*C*<sub>*f*</sub>, γ<sub>*f*</sub>) yielding an optimal cross-validation accuracy. The best (*C*<sub>*f*</sub>, γ<sub>*f*</sub>) = (2<sup>3.5</sup>, 2<sup>-5.25</sup>) is identified at the cross-validation accuracy of 98.71%. Then, whole *T-part* is trained again using (*C*<sub>*f*</sub>, γ<sub>*f*</sub>) to obtain the final SVM model. An overall accuracy rate approximately 94.93% is achieved when using such model to predict *T-part*. Figure 6(a) illustrates the confusion matrix of prediction result.

<footnote n="4"><sup>4</sup> Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm</footnote>
<figure><img src="image_7.png" /><figcaption>**Fig. 6.** (a) Confusion matrix of the gait recognition using SVM and RBF kernel with $C = 2^{3.5}$, $= 2^{-5.25}$, (b) the classification accuracy of various amounts of feature subsets by applying SFFS and SFS algorithm</figcaption></figure>

Additionally, by applying the SFS and SFFS algorithm, the dimension of feature vectors is reduced and the classification accuracy is slightly increased as well. The processing time is also ameliorated significantly (table 3 and figure 6(b)). By applying SFFS, the prediction time only costs 411 ms per sample using mobile resources. In authentication mode, a task requires to predict on 9 consecutive samples (discussed in 4.3). It costs less than 4 seconds to make a decision. This is an acceptable level compared to original case (≈ 20 seconds). Note that processing time is very important in mobile applications since we aim to deploy a lightweight authentication model running directly on mobile phone. Nowadays, it is likely to be optimized by its weight, power and size rather than computational power (e.g. CPU, memory). Hence reducing feature dimension will help the mobile device to perform classification task more quickly so that the interaction between the phone and its user is also improved.

<table><caption>**Table 3.** The performance of reducing feature dimension versus non-reducing case</caption><thead><tr><td></td><td>No. Subsets</td><td>Accucary</td><td>Loading Time</td><td>Prediction Time</td></tr></thead><tbody><tr><td>Original</td><td>29</td><td>94.34%</td><td>205897 ms</td><td>2280 ms</td></tr><tr><td>SFS</td><td>12</td><td>94.90%</td><td>86799 ms</td><td>398 ms</td></tr><tr><td>SFFS</td><td>13</td><td>94.93%</td><td>84223 ms</td><td>411 ms</td></tr></tbody></table>

## 4.3 Impacts of Installation Error

Before discussing the impact of mobile installation, we first compare the performance of segmentation based on gait cycles against previous studies used fixed size segmentation [15–17]. Since walking is a regularly cyclic activity, it is relatively easy to perceive that segmentation based on gait cycle always yields a better classification result compared with based on a fixed length (table 4(a)).

Second, we analyze the impacts of installation errors to segmentation algorithm and the classification accuracy. Note that a perfect accuracy rate of segmentation is achieved when using our algorithm with the transformed Z-signal.
All gait cycles are detected and segmented correctly. Table 4(b) illustrates the performance of segmentation task with/without fixing disorientation error. As discussed above, the periodicity of walking is only represented well in transformed Z-signal. Without rectifying such issues, the segmentation algorithm could not determine precisely the regularity of gait cycles caused by Z-signal's instability. Therefore, each segmented pattern could not only represent a sequence of consecutive gait cycles well. That leads features extracted from these patterns could not represent the characteristics of walking style of individuals well. As a result, the classification accuracy rate is contaminated. Even with using segmentation based on fixed length, the best achieved classification rate at length = 3000ms is also worse (79.53%).

<table><caption>**Table 4.** (a) Improvements of segmentation based on gait cycles compared with fixed length, (b) the influence of disorientation error to the effectiveness of classification mode</caption><thead><tr><th colspan="2">(a)</th><th colspan="2">(b)</th></tr><tr><th>Segmentation method</th><th>Accuracy</th><th>Segmentation method</th><th>Fixing dis-orientation</th><th>Accuracy</th></tr></thead><tbody><tr><td rowspan="3">Fixed length</td><td>3000ms</td><td></td><td></td><td></td></tr><tr><td>6000ms</td><td>87.88%</td><td></td><td></td></tr><tr><td>9000ms</td><td>87.78%</td><td></td><td></td></tr><tr><td rowspan="3">Gait cycle</td><td>2 gait cycles</td><td>84.73%</td><td></td><td></td></tr><tr><td>4 gait cycles</td><td>92.26%</td><td></td><td></td></tr><tr><td>8 gait cycles</td><td>94.93%</td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

## 4.4 Authentication Result

The difference between authentication and identification is that authentication performs binary classification tasks meanwhile identification performs multi-class tasks. Based on the achieved results in identification, we also do an experiment on authentication to determine how effective of our mechanism when it operates under authentication mode. Since the unbalance of imposter vs. genuine data (37 imposter vs. 1 genuine for each genuine person) could negatively affect the performance of classification tasks [27]. Hence, we will rearrange the data to make it fit to $\frac{3}{1}(\text{imposter data genuine data})$ ratio corresponding to each genuine. To make a fair evaluation, selecting imposter data will be based on ascending order of the most misidentification in confusion matrix as shown in figure 6(a). For example, subject '1' is misidentified mostly with subjects '26', '2' and '24'. Hence, data of '26', '2' and '24' will be prior to be selected as imposters of subject 1 first. The remaining ones are selected randomly from the set of remaining subjects to achieve the ratio of 3:1.

As illustrated in figure 7, we achieved the False-Match-Rate (FMR) perfectly (0%). However, the False-Not-Match-Rate (FMNR) is still unacceptable (19.35%). In authentication, FMR and FMNR reflect the reliability and the friendliness of the system respectively. The problem that causes the high FMNR is the unbalance of imposter data vs. genuine data (3:1) issue. That would lead
true genuine is recognized as imposter frequently. To reduce the FMNR without increasing FMR, we apply a scheme that is similar to [16]. From our dataset, we can extract *n* patterns from a lap of each subject. Instead of considering *n* as separated testing samples as usual, whole *n* patterns will be considered as genuine if there are *m* genuine patterns detected in *n*. That means each authentication task will perform on a sequences of *n* consecutive patterns to make a decision. From our experiment, we choose *m* = 2 and *n* = 9 which is significantly smaller than [16]. The achieved FMR and FNMR are 0% and 3.89% respectively which is remarkably comparative with other works [15–20].

<figure><img src="image_8.png" /><figcaption>**Fig. 7.** FNMR of each 38 subjects at FMR=0% before (blue-columns) and after (red-line) applying voting scheme *m* = 2, *n* = 12</figcaption></figure>

# 5 Conclusions

In this paper, we proposed a novel lightweight but highly reliable gait authentication on mobile phone. Although the quality of built-in sensors is low (the sampling rate is only 27Hz), the achieved results are very considerable. It reflects high potentials to deploy our mechanism to support current active mobile authentications such as PIN or password in reality. Since there is currently no public dataset in this field, the comparison between related works is only relative. Therefore, a more realistic dataset is also constructed to evaluate our mechanism fairly. Nevertheless, there is a minor unrealistic constraint in this study. We assumed that the phone is fixed at rigid body during walking phase. Furthermore, the influence of many environment factors such as human emotion, time effect, and ground materials to individual gait is not explored. Hence, such issues will be considered deeper in future. Moreover, since many excellent sensors are more and more integrated on modern mobiles nowadays (e.g. gyroscope, tilt sensor), mining all sensor resources to perfect a practical authentication model is our future road map.

**Acknowledgments.** "This research was supported by the MSIP (Ministry of Science, ICT&Future Planning), Korea, under the ITRC (Information Technol-
ogy Research Center) support program (NIPA-2013-H0301-13-3005) supervised
by the NIPA (National IT Industry Promotion Agency)”

References

1. F. Breitinger and C. Nickel, "User Survey on Phone Security and Usage", in BIOSIG, Vol. 164GI (2010)

2. K. Pousttchi and M. Schurig, "Assessment of todays mobile banking applications, from the view of customer requirements", in 37th HICSS04 (2004)

3. A. K. Jain, A. Ross and S. Prabhakar, "An Introduction to Biometric Recognition", in IEEE Transaction on Circuits and System for Video Technology, Vol. 14, No. 1 (2004)

4. D.J. Fish and J. Nielsen, “Clinical assessment of human gait”, in Journal of Prosthetics and Orthotics 2 (1993)

5. S. Mondal, A. Nandy, P. Chakraborty and G.C Nandi, “Gait Based Personal Identification System Using Rotation Sensor”, in CIS Journal, Vol. 3, No. 3 (2012)

6. H. Sun and T. Yuao, “Curve Aligning approach for gait authentication based on a wearable sensor”, in Physiological Measurement, Vol. 33, No. 6 (2012)

7. L. Yuexiang, W. Xiabo, Q. Feng, “Gait Authentication Based on Acceleration Signals of Ankle”, in Chinese Journal of Electronics, Vol. 20, No. 3 (2011)

8. S. Terada, Y. Enomoto, D. Hanawa and K. Oguchi, “Performance of gait authentication using an acceleration sensor”, in 34th ICTSP (2011)

9. P. Bours and R. Shrestha, “Eigensteps: A giant leap for gait recognition”, in IWSCN, 2010.

10. D. Gafurov and E. Snekkenes, “Gait Recognition Using Wearable Motion Recording Sensors”, in EURASIP Journal on Advances in Signal Processing, Vol 2009 (2009)

11. G. Pan, Y. Zhang and Z. Wu, “Accelerometer-based gait recognition via voting by signature points”, in IET Electronic Letters Vol. 45, No. 22 (2009)

12. J. Mntyjrvi, M. Lindholm, E. Vildjiounaite, S. M. Mkel, and H. Ailisto, “Identifying Users of Portable Devices From Gait Pattern With Accelerometers”, in ICASSP (2005)

13. H. Ailisto, M. Lindholm, J. Mantyjarvi, E. Vildjounaite and S.M. Makela, “Identifying People from Gait Pattern with Accelerometers”, in Proceeding of SPIE 5779, Biometric Technology for Human Identification II (2005)

14. H.M. Thang, V.Q. Viet, N. D. Thuc and D. Choi, “Gait Identification Using Accelerometer on Mobile Phone”, in ICCAIS (2012)

15. M.R. Hestbek, C. Nickel and C. Busch, “Biometric Gait Recognition For Mobile Devices Using Wavelet Transform And Support Vector Machines”, in IWSSIP 2012 (2012)

16. C. Nickel and C. Busch, “Classifying Accelerometer Data via Hidden Markov Models to Authenticate People by the Way they Walk”, in 2011 IEEE ICCST (2011)

17. C.Nickel, H. Brandt and C.Busch, “Classificatoin of Acceleration Data for Biometric Gait Recognition on Mobile Devices”, in BIOSIG 2011 (2011)

18. F. Frank, S. Mannor and D. Precup, “Activity and Gait Recognition with Time-Delay Embeddings”, in 24th AAAI (2010)

19. M. O. Derawi, C. Nickel, P. Bours, and C. Busch, “Unobtrusive User-Authentication on Mobile Phones using Biometric Gait Recogition”, in 6th IIH-MSP (2010)
20. S. Sprager and D. Zazula, "A cumulant-based method for gait identification using accelerometer data with Principal Component Analysis and Support Vector Machine", in Journal WSEAS Transactions on Signal Processing (2009)

21. K. Holien, "Gait Recognition under non-standard circumstances", Master thesis, Gjvik University College (2008)

22. N. Kern, H. Junker, P. Lukowicz, B. Schiele and G. Troster, "Wearable Sensing to Annotate Meeting Recordings", in Journal Personal and Ubiquitous Computing, Vol. 7, Issue 5, October 2003 (2003)

23. M. W. Whittle, "Gait analysis an introduction 4th edition" (2007)

24. P. Pudil, J. Novovicova and J. Kittler, "Float search methods in feature selection", in Patter Recognition Letters 15 (1994)

25. A.W. Whitney, "A Direct Method of Nonparametric Measurement Selection", in IEEE Transactions on Computers, Vol. C-20, Issue 9 (1971)

26. C. Chang and C.J. Lin, "LIBSVM: a library for support vector machines", in ACM Transactions on Intelligent Systems and Technology (2011)

27. G. M. Weiss and F. Provost, "Learning when training data are costly: The effect of class distribution on tree induction", in Journal of Artificial Intelligence Research, vol. 19 (2003)