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

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.