first draft particle filter

This commit is contained in:
toni
2020-03-04 18:23:10 +01:00
parent 26935d5a6d
commit c55a3cc7ce

View File

@@ -109,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
\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 )
\label{eq:distanceProbability}
\end{equation}
where $M_i$ is the number of successful measurements to AP $i$.
For each AP its measurements form a joint distribution by itself.
@@ -120,7 +121,7 @@ An alternative approach could be to compute the mean measurement over all $M_i$
%Particle Filter Introduction
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.
However, drawing from a probability distribution and finding an analytical solution for densities is in more complex scenarios a difficult task.
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.
@@ -161,7 +162,7 @@ In case of this work, we are only interested in the distance measure $d$ provide
Thus $\mObsVec$ can be easily given by
\begin{equation}
\mObsVec = (\vec{d}_1, \dots ,\vec{d}_i)
\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.
@@ -175,7 +176,7 @@ These steps are performed based on a predefined discrete update interval, e.g. e
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
New potential whereabouts $p(\mStateVec_{t} \mid \mStateVec_{t-1})$:
\begin{equation}
\begin{aligned}
@@ -184,11 +185,37 @@ y_t &=& y_{t-1}\phantom{.}& & &+& \delta \phantom{....}& & &\cdot& \sin(\mStateH
\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.