adding particle filter

This commit is contained in:
toni
2020-03-04 16:52:54 +01:00
parent 3f5eab93be
commit cbf6f1e25a
3 changed files with 76 additions and 10 deletions

View File

@@ -96,7 +96,7 @@ $^{2}$ \quad University of Siegen - Pattern Recognition Group; marcin.grzegorzek
\input{chapters/3_ftm} \input{chapters/3_ftm}
\input{chapters/4_ftmloc} \input{chapters/4_ftmloc}
3x3 Bilder Grid mit spannenden Situationen erklären und mit Video Upload untermalen
\input{chapters/8_experiments} \input{chapters/8_experiments}
\input{chapters/9_conclusion} \input{chapters/9_conclusion}

View File

@@ -46,6 +46,7 @@ For a smartphone based indoor localization system using the existing Wi-Fi infra
In this work signal strength and signal propagation time based distance measurements are considered. In this work signal strength and signal propagation time based distance measurements are considered.
\subsection{Received Signal Strength Indication} \subsection{Received Signal Strength Indication}
\label{subsec:rssi}
% TODO dBm vs dB?? % TODO dBm vs dB??
Received Signal Strength Indication (RSSI) is a measure of the received RF power and is obtained by the radio hardware at the antenna connector using an analog-to-digital converter. Received Signal Strength Indication (RSSI) is a measure of the received RF power and is obtained by the radio hardware at the antenna connector using an analog-to-digital converter.

View File

@@ -78,6 +78,7 @@ However, GDOP still gives a good first impression of the theoretical suitability
%DOP ganz nett aber signalstärken spielt auch eine Rolle %DOP ganz nett aber signalstärken spielt auch eine Rolle
\subsection{Probabilistic} \subsection{Probabilistic}
\label{sec:prob}
%Dichte aus Messungen erzeugen. %Dichte aus Messungen erzeugen.
%Distanzern werden mit Normalverteilung gewichtet %Distanzern werden mit Normalverteilung gewichtet
%Vorteil: Nicht ideale Schnittpunkte sind kein Problem, weil die Dichte sowas abbilden kann %Vorteil: Nicht ideale Schnittpunkte sind kein Problem, weil die Dichte sowas abbilden kann
@@ -96,14 +97,78 @@ The probability to observe a distance measurement $d$ at position $\mPosVec$ is
\end{equation} \end{equation}
\subsection{Particle Filter} \subsection{Particle Filter}
%Warum auch noch PF? Weil... die meisten lokalisierungs systeme diesen als nicht-linearen schätzer benutzen. er ist vielseitig und kann einfach mit anderen sensoren kombiniert werden. ist das gängigste sensor fusionsverfahren. die dichte wird in samples repräsentiert und ist damit nur eine approximatino der wahrsch. dichte.. dadurch ganz ander repräsentation als probabilistic teil. außerdem ist es ein FILTER, hat also vergangenheit mit drin.
%Ganz schnell nochmal den PF einführen mit standard formel. ein größerer absatz. %Particle Filter Introduction
%Einfaches Bewegungsmodell mit NV random As seen above, one can use a probability distribution like a Gaussian to describe the pedestrians most proper position and therefore the uncertainty of the system.
%ftm bzw. rssi einfach über normalverteilung in die evaluation rein. However, drawing from a probability distribution and finding an analytical solution for densities is in more complex scenarios a difficult task.
Especially when considering time sequential, non-linear and non-Gaussian models.
Due to the strong variation in human movement and the complexity of different sensor modalities, positioning indoors is often seen as such.
Bayesian filters can solve this by updating the position estimation recursively with incoming measurement $\vec{o}_{1:t}$ until the current time $t$ using a set of probabilistic models describing the movement and likelihood.
A broad class to obtain numerical results for this approach are Monte Carlo (MC) methods.
By applying the time sequential hidden Markov process of Bayes filtering, one of the most important MC techniques results: particle filtering.
In context of indoor positioning, a particle filter computes the posterior distribution $p(\vec{q}_t \mid \vec{o}_{1:t})$ describing the pedestrians possible whereabouts by using a sample set of $N$ independent random variables, $X^i_t \approx p(\vec{q}_t \mid \vec{o}_{1:t})$ where $i = 1, ..., N$ for approximation.
Due to importance sampling, a weight $W^i_t$ is assigned to each sample $\vec{X}^i_{t}$.
Thus, $\{W^i_{1:t}, \vec{X}^i_{1:t} \}_{i=1}^N$ is a weighted set of samples, also called particles.
Therefore a particle is a representation of one possible system state $\vec{q}$.
Compared to the method described in \ref{sec:prob}, this not only allows for a better description of the problem space, but also incorporates a priori knowledge by using a time recursive component.
%Particle Filter Standard Filtering Equation
The filtering equation to calculate the posterior is given by the recursion
\begin{equation}
\arraycolsep=1.2pt
\begin{array}{ll}
&p(\mStateVec_{t} \mid \mObsVec_{1:t}) \propto\\
&\underbrace{p(\mObsVec_{t} \mid \mStateVec_{t})}_{\text{evaluation}}
\int \underbrace{p(\mStateVec_{t} \mid \mStateVec_{t-1})}_{\text{transition}}
\underbrace{p(\mStateVec_{t-1} \mid \mObsVec_{1:t-1})d\vec{q}_{t-1}}_{\text{recursion}}
\end{array}
\enspace ,
\label{equ:bayesInt}
\end{equation}
\noindent where the hidden state $\mStateVec$ describes a position $\mPosVec = (x,y)^T$ given by
\begin{equation}
\mStateVec = (\mPosVec),\enskip
\mStateHeading \in \R \enspace.
\end{equation}
The corresponding observation vector covers all relevant sensor measurements.
In case of this work, we are only interested in the distance measure $d$ provided by FTM or in case of RSSI provided as described in \ref{subsec:rssi}.
Thus $\mObsVec$ can be easily given by
\begin{equation}
\mObsVec = (\vec{d}_1, \dots ,\vec{d}_i)
\end{equation}
containing a set of distance measurements $\vec{d}$ of all access-points $i$ currently visible to the phone.
As realization of \eqref{equ:bayesInt} we use the well-known CONDENSATION particle filter \cite{Isard98:CCD}.
Here, new particles are propagated according to the transition, which models the dynamics of the system.
Those particles are then weighted by the evaluation given the sensor measurements.
A resampling step is deployed to prevent that only a small number of particles have a significant weight, i.e. handle the phenomenon of weight degeneracy.
These steps are performed based on a predefined discrete update interval, e.g. every \SI{500}{\milli\second} or with every new measurement.
%Transition
As described above, we deliberately do without a full stack IPS in order to clearly demonstrate the advantages and
disadvantages of FTM compared to RSSI.
We have decided to utilize a very simple transition model, where the movement of particles from time step $t-1$ to $t$ is provided by drawing from a set of Gaussian distributions.
New potential whereabouts $p(\mStateVec_{t} \mid \mStateVec_{t-1})$ are then
\begin{equation}
\begin{aligned}
x_t &=& \overbrace{x_{t-1}}^{\text{old pos.}}& & &+& \overbrace{\delta}^{\text{walked}} & & &\cdot& \overbrace{\cos(\mStateHeading)}^{\text{heading}}& &, \enskip \mStateHeading &\sim \mathcal{U}(0, 2\pi)\\
y_t &=& y_{t-1}\phantom{.}& & &+& \delta \phantom{....}& & &\cdot& \sin(\mStateHeading)& &, \enskip \delta &\sim \mathcal{N}(\mu_{\text{walk}}, \sigma_{\text{walk}}) \\
\end{aligned}
\label{eq:navMeshTrans}
\end{equation}
Note that the uniform distribution in \eqref{eq:navMeshTrans} is limited in the interval $[0; 2\pi)$ to avoid oversampling at the pole.
Further, the parameters for the Gaussian depend on the chosen update interval, as they describe the to-be-walked distance of the pedestrian.
Put simply, \eqref{eq:navMeshTrans} causes the particles to spread out in a (uniquely distributed) circle within a certain (Gaussian distributed) distance.
%Evaluation