and fixed gfx nexus-legend
This commit is contained in:
2016-02-23 15:55:40 +01:00
6 changed files with 48 additions and 51 deletions

View File

@@ -44,7 +44,7 @@
\SI{70}{\centimeter} with an allowed derivation of \SI{10}{\percent}. The heading deviation in \SI{70}{\centimeter} with an allowed derivation of \SI{10}{\percent}. The heading deviation in
\refeq{eq:transSimple}, \refeq{eq:transShortestPath} and \refeq{eq:transMultiPath} was \SI{25}{\degree}. \refeq{eq:transSimple}, \refeq{eq:transShortestPath} and \refeq{eq:transMultiPath} was \SI{25}{\degree}.
Edges departing from the pedestrian's destination are downvoted using $\mUsePath = 0.9$. Edges departing from the pedestrian's destination are downvoted using $\mUsePath = 0.9$.
\commentByFrank{$\mUsePath$ erklaert} %\commentByFrank{$\mUsePath$ erklaert}
As we start with a discrete uniform distribution for $\mStateVec_0$ (random position and heading), the first few estimations As we start with a discrete uniform distribution for $\mStateVec_0$ (random position and heading), the first few estimations
@@ -69,9 +69,8 @@
\input{gfx/eval/paths} \input{gfx/eval/paths}
\caption{The four paths that were part of the evaluation. \caption{The four paths that were part of the evaluation.
Starting positions are marked with black circles. 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} %\commentByFrank{font war korrekt, aber die groesse war zu gross im vgl. zu den anderen}
}
\label{fig:paths} \label{fig:paths}
\end{figure} \end{figure}
% error development over time while walking along a path % error development over time while walking along a path
@@ -80,9 +79,7 @@
\caption{Error development while walking along Path 4 using the Motorola Nexus 6. \caption{Error development while walking along Path 4 using the Motorola Nexus 6.
When leaving the suggested route \refSeg{3}, the error of \textbf{shortest} path \refeq{eq:transShortestPath} When leaving the suggested route \refSeg{3}, the error of \textbf{shortest} path \refeq{eq:transShortestPath}
and \textbf{multi}path \refeq{eq:transMultiPath} increases. and \textbf{multi}path \refeq{eq:transMultiPath} increases.
The same issues arise when facing multimodalities between two staircases just before the destination \refSeg{9}. The same issues arise when facing multimodalities between two staircases just before the destination \refSeg{9}.}
\commentByFrank{hilft das bold vlt. schon um die legende zu verstehen?}
}
\label{fig:errorTimedNexus} \label{fig:errorTimedNexus}
\end{figure} \end{figure}
% detailed analysis of path 4 % detailed analysis of path 4
@@ -149,8 +146,8 @@
\begin{figure} \begin{figure}
\input{gfx/eval/error_dist_nexus} \input{gfx/eval/error_dist_nexus}
\caption{Error distribution of all walks conducted with the Motorola Nexus 6 for distinct percentile values. \caption{Error distribution of all walks conducted with the Motorola Nexus 6 for distinct percentile values.
Our proposed methods clearly provide an enhancement for the overall localization process. Our proposed methods clearly provide an enhancement for the overall localization process.}
\commentByFrank{percentile erwaehnt}} %\commentByFrank{percentile erwaehnt}
\label{fig:errorDistNexus} \label{fig:errorDistNexus}
\end{figure} \end{figure}
%\begin{figure} %\begin{figure}
@@ -163,7 +160,7 @@
depicts the error development for several percentile values. As can be seen, adding prior 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 knowledge is able to improve the localisation for all examined situations, even when
leaving the suggested path or when facing bad/slow sensor readings. leaving the suggested path or when facing bad/slow sensor readings.
\commentByFrank{fig. \ref{fig:errorDistNexus} erwaehnt} %\commentByFrank{fig. \ref{fig:errorDistNexus} erwaehnt}
% error values % error values
\begin{table} \begin{table}

View File

@@ -8,7 +8,7 @@
To sample only transitions that are actually feasible To sample only transitions that are actually feasible
within the environment, we utilize a \SI{20}{\centimeter}-gridded graph 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$ $G = (V,E)$ with vertices $v_i \in V$ and undirected edges $e_{i,j} \in E$
\commentByFrank{notation geaendert. so ok?} %\commentByFrank{notation geaendert. so ok?}
derived from the buildings floorplan as described in section \ref{sec:relatedWork}. derived from the buildings floorplan as described in section \ref{sec:relatedWork}.
However, we add improved $z$-transitions by also modelling realistic However, we add improved $z$-transitions by also modelling realistic
stairwells using nodes and edges, depicted in fig. \ref{fig:gridStairs}. stairwells using nodes and edges, depicted in fig. \ref{fig:gridStairs}.
@@ -36,7 +36,7 @@
New states $\mStateVec_{t}$ may now be sampled by starting at the vertex for New states $\mStateVec_{t}$ may now be sampled by starting at the vertex for
position $\fPos{\mStateVec_{t-1}} = (x,y,z)^T$ position $\fPos{\mStateVec_{t-1}} = (x,y,z)^T$
\commentByFrank{eingefuehrt} %\commentByFrank{eingefuehrt}
and walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is and walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
reached \cite{Ebner-15}. reached \cite{Ebner-15}.
Both, heading and distance, are supplied by the current sensor readings $\mObsVec_{t}$ Both, heading and distance, are supplied by the current sensor readings $\mObsVec_{t}$
@@ -48,21 +48,21 @@
\gDist &= \mObs_t^{\mObsSteps} \cdot \mStepSize + \mathcal{N}(0, \sigma_{\gDist}^2) \gDist &= \mObs_t^{\mObsSteps} \cdot \mStepSize + \mathcal{N}(0, \sigma_{\gDist}^2)
. .
\end{align} \end{align}
\commentByFrank{fixed. war das falsche makro in (2) und dem satz darunter. das delta musste weg. der state hat ein absolutes heading. step-size als variable} %\commentByFrank{fixed. war das falsche makro in (2) und dem satz darunter. das delta musste weg. der state hat ein absolutes heading. step-size als variable}
% %
During the random walk, each edge has its own probability $p(\mEdgeAB)$ During the random walk, each edge has its own probability $p(\mEdgeAB)$
which e.g. depends on the edge's direction $\angle \mEdgeAB$ and the which e.g. depends on the edge's direction $\angle \mEdgeAB$ and the
pedestrian's current heading $\gHead$. pedestrian's current heading $\gHead$.
Furthermore, section \ref{sec:nav} uses $p(\mEdgeAB)$ to incorporate prior path knowledge to Furthermore, section \ref{sec:nav} uses $p(\mEdgeAB)$ to incorporate prior path knowledge to
favour edges leading towards the pedestrian's desired target $\mVertexDest$. favour edges leading towards the pedestrian's desired target $\mVertexDest$.
\commentByFrank{fixed} %\commentByFrank{fixed}
For each single movement on the graph, we calculate $p(\mEdgeAB)$ for all edges For each single movement on the graph, we calculate $p(\mEdgeAB)$ for all edges
connected to a vertex $\mVertexA$, and, hereafter, randomly draw the to-be-walked edge connected to a vertex $\mVertexA$, and, hereafter, randomly draw the to-be-walked edge
depending on those probabilities. This step is repeated until the sum depending on those probabilities. This step is repeated until the sum
of the length of all used edges exceeds $d$. The latter depends on the number of of the length of all used edges exceeds $d$. The latter depends on the number of
detected steps $\mObs_t^{\mObsSteps}$ and the pedestrian's step-size $\mStepSize$. detected steps $\mObs_t^{\mObsSteps}$ and the pedestrian's step-size $\mStepSize$.
\commentByFrank{step-size als variable} %\commentByFrank{step-size als variable}
To quantify the improvement prior knowledge is able to provide, To quantify the improvement prior knowledge is able to provide,
we define a simple reference for $p(\mEdgeAB)$ that assigns a probability to each edge we define a simple reference for $p(\mEdgeAB)$ that assigns a probability to each edge
@@ -105,7 +105,7 @@
themselves and nearby walls. To calculate paths that resemble this behaviour, an importance-factor is derived for themselves and nearby walls. To calculate paths that resemble this behaviour, an importance-factor is derived for
each vertex. Those will be used to scale the distance between two nodes, just like navigation systems use each vertex. Those will be used to scale the distance between two nodes, just like navigation systems use
the speed-limit as scaling-factor. the speed-limit as scaling-factor.
\commentByFrank{so besser? der ganze absatz.} %\commentByFrank{so besser? der ganze absatz.}
To downvote vertices near walls, we need to determine the distance of each vertex from its nearest wall. 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 We therefore derive an inverted version $G' = (V', E')$ of the graph $G$, just describing walls and
obstacles. A nearest-neighbour search \cite{Cover1967} $\fNN{\mVertexA}{V'}$ within $V'$ provides the vertex obstacles. A nearest-neighbour search \cite{Cover1967} $\fNN{\mVertexA}{V'}$ within $V'$ provides the vertex
@@ -121,7 +121,7 @@
\enskip . \enskip .
\label{eq:wallAvoidance} \label{eq:wallAvoidance}
\end{equation} \end{equation}
\commentByFrank{fixed. WA war WallAvoidance. hatte statt ll immer $\|$ gelesen und deshalb nicht verstanden} %\commentByFrank{fixed. WA war WallAvoidance. hatte statt ll immer $\|$ gelesen und deshalb nicht verstanden}
% %
%The parameters of the normal distribution and the scaling-factors were chosen empirically. %The parameters of the normal distribution and the scaling-factors were chosen empirically.
%While this approach provides good results for most areas, doors are downvoted by %While this approach provides good results for most areas, doors are downvoted by
@@ -155,7 +155,7 @@
\end{equation} \end{equation}
% %
For $\mat{\Sigma}$, the two largest eigenvalues $\lambda_1, \lambda_2$ with $\lambda_1 > \lambda_2$ For $\mat{\Sigma}$, the two largest eigenvalues $\lambda_1, \lambda_2$ with $\lambda_1 > \lambda_2$
\commentByFrank{fixed} %\commentByFrank{fixed}
are calculated. If their ratio $^{\lambda_1}/_{\lambda_2}$ is above a certain 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. threshold, the neighbourhood describes a flat ellipse and thus either a door or a straight wall.
% %
@@ -180,7 +180,7 @@
the distance of a vertex $\mVertexA$ from its nearest door and a deviation the distance of a vertex $\mVertexA$ from its nearest door and a deviation
of \SI{1.0}{\meter}: of \SI{1.0}{\meter}:
% %
%\commentByFrank{distanzrechnung: formel ok?} %%\commentByFrank{distanzrechnung: formel ok?}
\begin{equation} \begin{equation}
\fDD{\mVertexA} = \mathcal{N}( \| \fPos{\mVertexA} - \vec{c} \| \mid 0.0, 1.0^2 ) \fDD{\mVertexA} = \mathcal{N}( \| \fPos{\mVertexA} - \vec{c} \| \mid 0.0, 1.0^2 )
\label{eq:doorDetection} \label{eq:doorDetection}
@@ -258,12 +258,14 @@
\newcommand{\pathRef}{v_\text{ref}} \newcommand{\pathRef}{v_\text{ref}}
Before every transition, the centre-position $\pathCentroid = (x,y,z)^T$ of the current Before every transition, the centre-position $\pathCentroid = \fPos{\mStateVec_{t-1}^*}$ of the current sample-set, where
\commentByFrank{reicht das so schon?} \begin{equation}
sample-set, representing the posterior distribution at time $t-1$, is calculated. \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.} %%\commentByFrank{avg-state vom sample-set. frank d. meinte ja hier muessen wir aufpassen. bin noch unschluessig wie.}
%\commentByToni{Das ist gar nicht so einfach... wir haben nie ein Sample Set eingefuehrt. Nicht mal einen Sample. Wir haben immer nur diesen State... Man könnte natuerlich einfach sagen das $\Upsilon_t$ an set of random samples representing the posterior distribution ist oder einfach nur ein set von partikeln. habs mal eingefuegt wie ich denke} %\commentByToni{Das ist gar nicht so einfach... wir haben nie ein Sample Set eingefuehrt. Nicht mal einen Sample. Wir haben immer nur diesen State... Man könnte natuerlich einfach sagen das $\Upsilon_t$ an set of random samples representing the posterior distribution ist oder einfach nur ein set von partikeln. habs mal eingefuegt wie ich denke}
% %
This centre serves as the starting point for the shortest-path calculation. This centre serves as the starting point for the shortest-path calculation.
@@ -277,7 +279,7 @@
% %
We thus calculate the standard deviation of the distance of all sample-positions We thus calculate the standard deviation of the distance of all sample-positions
$\fPos{\mStateVec_{t-1}}$ from aforementioned centre $\pathCentroid$. $\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...} %\commentByFrank{so klarer? platz fuer groese Eq. fehlt und Notation zum ansprechen jedes einzelnen Particles vermeide ich lieber...}
%\begin{equation} %\begin{equation}
% d_\text{cen} = \| pos(q_{t-1}) - \pathCentroid \| % d_\text{cen} = \| pos(q_{t-1}) - \pathCentroid \|
@@ -309,7 +311,7 @@
\enskip . \enskip .
\label{eq:transShortestPath} \label{eq:transShortestPath}
\end{equation} \end{equation}
\commentByFrank{$\mUsePath$ als variable} %\commentByFrank{$\mUsePath$ als variable}
% %
@@ -347,8 +349,8 @@
\caption{Heat-Map showing the number of visits per vertex after $30.000$ walks using \refeq{eq:transMultiPath}. \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. Both possible paths are covered and slight deviations are possible.
Additionally shows the shortest-path calculation without (dashed) and with (solid) importance-factors 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?}} %\commentByFrank{so besser?}
\label{fig:multiHeatMap} \label{fig:multiHeatMap}
\end{figure} \end{figure}

View File

@@ -18,8 +18,8 @@
\include{gfx/baro/baro_setup_issue} \include{gfx/baro/baro_setup_issue}
\caption{Sometimes the smartphone's barometer (here: Motorola Nexus 6) provides erroneous pressure readings \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 during the first seconds. Those need to be omitted before $\sigma_\text{baro}$ and
$\overline{\mObsPressure}$ are estimated. $\overline{\mObsPressure}$ are estimated.}
\commentByFrank{fixed}} %\commentByFrank{fixed}
\label{fig:baroSetupError} \label{fig:baroSetupError}
\end{figure} \end{figure}
% %
@@ -84,17 +84,15 @@
\subsection{Step- \& Turn-Detection} \subsection{Step- \& Turn-Detection}
Step- and turn-detection use the smartphone's IMU and are implemented as described in \cite{Ebner-15}.
% %
However, a big disadvantage of using the state transition as proposal distribution is the high possibility of sample A big disadvantage of using the state transition as proposal distribution is the high possibility of sample
impoverishment due to a small measurement noise. This happens since accurate observations result in high peaks 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}. 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. Additionally, erroneous or delayed measurements from absolute positioning sensors like \docWIFI{} may lead to misplaced turns.
This causes a downvoting of all states $\mStateVec_t$ with increased heading deviation. This causes a downvoting of the posterior distribution in areas where the heading deviates.
\commentByFrank{so besser?: downvoting of states statt particles} Therefore, we incorporate the pedestrian's heading $\mObsHeading$, as well as the number of steps $\mObsSteps$, directly into the state transition
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. $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$, which leads to a more directed sampling instead of a truly random one.
Steps and turns are detected using the smartphone's IMU and are implemented as described in \cite{Ebner-15}.

View File

@@ -24,7 +24,7 @@
where $x, y, z$ represent the position in 3D space, $\mStateHeading$ 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). relative atmospheric pressure prediction in hectopascal (hPa).
The recursive part of the density estimation contains all information up to time $t-1$. 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}. 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. %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 \cite{Koeping14-PSA} has proven, we are able to include the observation $\mObsVec_{t-1}$ into the state transition.
@@ -62,7 +62,7 @@
Therefore, numerical solutions like Gaussian filters or the broad class of Monte Carlo methods are deployed \cite{sarkka2013bayesian}. Therefore, numerical solutions like Gaussian filters or the broad class of Monte Carlo methods are deployed \cite{sarkka2013bayesian}.
Since we assume indoor localisation to be a time-sequential, non-linear and non-Gaussian process, Since we assume indoor localisation to be a time-sequential, non-linear and non-Gaussian process,
a particle filter is chosen as approximation of the posterior distribution. a particle filter is chosen as approximation of the posterior distribution.
Within this work the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t})$ is used as proposal distribution, Within this work the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ is used as proposal distribution,
what is also known as CONDENSATION algorithm \cite{Isard98:CCD}. what is also known as CONDENSATION algorithm \cite{Isard98:CCD}.

View File

@@ -11,7 +11,7 @@ set ticslevel 0
set view equal xy set view equal xy
set zrange [-200:2000] set zrange [-200:2000]
set key at screen 0.30,0.15 samplen 1.2 box opaque width -19 set key at screen 0.30,0.15 samplen 1.2 box opaque width -7.1
set view 70,50 set view 70,50
#set object 1 polygon from 1000,4200,1060 to 1000,5200,1060 to 1700,5200,1060 to 1700,4200,1060 fs solid noborder fc rgb "#cccccc" behind #set object 1 polygon from 1000,4200,1060 to 1000,5200,1060 to 1700,5200,1060 to 1700,4200,1060 fs solid noborder fc rgb "#cccccc" behind

View File

@@ -1,7 +1,7 @@
%!PS-Adobe-2.0 EPSF-2.0 %!PS-Adobe-2.0 EPSF-2.0
%%Title: path_nexus_detail.tex %%Title: path_nexus_detail.tex
%%Creator: gnuplot 5.0 patchlevel 1 %%Creator: gnuplot 5.0 patchlevel 1
%%CreationDate: Wed Feb 17 14:45:48 2016 %%CreationDate: Tue Feb 23 15:55:02 2016
%%DocumentFonts: %%DocumentFonts:
%%BoundingBox: 50 50 302 226 %%BoundingBox: 50 50 302 226
%%EndComments %%EndComments
@@ -441,7 +441,7 @@ SDict begin [
/Author (kazu) /Author (kazu)
% /Producer (gnuplot) % /Producer (gnuplot)
% /Keywords () % /Keywords ()
/CreationDate (Wed Feb 17 14:45:48 2016) /CreationDate (Tue Feb 23 15:55:02 2016)
/DOCINFO pdfmark /DOCINFO pdfmark
end end
} ifelse } ifelse
@@ -553,14 +553,14 @@ stroke
LTb LTb
LCb setrgbcolor LCb setrgbcolor
LTb LTb
1687 89 N 117 89 N
0 440 V 0 440 V
-175 0 V 1395 0 V
0 -440 V 0 -440 V
175 0 V 117 89 L
Z stroke Z stroke
1687 529 M 117 529 M
-175 0 V 1395 0 V
stroke stroke
0.80 0.80 0.80 C 2555 1288 M 0.80 0.80 0.80 C 2555 1288 M
-50 -15 V -50 -15 V
@@ -4668,19 +4668,19 @@ LC2 setrgbcolor
221 0 V 221 0 V
stroke stroke
LCw setrgbcolor LCw setrgbcolor
1.000 1687 89 -175 440 BoxColFill 1.000 117 89 1395 440 BoxColFill
1.000 UL 1.000 UL
LTb LTb
LCb setrgbcolor LCb setrgbcolor
LTb LTb
1687 89 N 117 89 N
0 440 V 0 440 V
-175 0 V 1395 0 V
0 -440 V 0 -440 V
175 0 V 117 89 L
Z stroke Z stroke
1687 529 M 117 529 M
-175 0 V 1395 0 V
stroke stroke
0.80 0.80 0.80 C 1.000 UL 0.80 0.80 0.80 C 1.000 UL
LTb LTb