MaLoc: a practical magnetic fingerprinting approach to indoor localization using smartphones

https://www.indooratlas.com/



However, tracking the location of a mobile user requires
frequent Wi-Fi scanning which is quite power hungry.


This approach is based on the hypothesis
that in an indoor setting the magnetic field is highly nonuniform,
and the magnetic field fluctuations arise from both
natural and man-made sources (e.g., steel and concrete structures
and electric systems).

The abnormalities of the magnetic
field can be used as fingerprints for indoor localization.
While this approach shares a similar idea as Wi-Fi fingerprinting,
it certainly has several advantages [2, 7, 13, 22]: 1) independent
from the Wi-Fi infrastructure; 2) more reliable than
Wi-Fi; 3) the change of magnetic field with location is quite
significant, allowing for precise positioning; 4) more power
efficient.
【the phone’s three axes (X, Y and Z).】
【particles  --   samples】
Different from Wi-Fi fingerprints which combine the radio
signal strength from multiple access points, a magnetic fingerprint
is basically a 3-axis vector which consists of the magnetic
field readings along the phone’s three axes (X, Y and Z).
Studies [2, 7, 21] show that in a large indoor space the magnetic
fingerprints may not be unique. As a result, large localization
error may occur. Most of the existing work [4, 11,
12] leverage on Particle Filter (i.e., Monte Carlo Localization
or MCL) to solve this problem and improve accuracy. The
basic principle is to use random samples (also referred to as
particles, i.e., hypothesis for the user’s state such as position
and heading direction) to represent the posterior distribution
of the user’s state. Particle filter recursively re-samples a set
of particles according to a series of magnetic fingerprints and
their spatial correlations to converge to the poster distribution
of true state. The spatial correlations can be obtained through
user motion estimation. Therefore, the performance of particle
filter depends on: 1) motion estimation; 2) fingerprint
measurement and the magnetic fingerprinting model; and 3)
resampling.
【1) motion estimation; 2) fingerprint
measurement and the magnetic fingerprinting model; and 3)
resampling.】

【Monte Carlo Localization】


【phone orientation  VS user orientation】
【the magnetometers on different smartphones have to be carefully calibrated】
 When the phone changes its orientation, we get
different vectors. One may collect and store the magnetic
readings of all directions at any location [4, 7], which incurs
high training cost, or use coordinate transformation [12],
which is error-prone. But both measurement models result
in the work based on particle filter [4, 11, 12] typically require
the smartphone to head the same way as the user. This
is obviously not practical. Moreover, the magnetometers on
different smartphones have to be carefully calibrated before
use. Magnetometer calibration is difficult considering a large
number of smartphones. Therefore, a better measureme

【user heading VS phone heading】

The
basic principle is to use random samples (also referred to as
particles, i.e., hypothesis for the user’s state such as position
and heading direction) to represent the posterior distribution
of the user’s state.

【a fast failure detection mechanism   Kidnapped Robot Problem】
Third, existing particle filter methods suffer from the wellknown
“Kidnapped Robot Problem” [24], in which the robot
may believe it knows where it is while it does not. This may
turn into a serious problem when localizing smartphones, i.e.,
it may take a long time for the particle filter to realize localization
failure, where localization errors can be arbitrary in
this period. Hence, a fast failure detection mechanism during
runtime is highly desired.

【novel】
【extracting both the horizontal and vertical components of the magnetic vector --- independent from phone orientation】
【a novel motion estimation method covering step
counting, step length estimation and user heading change estimation,
which is independent from phone orientation】
 
It combines a
novel magnetic fingerprinting model with the common magnetic
density fingerprinting model. The novel magnetic fingerprint
model is obtained by extracting both the horizontal
and vertical components of the magnetic vector, which has
the key features of being independent from phone orientation.
We also explore the gradient of magnetic fingerprints to avoid
calibrating different smartphone magnetometers. Secondly,
we propose a novel motion estimation method covering step
counting, step length estimation and user heading change estimation,
which is independent from phone orientation. To
minimize estimation errors and improve system robustness,
we propose a dynamic step length estimation algorithm and
a heuristic resampling algorithm. Specially, the heuristic resampling
algorithm allows smartphone for other use such as
answering a call while walking, whereas in traditional particle
filter it may arise heading offset change and introduce
large errors into heading change estimation, and hence result
in localization failure. Thirdly, we propose a localization
quality estimation method by utilizing the clustering degree
of particles. Based on this method, we design a localization
failure detection method to address global localization failure,
and our experiments show it is able to detect 92.6% of
localization failure. Finally, we develop an efficient crowdsourcing
method to collect magnetic fingerprints, aiming to
improve the existing time-consuming and labor-intensive collection
process [13].

【gradients VS variance 】
This suggests
that we can use the gradients of fingerprints instead of
raw fingerprint values to avoid calibrating different magnetometers.


【inertial -- reevaluate】
The motion model updates
each particle’s state by estimating user’s motion leveraged
on the inertial sensors. The measurement model then reevaluates
the particles’ weights.

【the
motion model, the measurement model and the resampling
model】
Essentially, the performance of a particle filter
based method completely depends on how these three models
construct.

【Gaussian noise】
, Gl~N(0, σl) and Gθ~N(0, σθ) are used to enlarge the
diversity of particles.

【step length】
The step length is different from
one user to another, and even one person’s step length may be
changed. Inaccurate step length estimation will lead to large
localization errors, resulting in localization failure, which has
been shown in the experiment in Section 9. We propose a dynamic
step length estimation algorithm to effectively solve
these uncertainties.

【resample】
resample new particles
from old ones according to the discrete probability distribution
generated by their weights.

the current particles are generated from the
last round of localization.

【Steps Counting --- counting the number of peaks or valleys may not work 】

As
shown in Fig. 5, the acceleration values are captured by a
smartphone carried in different ways, e.g., in hand, in the shirt
pocket, and in the front pant pocket. The result shows that
counting the number of peaks or valleys may not work for
all cases.


【acceleration variance --   acceleration variance 】
We set four thresholds, T u
acc, T d
acc and T u
time, T d
time, to filter
false cases.

the upper bound and lower
bound of the acceleration variance between two adjacent peak
and valley

【Dynamic Step Length Estimation】
Maybe国庆期间的中科院“步态识人”论文--有参考点
A particle with a higher
weight is more close to the true state. On the other hand,
this particle’s step length is also closer to the true step length.

Based on this theory, we design a dynamic
step length estimation algorithm. Instead of just using
lweighted as step length, we design a queue Q size of
Qsize to cache the most recent lweight.

【queue Cache】
Considering
when the user’s heading changes, his step length may
have some changes, resulting in uncertain influence on the
step length estimation. In our algorithm, we will not put this
part into the queue.

【compass --- gyroscope - angular velocity 】
Since compass does not work well in indoor environments,
gyroscope may be a better choice. The gyroscope on a
smartphone measures the angular velocity around the phone’s
x, y and z axis, respectively.

【gravity sensor --- gravity direction】
gravity sensor on smartphone to obtain
the angle changes around the gravity direction

【heuristic  --- randomly samples new particles when the total
non-normalized weight decreases】
We propose a heuristic algorithm
to solve this problem, inspired by the random particle filter
[24] which randomly samples new particles when the total
non-normalized weight decreases. Our algorithm heuristically
samples parts of new particles in the resampling phase instead
of only sampling from the old particles (See Algorithm
1).


【magnetic measurement model】

Because in the measurement
phase, each particle obtains the reference fingerprint Bx,y,θ
at a location from the database according to its position (x, y)
and heading θ (not phone’s heading θp due to inaccurate compass
readings). As θ represents user’s heading, if it is not the
same as the phone’s heading θp, the magnetic field reading
on smartphone cannot map with any particle’s observation
Bx,y,θ as it should be mapped to Bx,y,θp . This may result
in localization failure. Therefore, using this type of observation
on smartphone is not practical.



We can extract both the vertical and horizontal
components of Bp and construct a new observation value
(Bh, Bv) (named HV fingerprint).



【gravity sensor reading】

the
gravity sensor reading is very precise when the user stands
still. However, noise will be introduced when the user moves,
resulting in decreasing in precision or even localization failure.



【accelerate the convergence】
In this work, we combine both the magnitude B and (Bh, Bv)
using a hybrid measurement model. The HV fingerprint has
the advantage of more uniqueness, and it makes the particle
filter converge to the right location faster. However, it is not
as stable as the magnetic magnitude fingerprint. Therefore,
we use the HV fingerprint to accelerate the convergence of
MaLoc when localization starts, and then we switch it to the
magnetic magnitude fingerprint for “tracking”.

【clustering degree】


 As shown in Fig. 8, the data collector requires walking
along these lines to cover an area. On each line, we set the
starting point, the heading direction and the path length. We
then walk along this path with a slow and constant speed. In
this process, the tool application will record data captured by
the magnetic sensor on smartphone. A magnetic fingerprint
collected will be stored as < Bh, Bv > and the magnitude
can be computed from it. We simply assume the data collector
walking at a constant speed. Each magnetic fingerprint
can then be mapped with its location easily.

Eventually, we obtain a
magnetic fingerprint in every 0.1m×0.1m square.



【https://www.indooratlas.com/】
 

原文地址:https://www.cnblogs.com/rsapaper/p/7655116.html