# Crowd-Sourced Mobility Mapping for Location Tracking Using Unlabeled Wi-Fi Simultaneous Localization and Mapping

Authors: Mu Zhou; Kunjie Xu; Zengshan Tian; Haibo Wu; Ruikang Shi
Journal: Mobile Information Systems
 (2015)

---

## Abstract

Due to the increasing requirements of the seamless and round-the-clock Location-based services (LBSs), a growing interest in Wi-Fi network aided location tracking is witnessed in the past decade. One of the significant problems of the conventional Wi-Fi location tracking approaches based on received signal strength (RSS) fingerprinting is the time-consuming and labor intensive work involved in location fingerprint calibration. To solve this problem, a novel unlabeled Wi-Fi simultaneous localization and mapping (SLAM) approach is developed to avoid the location fingerprinting and additional inertial or vision sensors. In this approach, an unlabeled mobility map of the coverage area is first constructed by using the crowd-sourcing from a batch of sporadically recorded Wi-Fi RSS sequences based on the spectral cluster assembling. Then, the sequence alignment algorithm is applied to conduct location tracking and mobility map updating. Finally, the effectiveness of this approach is verified by the extensive experiments carried out in a campus-wide area.


---

## Body

## 1. Introduction

Location tracking in wireless mobile environments plays an important role in recent development of Location-based services (LBSs), such as visitor navigation, elderly health care, facility management, transportation, and emergency rescue [1–3]. With the significant growing interests in Wi-Fi technology and the ubiquitous deployment of Wi-Fi infrastructures, intense attention has been paid to various approaches of Wi-Fi network aided location tracking [4]. Location tracking using Wi-Fi received signal strength (RSS) fingerprints presents many challenges due to less predictable variations of RSSs with respect to the distances from the access points (APs) to the receiver. The Wi-Fi network aided location tracking approaches can be generally classified into two categories. In the first one, only Wi-Fi RSS data are used to estimate the parameters in propagation models [5, 6] or construct a radio map corresponding to the coverage area [7, 8]. Then, the target locations are estimated based on the propagation model aided triangulation algorithm or radio map aided fingerprint matching. The major limitations of such category are that (i) the RSS propagation modeling requires the prior knowledge of AP locations and easily leads to the low accuracy when the relations between the RSSs and their corresponding distances are not captured appropriately and (ii) the construction of radio map usually involves the site survey over a large number of reference points (RPs) and their associated RSSs, which deteriorates the adaptability for the large coverage area, and meanwhile the radio map can easily become outdated.In the second one, the Wi-Fi RSSs and the acquired measurements from several different types of inertial and vision sensors are integrated to achieve simultaneous localization and mapping (SLAM) [9]. The SLAM approach can be used to construct the virtual floor plan corresponding to the coverage area, meanwhile conducting location tracking. Although the RSS propagation modeling and radio map construction are not required, the combined problem of target localization and mobility mapping needs to be significantly concerned in order to make the SLAM approach robust to the radio noise. Specifically, the mobility mapping built up from the environment helps to keep tracking of the target locations, while the results of location tracking feed the process of the mobility mapping. The aim of this paper is to use solely Wi-Fi network to construct a mobility map without location fingerprinting and inertial or vision sensing (or called unlabeled mobility map) for the coverage area. Moreover, the proposed approach is expected to achieve a high-enough probability of locating the new RSS data into the corridor where these data are actually recorded, namely, the corridor-level location accuracy. In summary, the following two problems are resolved in this paper.(i) How to construct an unlabeled mobility map by using crowd-sourcing based on the sporadically recorded RSS data without explicit information of their physical coordinates?(ii) How to simultaneously conduct location tracking and mobility map updating?The solution to the construction of the unlabeled mobility map is by spectral cluster assembling, which consists of the intrasequence spectral clustering step and the intersequence cluster assembling step. The solution to the target location tracking and mobility map updating is called sequence alignment algorithm, which matches the new RSS data against the constructed mobility map and selects the location point (LP) with the highest alignment similarity as the tracked location for each location query.Solution 1 (spectral cluster assembling).
Mobility map construction by using crowd-sourcing consists of two main steps: intrasequence clustering and intersequence assembling. In the intrasequence clustering step, each string of time-stamped consecutive RSS samples recorded by the person is first represented as an RSS sequence, where the RSS samples in each sequence are sequenced in chronological order. Then, for any recorded RSS sequence, spectral clustering is performed on this sequence to classify the RSS samples into different clusters. The spectral clustering used in this paper preserves the locality of RSS samples in RSSs and time-stamps. Another significant advantage of spectral clustering is that the RSS samples which are high-dimensional can be mapped into a low-dimensional space, which is beneficial to the information retrieval and data mining [10]. Specifically, after an RSS sequence is recorded, the similarity of every two RSS samples in this sequence is first calculated, and then a low-dimensional mapped space is constructed by using Laplacian embedding. Finally, the K-means clustering is performed to classify the RSS samples into different clusters.
In the intersequence assembling step, the concept of winning path used in Smith-Waterman algorithm for protein sequencing [11] is first applied to identify the clusters which have high similarities between each other. The similarity of any two clusters is measured by their cumulative matching score, which is calculated based on the Kullback-Leibler (KL) divergence of their RSS distributions and the cumulative matching scores of several previous pairs of clusters (or called pairs of clusters with time-stamps before the current pair of clusters). After the matrix of cumulative matching scores between the clusters, namely, the scoring space, for each pair of RSS sequences is obtained, the pairs of RSS sequences having one or more pairs of clusters with the cumulative matching scores higher than a given threshold are required to be assembled, while the corresponding pairs of clusters are merged into a new cluster. This process is repeated until all the remaining pairs of clusters are with the cumulative matching scores lower than the threshold. At this point, each remaining cluster is recognized as an LP in mobility map.Solution 2 (sequence alignment algorithm).
For the purpose of simultaneously conducting location tracking and mobility map updating, the three RSS sequences containing the largest number of RSS samples, namely, the three longest RSS sequences, in each LP is first selected as the virtual fingerprints. The concept of sequence alignment in protein sequencing is then used to find the strings of tracking LPs which have the highest alignment similarities to the new RSS sequences. Finally, based on the time-stamped transition relations of LPs, the target locations can be tracked by using the modified strings of tracking LPs with the improved accuracy performance. A preliminary discussion on the time-stamped transition relations of LPs in mobility map can be found in the previous work [4]. In this paper, to validate the construction of mobility map by using crowd-sourcing and the unlabeled Wi-Fi SLAM, extensive experiments are conducted in a campus-wide area.The remainder of this paper is organized as follows. Section2 reviews some related work on SLAM based location tracking. In Section 3, the steps of the proposed crowd-sourced mobility mapping for location tracking without the site survey on location fingerprinting and inertial or vision sensing are described in detail. The experimental results and the related discussions are shown in Section 4. Finally, this paper is concluded in Section 5.


## 2. Related Work

Tracking the target locations cost-efficiently by using the conventional RSS propagation modeling and construction of radio map is a challenging work since both of them involve the time-consuming and labor intensive site survey on the relations between RSSs and physical locations [12, 13]. To achieve the cost-efficiency purpose, the recent works began to focus on the SLAM based location tracking approaches, which have good adaptability to the environment with low site survey effort and high robustness to the environment noise.Wang and Thorpe [14] integrated the SLAM and detection and tracking of moving objects (DTMO) approaches and verified the efficiency of the integrated SLAM and DTMO at high speed in a large crowded city environment. A simulation system is designed to be implemented to analyze and validate the SLAM based on the well-known extended Kalman filter (EKF) [15]. There are generally three major approaches studied for SLAM, optimal control approach, local submap approach, and frontier based approach, to achieve the localization and mapping purposes in an active and intelligent way. Similar work on Kalman filter (KF) based SLAM has been addressed extensively in the literature [16, 17]. Chatterjee and Matsuno [16] introduced a new approach of using the neurofuzzy assisted EKF to enhance the performance of SLAM. There are two limitations of this approach. First of all, to suitably use the neurofuzzy supervision, the free parameters of neurofuzzy system are required to be learned carefully. Second, this approach could be unavailable when the process and sensor noise covariance matrices are inaccurate. To improve the accuracy and fast convergence of state estimation involved in KF, the pseudolinear model based Kalman filter (PLKF) based SLAM is proposed [17]. The PLKF based SLAM outperforms the conventional EKF based SLAM since the pseudolinear model preserves the nonlinearity in the system, motion, and observation models.Wang et al. [18] proved that the particle filtering (PF) can also be used to improve the performance of SLAM. The PF can not only reduce the complexity of the data but also enhance the real-time capacity of SLAM. The weakness of the PF based SLAM is that many types of sensors and the related data fusion process are required to guarantee the effectiveness of the feature extraction in the unknown and highly complex environments. The Rao-Blackwellised particle filter (IRBPF) based SLAM is used to achieve the accurate localization and generate a consistent map of the environment [19]. The IRBPF based SLAM first uses PF to estimate the posterior probability distributions of the target. The adaptive resampling approach is then applied to reduce the risk of sample depletion. Finally, the motion and observation models are constructed based on the data from a ranging sensor and an odometer. However, this approach is not suitable for the highly dynamic environment.Luo et al. [20] presented a new concept of vision based SLAM (V-SLAM), in which the visual feature point buffer and human body elimination are used to decrease the estimative errors to the system. Specifically, the V-SLAM implements the visual feature point buffer to filter the temporary feature points which are extracted from features from accelerated segment test (FAST) corner detector and conducts the human body elimination to help V-SLAM to be more accurate. As an application example, the V-SLAM is used to aid inertial navigation by compensating for inertial navigation divergence [21]. Sazdovski and Silson [21] proved that such an integrated inertial navigation system with V-SLAM requires the coordination between the guidance and control measurements to achieve the high navigation accuracy.The aforementioned SLAM is based on the single target and single model. The decentralized platform developed by Saeedi et al. [22] is known as the first application of neural network for SLAM in multiple targets condition. Their proposed approach consists of five modules of the high-level map segmentation for map preprocessing, application of self-organizing maps for preprocessed map clustering, inclusion of map uncertainty in learning phase, estimation of the relative transformation matrix of every two maps, and use of surface norms for relative transformation determination. Yingmin and Ding [23] investigated the nonlinear interacting multiple model (IMM) based SLAM to solve the problem of the statistical property mutation of SLAM. There are five steps involved in the nonlinear IMM based SLAM, the model condition reinitialization, model condition filtering and data association, model probability updating and estimate fusion, and state augmentation and map building.By considering the indoor Wi-Fi network, the Wi-Fi SLAM is invented to gather the location and mapping information simultaneously [24]. Specifically, the Wi-Fi SLAM first uses the location fingerprinting to get an idea of what the construction of a particular building is going to do to Wi-Fi RSS distributions. The initial trajectories are then constructed based on the measurements from multiple sensors on a smartphone including the accelerometer, gyroscope, and magnetometer. Finally, the constructed trajectories are mated with the results of Wi-Fi RSS trilateration to serve fine-grain localization and create accurate indoor maps. Since the measurements are gathered by different sensors, the Wi-Fi SLAM uses pattern recognition and machine learning to draw the correlations between these measurements for data fusion purpose. The SmartSLAM is recognized as another representative Wi-Fi network based SLAM by using the measurements from inertial sensors and Wi-Fi network [9]. One of the significant problems of SmartSLAM is that the high energy cost involved in continuously scanning multiple sensors and Wi-Fi channels seriously limits the practical use.In this paper, a better solution will be provided to the simultaneous mobility mapping and location tracking by using crowd-sourcing from the sporadically recorded Wi-Fi RSS data without location fingerprinting and inertial or vision sensing. In summary, the three major contributions of this paper are as follows.(i) An unlabeled Wi-Fi SLAM approach is developed to avoid the location fingerprinting and additional inertial or vision sensors.(ii) The mobility map is constructed by using crowd-sourcing based on the sporadically recorded Wi-Fi RSS data without explicit information of their physical coordinates.(iii) The concept of alignment similarities between the newly recorded RSS data and prestored virtual fingerprints is utilized to achieve the location tracking.The major notations and parameters used in this paper are summarized in Notations and Parameters section.


## 3. System Description

### 3.1. Intrasequence Clustering

#### 3.1.1. Problem Statement

In the system, each person holding a Wi-Fi RSS receiver walks around the coverage area and collects Wi-Fi RSS sequences. It is assumed thatN such sequences are collected where R
l
=
{
μ
1
l
,
…
,
μ
N
l
l
}
(
l
=
1
,
…
,
N
) is the lth sequence and μ
i
l
=
(
μ
i
,
1
l
,
…
,
μ
i
,
M
l
)
(
i
=
1
,
…
,
N
l
) is the ith sample (of dimensions M) in R
l which contains N
l samples. Each sample is a vector containing the RSS values from M APs. The jth (j
=
1
,
…
,
M) element in μ
i
l, μ
i
,
j
l is the RSS value from the jth AP. The difference in RSSs and time-stamps between any two RSS samples in the same sequence is calculated by d
i
f
f
R
(
μ
i
l
,
μ
i
′
l
)
=
μ
i
l
-
μ
i
′
l
2 and d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
)
=
T
i
l
-
T
i
′
l where T
i
l
=
(
i
-
1
)
δ is the time-stamp of μ
i
l in R
l and δ is the sampling interval.Here, the intrasequence clustering problem is as follows. Given a set ofN
l RSS samples {
μ
1
l
,
…
,
μ
N
l
l
} belonging to a K
l-dimensional mapped space R
K
l, which is embedded in the raw M-dimensional RSS space R
M
(
M
≥
K
l
), a set of N
l mapped vectors {
μ
^
1
l
,
…
,
μ
^
N
l
l
} in R
K
l is first found such that μ
^
i
l is mapped from μ
i
l, and then the N
l mapped vectors μ
^
1
l
,
…
,
μ
^
N
l
l are classified into Φ
l RSS clusters. Finally, the RSS samples which have the corresponding mapped vectors in the same cluster are also classified into the same RSS cluster.The first advantage of intrasequence clustering is that the similarities of RSS samples in RSSs and time-stamps between any two clusters are minimized. Second, the graph Laplacian which is selected for dimensionality reduction can avoid the situation that the isolated RSS samples accidentally form some outlier RSS clusters by minimizing the values of Ncut over all the RSS clusters [10, 25].


#### 3.1.2. Steps

The steps of intrasequence clustering are provided as follows.Step 1.
The similarity ofμ
i
l and μ
i
′
l is computed as W
i
,
i
′
=
exp
⁡
(
-
α
R
d
i
f
f
R
′
(
μ
i
l
,
μ
i
′
l
)
-
α
T
d
i
f
f
T
′
(
μ
i
l
,
μ
i
′
l
)
), where α
R and α
T  (
α
R
+
α
T
=
1
;
0
≤
α
R
,
α
T
≤
1
) are two tunable weighting factors and d
i
f
f
R
′
(
μ
i
l
,
μ
i
′
l
) and d
i
f
f
T
′
(
μ
i
l
,
μ
i
′
l
) are the normalized values of d
i
f
f
R
(
μ
i
l
,
μ
i
′
l
) and d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
), respectively.Step 2.
Consider the problem of mapping the RSS samples in each sequence onto a line such that the RSS samples with large similarities in RSSs and time-stamps are corresponding to the mapped points which can stay as close together as possible on the line. LetR
^
1
l
=
{
r
1,1
l
,
…
,
r
1
,
N
l
l
} be the set of the N
l mapped points. The optimal objective function to this problem can be described as m
i
n
R
^
1
l
{
∑
i
′
′
,
i
′
′
′
=
1
N
l
(
r
1
,
i
′
′
l
-
r
1
,
i
′
′
′
l
)
2
W
i
′
′
,
i
′
′
′
}.Step 3.
Compute the Laplacian matrixL
l
=
D
l
-
W
l
=
[
D
i
,
i
′
l
-
W
i
,
i
′
l
]
i
,
i
′
=
1
N
l for each RSS sequence. If i
=
i
′, D
i
,
i
l is set as ∑
i
′
′
=
1
N
l
W
i
,
i
′
′
l. Otherwise, D
i
,
i
′
l is set as 0. By using the Lagrange multiplier method [4], the problem described in Step 2 is converted to m
i
n
R
^
1
l
{
λ
}, where λ’s are the eigenvalues of L
l.Step 4.
Consider the general problem of mapping each RSS sequence (of dimensionsM) into the K
l-dimensional space, where K
l
≤
M. The set of mapped vectors, namely, the mapped sequence, is given by a N
l
×
K
l matrix Ψ
l
=
[
μ
^
1
l
⋯
μ
^
N
l
l
]
T, where μ
^
i
l
=
(
r
1
,
i
l
,
…
,
r
K
l
,
i
l
) is the mapped vector of μ
i
l and the superscript “T” represents the transpose operation. Thus, the optimal objective function to this general problem equals m
i
n
R
^
l
{
t
r
(
(
Ψ
l
)
T
L
l
Ψ
l
)
}. Based on the previous work [4], the solution to this optimal objective function can be provided by the K
l eigenvectors which are corresponding to K
l smallest eigenvalues of the generalized eigenvalue problem L
l
μ
^
i
l
=
λ
D
l
μ
^
i
l.Step 5.
As discussed in the literature [10, 26], the process of the previous dimensionality reduction which preserves the locality of RSS samples in RSSs and time-stamps can also yield a similar solution to the RSS clustering. In concrete terms, after the dimensionality reduction from M to K
l, K-means clustering is conducted on the mapped vectors to obtain Φ
l RSS clusters C
1
l
,
…
,
C
Φ
l
l for each RSS sequence, where C
k
l is the kth (
k
=
1
,
…
,
Φ
l
) RSS cluster in R
l.


### 3.2. Intersequence Assembling

#### 3.2.1. Problem Statement

The problem to be solved by intersequence assembling is to assemble the RSS clusters obtained in intrasequence clustering step into a mobility map. Since each RSS sequence can be represented by a string of consecutive time-stamped RSS clusters,R
^
l
=
{
C
1
l
,
…
,
C
Φ
l
l
}, the concept of winning path in scoring space used by Smith-Waterman alignment is applied to identify the RSS clusters required to be merged. By considering the process of clusters combination graphically, each string of consecutive time-stamped RSS clusters is first viewed as a string of consecutive vertices in a graph, where any two adjacent vertices are connected by an edge. Second, the string assembling is conducted by merging the specific vertices in different strings. Finally, after all the strings of consecutive vertices have been assembled, the mobility map G
=
(
V
,
E
) is constructed in which V and E represent the sets of vertices and edges in graph, respectively.


#### 3.2.2. Steps

The four steps of intersequence assembling are as follows.Step 1.
For every two strings of consecutive verticesR
^
l and R
^
l
′, their initial scoring space is set as a zero matrix [
0
]
Φ
l
×
Φ
l
'. The entry at position (
s
,
t
)
(
s
=
1
,
…
,
Φ
l
;
t
=
1
,
…
,
Φ
l
′
) in scoring space is the cumulative matching score Υ
(
C
s
l
,
C
t
l
′
) between C
s
l and C
t
l
′.Step 2.
The entries in scoring space are calculated starting at position(
1,1
) and proceeding from the first to the last rows in scoring space. The entry at position (
s
,
t
), Υ
(
C
s
l
,
C
t
l
′
), is calculated that (i) when 1
≤
t
≤
Φ
l
′, Υ
(
C
1
l
,
C
t
l
′
)
=
1
/
Γ
(
C
1
l
,
C
t
l
'
); (ii) when 1
≤
s
≤
Φ
l, Υ
(
C
s
l
,
C
1
l
′
)
=
1
/
Γ
(
C
s
l
,
C
1
l
′
); (iii) when 2
≤
s
≤
Φ
l, 2
≤
t
≤
Φ
l
′, and Γ
(
C
s
l
,
C
t
l
′
)
≤
ε
D, Υ
(
C
s
l
,
C
t
l
′
)
=
Υ
(
C
s
-
1
l
,
C
t
-
1
l
′
)
+
1
/
Γ
(
C
s
l
,
C
t
l
′
); and (iv) otherwise, one has(1)
Υ
C
s
l
,
C
t
l
′
=
max
⁡
max
s
′
=
1
s
-
1
⁡
1
-
F
M
s
-
s
′
Υ
C
s
′
l
,
C
t
l
′
+
1
-
F
D
s
-
s
′
Γ
C
s
′
l
,
C
t
l
′
,
max
t
′
=
1
t
-
1
⁡
1
-
F
M
t
-
t
′
Υ
C
s
l
,
C
t
′
l
′
+
1
-
F
D
t
-
t
′
Γ
C
s
l
,
C
t
′
l
′
,where F
M and F
D
(
0
≤
F
M
,
F
D
≤
1
) are the missing factor and the damping factor, respectively; ε
D is a threshold; and Γ
(
C
s
l
,
C
t
l
′
)
=
∑
j
=
1
M
∑
μ
p
s
,
j
l
μ
log
2
⁡
p
s
,
j
l
(
μ
)
/
p
t
,
j
l
′
(
μ
)
/
M. p
s
,
j
l
(
μ
) and p
t
,
j
l
′
(
μ
) are the probabilities of RSS value μ under the RSS distributions in C
s
l and C
t
l
′, respectively.Step 3.
The winning path creation is started at the position(
s
1
,
t
1
) with the largest entry, namely, the first position on the winning path, in scoring space, such that(2)
s
1
,
t
1
=
arg
max
s
=
1
,
…
,
Φ
l
;
t
=
1
,
…
,
Φ
l
′
⁡
Υ
C
s
l
,
C
t
l
′
,
Υ
C
s
1
l
,
C
t
1
l
′
≥
ε
WC
,where ε
WC is a threshold.After the first position on the winning path is obtained, it is required to go backwards to one of positions,(
s
1
-
1
,
t
1
), (
s
1
,
t
1
-
1
), and (
s
1
-
1
,
t
1
-
1
), and compare the entries of these three positions, Υ
(
C
s
1
-
1
l
,
C
t
1
l
′
), Υ
(
C
s
1
l
,
C
t
1
-
1
l
′
), and Υ
(
C
s
1
-
1
l
,
C
t
1
-
1
l
′
). A connection from (
s
2
,
t
2
) to (
s
1
,
t
1
), notated as (
s
2
,
t
2
)
→
(
s
1
,
t
1
), is constructed as the first jump on the winning path, where(3)
s
2
,
t
2
=
arg
max
s
,
t
∈
s
1
-
1
,
t
1
,
s
1
,
t
1
-
1
,
s
1
-
1
,
t
1
-
1
⁡
Υ
C
s
l
,
C
t
l
′
.This process is continued until the winning path reaches the first row or the first column in scoring space or reaches a position with the entry not larger than the thresholdε
W
T.Step 4.
After the winning path is created, the specific RSS clusters inR
^
l and R
^
l
′, respectively, are merged based on the concept of jumps used in Smith-Waterman alignment [27]. It is required to start from the last jump and go forward to the first jump on the winning path to identify the specific RSS clusters to be merged. There are three types of jumps involved [27]: (i) diagonal jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
+
1
,
t
m
+
1
) implying that C
s
m
+
1
l and C
t
m
+
1
l
′ are required to be merged into a LP; (ii) top-down jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
+
1
,
t
m
) implying that C
s
m
+
1
l is an isolated LP; and (iii) left-right jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
,
t
m
+
1
) implying C
t
m
+
1
l
′ is an isolated LP. Figure 1 gives an example of the winning path creation, while the two RSS sequences R
^
l
=
{
C
1
l
,
…
,
C
4
l
} and R
^
l
′
=
{
C
1
l
′
,
…
,
C
4
l
′
} happen to be both with four RSS clusters in length. Based on the created winning path in Figure 1, we can obtain three pairs of RSS clusters to be merged into C
1,1
l
,
l
′, C
3,3
l
,
l
′, and C
4,4
l
,
l
′, respectively, and eventually construct a mobility map containing 5 LPs, notated as LP 1
,
…
,
5, and 5 transitions, notated as Tran. 1
,
…
,
5, between the LPs.Figure 1
An example of intersequence assembling.


### 3.3. Sequence Alignment Algorithm

So far, the mobility map has been constructed based on the intrasequence clustering and intersequence assembling steps. In this subsection, the algorithm used for location tracking will be investigated based on the constructed mobility map. The target locations are tracked as follows.Step 1.
In each LPC
k
l, the K RSS sequences with the largest number of RSS samples are selected as the K virtual fingerprints R
k
l
,
n
=
{
μ
1
l
,
n
,
…
,
μ
N
k
l
,
n
l
,
n
}
(
n
=
1
,
…
,
K
), where N
k
l
,
n is the number of RSS samples in R
k
l
,
n, namely, length of R
k
l
,
n.Step 2.
By assuming that the interval of location query isI
S, the segment of RSS samples used for the τth (
τ
≥
1
) location query is R
τ
New
=
{
μ
τ
-
1
ε
S
+
1
New
,
…
,
μ
τ
ε
S
New
}, where ε
S
=
[
I
S
/
δ
] and the notation “[
·
]” represents the rounding operation. If(4)
C
k
^
l
^
τ
=
arg
max
k
=
1
,
…
,
Φ
l
;
l
=
1
,
…
,
N
⁡
max
n
=
1
K
⁡
Ω
′
R
τ
New
,
R
k
l
,
n
,
Ω
′
R
τ
New
,
R
k
l
,
n
=
max
u
=
τ
-
1
ε
S
+
1
τ
ε
S
⁡
max
v
=
1
N
k
l
,
n
⁡
Ω
μ
u
New
,
μ
v
l
,
n
,
C
k
^
l
^
(
τ
) is selected as the tracked location for the τth location query, where m
a
x
n
=
1
K
{
Ω
′
(
R
τ
New
,
R
k
l
,
n
)
} is the alignment similarity between R
τ
New and C
k
l. In (4), Ω
(
μ
u
New
,
μ
v
l
,
n
) is calculated that (i) when u
=
1 or v
=
1, Ω
(
μ
u
New
,
μ
v
l
,
n
)
=
1
/
μ
u
New
,
μ
v
l
,
n
2; (ii) when u
≠
1, v
≠
1, and μ
u
New
,
μ
v
l
,
n
2
≤
ε
N, Ω
(
μ
u
New
,
μ
v
l
,
n
)
=
Ω
(
μ
u
-
1
New
,
μ
v
-
1
l
,
n
)
+
1
/
μ
u
New
,
μ
v
l
,
n
2; and (iii) otherwise, one has(5)
Ω
μ
u
New
,
μ
v
l
,
n
=
max
⁡
max
u
′
=
1
u
-
1
⁡
1
-
F
M
u
-
u
′
Ω
μ
u
′
New
,
μ
v
l
,
n
+
1
-
F
D
u
-
u
′
μ
u
′
New
,
μ
v
l
,
n
2
,
max
v
′
=
1
v
-
1
⁡
1
-
F
M
v
-
v
′
Ω
μ
u
New
,
μ
v
′
l
,
n
+
1
-
F
D
v
-
v
′
μ
u
New
,
μ
v
′
l
,
n
2
,where ε
N is a threshold.Step 3.
After the tracked locations are obtained, the tracked motion path will be constructed by the following steps.
First of all, it is defined that if the difference of average time-stamps of the RSS samples inC
k
^
l
^
(
τ
) and C
k
^
l
^
(
τ
′
), respectively, is smaller than ε
S, then C
k
^
l
^
(
τ
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
′
). On this basis, it is noted that the ε
S-neighborhood relationship is naturally symmetric.
Second, by settingA
k
^
l
^
,
τ
(
ε
S
) as the set of tracked locations which are in the ε
S-neighborhood of C
k
^
l
^
(
τ
), one has that (i) if C
k
^
l
^
(
τ
+
1
)
∈
A
k
^
l
^
,
τ
(
ε
S
), C
k
^
l
^
(
τ
+
1
) is left in the set of tracked locations, and it is continued to examine whether C
k
^
l
^
(
τ
+
2
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
+
1
); and (ii) otherwise, it is continued to examine whether C
k
^
l
^
(
τ
+
2
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
). When C
k
^
l
^
(
τ
+
2
)
∈
A
k
^
l
^
,
τ
(
ε
S
+
max
μ
i
l
∈
C
k
^
l
^
(
τ
)
;
μ
i
′
l
′
∈
C
k
^
l
^
(
τ
+
1
)
⁡
{
d
i
f
f
T
μ
i
l
,
μ
i
′
l
′
}
), both C
k
^
l
^
(
τ
+
1
) and C
k
^
l
^
(
τ
+
2
) are left in the set of tracked locations, and it is continued to examine whether C
k
^
l
^
(
τ
+
3
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
+
2
). Otherwise, C
k
^
l
^
(
τ
+
1
) is removed from the set of tracked locations, and it is continued to examine whether C
k
^
l
^
(
τ
+
3
) is in the (
ε
S
+
max
μ
i
l
∈
C
k
^
l
^
(
τ
)
;
μ
i
′
l
′
∈
C
k
^
l
^
(
τ
+
2
)
⁡
{
d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
′
)
}
)-neighborhood of C
k
^
l
^
(
τ
). This process is repeated until the most recent tracked location is reached or one obtains(6)
C
k
^
l
^
τ
+
χ
∈
A
k
^
l
^
,
τ
ε
S
+
max
μ
i
l
∈
C
k
^
l
^
τ
;
μ
i
′
l
′
∈
C
k
^
l
^
τ
+
χ
-
1
⁡
diff
T
μ
i
l
,
μ
i
′
l
′
,
χ
≥
3
.
In the former case, all the tracked locations with the time-stamps afterC
k
^
l
^
(
τ
) are removed, whereas, in the latter case, C
k
^
l
^
(
τ
+
χ
-
1
) is left in the set of tracked locations and it is continued to examine whether C
k
^
l
^
(
τ
+
χ
+
1
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
+
χ
).
Finally, the tracked locations that remain are connected in chronological order along the path passing by the smallest number of LPs in mobility map as the tracked motion path. To conduct mobility map updating, the segments of RSS samples are merged into their corresponding tracked locations.


## 3.1. Intrasequence Clustering

### 3.1.1. Problem Statement

In the system, each person holding a Wi-Fi RSS receiver walks around the coverage area and collects Wi-Fi RSS sequences. It is assumed thatN such sequences are collected where R
l
=
{
μ
1
l
,
…
,
μ
N
l
l
}
(
l
=
1
,
…
,
N
) is the lth sequence and μ
i
l
=
(
μ
i
,
1
l
,
…
,
μ
i
,
M
l
)
(
i
=
1
,
…
,
N
l
) is the ith sample (of dimensions M) in R
l which contains N
l samples. Each sample is a vector containing the RSS values from M APs. The jth (j
=
1
,
…
,
M) element in μ
i
l, μ
i
,
j
l is the RSS value from the jth AP. The difference in RSSs and time-stamps between any two RSS samples in the same sequence is calculated by d
i
f
f
R
(
μ
i
l
,
μ
i
′
l
)
=
μ
i
l
-
μ
i
′
l
2 and d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
)
=
T
i
l
-
T
i
′
l where T
i
l
=
(
i
-
1
)
δ is the time-stamp of μ
i
l in R
l and δ is the sampling interval.Here, the intrasequence clustering problem is as follows. Given a set ofN
l RSS samples {
μ
1
l
,
…
,
μ
N
l
l
} belonging to a K
l-dimensional mapped space R
K
l, which is embedded in the raw M-dimensional RSS space R
M
(
M
≥
K
l
), a set of N
l mapped vectors {
μ
^
1
l
,
…
,
μ
^
N
l
l
} in R
K
l is first found such that μ
^
i
l is mapped from μ
i
l, and then the N
l mapped vectors μ
^
1
l
,
…
,
μ
^
N
l
l are classified into Φ
l RSS clusters. Finally, the RSS samples which have the corresponding mapped vectors in the same cluster are also classified into the same RSS cluster.The first advantage of intrasequence clustering is that the similarities of RSS samples in RSSs and time-stamps between any two clusters are minimized. Second, the graph Laplacian which is selected for dimensionality reduction can avoid the situation that the isolated RSS samples accidentally form some outlier RSS clusters by minimizing the values of Ncut over all the RSS clusters [10, 25].


### 3.1.2. Steps

The steps of intrasequence clustering are provided as follows.Step 1.
The similarity ofμ
i
l and μ
i
′
l is computed as W
i
,
i
′
=
exp
⁡
(
-
α
R
d
i
f
f
R
′
(
μ
i
l
,
μ
i
′
l
)
-
α
T
d
i
f
f
T
′
(
μ
i
l
,
μ
i
′
l
)
), where α
R and α
T  (
α
R
+
α
T
=
1
;
0
≤
α
R
,
α
T
≤
1
) are two tunable weighting factors and d
i
f
f
R
′
(
μ
i
l
,
μ
i
′
l
) and d
i
f
f
T
′
(
μ
i
l
,
μ
i
′
l
) are the normalized values of d
i
f
f
R
(
μ
i
l
,
μ
i
′
l
) and d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
), respectively.Step 2.
Consider the problem of mapping the RSS samples in each sequence onto a line such that the RSS samples with large similarities in RSSs and time-stamps are corresponding to the mapped points which can stay as close together as possible on the line. LetR
^
1
l
=
{
r
1,1
l
,
…
,
r
1
,
N
l
l
} be the set of the N
l mapped points. The optimal objective function to this problem can be described as m
i
n
R
^
1
l
{
∑
i
′
′
,
i
′
′
′
=
1
N
l
(
r
1
,
i
′
′
l
-
r
1
,
i
′
′
′
l
)
2
W
i
′
′
,
i
′
′
′
}.Step 3.
Compute the Laplacian matrixL
l
=
D
l
-
W
l
=
[
D
i
,
i
′
l
-
W
i
,
i
′
l
]
i
,
i
′
=
1
N
l for each RSS sequence. If i
=
i
′, D
i
,
i
l is set as ∑
i
′
′
=
1
N
l
W
i
,
i
′
′
l. Otherwise, D
i
,
i
′
l is set as 0. By using the Lagrange multiplier method [4], the problem described in Step 2 is converted to m
i
n
R
^
1
l
{
λ
}, where λ’s are the eigenvalues of L
l.Step 4.
Consider the general problem of mapping each RSS sequence (of dimensionsM) into the K
l-dimensional space, where K
l
≤
M. The set of mapped vectors, namely, the mapped sequence, is given by a N
l
×
K
l matrix Ψ
l
=
[
μ
^
1
l
⋯
μ
^
N
l
l
]
T, where μ
^
i
l
=
(
r
1
,
i
l
,
…
,
r
K
l
,
i
l
) is the mapped vector of μ
i
l and the superscript “T” represents the transpose operation. Thus, the optimal objective function to this general problem equals m
i
n
R
^
l
{
t
r
(
(
Ψ
l
)
T
L
l
Ψ
l
)
}. Based on the previous work [4], the solution to this optimal objective function can be provided by the K
l eigenvectors which are corresponding to K
l smallest eigenvalues of the generalized eigenvalue problem L
l
μ
^
i
l
=
λ
D
l
μ
^
i
l.Step 5.
As discussed in the literature [10, 26], the process of the previous dimensionality reduction which preserves the locality of RSS samples in RSSs and time-stamps can also yield a similar solution to the RSS clustering. In concrete terms, after the dimensionality reduction from M to K
l, K-means clustering is conducted on the mapped vectors to obtain Φ
l RSS clusters C
1
l
,
…
,
C
Φ
l
l for each RSS sequence, where C
k
l is the kth (
k
=
1
,
…
,
Φ
l
) RSS cluster in R
l.


## 3.1.1. Problem Statement

In the system, each person holding a Wi-Fi RSS receiver walks around the coverage area and collects Wi-Fi RSS sequences. It is assumed thatN such sequences are collected where R
l
=
{
μ
1
l
,
…
,
μ
N
l
l
}
(
l
=
1
,
…
,
N
) is the lth sequence and μ
i
l
=
(
μ
i
,
1
l
,
…
,
μ
i
,
M
l
)
(
i
=
1
,
…
,
N
l
) is the ith sample (of dimensions M) in R
l which contains N
l samples. Each sample is a vector containing the RSS values from M APs. The jth (j
=
1
,
…
,
M) element in μ
i
l, μ
i
,
j
l is the RSS value from the jth AP. The difference in RSSs and time-stamps between any two RSS samples in the same sequence is calculated by d
i
f
f
R
(
μ
i
l
,
μ
i
′
l
)
=
μ
i
l
-
μ
i
′
l
2 and d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
)
=
T
i
l
-
T
i
′
l where T
i
l
=
(
i
-
1
)
δ is the time-stamp of μ
i
l in R
l and δ is the sampling interval.Here, the intrasequence clustering problem is as follows. Given a set ofN
l RSS samples {
μ
1
l
,
…
,
μ
N
l
l
} belonging to a K
l-dimensional mapped space R
K
l, which is embedded in the raw M-dimensional RSS space R
M
(
M
≥
K
l
), a set of N
l mapped vectors {
μ
^
1
l
,
…
,
μ
^
N
l
l
} in R
K
l is first found such that μ
^
i
l is mapped from μ
i
l, and then the N
l mapped vectors μ
^
1
l
,
…
,
μ
^
N
l
l are classified into Φ
l RSS clusters. Finally, the RSS samples which have the corresponding mapped vectors in the same cluster are also classified into the same RSS cluster.The first advantage of intrasequence clustering is that the similarities of RSS samples in RSSs and time-stamps between any two clusters are minimized. Second, the graph Laplacian which is selected for dimensionality reduction can avoid the situation that the isolated RSS samples accidentally form some outlier RSS clusters by minimizing the values of Ncut over all the RSS clusters [10, 25].


## 3.1.2. Steps

The steps of intrasequence clustering are provided as follows.Step 1.
The similarity ofμ
i
l and μ
i
′
l is computed as W
i
,
i
′
=
exp
⁡
(
-
α
R
d
i
f
f
R
′
(
μ
i
l
,
μ
i
′
l
)
-
α
T
d
i
f
f
T
′
(
μ
i
l
,
μ
i
′
l
)
), where α
R and α
T  (
α
R
+
α
T
=
1
;
0
≤
α
R
,
α
T
≤
1
) are two tunable weighting factors and d
i
f
f
R
′
(
μ
i
l
,
μ
i
′
l
) and d
i
f
f
T
′
(
μ
i
l
,
μ
i
′
l
) are the normalized values of d
i
f
f
R
(
μ
i
l
,
μ
i
′
l
) and d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
), respectively.Step 2.
Consider the problem of mapping the RSS samples in each sequence onto a line such that the RSS samples with large similarities in RSSs and time-stamps are corresponding to the mapped points which can stay as close together as possible on the line. LetR
^
1
l
=
{
r
1,1
l
,
…
,
r
1
,
N
l
l
} be the set of the N
l mapped points. The optimal objective function to this problem can be described as m
i
n
R
^
1
l
{
∑
i
′
′
,
i
′
′
′
=
1
N
l
(
r
1
,
i
′
′
l
-
r
1
,
i
′
′
′
l
)
2
W
i
′
′
,
i
′
′
′
}.Step 3.
Compute the Laplacian matrixL
l
=
D
l
-
W
l
=
[
D
i
,
i
′
l
-
W
i
,
i
′
l
]
i
,
i
′
=
1
N
l for each RSS sequence. If i
=
i
′, D
i
,
i
l is set as ∑
i
′
′
=
1
N
l
W
i
,
i
′
′
l. Otherwise, D
i
,
i
′
l is set as 0. By using the Lagrange multiplier method [4], the problem described in Step 2 is converted to m
i
n
R
^
1
l
{
λ
}, where λ’s are the eigenvalues of L
l.Step 4.
Consider the general problem of mapping each RSS sequence (of dimensionsM) into the K
l-dimensional space, where K
l
≤
M. The set of mapped vectors, namely, the mapped sequence, is given by a N
l
×
K
l matrix Ψ
l
=
[
μ
^
1
l
⋯
μ
^
N
l
l
]
T, where μ
^
i
l
=
(
r
1
,
i
l
,
…
,
r
K
l
,
i
l
) is the mapped vector of μ
i
l and the superscript “T” represents the transpose operation. Thus, the optimal objective function to this general problem equals m
i
n
R
^
l
{
t
r
(
(
Ψ
l
)
T
L
l
Ψ
l
)
}. Based on the previous work [4], the solution to this optimal objective function can be provided by the K
l eigenvectors which are corresponding to K
l smallest eigenvalues of the generalized eigenvalue problem L
l
μ
^
i
l
=
λ
D
l
μ
^
i
l.Step 5.
As discussed in the literature [10, 26], the process of the previous dimensionality reduction which preserves the locality of RSS samples in RSSs and time-stamps can also yield a similar solution to the RSS clustering. In concrete terms, after the dimensionality reduction from M to K
l, K-means clustering is conducted on the mapped vectors to obtain Φ
l RSS clusters C
1
l
,
…
,
C
Φ
l
l for each RSS sequence, where C
k
l is the kth (
k
=
1
,
…
,
Φ
l
) RSS cluster in R
l.


## 3.2. Intersequence Assembling

### 3.2.1. Problem Statement

The problem to be solved by intersequence assembling is to assemble the RSS clusters obtained in intrasequence clustering step into a mobility map. Since each RSS sequence can be represented by a string of consecutive time-stamped RSS clusters,R
^
l
=
{
C
1
l
,
…
,
C
Φ
l
l
}, the concept of winning path in scoring space used by Smith-Waterman alignment is applied to identify the RSS clusters required to be merged. By considering the process of clusters combination graphically, each string of consecutive time-stamped RSS clusters is first viewed as a string of consecutive vertices in a graph, where any two adjacent vertices are connected by an edge. Second, the string assembling is conducted by merging the specific vertices in different strings. Finally, after all the strings of consecutive vertices have been assembled, the mobility map G
=
(
V
,
E
) is constructed in which V and E represent the sets of vertices and edges in graph, respectively.


### 3.2.2. Steps

The four steps of intersequence assembling are as follows.Step 1.
For every two strings of consecutive verticesR
^
l and R
^
l
′, their initial scoring space is set as a zero matrix [
0
]
Φ
l
×
Φ
l
'. The entry at position (
s
,
t
)
(
s
=
1
,
…
,
Φ
l
;
t
=
1
,
…
,
Φ
l
′
) in scoring space is the cumulative matching score Υ
(
C
s
l
,
C
t
l
′
) between C
s
l and C
t
l
′.Step 2.
The entries in scoring space are calculated starting at position(
1,1
) and proceeding from the first to the last rows in scoring space. The entry at position (
s
,
t
), Υ
(
C
s
l
,
C
t
l
′
), is calculated that (i) when 1
≤
t
≤
Φ
l
′, Υ
(
C
1
l
,
C
t
l
′
)
=
1
/
Γ
(
C
1
l
,
C
t
l
'
); (ii) when 1
≤
s
≤
Φ
l, Υ
(
C
s
l
,
C
1
l
′
)
=
1
/
Γ
(
C
s
l
,
C
1
l
′
); (iii) when 2
≤
s
≤
Φ
l, 2
≤
t
≤
Φ
l
′, and Γ
(
C
s
l
,
C
t
l
′
)
≤
ε
D, Υ
(
C
s
l
,
C
t
l
′
)
=
Υ
(
C
s
-
1
l
,
C
t
-
1
l
′
)
+
1
/
Γ
(
C
s
l
,
C
t
l
′
); and (iv) otherwise, one has(1)
Υ
C
s
l
,
C
t
l
′
=
max
⁡
max
s
′
=
1
s
-
1
⁡
1
-
F
M
s
-
s
′
Υ
C
s
′
l
,
C
t
l
′
+
1
-
F
D
s
-
s
′
Γ
C
s
′
l
,
C
t
l
′
,
max
t
′
=
1
t
-
1
⁡
1
-
F
M
t
-
t
′
Υ
C
s
l
,
C
t
′
l
′
+
1
-
F
D
t
-
t
′
Γ
C
s
l
,
C
t
′
l
′
,where F
M and F
D
(
0
≤
F
M
,
F
D
≤
1
) are the missing factor and the damping factor, respectively; ε
D is a threshold; and Γ
(
C
s
l
,
C
t
l
′
)
=
∑
j
=
1
M
∑
μ
p
s
,
j
l
μ
log
2
⁡
p
s
,
j
l
(
μ
)
/
p
t
,
j
l
′
(
μ
)
/
M. p
s
,
j
l
(
μ
) and p
t
,
j
l
′
(
μ
) are the probabilities of RSS value μ under the RSS distributions in C
s
l and C
t
l
′, respectively.Step 3.
The winning path creation is started at the position(
s
1
,
t
1
) with the largest entry, namely, the first position on the winning path, in scoring space, such that(2)
s
1
,
t
1
=
arg
max
s
=
1
,
…
,
Φ
l
;
t
=
1
,
…
,
Φ
l
′
⁡
Υ
C
s
l
,
C
t
l
′
,
Υ
C
s
1
l
,
C
t
1
l
′
≥
ε
WC
,where ε
WC is a threshold.After the first position on the winning path is obtained, it is required to go backwards to one of positions,(
s
1
-
1
,
t
1
), (
s
1
,
t
1
-
1
), and (
s
1
-
1
,
t
1
-
1
), and compare the entries of these three positions, Υ
(
C
s
1
-
1
l
,
C
t
1
l
′
), Υ
(
C
s
1
l
,
C
t
1
-
1
l
′
), and Υ
(
C
s
1
-
1
l
,
C
t
1
-
1
l
′
). A connection from (
s
2
,
t
2
) to (
s
1
,
t
1
), notated as (
s
2
,
t
2
)
→
(
s
1
,
t
1
), is constructed as the first jump on the winning path, where(3)
s
2
,
t
2
=
arg
max
s
,
t
∈
s
1
-
1
,
t
1
,
s
1
,
t
1
-
1
,
s
1
-
1
,
t
1
-
1
⁡
Υ
C
s
l
,
C
t
l
′
.This process is continued until the winning path reaches the first row or the first column in scoring space or reaches a position with the entry not larger than the thresholdε
W
T.Step 4.
After the winning path is created, the specific RSS clusters inR
^
l and R
^
l
′, respectively, are merged based on the concept of jumps used in Smith-Waterman alignment [27]. It is required to start from the last jump and go forward to the first jump on the winning path to identify the specific RSS clusters to be merged. There are three types of jumps involved [27]: (i) diagonal jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
+
1
,
t
m
+
1
) implying that C
s
m
+
1
l and C
t
m
+
1
l
′ are required to be merged into a LP; (ii) top-down jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
+
1
,
t
m
) implying that C
s
m
+
1
l is an isolated LP; and (iii) left-right jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
,
t
m
+
1
) implying C
t
m
+
1
l
′ is an isolated LP. Figure 1 gives an example of the winning path creation, while the two RSS sequences R
^
l
=
{
C
1
l
,
…
,
C
4
l
} and R
^
l
′
=
{
C
1
l
′
,
…
,
C
4
l
′
} happen to be both with four RSS clusters in length. Based on the created winning path in Figure 1, we can obtain three pairs of RSS clusters to be merged into C
1,1
l
,
l
′, C
3,3
l
,
l
′, and C
4,4
l
,
l
′, respectively, and eventually construct a mobility map containing 5 LPs, notated as LP 1
,
…
,
5, and 5 transitions, notated as Tran. 1
,
…
,
5, between the LPs.Figure 1
An example of intersequence assembling.


## 3.2.1. Problem Statement

The problem to be solved by intersequence assembling is to assemble the RSS clusters obtained in intrasequence clustering step into a mobility map. Since each RSS sequence can be represented by a string of consecutive time-stamped RSS clusters,R
^
l
=
{
C
1
l
,
…
,
C
Φ
l
l
}, the concept of winning path in scoring space used by Smith-Waterman alignment is applied to identify the RSS clusters required to be merged. By considering the process of clusters combination graphically, each string of consecutive time-stamped RSS clusters is first viewed as a string of consecutive vertices in a graph, where any two adjacent vertices are connected by an edge. Second, the string assembling is conducted by merging the specific vertices in different strings. Finally, after all the strings of consecutive vertices have been assembled, the mobility map G
=
(
V
,
E
) is constructed in which V and E represent the sets of vertices and edges in graph, respectively.


## 3.2.2. Steps

The four steps of intersequence assembling are as follows.Step 1.
For every two strings of consecutive verticesR
^
l and R
^
l
′, their initial scoring space is set as a zero matrix [
0
]
Φ
l
×
Φ
l
'. The entry at position (
s
,
t
)
(
s
=
1
,
…
,
Φ
l
;
t
=
1
,
…
,
Φ
l
′
) in scoring space is the cumulative matching score Υ
(
C
s
l
,
C
t
l
′
) between C
s
l and C
t
l
′.Step 2.
The entries in scoring space are calculated starting at position(
1,1
) and proceeding from the first to the last rows in scoring space. The entry at position (
s
,
t
), Υ
(
C
s
l
,
C
t
l
′
), is calculated that (i) when 1
≤
t
≤
Φ
l
′, Υ
(
C
1
l
,
C
t
l
′
)
=
1
/
Γ
(
C
1
l
,
C
t
l
'
); (ii) when 1
≤
s
≤
Φ
l, Υ
(
C
s
l
,
C
1
l
′
)
=
1
/
Γ
(
C
s
l
,
C
1
l
′
); (iii) when 2
≤
s
≤
Φ
l, 2
≤
t
≤
Φ
l
′, and Γ
(
C
s
l
,
C
t
l
′
)
≤
ε
D, Υ
(
C
s
l
,
C
t
l
′
)
=
Υ
(
C
s
-
1
l
,
C
t
-
1
l
′
)
+
1
/
Γ
(
C
s
l
,
C
t
l
′
); and (iv) otherwise, one has(1)
Υ
C
s
l
,
C
t
l
′
=
max
⁡
max
s
′
=
1
s
-
1
⁡
1
-
F
M
s
-
s
′
Υ
C
s
′
l
,
C
t
l
′
+
1
-
F
D
s
-
s
′
Γ
C
s
′
l
,
C
t
l
′
,
max
t
′
=
1
t
-
1
⁡
1
-
F
M
t
-
t
′
Υ
C
s
l
,
C
t
′
l
′
+
1
-
F
D
t
-
t
′
Γ
C
s
l
,
C
t
′
l
′
,where F
M and F
D
(
0
≤
F
M
,
F
D
≤
1
) are the missing factor and the damping factor, respectively; ε
D is a threshold; and Γ
(
C
s
l
,
C
t
l
′
)
=
∑
j
=
1
M
∑
μ
p
s
,
j
l
μ
log
2
⁡
p
s
,
j
l
(
μ
)
/
p
t
,
j
l
′
(
μ
)
/
M. p
s
,
j
l
(
μ
) and p
t
,
j
l
′
(
μ
) are the probabilities of RSS value μ under the RSS distributions in C
s
l and C
t
l
′, respectively.Step 3.
The winning path creation is started at the position(
s
1
,
t
1
) with the largest entry, namely, the first position on the winning path, in scoring space, such that(2)
s
1
,
t
1
=
arg
max
s
=
1
,
…
,
Φ
l
;
t
=
1
,
…
,
Φ
l
′
⁡
Υ
C
s
l
,
C
t
l
′
,
Υ
C
s
1
l
,
C
t
1
l
′
≥
ε
WC
,where ε
WC is a threshold.After the first position on the winning path is obtained, it is required to go backwards to one of positions,(
s
1
-
1
,
t
1
), (
s
1
,
t
1
-
1
), and (
s
1
-
1
,
t
1
-
1
), and compare the entries of these three positions, Υ
(
C
s
1
-
1
l
,
C
t
1
l
′
), Υ
(
C
s
1
l
,
C
t
1
-
1
l
′
), and Υ
(
C
s
1
-
1
l
,
C
t
1
-
1
l
′
). A connection from (
s
2
,
t
2
) to (
s
1
,
t
1
), notated as (
s
2
,
t
2
)
→
(
s
1
,
t
1
), is constructed as the first jump on the winning path, where(3)
s
2
,
t
2
=
arg
max
s
,
t
∈
s
1
-
1
,
t
1
,
s
1
,
t
1
-
1
,
s
1
-
1
,
t
1
-
1
⁡
Υ
C
s
l
,
C
t
l
′
.This process is continued until the winning path reaches the first row or the first column in scoring space or reaches a position with the entry not larger than the thresholdε
W
T.Step 4.
After the winning path is created, the specific RSS clusters inR
^
l and R
^
l
′, respectively, are merged based on the concept of jumps used in Smith-Waterman alignment [27]. It is required to start from the last jump and go forward to the first jump on the winning path to identify the specific RSS clusters to be merged. There are three types of jumps involved [27]: (i) diagonal jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
+
1
,
t
m
+
1
) implying that C
s
m
+
1
l and C
t
m
+
1
l
′ are required to be merged into a LP; (ii) top-down jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
+
1
,
t
m
) implying that C
s
m
+
1
l is an isolated LP; and (iii) left-right jump (
s
m
,
t
m
)
→
(
s
m
-
1
,
t
m
-
1
)
=
(
s
m
,
t
m
+
1
) implying C
t
m
+
1
l
′ is an isolated LP. Figure 1 gives an example of the winning path creation, while the two RSS sequences R
^
l
=
{
C
1
l
,
…
,
C
4
l
} and R
^
l
′
=
{
C
1
l
′
,
…
,
C
4
l
′
} happen to be both with four RSS clusters in length. Based on the created winning path in Figure 1, we can obtain three pairs of RSS clusters to be merged into C
1,1
l
,
l
′, C
3,3
l
,
l
′, and C
4,4
l
,
l
′, respectively, and eventually construct a mobility map containing 5 LPs, notated as LP 1
,
…
,
5, and 5 transitions, notated as Tran. 1
,
…
,
5, between the LPs.Figure 1
An example of intersequence assembling.


## 3.3. Sequence Alignment Algorithm

So far, the mobility map has been constructed based on the intrasequence clustering and intersequence assembling steps. In this subsection, the algorithm used for location tracking will be investigated based on the constructed mobility map. The target locations are tracked as follows.Step 1.
In each LPC
k
l, the K RSS sequences with the largest number of RSS samples are selected as the K virtual fingerprints R
k
l
,
n
=
{
μ
1
l
,
n
,
…
,
μ
N
k
l
,
n
l
,
n
}
(
n
=
1
,
…
,
K
), where N
k
l
,
n is the number of RSS samples in R
k
l
,
n, namely, length of R
k
l
,
n.Step 2.
By assuming that the interval of location query isI
S, the segment of RSS samples used for the τth (
τ
≥
1
) location query is R
τ
New
=
{
μ
τ
-
1
ε
S
+
1
New
,
…
,
μ
τ
ε
S
New
}, where ε
S
=
[
I
S
/
δ
] and the notation “[
·
]” represents the rounding operation. If(4)
C
k
^
l
^
τ
=
arg
max
k
=
1
,
…
,
Φ
l
;
l
=
1
,
…
,
N
⁡
max
n
=
1
K
⁡
Ω
′
R
τ
New
,
R
k
l
,
n
,
Ω
′
R
τ
New
,
R
k
l
,
n
=
max
u
=
τ
-
1
ε
S
+
1
τ
ε
S
⁡
max
v
=
1
N
k
l
,
n
⁡
Ω
μ
u
New
,
μ
v
l
,
n
,
C
k
^
l
^
(
τ
) is selected as the tracked location for the τth location query, where m
a
x
n
=
1
K
{
Ω
′
(
R
τ
New
,
R
k
l
,
n
)
} is the alignment similarity between R
τ
New and C
k
l. In (4), Ω
(
μ
u
New
,
μ
v
l
,
n
) is calculated that (i) when u
=
1 or v
=
1, Ω
(
μ
u
New
,
μ
v
l
,
n
)
=
1
/
μ
u
New
,
μ
v
l
,
n
2; (ii) when u
≠
1, v
≠
1, and μ
u
New
,
μ
v
l
,
n
2
≤
ε
N, Ω
(
μ
u
New
,
μ
v
l
,
n
)
=
Ω
(
μ
u
-
1
New
,
μ
v
-
1
l
,
n
)
+
1
/
μ
u
New
,
μ
v
l
,
n
2; and (iii) otherwise, one has(5)
Ω
μ
u
New
,
μ
v
l
,
n
=
max
⁡
max
u
′
=
1
u
-
1
⁡
1
-
F
M
u
-
u
′
Ω
μ
u
′
New
,
μ
v
l
,
n
+
1
-
F
D
u
-
u
′
μ
u
′
New
,
μ
v
l
,
n
2
,
max
v
′
=
1
v
-
1
⁡
1
-
F
M
v
-
v
′
Ω
μ
u
New
,
μ
v
′
l
,
n
+
1
-
F
D
v
-
v
′
μ
u
New
,
μ
v
′
l
,
n
2
,where ε
N is a threshold.Step 3.
After the tracked locations are obtained, the tracked motion path will be constructed by the following steps.
First of all, it is defined that if the difference of average time-stamps of the RSS samples inC
k
^
l
^
(
τ
) and C
k
^
l
^
(
τ
′
), respectively, is smaller than ε
S, then C
k
^
l
^
(
τ
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
′
). On this basis, it is noted that the ε
S-neighborhood relationship is naturally symmetric.
Second, by settingA
k
^
l
^
,
τ
(
ε
S
) as the set of tracked locations which are in the ε
S-neighborhood of C
k
^
l
^
(
τ
), one has that (i) if C
k
^
l
^
(
τ
+
1
)
∈
A
k
^
l
^
,
τ
(
ε
S
), C
k
^
l
^
(
τ
+
1
) is left in the set of tracked locations, and it is continued to examine whether C
k
^
l
^
(
τ
+
2
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
+
1
); and (ii) otherwise, it is continued to examine whether C
k
^
l
^
(
τ
+
2
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
). When C
k
^
l
^
(
τ
+
2
)
∈
A
k
^
l
^
,
τ
(
ε
S
+
max
μ
i
l
∈
C
k
^
l
^
(
τ
)
;
μ
i
′
l
′
∈
C
k
^
l
^
(
τ
+
1
)
⁡
{
d
i
f
f
T
μ
i
l
,
μ
i
′
l
′
}
), both C
k
^
l
^
(
τ
+
1
) and C
k
^
l
^
(
τ
+
2
) are left in the set of tracked locations, and it is continued to examine whether C
k
^
l
^
(
τ
+
3
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
+
2
). Otherwise, C
k
^
l
^
(
τ
+
1
) is removed from the set of tracked locations, and it is continued to examine whether C
k
^
l
^
(
τ
+
3
) is in the (
ε
S
+
max
μ
i
l
∈
C
k
^
l
^
(
τ
)
;
μ
i
′
l
′
∈
C
k
^
l
^
(
τ
+
2
)
⁡
{
d
i
f
f
T
(
μ
i
l
,
μ
i
′
l
′
)
}
)-neighborhood of C
k
^
l
^
(
τ
). This process is repeated until the most recent tracked location is reached or one obtains(6)
C
k
^
l
^
τ
+
χ
∈
A
k
^
l
^
,
τ
ε
S
+
max
μ
i
l
∈
C
k
^
l
^
τ
;
μ
i
′
l
′
∈
C
k
^
l
^
τ
+
χ
-
1
⁡
diff
T
μ
i
l
,
μ
i
′
l
′
,
χ
≥
3
.
In the former case, all the tracked locations with the time-stamps afterC
k
^
l
^
(
τ
) are removed, whereas, in the latter case, C
k
^
l
^
(
τ
+
χ
-
1
) is left in the set of tracked locations and it is continued to examine whether C
k
^
l
^
(
τ
+
χ
+
1
) is in the ε
S-neighborhood of C
k
^
l
^
(
τ
+
χ
).
Finally, the tracked locations that remain are connected in chronological order along the path passing by the smallest number of LPs in mobility map as the tracked motion path. To conduct mobility map updating, the segments of RSS samples are merged into their corresponding tracked locations.


## 4. Experimental Results

### 4.1. Experimental Setup

In this section, we will evaluate the performance of our proposed approach for mobility map construction and location tracking on four representative paths in HKUST campus, as shown in Figure2. They are path 1 between Lab 2149 and North Entrance; path 2 between Lab 2149 and LT-J Theater; path 3 between Lab 2149 and Coffee Shop; and path 4 between Coffee Shop and Library. A summary of these four paths is given in Table 1.Table 1
Experimental setups of four testing paths.
Paths
Description
Average number of RSS samples
Path 1 between Lab 2149 and North Entrance
The path between the indoor and outdoor environments
190
Path 2 between Lab 2149 and LT-J Theater
The path on the 2nd floor in the building
80
Path 3 between Lab 2149 and Coffee Shop
The path between the 1st and 2nd floors in the building
85
Path 4 between Coffee Shop and Library
The path between the ground and 1st floor in the building
110Figure 2
Layout of four paths.Two planned volunteers hold tablet computers which have the self-developed Wi-Fi RSS scanner software installed and walk along the four paths. On each path, each volunteer has recorded 10 RSS sequences with 5 of them in forward direction, whereas the rest in backward direction. The RSS sequences on each path are with the same sampling rate of 1 Hz (i.e.,δ
=
1 s) and the same dimensions of 650 (i.e., M
=
650). During the testing, the data recorded by volunteer 1 are first used to show the result of the constructed mobility map, and then the data recorded by volunteer 2 are used to examine the performance of location tracking.


### 4.2. Test of Mobility Map Construction

#### 4.2.1. Results of Intrasequence Clustering

For comparison, the other two widely used approaches for intrasequence clustering are conducted:K-means clustering, a baseline approach designed for data clustering [28], and affinity propagation clustering, a state-of-the-art approach that is based on the concept of exchanging the responsible and availability messages among the data [29].The parameters involved in intrasequence clustering are not specifically fine-tuned. Instead, they are determined at a coarse level. It is set thatK
l
=
3, Φ
l
=
[
N
l
/
20
], α
R
=
α
T
=
0.5, ε
T
=
30 s, and ε
R equals the average of distances of every two RSS samples with 30 s time-stamp difference.The results, shown in Figure3, are produced by K-means clustering (KMC), affinity propagation clustering (APC), and intrasequence clustering (ISC) which are conducted on each path. Different clusters are indicated by different symbols.Figure 3
Intrasequence clustering on each path.
(a)
KMC on path 1
(b)
APC on path 1
(c)
ISC on path 1
(d)
KMC on path 2
(e)
APC on path 2
(f)
ISC on path 2
(g)
KMC on path 3
(h)
APC on path 3
(i)
ISC on path 3
(j)
KMC on path 4
(k)
APC on path 4
(l)
ISC on path 4In Figure3, it is observed that the proposed intrasequence clustering not only preserves the locality of RSS samples in each sequence but also exhibits better adaptation to different path lengths compared to the K-means clustering and affinity propagation clustering. The results on path 1 are taken for instance. By K-means clustering, Cluster 3 which contains very few RSS samples tends to lead to poor clustering performance, while Cluster 6 which is generated by affinity propagation clustering contains too many RSS samples results in the degradation of position resolution of RSS clusters.


#### 4.2.2. Results of Intersequence Assembling

In this subsection, the result of mobility map construction by intersequence assembling will be shown. For simplicity, the intersequence assembling is first conducted on the RSS sequences which are recorded on each path, and then they are assembled into the complete mobility map. Figure4 shows the scoring spaces between the first recorded RSS sequence and the other 9 RSS sequences on each path. It is set that F
M
=
F
D
=
0.5, ε
W
T
=
0, and ε
W
C and ε
D equal the largest entry in scoring space and the average of KL divergence of RSS distributions of every two RSS clusters, respectively.Figure 4
Scoring spaces on each path.
(a)
On path 1
(b)
On path 2
(c)
On path 3
(d)
On path 4As can be seen from Figure4, it is found that (i) similar variation patterns of entries in scoring space can be found for any two pairs of RSS sequences with the same directions on each path and (ii) the entries in scoring space corresponding to the pair of sequences in the same direction are generally larger than the ones in scoring space corresponding to the pair of sequences in opposite directions. After the scoring spaces are obtained, it is continued to identify the specific RSS clusters required to be merged based on the concept of jumps used in Smith-Waterman alignment. Figure 5(a) shows the results of intersequence assembling on each path. The kth RSS cluster in sequence l on paths 1, 2, 3, and 4 is notated as C
k
l
,
P
1, C
k
l
,
P
2, C
k
l
,
P
3, and C
k
l
,
P
4, respectively, and the kth merged RSS cluster on paths 1, 2, 3, and 4 is notated as C
k
P
1, C
k
P
2, C
k
P
3, and C
k
P
4, respectively. Furthermore, for simplicity, the RSS clusters that are not merged (e.g., C
7
10
,
P
1) will not be considered during the intersequence assembling among different paths since these isolated RSS clusters which contain very few RSS samples generally represent the locations where the target rarely visited.Figure 5
Results of intersequence assembling.
(a)
Assembling on each path
(b)
Assembling among different pathsAfter the assembled RSS sequence on each path is obtained, it is continued to assemble the RSS sequences among different paths into the complete mobility map. To do this, the cumulative matching scores between the merged RSS clusters in different assembled RSS sequences are first calculated. Figure6 shows the cumulative matching scores between the merged RSS clusters on path 1 and the ones on paths 2, 3, and 4. Based on the created winning paths which are indicated by red box symbols, the mobility map consisting of 13 LPs and 12 transitions is eventually obtained, as shown in Figure 5(b).Figure 6
Cumulative matching scores between the RSS clusters.


### 4.3. Test of Location Tracking

The aim of this subsection is to verify that, by employing the proposed sequence alignment algorithm, the target locations can be tracked accurately in the mobile scenario. To examine whether sequence alignment algorithm can achieve corridor-level accuracy, the corridor-level segmentation is conducted on the constructed mobility map. The segmented corridors in mobility map are Corridor 1 “LP1, LP2,” Corridor 2 “LP3, LP4,” Corridor 3 “LP5, LP6,” Corridor 4 “LP7, LP8, and LP9,” Corridor 5 “LP10, LP11,” and Corridor 6 “LP12, LP13.” It is set thatK
=
3, I
S
=
20 s, and ε
N equals the average of distances of the newly recorded RSS samples and the ones in virtual fingerprints. Figure 7 shows the alignment similarities of the segments of RSS samples and the LPs. The real location of the target for each location query is indicated by a red box symbol. The A-1, A-5, and A-10 stand for the situations that only the first sequence, the 5 sequences in the same direction, and all the 10 sequences are used, respectively, for the testing.Figure 7
Alignment similarities on each path.
(a)
A-1 on path 1
(b)
A-5 on path 1
(c)
A-10 on path 1
(d)
A-1 on path 2
(e)
A-5 on path 2
(f)
A-10 on path 2
(g)
A-1 on path 3
(h)
A-5 on path 3
(i)
A-10 on path 3
(j)
A-1 on path 4
(k)
A-5 on path 4
(l)
A-10 on path 4From Figure7, it is found that (i) similar patterns of alignment similarities for A-1, A-5, and A-10 situations can be found on each path and (ii) compared to A-1 situation, higher alignment similarities are obtained in A-5 and A-10 situations, whereas the ones in A-5 and A-10 situations are similar. To illustrate this result clearer, Figure 8 shows the alignment similarities achieved by the tracked locations, namely, highest alignment similarities, in A-1, A-5, and A-10 situations on each path.Figure 8
Alignment similarities of the tracked locations on each path.
(a)
On path 1
(b)
On path 2
(c)
On path 3
(d)
On path 4Finally, Figure9 illustrates the variations of probabilities of locating the target locations in correct corridors and LPs as the interval of location query increases from 5 s to 20 s. In Figure 9, It is found that (i) the largest mean of probabilities in correct corridors and LPs, 91.0% and 69.4%, are obtained in the condition of I
S
=
10 s; and (ii) the probabilities in correct corridors and LPs with respect to I
S
=
5 s, 88.1% and 65.6%, are slightly lower than the ones achieved by I
S
=
10 s, whereas the real-time capacity is significantly enhanced.Figure 9
Results of localization accuracy.
(a)
Corridor-level accuracy
(b)
LP-level accuracy


## 4.1. Experimental Setup

In this section, we will evaluate the performance of our proposed approach for mobility map construction and location tracking on four representative paths in HKUST campus, as shown in Figure2. They are path 1 between Lab 2149 and North Entrance; path 2 between Lab 2149 and LT-J Theater; path 3 between Lab 2149 and Coffee Shop; and path 4 between Coffee Shop and Library. A summary of these four paths is given in Table 1.Table 1
Experimental setups of four testing paths.
Paths
Description
Average number of RSS samples
Path 1 between Lab 2149 and North Entrance
The path between the indoor and outdoor environments
190
Path 2 between Lab 2149 and LT-J Theater
The path on the 2nd floor in the building
80
Path 3 between Lab 2149 and Coffee Shop
The path between the 1st and 2nd floors in the building
85
Path 4 between Coffee Shop and Library
The path between the ground and 1st floor in the building
110Figure 2
Layout of four paths.Two planned volunteers hold tablet computers which have the self-developed Wi-Fi RSS scanner software installed and walk along the four paths. On each path, each volunteer has recorded 10 RSS sequences with 5 of them in forward direction, whereas the rest in backward direction. The RSS sequences on each path are with the same sampling rate of 1 Hz (i.e.,δ
=
1 s) and the same dimensions of 650 (i.e., M
=
650). During the testing, the data recorded by volunteer 1 are first used to show the result of the constructed mobility map, and then the data recorded by volunteer 2 are used to examine the performance of location tracking.


## 4.2. Test of Mobility Map Construction

### 4.2.1. Results of Intrasequence Clustering

For comparison, the other two widely used approaches for intrasequence clustering are conducted:K-means clustering, a baseline approach designed for data clustering [28], and affinity propagation clustering, a state-of-the-art approach that is based on the concept of exchanging the responsible and availability messages among the data [29].The parameters involved in intrasequence clustering are not specifically fine-tuned. Instead, they are determined at a coarse level. It is set thatK
l
=
3, Φ
l
=
[
N
l
/
20
], α
R
=
α
T
=
0.5, ε
T
=
30 s, and ε
R equals the average of distances of every two RSS samples with 30 s time-stamp difference.The results, shown in Figure3, are produced by K-means clustering (KMC), affinity propagation clustering (APC), and intrasequence clustering (ISC) which are conducted on each path. Different clusters are indicated by different symbols.Figure 3
Intrasequence clustering on each path.
(a)
KMC on path 1
(b)
APC on path 1
(c)
ISC on path 1
(d)
KMC on path 2
(e)
APC on path 2
(f)
ISC on path 2
(g)
KMC on path 3
(h)
APC on path 3
(i)
ISC on path 3
(j)
KMC on path 4
(k)
APC on path 4
(l)
ISC on path 4In Figure3, it is observed that the proposed intrasequence clustering not only preserves the locality of RSS samples in each sequence but also exhibits better adaptation to different path lengths compared to the K-means clustering and affinity propagation clustering. The results on path 1 are taken for instance. By K-means clustering, Cluster 3 which contains very few RSS samples tends to lead to poor clustering performance, while Cluster 6 which is generated by affinity propagation clustering contains too many RSS samples results in the degradation of position resolution of RSS clusters.


### 4.2.2. Results of Intersequence Assembling

In this subsection, the result of mobility map construction by intersequence assembling will be shown. For simplicity, the intersequence assembling is first conducted on the RSS sequences which are recorded on each path, and then they are assembled into the complete mobility map. Figure4 shows the scoring spaces between the first recorded RSS sequence and the other 9 RSS sequences on each path. It is set that F
M
=
F
D
=
0.5, ε
W
T
=
0, and ε
W
C and ε
D equal the largest entry in scoring space and the average of KL divergence of RSS distributions of every two RSS clusters, respectively.Figure 4
Scoring spaces on each path.
(a)
On path 1
(b)
On path 2
(c)
On path 3
(d)
On path 4As can be seen from Figure4, it is found that (i) similar variation patterns of entries in scoring space can be found for any two pairs of RSS sequences with the same directions on each path and (ii) the entries in scoring space corresponding to the pair of sequences in the same direction are generally larger than the ones in scoring space corresponding to the pair of sequences in opposite directions. After the scoring spaces are obtained, it is continued to identify the specific RSS clusters required to be merged based on the concept of jumps used in Smith-Waterman alignment. Figure 5(a) shows the results of intersequence assembling on each path. The kth RSS cluster in sequence l on paths 1, 2, 3, and 4 is notated as C
k
l
,
P
1, C
k
l
,
P
2, C
k
l
,
P
3, and C
k
l
,
P
4, respectively, and the kth merged RSS cluster on paths 1, 2, 3, and 4 is notated as C
k
P
1, C
k
P
2, C
k
P
3, and C
k
P
4, respectively. Furthermore, for simplicity, the RSS clusters that are not merged (e.g., C
7
10
,
P
1) will not be considered during the intersequence assembling among different paths since these isolated RSS clusters which contain very few RSS samples generally represent the locations where the target rarely visited.Figure 5
Results of intersequence assembling.
(a)
Assembling on each path
(b)
Assembling among different pathsAfter the assembled RSS sequence on each path is obtained, it is continued to assemble the RSS sequences among different paths into the complete mobility map. To do this, the cumulative matching scores between the merged RSS clusters in different assembled RSS sequences are first calculated. Figure6 shows the cumulative matching scores between the merged RSS clusters on path 1 and the ones on paths 2, 3, and 4. Based on the created winning paths which are indicated by red box symbols, the mobility map consisting of 13 LPs and 12 transitions is eventually obtained, as shown in Figure 5(b).Figure 6
Cumulative matching scores between the RSS clusters.


## 4.2.1. Results of Intrasequence Clustering

For comparison, the other two widely used approaches for intrasequence clustering are conducted:K-means clustering, a baseline approach designed for data clustering [28], and affinity propagation clustering, a state-of-the-art approach that is based on the concept of exchanging the responsible and availability messages among the data [29].The parameters involved in intrasequence clustering are not specifically fine-tuned. Instead, they are determined at a coarse level. It is set thatK
l
=
3, Φ
l
=
[
N
l
/
20
], α
R
=
α
T
=
0.5, ε
T
=
30 s, and ε
R equals the average of distances of every two RSS samples with 30 s time-stamp difference.The results, shown in Figure3, are produced by K-means clustering (KMC), affinity propagation clustering (APC), and intrasequence clustering (ISC) which are conducted on each path. Different clusters are indicated by different symbols.Figure 3
Intrasequence clustering on each path.
(a)
KMC on path 1
(b)
APC on path 1
(c)
ISC on path 1
(d)
KMC on path 2
(e)
APC on path 2
(f)
ISC on path 2
(g)
KMC on path 3
(h)
APC on path 3
(i)
ISC on path 3
(j)
KMC on path 4
(k)
APC on path 4
(l)
ISC on path 4In Figure3, it is observed that the proposed intrasequence clustering not only preserves the locality of RSS samples in each sequence but also exhibits better adaptation to different path lengths compared to the K-means clustering and affinity propagation clustering. The results on path 1 are taken for instance. By K-means clustering, Cluster 3 which contains very few RSS samples tends to lead to poor clustering performance, while Cluster 6 which is generated by affinity propagation clustering contains too many RSS samples results in the degradation of position resolution of RSS clusters.


## 4.2.2. Results of Intersequence Assembling

In this subsection, the result of mobility map construction by intersequence assembling will be shown. For simplicity, the intersequence assembling is first conducted on the RSS sequences which are recorded on each path, and then they are assembled into the complete mobility map. Figure4 shows the scoring spaces between the first recorded RSS sequence and the other 9 RSS sequences on each path. It is set that F
M
=
F
D
=
0.5, ε
W
T
=
0, and ε
W
C and ε
D equal the largest entry in scoring space and the average of KL divergence of RSS distributions of every two RSS clusters, respectively.Figure 4
Scoring spaces on each path.
(a)
On path 1
(b)
On path 2
(c)
On path 3
(d)
On path 4As can be seen from Figure4, it is found that (i) similar variation patterns of entries in scoring space can be found for any two pairs of RSS sequences with the same directions on each path and (ii) the entries in scoring space corresponding to the pair of sequences in the same direction are generally larger than the ones in scoring space corresponding to the pair of sequences in opposite directions. After the scoring spaces are obtained, it is continued to identify the specific RSS clusters required to be merged based on the concept of jumps used in Smith-Waterman alignment. Figure 5(a) shows the results of intersequence assembling on each path. The kth RSS cluster in sequence l on paths 1, 2, 3, and 4 is notated as C
k
l
,
P
1, C
k
l
,
P
2, C
k
l
,
P
3, and C
k
l
,
P
4, respectively, and the kth merged RSS cluster on paths 1, 2, 3, and 4 is notated as C
k
P
1, C
k
P
2, C
k
P
3, and C
k
P
4, respectively. Furthermore, for simplicity, the RSS clusters that are not merged (e.g., C
7
10
,
P
1) will not be considered during the intersequence assembling among different paths since these isolated RSS clusters which contain very few RSS samples generally represent the locations where the target rarely visited.Figure 5
Results of intersequence assembling.
(a)
Assembling on each path
(b)
Assembling among different pathsAfter the assembled RSS sequence on each path is obtained, it is continued to assemble the RSS sequences among different paths into the complete mobility map. To do this, the cumulative matching scores between the merged RSS clusters in different assembled RSS sequences are first calculated. Figure6 shows the cumulative matching scores between the merged RSS clusters on path 1 and the ones on paths 2, 3, and 4. Based on the created winning paths which are indicated by red box symbols, the mobility map consisting of 13 LPs and 12 transitions is eventually obtained, as shown in Figure 5(b).Figure 6
Cumulative matching scores between the RSS clusters.


## 4.3. Test of Location Tracking

The aim of this subsection is to verify that, by employing the proposed sequence alignment algorithm, the target locations can be tracked accurately in the mobile scenario. To examine whether sequence alignment algorithm can achieve corridor-level accuracy, the corridor-level segmentation is conducted on the constructed mobility map. The segmented corridors in mobility map are Corridor 1 “LP1, LP2,” Corridor 2 “LP3, LP4,” Corridor 3 “LP5, LP6,” Corridor 4 “LP7, LP8, and LP9,” Corridor 5 “LP10, LP11,” and Corridor 6 “LP12, LP13.” It is set thatK
=
3, I
S
=
20 s, and ε
N equals the average of distances of the newly recorded RSS samples and the ones in virtual fingerprints. Figure 7 shows the alignment similarities of the segments of RSS samples and the LPs. The real location of the target for each location query is indicated by a red box symbol. The A-1, A-5, and A-10 stand for the situations that only the first sequence, the 5 sequences in the same direction, and all the 10 sequences are used, respectively, for the testing.Figure 7
Alignment similarities on each path.
(a)
A-1 on path 1
(b)
A-5 on path 1
(c)
A-10 on path 1
(d)
A-1 on path 2
(e)
A-5 on path 2
(f)
A-10 on path 2
(g)
A-1 on path 3
(h)
A-5 on path 3
(i)
A-10 on path 3
(j)
A-1 on path 4
(k)
A-5 on path 4
(l)
A-10 on path 4From Figure7, it is found that (i) similar patterns of alignment similarities for A-1, A-5, and A-10 situations can be found on each path and (ii) compared to A-1 situation, higher alignment similarities are obtained in A-5 and A-10 situations, whereas the ones in A-5 and A-10 situations are similar. To illustrate this result clearer, Figure 8 shows the alignment similarities achieved by the tracked locations, namely, highest alignment similarities, in A-1, A-5, and A-10 situations on each path.Figure 8
Alignment similarities of the tracked locations on each path.
(a)
On path 1
(b)
On path 2
(c)
On path 3
(d)
On path 4Finally, Figure9 illustrates the variations of probabilities of locating the target locations in correct corridors and LPs as the interval of location query increases from 5 s to 20 s. In Figure 9, It is found that (i) the largest mean of probabilities in correct corridors and LPs, 91.0% and 69.4%, are obtained in the condition of I
S
=
10 s; and (ii) the probabilities in correct corridors and LPs with respect to I
S
=
5 s, 88.1% and 65.6%, are slightly lower than the ones achieved by I
S
=
10 s, whereas the real-time capacity is significantly enhanced.Figure 9
Results of localization accuracy.
(a)
Corridor-level accuracy
(b)
LP-level accuracy


## 5. Conclusions

In this paper, the crowd-sourced mobility mapping approach is proposed to solve the problem of location tracking in Wi-Fi area by using a new concept of unlabeled Wi-Fi SLAM. In the system, spectral cluster assembling is first applied to construct an unlabeled mobility map corresponding to the Wi-Fi coverage area, and then sequence alignment algorithm is used to simultaneously track the target locations and conduct mobility map updating. Extensive experiments in a campus-wide area prove that high accuracy of location tracking can be achieved without the site survey on location fingerprinting and motion sensing which are adopted by many existing Wi-Fi location systems. Furthermore, the proposed approach can also construct mobility map by using the crowd-sourcing from massive and high-dimensional Wi-Fi RSS data which are sporadically recorded in large-scale area.The significance of this paper is that both the RSS and time-stamp relations of the sporadically recorded Wi-Fi RSS data are used to conduct the crowd-sourced mobility mapping, and meanwhile alignment similarities between the newly recorded segments of RSS samples and prestored virtual fingerprints are considered to track the target locations. In future, the performance of integrating the time-stamped Wi-Fi RSS data with the data from inertial measurement unit (IMU) will be investigated to try to construct a more precise mobility map. For instance, the transitions among different LPs in mobility map can be better described by the moving speed and orientation of the target compared to the difference of time-stamps of RSS samples, and meanwhile more parameters may also be varied, such as the thresholds for scoring space construction and winning path creation in the intersequence assembling step, and also the threshold for alignment similarity calculation in sequence alignment algorithm.



---

*Source: 416197-2015-05-27.xml*