added the reviewed tex document
This commit is contained in:
31
tex_reviewed/chapters/abstract.tex
Executable file
31
tex_reviewed/chapters/abstract.tex
Executable file
@@ -0,0 +1,31 @@
|
||||
\abstract{%
|
||||
%
|
||||
Indoor localization and indoor pedestrian navigation is an active field of research
|
||||
with increasing attention.
|
||||
%
|
||||
As of today, many systems will run on commercial smartphones but most of them still rely on
|
||||
fingerprinting which demands for high setup- and maintenance-times.
|
||||
Alternatives, such as simple signal strength prediction models, provide fast setup times,
|
||||
but often do not provide the accuracy required for use-cases like indoor navigation or
|
||||
location-based services.
|
||||
%
|
||||
While more complex models provide an increased accuracy by including architectural knowledge
|
||||
about walls and other obstacles, they often require additional computation during runtime and
|
||||
demand for prior knowledge during setup.
|
||||
\\%
|
||||
Within this work we will thus focus on simple, easy to set-up models and evaluate their
|
||||
performance compared to real-world measurements. The evaluation ranges from a fully empiric, instant
|
||||
setup, given the transmitter locations are well-known, to a highly-optimized scenario based
|
||||
on some reference measurements within the building. Furthermore, we will propose a new
|
||||
signal strength prediction model as a combination of several simple ones. This tradeoff
|
||||
increases accuracy with only minor additional computations.
|
||||
%
|
||||
All of the optimized models are evaluated within an actual smartphone-based
|
||||
indoor localization system. This system uses the phone's \docWIFI{}, barometer and IMU
|
||||
to infer the pedestrian's current location via recursive density estimation based on particle filtering.
|
||||
\\%
|
||||
We will show that while a \SI{100}{\percent} empiric parameter choice for the model already provides enough
|
||||
accuracy for many use-cases, a small number of reference measurements is enough to dramatically increase
|
||||
such a system's performance.
|
||||
%
|
||||
}
|
||||
62
tex_reviewed/chapters/conclusion.tex
Executable file
62
tex_reviewed/chapters/conclusion.tex
Executable file
@@ -0,0 +1,62 @@
|
||||
\section{Conclusion and Future Work}
|
||||
|
||||
As denoted within the previous evaluations and discussions, the accuracy of
|
||||
indoor localization systems based on \docWIFI{} depends on a manifold
|
||||
of parameters and even minor adjustments can yield visible improvements.
|
||||
Depending on required accuracy and acceptable setup- and maintenance times,
|
||||
several approaches are conceivable:
|
||||
|
||||
If the use-case does not require utmost accuracy and the locations of permanently
|
||||
installed transmitters is already well known, just using empiric model parameters
|
||||
is a viable choice for many situations.
|
||||
|
||||
However, when combined with (particle) filtering, a heavily constrained
|
||||
movement model might be a potential issue, as it can get stuck when
|
||||
sensor observations or model predictions are too erroneous.
|
||||
|
||||
Using a small number of reference measurements to optimize the model parameters will already suffice
|
||||
to improve such errors. Furthermore, it also removes the need for prior knowledge
|
||||
about transmitter locations, as those can be estimated via optimization.
|
||||
|
||||
For the best accuracy, more complex signal strength propagation models
|
||||
are required, which in turn demand for more reference measurements.
|
||||
%
|
||||
However, while using several instances of a simple propagation model
|
||||
for different regions within a building is able to decrease the estimation
|
||||
error, this approach might require prior guessing of where to place those regions.
|
||||
As indicated by the error plots, just using one model for every floor within the building
|
||||
seems to be a viable alternative.
|
||||
|
||||
More complex models, that include information about walls and other obstacles, should
|
||||
be able to reduce the maximum error, which remains for some locations, at the cost of additional computations.
|
||||
Special data-structures for pre-computation combined with online interpolation might
|
||||
be a viable choice for utmost accuracy that is still able to run on
|
||||
a commercial smartphone in real-time.
|
||||
|
||||
While we were able to improve the performance of the \docWIFI{} sensor component,
|
||||
the filtering process should be more robust against erroneous observations.
|
||||
Getting stuck should be prevented, independent of minor changes in quality for
|
||||
the signal strength prediction model \cite{Fetzer-17}.
|
||||
|
||||
Our \docWIFI{} quality metric often was able to determine situations that
|
||||
would yield multimodal or bad \docWIFI{} estimations and temporarily
|
||||
ignoring this sensor prevented additional errors. Still, there were some
|
||||
cases where the metric failed to correctly determine a potentially bad
|
||||
observation, which leaves room for future improvements.
|
||||
|
||||
|
||||
%100 prozent optimierung ist nicht moeglich, es gibt
|
||||
%immer stellen, die, zugunsten von anderen, schlechter werden.
|
||||
%es haengt auch stark davon ab, was man optimiert, das modell,
|
||||
%die uebereinstimmung, welche fingerprints [schlechte vs. gute stellen]
|
||||
|
||||
%zudem ist das modell fuer unser gebaeude nicht gut ggeeignet.
|
||||
%zu viele verschiedene materialien und trennwaende, APs immer in raeumen,
|
||||
%nie auf dem flur. viele hindernisse, wenige freie raeume.
|
||||
%andere modelle koennten hier helfen, erfordern dann aber zur
|
||||
%aufzeit mehr berechnung, oder muessten vorab auf einem grid berechnet
|
||||
%werden \todo{cite auf competition}
|
||||
|
||||
|
||||
%besseres modell mit (leichter) interpolation zwischen den randbereichen?
|
||||
|
||||
895
tex_reviewed/chapters/experiments.tex
Executable file
895
tex_reviewed/chapters/experiments.tex
Executable file
@@ -0,0 +1,895 @@
|
||||
\section{Experiments}
|
||||
|
||||
% intro
|
||||
|
||||
Within our experiments we will first have a look at model optimizations to reduce the error (in \decibel)
|
||||
between the signal strengths predicted by the models and real-world conditions in section \ref{sec:evalModelOpt}.
|
||||
This optimization is based on 121 reference measurements conducted at known locations.
|
||||
Likewise, we will examine the impact of using less reference measurements for this process.
|
||||
|
||||
Hereafter, in section \ref{sec:evalWifiMeter}, we examine the resulting accuracy (in \meter)
|
||||
when using the optimized models for localization solely by the \docWIFI{} component without additional sensors, assumptions or filtering.
|
||||
This evaluation uses smartphone data from 13 walks within the buildings and corresponding ground truth for error estimations.
|
||||
|
||||
Finally, all models are evaluated in the context of our indoor localization system \refeq{eq:recursiveDensity},
|
||||
using additional smartphone sensors and the building's floorplan in section \ref{sec:evalFiltered}.
|
||||
|
||||
\changed{%
|
||||
For simplicity reasons all calculations have been performed using desktop hardware. However,
|
||||
the setup is able to run on commercial smartphones as well as it uses C++ code: The presented system participated
|
||||
as winner in the \emph{IPIN 2016 Indoor Localization Competition} using a \emph{Motorola Nexus 6}
|
||||
smartphone. It took around 90 minutes to perform reference measurements within the area
|
||||
of the competition -- the floorplan was known beforehand -- followed by one minute of calculation time for
|
||||
the \emph{\optParamsPosEachAP{}} strategy. Using 5000 particles for the particle filter it took around
|
||||
\SI{100}{\milli\second} for each transition/evaluation step. Those updates were scheduled every
|
||||
\SI{500}{\milli\second}.
|
||||
}%
|
||||
|
||||
|
||||
|
||||
All optimizations and evaluations \changed{conducted within this work} took place within two adjacent buildings (4 and 2 floors, respectively)
|
||||
and two connected outdoor regions (entrance and inner courtyard),
|
||||
\SI{110}{\meter} x \SI{60}{\meter} in size.
|
||||
|
||||
Within all \docWIFI{} observations, we only consider the \docAP{}s that are permanently installed
|
||||
and can be identified by their well-known MAC address.
|
||||
Temporal and movable transmitters like smart TVs or smartphone hotspots are ignored as they might cause estimation errors.
|
||||
|
||||
The \docWIFI{} quality factor from section \ref{sec:wifiQuality} was configured with
|
||||
a lower bound of \SI{-85}{\decibel m}, an upper bound of \SI{-70}{\decibel m} and a threshold of $0.25$.
|
||||
|
||||
%
|
||||
Unfortunately, due to legal reasons, our institution does not allow depicting the actual location
|
||||
of installed transmitters within the following figures.
|
||||
|
||||
|
||||
%modell direkt fuer den gelaufenen pfad optimiert (also wirklich jede wifi messung direkt auf den ground-truth)
|
||||
%der fehler wird zwar kleiner, ist aber immernoch deutlich spürbar. das spricht dafür, dass das modell einfach nicht
|
||||
%gut geeignet ist.
|
||||
|
||||
%optimierungs input: alle 4 walks samt ground-truth
|
||||
%dann kommt fuer die 4 typen [fixed, all same par, each par, each par pos]
|
||||
%log probability 50 75, meter 50, 75
|
||||
|
||||
|
||||
|
||||
% -------------------------------- optimization -------------------------------- %
|
||||
|
||||
\subsection{Model optimization}
|
||||
\label{sec:evalModelOpt}
|
||||
|
||||
As the signal strength prediction model is the core of the absolute positioning component
|
||||
described in section \ref{sec:system}, we start with the model parameter optimization (see section \ref{sec:optimization}).
|
||||
\mTXP{}, \mPLE{} and \mWAF{} will be estimated based on some reference measurements using
|
||||
various optimization strategies. The results of those optimization strategies are compared
|
||||
with each other and an empiric parameter choice:
|
||||
\mTXP{} = \SI{-40}{\decibel{}m} @ \SI{1}{\meter}
|
||||
(defined by the usual \docAPshort{} transmit power for Europe), a path loss exponent $\mPLE{} = 2.5$ and
|
||||
$\mWAF{} = \SI{-8}{\decibel}$ per floor/ceiling (made of reinforced concrete)
|
||||
\cite{PathLossPredictionModelsForIndoor, ElectromagneticPropagation, ANewPathLossPrediction}.
|
||||
|
||||
\reffig{fig:referenceMeasurements} depicts the location of the used 121 reference measurements.
|
||||
Each location was scanned 30 times ($\approx$ \SI{25}{\second} scan time),
|
||||
non-permanent \docAP{}s were removed, the values were grouped per physical transmitter (see section \ref{sec:vap})
|
||||
and aggregated to form the average signal strength per transmitter.
|
||||
|
||||
\begin{figure}
|
||||
\begin{subfigure}[t!]{0.48\textwidth}
|
||||
\input{gfx2/all_fingerprints.tex}
|
||||
\caption{
|
||||
The size of each square denotes the number of permanently installed \docAPshort{}s
|
||||
that were visible while scanning, and ranges between 2 and 22 with an average of 9.
|
||||
}
|
||||
\label{fig:referenceMeasurements}
|
||||
\end{subfigure}
|
||||
\enskip\enskip
|
||||
\begin{subfigure}[t!]{0.48\textwidth}
|
||||
\input{gfx2/model-bboxes.tex}
|
||||
\caption{
|
||||
Each distinct floor-color denotes a region (6 indoors, 1 outdoors) for {\em \optPerRegion{}}.
|
||||
Often more than one bounding box is needed to describe the region's shape.
|
||||
}
|
||||
\label{fig:modelBBoxes}
|
||||
\end{subfigure}
|
||||
\caption{
|
||||
\changed{
|
||||
Locations of the 121 reference measurements (left) and bounding-boxes used for {\em \optPerRegion{}} (right).
|
||||
Indoor-areas are denoted using a grey fill-color per floor, outdoor-areas are green.
|
||||
}
|
||||
}
|
||||
\end{figure}
|
||||
|
||||
% used reference measurements
|
||||
%\begin{figure}
|
||||
% {
|
||||
% \centering
|
||||
% \input{gfx/all_fingerprints.tex}
|
||||
% }
|
||||
% \caption{
|
||||
% Locations of the 121 reference measurements.
|
||||
% The size of each square denotes the number of permanently installed \docAPshort{}s
|
||||
% that are visible at this location,
|
||||
% and ranges between 2 and 22 with an average of 9.
|
||||
% }
|
||||
% \label{fig:referenceMeasurements}
|
||||
%\end{figure}
|
||||
|
||||
% visible APs:
|
||||
% cnt(121) min(2.000000) max(22.000000) range(20.000000) med(8.000000) avg(9.322314) stdDev(4.386709)
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\input{gfx2/compare-wifi-in-out.tex}
|
||||
\caption{
|
||||
\changed{
|
||||
Measurable signal strengths of a testing \docAPshort{} (black dot).
|
||||
While the signal diminishes slowly along the corridor (wide, black rectangle)
|
||||
the building's metallized windows (dashed, grey lines) between the indoor-region (grey)
|
||||
and the outdoor-region (green) attenuate the signal by over
|
||||
\SI{30}{\decibel} (small, black rectangle).
|
||||
}
|
||||
}
|
||||
\label{fig:wifiIndoorOutdoor}
|
||||
\end{figure}
|
||||
|
||||
\reffig{fig:wifiIndoorOutdoor} depicts the to-be-expected issues by examining the signal strength
|
||||
values of the reference measurements for one \docAP{}.
|
||||
Even though the transmitter is only \SI{5}{\meter} away from the reference
|
||||
measurement (small box), the metallized windows attenuate the signal as much as \SI{50}{\meter}
|
||||
of corridor (wide rectangle). The model described in section \ref{sec:sigStrengthModel} will not be able
|
||||
to match such situations due to the lack of obstacle information.
|
||||
%
|
||||
We will thus look at various optimization strategies and the error between
|
||||
the resulting estimation model and our reference measurements:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item{
|
||||
{\em\noOptEmpiric{}} uses the same three empiric parameters \mTXP{}, \mPLE{}, \mWAF{} for each \docAPshort{} in combination
|
||||
with its position, which is well known from the floorplan.
|
||||
}
|
||||
|
||||
\item{
|
||||
{\em\optParamsAllAP{}} is the same as above, except that the three parameters are optimized
|
||||
using the reference measurements (convex function). All transmitters share the same three parameters.
|
||||
}
|
||||
|
||||
\item{
|
||||
{\em\optParamsEachAP{}} optimizes the three parameters per \docAP{} instead of using the same
|
||||
parameters for all. This still denotes a convex function per transmitter.
|
||||
}
|
||||
|
||||
\item{
|
||||
{\em\optParamsPosEachAP{}} does not need any prior knowledge and will optimize all six parameters
|
||||
(3D position, \mTXP, \mPLE, \mWAF) based on the reference measurements (non-convex function).
|
||||
}
|
||||
|
||||
\item{
|
||||
{\em\optPerFloor{}} and {\em\optPerRegion{}} are just like {\em \optParamsPosEachAP{}} except that
|
||||
there are several sub-models, each of which is optimized for one floor/region instead of the whole building.
|
||||
The chosen bounding boxes and resulting sub-models are depicted in \reffig{fig:modelBBoxes}.
|
||||
}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\reffig{fig:wifiModelError} shows the optimization results for all strategies which are as expected:
|
||||
The estimation error is indirectly proportional to the number of optimized parameters.
|
||||
However, while median- and average-errors are fine, maximal errors sometimes are relatively high.
|
||||
As depicted in \reffig{fig:wifiModelErrorMax}, even with {\em \optPerRegion{}}, some locations simply do not fit the model,
|
||||
and thus lead to high (local) errors.
|
||||
%
|
||||
Looking at the optimization results for \mTXP{}, \mPLE{} and \mWAF{} supports
|
||||
this finding. While the median for those values based on all optimized transmitters is totally sane
|
||||
(\SI{-42}{\decibel{}m}, \SI{2.4}, \SI{-6.0}{\decibel}), the minimum and maximum values are far beyond the physically possible range.
|
||||
|
||||
The same holds for the estimated transmitter position when using {\em \optParamsPosEachAP{}}: The median
|
||||
distance between estimated and real position is $\sim$\SI{8}{\meter} and the maximum $\sim$\SI{27}{\meter}.
|
||||
For \SI{68}{\percent} of all installed transmitters, the estimated floor-number matched the real location.
|
||||
|
||||
\newcommand{\tablefont}{\scriptsize}
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{subfigure}{0.52\textwidth}
|
||||
\input{gfx2/wifi_model_error_0_95.tex}
|
||||
\end{subfigure}%
|
||||
\begin{subfigure}{0.47\textwidth}
|
||||
\centering
|
||||
\begin{tabular}{|l|c|c|c|c|}
|
||||
|
||||
\hline
|
||||
& \tablefont 25 \% & \tablefont median & \tablefont 75 \% & \tablefont avg \\\hline
|
||||
\tablefont\noOptEmpiric{} & \tablefont\SI{2.5}{\decibel} & \tablefont\SI{5.6}{\decibel} & \tablefont\SI{9.3}{\decibel} & \tablefont\SI{6.5}{\decibel} \\\hline
|
||||
\tablefont\optParamsAllAP{} & \tablefont\SI{2.0}{\decibel} & \tablefont\SI{4.3}{\decibel} & \tablefont\SI{7.5}{\decibel} & \tablefont\SI{5.4}{\decibel} \\\hline
|
||||
\tablefont\optParamsEachAP{} & \tablefont\SI{1.6}{\decibel} & \tablefont\SI{3.3}{\decibel} & \tablefont\SI{6.2}{\decibel} & \tablefont\SI{4.4}{\decibel} \\\hline
|
||||
\tablefont\optParamsPosEachAP{} & \tablefont\SI{1.5}{\decibel} & \tablefont\SI{3.0}{\decibel} & \tablefont\SI{5.5}{\decibel} & \tablefont\SI{3.8}{\decibel} \\\hline
|
||||
\tablefont\optPerFloor{} & \tablefont\SI{0.7}{\decibel} & \tablefont\SI{1.6}{\decibel} & \tablefont\SI{3.3}{\decibel} & \tablefont\SI{2.6}{\decibel} \\\hline
|
||||
\tablefont\optPerRegion{} & \tablefont\SI{0.6}{\decibel} & \tablefont\SI{1.4}{\decibel} & \tablefont\SI{3.1}{\decibel} & \tablefont\SI{2.4}{\decibel} \\\hline
|
||||
\end{tabular}
|
||||
\vspace{8mm}
|
||||
\end{subfigure}
|
||||
\caption{
|
||||
Cumulative error distribution for all optimization strategies. The error results from the (absolute) difference
|
||||
between model predictions and real-world values for each reference measurement.
|
||||
The higher the number of variable parameters, the better the model resembles real-world conditions.
|
||||
}
|
||||
\label{fig:wifiModelError}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{subfigure}{0.32\textwidth}
|
||||
\centering
|
||||
\input{gfx2/wifiMaxErrorNN_opt0.tex}
|
||||
\caption{\em \noOptEmpiric{}}
|
||||
\label{fig:wifiModelErrorMaxA}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.32\textwidth}
|
||||
\centering
|
||||
\input{gfx2/wifiMaxErrorNN_opt3.tex}
|
||||
\caption{\em \optParamsPosEachAP{}}
|
||||
\label{fig:wifiModelErrorMaxB}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.32\textwidth}
|
||||
\centering
|
||||
\input{gfx2/wifiMaxErrorNN_opt5.tex}
|
||||
\caption{\em \optPerRegion{}}
|
||||
\label{fig:wifiModelErrorMaxC}
|
||||
\end{subfigure}
|
||||
\caption{
|
||||
\changed{%
|
||||
At every of the 121 reference measurements more than one \docAPshort{} is visible, and for
|
||||
for every visible \docAPshort{} there is a difference between model estimated and real-world signal strength.
|
||||
The three figures depict the highest among those errors around the location of each reference measurement.
|
||||
While optimization is able to reduce the average error, local maxima remain due to overadaption.
|
||||
}%
|
||||
}
|
||||
\label{fig:wifiModelErrorMax}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
%\begin{figure}
|
||||
% \input{gfx/wifi_model_error_0_95.tex}
|
||||
% %\input{gfx/wifi_model_error_95_100.tex}
|
||||
% \caption{
|
||||
% Comparison between different optimization strategies by examining the error (in \decibel) at each reference measurement.
|
||||
% The higher the number of variable parameters, the better the model resembles real world conditions.
|
||||
% }
|
||||
% \label{fig:wifiModelError}
|
||||
%\end{figure}
|
||||
|
||||
% statds:
|
||||
%TXP: cnt(34) min(-67.698959) max(4.299183) range(71.998146) med(-41.961170) avg(-41.659286) stdDev(17.742294)
|
||||
%EXP: cnt(34) min(0.932817) max(4.699000) range(3.766183) med(2.380410) avg(2.546959) stdDev(1.074687)
|
||||
%WAF: cnt(34) min(-27.764957) max(5.217187) range(32.982143) med(-5.921916) avg(-7.579522) stdDev(5.840527)
|
||||
%Pos: cnt(34) min(3.032438) max(26.767128) range(23.734690) med(7.342710) avg(8.571227) stdDev(4.801449)
|
||||
|
||||
While {\em \optPerRegion{}} is able to overcome the indoor vs. outdoor issues depicted in
|
||||
\reffig{fig:wifiIndoorOutdoor}, by using a separate bounding box just for the outdoor area,
|
||||
it obviously requires a profound prior knowledge to correctly select the individual regions for the sub-model.
|
||||
%Such issues can only be fixed using more appropriate models that consider walls and other obstacles.
|
||||
|
||||
% das ist wohl zu viel
|
||||
%\begin{figure}
|
||||
% \centering
|
||||
% \input{gfx/wifiOptApPosDifference.tex}
|
||||
% \caption{zu viel, oder?}
|
||||
%\end{figure}
|
||||
|
||||
|
||||
% -------------------------------- number of fingerprints -------------------------------- %
|
||||
|
||||
\hspace{3mm} % HACK...
|
||||
|
||||
As we try to minimize the system's setup time as much as possible, we need to determine
|
||||
the amount of necessary reference measurements for the optimization to produce robust model parameters.
|
||||
Depending on the chosen model, and thus the number of to-be-optimized parameters, more measurements will be required.
|
||||
|
||||
While there was almost no difference between using 121 or 30 reference measurements for
|
||||
{\em \optParamsAllAP{}} and {\em \optParamsEachAP{}}
|
||||
(average error changed from \SIrange{5.3}{5.4}{\decibel} and \SIrange{4.5}{5.0}{\decibel}, respectively),
|
||||
{\em \optPerRegion{}} is highly affected
|
||||
(average error changed from \SIrange{2.0}{6.2}{\decibel}), as it needs at least a certain number of measurements within each
|
||||
region for the optimization to converge.
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
\input{gfx2/wifi_model_error_num_fingerprints_method_5_0_90.tex}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
\input{gfx2/wifi_model_error_num_fingerprints_method_5_90_100.tex}
|
||||
\end{subfigure}
|
||||
\caption{
|
||||
Impact of reducing the number of reference measurements for optimizing {\em \optPerRegion{}}.
|
||||
The cumulative error distribution is determined by comparing its signal strength prediction against all 121 measurements.
|
||||
While using only \SI{50}{\percent} of the 121 scans has barely an impact on the error,
|
||||
30 measurements (\SI{25}{\percent}) are clearly insufficient.
|
||||
}
|
||||
\label{fig:wifiNumFingerprints}
|
||||
\end{figure}
|
||||
|
||||
|
||||
%\begin{figure}[b]
|
||||
% \input{gfx/wifi_model_error_num_fingerprints_method_5_0_90.tex}
|
||||
% \input{gfx/wifi_model_error_num_fingerprints_method_5_90_100.tex}
|
||||
% \caption{%
|
||||
% Impact of reducing the number of reference measurements during optimization on {\em \optPerRegion{}}.
|
||||
% The model's cumulative error distribution is determined by comparing the its signal strength prediction against all 121 measurements.
|
||||
% While using only \SI{50}{\percent} of the 121 scans has barely an impact on the error,
|
||||
% 30 measurements (\SI{25}{\percent}) are clearly insufficient.
|
||||
% }%
|
||||
% \label{fig:wifiNumFingerprints}%
|
||||
%\end{figure}
|
||||
|
||||
\reffig{fig:wifiNumFingerprints} depicts the impact of reducing the number of reference measurements
|
||||
during the optimization process for the {\em \optPerRegion{}} strategy.
|
||||
The error is determined by using the (absolute) difference between expected signal strength and
|
||||
the optimized model's corresponding prediction for all of the 121 reference measurements.
|
||||
%
|
||||
Considering only 60 of the 121 scans (\SI{50}{\percent}) yields a slightly increasing model error but still provides good results.
|
||||
While using only \SI{25}{\percent} of the reference measurements increases the error rapidly,
|
||||
for \SI{75}{\percent} of the 121 considered error-values, the estimation is still better than using just empiric values without optimization.
|
||||
|
||||
%The extremely large outlier depicted in the right half of figure \ref{fig:wifiNumFingerprints} (red line) relates to one
|
||||
%sub-model with only one assigned reference measurement, where the optimized result is unable to predict values
|
||||
%for the rest of the sub-model's region. \todo{versteht man das?}
|
||||
|
||||
Additionally we examined the impact of skipping reference measurements for difficult locations,
|
||||
like staircases surrounded by steel-enforced concrete. While this slightly decreases the
|
||||
estimation error for all other positions (hallway, etc.) as expected, the error within the skipped locations is dramatically
|
||||
increasing (see right half of \reffig{fig:wifiNumFingerprints}). It is thus highly recommended
|
||||
to also perform reference measurements for locations, that are expected to strongly deviate (signal strength)
|
||||
from their surroundings.
|
||||
|
||||
|
||||
|
||||
%leaving out fingerprints for model 1
|
||||
% 25%: cnt(1128) min(0.007439) max(27.804710) range(27.797272) med(4.404236) avg(5.449720) stdDev(4.470373)
|
||||
% 50%: cnt(1128) min(0.006027) max(27.732193) range(27.726166) med(4.367859) avg(5.437861) stdDev(4.475426)
|
||||
% 100%: cnt(1128) min(0.000282) max(27.705376) range(27.705093) med(4.272881) avg(5.411202) stdDev(4.493495)
|
||||
% noStair%: cnt(1128) min(0.000801) max(27.209221) range(27.208420) med(4.333328) avg(5.459918) stdDev(4.459484)
|
||||
|
||||
%leaving out fingerprints for model 2
|
||||
% 25%: cnt(1128) min(0.000320) max(29.752560) range(29.752239) med(3.837357) avg(5.027578) stdDev(4.617191)
|
||||
% 50%: cnt(1128) min(0.015305) max(34.152130) range(34.136826) med(3.627090) avg(4.635868) stdDev(4.135866)
|
||||
% 100%: cnt(1128) min(0.000488) max(25.687740) range(25.687252) med(3.319756) avg(4.441193) stdDev(3.912525)
|
||||
% noStair%: cnt(1128) min(0.017693) max(25.687740) range(25.670048) med(3.304321) avg(4.507620) stdDev(3.957071)
|
||||
|
||||
%leaving out fingerprints for model 3
|
||||
% 25%: cnt(1128) min(0.003242) max(39.470978) range(39.467735) med(3.371758) avg(4.977330) stdDev(5.213937)
|
||||
% 50%: cnt(1128) min(0.002808) max(30.113415) range(30.110607) med(2.941238) avg(4.015042) stdDev(3.696969)
|
||||
% 100%: cnt(1128) min(0.000557) max(16.813850) range(16.813293) med(3.056915) avg(3.813013) stdDev(3.062580)
|
||||
% noStair%: cnt(1128) min(0.002518) max(30.370636) range(30.368118) med(3.016884) avg(3.983101) stdDev(3.508327)
|
||||
|
||||
%leaving out fingerprints for model 4
|
||||
% 25%: cnt(1128) min(0.000000) max(62.233345) range(62.233345) med(2.502831) avg(5.432897) stdDev(8.664582)
|
||||
% 50%: cnt(1128) min(0.000000) max(56.843803) range(56.843803) med(1.543137) avg(2.937506) stdDev(4.417061)
|
||||
% 100%: cnt(1128) min(0.000046) max(33.175812) range(33.175766) med(1.537933) avg(2.441976) stdDev(2.793499)
|
||||
% noStair%: cnt(1128) min(0.000000) max(62.233345) range(62.233345) med(1.493668) avg(2.744918) stdDev(4.428092)
|
||||
|
||||
%leaving out fingerprints for model 5
|
||||
% 25%: cnt(1128) min(0.000000) max(62.620842) range(62.620842) med(2.140709) avg(6.257105) stdDev(11.638572)
|
||||
% 50%: cnt(1128) min(0.000000) max(57.371948) range(57.371948) med(1.357452) avg(2.982217) stdDev(5.877471)
|
||||
% 100%: cnt(1128) min(0.000000) max(14.837151) range(14.837151) med(1.251358) avg(1.989277) stdDev(2.189072)
|
||||
% noStair%: cnt(1128) min(0.000000) max(62.233345) range(62.233345) med(1.143669) avg(2.316189) stdDev(4.164822)
|
||||
|
||||
|
||||
|
||||
|
||||
% -------------------------------- wifi walk error -------------------------------- %
|
||||
|
||||
\subsection{\docWIFI{} location estimation error}
|
||||
\label{sec:evalWifiMeter}
|
||||
|
||||
Having optimized several signal strength prediction models, we can now examine the resulting localization
|
||||
accuracy (in \meter) for each. For now, this will just cover the \docWIFI{} component itself.
|
||||
The impact of fusing additional sensors and a adding prior knowledge provided by a transition model will be evaluated later.
|
||||
|
||||
|
||||
%Using the optimized model setups and the measurements $\mRssiVec$ determined by scanning for nearby \docAPshort{}s,
|
||||
%we can directly perform a location estimation by rewriting \refeq{eq:wifiProb}:
|
||||
%For each of the discussed optimization strategies we can now determine the resulting localization accuracy.
|
||||
The position $\mPosVec{}$ within the building that best fits some \docWIFI{} signal strength measurements $\mRssiVec$ received by the smartphone
|
||||
is the one that maximizes $p(\mPosVec \mid \mRssiVec)$.
|
||||
Omitting prior knowledge and normalization, this can be rewritten as:
|
||||
|
||||
\begin{equation}
|
||||
p(\mPosVec \mid \mRssiVec) =
|
||||
\frac{p(\mRssiVec \mid \mPosVec) p(\mPosVec)}{p(\mRssiVec)}
|
||||
\propto p(\mRssiVec \mid \mPosVec),\enskip
|
||||
p(\mPosVec) = p(\mRssiVec) = \text{const}
|
||||
.
|
||||
\label{eq:wifiBayes}
|
||||
\end{equation}
|
||||
|
||||
Following \refeq{eq:wifiObs} and \refeq{eq:wifiProb}, the best
|
||||
location $\mPosVec^*$ given $\mRssiVec$ is the one that satisfies
|
||||
|
||||
\begin{equation}
|
||||
\mPosVec^* = \argmax_{\mPosVec}
|
||||
\prod_{\mRssi_{i} \in \mRssiVec{}}
|
||||
\mathcal{N}(\mRssi_i \mid \mu_{i,\mPosVec}, \sigma^2)
|
||||
\enskip.
|
||||
\label{eq:bestWiFiPos}
|
||||
\end{equation}
|
||||
|
||||
In \refeq{eq:bestWiFiPos} $\mu_{i,\mPosVec}$ is the signal strength for \docAP{} $i$,
|
||||
installed at location $\mPosVec$, returned from the to-be-examined prediction model.
|
||||
For all comparisons, we use a constant uncertainty of $\sigma = \SI{8}{\decibel}$,
|
||||
which is an empirical choice based on prior experiments.
|
||||
|
||||
The quality of the estimated location is determined by using the Euclidean distance between estimation
|
||||
$\mPosVec^*$ and the pedestrian's ground truth position at the time the scan $\mRssiVec$
|
||||
has been received.
|
||||
|
||||
|
||||
|
||||
We therefore conducted 13 walks on 5 different paths within our building,
|
||||
each of which is defined by connecting marker points at well known positions
|
||||
(see \reffig{fig:allWalks}).
|
||||
Whenever the pedestrian reached such a marker, the current time was recorded.
|
||||
Due to constant walking speeds, the ground truth for any timestamp can be approximated
|
||||
using linear interpolation between adjacent markers.
|
||||
|
||||
% walked paths
|
||||
\begin{figure}
|
||||
\centering
|
||||
\input{gfx2/all_walks.tex}
|
||||
\caption{
|
||||
Overview of all conducted paths, each starting at the denoted rectangle.
|
||||
Outdoor areas are marked in green.
|
||||
The length of the paths is as follows:
|
||||
path 1: \SI{207}{\meter}, path 2: \SI{138}{\meter}, path 3: \SI{86}{\meter}, path 4: \SI{140}{\meter},
|
||||
and path 5: \SI{97}{\meter}.
|
||||
}
|
||||
\label{fig:allWalks}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
% error gfx
|
||||
\begin{subfigure}{0.52\textwidth}
|
||||
\centering
|
||||
\input{gfx2/modelPerformance_meter.tex}
|
||||
\end{subfigure}
|
||||
% table
|
||||
%5.98767 9.23025 14.4272 11.9649
|
||||
%6.53764 9.01424 12.8797 12.0121
|
||||
%6.85665 9.82203 13.8528 12.9988
|
||||
%5.35629 8.5921 14.8037 11.9996
|
||||
%4.30191 6.91534 14.0746 11.948
|
||||
%4.26189 6.35975 11.5646 10.7466
|
||||
\begin{subfigure}{0.47\textwidth}
|
||||
\footnotesize
|
||||
\centering
|
||||
\begin{tabular}{|l|c|c|c|c|}
|
||||
\hline
|
||||
& \tablefont\SI{25}{\percent} & \tablefont median & \tablefont\SI{75}{\percent} & \tablefont avg \\\hline
|
||||
\tablefont\noOptEmpiric{} & \tablefont\SI{6.0}{\meter} & \tablefont\SI{9.2}{\meter} & \tablefont\SI{14.4}{\meter} & \tablefont\SI{11.9}{\meter} \\\hline
|
||||
\tablefont\optParamsAllAP{} & \tablefont\SI{6.5}{\meter} & \tablefont\SI{9.0}{\meter} & \tablefont\SI{12.8}{\meter} & \tablefont\SI{12.0}{\meter} \\\hline
|
||||
\tablefont\optParamsEachAP{} & \tablefont\SI{6.8}{\meter} & \tablefont\SI{9.8}{\meter} & \tablefont\SI{13.8}{\meter} & \tablefont\SI{13.0}{\meter} \\\hline
|
||||
\tablefont\optParamsPosEachAP{} & \tablefont\SI{5.4}{\meter} & \tablefont\SI{8.6}{\meter} & \tablefont\SI{14.8}{\meter} & \tablefont\SI{12.0}{\meter} \\\hline
|
||||
\tablefont\optPerFloor{} & \tablefont\SI{4.3}{\meter} & \tablefont\SI{6.9}{\meter} & \tablefont\SI{14.0}{\meter} & \tablefont\SI{11.9}{\meter} \\\hline
|
||||
\tablefont\optPerRegion{} & \tablefont\SI{4.2}{\meter} & \tablefont\SI{6.5}{\meter} & \tablefont\SI{11.6}{\meter} & \tablefont\SI{10.7}{\meter} \\\hline
|
||||
\end{tabular}
|
||||
\vspace{7mm}
|
||||
\end{subfigure}
|
||||
\caption {
|
||||
\changed{%
|
||||
Cumulative error distribution for the error between a location estimation using \refeq{eq:bestWiFiPos} (only \docWIFI{})
|
||||
and the corresponding ground truth depending on the signal strength prediction model,
|
||||
using each of the 3756 \docWIFI{} measurements within the 13 walks.
|
||||
%depending on the signal strength prediction model.
|
||||
All models suffer from several (extremely) high errors that relate to bad \docWIFI{}
|
||||
coverage e.g. within outdoor areas (see \reffig{fig:wifiIndoorOutdoor}). This negatively affects the
|
||||
resulting average and 75th
|
||||
percentile. The strategies {\em \optParamsAllAP{}} and {\em \optParamsEachAP{}} sometimes suffered from overadaption,
|
||||
indicated by increased error values for the 25th percentile.
|
||||
}%
|
||||
}
|
||||
\label{fig:modelPerformance}
|
||||
\end{figure}
|
||||
|
||||
%To estimate the overall performance of the prediction models, we compare the position estimation
|
||||
%for each \docWIFI{} measurement within the recorded paths (3756 \docAPshort{} scans in total)
|
||||
%against the corresponding ground-truth, which indicates the absolute 3D error in meter.
|
||||
The position estimation for each \docWIFI{} measurement within the recorded walks (3756 scans in total)
|
||||
is compared against its corresponding ground truth, indicating the 3D distance error.
|
||||
\changed{%
|
||||
This is the Euclidean distance (in $x,y,z$) between estimation and ground truth, calculated for every
|
||||
\docWIFI{} measurement (approximately every \SI{600}{\milli\second}).
|
||||
}%
|
||||
The resulting cumulative error distribution can be seen in \reffig{fig:modelPerformance}.
|
||||
The quality of the location estimation directly scales with the quality of the signal strength prediction model.
|
||||
However, as discussed earlier, the maximal estimation error might increase for some setups.
|
||||
%
|
||||
Either due to multimodalities, where more than one area matches the recent
|
||||
\docWIFI{} observation, or optimization yielded an overadaption where the average signal
|
||||
strength prediction error is small, but the maximum error is dramatically increased for some regions.
|
||||
|
||||
|
||||
|
||||
% -------------------------------- plots indicating walk issues -------------------------------- %
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\input{gfx2/wifiMultimodality.tex}
|
||||
\caption{
|
||||
\docWIFI{}-only location probability for three distinct scans where
|
||||
higher color intensities denote a higher likelihood for \refeq{eq:bestWiFiPos}.
|
||||
The first scan (left, green) depicts a best-case scenario, where the region around the ground truth (black rectangle) is highly probable.
|
||||
Often, other locations are just as likely as the ground truth (2nd scan, blue),
|
||||
or the location with the highest probability is far from the actual ground truth (3rd scan, right, red).
|
||||
}
|
||||
\label{fig:wifiMultimodality}
|
||||
\end{figure}
|
||||
|
||||
\reffig{fig:wifiMultimodality} depicts aforementioned issues of multimodal (blue) or wrong (red) location
|
||||
estimations. Filtering (\refeq{eq:recursiveDensity}) thus is highly recommended, as minor errors are compensated
|
||||
using other sensors or a movement model that prevents the estimation from leaping within the building.
|
||||
However, if wrong sensor values are observed for longer time periods, even filtering will produce erroneous
|
||||
results and might get stranded (density is trapped e.g. within a room),
|
||||
as the movement model is constrained by the actual floorplan.
|
||||
|
||||
|
||||
% -------------------------------- other distributions, unseen APs, etc -------------------------------- %
|
||||
|
||||
\hspace{3mm}%hack
|
||||
|
||||
To reduce the amount of such misclassifications, where other locations within the building are
|
||||
as likely as the pedestrian's actual location, we examined various approaches.
|
||||
Unfortunately, most of which did not provide a viable enhancement under all conditions for the performed walks.
|
||||
|
||||
%\commentByFrank{ja, eig gehoert das vor in die theorie, aber da es so kurz ist und vorne immer die ueberleitung kaputt macht
|
||||
%oder anderen dingen vorgreifen wuerde, steht es hier}
|
||||
The misclassification-rate is determined by counting the amount of (random) locations within
|
||||
the building that produce a similar probability \refeq{eq:wifiProb} compared to the actual ground truth
|
||||
position.
|
||||
|
||||
One possibility to dissolve such an equal \docWIFI{}-likelihood between two (or more) locations is,
|
||||
to not only consider the \docAPshort{}s seen by the smartphone, but also the \docAPshort{}s not seen
|
||||
by the smartphone. This additional information can be used to rule out all locations where this unseen
|
||||
\docAP{} should have be received (high signal strength from the prediction model).
|
||||
% There might be an \docAP{} that should be visible at the other locations. However,
|
||||
%as the Smartphone did not see this \docAPshort{} the other location can be ruled out.
|
||||
While this works in theory, evaluations revealed several issues:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item{
|
||||
There is a chance that even a nearby \docAPshort{} is unseen during a scan due to packet collisions or
|
||||
temporal effects within the surrounding. It thus might make sense to opt-out other locations
|
||||
only, if at least two \docAPshort{}s are missing. On the other hand, this obviously demands for (at least)
|
||||
two \docAPshort{}s to actually be different between the two locations, and requires a lot of permanently
|
||||
installed transmitters to work out.
|
||||
}
|
||||
|
||||
\item{
|
||||
Furthermore, this requires the signal strength prediction model to be fairly accurate. Within our testing
|
||||
walks, several places are surrounded by concrete walls, which cause a harsh, local drop in signal strength.
|
||||
The models used within this work will not accurately predict the signal strength for such locations.
|
||||
%%Including \docAPshort{}s unseen by the Smartphone thus often increases the estimation error instead
|
||||
%%of fixing the multimodality.
|
||||
}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
To sum up, while some situations e.g. outdoors could be improved,
|
||||
many other situations are deteriorated, especially when some transmitters are (temporarily)
|
||||
attenuated by ambient conditions like concrete walls.
|
||||
|
||||
We therefore examined variations of the probability calculation from \refeq{eq:wifiProb}.
|
||||
Contrary to the results shown in \cite{PotentialRisks}, removing weak \docAPshort{}s from $\mRssiVec{}$
|
||||
did not work out. While some estimations were improved, the overall error increased
|
||||
for our walks, as there are many situations where only a handful \docAP{}s can be seen.
|
||||
Removing this (valid) information will increase the error for such situations.
|
||||
|
||||
However, incorporating additional knowledge provided by virtual \docAP{}s (see section \ref{sec:vap}) mitigated this issues.
|
||||
If e.g. only one out of six virtual networks is seen, this observation is likely to be erroneous, no matter
|
||||
what the corresponding signal strength indicates.
|
||||
As those occasions are relatively seldom, the impact is a minor one.
|
||||
Nevertheless, depending on the used prediction model, a handful of major estimation errors were prevented.
|
||||
Additionally, among all examined models and walks, there was none where this approached lead to increased error values.
|
||||
|
||||
%This approach improved the location estimation especially
|
||||
%for areas where a transmitter was hardly seen within the reference measurements and its optimization is thus
|
||||
%expected to be inaccurate.
|
||||
|
||||
Using a smaller $\sigma$ or a stricter exponential distribution for the model vs. scan comparison in \refeq{eq:wifiProb}
|
||||
had a positive effect on the misclassification error for some of the walks, but also slightly increased the overall estimation error.
|
||||
%(see figure \ref{fig:normalVsExponential}).
|
||||
Due to those negative side-effects, the final localization system (\refeq{eq:recursiveDensity}) is unlikely to profit from such changes.
|
||||
|
||||
%\todo{ueberleitung OK?}
|
||||
|
||||
% braucht zu viel platz
|
||||
%\begin{figure}
|
||||
% \input{gfx/wifiCompare_normalVsExp_cross.tex}
|
||||
% \input{gfx/wifiCompare_normalVsExp_meter.tex}
|
||||
% \caption{
|
||||
% Comparison between normal- (black) and exponential-distribution (red) for \refeq{eq:wifiProb}.
|
||||
% While misclassifications are slightly reduced (upper chart),
|
||||
% the median error between ground-truth and estimation (lower chart) increases by
|
||||
% about \SI{1}{\meter}.
|
||||
% }
|
||||
% \label{fig:normalVsExponential}
|
||||
%\end{figure}
|
||||
|
||||
|
||||
|
||||
%\todo{
|
||||
% erwähnen??? sigma je nach signalstärke anpassen bringt leider auch nichts. wenn man das aber macht,
|
||||
% dann: fuer grosse signalstaerken ein grosses sigma! andersrum gehts nach hinten los!
|
||||
%}
|
||||
|
||||
|
||||
|
||||
|
||||
% -------------------------------- final system -------------------------------- %
|
||||
|
||||
\subsection{Filtered location estimation error}
|
||||
\label{sec:evalFiltered}
|
||||
|
||||
After examining the \docWIFI{} component on its own, we will now analyze the impact of previously discussed model
|
||||
optimizations on our smartphone-based indoor localization system described in section \ref{sec:system}, based on
|
||||
\refeq{eq:recursiveDensity}.
|
||||
|
||||
Due to transition constraints from the building's floorplan, we expect the
|
||||
posterior density to often get stuck when the \docWIFI{} component provides erroneous estimations
|
||||
due to bad signal strength predictions or observations (see \reffig{fig:wifiMultimodality}):
|
||||
|
||||
A pedestrian walks along a hallway, but bad model values indicate that his most likely position
|
||||
is within a room right next to the hallway.
|
||||
If the density (described by the particles) is dragged (completely) into this room,
|
||||
the IMU indicates no change in direction (pedestrian walks straight),
|
||||
and the room has only one single door, the density is trapped within this room.
|
||||
%
|
||||
While such problems can often be solved by simply using more particles to describe the posterior,
|
||||
smartphone use-cases are usually performance- and battery limited.
|
||||
|
||||
As particle filtering from \refeq{eq:recursiveDensity} is a random process with varying output,
|
||||
we calculated each combination of the {\em 13 walks and six optimization strategies},
|
||||
25 times, using 5000, 7500 and 10000 particles resulting in 75 runs per walk, 975 per strategy and 5850 in total.
|
||||
%
|
||||
\reffig{fig:overallSystemError} depicts the cumulative error distribution per optimization strategy,
|
||||
resulting from all executions for each conducted walk.
|
||||
|
||||
While most values represent the expected results (more optimization yields better results),
|
||||
the values for {\em \optParamsAllAP{}} and {\em \optPerRegion{}} do not.
|
||||
The increased error for both strategies can be explained by having a closer look at the walked
|
||||
paths and relates to exceptional regions like outdoors. In both cases there is some sort of model overadaption.
|
||||
%
|
||||
As mentioned earlier, a single, simple model is unable to accurately estimate the signal strength for both
|
||||
buildings and adjacent outdoor regions. Due to metallized glass (see \reffig{fig:wifiIndoorOutdoor}), in- and
|
||||
outdoor conditions strongly differ. The model's optimization
|
||||
builds a compromise among all locations and renders indoor places unnecessarily bad: Previous
|
||||
discussions showed that outdoor regions do not provide viable \docWIFI{} signals at all. It thus makes sense
|
||||
to just omit badly covered regions from the model optimization process, as the filter's evaluation will simply
|
||||
omit \docWIFI{} when the quality is insufficient (see section \ref{sec:wifiQuality}).
|
||||
|
||||
%
|
||||
While {\em \optPerRegion{}} does not suffer from such issues due to separated optimization regions for in- and outdoor,
|
||||
its increased error relates to movements between such adjacent regions, as there often is a huge model difference.
|
||||
While this difference is perfectly fine, as it also exists within real-world conditions,
|
||||
the filtering process suffers at such model-boundaries:
|
||||
The model prevents the particles from moving e.g. from inside the building towards outdoor regions, as the
|
||||
outdoor-model does not yet match. Due to sensor delays and issues with the absolute heading near in- and outdoor boundaries
|
||||
(metal-framed doors) the error is slightly increased and retained for some time until the density stabilizes itself.
|
||||
|
||||
Especially for {\em path 1}, the particle-filter often got stuck within the upper right outdoor area between both buildings
|
||||
(see \reffig{fig:final}). Using the empirical parameters, \SI{40}{\percent} of all runs for this path got stuck at this location.
|
||||
{\em \optParamsAllAP{}} already reduced the risk to \SI{20}{\percent} and all other optimization strategies did not get stuck at all.
|
||||
Increasing the number of particles from 5000 to 10000 indicated only a minor increase in accuracy and slightly decreased
|
||||
the risk of getting stuck. For battery- and performance-constrained use-cases on the smartphone 5000 thus seems to be sufficient.
|
||||
|
||||
Issues while moving from the inside out or vice versa, should also be mitigated by incorporating the smartphone's GPS sensor.
|
||||
However, within our testing walks, the GPS did rarely provide accurate measurements, as the outdoor-time often was too short
|
||||
for the sensor to receive a valid fix. The accuracy indicated by the GPS usually was $\ge \SI{50}{\meter}$ and thus
|
||||
did not provide useful information.
|
||||
|
||||
However, comparing the error results within \reffig{fig:modelPerformance} and \reffig{fig:overallSystemError}, one can
|
||||
denote the positive impact of fusing multiple sensors with a transition model based on the building's
|
||||
actual floorplan. Even within outdoor regions and staircases that suffer from erroneous \docWIFI{} estimations due to a bad
|
||||
signal strength coverage. The quality metric described in section \ref{sec:wifiQuality} was able to detect such
|
||||
cases and \docWIFI{} was temporarily ignored. The remaining sensors, like the IMU, and the floorplan were able to
|
||||
keep the pedestrian's heading until the signal quality reached sane levels again.
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{subfigure}{0.49\textwidth}
|
||||
\input{gfx2/overall-system-error.tex}
|
||||
\end{subfigure}
|
||||
%
|
||||
\begin{subfigure}{0.50\textwidth}
|
||||
%OVERALL:2.62158 5.13701 11.1822 9.00261
|
||||
%OVERALL:2.92524 6.00231 12.4425 10.6983
|
||||
%OVERALL:1.98318 3.99259 7.92429 5.81281
|
||||
%OVERALL:1.8647 3.86918 7.10482 5.62054
|
||||
%OVERALL:1.60847 3.15739 6.13963 4.79148
|
||||
%OVERALL:1.63617 3.34828 6.5379 5.12281
|
||||
\footnotesize
|
||||
\centering
|
||||
\setlength{\tabcolsep}{0.25em} % for the horizontal padding
|
||||
\begin{tabular}{|l|c|c|c|c|c|}
|
||||
|
||||
\hline
|
||||
& \tablefont\SI{25}{\percent} & \tablefont median & \tablefont\SI{75}{\percent} & \tablefont avg & \tablefont stuck \\\hline
|
||||
\tablefont\noOptEmpiric{} & \tablefont\SI{2.6}{\meter} & \tablefont\SI{5.1}{\meter} & \tablefont\SI{11.2}{\meter} & \tablefont\SI{9.0}{\meter} & \tablefont\SI{22}{\percent} \\\hline
|
||||
\tablefont\optParamsAllAP{} & \tablefont\SI{2.9}{\meter} & \tablefont\SI{6.0}{\meter} & \tablefont\SI{12.4}{\meter} & \tablefont\SI{10.7}{\meter} & \tablefont\SI{15}{\percent} \\\hline
|
||||
\tablefont\optParamsEachAP{} & \tablefont\SI{1.9}{\meter} & \tablefont\SI{4.0}{\meter} & \tablefont\SI{7.9}{\meter} & \tablefont\SI{5.8}{\meter} & \tablefont\SI{5}{\percent} \\\hline
|
||||
\tablefont\optParamsPosEachAP{} & \tablefont\SI{1.9}{\meter} & \tablefont\SI{3.9}{\meter} & \tablefont\SI{7.1}{\meter} & \tablefont\SI{5.6}{\meter} & \tablefont\SI{5}{\percent} \\\hline
|
||||
\tablefont\optPerFloor{} & \tablefont\SI{1.6}{\meter} & \tablefont\SI{3.2}{\meter} & \tablefont\SI{6.1}{\meter} & \tablefont\SI{4.8}{\meter} & \tablefont\SI{4}{\percent} \\\hline
|
||||
\tablefont\optPerRegion{} & \tablefont\SI{1.6}{\meter} & \tablefont\SI{3.3}{\meter} & \tablefont\SI{6.5}{\meter} & \tablefont\SI{5.0}{\meter} & \tablefont\SI{4}{\percent} \\\hline
|
||||
\end{tabular}
|
||||
\setlength{\tabcolsep}{1.0em} % reset the horizontal padding
|
||||
\vspace{9.0mm}
|
||||
\end{subfigure}
|
||||
%
|
||||
\caption{
|
||||
Cumulative error distribution for each model when used within the final localization system from \refeq{eq:recursiveDensity}.
|
||||
\changed{The error between ground truth and estimation is calculated for each filter update, every \SI{500}{\milli\second}.}
|
||||
Especially {\em \optParamsAllAP{}} suffered from overadaption and thus provided worse results. Compared to just using \docWIFI{}
|
||||
(\reffig{fig:modelPerformance}) the error difference between the models now is much more distinct.
|
||||
Starting from {\em \optParamsEachAP{}} the system rarely gets stuck and provides a viable accuracy.
|
||||
}
|
||||
\label{fig:overallSystemError}
|
||||
\end{figure}
|
||||
|
||||
|
||||
Finally, \reffig{fig:final} depicts all of the previously discussed improvements and issues by examining {\em path 1}
|
||||
from \reffig{fig:allWalks}.
|
||||
For better visibility within path- and error-plots, the unfiltered estimations were smoothed, using a moving average of
|
||||
ten consecutive values ($\approx \SI{7}{\second}$). As can be seen, optimizing the \docWIFI{} model yields an improvement
|
||||
for indoor situations, as the estimation is closer to the ground truth, and the starting position (indicated by the rectangle)
|
||||
is more accurate.
|
||||
For the depicted walk, the error outdoors is increased, as the likeliest position is shifted. Adding
|
||||
the particle filter (\refeq{eq:recursiveDensity}) on top of the optimized model, fixes this issue. What cannot be seen
|
||||
within the figure: while the likeliest position is deteriorated by the optimization, the likelihood of the region around
|
||||
the pedestrian's ground truth is actually increased. Thus, combined with transition model and other sensors, the system
|
||||
is able to stay right on track. The filter fails for {\em \noOptEmpiric}, as one \docAPshort{} near the entry of the second
|
||||
building prevents the density from entering, due to a very high difference between model and real-world conditions.
|
||||
|
||||
\begin{figure}
|
||||
%\begin{subfigure}{0.49\textwidth}
|
||||
% \centering
|
||||
% \input{gfx/final3D.tex}
|
||||
%\end{subfigure}
|
||||
%\begin{subfigure}{0.49\textwidth}
|
||||
% \centering
|
||||
% \input{gfx/final2D.tex}
|
||||
%\end{subfigure}
|
||||
\begin{subfigure}{0.99\textwidth}
|
||||
\centering
|
||||
\input{gfx2/final3D.tex}
|
||||
\end{subfigure}
|
||||
\\\vspace{4mm}
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
\centering
|
||||
\input{gfx2/final2D-a.tex}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
\centering
|
||||
\input{gfx2/final2D-b.tex}
|
||||
\end{subfigure}
|
||||
\\
|
||||
\begin{subfigure}{0.99\textwidth}
|
||||
\input{gfx2/final-error.tex}
|
||||
\end{subfigure}
|
||||
\caption{
|
||||
Detailed analysis of the \docWIFI{} error for {\em \noOptEmpiric{}} (unoptimized) and {\em \optPerFloor{}}
|
||||
using {\em path 1} (see \reffig{fig:allWalks}). While optimization reduces the error indoors, the error outdoors
|
||||
is increased (bold line). A particle filter (PF, \refeq{eq:recursiveDensity}) on top of the optimized model
|
||||
takes \SI{5}{\second} to initialize the starting-position (rectangles), fixes the outdoor-issue and
|
||||
improves indoor situations. A filter on top of {\em \noOptEmpiric{}} got stuck right before
|
||||
entering the 2nd building. Both, the filtered and unfiltered version of {\em \noOptEmpiric{}}
|
||||
are dragged into the 2nd floor in the middle of the walk.
|
||||
\changed{%
|
||||
As the particle filter starts uniformly distributed along the whole area, the initial estimations
|
||||
determine the pedestrian's position to be in the center of the area (average position among all particles).
|
||||
The black and green walks thus start in empty space above the ground.
|
||||
After a few filter updates (see first seconds of the error plot) the estimation represents the pedestrian's
|
||||
actual position within the building.
|
||||
}
|
||||
}
|
||||
\label{fig:final}
|
||||
\end{figure}
|
||||
|
||||
|
||||
% results
|
||||
% 5000 particles
|
||||
%
|
||||
% model empiric
|
||||
% |path1a(5.76715@100%) |path1b(3.73881@4%) |toni-all-1a(6.1505@76%) |toni-all-1b(4.60639@40%) |path2a(7.35355@28%) |path2b(7.4316@0%) |toni-all-2a(10.7068@44%) |toni-all-2b(7.4323@28%) |toni-inst-1b(4.60685@0%) |toni-inst-2a(3.83979@0%) |toni-inst-2b(3.98889@0%) |toni-inst-3a(4.70925@0%) |toni-inst-3b(4.40971@0%) | OVERALL:(5.12463@24%)
|
||||
% model opt 1
|
||||
% |path1a(17.6635@56%) |path1b(9.41882@24%)|toni-all-1a(4.06972@0%) |toni-all-1b(3.83157@0%) |path2a(6.92405@16%) |path2b(8.6365@16%) |toni-all-2a(11.6348@48%) |toni-all-2b(12.029@76%) |toni-inst-1b(5.07535@0%) |toni-inst-2a(4.45517@0%) |toni-inst-2b(3.99025@0%) |toni-inst-3a(8.28201@8%) |toni-inst-3b(5.57021@20%) | OVERALL:(6.57212@20%)
|
||||
% model opt 2
|
||||
% |path1a(2.01602@0%) |path1b(2.90237@0%) |toni-all-1a(2.80293@0%) |toni-all-1b(1.99745@0%) |path2a(5.39013@4%) |path2b(8.13855@0%) |toni-all-2a(9.7462@40%) |toni-all-2b(9.28677@44%) |toni-inst-1b(4.5305@0%) |toni-inst-2a(4.28726@0%) |toni-inst-2b(4.03041@0%) |toni-inst-3a(4.26278@4%) |toni-inst-3b(5.63394@24%) | OVERALL:(4.07822@8%)
|
||||
% model opt 3
|
||||
% |path1a(1.74623@0%) |path1b(2.61609@0%) |toni-all-1a(2.49372@0%) |toni-all-1b(1.90326@0%) |path2a(5.07957@4%) |path2b(7.73973@8%) |toni-all-2a(10.2793@48%) |toni-all-2b(6.48194@16%) |toni-inst-1b(5.73752@4%) |toni-inst-2a(3.76165@0%) |toni-inst-2b(3.51509@0%) |toni-inst-3a(6.06681@16%) |toni-inst-3b(5.27748@24%) | OVERALL:(3.94786@9%)
|
||||
% model per floor
|
||||
% |path1a(1.76139@0%) |path1b(2.22047@0%) |toni-all-1a(2.10094@0%) |toni-all-1b(1.62287@0%) |path2a(5.50715@16%) |path2b(7.1257@0%) |toni-all-2a(10.5138@48%) |toni-all-2b(6.72044@20%) |toni-inst-1b(3.77885@0%) |toni-inst-2a(2.23669@0%) |toni-inst-2b(3.20604@0%) |toni-inst-3a(2.46891@0%) |toni-inst-3b(2.73366@0%) | OVERALL:(3.22315@6%)
|
||||
% model per bbox
|
||||
% |path1a(1.80033@0%) |path1b(2.32875@0%) |toni-all-1a(2.17754@0%) |toni-all-1b(1.6697@0%) |path2a(6.38772@16%) |path2b(5.84004@0%) |toni-all-2a(9.67635@36%) |toni-all-2b(8.3282@24%) |toni-inst-1b(4.11891@0%) |toni-inst-2a(2.64016@0%) |toni-inst-2b(3.36297@0%) |toni-inst-3a(2.15568@0%) |toni-inst-3b(2.98047@0%) | OVERALL:(3.40679@5%)
|
||||
%
|
||||
%
|
||||
% 7500 particles
|
||||
% model empiric
|
||||
% |path1a(8.23256@100%) |path1b(3.91532@0%) |toni-all-1a(7.0666@80%) |toni-all-1b(5.35225@48%) |path2a(6.5708@16%) |path2b(7.53023@0%) |toni-all-2a(10.6246@40%) |toni-all-2b(6.63087@4%) |toni-inst-1b(4.76934@0%) |toni-inst-2a(3.82903@0%) |toni-inst-2b(4.00339@0%) |toni-inst-3a(3.85417@4%) |toni-inst-3b(4.47613@0%) | OVERALL:(5.23337@22%)
|
||||
% model opt 1
|
||||
% |path1a(10.3959@36%) |path1b(8.37674@16%)|toni-all-1a(3.96164@0%) |toni-all-1b(4.24675@4%) |path2a(6.02912@8%) |path2b(8.1804@0%) |toni-all-2a(12.4277@48%) |toni-all-2b(10.4748@56%) |toni-inst-1b(5.49874@4%) |toni-inst-2a(4.09279@0%) |toni-inst-2b(3.87762@0%) |toni-inst-3a(5.10456@0%) |toni-inst-3b(4.52029@4%) | OVERALL:(5.97832@13%)
|
||||
% model opt 2
|
||||
% |path1a(2.04657@0%) |path1b(2.82853@0%) |toni-all-1a(2.93467@0%) |toni-all-1b(1.98463@0%) |path2a(4.66513@8%) |path2b(8.19959@0%) |toni-all-2a(8.34246@12%) |toni-all-2b(7.2456@12%) |toni-inst-1b(4.72651@0%) |toni-inst-2a(4.00208@0%) |toni-inst-2b(3.94811@0%) |toni-inst-3a(3.74498@0%) |toni-inst-3b(5.15519@16%) | OVERALL:(3.99594@3%)
|
||||
% model opt 3
|
||||
% |path1a(1.82148@0%) |path1b(2.7664@0%) |toni-all-1a(2.46073@0%) |toni-all-1b(1.93273@0%) |path2a(5.15394@4%) |path2b(7.53562@0%) |toni-all-2a(8.43582@20%) |toni-all-2b(6.01557@8%) |toni-inst-1b(5.47576@0%) |toni-inst-2a(3.44451@0%) |toni-inst-2b(3.6069@0%) |toni-inst-3a(4.84921@4%) |toni-inst-3b(5.62456@8%) | OVERALL:(3.88747@3%)
|
||||
% model per floor
|
||||
% |path1a(1.79881@0%) |path1b(2.1456@0%) |toni-all-1a(2.17125@0%) |toni-all-1b(1.63247@0%) |path2a(5.37789@8%) |path2b(6.79701@0%) |toni-all-2a(9.29407@32%) |toni-all-2b(6.28292@8%) |toni-inst-1b(3.79967@0%) |toni-inst-2a(2.24007@0%) |toni-inst-2b(3.15768@0%) |toni-inst-3a(2.17671@0%) |toni-inst-3b(2.83445@0%) | OVERALL:(3.16559@3%)
|
||||
% model per bbox
|
||||
% |path1a(1.77473@0%) |path1b(2.2609@0%) |toni-all-1a(2.06814@4%) |toni-all-1b(1.6841@0%) |path2a(6.48652@4%) |path2b(5.79359@0%) |toni-all-2a(9.40116@24%) |toni-all-2b(7.21382@16%) |toni-inst-1b(3.82829@0%) |toni-inst-2a(2.47975@0%) |toni-inst-2b(3.35265@0%) |toni-inst-3a(2.20058@0%) |toni-inst-3b(2.86407@0%) | OVERALL:(3.3381@3%)
|
||||
%
|
||||
% 10000 particles
|
||||
% model empiric
|
||||
% |path1a(6.43082@100%) |path1b(3.58544@0%) |toni-all-1a(6.92747@76%) |toni-all-1b(5.81139@72%) |path2a(5.12683@4%) |path2b(7.91078@0%) |toni-all-2a(10.3958@16%) |toni-all-2b(7.09186@8%) |toni-inst-1b(4.45815@0%) |toni-inst-2a(4.077@0%) |toni-inst-2b(4.02524@0%) |toni-inst-3a(3.35953@0%) |toni-inst-3b(4.40318@0%) | OVERALL:(5.06224@21%)
|
||||
% model opt 1
|
||||
% |path1a(6.47262@16%) |path1b(6.04852@12%)|toni-all-1a(3.97276@0%) |toni-all-1b(3.62778@0%) |path2a(5.48776@8%) |path2b(8.21965@0%) |toni-all-2a(11.3175@44%) |toni-all-2b(11.4499@60%) |toni-inst-1b(5.19827@0%) |toni-inst-2a(4.1351@0%) |toni-inst-2b(3.90291@0%) |toni-inst-3a(4.58096@8%) |toni-inst-3b(4.62723@4%) | OVERALL:(5.47998@11%)
|
||||
% model opt 2
|
||||
% |path1a(2.15007@0%) |path1b(2.80157@0%) |toni-all-1a(2.70849@0%) |toni-all-1b(1.8937@0%) |path2a(4.13743@0%) |path2b(8.20317@0%) |toni-all-2a(7.86448@12%) |toni-all-2b(7.41533@12%) |toni-inst-1b(4.54459@0%) |toni-inst-2a(4.17614@0%) |toni-inst-2b(3.90311@0%) |toni-inst-3a(3.846@4%) |toni-inst-3b(4.84665@8%) | OVERALL:(3.89883@2%)
|
||||
% model opt 3
|
||||
% |path1a(1.79085@0%) |path1b(2.64892@0%) |toni-all-1a(2.33085@0%) |toni-all-1b(1.9533@0%) |path2a(4.40712@4%) |path2b(7.815@0%) |toni-all-2a(8.97738@28%) |toni-all-2b(5.87188@0%) |toni-inst-1b(4.93315@0%) |toni-inst-2a(3.53349@0%) |toni-inst-2b(3.60056@0%) |toni-inst-3a(5.57379@8%) |toni-inst-3b(4.49996@4%) | OVERALL:(3.78756@3%)
|
||||
% model per floor
|
||||
% |path1a(1.7498@0%) |path1b(2.11555@0%) |toni-all-1a(1.89388@0%) |toni-all-1b(1.61323@0%) |path2a(5.06884@0%) |path2b(6.7157@0%) |toni-all-2a(9.54228@36%) |toni-all-2b(6.7699@24%) |toni-inst-1b(3.84709@0%) |toni-inst-2a(2.2789@0%) |toni-inst-2b(3.17625@0%) |toni-inst-3a(2.13417@0%) |toni-inst-3b(2.59095@0%) | OVERALL:(3.08506@4%)
|
||||
% model per bbox
|
||||
% |path1a(1.73406@0%) |path1b(2.30577@0%) |toni-all-1a(2.01979@0%) |toni-all-1b(1.64225@0%) |path2a(6.30713@12%) |path2b(6.02961@0%) |toni-all-2a(9.70206@20%) |toni-all-2b(6.55847@8%) |toni-inst-1b(3.93324@0%) |toni-inst-2a(2.459@0%) |toni-inst-2b(3.3522@0%) |toni-inst-3a(2.13783@0%) |toni-inst-3b(2.63231@0%) | OVERALL:(3.29408@3%)
|
||||
|
||||
% all combined
|
||||
% model empiric
|
||||
% |path1a(6.72661@100%) |path1b(3.74113@1%) |toni-all-1a(6.69696@77%) |toni-all-1b(5.26661@53%) |path2a(6.11286@16%) |path2b(7.63154@0%) |toni-all-2a(10.5765@33%) |toni-all-2b(7.0506@13%) |toni-inst-1b(4.61087@0%) |toni-inst-2a(3.91375@0%) |toni-inst-2b(4.00372@0%) |toni-inst-3a(3.89586@1%) |toni-inst-3b(4.43552@0%) | OVERALL:(5.13701@22%)
|
||||
% model opt 1
|
||||
% |path1a(10.0538@36%) |path1b(7.96075@17%)|toni-all-1a(3.99762@0%) |toni-all-1b(3.89137@1%) |path2a(6.08714@10%) |path2b(8.33165@5%) |toni-all-2a(11.7481@46%) |toni-all-2b(11.2068@64%) |toni-inst-1b(5.25558@1%) |toni-inst-2a(4.23255@0%) |toni-inst-2b(3.92269@0%) |toni-inst-3a(5.62327@5%) |toni-inst-3b(4.82302@9%) | OVERALL:(6.00231@15%)
|
||||
% model opt 2
|
||||
% |path1a(2.07273@0%) |path1b(2.84622@0%) |toni-all-1a(2.81671@0%) |toni-all-1b(1.9553@0%) |path2a(4.66453@4%) |path2b(8.17561@0%) |toni-all-2a(8.60702@21%) |toni-all-2b(7.68813@22%) |toni-inst-1b(4.59132@0%) |toni-inst-2a(4.15243@0%) |toni-inst-2b(3.96315@0%) |toni-inst-3a(3.96402@2%) |toni-inst-3b(5.16219@16%) | OVERALL:(3.99259@5%)
|
||||
% model opt 3
|
||||
% |path1a(1.78819@0%) |path1b(2.67775@0%) |toni-all-1a(2.43527@0%) |toni-all-1b(1.92948@0%) |path2a(4.90009@4%) |path2b(7.70505@2%) |toni-all-2a(9.16313@32%) |toni-all-2b(6.10436@8%) |toni-inst-1b(5.37191@1%) |toni-inst-2a(3.57332@0%) |toni-inst-2b(3.57426@0%) |toni-inst-3a(5.4337@9%) |toni-inst-3b(5.12685@12%) | OVERALL:(3.86918@5%)
|
||||
% model per floor
|
||||
% |path1a(1.77029@0%) |path1b(2.16265@0%) |toni-all-1a(2.05043@0%) |toni-all-1b(1.62289@0%) |path2a(5.29536@8%) |path2b(6.88344@0%) |toni-all-2a(9.75416@38%) |toni-all-2b(6.57473@17%) |toni-inst-1b(3.80742@0%) |toni-inst-2a(2.25183@0%) |toni-inst-2b(3.18067@0%) |toni-inst-3a(2.24992@0%) |toni-inst-3b(2.72835@0%) | OVERALL:(3.15739@4%)
|
||||
% model per bbox
|
||||
% |path1a(1.76908@0%) |path1b(2.30081@0%) |toni-all-1a(2.09503@1%) |toni-all-1b(1.66411@0%) |path2a(6.39346@10%) |path2b(5.8772@0%) |toni-all-2a(9.59953@26%) |toni-all-2b(7.06924@16%) |toni-inst-1b(3.96094@0%) |toni-inst-2a(2.51694@0%) |toni-inst-2b(3.3549@0%) |toni-inst-3a(2.1656@0%) |toni-inst-3b(2.81547@0%) | OVERALL:(3.34847@4%)
|
||||
|
||||
|
||||
% REAL WALKS
|
||||
|
||||
%\todo{obwohl das angepasste modell doch recht gut laeuft und der fehler recht klein wird, sind immernoch stellen dabei,
|
||||
%wo es einfach nicht gut passt, unguenstige mehrdeutigkeiten vorliegen, oder regionen einfach nicht passen wie sie sollten.
|
||||
%das liegt teils auch daran, dass die fingerprints drehend aufgenommen wurden und beim laufen nach hinten durch den
|
||||
%menschen abgeschottet wird. auch zeitlicher verzug kann ein problem darstellen.}
|
||||
|
||||
%\todo{
|
||||
% wenn ich beim fingerprinten einen AP an einer stelle NICHT gesehen habe,
|
||||
% ist das auch eine aussage für die model optimierung.. da kann dann sicher keine signatlstaerke > -90 an der stelle raus kommen
|
||||
%}
|
||||
|
||||
|
||||
%ware das grid-model nicht da, wuerde der outdoor teil richtig schlecht laufen,
|
||||
%weil das wlan hier absolut ungenau ist.. da die partikel aber aufgrund des vorherigen
|
||||
%walks schon recht dicht beisamen sind, kittet das das ganze sehr gut.
|
||||
%kann man testen, indem man z.B. weniger resampling macht und mehr alte partikel aufhebt.
|
||||
%geht sofort kaputt sobald man aus dem gebäude raus kommt
|
||||
|
||||
|
||||
|
||||
% was ist das??
|
||||
%\input{gfx/wifi-opt-error-hist-methods.tex}
|
||||
%\input{gfx/wifi-opt-error-hist-stair-outdoor.tex}
|
||||
%outdoor hat insgesamt nicht all zu viel einfluss, da die meisten APs
|
||||
%an den outdoor punkten kaum gesehen werden. auf einzelne APs kann
|
||||
%der einfluss jedoch recht groß sein, siehe den fingerprint plot von
|
||||
%dem einen ausgewählten AP
|
||||
|
||||
|
||||
%\todo{anfaenglich falsches heading ist gift, wegen rel. heading, weil sich dann alles verlaeuft. fix: anfaenglich große heading variation erlauben}
|
||||
|
||||
%\todo{NICHT MEHR AKTUELL: abs-head ist in der observation besser, weil es beim resampling mehr bringt und dafuer srogt, dass die richtigen geloescht werden!}
|
||||
|
||||
1
tex_reviewed/chapters/interoduction.tex
Executable file
1
tex_reviewed/chapters/interoduction.tex
Executable file
@@ -0,0 +1 @@
|
||||
abstract
|
||||
86
tex_reviewed/chapters/introduction.tex
Executable file
86
tex_reviewed/chapters/introduction.tex
Executable file
@@ -0,0 +1,86 @@
|
||||
\section{Introduction}
|
||||
|
||||
State of the art indoor localization systems use a fusion of multiple
|
||||
(smartphone) sensors to infer the pedestrian's current location within a building
|
||||
based on a variety of sensor observations.
|
||||
%
|
||||
Among those, the internal IMU, namely accelerometer and gyroscope, is often
|
||||
used as a core component, that provides accurate relative movement information
|
||||
like step- and turn-detection. However, this requires the pedestrian's
|
||||
initial position to be well known, e.g. using a GPS-fix just before
|
||||
entering the building. Additionally, the sensor's error will sum up over
|
||||
time \cite{Koeping14}.
|
||||
|
||||
Depending on the used fusion-method, latter can be addressed
|
||||
using a movement model for the pedestrian, that prevents unlikely movements
|
||||
and locations. However, this will obviously work only to some extent and still
|
||||
requires the initial position to be at least vaguely known.
|
||||
%
|
||||
Thus, indoor localization systems incorporate the knowledge of sensors,
|
||||
that provide absolute location information, like \docWIFI{} and
|
||||
\docIBeacon{}s. The signal strength of nearby transmitters, received
|
||||
by the smartphone, yields a vague information about the distance
|
||||
towards it. While the provided accuracy is relatively low,
|
||||
it can be stabilized by the IMU and vice versa.
|
||||
|
||||
|
||||
The downside of this approach is that both, \docWIFI{} and \docIBeacon{}s, require additional prior
|
||||
knowledge to work. To infer the probability of the pedestrian currently
|
||||
residing at an arbitrary location, the signal strengths received
|
||||
by the smartphone are compared with the signal strengths which should be received at this
|
||||
location (prior knowledge). As radio frequency (RF) signals are highly dependent
|
||||
on the surroundings, those values can change rapidly within meters.
|
||||
%
|
||||
That is why fingerprinting became popular, where the required prior knowledge
|
||||
is gathered by manually scanning each location within the building e.g.
|
||||
using cells of $\approx \SI{2}{\meter}$ in size. This usually leads to
|
||||
a very high accuracy due to actual measurements of the real situation.
|
||||
However, the amount of work for the initial
|
||||
setup and the maintenance, when transmitters are changed or renovations take
|
||||
place, is very high.
|
||||
|
||||
Setup- and maintenance effort can be prevented by using models to predict
|
||||
the signal strengths that should be received at some arbitrary location.
|
||||
Depending on the used model, only a few parameters and the locations of the
|
||||
transmitters within the building are required. For newer installations
|
||||
the latter is often available and tagged within the building's floorplan.
|
||||
%As signals are attenuated by the buildings architecture like walls and floors,
|
||||
%advanced models additionally include the floorplan within their prediction.
|
||||
Obviously, simple models will represent the real signal strengths only
|
||||
to some extent, as not all ambient conditions, such as walls, are considered.
|
||||
Furthermore, the choice of the model's parameters depends on the actual architecture and \docWIFI{} setup:
|
||||
Parameters that work within building A might not work out within building B.
|
||||
|
||||
Thus, a compromise comes to mind: Instead of using several hundreds of fingerprints,
|
||||
a few reference measurements used for a model setup might be a valid tradeoff
|
||||
between resulting accuracy and necessary setup time.
|
||||
|
||||
Within this work we will focus on simple signal strength prediction models
|
||||
that do not incorporate knowledge of nearby walls, but can be used
|
||||
for real-time applications on commercial smartphones.
|
||||
%
|
||||
To mitigate the issues of those signal strength predictors, we propose a new model
|
||||
that is a combination of several simple ones. It is more accurate, requires only minor
|
||||
additional computations and thus is well suited for use in mobile applications.
|
||||
%
|
||||
The to-be-expected accuracy (in \decibel{} and \meter{}) of all models is analyzed for various setups ranging from
|
||||
just empirical parameters (no setup time when transmitter positions are known) to optimized
|
||||
parameters, where no prior knowledge is necessary and a few reference measurements suffice.
|
||||
|
||||
Besides analyzing the \docWIFI{} performance on its own, we will also have
|
||||
a closer look at the resulting performance-changes within a fully featured smartphone-based
|
||||
indoor localization system using a movement model based on the building's floorplan,
|
||||
together with various other sensors and recursive state estimation based on a particle filter.
|
||||
|
||||
%\todo{
|
||||
%fokus:\\
|
||||
%- wlan parameter + optimierung\\
|
||||
%- evaluation der einzel und gesamtergebnisse
|
||||
%}
|
||||
|
||||
%\todo{
|
||||
%contribution?:\\
|
||||
%- neues wifi modell,\\
|
||||
%- neues resampling,\\
|
||||
%- model param optimierung + eval was es bringt
|
||||
%}
|
||||
97
tex_reviewed/chapters/relatedwork.tex
Executable file
97
tex_reviewed/chapters/relatedwork.tex
Executable file
@@ -0,0 +1,97 @@
|
||||
\section{Related Work}
|
||||
|
||||
Indoor localization based on \docWIFI{} and received signal strength indications (RSSI) dates back to the year
|
||||
2000 and the work of Bahl and Padmanabhan \cite{radar}. During a one-time offline-phase, a
|
||||
multitude of reference measurements are conducted. During the online-phase, where the pedestrian
|
||||
walks along the building, those prior measurements are compared against live readings.
|
||||
The pedestrian's location is inferred using the $k$-nearest neighbor(s) based on the Euclidean distance between currently
|
||||
received signal strengths and the readings during the offline-phase.
|
||||
|
||||
Inspired by this initial work, Youssef et al. \cite{horus} proposed a more robust, probabilistic
|
||||
approach. Their fingerprints were placed every \SI{1.52}{\meter} and estimated by scanning each location
|
||||
100 times. The resulting signal strength distribution for each location is hereafter encoded by a histogram.
|
||||
The latter can be compared against live measurements to infer its matching-probability. The center
|
||||
of mass among the $k$ highest probabilities, including their weight, describes the pedestrian's current location.
|
||||
%
|
||||
In \cite{ProbabilisticWlan}, a similar approach is used and compared against nearest neighbor, kernel-density-estimation and machine learning.
|
||||
Furthermore, they mention potential issues of (temporarily) invisible transmitters and describe a simple heuristic of how to handle such cases.
|
||||
|
||||
Meng et al. \cite{secureAndRobust} discuss several fingerprinting issues like environmental changes
|
||||
after the fingerprints were recorded. They propose an outlier detection based on RANSAC to remove potentially
|
||||
distorted measurements and thus improve the matching process.
|
||||
|
||||
Despite a very high accuracy \changed{-- up to an average error of \SI{1}{\meter} --} due to real-world comparisons,
|
||||
aforementioned approaches suffer from tremendous setup- and maintenance times.
|
||||
Using robots instead of human workforce to accurately gather the necessary
|
||||
fingerprints might thus be a viable choice \cite{robotFingerprinting}.
|
||||
Being cheaper and more accurate, this technique can also
|
||||
be combined with SLAM for cases where the floorplan is unavailable.
|
||||
|
||||
Besides real-world measurements via fingerprinting, model predictions can be used to determine
|
||||
signal strengths for arbitrary locations. Propagation models are a well-established field of research,
|
||||
initially used to determine the \docWIFI{}-coverage for new installations.
|
||||
While many of them are intended for outdoor and line-of-sight purposes, they are often applied to indoor use-cases as well
|
||||
\cite{ANewPathLossPrediction, PredictingRFCoverage, empiricalPathLossModel}.
|
||||
|
||||
The model-based approach presented by Chintalapudi et al. \cite{WithoutThePain} works without any prior knowledge.
|
||||
During a setup phase, pedestrians just walk within the building and transmit all observations to a central
|
||||
server. Some GPS fixes with well-known position (e.g. entering and leaving the building) observed by the pedestrians
|
||||
are used as reference points. A genetic optimization algorithm hereafter estimates both, the parameters for a
|
||||
signal strength prediction model and the pedestrian's locations during the walk. The estimated parameters
|
||||
can be refined using additional walks and may hereafter be used for the indoor localization process.
|
||||
Likewise, it is possible to apply a global optimization that also determines a vague floorplan for the building \cite{crowdinside}.
|
||||
|
||||
% log distance model. optimization of path-loss-exponent.
|
||||
% uses least-squares to solve for 3 unknowns: x, y, path-loss
|
||||
% based on triangulation by converting the rssi back to a distance based on the model
|
||||
% whole walk/dataset must be known beforehand?!
|
||||
\changed{%
|
||||
While signal strength models are used to predict a signal strength given the distance from the transmitter,
|
||||
some also allow to infer the distance based on a known signal strength.
|
||||
Given several signal strength measurements from transmitters at known locations
|
||||
it is thus possible to perform trilateration. Such an approach is presented in \cite{rssModelOpt1},
|
||||
where the pedestrian's 2D location and one model parameter are optimized using
|
||||
a non-linear least square approach.
|
||||
Optimizing location and model parameter together yields a setup which is invariant
|
||||
to temporal environmental changes affecting the signal strength propagation.
|
||||
However, all transmitters are assumed to have the same optimized model parameter, which
|
||||
is an oversimplification for most environments. This issue is addressed in
|
||||
\cite{autoRssModel}, where this parameter is estimated per transmitter
|
||||
to increase the accuracy.
|
||||
However, due to the used optimized strategy it is hard to include additional constraints,
|
||||
such as knowledge given by a floorplan that would prevent the estimation from
|
||||
returning unreachable areas within a building.
|
||||
Likewise, the approach will not work smoothly for 3D location estimation,
|
||||
as the corresponding signal strength propagation models are usually non-continuous
|
||||
due to impact of floors/ceilings.
|
||||
}%
|
||||
|
||||
\changed{%
|
||||
As the presented drawbacks denote, using just \docWIFI{} signal strengths as location estimation is erroneous.
|
||||
It thus makes sense to combine several other sensors
|
||||
via sensor fusion, to leverage the positive aspects of each individual source.
|
||||
Recursive state estimation, e.g. based on an (extended) Kalman filter, allows for combining
|
||||
absolute \docWIFI{} location information, absolute landmarks, and relative pedestrian dead reckoning (PDR),
|
||||
as presented in \cite{indoorKalman,indoorKalman2}.%
|
||||
}%
|
||||
|
||||
\changed{%
|
||||
Besides signal strengths, other RF characteristics
|
||||
like the signal's time of arrival (TOA) and time difference of arrival (TDOA),
|
||||
as used within the GPS, or its angle of arrival (AOA) can be used.
|
||||
They %
|
||||
}
|
||||
are more accurate and mostly invariant to architectural obstacles \cite{TimeDifferenceOfArrival1, TOAAOA}.
|
||||
Especially signal runtimes are unaffected by walls and thus allow for stable distance estimations, if the used components
|
||||
support measuring time-delays down to a few picoseconds. This is why those techniques often need special (measurement) hardware
|
||||
to estimate parameters like signal-runtime or signal-phase-shifts. Those requirements only allow for a limited number of use-cases.
|
||||
|
||||
We therefore focus on the RSSI that is available on each commercial smartphone, and use a
|
||||
simple signal strength prediction model to estimate the most probable location given the phone's observations.
|
||||
Furthermore, we propose a new model based on multiple simple ones, which will reduce the prediction error.
|
||||
Several strategies to optimize simple models and the resulting accuracies are hereafter evaluated and discussed.
|
||||
\changed{%
|
||||
Finally, we include additional smartphone sensors using sensor fusion via recursive state estimation to
|
||||
enhance the system's accuracy.
|
||||
}%
|
||||
|
||||
144
tex_reviewed/chapters/system.tex
Executable file
144
tex_reviewed/chapters/system.tex
Executable file
@@ -0,0 +1,144 @@
|
||||
\section{Indoor Positioning System}
|
||||
\label{sec:system}
|
||||
|
||||
Our smartphone-based indoor localization system estimates a pedestrian's current location and heading
|
||||
using recursive density estimation \changed{\cite{particleFilter,robotics}}
|
||||
seen in \refeq{eq:recursiveDensity}.
|
||||
|
||||
\begin{equation}
|
||||
%\arraycolsep=1.2pt
|
||||
%\begin{array}{ll}
|
||||
p(\mStateVec_{t} \mid \mObsVec_{1:t}) \propto\\
|
||||
\underbrace{p(\mObsVec_{t} \mid \mStateVec_{t})}_{\text{evaluation}}
|
||||
\int \underbrace{p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})}_{\text{transition}}
|
||||
\underbrace{p(\mStateVec_{t-1} \mid \mObsVec_{1:t-1})d\vec{q}_{t-1}}_{\text{recursion}} \enspace,
|
||||
%\end{array}
|
||||
\label{eq:recursiveDensity}
|
||||
\end{equation}
|
||||
|
||||
The pedestrian's hidden state $\mStateVec$ is given by
|
||||
\begin{equation}
|
||||
\mStateVec = (x, y, z, \mStateHeading),\enskip
|
||||
x, y, z, \mStateHeading \in \R \enspace,
|
||||
\end{equation}
|
||||
%
|
||||
where $x, y, z$ represent its position in 3D space and $\mStateHeading$ his current (absolute) heading.
|
||||
|
||||
The corresponding observation vector, given by the smartphone's sensors, is defined as
|
||||
%
|
||||
\begin{equation}
|
||||
\mObsVec = (\mRssiVecWiFi{}, \mObsSteps, \mObsHeadingRel, \mObsHeadingAbs, \mPressure, \mObsGPSVec) \enspace.
|
||||
\end{equation}
|
||||
%
|
||||
$\mRssiVecWiFi$ contains the signal strength measurements of all \docAP{}s (\docAPshort{}s) currently visible to the phone,
|
||||
$\mObsSteps$ describes the number of steps detected since the last filter-step,
|
||||
$\mObsHeadingRel$ the (relative) angular change since the last filter-step,
|
||||
$\mObsHeadingAbs$ the vague absolute heading as provided by the magnetometer,
|
||||
$\mPressure$ the ambient pressure in hPa and
|
||||
$\mObsGPSVec = ( \mObsGPSlat, \mObsGPSlon, \mObsGPSaccuracy)$ the current location given by the GPS.
|
||||
If the latter is currently not available, this is indicated by a special value combination, which
|
||||
is checked within the evaluation.
|
||||
|
||||
|
||||
Assuming statistical independence, the state-evaluation density from \refeq{eq:recursiveDensity} can be written as
|
||||
%
|
||||
\begin{equation}
|
||||
p(\vec{o}_t \mid \vec{q}_t) =
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{wifi}\enskip
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{gps}\enskip
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{abshead}\enskip
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{activity}\enskip
|
||||
\enspace.
|
||||
\label{eq:evalDensity}
|
||||
\end{equation}
|
||||
%
|
||||
|
||||
Besides the evaluation, a movement model, based on random walks on a graph, samples only those transitions
|
||||
(= pedestrian movements), that are allowed by the building's floorplan.
|
||||
%$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$
|
||||
The smartphone's accelerometer, gyroscope, magnetometer, GPS- and \docWIFI{}-module provide
|
||||
the observations for both, the transition and the following evaluation step to infer the hidden state,
|
||||
namely the pedestrian's location and heading
|
||||
\cite{Ebner2016OPN, Fetzer2016OMC}.
|
||||
|
||||
|
||||
Absolute location information is provided by $p(\vec{o}_t \mid \vec{q}_t)_\text{wifi}$ and
|
||||
$p(\vec{o}_t \mid \vec{q}_t)_\text{gps}$, if available. Otherwise, their probability
|
||||
is uniformly distributed (same likelihood for any location).
|
||||
The vague absolute heading provided by
|
||||
the smartphone's magnetometer is included using a simple heuristic for
|
||||
$p(\vec{o}_t \mid \vec{q}_t)_\text{abshead}$. Finally, the barometer is used
|
||||
to distinguish between normal walking and climbing stairs within
|
||||
$p(\vec{o}_t \mid \vec{q}_t)_\text{activity}$
|
||||
\changed{%
|
||||
by comparing relative pressure changes. This makes the barometer invariant to long-term pressure fluctuations
|
||||
due to temperature and humidity.
|
||||
}%
|
||||
|
||||
Furthermore, the smartphone's IMU is used to infer the number of steps
|
||||
and the relative turn angle the pedestrian has taken since the last filter-update.
|
||||
While those values could be used within the evaluation \refeq{eq:evalDensity}
|
||||
we apply them within the transition model (see \cite{Koeping14-PSA, Ebner2016OPN})
|
||||
to estimate the pedestrian's potential
|
||||
movement $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ within the building.
|
||||
Using real values to perform this movement-update instead of just scattering randomly
|
||||
along the floorplan followed by downvoting within the evaluation \refeq{eq:evalDensity}
|
||||
provides a more stable result.
|
||||
|
||||
As this work focuses on \docWIFI{} optimization, not all parts of the localization system were discussed in detail.
|
||||
For missing explanations and further details on aforementioned practices,
|
||||
please refer to \cite{Ebner2016OPN}.
|
||||
%
|
||||
Compared to this reference, absolute heading and GPS have been added as additional sensors
|
||||
to further enhance the localization.
|
||||
\changed{%
|
||||
Within \refeq{eq:evalAbsHead}, we favour movements (model transitions \refeq{eq:recursiveDensity})
|
||||
with a heading $\pm\SI{120}{\degree}$ around the heading $\mObs_t^{\mObsHeadingAbs}$
|
||||
indicated by the smartphone's compass.
|
||||
As this sensor is usually inaccurate, we use $\pm\SI{120}{\degree}$ to just prevent walks in the opposite direction.
|
||||
The result is normalized using $\xi$.
|
||||
A normal distribution in \refeq{eq:evalGPS} is used to model GPS' uncertainty.
|
||||
}%
|
||||
The difference between the GPS' estimation and potential state $\mStateVec$ is given by the
|
||||
Euclidean 2D $\text{distance}(\dots)$ in \refeq{eq:evalGPS}.
|
||||
|
||||
|
||||
\begin{equation}
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{abshead}
|
||||
= \xi
|
||||
\begin{cases}
|
||||
0.7 & | \mObs_t^{\mObsHeadingAbs} - \mState_t^{\mStateHeading} | < \SI{120}{\degree} \\
|
||||
0.3 & \text{else}
|
||||
\end{cases}
|
||||
,\enskip
|
||||
\xi = \text{const}
|
||||
\label{eq:evalAbsHead}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{gps} =
|
||||
\mathcal{N}(
|
||||
d
|
||||
\mid
|
||||
0,
|
||||
\sigma^2
|
||||
), \enskip
|
||||
d = \text{distance}(
|
||||
(\mObsGPS_\text{lat}, \mObsGPS_\text{lon}),
|
||||
(\mState_t^x, \mState_t^y)
|
||||
), \enskip
|
||||
\sigma = \mObsGPS_\text{accuracy}
|
||||
\label{eq:evalGPS}
|
||||
\end{equation}
|
||||
|
||||
%\todo{neues resampling? je nach dem was sich noch in der eval zeigt}
|
||||
|
||||
The GPS sensor should enhance scenarios where multiple, unconnected buildings are involved
|
||||
and the pedestrian is required to move outdoors to enter the next facility.
|
||||
Indoors the GPS will usually not provide viable location estimations and the system has to
|
||||
solely rely on the smartphone's \docWIFI{} observations.
|
||||
Therefore its crucial for the \docWIFI{} component to supply location
|
||||
estimations that are as accurate as possible,
|
||||
while the component itself must be easy to set-up and maintain.
|
||||
|
||||
%\todo{ueberleitung besser?}
|
||||
347
tex_reviewed/chapters/work.tex
Executable file
347
tex_reviewed/chapters/work.tex
Executable file
@@ -0,0 +1,347 @@
|
||||
\section{WiFi Location Estimation}
|
||||
\label{sec:optimization}
|
||||
|
||||
The \docWIFI{} sensor infers the pedestrian's current location based on a comparison between live observations
|
||||
(the smartphone continuously scans for nearby \docAP{}s) and fingerprints or
|
||||
signal strength predictions for well-known locations. The location that fits the observations best,
|
||||
is the pedestrian's current location. Assuming statistical independence of all transmitters
|
||||
installed within a building,
|
||||
\changed{the matching probability $p(\mRssiVecWiFi \mid \mPosVec)$ for a location $\mPosVec = (x,y,z)^T$} can be written as
|
||||
|
||||
\begin{equation}
|
||||
p(\vec{o}_t \mid \vec{q}_t)_\text{wifi} =
|
||||
p(\mRssiVecWiFi \mid \mPosVec) =
|
||||
\prod_{\mRssi_{i} \in \mRssiVec{}} p(\mRssi_{i} \mid \mPosVec),\enskip
|
||||
%\mPos = (x,y,z)^T
|
||||
\mPosVec \in \R^3
|
||||
\enskip ,
|
||||
\label{eq:wifiObs}
|
||||
\end{equation}
|
||||
|
||||
\noindent where matching a single signal strength observation \changed{$\mRssi_{i}$} against the reference is given by
|
||||
|
||||
\begin{equation}
|
||||
p(\mRssi_i \mid \mPosVec) =
|
||||
\mathcal{N}(\mRssi_i \mid \mu_{i,\mPosVec}, \sigma_{i,\mPosVec}^2)
|
||||
\enskip .
|
||||
\label{eq:wifiProb}
|
||||
\end{equation}
|
||||
|
||||
In \refeq{eq:wifiProb}, $\mu_{i,\mPosVec}$ and $\sigma_{i,\mPosVec}$ denote the average signal strength
|
||||
and corresponding standard deviation for the \docAPshort{} identified by $i$,
|
||||
that should be measurable given the location $\mPosVec = (x,y,z)^T$. Those two values can be determined using various
|
||||
methods. Most common and accurate, as of today, is fingerprinting, where hundreds of locations throughout the building
|
||||
are scanned beforehand. The received \docAP{}s including their (average) signal strength and deviation
|
||||
denote each location's fingerprint.
|
||||
%
|
||||
To prevent the time-consuming setup process, we use a model to predict the average signal strength for each location,
|
||||
based on the \docAPshort{}'s position $\mPosAPVec{} = (x,y,z)^T$ and a few additional parameters.
|
||||
|
||||
|
||||
\subsection{Signal Strength Prediction Model}
|
||||
\label{sec:sigStrengthModel}
|
||||
|
||||
\begin{equation}
|
||||
\changed{%
|
||||
\mRssi = \mTXP{} - 10 \mPLE{} \log_{10} \frac{d}{d_0} + \mGaussNoise{}
|
||||
}
|
||||
\label{eq:logDistModel}
|
||||
\end{equation}
|
||||
|
||||
The log distance model \cite{IntroductionToRadio, WirelessCommunications} in \refeq{eq:logDistModel} is a commonly
|
||||
used signal strength prediction model that
|
||||
is intended for line-of-sight predictions. However, depending on the surroundings, the model is versatile enough
|
||||
to also serve for indoor purposes.
|
||||
%
|
||||
It predicts an \docAP{}'s signal strength
|
||||
for an arbitrary location,
|
||||
%$\mPosVec{}$
|
||||
given the distance $d$ between both and two environmental parameters:
|
||||
The \docAPshort{}'s signal strength \mTXP{} measurable at a known distance $d_0$ (usually \SI{1}{\meter}) and
|
||||
the signal's depletion over distance \mPLE{}, which depends on the \docAPshort{}'s surroundings like walls
|
||||
and other obstacles.
|
||||
\mGaussNoise{} is a zero-mean Gaussian noise and models the uncertainty.
|
||||
|
||||
As \mPLE{} depends on the architecture around the transmitter, the model is bound to homogenous surroundings
|
||||
like one floor, solely divided by drywalls of the same thickness and material.
|
||||
%
|
||||
The log normal shadowing-, or wall-attenuation-factor model \cite{PathLossPredictionModelsForIndoor}
|
||||
is a slight modification, to adapt the log distance model to indoor use-cases.
|
||||
It introduces an additional parameter, that considers obstacles between (line-of-sight) the \docAPshort{} and the
|
||||
location in question by attenuating the signal with a constant value.
|
||||
%
|
||||
Depending on the use-case, this value describes the number and type of walls, ceilings, floors etc. between both positions.
|
||||
For obstacles, this requires an intersection-test of each obstacle with the line-of-sight, which is costly
|
||||
for larger buildings. For real-time use on a smartphone, a (discretized) model pre-computation might thus be necessary
|
||||
\cite{competition2016}.
|
||||
%Furthermore this requires a detailed floorplan, that includes material information
|
||||
%for walls, doors, floors and ceilings.
|
||||
|
||||
Throughout this work, we thus use a tradeoff between both models, where walls are ignored and only floors/ceilings are considered.
|
||||
Assuming buildings with even floor levels, the number of floors/ceilings between two position can be determined
|
||||
without costly intersection checks and thus allows for real-time use-cases running on smartphones.
|
||||
|
||||
\begin{equation}
|
||||
\changed{%
|
||||
\mRssi = \mTXP{} - 10 \mPLE{} \log_{10} \frac{d}{d_0} + \numFloors{} \mWAF{} + \mGaussNoise{}
|
||||
}
|
||||
\label{eq:logNormShadowModel}
|
||||
\end{equation}
|
||||
|
||||
In \refeq{eq:logNormShadowModel}, a constant attenuation factor \mWAF{} is
|
||||
multiplied by the number \numFloors{} of floors/ceilings between sender and the location in question.
|
||||
The attenuation \mWAF{} (per element) depends on the building's architecture and for common,
|
||||
steel enforced concrete floors $\mWAF \approx \SI{-8.0}{\decibel}$ is a viable choice \cite{ElectromagneticPropagation}.
|
||||
|
||||
|
||||
|
||||
\subsection {Model Parameters}
|
||||
|
||||
As previously mentioned, for the prediction model to work, it is necessary to know the location $\mPosAPVec_i$ for every
|
||||
permanently installed \docAP{} $i$ within the building to derive the distance $d$, plus its environmental parameters
|
||||
\mTXP{}, \mPLE{} and \mWAF{}.
|
||||
While it is possible to use empiric values for those environmental parameters \cite{Ebner-15}, the positions are mandatory.
|
||||
|
||||
For many buildings there should be floorplans that include the locations of all installed transmitters.
|
||||
If so, a model setup takes only several minutes to (vaguely) position the \docAPshort{}s within a virtual
|
||||
map and assign some fixed, empirically chosen parameters for \mTXP{}, \mPLE{} and \mWAF{}.
|
||||
Depending on the building's architecture this might already provide enough accuracy for some use-cases,
|
||||
where a vague location information is sufficient.
|
||||
|
||||
|
||||
\subsection{Model Parameter Optimization}
|
||||
|
||||
%\begin{figure}
|
||||
% \input{gfx/wifiop_show_optfunc_params}
|
||||
% \caption{
|
||||
% The average error (in \SI{}{\decibel}) between all reference measurements and corresponding model predictions
|
||||
% for one \docAPshort{} dependent on \docTXP{} \mTXP{} and \docEXP{} \mPLE{}
|
||||
% [known position $\mPosAPVec{}$, fixed \mWAF{}] denotes a convex function.
|
||||
% }
|
||||
% \label{fig:wifiOptFuncTXPEXP}
|
||||
%\end{figure}
|
||||
|
||||
For systems that demand a higher accuracy, one can choose a compromise between fingerprinting and
|
||||
aforementioned pure empiric model parameters by optimizing those parameters
|
||||
based on a few reference measurements throughout the building.
|
||||
The more parameters are staged for optimization ($\mPosAPVec{}, \mTXP{}, \mPLE{}, \mWAF{}$) the more
|
||||
reference measurements are necessary to provide a stable result.
|
||||
Depending on the desired accuracy, setup time and whether the transmitter positions are known or unknown,
|
||||
several optimization strategies arise, where not all 6 parameters are optimized, but only some of them.
|
||||
|
||||
The target function \refeq{eq:optTarget} optimizes the model-parameters for one \docAP{} by reducing the squared error between
|
||||
reference measurements $s_{\mPosVec} \in \vec{s}$ with well-known location $\mPosVec$ and corresponding
|
||||
model predictions $\mu_{\mPosVec}$.
|
||||
The number of floors between $\mPosVec$ and the transmitter's location $\mPosAPVec$ is
|
||||
$\text{floors}(\mPosVec,\mPosAPVec)$.
|
||||
|
||||
\begin{equation}
|
||||
\changed{%
|
||||
\epsilon^* =
|
||||
\argmin_{\mPosAPVec, \mTXP, \mPLE, \mWAF}
|
||||
\sum_{s_{\mPosVec} \in \vec{s}}
|
||||
(s_{\mPosVec} - \mu_{\mPosVec})^2
|
||||
\enskip,\enskip\enskip
|
||||
\mu_{\mPosVec} =
|
||||
\mTXP{} + 10 \mPLE{} \log_{10} \| \mPosVec-\mPosAPVec \| + \text{floors}(\mPosVec,\mPosAPVec) \mWAF{}
|
||||
}
|
||||
\label{eq:optTarget}
|
||||
\end{equation}
|
||||
|
||||
Just optimizing \mTXP{} and \mPLE{} with constant \mWAF{} and known transmitter position
|
||||
usually means optimizing a convex function, as can be seen in \reffig{fig:wifiOptFuncTXPEXP}.
|
||||
For such error functions, algorithms like gradient descent and simplex \cite{gradientDescent, downhillSimplex1, downhillSimplex2}
|
||||
are well suited and will provide the global minimum.
|
||||
|
||||
However, optimizing an unknown transmitter position usually means optimizing a non-convex, discontinuous
|
||||
function, especially when the $z$-coordinate, that influences the number of attenuating floors/ceilings,
|
||||
is involved.
|
||||
While the latter can be mitigated by introducing a continuous function for the
|
||||
number $n$, e.g. a sigmoid, the function is not necessarily convex.
|
||||
\reffig{fig:wifiOptFuncPosYZ} depicts two local minima and only one of both also is a global one.
|
||||
|
||||
\begin{figure*}
|
||||
\centering
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
%\centering
|
||||
\input{gfx2/wifiop_show_optfunc_params}
|
||||
\caption{
|
||||
Modifying \docTXP{} \mTXP{} and \docEXP{} \mPLE{}
|
||||
[known position $\mPosAPVec{}$, fixed \mWAF{}] denotes a convex function.
|
||||
}
|
||||
\label{fig:wifiOptFuncTXPEXP}
|
||||
\end{subfigure}%
|
||||
\enskip\enskip
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
%\centering
|
||||
\input{gfx2/wifiop_show_optfunc_pos_yz}
|
||||
\caption{
|
||||
Modifying $y$- and $z$-position [fixed $x$, \mTXP{}, \mPLE{} and \mWAF{}]
|
||||
denotes a non-convex function with multiple local minima.
|
||||
}
|
||||
\label{fig:wifiOptFuncPosYZ}
|
||||
\end{subfigure}
|
||||
\caption{
|
||||
Average error (in \SI{}{\decibel}) between all reference measurements and corresponding model predictions
|
||||
for one \docAPshort{}.
|
||||
}
|
||||
\end{figure*}
|
||||
|
||||
%\begin{figure}
|
||||
% \input{gfx/wifiop_show_optfunc_pos_yz}
|
||||
% \caption{
|
||||
% The average error (in \SI{}{\decibel}) between reference measurements and model predictions
|
||||
% for one \docAPshort{} dependent on $y$- and $z$-position [fixed $x$, \mTXP{}, \mPLE{} and \mWAF{}]
|
||||
% usually denotes a non-convex function with multiple [here: two] local minima.
|
||||
% }
|
||||
% \label{fig:wifiOptFuncPosYZ}
|
||||
%\end{figure}
|
||||
|
||||
Such functions demand for optimization algorithms, that are able to deal with non-convex functions.
|
||||
We thus used a genetic algorithm to perform this task \cite{goldberg89}.
|
||||
However, initial tests indicated that while being superior to simplex
|
||||
and similar algorithms, the results were not yet satisfying as the optimization often did not converge.
|
||||
|
||||
As the range of the six to-be-optimized parameters is known ($\mPosAPVec{}$ within the building,
|
||||
\mTXP{}, \mPLE{}, \mWAF{} within a sane interval around empiric values), we slightly modified the
|
||||
genetic algorithm: The initial population is now uniformly sampled from the known range. During each iteration,
|
||||
the best \SI{25}{\percent} of the population are kept and the remaining entries are
|
||||
re-created by modifying the best entries with uniform random values within
|
||||
$\pm$\SI{10}{\percent} of the known range.
|
||||
Inspired by {\em cooling} known from simulated annealing \cite{Kirkpatrick83optimizationby},
|
||||
the result is stabilized by narrowing the allowed modification range
|
||||
%(starting at \SI{10}{\percent})
|
||||
over time.
|
||||
|
||||
|
||||
\subsection{Modified Signal Strength Model}
|
||||
|
||||
%\todo{nicht: during initial eval, sondern gleich sagen, dass die vermutung nahe liegt, dass das modell
|
||||
%nicht gut klappen wird, weil waende und unser metall-glas nicht beruecksichtigt werden. deshalb
|
||||
%versuchen wir ein anderes modell das immernoch live arbeiten kann}
|
||||
|
||||
%During the initial eval, some issues were discovered. While aforementioned optimization was able to
|
||||
%reduce the error between reference measurements and model estimations to \SI{50}{\percent},
|
||||
%the position estimation \ref{eq:wifiProb} did not benefit from improved model parameters.
|
||||
%To the contrary, there were several situations throughout the testing walks, where
|
||||
%the inferred location was more erroneous than before.
|
||||
|
||||
As the used model tradeoff does not consider walls, it is expected to provide erroneous values
|
||||
for regions that are heavily shrouded, e.g. by steel-enforced concrete or metallized glass.
|
||||
|
||||
Instead of using only one optimized model per \docAP{}, we use several instances with different
|
||||
parameters that are limited to some region within the building. By reducing the area
|
||||
that the model has to describe, we expect the limited number of model parameters to
|
||||
provide better (local) results.
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item{
|
||||
{\em \optPerFloor{}} will use one model for each story, that is optimized using
|
||||
only the fingerprints that belong to the corresponding floor. During evaluation,
|
||||
the $z$-value from $\mPosVec{}$ in \refeq{eq:wifiProb} is used to select the correct model
|
||||
for this location's signal strength estimation.
|
||||
}
|
||||
|
||||
\item{
|
||||
{\em \optPerRegion{}} works similar, except that each model is limited to a predefined,
|
||||
axis-aligned bounding box. This approach allows for an even more refined distinction between
|
||||
several areas like in- and outdoor regions or locations that are expected to highly differ
|
||||
from their surroundings.
|
||||
}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
Especially the second model imposes a potential issue we need to address:
|
||||
If an \docAPshort{} is seen only once or twice within such a bounding box, it is impossible
|
||||
to optimize its parameters, just like a line cannot be defined using one single point.
|
||||
However, due to \refeq{eq:wifiProb}, we need each model to provide the same number of
|
||||
\docAP{}s. Otherwise regions with less known transmitters would automatically be more
|
||||
likely than others. We therefore use fixed model parameters,
|
||||
$\mTXP = \SI{-100}{\decibel{}m}$, $\mPLE = 0$ and $\mWAF = \SI{0}{\decibel}$ for every
|
||||
transmitter with less than three reference measurements per region. This yields
|
||||
a model that always returns \SI{-100}{\decibel{}m}, independent of the distance from the transmitter.
|
||||
While this most probably is not the correct reading for all locations, it works
|
||||
for most cases, as usual smartphones are unable to measure signals below this threshold.
|
||||
|
||||
%\todo{AP wird in einer region nur dann beruecksichtigt, wenn mindestanzahl an messungen vorhanden ist!}
|
||||
%\todo{das heißt aber, dass an unterschiedlichen stellen unterschiedlich viele APs verglichen werden. das geht ned. deshalb feste -100}
|
||||
|
||||
\subsection{\docWIFI{} quality factor}
|
||||
\label{sec:wifiQuality}
|
||||
|
||||
Evaluations within previous works showed, that there are many situations where the overall \docWIFI{} location estimation
|
||||
is highly erroneous. Either when the signal strength prediction model does not match real-world
|
||||
conditions, or the received measurements are ambiguous and there is more than one location
|
||||
within the building that matches those readings. Both cases can occur e.g. in areas surrounded by
|
||||
concrete walls, where the model does not match the real-world conditions as those walls are not considered,
|
||||
and the smartphone barely receives \docAPshort{}s due to the high attenuation.
|
||||
|
||||
If such a sensor error occurs only for a short time period, the recursive density estimation from
|
||||
\refeq{eq:recursiveDensity} is able to compensate using other observations and the transition
|
||||
model. However, if the sensor-fault persists for a longer time period, such an error will slowly distort
|
||||
the posterior distribution. As our movement model depends on the actual floorplan, the density
|
||||
might get trapped e.g. within a room if the other sensors are unable to compensate for
|
||||
the \docWIFI{} error.
|
||||
|
||||
Thus, we try to determine the quality of received measurements, which allows for
|
||||
temporarily disabling \docWIFI{}'s contribution within the evaluation \refeq{eq:evalDensity}
|
||||
if the quality is insufficient.
|
||||
|
||||
In \refeq{eq:wifiQuality} we use the average signal strength $\bar\mRssi$ among all \docAP{}s seen within one measurement
|
||||
$\mRssiVec$ and scale this value to match a region of $[0, 1]$ depending on an upper and lower bound.
|
||||
Using this scaled regions allows for using the quality factor as a probability measure
|
||||
to reduce/increase the impact of the \docWIFI{} component \cite{Fetzer-17}.
|
||||
Within this work a simple binary good/bad decision was used instead:
|
||||
If the returned quality is below a certain threshold, \docWIFI{} is completely ignored within the evaluation.
|
||||
Lower and upper bound are chosen empirically by looking at the usual range of \docWIFI{} signal strengths,
|
||||
that still provide persistent data-connections to clients. Likewise, the threshold is determined by examining
|
||||
the scaled output of \refeq{eq:wifiQuality} for some places with good and bad \docWIFI{} location estimations, respectively.
|
||||
|
||||
\begin{equation}
|
||||
\newcommand{\leMin}{l_\text{min}}
|
||||
\newcommand{\leMax}{l_\text{max}}
|
||||
\text{quality}(\mRssiVec) =
|
||||
\max \left(0,
|
||||
\min \left(
|
||||
\frac{
|
||||
\bar\mRssi - \leMin
|
||||
}{
|
||||
\leMax - \leMin
|
||||
},
|
||||
1
|
||||
\right)
|
||||
\right)
|
||||
,\enskip
|
||||
\bar\mRssi = \frac{1}{n} \sum_{i = 1}^{n} \mRssi_i
|
||||
\label{eq:wifiQuality}
|
||||
\end{equation}
|
||||
|
||||
\subsection {Virtual \docAP{}s (VAP)}
|
||||
\label{sec:vap}
|
||||
|
||||
Assuming normal conditions, the received signal strength at one location will also (strongly) vary over time
|
||||
due to environmental conditions like temperature, humidity, open/closed doors and RF interference.
|
||||
Fast variations can be addressed by averaging several consecutive measurements at the expense
|
||||
of a delay in time.
|
||||
To prevent this delay, we use the fact, that many buildings use so called virtual access points
|
||||
where one physical hardware \docAP{} provides more than one virtual network to connect to.
|
||||
They can usually be identified, as only the last digit of the MAC address is altered among the virtual networks.
|
||||
%
|
||||
As those normally share the same frequency, they are unable to transmit at the same instant in time.
|
||||
When scanning for \docAPshort{}s, one will thus receive several responses from the same hardware, all with
|
||||
a very small delay (micro- to milliseconds). Such measurements may be grouped using some aggregate
|
||||
function like average, median or maximum instead of using each single measurement.
|
||||
|
||||
Furthermore, VAP grouping can be used to suppress unlikely observations: If a physical hardware is known
|
||||
to provide six virtual networks, it is unlikely for the smartphone to only see one of those networks.
|
||||
This is due to temporal effects or multipath signal propagation and the received signal strength will often be far from
|
||||
the normal average. It thus makes sense to just omit such unlikely observations, focusing on the remaining, stable ones.
|
||||
|
||||
|
||||
|
||||
|
||||
%\todo{???
|
||||
%aps sind (statistisch) unaebhaengig. d.h., jeder AP kann fuer sich optimiert werden.
|
||||
%optimierung des gesamtsystems ist nicht notwendig.
|
||||
%}
|
||||
Reference in New Issue
Block a user