changed some GFX

fixed some TeX issues
This commit is contained in:
2016-02-21 21:05:34 +01:00
parent 3fd0db82fe
commit 44504f0a59
16 changed files with 223513 additions and 76119 deletions

View File

@@ -62,7 +62,9 @@
\input{gfx/eval/paths}
\caption{The four paths that were part of the evaluation.
Starting positions are marked with black circles.
For a better visualisation they were slightly shifted to avoid overlapping.}
For a better visualisation they were slightly shifted to avoid overlapping.
\commentByFrank{font war korrekt, aber die groesse war zu gross im vgl. zu den anderen}
}
\label{fig:paths}
\end{figure}
% error development over time while walking along a path
@@ -105,7 +107,7 @@
%
Directly hereafter, we ignore the shortest path \refSeg{3'} determined by the system and walk along \refSeg{3}
instead. Of course, this leads to a temporally increasing error, as the system needs to detect this path change
and takes some time to recover (see fig. \ref{fig:errorDistNexus} \refSeg{3}). The new path to the desired destination
and takes some time to recover (see fig. \ref{fig:errorTimedNexus} \refSeg{3}). The new path to the desired destination
is \refSeg{3''} which is also ignored. Instead, we took a much longer route down the stairwell \refSeg{4}.
After this change is detected by the system, prior knowledge is again able to reduce the error for segment \refSeg{5}.
%

View File

@@ -33,8 +33,10 @@
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.
New states $\mStateVec_{t}$ may now be sampled by starting at the vertex for $\fPos{\mStateVec_{t-1}}$ and
walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
New states $\mStateVec_{t}$ may now be sampled by starting at the vertex for
position $\fPos{\mStateVec_{t-1}} = (x,y,z)^T$
\commentByFrank{eingefuehrt}
and walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
reached \cite{Ebner-15}.
Both, heading and distance, are supplied by the current sensor readings $\mObsVec_{t}$
and thus reflect the pedestrian's real heading and walking speed including uncertainty.
@@ -45,12 +47,14 @@
\gDist &= \mObs_t^{\mObsSteps} \cdot \SI{0.7}{\meter} + \mathcal{N}(0, \sigma_{\gDist}^2)
.
\end{align}
\commentByFrank{fixed. war das falsche makro in (2) und dem satz darunter. das delta musste weg. der state hat ein absolutes heading}
%
During the random walk, each edge has its own probability $p(e)$
which e.g. depends on the edge's direction $\angle e$ and the
pedestrian's current heading $\gHead$.
Furthermore, $p(e)$ is used to incorporate prior path knowledge to
favour edges leading towards the pedestrian's desired target.
Furthermore, section \ref{sec:nav} uses $p(e)$ to incorporate prior path knowledge to
favour edges leading towards the pedestrian's desired target $\mTarget$.
\commentByFrank{fixed}
For each single movement on the graph, we calculate $p(e)$ for all edges
connected to a vertex $v$, and, hereafter, randomly draw the to-be-walked edge
@@ -73,6 +77,7 @@
\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
@@ -85,10 +90,10 @@
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. Pedestrian's however, will probably keep a small gap between themselves and
walking many diagonals. Pedestrians however, will probably keep a small gap between themselves and
nearby walls. To calculate paths that resemble this behaviour, an importance-factor is derived for
each vertex. Those will be used to modify the distance $\fDistance{u}{v}$ between two vertices
$u,v$, examined by the shortest-path algorithm.
each vertex. Those will be used to modify the weight $\fDistance{v}{v'}$ between two vertices
$v,v'$, examined by the shortest-path algorithm.
To downvote vertices near walls, we need to determine the distance of each vertex from its nearest wall.
We therefore derive an inverted version $G' = (V', E')$ of the graph $G$, just describing walls and
@@ -137,7 +142,8 @@
\varphi = \fPos{v_i}-\vec{c} \enskip.
\end{equation}
%
For $\mat{\Sigma}$, the two largest eigenvalues $\{\lambda_1, \lambda_2 \mid \lambda_1 > \lambda_2\}$
For $\mat{\Sigma}$, the two largest eigenvalues $\lambda_1, \lambda_2$ with $\lambda_1 > \lambda_2$
\commentByFrank{fixed}
are calculated. If their ratio $^{\lambda_1}/_{\lambda_2}$ is above a certain
threshold, the neighbourhood describes a flat ellipse and thus either a door or a straight wall.
%
@@ -180,7 +186,8 @@
door-regions higher values, depicted in fig. \ref{fig:importance}.
%
\begin{figure}
\includegraphics[width=\columnwidth]{floorplan_importance}
%\includegraphics[width=\columnwidth]{floorplan_importance}
\input{gfx/floorplan_importance}
\caption{The calculated importance-factor \refeq{eq:finalImp} for each vertex.
While the dark wall-elements denote a small importance, the yellow areas around doors and narrow
passages depict a high importance.}
@@ -247,15 +254,16 @@
%
This centre serves as the starting point for the shortest-path calculation.
As it is not necessarily part of the grid, its nearest-grid-neighbour is determined and used instead.
This vertex is located somewhere within the sample-set and already knows the way to the pedestrian's destination.
This vertex is located somewhere within the sample-set and already knows the way to the pedestrian's
destination $\mTarget$.
%
As new states $\mStateVec_{t}$ should approach the pedestrian's destination
we use a reference $\pathRef$ all states try to reach. This references must
be both, part of the shortest path and located somewhere outside of the sample-set.
be both part of the shortest path and located somewhere outside of the sample-set.
%
We thus calculate the standard deviation of the distance of all samples from the centre
$\pathCentroid$. After advancing the starting-vertex by three times this deviation
we get a new point $\pathRef$ that is: part of the shortest path, outside of the sample-set
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.
%
Hereafter, the simple transition \refeq{eq:transSimple} is combined with a second probability,
@@ -274,7 +282,7 @@
0.1 & \text{else}
\end{cases}
\end{split}
.
\enskip .
\label{eq:transShortestPath}
\end{equation}
%
@@ -284,7 +292,7 @@
\subsubsection{Multipath}
The shortest-path algorithm mentioned in \ref{sec:pathEstimation} already calculated the distance
$\fDistance{v}{\dot{v}}$ % = \sum_{i=s}^{e-1} \| v_{i} - v_{i+1} \| $
$\fLength{v}{\dot{v}}$ % = \sum_{i=s}^{e-1} \| v_{i} - v_{i+1} \| $
for the path from $v$ to the pedestrian's destination $\dot{v}$.
We thus apply the same assumption as \refeq{eq:transShortestPath} and downvote edges
not decreasing the distance to the destination:
@@ -296,10 +304,11 @@
\mathcal{N} (\angle e \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
\alpha &=
\begin{cases}
0.9 & \fDistance{v'}{\dot{v}} < \fDistance{v}{\dot{v}} \\
0.9 & \fLength{v'}{\dot{v}} < \fLength{v}{\dot{v}} \\
0.1 & \text{else}
\end{cases}
\end{split}
\enskip .
\label{eq:transMultiPath}
\end{equation}
%
@@ -308,11 +317,13 @@
are covered and slight deviations from the shortest version are possible.
%
\begin{figure}
\includegraphics[width=\columnwidth, trim=4 8 4 4]{floorplan_dijkstra_heatmap}
\caption{Heat-Map of visited vertices after several walks using \refeq{eq:transMultiPath} with colours
from cold to hot. Both possible paths are covered and slight deviations are possible.
%\includegraphics[width=\columnwidth, trim=4 8 4 4]{floorplan_dijkstra_heatmap}
\input{gfx/floorplan_dijkstra_heatmap}
\caption{Heat-Map showing the number of visits per vertex after $30.000$ walks using \refeq{eq:transMultiPath}.
Both possible paths are covered and slight deviations are possible.
Additionally shows the shortest-path calculation without (dashed) and with (solid) importance-factors
used for edge-weight-adjustment.}
used for edge-weight-adjustment.
\commentByFrank{so besser?}}
\label{fig:multiHeatMap}
\end{figure}

View File

@@ -16,8 +16,10 @@
%
\begin{figure}
\include{gfx/baro/baro_setup_issue}
\caption{Sometimes the barometer provides erroneous \SI{}{\hpa} readings during the first seconds. Those
need to be omitted before $\sigma_\text{baro}$ and $\overline{\mObsPressure}$ are estimated.}
\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}
%
@@ -49,7 +51,7 @@
\subsection{Wi-Fi \& iBeacons}
Additional absolute location hints, are provided by the smartphone's \docWIFI{} and \docIBeacon{} component,
Additional 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
@@ -89,7 +91,8 @@
impoverishment due to a small measurement noise. This happens since accurate observations result in high peaks
of the evaluation density and therefore the proposal density is not able to sample outside that peak \cite{Isard98:CCD}.
Additionally, erroneous or delayed measurements from absolute positioning sensors like \docWIFI{} may lead to misplaced turns.
This causes a downvoting of particles with increased heading deviation.
This causes a downvoting of all states $\mStateVec_t$ with increased heading deviation.
\commentByFrank{so besser?: downvoting of states statt particles}
Therefore, we incorporate the turn-detection, as well as the related step-detection, 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.

View File

@@ -17,11 +17,11 @@
where $\mObsVec_{1:t} = \mObsVec_{1}, \mObsVec_{1}, ..., \mObsVec_{t}$ is a series of observations up to time $t$.
The hidden state $\mStateVec$ is given by
\begin{equation}
\mStateVec = (x, y, z, \mObsHeading, \mStatePressure),\enskip
x, y, z, \mObsHeading, \mStatePressure \in \R \enspace,
\mStateVec = (x, y, z, \mStateHeading, \mStatePressure),\enskip
x, y, z, \mStateHeading, \mStatePressure \in \R \enspace,
\end{equation}
%
where $x, y, z$ represent the position in 3D space, $\mObsHeading$ the user's heading and $\mStatePressure$ the
where $x, y, z$ represent the position in 3D space, $\mStateHeading$ the user's heading and $\mStatePressure$ the
relative atmospheric pressure prediction in hectopascal (hPa).
The recursive part of the density estimation contains all information up to time $t-1$.
Furthermore, the state transition models the pedestrian's movement as described in section \ref{sec:trans}.