toni first_draft
This commit is contained in:
@@ -6,6 +6,6 @@ In order to create such paths, we present a method that assigns an importance fa
|
||||
The human movement is then modelled by moving along adjacent nodes into the most proper walking-direction.
|
||||
To be able of going into the 3rd dimension, realistically shaped stairs for step-wise floor changes are used.
|
||||
The position is estimated over multiple floors integrating different sensor modalities, namely Wi-Fi, iBeacons, barometer, step-detection and turn-detection.
|
||||
The system was tested by omitting any time-consuming calibration process and starting with a uniform distribution instead of a well known pedestrian location.
|
||||
The system was tested by omitting any time-consuming calibration process and starts with a uniform distribution instead of a well known pedestrian location.
|
||||
The evaluation shows that adding prior knowledge is able to improve the localisation, even for unpredictable behaviour, faulty measurements and for poorly chosen system parameters.
|
||||
\end{abstract}
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
to the simple transition \refeq{eq:transSimple} addresses only minor local errors
|
||||
% like not sticking too close to walls. In most cases this lead only to slight improvements
|
||||
and is therefore not further evaluated.
|
||||
To examine the contribution our approach is able to provided, we will have a closer look
|
||||
To examine the contribution our approach is able to provide, we will have a closer look
|
||||
at a long walk with many stairs, intentionally leaving the shortest path several times,
|
||||
named path 4 (see fig. \ref{fig:paths}).
|
||||
%
|
||||
|
||||
@@ -11,7 +11,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}
|
||||
@@ -22,12 +22,12 @@
|
||||
}
|
||||
\label{fig:gridStairs}
|
||||
\end{figure}
|
||||
|
||||
|
||||
%
|
||||
Stairs are defined using three points $\vec{\spoint}_1, \vec{\spoint}_2, \vec{\spoint}_3 \in \R^3$ whereby the segment
|
||||
$[ \vec{\spoint}_1 \vec{\spoint}_2 ]$ describes the starting-edge, and $[ \vec{\spoint}_2 \vec{\spoint}_3 ]$ the stair's 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 bounding-box for each vertex.
|
||||
\commentByToni{Welche Bounding-box? hab ich was ueberlesen?}
|
||||
|
||||
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.
|
||||
@@ -46,11 +46,12 @@
|
||||
%
|
||||
During a walk, each edge has an assigned probability $p(e)$ which depends on a chosen implementation.
|
||||
This probability describes aspects such as the likelihood for walking into the edge's direction $\angle e$
|
||||
given the current heading heading $\gHead$. Furthermore, we will incorporate additional prior knowledge to
|
||||
given the current heading $\gHead$. Furthermore, we will incorporate additional prior knowledge to
|
||||
favour some vertices/edges. For each single step on the graph, we calculate $p(e)$ for all available edges,
|
||||
and, hereafter, randomly draw the to-be-walked edge depending on those probabilities. The random walk ends,
|
||||
as soon as the distance $d$ is reached. The latter depends on the number of detected steps
|
||||
$\mObsSteps$ and assumes an average step-size of \SI{0.7}{\meter}.
|
||||
\commentByToni{steps steps... Allgemein finde ich den Absatz etwas komisch. erst wird p(e) eingefuehrt, dann kommt auf einmal prior knowledge und dann wie wir p(e) berechnen? reihenfolge passt da nicht so und macht es undeutlch. Hier soll doch eigentlich nur erklaert werden wie wir ueber den graphen laufen. egal ob prior oder nicht. laufen muessen wir ja}
|
||||
|
||||
For comparison purpose we define a simple weighting method that assigns a probability to each edge
|
||||
just based on the deviation from the currently estimated heading $\gHead$:
|
||||
@@ -83,6 +84,7 @@
|
||||
larger open spaces, somewhere far from the walls. In order to calculate paths that resemble such a walking
|
||||
behaviour, an importance factor is derived for each vertex within the graph. Those will be used to
|
||||
adjust weight between two vertices, needed by the shortest-path algorithm.
|
||||
\commentByToni{The edge's weight?? vielleicht?}
|
||||
|
||||
To downvote vertices near walls, we need to get the distance of each vertex from its nearest wall.
|
||||
We therefore build an inverted version $G' = (V', E')$ of the graph $G$, just containing walls and other obstacles.
|
||||
@@ -113,7 +115,7 @@
|
||||
\label{sec:doorDetection}
|
||||
|
||||
Doors are usually anchored between two walls and have a normed width. Examining only a limited region
|
||||
around the door, its surrounding walls describe a flat ellipse with the same center as the door itself.
|
||||
around the door, its surrounding walls describe a flat ellipse with the same centre as the door itself.
|
||||
It is thus possible to detect doors within the floorplan using a PCA.
|
||||
|
||||
To decide whether a vertex $v_{x,y,z}$ within the (non-inverted) grid $G$ belongs to a door, we use $k$-NN to fetch its
|
||||
@@ -121,18 +123,19 @@
|
||||
If the distance $\| \vec{c} - v_{x,y,z} \|$ between the centroid and the vertex-in-question is above a certain threshold,
|
||||
the node does not belong to a door.
|
||||
\todo{Distanzformel centroid/vertex. ideen? $\|v1 - v2\|$ oder $d(v1, v2)$?}
|
||||
\commentByToni{Beides ist gebraeuchlich und $d$ ist kuerzer. von daher wuerde ich $d$ empfehlen.}
|
||||
|
||||
Assuming the distance is fine, we compare the two eigenvalues $\{\lambda_1, \lambda_2 \mid \lambda_1 > \lambda_2\}$,
|
||||
determined by the PCA. If their ratio $\frac{\lambda_1}{\lambda_2}$ is above a certain threshold (flat ellipse)
|
||||
the node-in-question belongs to a door or some kind of narrow passage.
|
||||
|
||||
%
|
||||
\begin{figure}
|
||||
\includegraphics[width=\columnwidth]{door_pca}
|
||||
\caption{Detect doors within the floorplan using $k$-NN and PCA.
|
||||
While the white nodes are walkable, the black ones represent walls. The grey node is the one in question.}
|
||||
\label{fig:doorPCA}
|
||||
\end{figure}
|
||||
|
||||
%
|
||||
Fig. \ref{fig:doorPCA} depicts all three cases where
|
||||
(left) the node is part of a door,
|
||||
(middle) the distance between node and k-NN centroid is above the threshold and
|
||||
@@ -246,7 +249,7 @@
|
||||
This new reference node $\pathRef$ serves as a comparison base:
|
||||
\commentByToni{Allgemein mal zur Schreibweise der Vertices. Irgendwie finde ich dieses $v_{x,y,z}$ nicht so gut. Ich denke jeder sieht das wir 3D haben und deswegen könntem man doch schlicht $v$, $v'$, $\hat{v}$ ... nutzen, oder was denkst du?}
|
||||
\commentByFrank{war der vorschlag von frank d. letztes mal, weil man an vertices nicht einfach attribute (x,y,z) anhaengen kann wie wir es bei $\mObsVec$, $\mStateVec$ haben.}
|
||||
|
||||
%
|
||||
\begin{equation}
|
||||
\begin{split}
|
||||
p(v_{x',y',z'} \mid v_{x,y,z})
|
||||
@@ -259,7 +262,7 @@
|
||||
\end{split}
|
||||
\label{eq:transShortestPath}
|
||||
\end{equation}
|
||||
|
||||
%
|
||||
Eq. \eqref{eq:transShortestPath} combines the simple transition \refeq{eq:transSimple} with
|
||||
a second probability, downvoting all nodes that are farther away from the reference $\pathRef$
|
||||
than the previous step. Put another way: grid-steps increasing the distance to the reference
|
||||
|
||||
@@ -41,6 +41,7 @@ Second, the heading for modelling the pedestrian's walking behaviour is calculat
|
||||
and restricts the transition to perform only discrete \SI{45}{\degree} turns. While this is sufficient
|
||||
for most cases, minor heading changes are often ignored and the posterior distribution (after walking)
|
||||
is not smoothly spread.
|
||||
\commentByToni{Und was machen wir dagegen?}
|
||||
|
||||
To improve the complex problem of localising a person indoors, prior knowledge given by a navigation system can be used.
|
||||
Such applications are used to navigate a user to his desired destination.
|
||||
@@ -50,14 +51,14 @@ Regarding a graph-based transition model, one could suggest to use the shortest
|
||||
By incorporating this prior knowledge into the state transition step, a new state can be sampled in a more targeted manner.
|
||||
However, for regular tessellated (grid) graphs, as used in \cite{Ebner-15}, this often leads to paths running very unnatural alongside walls.
|
||||
Therefore, we present a novel approach that detects walls using the inverted graph (representing walls and obstacles) and a nearest-neighbour search.
|
||||
\commentByFrank{hier kann man, wenn platz fehlt, vlt noch etwas details weglassen (inverted-graph, knn, etc)}
|
||||
%\commentByFrank{hier kann man, wenn platz fehlt, vlt noch etwas details weglassen (inverted-graph, knn, etc)}
|
||||
|
||||
In order to model areas near walls less likely to be chosen for walking, a probabilistic weight is assigned to every node of the graph.
|
||||
Since areas near walls are less likely to be chosen for walking, a probabilistic weight is assigned to every node of the graph.
|
||||
This allows a variety of options for integrating additional knowledge about the environment and enables us to address another problem:
|
||||
Entering or leaving rooms is very unlikely as only a few nodes are representing doors and allow doing so.
|
||||
This can be tackled by making such areas more likely.
|
||||
Therefore, a novel approach for detecting doors using again the inverted graph and the principal component analysis (PCA) \cite{Hotelling1933} is presented within this work.
|
||||
\commentByFrank{auch hier vlt das inverted erstmal noch weg lassen wegen platz}
|
||||
Therefore, a novel approach for detecting doors using again the inverted graph and a principal component analysis (PCA) \cite{Hotelling1933} is presented within this work.
|
||||
%\commentByFrank{auch hier vlt das inverted erstmal noch weg lassen wegen platz}
|
||||
|
||||
Finally, it is now possible to calculate more natural and realistic paths using the weighted graph.
|
||||
We introduce two different methods which make use of the given destination and thereby provide a targeted movement.
|
||||
|
||||
@@ -24,11 +24,9 @@
|
||||
where $x, y, z$ represent the position in 3D space, $\mObsHeading$ the user's heading and $\mStatePressure$ the
|
||||
relative pressure prediction in hectopascal (hPa).
|
||||
The recursive part of the density estimation contains all information up to time $t$.
|
||||
Furthermore, the state transition models the pedestrian's movement based on random walks on graphs,
|
||||
described in section \ref{sec:trans}.
|
||||
Furthermore, the state transition 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.
|
||||
Differing from the usual notation, the state transition also includes the current observation $\mObsVec_{t}$.
|
||||
\commentByFrank{brauchen wir hier noch das cite?}
|
||||
Differing from the usual notation, the state transition also includes the current observation $\mObsVec_{t}$ \cite{Koeping14}.
|
||||
|
||||
Containing all relevant sensor measurements to evaluate the current state, the observation vector is defined as follows:
|
||||
%
|
||||
@@ -38,8 +36,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.
|
||||
|
||||
of steps detected for the pedestrian.
|
||||
Finally, $\mObsPressure$ is the relative barometric pressure with respect to some fixed point in time.
|
||||
For further information on how to incorporate such highly different sensor types,
|
||||
one should refer to the process of probabilistic sensor fusion \cite{Khaleghi2013}.
|
||||
@@ -67,6 +64,5 @@
|
||||
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,
|
||||
what is also known as CONDENSATION algorithm \cite{Isard98:CCD}.
|
||||
\commentByFrank{caps? fehlt da noch was?}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user