added recent TeX

This commit is contained in:
2016-02-08 21:05:57 +01:00
parent 2099fd3de0
commit 80cc4405c4
8 changed files with 7271 additions and 78 deletions

View File

@@ -1,2 +1,6 @@
\section{Conclusion}
\section{Future Work}
\commentByFrank{balance zwischen den einzelnen wahrscheinlichkeiten ist oft ein schmaler grad. wieviel turn erlauben, wieviel auf den pfad zwingen. das verbesern}
\commentByFrank{position der APs wissen ist viel arbeit. vereinfachen durch test-walks auf vorgegebenen pfaden -> numerisch optimieren wo APs sind}

View File

@@ -9,6 +9,9 @@
\item Vergleich zum Schluss das neue System mit dem Alten um eine schöne Conclusion der Verbesserungen einzuleiten.
\end{itemize}
\commentByFrank{we start with a uniform distribution $\mStateVec_0$}
\commentByFrank{hinweis auf die verschiedenen geraete (smartphones) und unterschiede, wlan/baro}
\commentByFrank{sensorausfall simulieren, z.b. in der mitte, oder auf einer treppe}
@@ -23,4 +26,4 @@ mit pfad laeuft es falsch, weil die andere treppe kuerzer zum ziel ist und das w
\commentByFrank{zu grosser einfluss vom pfad ist also kein allheilmittel.. kann, wie beim treppenhaus, auch nach hinten los gehen}
\commentByFrank{path1: bad start due to nearby AP and bad parameters (path-loss too high)}
\commentByFrank{path1: bad start due to nearby AP and bad parameters (path-loss too high): high starting errors: median better}

View File

@@ -1,53 +1,4 @@
\section{Floorplan/Path/whatever (RENAME)}
\section{Flooplan - REMOVE}
\subsection{wall avoidance}
\begin{figure}
\includegraphics[angle=-90, width=\columnwidth, trim=15 15 15 15]{floorplan_importance}
\end{figure}
\subsection{door detection}
invert grid,
find k-NN within inversion
calculate centroid, covariance and eigenvalues
when centroid OK and eigenvalues OK: is door/passage
\commentByFrank {
doors serve 3 purposes:
- reverting the downvote due to "near walls"
- hint for a pathless-movement-model how to leave rooms
- also detecting narrow passages (center the path)
}
Doors are usually anchored between two (thin) 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. It is thus
possible to detect doors within the floorplan using the PCA \todo{cite}. To describe the surroundings of a door,
we create and inverted version of our grid whereby the contained nodes denote walls and other obstacles.
To decide whether a node within the (non-inverted) grid belongs to a door, we use $k$-NN \todo{cite} to fetch its
$k$ nearest neighbors within the inverted grid. If the distance \todo{equation} between the centroid of those neighbors
and the node-in-question is above certain threshold, the node does not belong to a door. Assuming the distance was fine,
we compare the two eigenvalues $\{e_1, e_2 \mid e_1 > e_2\}$ , determined by the PCA. If their ratio $\frac{e_1}{e_2}$ is above
a certain threshold (flat ellipse)
the node-in-question belongs to a door. Fig. \ref{fig:doorPCA} depicts all three cases where the node is part of a door (left),
the distance between node and k-NN centroid is above the threshold (middle) and the ration between $e_1$ and $e_2$ is below the
threshold (right).
\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}
\subsection{pathfinding}
\begin{figure}
\includegraphics[angle=-90, width=\columnwidth, trim=15 15 15 15]{floorplan_paths}
\end{figure}
\begin{figure}
\includegraphics[angle=-90, width=\columnwidth, trim=15 15 15 15]{floorplan_dijkstra_heatmap}
\end{figure}

View File

@@ -115,8 +115,8 @@
% \vec{c} = \frac{ \sum_{v_{x,y,z} \in N'} v_{x,y,z} }{k}
%\end{equation}
Assuming the distance was fine, we compare the two eigenvalues $\{e_1, e_2 \mid e_1 > e_2\}$ , determined by the PCA.
If their ratio $\frac{e_1}{e_2}$ is above a certain threshold (flat ellipse)
Assuming the distance was 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}
@@ -141,6 +141,7 @@
\subsection{path estimation}
\label{sec:pathEstimation}
Based on aforementioned assumptions, the final importance for each node is
@@ -168,7 +169,7 @@
\begin{split}
\text{weight}(v_{x,y,z}, v_{x',y',z'}) =
\frac
{ \text{dist}(v_{x,y,z}, v_{x',y',z'}) }
{ \| v_{x,y,z} - v_{x',y',z'} \| }
{ \text{stretch}(\text{imp}_{x',y',z'}) }
,
\end{split}
@@ -197,34 +198,76 @@
Based on the previous calculations, we propose two approaches to incorporate the prior
knowledge into the transiton model.
During every transition, the first algorithm calculates the centroid $\vec{c}$ of the current sample-set:
\begin{equation}
\vec{c} = \frac
{ \sum_{\mStateVec_{t-1}} (\mState_{t-1}^x, \mState_{t-1}^y, \mState_{t-1}^z)^T }
{N}
\end{equation}
This center is used as starting-point for the shortest path. As it is not necessarily part of
the grid, its nearest-grid-neighbor is used instead.
The resulting node already knows its way to the pedestrian's destination, but is located somewhere
within the deviation of the sample set. After slightly advancing it by a fixed value of about \SI{5}{\meter}
we get a new point outside of the sample-set and closer to the desired destination.
This new reference node serves as a comparison base
\subsubsection{Shortest Path}
\begin{equation}
p(e) =
\end{equation}
Before every transition, the centroid $\vec{c}$ of the current sample-set is calculated:
\todo{summe laesst sich so nicht schreiben. ideen?}
\begin{equation}
\vec{c} = \frac
{ \sum_{\mStateVec_{t-1}} (\mState_{t-1}^x, \mState_{t-1}^y, \mState_{t-1}^z)^T }
{N}
\end{equation}
\newcommand{\pathRef}{v_{\hat{x},\hat{y},\hat{z}}}
This center is used as starting-point for the shortest path. As it is not necessarily part of
the grid, its nearest-grid-neighbor is used instead.
The resulting node already knows its way to the pedestrian's destination, but is located somewhere
within the deviation of the sample set. After slightly advancing it by a fixed value of about \SI{5}{\meter}
we get a new point outside of the sample-set and closer to the desired destination.
This new reference node $\pathRef$ serves as a comparison base:
\todo{bessere ideen fuer die schreibweise?}
\begin{equation}
\begin{split}
p(v_{x',y',z'} \mid v_{x,y,z})
= N(\angle [ v_{x,y,z} v_{x',y',z'} ] \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
\alpha =
\begin{cases}
1.0 & \| v_{x',y',z'} - \pathRef \| < \| v_{x,y,z} - \pathRef \| \\
0.2 & \text{else}
\end{cases}
\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
are unlikely but not impossible.
\begin{figure}
\includegraphics[angle=-90, width=\columnwidth, trim=20 19 17 9, clip]{floorplan_dijkstra_heatmap}
\end{figure}
\subsubsection{Multipath}
The Dijkstra calculation mentioned in \ref{sec:pathEstimation} already calculated the
cumulative distance $\text{cdst}_{x,y,z}$ to the pedestrian's target for each vertex.
We thus apply the same assumption as above and downvote steps not decreasing
the distance to the destination:
\begin{equation}
\begin{split}
p(v_{x',y',z'} \mid v_{x,y,z})
= N(\angle [ v_{x,y,z} v_{x',y',z'} ] \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
\alpha =
\begin{cases}
1.0 & \text{cdst}_{x',y',z'} < \text{cdst}_{x,y,z} \\
0.2 & \text{else}
\end{cases}
\end{split}
\label{eq:transMultiPath}
\end{equation}
Fig. \ref{fig:multiHeatMap} shows the heat-map of visited vertices after several \SI{125}{\meter}
walks simulating slight, random heading changes.
\begin{figure}
\includegraphics[angle=-90, width=\columnwidth, trim=20 19 17 9, clip]{floorplan_dijkstra_heatmap}
\caption{Heat-Map of visited vertices after several walks using \refeq{eq:transMultiPath}}
\label{fig:multiHeatMap}
\end{figure}
\commentByFrank{angular-change probability as polar-plot}
\commentByFrank{describe the multi-path version}
\commentByFrank{describe the single-path version}
\commentByFrank{exp-dist for distance to the path. more distance = less-likely}
\commentByFrank{lambda-factor controls the allowed deviation from the shortest-path}

3122
tex/gfx/grid/grid.eps Normal file

File diff suppressed because it is too large Load Diff

4063
tex/gfx/grid/grid.eps.dat Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -7,4 +7,4 @@ dvips bare_conf.dvi
ps2pdf14 bare_conf.ps
atril bare_conf.pdf
atril bare_conf.pdf&

View File

@@ -31,10 +31,17 @@
\newcommand{\mPressure}{\rho}
\newcommand{\mObsPressure}{\mPressure_\text{rel}} % symbol for observation pressure
\newcommand{\mStatePressure}{\hat{\mPressure}_\text{rel}} % symbol for state pressure
\newcommand{\mHeading}{\theta}
\newcommand{\mObsHeading}{\Delta\mHeading} % symbol used for the observation heading
\newcommand{\mStateHeading}{\mHeading} % symbol used for the state heading
\newcommand{\mSteps}{s}
\newcommand{\mObsSteps}{\mSteps}
\newcommand{\mNN}{\text{nn}}
\newcommand{\mKNN}{\text{knn}}
%\newcommand{\docIBeacon}{iBeacon}
% for equation references