changed colors of boxkde and weighted average
This commit is contained in:
@@ -23,7 +23,7 @@ With this representation a point estimator can directly be applied to the sample
|
||||
A popular point estimate, which can be directly obtained from the sample set, is the minimum mean squared error (MMSE) estimate.
|
||||
In the case of particle filters the MMSE estimate equals to the weighted-average over all samples, \ie{} the sample mean
|
||||
\begin{equation}
|
||||
\hat{\mStateVec}_t := \frac{1}{W_t} \sum_{i=1}^{N} w^i_t \mStateVec^i_t \, \text{,}
|
||||
\hat{\mStateVec}_t := \frac{1}{W_t} \sum_{i=1}^{N} w^i_t \vec{X}^i_{t} \, \text{,}
|
||||
\end{equation}
|
||||
%\commentByMarkus{Passt die Notation so?}
|
||||
%\commentByFrank{sieht fuer mich auf den ersten blick nach korrektem weighted average aller partikel aus. was stoert dich?}
|
||||
@@ -60,5 +60,5 @@ Computation of the KDE with a Gaussian kernel on the binned data becomes analogo
|
||||
Our rapid computation scheme of the KDE is fast enough to estimate the density of the posterior in each time step.
|
||||
This allows us to recover the most prober state from occurring multimodal posterior.
|
||||
|
||||
|
||||
\todo{Hier ist es mir tatsächlich noch etwas zu dünn. Könnte man nicht noch ein paar essentielle Details über den boxKDE verlieren? Spontan fällt mir zwar nichts ein. Aber der Wunsch ist da.}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ The probability density of the state evaluation in \eqref{equ:bayesInt} is given
|
||||
\end{equation}
|
||||
%
|
||||
where every component refers to a probabilistic sensor model which are statistical independent.
|
||||
The barometer readings are used to determine the current activity $\mObsActivity$, which is then evaluated using $p(\vec{o}_t \mid \vec{q}_t)_\text{act}$.
|
||||
The barometer and accelerometer readings are used to determine the current activity $\mObsActivity$, which is then evaluated using $p(\vec{o}_t \mid \vec{q}_t)_\text{act}$.
|
||||
Absolute positioning information is given by $p(\vec{o}_t \mid \vec{q}_t)_\text{wifi}$ for \docWIFI{}.
|
||||
|
||||
\subsection{\docWIFI{}}
|
||||
|
||||
@@ -56,7 +56,7 @@ Finally, the respective estimation methods are discussed in section \ref{sec:eva
|
||||
\label{fig:transitionEval:d}
|
||||
\end{subfigure}
|
||||
|
||||
\caption{Simple staircase scenario to compare the graph-based model with the navigation mesh. The black line indicates the current position and the green line gives the estimated path until 25 or 180 steps, both using weighted average. The particles are colored according to their height. A pedestrian walks up and down the stairs several times in a row. After 25 steps, both methods produce good results, although there are already some outliers (blue particles). After 180 steps, the outliers using the graph have multiplied, leading to a multimodal situation. In contrast, the mesh offers the possibility to remove particles that hit a wall and can thus prevent such a situation.}
|
||||
\caption{Simple staircase scenario to compare the graph-based model with the navigation mesh. All units are given in meter. The black line indicates the current position and the green line gives the estimated path until 25 or 180 steps, both using weighted average. The particles are colored according to their height. A pedestrian walks up and down the stairs several times in a row. After 25 steps, both methods produce good results, although there are already some outliers (blue particles). After 180 steps, the outliers using the graph have multiplied, leading to a multimodal situation. In contrast, the mesh offers the possibility to remove particles that hit a wall and can thus prevent such a situation.}
|
||||
\label{fig:transitionEval}
|
||||
\end{figure}
|
||||
|
||||
@@ -65,7 +65,7 @@ We used 1000 particles and did not perform an evaluation and resampling step to
|
||||
The filter starts at a fixed position and is updated after every newly recognized step.
|
||||
We set $\sigma_\text{step} = 0.1$ and $\sigma_\text{turn} = 0.1$ likewise.
|
||||
The cells of the gridded graph were \SI{20}{} x \SI{20}{\centi\meter} in size and the transition implemented as described in \cite{Ebner-16}.
|
||||
As described in section \ref {sec:transition}, the mesh demands for a strategy, how to handle unreachable destinations.
|
||||
As discussed in section \ref {sec:transition}, the mesh demands for a strategy, how to handle unreachable destinations.
|
||||
We chose a simple, yet effective strategy: whenever a destination is unreachable to a particle, it is removed and the last correct transitioning particle is duplicated.
|
||||
Of course, the graph does not require for such a rule, since particles are only allowed to move on nodes and search for neighbours.
|
||||
|
||||
@@ -85,7 +85,7 @@ Of course, a similar strategy could be developed for a graph.
|
||||
We have already shown how to identify the nodes nearest to walls in one of our previous works \cite{Ebner-16}.
|
||||
However, the limitation to walk in \SI{45}{\degree} angles as well as the discrete cell sizes lead to restrictions for small rooms, narrow hallways or bigger cells.
|
||||
For example walking through a door, would result in a strong reduction of differing particles.
|
||||
If the state evaluation is then used to assigned weights to particles, the crucial problem of sample degeneracy often occurs.
|
||||
If the state evaluation is then used to assign weights to particles, the crucial problem of sample degeneracy often occurs.
|
||||
With a mesh, on the other hand, walkable destinations can also be located in a room behind a wall.
|
||||
In combination with the continues movement, this allows for a high versatility of particles even in such situations.
|
||||
Another method to fix the problems shown in fig. \ref{fig:transitionEval:d}, is by adding an activity recognition (walking up, down straight) or to incorporate a barometer.
|
||||
@@ -125,7 +125,7 @@ This allows a comparison with the optimized \docAPshort{} positions, what can al
|
||||
%Positionsfehler und wo?
|
||||
It illustrates the results of the global (blue) and the per-floor (orange) method for all \docAPshort{}'s installed to ground level.
|
||||
The respective optimized positions $\mPosAPVec$ are connected by a grey line with the corresponding ground truth, providing the position error on the $xz$-plane.
|
||||
The average error between the \docAPshort{}'s real position and the optimized ones is \SI{5.4}{\meter} ($\mu =$ \SI{5.1}{}) for the per-floor and \SI{4.8}{\meter} ($\mu =$ \SI{5.6}{}) for global strategy.
|
||||
The average distance error (3D) between the \docAPshort{}'s real position and the optimized ones is \SI{5.4}{\meter} ($\mu =$ \SI{5.1}{}) for the per-floor and \SI{4.8}{\meter} ($\mu =$ \SI{5.6}{}) for global strategy.
|
||||
However, it is easy to see that the results are better in some areas (green) than in others (red and purple).
|
||||
While the green square encloses an area that has a high number of \docAPshort{}s with line of sight conditions, the \docAPshort{}s in red and purple are shielded by very thick stone walls and have a lower number of reference points with direct visual contact (cf. fig. \ref{fig:apfingerprint}).
|
||||
The maximum position error for the global scheme is \SI{25.3}{\meter} and \SI{18.4}{\meter} for the per-floor one.
|
||||
@@ -133,7 +133,7 @@ Both are related to the \docAPshort{} in the red square.
|
||||
|
||||
%Gesamtfehler und wieso?
|
||||
Of course, the position alone does not provide sufficient information of the overall performance, however it provides a good visual impression of how the optimization behaves.
|
||||
The overall optimization error is measured using the difference between model predictions and real-world values for each reference measurement.
|
||||
The overall optimization error is measured using the difference between model predictions and real-world RSSI values for each reference measurement.
|
||||
These differences can be positive or negative, which is why we indicate an absolute or signed error.
|
||||
The (absolute) optimization error of the respective strategies is \SI{4.7}{\decibel} ($\mu =$ \SI{3.8}{}) for global and \SI{2.6}{\decibel} ($\mu =$ \SI{2.7}{}) for per-floor in average.
|
||||
Again, the highest errors occur from \docAPshort{}s within the red and purple area, whereby the local maxima for the signed difference are \SI{-31.4}{\decibel} and \SI{17.5}{\decibel} for global and \SI{-12.7}{\decibel} and \SI{13.4}{\decibel} for local.
|
||||
@@ -143,7 +143,7 @@ The reason for the latter can be found within the purple area.
|
||||
It marks a vaulted cellar, that is \SI{1.7}{\meter} deeper than ground level and connect by a narrow staircase.
|
||||
Here, RSSI measurements taken from outside the ground level are strongly attenuated, while measurements taken from above are more moderately attenuated.
|
||||
Since the per-floor scheme uses only references from the current floor in question, while the global scheme uses all available references and thus more meaningful information in this area.
|
||||
However, as the overall error suggests, this is not always an advantage, which we will see later on in the localization.
|
||||
However, as the overall error suggests, this is not always an advantage, which we will see later on in the localization experiments.
|
||||
|
||||
%warum ist die optimierung tdz. ganz gut?
|
||||
As mentioned above, some areas are heavily attenuated by big walls, what simply does not fit the used signal strength prediction model.
|
||||
@@ -185,7 +185,7 @@ Further evaluations and discussions regarding the here used optimization can be
|
||||
%
|
||||
The 4 chosen walking paths can be seen in fig. \ref{fig:floorplan}.
|
||||
Walk 0 is \SI{152}{\meter} long and took about \SI{2.30}{\minute} to walk.
|
||||
Walk 2 has a length of \SI{223}{\meter} and Walk 3 a length of \SI{231}{\meter}, both required about \SI{6}{\minute} to walk.
|
||||
Walk 1 has a length of \SI{223}{\meter} and Walk 2 a length of \SI{231}{\meter}, both required about \SI{6}{\minute} to walk.
|
||||
Finally, walk 3 is \SI{310}{\meter} long and takes \SI{10}{\minute} to walk.
|
||||
All walks were carried out by 4 different male testers using either a Samsung Note 2, Google Pixel One or Motorola Nexus 6 for recording the measurements.
|
||||
All in all, we recorded \SI{28}{} distinct measurement series, \SI{7}{} for each walk.
|
||||
@@ -316,7 +316,7 @@ For this, we compared the error development with the corresponding radius $r_\te
|
||||
In situations where the errors given by the $D_\text{KL}$ method and the simple method differ the most, $r_\text{sub}$ also increases the most.
|
||||
Here, the radius grows to a maximum of $r_\text{sub} = $ \SI{8.4}{\meter}, using the same measurement series as in fig. \ref{fig:walk1:kdeovertime}.
|
||||
In contrast, a real sample impoverishment scenario, as seen in walk 0 (cf. fig. \ref{fig:errorOverTimeWalk0}), has a maximum radius of \SI{19.6}{\meter}.
|
||||
Nevertheless, such an slightly increased diversity is enough to influence the estimation error of the $D_\text{KL}$ in a negative way (cf. walk 1 in table \ref{table:overall}).
|
||||
Nevertheless, such an slightly increased diversity of \SI{8.4}{\meter} is enough to influence the estimation error of the $D_\text{KL}$ in a negative way (cf. walk 1 in table \ref{table:overall}).
|
||||
Ironically, this is again some type of sample impoverishment, caused by the aforementioned environmental restrictions not allowing particles inside walls or other out of reach areas.
|
||||
|
||||
%%estimation
|
||||
@@ -341,7 +341,7 @@ Regarding the underlying particle set, different shapes of probability distribut
|
||||
\caption{}
|
||||
\label{fig:walk1:kdeovertime}
|
||||
\end{subfigure}
|
||||
\caption{(a) Occurring bimodal distribution caused by uncertain measurements in the first \SI{13.4}{\second} of walk 1. After \SI{20.8}{\second}, the distribution gets unimodal. The weigted-average estimation (blue) provides a high error compared to the ground truth (solid black), while the KDE approach (orange) does not. (b) Error development over time for the complete walk. From \SI{230}{\second} to \SI{290}{\second} to pedestrian was not moving. }
|
||||
\caption{(a) Occurring bimodal distribution caused by uncertain measurements in the first \SI{13.4}{\second} of walk 1. After \SI{20.8}{\second}, the distribution gets unimodal. The weigted-average estimation (orange) provides a high error compared to the ground truth (solid black), while the KDE approach (blue) does not. (b) Error development over time for the complete walk. From \SI{230}{\second} to \SI{290}{\second} to pedestrian was not moving. }
|
||||
\label{fig:walk1}
|
||||
\end{figure}
|
||||
%
|
||||
@@ -350,9 +350,9 @@ That is why we again have a look at walk 1.
|
||||
A situation in which the system highly benefits from this is illustrated in fig. \ref{fig:walk1:kde}.
|
||||
Here, a set of particles splits apart, due to uncertain measurements and multiple possible walking directions.
|
||||
Indicated by the black dotted line, the resulting bimodal posterior reaches its maximum distance between the modes at \SI{13.4}{\second}.
|
||||
Thus, a weighted-average estimation (blue line) results in a position of the pedestrian somewhere outside the building (light green area).
|
||||
Thus, a weighted-average estimation (orange line) results in a position of the pedestrian somewhere outside the building (light green area).
|
||||
The ground truth is given by the black solid line.
|
||||
The KDE-based estimation (orange line) is able to provide reasonable results by choosing the "correct" mode of the density.
|
||||
The KDE-based estimation (blue line) is able to provide reasonable results by choosing the "correct" mode of the density.
|
||||
After \SI{20.8}{\second} the setting returns to be unimodal again.
|
||||
Due to a right turn the lower red particles are walking against a wall and thus punished with a low weight.
|
||||
|
||||
@@ -369,7 +369,7 @@ This leads to the conclusion, that a weighted-average approach provides a more s
|
||||
A comparison between both methods is illustrated in fig. \ref{fig:estimationcomp} using a measuring sequence of walk 2.
|
||||
We have highlighted some interesting areas with colored squares.
|
||||
The greatest difference between the respective estimation methods can be seen inside the green square, the gallery wing of the museum.
|
||||
While the weighted-average (blue) produces a very straight estimated path, the KDE-based method (red) is much more volatile.
|
||||
While the weighted-average (orange) produces a very straight estimated path, the KDE-based method (blue) is much more volatile.
|
||||
This can be explained by the many small rooms that pedestrians pass through.
|
||||
The doors act like bottlenecks, which is why many particles run against walls and thus are either drawn on a new position within a reachable area (cf. section \ref{sec:estimation}) or walk along the wall towards the door.
|
||||
This causes a higher uncertainty and diversity of the posterior, what is more likely to be reflected by the KDE method than by the weighted-average.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
\section{Particle Filtering}
|
||||
|
||||
As described earlier, we use a CONDENSATION particle filter to implement the recursive state estimator described in section \ref{sec:rse}.
|
||||
A set of particles is defined by $\{\vec{X}^i_{t}, w^i_{t} \}_{i=1}^N$, where $\mParticleVec^{i}_{t}$ is sampled based on the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$.
|
||||
A set of $N$ particles is defined by $\{\vec{X}^i_{t}, w^i_{t} \}_{i=1}^N$, where $\mParticleVec^{i}_{t}$ is sampled based on the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$.
|
||||
The weight $w_t^i$ is obtained by the probability density of the state evaluation $p(\mObsVec_{t} \mid \mStateVec_{t})$.
|
||||
A particle set approximates the posterior as follows:
|
||||
|
||||
@@ -103,10 +103,11 @@ Finally, we have all necessary tools to implement the second method to prevent i
|
||||
For this, the state transition model is extended.
|
||||
Compared to the resampling step, as used by the first method, the transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ enables us to use prior measurements, which is obviously necessary for all \docWIFI{} related calculations.
|
||||
As described in chapter \ref{sec:transition}, our transition method only allows to sample particles at positions, that are actual feasible for a humans within a building e.g. no walking trough walls.
|
||||
If a particle targets a position which is not walk-able e.g. behind a wall, we draw a new position within a very small, but reachable area around its current position.
|
||||
If a particle targets a position which is not walk-able e.g. behind a wall, we deploy a strategy how to handle this.
|
||||
For example, drawing a new position within a very small, but reachable area around the particle's current position.
|
||||
%
|
||||
%Instead of such a small area or even the complete building, as suggested in method one, we now define a sphere.
|
||||
To prevent sample impoverishment we extend this transition method by making the reachable area depended upon $D_\text{KL}$ and the \docWIFI{} quality factor.
|
||||
To prevent sample impoverishment we extend this transition strategy by making the reachable area depended upon $D_\text{KL}$ and the \docWIFI{} quality factor.
|
||||
Particles are thus drawn uniformly on a sub-region of the mesh, given by a radius $ r_\text{sub} = D_\text{KL} \cdot q(\mObsVec_t^{\mRssiVec_\text{wifi}})$.
|
||||
The sub-region consists of all walk-able and connected triangles within $r_\text{sub}$, including stairs and elevators.
|
||||
%\todo{radius ist falsch! all connected triangles... warte aber noch aufs franks transition teil.}
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
that might be reachable. Increasing $\sigma_\text{step}$ and $\sigma_\text{turn}$ for those cases might also be a viable choice.
|
||||
Likewise, just using some random position, omitting heading/steps might be viable as well.
|
||||
|
||||
The detected steps $\mObsSteps$ and the heading change $\mObsHeading$ are obtained using the smartphones IMU.
|
||||
The detected steps $\mObsSteps$ and the heading change $\mObsHeading$ are obtained using the smartphone's IMU.
|
||||
To provide a robust heading change, we first need to rotate the gyroscope onto the east-north-up frame using a suitable transformation matrix.
|
||||
After the rotation, integrating over the gyros $z$-axis for a predefined time interval provides the user’s heading change (yaw) \cite{Ebner-15}.
|
||||
To obtain the matrix in the first place, we assume that the acceleration during walking is cyclic and thus the average acceleration over several cycles has to be almost zero.
|
||||
@@ -132,7 +132,7 @@ To receive the number of steps, we use a very simple step detection based on the
|
||||
For this, we calculated the difference between the average magnitude over the last \SI{200}{\milli\second} and the gravity vector.
|
||||
If this difference is above a certain threshold ($> \SI{0.32}{\m\per\square\s}$), a step is detected.
|
||||
To prevent multiple detections within an unrealistic short interval, we block the complete process for \SI{250}{\milli\second} \cite{Koeping14}.
|
||||
|
||||
Of course, there are much more advanced methods as surveyed in \cite{davidson2017survey}, however this simple method has served us very well in the past.
|
||||
|
||||
%\commentByFrank{es gaebe noch ganz andere ansaetze etc. aber wir haben wohl nicht mehr genug platz :P}
|
||||
%\commentByToni{ich denke aber auch, es langt.}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -58,7 +58,5 @@
|
||||
\put(0.02675088,0.68947947){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{38.57500076}\smash{\begin{tabular}[t]{l}global optim.\end{tabular}}}}%
|
||||
\put(0.24620002,0.68934834){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{38.57500076}\smash{\begin{tabular}[t]{l}ground truth\end{tabular}}}}%
|
||||
\put(0.2303965,0.65687677){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{38.57500076}\smash{\begin{tabular}[t]{l}reference point\end{tabular}}}}%
|
||||
\put(0.70550855,0.26588974){\color[rgb]{1,0.99607843,1}\makebox(0,0)[lt]{\lineheight{38.57500076}\smash{\begin{tabular}[t]{l}\textbf{DUMMY}\end{tabular}}}}%
|
||||
\put(0.70396481,0.01662141){\color[rgb]{1,0.99607843,1}\makebox(0,0)[lt]{\lineheight{38.57500076}\smash{\begin{tabular}[t]{l}\textbf{DUMMY}\end{tabular}}}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.4 MiB |
37105
tex/gfx/walk.eps
37105
tex/gfx/walk.eps
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user