some minor changes and added smoothing transition section

This commit is contained in:
toni
2016-04-29 18:13:05 +02:00
parent 0418af7a58
commit 9cb091d707
9 changed files with 72 additions and 6 deletions

Binary file not shown.

View File

@@ -83,7 +83,6 @@
\usepackage{algpseudocode}
% replacement for the SI package
\newcommand{\SI}[2]{\ensuremath{#1}\text{\,#2}}
\newcommand{\SIrange}[3]{\ensuremath{#1} to \ensuremath{#2}\text{\,#3}}

View File

@@ -5,7 +5,7 @@ For example, estimating an accurate position from a multimodal distribution or r
Within this work, we try do solve such problems with help of Monte Carlo smoothing methods, namely forward-backward smoother and backward simulation.
In contrast to normal filtering procedures like particle filtering, smoothing methods are able to incorporate future measurements instead of just using current and past data.
This enables many possibilities for further improving the position estimation.
Both smoothing techniques are deployed as fixed-lag and fixed-interval smoother and two novel approaches for incorporating them easily within our localisation system are presented.
Both smoothing techniques are deployed as fixed-lag and fixed-interval smoother and a novel approach for incorporating them easily within our localisation system is presented.
All this is evaluated on four floors within our faculty building.
The results show that smoothing methods offer a great tool for improving the localisation results.
Especially fixed-lag smoothing provides a great runtime support by reducing timely errors and improving the overall estimation with affordable costs.

View File

@@ -1,3 +1,3 @@
\section{Conclusion}
map information into smoothing. better way and faster then just dijkstra. compensate big jumps caused by wifi. better method for estimation and drawing of particles in backward simulation. more advanced smoothing transition. not used evaluating using the observations, but using the given information for more advanced approaches.

View File

@@ -75,7 +75,7 @@
\section{Transition}
\label{sec:transition}
The distribution $p(\mStateVec_{t} \mid \mStateVec_{t-1})$ is sampled via random walks on a graph
$G=(V,E)$, which is generated from the buildings floorplan \todo{FUSION2016}.
$p(\mStateVec_{t} \mid \mStateVec_{t-1})$ is determined by walking along adjacent edges $\mEdgeAB$ connecting

View File

@@ -80,7 +80,7 @@ Since the problem of navigation, especially the representation of complex moveme
Namely, forward-backward smoothing \cite{doucet2000} and backward simulation \cite{Godsill04:MCS}.
Within this work, we investigate the benefits and drawbacks of those techniques using our indoor localisation system presented in \cite{Ebner-16}.
We provide both, fixed-lag and fixed-interval smoothing as well as two novel approaches for incorporating them easily within the localisation procedure.
We provide both, fixed-lag and fixed-interval smoothing as well as a novel approach for incorporating them easily within the localisation procedure.
The main goal is to solve above mentioned problems and to investigate new possibilities for even more advanced systems.

View File

@@ -6,6 +6,8 @@
Sequential MC filter, like aforementioned particle filter, use all observations $\mObsVec_{1:t}$ until the current time $t$ for computing an estimation of the state $\mStateVec_t$.
In a Bayesian setting, this can be formalized as the computation of the posterior distribution $p(\mStateVec_t \mid \mObsVec_{1:t})$ using a sample of $N$ independent random variables, $\vec{X}^i_{t} \sim (\mStateVec_t \mid \mObsVec_{1:t})$ for $i = 1,...,N$ for approximation.
Due to importance sampling, a weight $W^i_t$ is assigned to each sample $\vec{X}^i_{t}$.
In context of particle filtering $\{\vec{X}^i_{1:t}, W^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 $\mStateVec$.
By considering a situation given all observations $\vec{o}_{1:T}$ until a time step $T$, where $t \ll T$, standard filtering methods are not able to make use of this additional data for computing $p(\mStateVec_t \mid \mObsVec_{1:T})$.
This problem can be solved with a smoothing algorithm.

View File

@@ -6,7 +6,7 @@ As mentioned before, those algorithm are able to compute probability distributio
%Especially fixed-lag smoothing is very promising in context of pedestrian localisation.
In the following we discuss the algorithmic details of the forward-backward smoother and the backward simulation.
Further, two novel approaches for incorporating them into the localisation system are shown.
Further, a novel approaches for incorporating them into the localisation system is shown.
\subsection{Forward-backward Smoother}
@@ -80,4 +80,67 @@ Therefore, \cite{Godsill04:MCS} presented the backward simulation (BS). Where a
This method can be seen in algorithm \ref{alg:backwardSimulation} in pseudo-algorithmic form. Again, a particle filter is performed at first and then the smoothing procedure gets applied. Here, $\tilde{\vec{q}}_t$ is a random sample drawn approximately from $p(\vec{q}_{t} \mid \tilde{\vec{q}}_{t+1}, \vec{o}_{1:T})$. Therefore $\tilde{\vec{q}}_{1:T} = (\tilde{\vec{q}}_{1}, \tilde{\vec{q}}_{2}, ...,\tilde{\vec{q}}_{T})$ is one particular sample realization from $p(\vec{q}_{1:T} \mid \vec{o}_{1:T})$. Further independent realizations are obtained by repeating the algorithm until the desired number $N_{\text{sample}}$ is reached. The computational complexity for one particular realization is $\mathcal{O}(N)$. However, the computations are then repeated for each realization drawn \cite{Godsill04:MCS}.
\subsection{Transition for Smoothing}
As seen above, both algorithms are reweighting particles based on a state transition model.
Unlike the transition presented in section \ref{sec:transition}, it is not possible to just draw a set of new samples.
Here, $p(\vec{q}_{t+1} \mid \vec{q}_{t})$ needs to provide the probability of the \textit{known} future state $\vec{q}_{t+1}$ under the condition of the current state $\vec{q}_{t}$.
In case of indoor localisation using particle filtering, it is necessary to not only provide the probability of moving to a particle's position under the condition of its ancestor, but also of all other particles at time $t$.
The smoothing transition model therefore calculates the probability of being in a state $\vec{q}_{t+1}$ in regard to previous states and the pedestrian's walking behaviour.
This means that a state $\vec{q}_t$ gets rewarded with a high probability, if it is a proper ancestor (realistic previous position) of a future state $\vec{q}_{t+1}$.
%observations von barometer und turn sind ziemlich genau.
%of course, instead of the line of side one could choose to calculate the the shortest path. however, this requires a trombendes calculation time and is therefore not further discussed within this work.
By writing
\begin{equation}
p(\vec{q}_{t+1} \mid \vec{q}_t, \mObsVec_t)_{\text{step}} = \mathcal{N}(\Delta d_t \mid \mu_{\text{step}}, \sigma_{\gDist}^2)
\label{eq:smoothingTransDistance}
\end{equation}
we receive a statement about how likely it is to cover a distance $\Delta d_t$ between two states $\vec{q}_{t+1}$ and $\vec{q}_{t}$.
In the easiest case, $\Delta d_t$ is the linear distance between two states.
Of course, based on the graph structure, one could calculate the shortest path between both and summarize the respective edge lengths.
However, this requires tremendous calculation time for negligible improvements.
Therefore this is not further discussed within this work.
The average step length $\mu_{\text{step}}$ is based on the pedestrian's walking speed and $\sigma_{\gDist}^2$ denotes the step length's variance.
Both values are chosen depending on the activity $x$ recognized at time $t$.
For example $\mu_{\text{step}}$ gets smaller while a pedestrian is walking upstairs, then just walking straight.
This requires to extend the smoothing transition by the current observation $\mObsVec_t$.
Since $\mStateVec$ is hidden and the Markov property is satisfied, we are able to do so.
The heading information is incorporated using
\begin{equation}
p(\mStateVec_{t+1} \mid \vec{q}_t, \mObsVec_t)_{\text{turn}} = \mathcal{N}(\Delta\alpha_t \mid \mObsHeading, \sigma^2_{\text{turn}})\enspace ,
\label{eq:transHeadingSmoothing}
\end{equation}
where $\Delta\alpha_t$ is the absolute angle between $\vec{q}_{t+1}$ and $\vec{q}_{t}$ in the range of $[0, \pi]$.
The relative angular change $\mObsHeading$ is then used to receive a statement about how likely it is to walk in that particular direction.
Again the normal distribution of \refeq{eq:transHeadingSmoothing} does not integrate to $1.0$. Therefore the same assumption as in \refeq{eq:transHeading} has to be made.
To further improve the results, especially in 3D environments, the vertical (non-absolute) distance $\Delta z$ between two successive states is used as follows:
\begin{equation}
p(\vec{q}_{t+1} \mid \vec{q}_t, \mObsVec_t)_{\text{baro}} = \mathcal{N}(\Delta z \mid \mu_z, \sigma^2_{z}) \enspace .
\label{eq:smoothingTransPressure}
\end{equation}
This assigns a low probability to false detected or misguided floor changes.
Similar to \refeq{eq:smoothingTransDistance} we set $\mu_z$ and $\sigma^2_{z}$ based on the activity recognized at time $t$.
Therefore, $\mu_z$ is the expected change in $z$-direction between two time steps.
This means, if the pedestrian is walking alongside a corridor, we set $\mu_z = 0$.
In contrast, $\mu_z$ is positive while walking downstairs or otherwise negative for moving upstairs.
The size of $\mu_z$ and also $\mu_{\text{step}}$ could be a predefined value or set dynamically based on the measured vertical and linear acceleration.
Looking at \refeq{eq:smoothingTransDistance} to \refeq{eq:smoothingTransPressure}, obvious similarities to a sensor fusion process can be seen. By assuming statistical independence between those three, the probability density of the smoothing transition is given by
\begin{equation}
\arraycolsep=1.2pt
\begin{array}{ll}
p(\vec{q}_{t+1} \mid \vec{q}_t) =
&p(\vec{q}_{t+1} \mid \vec{q}_t, \mObsVec_t)_{\text{step}}\\
&p(\vec{q}_{t+1} \mid \vec{q}_t, \mObsVec_t)_{\text{turn}}\\
&p(\vec{q}_{t+1} \mid \vec{q}_t, \mObsVec_t)_{\text{baro}}
\end{array}
\enspace .
\end{equation}
%
It is important to notice, that all particles at each time step $t$ of the forward filtering need to be saved.
Therefore, the memory requirement increasing proportional to the processing time.

View File

@@ -29,3 +29,5 @@
\newcommand{\docsRSSI}{RSSI}
\newcommand{\docDSimplex}{downhill-simplex}
\DeclareMathOperator{\atan}{atan2}