Merge branch 'master' of https://git.frank-ebner.de/FHWS/Fusion2016
and fixed gfx nexus-legend
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
\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}.
|
||||
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
|
||||
@@ -69,9 +69,8 @@
|
||||
\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.
|
||||
\commentByFrank{font war korrekt, aber die groesse war zu gross im vgl. zu den anderen}
|
||||
}
|
||||
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
|
||||
@@ -80,9 +79,7 @@
|
||||
\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}
|
||||
and \textbf{multi}path \refeq{eq:transMultiPath} increases.
|
||||
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?}
|
||||
}
|
||||
The same issues arise when facing multimodalities between two staircases just before the destination \refSeg{9}.}
|
||||
\label{fig:errorTimedNexus}
|
||||
\end{figure}
|
||||
% detailed analysis of path 4
|
||||
@@ -149,8 +146,8 @@
|
||||
\begin{figure}
|
||||
\input{gfx/eval/error_dist_nexus}
|
||||
\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.
|
||||
\commentByFrank{percentile erwaehnt}}
|
||||
Our proposed methods clearly provide an enhancement for the overall localization process.}
|
||||
%\commentByFrank{percentile erwaehnt}
|
||||
\label{fig:errorDistNexus}
|
||||
\end{figure}
|
||||
%\begin{figure}
|
||||
@@ -163,7 +160,7 @@
|
||||
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.
|
||||
\commentByFrank{fig. \ref{fig:errorDistNexus} erwaehnt}
|
||||
%\commentByFrank{fig. \ref{fig:errorDistNexus} erwaehnt}
|
||||
|
||||
% error values
|
||||
\begin{table}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
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$
|
||||
\commentByFrank{notation geaendert. so ok?}
|
||||
%\commentByFrank{notation geaendert. so ok?}
|
||||
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}.
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
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}
|
||||
%\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}$
|
||||
@@ -48,21 +48,21 @@
|
||||
\gDist &= \mObs_t^{\mObsSteps} \cdot \mStepSize + \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. 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)$
|
||||
which e.g. depends on the edge's direction $\angle \mEdgeAB$ and the
|
||||
pedestrian's current heading $\gHead$.
|
||||
Furthermore, section \ref{sec:nav} uses $p(\mEdgeAB)$ to incorporate prior path knowledge to
|
||||
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
|
||||
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
|
||||
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$.
|
||||
\commentByFrank{step-size als variable}
|
||||
%\commentByFrank{step-size als variable}
|
||||
|
||||
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
|
||||
@@ -105,7 +105,7 @@
|
||||
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
|
||||
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.
|
||||
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
|
||||
@@ -121,7 +121,7 @@
|
||||
\enskip .
|
||||
\label{eq:wallAvoidance}
|
||||
\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.
|
||||
%While this approach provides good results for most areas, doors are downvoted by
|
||||
@@ -155,7 +155,7 @@
|
||||
\end{equation}
|
||||
%
|
||||
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
|
||||
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
|
||||
of \SI{1.0}{\meter}:
|
||||
%
|
||||
%\commentByFrank{distanzrechnung: formel ok?}
|
||||
%%\commentByFrank{distanzrechnung: formel ok?}
|
||||
\begin{equation}
|
||||
\fDD{\mVertexA} = \mathcal{N}( \| \fPos{\mVertexA} - \vec{c} \| \mid 0.0, 1.0^2 )
|
||||
\label{eq:doorDetection}
|
||||
@@ -258,12 +258,14 @@
|
||||
\newcommand{\pathRef}{v_\text{ref}}
|
||||
|
||||
|
||||
Before every transition, the centre-position $\pathCentroid = (x,y,z)^T$ of the current
|
||||
\commentByFrank{reicht das so schon?}
|
||||
sample-set, representing the posterior distribution at time $t-1$, is calculated.
|
||||
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.
|
||||
%
|
||||
%
|
||||
%\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}
|
||||
%
|
||||
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
|
||||
$\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}
|
||||
% d_\text{cen} = \| pos(q_{t-1}) - \pathCentroid \|
|
||||
@@ -309,7 +311,7 @@
|
||||
\enskip .
|
||||
\label{eq:transShortestPath}
|
||||
\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}.
|
||||
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.
|
||||
\commentByFrank{so besser?}}
|
||||
used for edge-weight-adjustment.}
|
||||
%\commentByFrank{so besser?}
|
||||
\label{fig:multiHeatMap}
|
||||
\end{figure}
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
\include{gfx/baro/baro_setup_issue}
|
||||
\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}}
|
||||
$\overline{\mObsPressure}$ are estimated.}
|
||||
%\commentByFrank{fixed}
|
||||
\label{fig:baroSetupError}
|
||||
\end{figure}
|
||||
%
|
||||
@@ -84,17 +84,15 @@
|
||||
|
||||
|
||||
\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
|
||||
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 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
|
||||
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.
|
||||
Steps and turns are detected using the smartphone's IMU and are implemented as described in \cite{Ebner-15}.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
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}.
|
||||
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.
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
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,
|
||||
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}.
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ set ticslevel 0
|
||||
set view equal xy
|
||||
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 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: path_nexus_detail.tex
|
||||
%%Creator: gnuplot 5.0 patchlevel 1
|
||||
%%CreationDate: Wed Feb 17 14:45:48 2016
|
||||
%%CreationDate: Tue Feb 23 15:55:02 2016
|
||||
%%DocumentFonts:
|
||||
%%BoundingBox: 50 50 302 226
|
||||
%%EndComments
|
||||
@@ -441,7 +441,7 @@ SDict begin [
|
||||
/Author (kazu)
|
||||
% /Producer (gnuplot)
|
||||
% /Keywords ()
|
||||
/CreationDate (Wed Feb 17 14:45:48 2016)
|
||||
/CreationDate (Tue Feb 23 15:55:02 2016)
|
||||
/DOCINFO pdfmark
|
||||
end
|
||||
} ifelse
|
||||
@@ -553,14 +553,14 @@ stroke
|
||||
LTb
|
||||
LCb setrgbcolor
|
||||
LTb
|
||||
1687 89 N
|
||||
117 89 N
|
||||
0 440 V
|
||||
-175 0 V
|
||||
1395 0 V
|
||||
0 -440 V
|
||||
175 0 V
|
||||
117 89 L
|
||||
Z stroke
|
||||
1687 529 M
|
||||
-175 0 V
|
||||
117 529 M
|
||||
1395 0 V
|
||||
stroke
|
||||
0.80 0.80 0.80 C 2555 1288 M
|
||||
-50 -15 V
|
||||
@@ -4668,19 +4668,19 @@ LC2 setrgbcolor
|
||||
221 0 V
|
||||
stroke
|
||||
LCw setrgbcolor
|
||||
1.000 1687 89 -175 440 BoxColFill
|
||||
1.000 117 89 1395 440 BoxColFill
|
||||
1.000 UL
|
||||
LTb
|
||||
LCb setrgbcolor
|
||||
LTb
|
||||
1687 89 N
|
||||
117 89 N
|
||||
0 440 V
|
||||
-175 0 V
|
||||
1395 0 V
|
||||
0 -440 V
|
||||
175 0 V
|
||||
117 89 L
|
||||
Z stroke
|
||||
1687 529 M
|
||||
-175 0 V
|
||||
117 529 M
|
||||
1395 0 V
|
||||
stroke
|
||||
0.80 0.80 0.80 C 1.000 UL
|
||||
LTb
|
||||
|
||||
Reference in New Issue
Block a user