stretched gfx (less height)
removed some words for a better text-flow
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
\section{Conclusion}
|
||||
We presented a novel approach for integrating prior navigation knowledge by using realistic human walking paths.
|
||||
Based on a weighted graph, two different models for walking in a more targeted and natural manner were introduced.
|
||||
We presented a novel approach to integrate prior navigation knowledge by using realistic human walking paths.
|
||||
Based on a weighted graph, two different models for walking in a targeted and natural manner were introduced.
|
||||
It could be shown that adding this additional knowledge causes an overall improvement of the localisation results, while maintaining flexibility for unexpected behaviour.
|
||||
Furthermore, our approach is able to provide accurate and robust position estimations, even when (usually) necessary calibration processes are omitted.
|
||||
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
Evaluation took place within all floors (0 to 3) of the
|
||||
faculty building, each of which about \SI{77}{\meter} x \SI{55}{\meter} in size.
|
||||
%
|
||||
We conducted 4 distinct walks, for testing short distances, long distances, critical sections
|
||||
We conducted 4 distinct walks, to test short distances, long distances, critical sections
|
||||
and ignoring the shortest-path suggested by the system.
|
||||
Due to an in-house exhibition during that time, many places were crowded and \docWIFI{} signals
|
||||
are attenuated more than usual.
|
||||
Each acquired path is backed by ground truth information to enable error calculation.
|
||||
This ground truth is measured by recording a timestamp at a marked spot on the walking route.
|
||||
During the walk, the pedestrian had to click a button on the smartphone application
|
||||
are attenuated.
|
||||
To enable error calculation, each acquired path is backed by ground truth information.
|
||||
The ground truth is measured by recording a timestamp at marked spots on the walking route.
|
||||
While walking, the pedestrian clicked a button on the smartphone application
|
||||
when passing a marker. Between two consecutive points, a constant movement speed is assumed.
|
||||
Thus, the ground truth might not be \SI{100}{\percent} accurate, but fair enough to conduct
|
||||
Thus, the ground truth might not be \SI{100}{\percent} accurate, but fair enough for
|
||||
error measurements. All walks were performed using a Motorola Nexus 6 and a Samsung Galaxy S5.
|
||||
|
||||
As the Samsung Galaxy S5's \docWIFI{} can not be limited to the \SI{2.4}{\giga\hertz} band only,
|
||||
@@ -47,8 +47,8 @@
|
||||
%\commentByFrank{$\mUsePath$ erklaert}
|
||||
|
||||
|
||||
As we start with a discrete uniform distribution for $\mStateVec_0$ (random position and heading), the first few estimations
|
||||
are omitted from the error calculation to allow the system to somewhat settle its initial state. Even though, the error
|
||||
As we start with a uniform distribution (random position and heading) for $\mStateVec_0$, the first few estimations
|
||||
are omitted from error calculations to allow the system to somewhat settle its initial state. Even though, the error
|
||||
during the following few seconds is expected to be much higher than the error when starting with a well known initial
|
||||
position and heading.
|
||||
%
|
||||
@@ -111,7 +111,6 @@
|
||||
Starting with both, known position and heading, reduced the error by about \SI{15}{\percent} when using prior knowledge and
|
||||
by \SI{25}{\percent} when omitting prior knowledge. As prior knowledge directs the density towards a known target,
|
||||
it is able to compensate unknown initial headings which explains the \SI{10}{\percent} difference.
|
||||
\commentByFrank{bekannter startpunkt getestet und kurz beschrieben}
|
||||
%
|
||||
However, as soon as the pedestrian starts moving down the hallway \refSeg{2} the error is reduced dramatically.
|
||||
Adding prior knowledge centres the density in the middle of the floor, ensures that the heading is directed towards
|
||||
@@ -157,7 +156,7 @@
|
||||
%\end{figure}
|
||||
|
||||
The median error values for all other paths and the other smartphone are listed in table
|
||||
\ref{tbl:errNexus} and \ref{tbl:errGalaxy}. Furthermore, fig. \ref{fig:errorDistNexus}
|
||||
\ref{tbl:errNexus}. Furthermore, fig. \ref{fig:errorDistNexus}
|
||||
depicts the error development for several percentile values. As can be seen, adding prior
|
||||
knowledge is able to improve the localisation for all examined situations, even when
|
||||
leaving the suggested path or when facing bad/slow sensor readings.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
\section{Transition Model}
|
||||
\label{sec:trans}
|
||||
|
||||
%
|
||||
\newcommand{\spoint}{l}
|
||||
\newcommand{\gHead}{\theta_\text{walk}}
|
||||
\newcommand{\gDist}{d_\text{walk}}
|
||||
|
||||
%
|
||||
To sample only transitions that are actually feasible
|
||||
within the environment, we utilize a \SI{20}{\centimeter}-gridded graph
|
||||
$G = (V,E)$ with vertices $v_i \in V$ and undirected edges $e_{i,j} \in E$
|
||||
@@ -12,7 +12,7 @@
|
||||
derived from the buildings floorplan as described in section \ref{sec:relatedWork}.
|
||||
However, we add improved $z$-transitions by also modelling realistic
|
||||
stairwells using nodes and edges, depicted in fig. \ref{fig:gridStairs}.
|
||||
|
||||
%
|
||||
\begin{figure}
|
||||
\centering
|
||||
\input{gfx/grid/grid}
|
||||
@@ -29,7 +29,6 @@
|
||||
direction (see fig. \ref{fig:gridStairs}). The grid-vertices corresponding to the starting-edge are determined using an
|
||||
intersection of the segment $[ \vec{\spoint}_1 \vec{\spoint}_2 ]$ with the \SI{20}{\centimeter} bounding-box around each
|
||||
node's centre $\fPos{v} = (x,y,z)^T$.
|
||||
|
||||
|
||||
To reduce the system's memory footprint, we search for the largest connected region within the graph and
|
||||
remove all nodes and edges that are not connected to this region.
|
||||
@@ -72,14 +71,14 @@
|
||||
p(\mEdgeAB) = p(\mEdgeAB \mid \gHead) = \mathcal{N} (\angle \mEdgeAB \mid \gHead, \sigma_\text{dev}^2).
|
||||
\label{eq:transSimple}
|
||||
\end{equation}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
%
|
||||
%
|
||||
\section{Navigational Knowledge}
|
||||
\label{sec:nav}
|
||||
|
||||
%
|
||||
Considering navigation, a pedestrian wants to reach a well-known destination which represents additional
|
||||
prior knowledge. Most probably, the user will stick to the path presented by
|
||||
a navigation system. However, some deviations like chatting to someone or taking another route
|
||||
@@ -88,7 +87,7 @@
|
||||
|
||||
\subsection{Wall Avoidance}
|
||||
\label{sec:wallAvoidance}
|
||||
|
||||
%
|
||||
%As discussed in section \ref{sec:relatedWork}, simply applying a shortest-path algorithm such as Dijkstra or
|
||||
%A* using the previously created graph would obviously lead to non-realistic paths sticking to walls and
|
||||
%walking many diagonals. Pedestrians however, will probably keep a small gap between themselves and
|
||||
@@ -96,7 +95,7 @@
|
||||
%To calculate paths that resemble this behaviour, an importance-factor is derived for
|
||||
%each vertex. Those will be used to modify the weight $\fDistance{v}{v'}$ between two vertices
|
||||
%$v,v'$, examined by the shortest-path algorithm.
|
||||
|
||||
%
|
||||
Shortest-path algorithms such as Dijkstra use a scalar weight $\fDistance{v_1}{v_2}$ between two vertices
|
||||
to determine the path with the lowest overall weight.
|
||||
As discussed in section \ref{sec:relatedWork}, simply using the distance
|
||||
@@ -130,12 +129,12 @@
|
||||
While rendering wall-regions less likely, \refeq{eq:wallAvoidance}
|
||||
will obviously have the same effect on doors as they are just a small gap between
|
||||
consecutive walls. Therefore, a door-detection is necessary, to upvote them again.
|
||||
|
||||
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\subsection{Door Detection}
|
||||
\label{sec:doorDetection}
|
||||
|
||||
%
|
||||
To automatically detect doors within the floorplan, we utilize the fact that doors are usually
|
||||
anchored between two straight walls and have a normed width. Examining the region directly
|
||||
around it, the door and its surrounding walls thus describe a flat ellipse with the door as its centre.
|
||||
@@ -205,11 +204,11 @@
|
||||
passages depict a high importance.}
|
||||
\label{fig:importance}
|
||||
\end{figure}
|
||||
|
||||
%
|
||||
\subsection{Path Estimation}
|
||||
\label{sec:pathEstimation}
|
||||
|
||||
For routing the pedestrian towards his desired target, a modified version
|
||||
%
|
||||
To route the pedestrian towards his desired target, a modified version
|
||||
of Dijkstra's algorithm is used. Instead of calculating the shortest path from the start to the end,
|
||||
the direction is inverted and the calculated terminates as soon as every single node was evaluated.
|
||||
Hereafter, every node in the grid knows the distance and shortest path to the pedestrian's target.
|
||||
@@ -237,32 +236,31 @@
|
||||
%
|
||||
Fig. \ref{fig:multiHeatMap} depicts the difference between the shortest path calculated without (dashed) and
|
||||
with importance-factors (solid), where the latter is clearly more realistic.
|
||||
|
||||
%
|
||||
%\begin{figure}
|
||||
% \includegraphics[angle=-90, width=\columnwidth, trim=20 19 17 9, clip]{floorplan_paths}
|
||||
% \caption{Comparision of shortest-path calculation without (dotted) and with (solid) importance-factors
|
||||
% use for edge-weight-adjustment.}
|
||||
% \label{fig:shortestPath}
|
||||
%\end{figure}
|
||||
|
||||
|
||||
%
|
||||
%
|
||||
\subsection{Guidance}
|
||||
|
||||
%
|
||||
Based on the previous considerations, we propose two approaches to utilize prior
|
||||
knowledge within the transition.
|
||||
|
||||
\subsubsection{Shortest Path}
|
||||
|
||||
%
|
||||
\newcommand{\pathCentroid}{{\vec{\overline{c}}_{t-1}}}
|
||||
\newcommand{\pathDev}{\sigma_{t-1}}
|
||||
\newcommand{\pathRef}{v_\text{ref}}
|
||||
|
||||
|
||||
%
|
||||
Before every transition, the centre-position $\pathCentroid = \fPos{\mStateVec_{t-1}^*}$ of the current sample-set, where
|
||||
\begin{equation}
|
||||
\mStateVec_{t-1}^* = \underset{\mStateVec_{t-1}}{\argmax} \enspace p(\mStateVec_{t-1} | \mObsVec_{t-1})
|
||||
\end{equation}
|
||||
represents the most proper state of the posterior distribution at time $t-1$, is calculated.
|
||||
\begin{equation}
|
||||
\mStateVec_{t-1}^* = \underset{\mStateVec_{t-1}}{\argmax} \enspace p(\mStateVec_{t-1} | \mObsVec_{t-1})
|
||||
\end{equation}
|
||||
represents the most proper state of the posterior distribution at time $t-1$, is calculated.
|
||||
%
|
||||
%
|
||||
%%\commentByFrank{avg-state vom sample-set. frank d. meinte ja hier muessen wir aufpassen. bin noch unschluessig wie.}
|
||||
@@ -280,13 +278,13 @@ represents the most proper state of the posterior distribution at time $t-1$, is
|
||||
We thus calculate the standard deviation of the distance of all sample-positions
|
||||
$\fPos{\mStateVec_{t-1}}$ from aforementioned centre $\pathCentroid$.
|
||||
%\commentByFrank{so klarer? platz fuer groese Eq. fehlt und Notation zum ansprechen jedes einzelnen Particles vermeide ich lieber...}
|
||||
|
||||
%
|
||||
%\begin{equation}
|
||||
% d_\text{cen} = \| pos(q_{t-1}) - \pathCentroid \|
|
||||
% \sigma_\text{cen} = stdDev(distance)
|
||||
%\end{equation}
|
||||
|
||||
After advancing the starting-vertex by three times this deviation
|
||||
After advancing the starting-vertex by three times this deviation
|
||||
we get the new point $\pathRef$ that is: part of the shortest path, outside of the sample-set
|
||||
and closer (but not too close) to the desired destination.
|
||||
%
|
||||
@@ -313,10 +311,10 @@ represents the most proper state of the posterior distribution at time $t-1$, is
|
||||
\end{equation}
|
||||
%\commentByFrank{$\mUsePath$ als variable}
|
||||
%
|
||||
|
||||
|
||||
%
|
||||
%
|
||||
\subsubsection{Multipath}
|
||||
|
||||
%
|
||||
The shortest-path algorithm mentioned in \ref{sec:pathEstimation} already calculated the distance
|
||||
$\fLength{\mVertexA}{\mVertexDest}$ % = \sum_{i=s}^{e-1} \| v_{i} - v_{i+1} \| $
|
||||
for the path from $\mVertexA$ to the pedestrian's destination $\mVertexDest$.
|
||||
|
||||
@@ -7,9 +7,9 @@ They differ mainly by the used sensors, their probabilistic models and how envir
|
||||
For example \cite{Li2015} recently presented an approach combining methods of pedestrian dead reckoning (PDR), \docWIFI{}
|
||||
fingerprinting and magnetic matching using a Kalman filter. While providing good results, fingerprinting methods
|
||||
require an extensive offline calibration phase. Therefore, many other systems like \cite{Fang09} or \cite{Ebner-15}
|
||||
use signal strength prediction models like the log-distance model or wall-attenuation-factor model.
|
||||
Additionally, the sensors noise is not always Gaussian or satisfies the central limit theorem, what makes the
|
||||
usage of Kalman filters problematic \cite{sarkka2013bayesian, Nurminen2014}.
|
||||
use signal strength prediction models like the log-distance or wall-attenuation-factor model.
|
||||
Additionally, the sensors noise is not always Gaussian or satisfies the central limit theorem. Using
|
||||
Kalman filters is therefore problematic \cite{sarkka2013bayesian, Nurminen2014}.
|
||||
All this shows, that sensor models differ in many ways and are a subject in itself.
|
||||
A good discussion on different sensor models can be found in \cite{Yang2015}, \cite{Gu2009} or \cite{Khaleghi2013}.
|
||||
|
||||
@@ -56,9 +56,9 @@ Likewise, cells occupied by obstacles or walls are less likely.
|
||||
Additionally, every grid cell is able to hold some context information about the environment (e.g. elevators or stairs)
|
||||
or the behaviour of a pedestrian at this particular position (e.g. jumping or running).
|
||||
|
||||
A similar approach is presented in \cite{Li2010}, \cite{Ebner-15} and is also used within this work.
|
||||
By assuming that the floorplan is given beforehand, the occupied cells can be removed.
|
||||
The remaining cells are described by their centre/bounding-box and represent all free spaces in the indoor environment.
|
||||
A similar approach, presented in \cite{Li2010}, \cite{Ebner-15}, is also used within this work.
|
||||
Assuming the floorplan is given beforehand, occupied cells can be removed.
|
||||
The remaining cells are described by their centre/bounding-box and represent free spaces within the environment.
|
||||
A graph is defined by using the centres as nodes and connecting direct neighbours with edges.
|
||||
|
||||
In order to enable floor changes, some approaches suggest to simply connect the nodes at staircases \cite{Ebner-15, Hilsenbeck2014}.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
\subsection{Barometer}
|
||||
\label{sec:sensBaro}
|
||||
|
||||
%
|
||||
As stated by \cite{Muralidharan14-BPS}, ambient pressure readings are highly influenced by environmental conditions
|
||||
like the weather, time-of-day and others. Thus, relative pressure readings are preferred over absolute ones.
|
||||
However, due to noisy sensors, more than one reading is required to estimate the relative base.
|
||||
@@ -19,7 +19,6 @@
|
||||
\caption{Sometimes the smartphone's barometer (here: Motorola Nexus 6) provides erroneous pressure readings
|
||||
during the first seconds. Those need to be omitted before $\sigma_\text{baro}$ and
|
||||
$\overline{\mObsPressure}$ are estimated.}
|
||||
%\commentByFrank{fixed}
|
||||
\label{fig:baroSetupError}
|
||||
\end{figure}
|
||||
%
|
||||
@@ -39,19 +38,17 @@
|
||||
In \refeq{eq:baroTransition}, $b$ denotes the usual pressure change in $\frac{\text{hPa}}{\text{m}}$.
|
||||
The evaluation, following the transition, compares the predicted relative pressure with the observed
|
||||
one using a normal distribution with the previously estimated $\sigma_\text{baro}$:
|
||||
|
||||
%
|
||||
\begin{equation}
|
||||
p(\mObsVec_t \mid \mStateVec_t)_\text{baro} = \mathcal{N}(\mObs_t^{\mObsPressure} \mid \mState_t^{\mStatePressure}, \sigma_\text{baro}^2).
|
||||
\label{eq:baroEval}
|
||||
\end{equation}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
\subsection{Wi-Fi \& iBeacons}
|
||||
|
||||
Additional absolute location hints are provided by the smartphone's \docWIFI{} and \docIBeacon{} component,
|
||||
%
|
||||
Absolute location hints are provided by the smartphone's \docWIFI{} and \docIBeacon{} component,
|
||||
measuring the signal-strengths of nearby transmitters. As the positions of both \docAP{}s and \docIBeacon{}s
|
||||
are known beforehand, we compare each measurement with its corresponding signal strength prediction using
|
||||
the wall-attenuation-factor model \cite{Ebner-15}. This prediction depends on the 3D distance $d$ from the
|
||||
@@ -69,7 +66,7 @@
|
||||
\prod\limits_{i=1}^{n} \mathcal{N}(\mRssi_\text{wifi}^{i} \mid P_{r}(\mMdlDist_{i}, \Delta{f_{i}}), \sigma_{\text{wifi}}^2).
|
||||
\label{eq:wifiTotal}
|
||||
\end{equation}
|
||||
|
||||
%
|
||||
For the \docWIFI{} component we thus need three parameters per \docAPshort{}: $\mTXP$ measured at a distance
|
||||
$\mMdlDist_0$ (usually \SI{1}{\meter}), the path-loss exponent $\mPLE$ describing the environment
|
||||
and $\mWAF$ denoting the attenuation per floor.
|
||||
@@ -81,8 +78,8 @@
|
||||
For the \docIBeacon{} component we also use \refeq{eq:wifiTotal} but $\mTXP$ is transmitted by each beacon.
|
||||
Due to the short-range coverage the model parameters require less consideration of the senders ambient conditions
|
||||
(e.g. walls). Therefore, a smaller $\mPLE$ can be chosen to model the signal strength prediction for \docIBeacon{}s.
|
||||
|
||||
|
||||
%
|
||||
%
|
||||
\subsection{Step- \& Turn-Detection}
|
||||
%
|
||||
A big disadvantage of using the state transition as proposal distribution is the high possibility of sample
|
||||
@@ -91,9 +88,6 @@
|
||||
Additionally, erroneous or delayed measurements from absolute positioning sensors like \docWIFI{} may lead to misplaced turns.
|
||||
This causes a downvoting of the posterior distribution in areas where the heading deviates.
|
||||
Therefore, we incorporate the pedestrian's heading $\mObsHeading$, as well as the number of steps $\mObsSteps$, directly into the state transition
|
||||
$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$, which leads to a more directed sampling instead of a truly random one.
|
||||
$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$, which leads to a directed sampling instead of a random one.
|
||||
Steps and turns are detected using the smartphone's IMU and are implemented as described in \cite{Ebner-15}.
|
||||
|
||||
|
||||
|
||||
|
||||
%
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
The recursive part of the density estimation contains all information up to time $t-1$.
|
||||
Furthermore, the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ models the pedestrian's movement as described in section \ref{sec:trans}.
|
||||
%It should be noted, that we also include the current observation $\mObsVec_{t}$ in it.
|
||||
As \cite{Koeping14-PSA} has proven, we are able to include the observation $\mObsVec_{t-1}$ into the state transition.
|
||||
As proven in \cite{Koeping14-PSA}, we may include the observation $\mObsVec_{t-1}$ into the state transition.
|
||||
|
||||
Containing all relevant sensor measurements to evaluate the current state, the observation vector is defined as follows:
|
||||
%
|
||||
@@ -37,7 +37,7 @@
|
||||
where $\mRssiVec_\text{wifi}$ and $\mRssiVec_\text{ib}$ contain the measurements of all nearby \docAP{}s (\docAPshort{})
|
||||
and \docIBeacon{}s, respectively. $\mObsHeading$ and $\mObsSteps$ describe the relative angular change and the number
|
||||
of steps detected for the pedestrian.
|
||||
Finally, $\mObsPressure$ is the relative barometric pressure with respect to some fixed point in time.
|
||||
Finally, $\mObsPressure$ is the relative barometric pressure with respect to a fixed reference.
|
||||
For further information on how to incorporate such highly different sensor types,
|
||||
one should refer to the process of probabilistic sensor fusion \cite{Khaleghi2013}.
|
||||
By assuming statistical independence of all sensors, the probability density of the state evaluation is given by
|
||||
|
||||
Reference in New Issue
Block a user