|
|
|
|
@@ -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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|