Bayesian Filters for Location Estimation and Tracking – An Introduction
Bayesian Filters for Location Estimation and Tracking – An Introduction
Bayesian Filters for Location Estimation and Tracking – An Introduction
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Bayesian</strong> <strong>Filters</strong> <strong>for</strong> <strong>Location</strong> <strong>Estimation</strong><br />
<strong>and</strong> <strong>Tracking</strong> <strong>–</strong> <strong>An</strong> <strong>Introduction</strong><br />
Traian E. Abrudan<br />
tabrudan@fe.up.pt .<br />
Instituto de Telecomunicações, Departamento de Engenharia<br />
Electrotécnica e Computadores, Universidade do Porto, Portugal<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 1
Outline<br />
• Motivation<br />
• Deterministic vs. probabilistic models<br />
• Probabilistic models <strong>for</strong> location estimation <strong>and</strong> tracking<br />
• <strong>Bayesian</strong> filters<br />
− Kalman filter <strong>and</strong> its extensions<br />
− Grid-based filter<br />
− Particle filter<br />
− Pros. <strong>and</strong> cons.<br />
• Real-world results<br />
• Conclusions<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 2
Motivation<br />
• Indoor propagation environment is extremely harsh<br />
• Signals experience deep fades in space, time <strong>and</strong> frequency<br />
• As a results of all these effects, the propagation channel behaves<br />
r<strong>and</strong>omly<br />
• Measurements are subject to r<strong>and</strong>om errors due to<br />
− r<strong>and</strong>om noise at the sensors<br />
− device manufacturing imperfections<br />
− imperfect calibration<br />
• Dealing with uncertainties calls <strong>for</strong> probabilistic models<br />
• Powerful statistical estimators may be derived<br />
• They do not just provide an estimated value, they also provide<br />
reliability in<strong>for</strong>mation<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 3
Deterministic vs. statistical models<br />
• Deterministic models <strong>for</strong> location estimation are quite “rough”<br />
− per<strong>for</strong>m “hard decisions” (quantize the estimated parameters)<br />
− discard valuable statistical in<strong>for</strong>mation embedded in the data<br />
• Probabilistic models exploit the available statistical in<strong>for</strong>mation<br />
− Parameters are modeled as r<strong>and</strong>om variables with the<br />
corresponding probability density functions (p.d.f.’s)<br />
− Prior knowledge on the errors (e.g. from the measurements) may<br />
be included in the model in order to improve the parameter<br />
estimation process<br />
− Optimality can be achieved (w.r.t the assumed prior)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 4
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
• Let x k denote the L S × 1 state vector at time instance k, with<br />
x k ∈ D x ⊂ R L S (or C<br />
L S)<br />
• x k may include the position (but also velocity, acceleration,<br />
heading, etc.)<br />
• Let z k be the observation vector at time k (e.g. RSSI, ToA, AoA,<br />
etc., or combinations of those)<br />
• Our goal is to estimate the sequence of states x k , k = 0, 1 . . .,<br />
based on all available measurements up to time k (abbreviated z 1:k )<br />
• For this reason, the process is called filtering<br />
• The corresponding posterior p.d.f. we are interested in is p(x k |z 1:k )<br />
• Assume that the (hidden) true states x k are connected in a<br />
1st-order Markov chain <strong>–</strong> Hidden Markov Model (HMM)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 5
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
k − 1 k k + 1<br />
p(x k |x k−1 )<br />
x k−1 x k x k+1<br />
time instance<br />
hidden states<br />
(cannot be observed <strong>and</strong><br />
have to be estimated)<br />
p(z k |x k )<br />
z k−1 z k z k+1<br />
observations<br />
(measurements)<br />
Figure 1: First-order Hidden Markov Model [Muh03]<br />
Markov model assumptions:<br />
• The current true state is conditionally independent of all previous<br />
states given the last state: p(x k |x 1:k−1 ) = p(x k |x k−1 )<br />
• Observations z 1:k are conditionally independent provided that<br />
x 0 , . . .,x k , are known: p(z k |x 1:k ) = p(z k |x k )<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 6
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
• State-space model:<br />
prediction equation: x k = f(x k−1 ,u k ) + w k → p(x k |x k−1 )<br />
measurement equation: z k = h(x k ) + v k → p(x k |z k )<br />
(1)<br />
(2)<br />
f,h are known functions<br />
u k is a known input (required only if a control input exists)<br />
w k is the state (process) noise<br />
v k is the measurement noise<br />
w k ,v k are i.i.d., mutually independent, with known p.d.f.’s<br />
• For localization <strong>–</strong> prediction: a motion model<br />
<strong>–</strong> measurement: RSSI, ToA, AoA, kinematic<br />
parameters, etc., or combinations<br />
• Problem: what to trust more: the prediction or the measurement?<br />
• The <strong>Bayesian</strong> estimator solves this problem reliably<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 7
• State-space model:<br />
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
prediction equation: x k = f(x k−1 ,u k ) + w k → p(x k |x k−1 )<br />
measurement equation: z k = h(x k ) + v k → p(x k |z k )<br />
(3)<br />
(4)<br />
• We would like to derive a <strong>for</strong>mula such that the new posterior p.d.f.<br />
at time k, p(x k |z 1:k ) is obtained by updating the old posterior at<br />
time k − 1, p(x k−1 |z 1:k−1 )<br />
• This way, the filter can operate sequentially, in real-time (online)<br />
• Moreover, we store only the parameters at the previous time<br />
instance <strong>and</strong> avoid memory growth<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 8
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
• Assume that the old posterior p(x k−1 |z 1:k−1 ) is available at time k<br />
• Prediction step: p(x k−1 |z 1:k−1 ) → p(x k |z 1:k−1 )<br />
• Using Chapman-Kolmogorov equation:<br />
∫<br />
p(x k |z 1:k−1 ) = p(x k |x k−1 )p(x k−1 |z 1:k−1 )dx k−1 (5)<br />
D x<br />
• This is the prior of the state x k without knowing the incoming<br />
measurement z k , knowing only the previous measurements z 1:k−1<br />
• The prediction step usually de<strong>for</strong>ms / translates / spreads the p.d.f.<br />
due to noise<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 9
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
• Update step: { p(x k |z 1:k−1 ), z k<br />
}<br />
→ p(xk |z 1:k )<br />
p(x k |z 1:k ) = p(z k|x k )p(x k |z 1:k−1 )<br />
, i.e., posterior =<br />
p(z k |z 1:k−1 )<br />
likelihood · prior<br />
evidence<br />
(6)<br />
• The denominator c = p(z k |z 1:k−1 ) = ∫ D x<br />
p(z k |x k )p(x k |z 1:k−1 )dx k is<br />
just a normalization constant (independent of x k )<br />
• The update combines the likelihood of the received measurement<br />
with the predicted state<br />
• The update step usually concentrates the p.d.f.<br />
• A closed-<strong>for</strong>m expression that relates the old posterior to the new<br />
posterior is obtained by replacing eq. (5) into eq. (6)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 10
Probabilistic models<br />
<strong>for</strong> location estimation <strong>and</strong> tracking<br />
• Sequential update of the prior p(x k−1 |z 1:k−1 ), z k → p(x k |z 1:k ):<br />
p(x k |z 1:k )<br />
} {{ }<br />
prior at time k<br />
= 1 ∫<br />
c p(z k|x k ) p(x k |x k−1 )<br />
} {{ } D x<br />
} {{ }<br />
from meas. eq. from pred. eq.<br />
p(x k−1 |z 1:k−1 )<br />
} {{ }<br />
prior at time k−1<br />
dx k−1 (7)<br />
• This theoretically allows an optimal <strong>Bayesian</strong> solution <strong>–</strong> Minimum<br />
Mean Square Error (MMSE), Maximum a posteriori (MAP)<br />
estimators, etc.<br />
• Un<strong>for</strong>tunately, this is just a conceptual solution, integrals are<br />
intractable<br />
• In some cases (under restrictive assumptions), (close to) optimal<br />
tractable solutions are obtained:<br />
− Kalman filter [Sin70, ParLee01, AbrPauBar11]<br />
− grid-based filter [Muh03]<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 11
• State-space model:<br />
Kalman filter (KF)<br />
prediction equation: x k = F k x k−1 + B k u k + G k w k<br />
(8)<br />
measurement equation: z k = H k x k + v k (9)<br />
where F k ,B k ,G k ,H k are known matrices<br />
• When noises are zero-mean jointly Gaussian, Kalman filter is<br />
optimal estimator in the mean-square error (MSE) sense<br />
• Otherwise, KF is the best linear estimator<br />
• It finds the posterior mean E{x k |z 1:k } = ˆx k|k <strong>and</strong> its covariance<br />
E{(x k − ˆx k|k )(x k − ˆx k|k ) T } <strong>and</strong> updates them sequentially<br />
ˆx k|k = ˆx k|k−1 − K k [z k − F kˆx k|k−1 ] (10)<br />
where K k is the Kalman gain, <strong>and</strong> the subscript (·) k|k−1 denotes the<br />
a priori estimated state (be<strong>for</strong>e considering the measurement z k )<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 12
Kalman filter <strong>and</strong> its extensions (EKF, UKF)<br />
• Extended Kalman filter (EKF) <strong>–</strong> an extension of KF to non-linear<br />
state-space equations<br />
− either the process is non-linear, or the measurements are not a<br />
linear function of the states<br />
− EKF linearizes the model about the new estimate (similar to<br />
Taylor series approximation)<br />
− works well in many situations, but may diverge <strong>for</strong> highly<br />
non-linear models (covariance is propagated through<br />
linearization)<br />
• Unscented Kalman filter (UKF) <strong>–</strong> mean <strong>and</strong> covariance are<br />
projected via the so-called unscented trans<strong>for</strong>m<br />
− picks up a minimal set of sample points around the mean <strong>–</strong><br />
called sigma points <strong>–</strong> propagates those through the non-linearity<br />
− UKF can deal with highly-nonlinear models<br />
− often, UKF works better than EKF<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 13
Kalman filter <strong>and</strong> its extensions (EKF, UKF)<br />
• KF, EKF, UKF do not work very well <strong>for</strong> p.d.f.’s that have<br />
− heavy-tails / high kurtosis<br />
• They may totally fail <strong>for</strong><br />
− heavily skewed p.d.f.’s<br />
− bimodal/multimodal p.d.f.’s<br />
• We need more general filters to tackle these problems<br />
• It is everything about approximating well integrals <strong>and</strong> the p.d.f.’s in<br />
the optimal Bayes estimation of the posterior<br />
p(x k |z 1:k )<br />
} {{ }<br />
prior at time k<br />
= 1 ∫<br />
c p(z k|x k ) p(x k |x k−1 )<br />
} {{ } D x<br />
} {{ }<br />
from meas. eq. from pred. eq.<br />
p(x k−1 |z 1:k−1 )<br />
} {{ }<br />
prior at time k−1<br />
dx k−1<br />
• The price we pay is the high complexity <strong>–</strong> curse of dimensionality<br />
[DauHua03]<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 14
Grid-based filter<br />
• Limit the total number of possible states to N S [AruMas02, Muh03]<br />
• define a grid of discrete states x i (may also be different at each<br />
time instance)<br />
• The p.d.f.’s are discretized as well<br />
• The conditional probability of state x i given the measurements<br />
z 1:k−1 is<br />
P(x k−1 = x i |z 1:k−1 ) = ω i k−1|k−1 (11)<br />
• Then, the old posterior may be written as a sum of Dirac pulses<br />
p(x k−1 |z 1:k−1 ) =<br />
∑N S<br />
i=1<br />
ω i k−1|k−1 δ(x k−1 − x i ) (12)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 15
Grid-based filter<br />
• Both the new prior <strong>and</strong> the new posterior have the same structure:<br />
a sum of weighted <strong>and</strong> delayed Dirac impulses<br />
p(x k |z 1:k−1 ) =<br />
p(x k |z 1:k ) =<br />
∑N S<br />
i=1<br />
∑N S<br />
i=1<br />
ω i k|k−1 δ(x k−1 − x i ) (13)<br />
ω i k|k δ(x k−1 − x i ) (14)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 16
Grid-based filter<br />
• The prediction step: the Chapman-Kolmogorov equation (5)<br />
becomes:<br />
p(x k |z 1:k−1 ) =<br />
=<br />
∑N S<br />
∑N S<br />
i=1<br />
∑N S<br />
i=1<br />
j=1<br />
ω j k−1|k−1 p(xi |x j )δ(x k−1 − x i ) (15)<br />
ω i k|k−1 δ(x k−1 − x i ) (16)<br />
where<br />
N S<br />
ωk|k−1 i = ∑<br />
j=1<br />
ω j k−1|k−1 p(xi |x j ) (17)<br />
new prior weights = old posterior weights, reweighted using<br />
state transition probabilities<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 17
Grid-based filter<br />
• The update step: equation (6) becomes:<br />
p(x k |z 1:k ) =<br />
∑N S<br />
i=1<br />
ω i k|k δ(x k−1 − x i ) (18)<br />
where<br />
ω i k|k = ω i k|k−1 p(z k|x i )<br />
∑ NS<br />
j=1 ωj k|k−1 p(z k|x j )<br />
(19)<br />
posterior weights = prior weights, reweighted using likelihoods<br />
• Grid-based filters are computationally expensive<br />
• Grid resolution needs to be sufficiently high<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 18
Particle filter<br />
• They are sophisticated model estimation techniques based on<br />
simulation<br />
• Also known as Sequential Monte Carlo (SMC) methods<br />
[GusGun02, AruMas02, Muh03]<br />
• Integrals involved in the <strong>Bayesian</strong> filter cannot be solved analytically<br />
• The idea: represent the p.d.f.’s by using a set of r<strong>and</strong>om “particles”<br />
(r<strong>and</strong>om = Monte Carlo method)<br />
• Particles are just differently weighted samples of the distribution<br />
• By increasing the number of samples, the representation almost<br />
sure converges to the true p.d.f.<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 19
Particle filter<br />
0.6<br />
0.5<br />
equal weight particles<br />
original p.d.f.<br />
representatation of the p.d.f.<br />
0.6<br />
0.5<br />
non−equal weight particles<br />
original p.d.f.<br />
representatation of the p.d.f.<br />
0.4<br />
0.4<br />
0.3<br />
0.3<br />
0.2<br />
0.2<br />
0.1<br />
0.1<br />
0<br />
0<br />
−0.1<br />
−3 −2 −1 0 1 2 3 4 5<br />
−0.1<br />
−3 −2 −1 0 1 2 3 4 5<br />
Figure 2: Representation of the Gaussian p.d.f. N(1, 1) using particles<br />
(1-D case). The particle weight is represented by its size.<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 20
Particle filter<br />
2−D Gaussian p.d.f.<br />
4<br />
equal weight particles<br />
4<br />
non−equal weight particles<br />
0.2<br />
0.15<br />
3<br />
2<br />
1<br />
3<br />
2<br />
1<br />
0.1<br />
0<br />
0<br />
0.05<br />
−1<br />
−1<br />
0<br />
4<br />
2<br />
0<br />
−2<br />
−4<br />
−4<br />
−2<br />
0<br />
2<br />
−2<br />
4<br />
−3<br />
−4<br />
−4 −2 0 2 4<br />
−2<br />
−3<br />
−4<br />
−4 −2 0 2 4<br />
Figure 3: Representation of the Gaussian p.d.f. using particles (1-D<br />
case). The particle weight is represented by its size. The p.d.f. is<br />
N([0.5; 1], [1.6 0.8; 0.8 0.8])<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 21
Particle filter<br />
Sequential Importance Sampling (SIS)<br />
• SIS is the basic framework <strong>for</strong> most particle filter algorithms<br />
• Let {x i 0:k } be a set of points (particles), i = 1, . . .,N P<br />
• This describes the whole trajectory in the state space <strong>for</strong> each<br />
particle i<br />
• Let ωk i be the associated weights, normalized such that<br />
∑ NP<br />
i=1 ωi k = 1<br />
• Then, the discrete weighted approximation of the posterior p.d.f. is<br />
p(x k |z 1:k ) ≈<br />
∑N P<br />
i=1<br />
ω i kδ(x 0:k − x i 0:k) (20)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 22
Particle filter<br />
Sequential Importance Sampling (SIS)<br />
• Usually, we cannot draw samples x i k<br />
from p(·) directly<br />
• Assume we sample directly <strong>for</strong> a (different) importance density q(·)<br />
• Our approximation is still correct (up to normalization) if<br />
ω i k ∝ p(xi 0:k |z 1:k)<br />
q(x i 0:k |z 1:k)<br />
(21)<br />
• The benefit is that we can choose q(·) freely<br />
• If the importance function is chosen to factorize such that<br />
q(x 0:k |z 1:k ) = q(x k |x 0:k−1 ,z 1:k )q(x 0:k−1 |z 1:k−1 ) (22)<br />
then one can augment the old particles x i 0:k−1 by<br />
x k ∼ q(x k |x 0:k−1 ,z 1:k ) to get the new particles x i 0:k<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 23
Particle filter<br />
Sequential Importance Sampling (SIS)<br />
• The weight update is of <strong>for</strong>m<br />
ωk i = ωk−1<br />
i p(z k |x i k )p(xi k |xi k−1 )<br />
q(x i k |x 0:k−1,z 1:k )<br />
(23)<br />
• Furthermore, if q(x i k |x 0:k−1,z 1:k ) = q(x i k |x k−1,z 1:k ) (only<br />
dependent on the last state), then we do not need to preserve the<br />
full trajectory of the particles x 0:k−1 , neither the observations z 1:k<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 24
Particle filter<br />
Degeneracy Problem<br />
• The problem with SIS approach is that after few iterations, most<br />
particles have negligible weight<br />
• The weight is concentrated on only few particles <strong>–</strong> the one that<br />
closely match the measurements<br />
• Solutions:<br />
− brute <strong>for</strong>ce: huge number of particles <strong>–</strong> too complex<br />
− good choice of importance density<br />
− resampling<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 25
Particle filter<br />
Optimal importance density<br />
• It can be shown that the optimal importance density is given by<br />
• Then<br />
q opt (x k |x k−1 ,z k ) = p(x k |x k−1 ,z k ) (24)<br />
ω i k = ω i k−1<br />
∫<br />
D x<br />
p(z k |x ′ k)p(x ′ k|x i k−1)dx ′ k (25)<br />
• Drawing sample from the optimal distribution is not always possible<br />
• One alternative is to choose the importance density to be the prior<br />
q(x k |x k−1 ,z k ) = p(x k |x k−1 ) (26)<br />
• This is simple, but does not take into account the measurements<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 26
• Basic idea of resampling:<br />
Particle filter<br />
Resampling<br />
Whenever the degeneracy exceeds some threshold, replace the<br />
old samples (+ weights) with a new set of samples (+ weights),<br />
such that the sample density reflects better the posterior p.d.f.<br />
• This eliminates particles with low weights <strong>and</strong> chooses new<br />
particles in the more probable regions<br />
• Complexity is possible in O(N P )<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 27
Particle filter<br />
Resampling<br />
old posterior p.d.f.<br />
resampling<br />
prediction<br />
step<br />
measurement<br />
& update<br />
new posterior p.d.f.<br />
Figure 4: Illustration of the resampling process.<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 28
Particle filter<br />
Pseudo-code [Muh03, AruMas02]<br />
[{x i k , ωi k }N P<br />
i=1 ] = PF({xi k−1 , ωi k−1 }N P<br />
i=1 ,zi k )<br />
FOR i = 1 to N P<br />
draw x i k ∼ q(x k|x i k−1 ,z k)<br />
update weights according to<br />
ωk i = ωk−1<br />
i p(z k |x i k )p(xi k |xi k−1 )<br />
q(x i k |x 0:k−1,z 1:k )<br />
END FOR<br />
normalize weights to ∑ N P<br />
i=1 ωi k = 1<br />
IF degeneracy is too high<br />
resample {x i k , ωi k }N P<br />
i=1<br />
END IF<br />
• Knowledge of the initial posterior is required <strong>–</strong> not possible, a<br />
proposal density is used<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 29
Particle filter<br />
Sample Impoverishment Problem<br />
• No degeneracy problem, but new problem arises<br />
• Particle with too high weight are selected more <strong>and</strong> more often<br />
• The other ones will slowly die out<br />
• This leads to a loss of diversity or sample impoverishment<br />
• For small process noise, all particles can collapse into a single<br />
point within a few iterations<br />
• <strong>An</strong>other problem: resampling limits the possibility to parallelize the<br />
algorithm<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 30
RF-based Localization<br />
Position tracking <strong>–</strong> <strong>Bayesian</strong> estimation methods<br />
• There are various other kinds of particle filters in the literature<br />
− sampling importance resampling (SIR)<br />
− auxiliary sampling importance resampling (ASIR)<br />
− regularized particle filter (RPF)<br />
− Gaussian sum particle filter (GSPF)<br />
− kernel density estimation based<br />
− ...<br />
• There are also Markov Chain Monte Carlo (MCMC) batch <strong>Bayesian</strong><br />
methods<br />
• They model the full posterior x k ∼ p(x 0 , . . .,x k |y k , . . .,y 0 ) <strong>–</strong> not<br />
online, very complex<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 31
<strong>Bayesian</strong> filters<br />
Pros. <strong>and</strong> cons.<br />
✔ close to optimal per<strong>for</strong>mance<br />
✔ can deal with non-linearities, non-Gaussian noise <strong>–</strong> even<br />
multimodal distributions are not a problem<br />
✔ PF can be implemented in O(N P ), mostly parallelizable<br />
✔ in contrast to HMM filters (state space discretized to N S ) states, PF<br />
focus on probable regions of the state space<br />
✔ <strong>Bayesian</strong> filters can reliably fuse data originating from different<br />
sensors (e.g. RF signals, kinematic sensors, cameras, etc.)<br />
✔ As long as the sources of measurement error (r<strong>and</strong>omness) are<br />
independent, fusing multiple sensors will always improve results<br />
✘ might be too complex <strong>for</strong> some real-time applications<br />
✘ degeneracy <strong>and</strong> sample impoverishment problems may arise<br />
✘ choosing the importance density might be hard<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 32
<strong>Bayesian</strong> <strong>Filters</strong><br />
Thesis: “If you want to solve a problem, particle filters are the best<br />
filters you can use, much better than e.g. Kalman filters.”<br />
• Right or wrong?<br />
• Very wrong!<br />
• PF contain r<strong>and</strong>omness <strong>–</strong> only converge to the true posterior when<br />
number of particles N P → ∞ (asymptotically optimal)<br />
• If assumption <strong>for</strong> Kalman filters or grid-based filters hold, no particle<br />
filter can outper<strong>for</strong>m them<br />
• In case these assumptions hold approximately, other filters may<br />
per<strong>for</strong>m reasonably well with much lower complexity than PF<br />
• For location estimation <strong>and</strong> tracking, these assumptions do not<br />
hold, in general (multimodal p.d.f’s arise easily)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 33
Practical aspects <strong>for</strong> localization<br />
Motion model<br />
• It is important to have an accurate description of the reality<br />
• People’s motion is subject to physical constraints<br />
− position (accessible areas, transition between them)<br />
− speed (stopped, walking, running)<br />
− acceleration (changes in speed are limited)<br />
• It is sensible to take into account these constraints when doing<br />
position tracking<br />
• Motion models predict the next position based on the previous one<br />
• In<strong>for</strong>mation about the building layout may be used as well<br />
• Such in<strong>for</strong>mation may improve drastically the location estimation<br />
<strong>and</strong> tracking<br />
• There are many motion models in the literature: uni<strong>for</strong>m linear<br />
motion, diffusion approach, angular p.d.f., multi-user motion<br />
models, etc. [AbrPauBar11, Roy11, KaiKhi11, QuiSta10]<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 34
Real-world results<br />
Work in Progress...<br />
• We test a grid-based filter using real-world results, the same as in<br />
[AbrPauBar11]<br />
• The sensor nodes are equipped with two RF front-ends operating<br />
at 433MHz <strong>and</strong> 2.4GHz, respectively<br />
• RSSI on both frequency was used<br />
• no knowledge about the building geometry<br />
• unknown starting point (initial posterior based on the first<br />
measurement)<br />
• the same linear motion model as in [AbrPauBar11]<br />
• the true position was measured using a laser range meter<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 35
Real-world results<br />
Work in Progress...<br />
10<br />
Indoor location estimation <strong>and</strong> tracking<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
25<br />
18<br />
A1<br />
A2<br />
ending point<br />
8<br />
1<br />
A4<br />
A3 starting point<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 5: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
• office environment in Aveiro<br />
• grid-based filter<br />
• spatial grid resolution: 0.5 meters<br />
• single user case (<strong>for</strong> better<br />
visualization)<br />
• also because of limited amount of<br />
measurement data<br />
• true user path <strong>–</strong> gray solid line with<br />
circle markers<br />
• anchor nodes: A 1 , . . .,A 4<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 36
Real-world results<br />
Work in Progress...<br />
p(x 1<br />
| r 1:1<br />
)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• Receive the very first<br />
measurement z 1<br />
• initial (proposal) posterior<br />
distribution p(x 1 |z 1:1 ) <strong>–</strong> continuous<br />
representation<br />
• computed just using the first measurement<br />
z 1<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 6: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 37
Real-world results<br />
Work in Progress...<br />
p(x 2<br />
| r 1:1<br />
)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
25<br />
18<br />
A1<br />
A2<br />
ending point<br />
8<br />
1<br />
A4<br />
A3 starting point<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
• Prediction step <strong>–</strong> get the prior:<br />
p(x 2 |z 1:1 ) =<br />
∫<br />
D x<br />
p(x 2 |x 1 )p(x 1 |z 1:1 )dx 1<br />
− p(x 2 |x 1 ): based on the<br />
prediction equation<br />
− p(x 1 |z 1:1 ): the old posterior<br />
• The spreading of the posterior after<br />
the prediction step may be noticed<br />
Figure 7: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 38
Real-world results<br />
Work in Progress...<br />
p(x 2<br />
| r 1:1<br />
) x p(r 2<br />
| x 2<br />
)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
25<br />
18<br />
A1<br />
A2<br />
ending point<br />
8<br />
1<br />
A4<br />
A3 starting point<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
• receive new measurement z 2<br />
• Compute its likelihood p(z 2 |x 2 )<br />
based on the measurement<br />
equation (log-distance RSSI<br />
channel model)<br />
• Multiply the likelihood with the prior<br />
p(x 2 |z 1:1 ) <strong>and</strong> normalize to get the<br />
new posterior<br />
Figure 8: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 39
Real-world results<br />
Work in Progress...<br />
p(x 2<br />
| r 1:2<br />
)<br />
South−North axis [meters]<br />
10<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
25<br />
18<br />
A1<br />
A2<br />
ending point<br />
8<br />
1<br />
A4<br />
A3 starting point<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 9: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
• New posterior<br />
p(x 2 |z 1:2 ) = p(z 2|x 2 )p(x 2 |z 1:1 )<br />
p(z 2 |z 1:1 )<br />
• The denominator is just a<br />
normalization factor <strong>–</strong> it does not<br />
need to be calculated<br />
• Shrinking of the new posterior may<br />
be noticed<br />
• Calculate new position estimate ˆx 2 ,<br />
as the dominant mode (maximum a<br />
posteriori estimate)<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 40
Real-world results<br />
Work in Progress...<br />
x est<br />
(2) vs. x true<br />
(2)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• The estimated (red line) vs. the<br />
true position (gray line)<br />
• Progress is shown by the orange<br />
line<br />
• Repeat this procedure at every<br />
step...<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 10: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 41
Real-world results<br />
Work in Progress...<br />
p(x 3<br />
| r 1:2<br />
)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• Prediction: p(x 3 |z 1:2 )<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 11: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 42
Real-world results<br />
Work in Progress...<br />
p(x 3<br />
| r 1:2<br />
) x p(r 3<br />
| x 3<br />
)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• New measurement <strong>and</strong> its likelihood<br />
p(z 3 |z 3 ) to be multiplied with<br />
the prior<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 12: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 43
Real-world results<br />
Work in Progress...<br />
p(x 3<br />
| r 1:3<br />
)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• New posterior p(x 3 |z 1:3 )<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 13: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 44
Real-world results<br />
Work in Progress...<br />
x est<br />
(3) vs. x true<br />
(3)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• New position estimate ˆx 3<br />
• <strong>and</strong> so on...<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 14: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 45
Real-world results<br />
Work in Progress...<br />
x est<br />
(25) vs. x true<br />
(25)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• Tracked location (red solid line with<br />
circle markers)<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 15: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 46
Real-world results<br />
Work in Progress...<br />
x est<br />
(25) vs. x true<br />
(25)<br />
10<br />
South−North axis [meters]<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
A1<br />
A4<br />
18<br />
8<br />
A2<br />
A3<br />
ending point<br />
25<br />
1<br />
starting point<br />
• The discretized position estimates<br />
0 2 4 6 8 10<br />
West−East axis [meters]<br />
Figure 16: <strong>Location</strong> estimation <strong>and</strong> tracking<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 47
Conclusions<br />
• <strong>Bayesian</strong> filters represent powerful tools <strong>for</strong> location estimation <strong>and</strong><br />
tracking<br />
• Various approaches exist (KF, EKF, UKF, grid-based filter, particle<br />
filters...)<br />
• They have different degrees complexity/accuracy<br />
• There is no “best option”, the choice depends on the application at<br />
h<strong>and</strong><br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 48
References<br />
[AbrPauBar11] T. E. Abrudan, L. M. Paula, J. Barros, J. P. S. Cunha, <strong>and</strong> N. B. Carvalho, “Indoor <strong>Location</strong><br />
<strong>Estimation</strong> <strong>and</strong> <strong>Tracking</strong> in Wireless Sensor Networks using a Dual Frequency Approach”, 2011<br />
IEEE International Conference on Indoor Positioning <strong>and</strong> Indoor Navigation (IPIN), Guimarães,<br />
Portugal, 21<strong>–</strong>23 Sep. 2011.<br />
[Sin70] R. A. Singer, “Estimating optimal tracking filter per<strong>for</strong>mance <strong>for</strong> manned maneuvering targets”,<br />
IEEE Transactions on Aerospace <strong>and</strong> Electronic Systems, vol. AES-6, pp. 473<strong>–</strong>483, Jul. 1970.<br />
[ParLee01] S.-T. Park <strong>and</strong> J. G. Lee, “Improved Kalman filter design <strong>for</strong> three-dimensional radar tracking”,<br />
IEEE Transactions on Aerospace <strong>and</strong> Electronic Systems, vol. 37, pp. 727<strong>–</strong>739, Apr. 2001.<br />
[Muh03] Matthias Mühlich, “Particle filters. <strong>An</strong> overview”, (tutorial presentation), Filter workshop,<br />
Bucharest, Romania, 2003.<br />
[AruMas02] M.S. Arulampalam, S. Maskell, N. Gordon, T.Clapp, “A tutorial on particle filters <strong>for</strong> online<br />
nonlinear/non-Gaussian <strong>Bayesian</strong> tracking”, IEEE Transactions on Signal Processing, vol.50,<br />
no.2, pp. 174<strong>–</strong>188, Feb 2002.<br />
[GusGun02] F. Gustafsson, F. Gunnarsson, N. Bergman, U. Forssell, J. Jansson, R. Karlsson, P.-J. Nordlund,<br />
“Particle filters <strong>for</strong> positioning navigation <strong>and</strong> tracking”, IEEE Transactions on Signal Processing,<br />
vol.50, no.2, pp. 425<strong>–</strong>437, Feb 2002.<br />
[DouFre02] A. Doucet, N. de Freitas, N. Gordon (Eds.), Sequential Monte Carlo Methods in Practice,<br />
Springer Verlag, 2001.<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 49
References<br />
[FoxHig03] V. Fox, J. Hightower, Lin Liao, D. Schulz, G. Borriello, “<strong>Bayesian</strong> filtering <strong>for</strong> location estimation”,<br />
IEEE Pervasive Computing, vol.2, no.3, pp. 24<strong>–</strong>33, Jul.-Sept. 2003.<br />
[DauHua03] F. Daum, J. Huang, “Curse of dimensionality <strong>and</strong> particle filters,” Proceedings of the IEEE<br />
Aerospace Conference, 2003, vol.4, no., pp. 4-1979<strong>–</strong>4-1993, Mar. 8<strong>–</strong>15, 2003.<br />
[DouJoh09] A. Doucet <strong>and</strong> A.M. Johansen, “A tutorial on particle filtering <strong>and</strong> smoothing: fifteen years later”,<br />
The Ox<strong>for</strong>d H<strong>and</strong>book of Nonlinear Filtering, Ox<strong>for</strong>d University Press, 2009.<br />
[Hau05] A.J. Haug, “A Tutorial on <strong>Bayesian</strong> <strong>Estimation</strong> <strong>and</strong> <strong>Tracking</strong> Techniques Applicable to Nonlinear<br />
<strong>and</strong> Non-Gaussian Processes”, Mitre Corporation Technical Report, MTR 05W0000004 (public<br />
release), Jan. 2005<br />
[CarDav07] F. Caron, M. Davy, E. Duflos, P. Vanheeghe, “Particle filtering <strong>for</strong> multiuser data fusion with<br />
switching observation models: Applications to l<strong>and</strong> vehicle navigation”, IEEE Transactions on<br />
Signal Processing, vol.50, no.2, pp. 425<strong>–</strong>437, Feb 2002.<br />
[HueCad02] C. Hue, J.-P. Le Cadre, P. Pérez, “Sequential Monte Carlo Methods <strong>for</strong> Multiple Target <strong>Tracking</strong><br />
<strong>and</strong> Data Fusion”, IEEE Transactions on Signal Processing, vol.50, no.2, pp. 309<strong>–</strong>325, Feb<br />
2002.,<br />
[HenKar10] G. Hendeby, R. Karlsson, F. Gustafsson, “The Rao-Blackwellized Particle Filter: A Filter Bank<br />
Implementation” EURASIP Journal on Advances in Signal Processing. vol. 2010, Article ID<br />
724087, 10 pages, 2010.<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 50
References<br />
[Roy11] R. R. Roy, H<strong>and</strong>book of Mobility Models <strong>and</strong> Mobile Ad Hoc Networks, Springer, 2011.<br />
[QuiSta10] M. Quigley, D. Stavens, A. Coates, <strong>and</strong> S. Thrun. “Sub-Meter Indoor Localization in Unmodified<br />
Environments with Inexpensive Sensors.” In Proceedings of the IEEE/RSJ International<br />
Conference on Intelligent Robots <strong>and</strong> Systems 2010 (IROS10), Taipei, Taiwan, 2010.<br />
[KaiKhi11] S. Kaiser, M. Khider, <strong>and</strong> P. Robertson, “A maps-based angular PDF <strong>for</strong> navigation systems in<br />
indoor <strong>and</strong> outdoor environments”, 2011 IEEE International Conference on Indoor Positioning<br />
<strong>and</strong> Indoor Navigation (IPIN), Guimarães, Portugal, 21<strong>–</strong>23 Sep. 2011.<br />
Bayes filters <strong>for</strong> location estimation <strong>and</strong> tracking - GETA Winter School: Short Course on Wireless Localization, Ruka, Feb. 13<strong>–</strong>15, 2012 p 51