This commit is contained in:
2020-03-10 12:39:04 +01:00
3 changed files with 103 additions and 10 deletions

View File

@@ -106,7 +106,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

@@ -79,6 +79,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
@@ -108,6 +109,7 @@ Hence, the distance measurements for a given AP $i$ are given with the vector $\
The probability to observe the given distances $\vec{d}_{1:i} =(\vec{d}_1, \dots, \vec{d}_i)$ to each AP at the position $\mPosVec$ is given by the joint probability density function The probability to observe the given distances $\vec{d}_{1:i} =(\vec{d}_1, \dots, \vec{d}_i)$ to each AP at the position $\mPosVec$ is given by the joint probability density function
\begin{equation} \begin{equation}
p(\vec{d}_{1:i} | \mPosVec ) = \prod_i p(\vec{d}_i | \mPosVec ) = \prod_i\prod_{m=1}^{M_i} p(d_{i,m} | \mPosVec ) p(\vec{d}_{1:i} | \mPosVec ) = \prod_i p(\vec{d}_i | \mPosVec ) = \prod_i\prod_{m=1}^{M_i} p(d_{i,m} | \mPosVec )
\label{eq:distanceProbability}
\end{equation} \end{equation}
where $M_i$ is the number of successful measurements to AP $i$. where $M_i$ is the number of successful measurements to AP $i$.
For each AP its measurements form a joint distribution by itself. For each AP its measurements form a joint distribution by itself.
@@ -116,14 +118,104 @@ An alternative approach could be to compute the mean measurement over all $M_i$
\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 analytic 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: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})$:
\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
As particle filter approximate the posterior using importance sampling, thus every particle gets weighted using the probability density of the evaluation in \eqref{equ:bayesInt}.
Here, a multitude of different sensor modalities can be incorporated by calculating the product of their respective probabilistic sensor models, which are often assumed to be statistical independent \cite{Fetzer-18}.
Within this work we are only interested in a single sensor model, which describes the Wi-Fi range measurements in a probabilistic manner.
The necessary formulation for this is already stated in \eqref{eq:distanceProbability} by simply assigning
\begin{equation}
p(\mObsVec_{t} \mid \mStateVec_{t}) = p(\vec{d}_{1:i} \mid \mPosVec)
\end{equation}
%
every particle, described by its position $\mPosVec$, can be weighted accordingly.
Note that we also need to assume a statistical independence between the respective APs.
Finally, a weighted set of particles $\{W^i_{t}, \vec{X}^i_{t} \}_{i=1}^N$ results after every time interval.
As indoor positioning is often seen as a time sequential problem, we want to provide the best or likeliest position of the pedestrian for the current time step $t$.
The fastest and most intuitive method is simply selecting the particle with the highest weight.
However, realistic scenarios are often represented by multimodal densities and therefore it is common that some particles are sharing the highest weight \cite{Bullmann-18}.
The best way to receive the pedestrian's position is to recover the probability density function from the sample set itself, by using a non-parametric estimator like a kernel density estimation (KDE).
As we have shown in \cite{Bullmann-18}, this can be done in an computational efficiency manner.
Despite reducing the overall variance, such a method does not significantly reduce the error.
Thus, we decided to keep things simple by finding the likeliest position by calculating the weighted average state $\mStateVec_{t}^{\text{wa}}$ using
\begin{equation}
\mStateVec_{t}^{\text{wa}} = \frac{\sum_{i=1}^{N} \vec{X}^i_{t} \cdot W^i_{t}}{\sum_{i=1}^{N} W^i_{t}}
\end{equation}
%
Of course, this does not avoid that the calculated state is somewhere in between the local maxima, if the current approximated posterior is multimodal.