=Paper= {{Paper |id=Vol-3248/paper24 |storemode=property |title=L5IN+: From an Analytical Platform to Optimization of Deep Inertial Odometry |pdfUrl=https://ceur-ws.org/Vol-3248/paper24.pdf |volume=Vol-3248 |authors=Hossein Shoushtari,Firas Kassawat,Dorian Harder,Korvin Venzke,Jörg Müller-Lietzkow,Harald Sternberg |dblpUrl=https://dblp.org/rec/conf/ipin/ShoushtariKHVMS22 }} ==L5IN+: From an Analytical Platform to Optimization of Deep Inertial Odometry== https://ceur-ws.org/Vol-3248/paper24.pdf
L5IN+: From an Analytical Platform to Optimization of Deep
Inertial Odometry
Hossein Shoushtari 1, Firas Kassawat 2, Dorian Harder 1, Korvin Venzke 1, Jörg Müller-
Lietzkow 3, Harald Sternberg 1
1
  HafenCity University, Geodesy and Geoinformatics, Hamburg, Germany
2
  Bonn University, Computer Science Institute, Bonn, Germany
3
  HafenCity University, Economy and Digitization, Hamburg, Germany


                                  Abstract
                                  Fifth generation of mobile communications (5G) and Deep Neural Networks (DNN) are two
                                  important technologies, which will enable new functions in the field of indoor positioning. This
                                  could be seen as the second major development after the innovation of smartphones, as a
                                  GNSS/INS alternative for indoor, location based applications. Optimization methods which
                                  work as a corrector, and as the uncertainty assessment for real life applications, guided us
                                  through the next level of challenges. In this paper, we have opened a novel interpretation of a
                                  deep network for inertial odometry which is robust to noisy labelled data that was detected
                                  from a 5G network. We also designed and developed analytical platform, which is considered
                                  a data collector and cellular positioning simulation. This platform was used to provide the input
                                  for the learning and optimization algorithms. The simulation website is implemented and
                                  available online under simulation2evaluation.herokuapp.com for researchers to generate
                                  ground truth trajectories and simulated cellular measurements with assigned quality and exact
                                  error values. We have proposed two approaches: (1) deep inertial odometry based on predicting
                                  velocity vector elements or relative positions and (2) Kalman Filtering to use, combine and test
                                  the absolute positions with the relative ones from the first approach. We finally provide
                                  numerical results of our experiments and a discussion of the effectiveness of our approaches.

                                  Keywords 1
                                  Indoor Localization, 5G Simulation, 5G Correction, Deep Neural Networks, Kalman Filter,
                                  Smartphone.

1. Introduction

    Inertial Odometry has been a well-known field for the Geodesy and Geoinformatics community,
starting with methods to develop a strapdown [1] inertial navigation system (INS) to determine the
sensors’ position. Combination of GNSS and IMU is still one of the main localization methods, often
based on an extended Kalman Filter (KF). This localization core plays a significant role in visual
odometry methods in outdoor scenarios [2], [3] for many applications such as autonomous driving,
smart vacuum cleaners, UAV, and other robots. However, absence of GNSS or a comparable alternative
in indoor areas has been a challenge for indoor applications.
    Existing localization methods typically rely on Wi-Fi, Bluetooth, visual sensors such as LiDAR or
cameras, but they are usually costly due to the installation requirements for an accurate localization
and/or power-hungry [4]. IMUs could be a solution to the above problems as they are energy efficient
and environmentally independent. However, these methods require correction after a while, to have a
robust performance for a longer time [5]. Combination of two state-of-the-art positioning techniques



IPIN 2022 WiP Proceedings, September 5 – 8, 2022, Beijing, China
EMAIL: hossein.shoushtari@hcu-hamburg.de (H.Shoushtari)
                               ©2022 Copyright for this paper by its authors.
                               Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Wor
    Pr
       ks
        hop
     oceedi
          ngs
                ht
                I
                 tp:
                   //
                    ceur
                       -
                SSN1613-
                        ws
                         .or
                       0073
                           g
                               CEUR Workshop Proceedings (CEUR-WS.org)
can address the entire challenge, namely fifth
generation (5G) positioning and deep learning
based IMU localization [6].
    On one hand, radio infrastructure can play
a vital role in autonomous indoor navigation,
thanks to the innovative capabilities of 5G
wireless signals. The latest wireless network
technology, 5G, also known as New Radio
(NR), offers faster data rates, lower latency,
higher capacity, lower transmitting power,
network slicing and massive connectivity
compared to previous generations [7].
Moreover, the related 3rd Generation
Partnership Project (3GPP) releases (i.e.,
release 16 and 17 [8], [9]), are supported by 5G
chips embedded in recent smartphones [10].
Considering the 5G as an alternative solution
for GNSS in indoor areas, a 5G-based
corrector can be used to correct the trajectory          Figure 1: Overview of the proposed method.
once an accurate measurement is available.
    On the other hand, recent deep learning approaches such as IONet [11], RoNIN [12], IDOL [4] and
CTIN [13] have demonstrated the capability of neural networks to address the problem of accumulating
sensor drift and different sensor placements, through the use of supervised learning, to directly estimate
the velocity vector when estimating the user pose using an IMU. With a closer look on the RoNIN
model for instance, it has been seen that they do not directly use only IMU values but also pre-calculated
rotation vectors from the Android position sensor [14]. Moreover, the model still seems not to be robust
for unknown users or sensors, presenting perhaps its high dependency on the still limited training data.
Finally, a flexible correction for long trajectories seems to be the next step, following these works.
    The correction can mathematically be modeled as an optimization problem. Applying the INS
approaches using a KF directly on the smartphone sensors values has been tested in [15]. The results
do not seem promising because of the poor performances of the sensors and the fix smartphone
placement issue. Authors in [16] tried to combine the absolute position from fingerprinting with the
relative ones, which are calculated based on inertial sensors, using a weighted least squares approach.
Their method needs the same frequency of the absolute position and the relative ones, which would be
energy hungry. 5G and odometry combination can estimate a corrected position and compare the
performances. A non-linear state estimation by a CNN-based deep learning model for inferring the
momentary speed using an extended KF has shown the feasibility of such optimization model [17]. In
general, it has been shown that any odometry outputs in formats such as delta x and delta y as well as
stride length and stride direction for human steps, and the 5G coordinates with an optimum frequency,
in a real time manner is possible [18].
    In response to the observations and concerns raised above, a novel interpretation of Deep Neural
Networks (DNN) for inertial odometry which is robust to noisy labelled data, for example from a 5G
network has been proposed (see Fig. 1). We have developed a research mode to collect more training
data for our future 5G network, and in the absence of the 5G network, we have designed a web
application to simulate 5G position information. Practically, we extended the ideas of neural networks
and KF, to provide a robust combined solution. The major contribution of this paper is summarized as
follows:
    •    Development of a novel combination of DNN and KF for the relative and absolute positioning.
    •    Design and development of an analytical platform for data collection.
    •    Extending our cellular positioning simulation and evaluation web application.
    The rest of this paper is organized as follows. Section 2 gives background about the inertial
odometry. Section 3 reviews the simulation web application as well as the research platform. Our
developed models including the DNN and the KF are introduced in Section 4. Evaluation, and later
conclusion and outlook are presented in section 5 and section 6.
2. Background
2.1. Inertial Odometry

    Technically, 3D angular velocity and 3D
acceleration provided by IMUs are the basis
measurements. These are subjected to bias and
white noises, but our observation shows that
calibration of these parameters cannot solve the
problem, due to the non-stable and poor
performance of such sensors. However, the
dynamic acceleration (without gravity) and the
angular rate in the navigation coordinate system
is essential for each inertial odometry method.
We have used the Madgwick [19] to calculate
the dynamic acceleration and other sensor
values in the navigation frame. The results can      Figure 2: IMU values in the navigation coordinate
be seen in Figure 2. Quaternions are one of the      system.
easiest ways to estimate these values:
                                 (0, 𝑥 ! ) = 𝑞 ⊗ (0, 𝑥 " ) ⊗ 𝑞#$                                     (1)

   Where 𝑥 ! , 𝑥 " are quaternions with pure vectors i.e., the scaler value is set to be zero since the
quaternion product must be applied. 𝑞#$ is the inverse of the quaternion. These quaternions products
are also easy to implement using the well-known matrix below, which would be used to do a quaternion
product without any quaternion representations.
                                    −𝑞$      −𝑞'    −𝑞&                                              (2)
                                1 𝑞%         −𝑞&    𝑞'       !         "
                        C(q) =    .                 −𝑞$ 0 , 𝒙 = C(q). 𝒙
                               |𝑞| 𝑞&         𝑞%
                                   −𝑞'        𝑞$    𝑞%

2.2.    Deep Neural Network

    With the presence of IMU sensors reading and recording of the resulted velocities which creates a
trajectory across time, the use of machine learning and supervised learning is now possible. DNN is
one of the most adopted approaches for supervised learning due to the advantages of having high
accurate predictions and the ability to deduce relations between the data across time which cannot be
deduced by a normal human. Despite not being able to show the determined relations, DNN can be
tested for accuracy until we are satisfied with the result. The main objective of using a DNN model for
inertial odometery to predicts accurately the velocity and trajectory of a moving subject (e.g.,
pedestrian) based on the history of the IMU measurements. This is possible due to Newtonian
mechanics as shown in [20].
    DNNs are different from normal neural networks by the number of hidden layers, as its depth
increases with more layers. For some neural networks, it was observed that it makes sense to affirm that
“the deeper the better”. However, when deep neural networks start converging, degradation problems
appear as the accuracy starts to saturate without reaching the state of overfitting. At this point adding
more layers to the networks leads to higher training error [21]. Authors in [22] have introduced the
Residual learning neural Network (ResNet) to address such problems. The idea of this network is to let
the non-linear layers fit a residual mapping, instead of hoping each stacked layer (depth) fits the desired
underlying mapping. It means, the network should approximate the identify function in which, the
output 𝐻(𝑥) become the input 𝑋 itself.
                                            𝐹(𝑋) = 𝑋                                                  (3)
                                                      When the input to the first layer of the model is
                                                  avoided to be the output of the last layer of the model,
                                                  the network should be able to predict whatever
                                                  function it was learning before with the input added to
                                                  it as follows.
                                                                   𝐻(𝑥) = 𝐹(𝑥) + 𝑥                   (4)
                                                  instead of
                                                                   𝐻(𝑥) = 𝐹(𝑥)                       (5)

                                                       The intuition is that 𝐹(𝑥) = 0 is easily learnable,
 Figure 3: Two layers example of a ResNet.         so that the learning is from differences between output
                                                   and input. The block shown in Figure 3 is adopted to
every few stacked layers. The residual mapping to be learned is given as 𝐹(𝑥, {𝑊( }) which can be
identified in case of two layers, similar to Figure 3, as 𝐹(𝑥) = 𝑊' 𝜎 (𝑊$ 𝑥).
   The convolutional layers mostly have 3x3 filters and are restricted to have the same output feature
map size as the number of filters. Finally, the network ends with a global average pooling and a fully
connected layer with a Softmax [22] which provides the final max predicted probability of the possible
candidates.

2.3.    Kalman Filtering

    KF is an application of Bayesian estimation method. It obtains optimal estimates using the
deterministic and stochastic properties of the system model and measurements to execute recursive state
estimation. The current estimate is updated by using the previous best estimates as inputs. The system
model provides a prediction of the current state. Measurements are used to correct the predicted state
and the measurements are combined by assigning weights to the prediction and the measurements. The
new estimate is the weighted mean of the predicted state and the measurements [23]. In kinematic multi
sensor systems, which are usually equipped with gyroscopes and accelerometers, KF is often used for
the trajectory determination of the moving platform by using the motion model as well as the
observation model.

3. It is all about Data
    The human behavior patterns are not limited to a few categories. For a robust position estimation,
we have tried to combine the datasets from IONet [11] and RoNIN [12] including the ones from RIDI
[24]. We have also considered our new dataset with ground truth labels for natural human motions
including both real and simulated 5G coordinates. We mainly have used 1 user, error of 1 meter as well
as a frequency of 1 Hz as settings, to collect the training data. The data collection is still a work in
process until using the developed research mode in real 5G wireless networks. However, the simulation
allows researcher to generate noisy label data in absence of a real 5G network for further algorithm
development.

3.1.    Analytical Platform
   During the development of the L5IN app, an analysis of the expected user groups was carried out at
the beginning. In the background, the app collects all relevant sensor data from the smartphone and
converts it into a position in an analytical platform so called research mode. Based on the user's own
position and a previously selected destination, route guidance of the user is possible. The collected
sensor data is available for further
development of the positioning
algorithms (see Fig. 4). An
independent                position
determination of the mobile
device in the 5G network is
currently     under     test    and
development. As soon as this is
locally possible, this way of
position determination will be
favored.
    The L5IN app was developed
using the Unity framework to
have a common code base for
Android and iOS. The abstraction
layer, which is used by Unity, in
contrast to apps developed
natively for mobile devices, the
app only indirectly communicates         Figure 4: Data collection in the L5IN app (left) and
with the base operating system,
which offers special challenges          adjustable sampling rate of the sensors (right).
with extremely high sampling
rates of the sensors, as can be seen
in Figure 4.
   With focus on the current state of the app, which is supported in the background by the previously
mentioned services, it is possible after the installation of the app to store a starting position in a
participating building. Afterwards, the user can move freely, or by entering his destination, guided in
the entire building, even over several floors. A 2D or 3D map of the building is displayed, depending
on the user's preference. A user login and the use of the research mode is only possible for the research
team. It will be soon available as an AWS [25], which can help analyzing a high amount of positioning
data.
   In explorer mode, previously configured test routes can be loaded and run. In addition, so-called
waypoints can be set at prominent points to be able to assign these points during a later analysis of the
collected sensor data. An example of a recorded route is shown in Figure 5. The individual sensor values
as well as all other recorded data can be downloaded as an export. The standardized data can then be
evaluated in subsequent systems.




Figure 5: The research Mode test route (above) and data access (down).
3.2.    Simulation
   To enable the research and development of 5G positioning approaches without an existing 5G
network, the following simulation has been developed. The simulation not only permits the generation
of measurement data and to add noise to it with the desired measurement frequency, it also uses
reference points and turns them into a ground truth trajectory. The measurements that can be simulated
include signal sending and receiving time, angle and position coordinates. The accuracy of simulation
values, as well as the granularity of the error information can be adjusted. In addition to the white noise
error, semantic error that results from environmental conditions can be specified as well.
   The main task of the Simulator is to generate data for researchers. If no 5G network is available, this
part brings all the tools to simulate different antenna placements and quality scenarios. This requires
reference points and sensor data (acceleration and gyroscope). After generating ground truth data, the
measurements can be simulated and downloaded (see Fig. 6).




Figure 6: Overview of the simulation web application.
    The website is hosted on Heroku's free cloud services [26], which can be connected to a GitHub
repository. Heroku automatically updates the site, and the latest updates can be viewed online
immediately. Unlike traditional websites, Python is not only used for all functions and calculations, but
also for the layout and the entire website using Dash, an open-source framework for data visualization
interfaces and predictive analysis [27]. The general workflow includes four main steps: upload, ground
truth generation, simulation, and export, as it can be seen in Figure 7. The uploaded data can be viewed
on the map. The preferred format is GeoJSON respective to its coordinate reference system. It is
important to ensure that the georeferenced coordinates are used for both maps and waypoints.




Figure 7: Overview of the simulation web application.

   The next part consists of ground truth generation followed by the simulation of measurements. The
ground truth calculation mainly uses the acceleration and gyroscope data as well as some reference
points. The waypoints can be individually selected and displayed on the map. The trajectory can also
be viewed on the map. To simulate measurements, ground truth data and values for frequency, error
and the number of users is required as input. The settings button in the simulation section allows to
change default parameters to further customize the semantic errors.
    The website also offers the possibility to upload antenna coordinates. Simulating measurements such
as the distance and azimuth to all antennas are also calculated and can be seen in the output file. In
addition, various shapes such as lines, polygons and markers can be drawn directly on the map and be
exported. The output file will be downloaded as a compressed file.

4. Models Implementation
4.1. Simulation
    In general, a ground truth trajectory including the timestamps and coordinates is the basis of the
simulation models. The user can then define an error range and measurement frequency. In the absence
of a ground truth trajectory, this can be done within the web application. The simulated result with the
same format of the timestamps and the corresponding coordinates and measurements, according to the
chosen frequency, are then calculated from the ground truth by linear regression. For every coordinate
pair a normal distributed random error is generated, using a random value from the specified error range
as standard deviation. This error value is then added to the coordinate values. Here the generated error
is assigned to a quality class, based on the granularity of the information about the measurement quality
that is expected from the simulated network. The simulation then returns the timestamps and noisy 5G
position measurements such as coordinates, distances, and angles, as well as the chosen error value and
the assigned quality class, for each generated measurement.
    For the semantic errors, the user can specify a range of time interval lengths, a range of the amount
of time intervals and an error range for the semantic errors (see Fig. 7). The number of time intervals
with semantic errors, as well as the duration of each interval and the assigned errors value is then
randomly chosen from the specified ranges. The start times of the intervals are distributed randomly
along the given ground truth trajectory. During the simulation process, the errors for each position are
determined as explained above, until the start time for a semantic error interval is reached. During the
semantic error interval, for each measurement the error is randomly generated from a normal
distribution, using the semantic error value assigned to the interval as standard deviation for the error
distribution.
   Further, the number of users requesting a position from the network can be specified. This way, the
potential loss of accuracy due to the lower frequency of received position information can be
examined. The lower frequency of received position information is the result of the number of users
being greater than the possible number of queries for each position measurement. For this, the duration
between two received positions for a user is determined by dividing the number of users by the query
frequency. The user receives the position according to the time stamp from the last measurement plus
the estimated delay. If this calculated duration exceeds the duration between two measurements a time
lag accumulates, resulting in a higher inaccuracy of the simulated estimation of the propagation of the
user. In this way, one can roughly model the number of users. However, further investigation needs to
provide an accurate effect of the number of users on the positioning performance.

4.2.    Deep Neural Network
   IMU values tend to be affected by bias and noise. This may lead to a major drawback to the whole
prediction efficacy of the DNN model. We tackle this drawback, partially inspiring from the ResNet
model from [12], by 1) improving the model’s robustness to noise. That is by providing large and sparse
data to better generalize the model and reduce the effects of noise measurements. 2) keeping track of
the predicted velocities and detecting the error difference and faulty measurements and finally
compensating them while predicting, considering the mentioned improvement above.
   In our ResNet 18 model, one fully connected layer with 512 units is added at the end to regress a 2D
vector. The network takes IMU values and creates a feature vector of size 6 for every timestamp t and
calculates the velocity for a flexible time window of [t-n, t]. The network inputs tensor would have the
shape of 6x200 and predicts the velocity tensor at t. From the predicted velocities we predict the current
position based on the initial position provided by velocity integration. Figure 8 shows selected
visualizations of the reconstructed trajectories against the ground truth.
Figure 8: Selected visualizations from the deep inertial odometry model on the L5IN+ dataset including
the handheld (top-left) and bag placements (bottom-left) as well as on the RoNIN (top-right) and RIDI
(bottom-right).

4.3.    Kalman Filtering
   In the KF used for the state estimation of the device, the absolute and relative positions are used as
the observation variables. To make the model simple and flexible, we have calculated the displacement
outside the model. The movement model is defined as follows.
                                 𝑋)      1    0   1    0 𝑋)#$                                      (6)
                                . ) 0 = .0
                                 𝑌            1   0    10 . 𝑌)#$ 0
                                 ∆𝑋      0    1   1    0 ∆𝑋
                                 ∆𝑌      0    0   0    1 ∆𝑌

   The observation model is as follows.
                                                  𝑋!                                               (7)
                                                ⎡ 𝑌 ⎤
                                                ⎢ ! ⎥
                                           𝑍! = ⎢) ∆𝑋⎥
                                                ⎢     ⎥
                                                ⎢     ⎥
                                                ⎣) ∆𝑌 ⎦


   where 𝑋, 𝑌 are the absolute positioning and the ∆𝑋, ∆𝑌 are the inertial odometry output. The initial
values for the state vector have been achieved from the label data. We assume no correlation between
the four-state component. The initial covariance matrix of the process noise is
                                           𝑃% = 𝜎 ' 𝐼*×* .                                         (8)
   The covariance of the system state is
                                  𝑃, = 𝐸[(𝑋 − 𝑋A)(𝑋 − 𝑋A)- ]                                       (9)
  The noise of the observed 5G coordinates and the inertial odometry could also be modeled as white
Gaussian Noise. Therefore, the initial observation covariance matrix is
                                          𝑃. = 𝜎 ' 𝐼*×* .                                         (10)
   Implementation results seems to be promising and have been illustrated in Figure 9.




Figure 9: Selected visualizations of absolute Positioning in UTM 32 coordinate system (WGS 84) with
the KF optimization.

5. Evaluation
    We conduct evaluations on three tasks. First the DNN model comparison with the benchmark, using
the same metrics as proposed in [12]. Absolute Trajectory Error (ATE), defined as the Root Mean
Squared Error (RMSE) between the estimated and ground truth trajectories and Relative Trajectory
Error (RTE), defined as the average RMSE over a fixed time interval of 1 minute, have been used.
Table 1 illustrates our model performance on our test dataset. We believe that our network performance
can be even better, due to the flexibility of the input data windows and the increased amount of training
dataset. We also found out the estimated orientations and sensor values are severely corrupted on the
above-mentioned datasets. However, our observations show that it is not related to the sensor
calibration, but poor stability of the smartphone sensor values.
Table 1
The Model performance in comparison

         Model                     Losses                       ATE                       RTE
         RONIN               0.040185, 0.040000                2.776                     3.227
         L5IN +              0.021484, 0.020613                2.741                     2.524

   The performance of the simulation web application with default semantic error adjustment including
the network capacity of 500 request per second has been shown in Figure 10 using normal Cumulative
Distribution Functions (CDFs). We have also considered the novel evaluation metrics as point in
polygons (pip) percentage, initially defined by us in [5]. The simulation parameters are listed as error,
frequency and the number of users in the figure legend. One can use the evaluation section in the web
application, for further online investigation.




Figure 10: CDF of the simulation on RMSE
      Finally, Figure 11 demonstrates the improvement based on the KF optimization in selected settings.




      Figure 11: CDF of the KF based optimization on RMSE.

6. Conclusion and outlook

    Indoor positioning is facing two big innovations, namely 5G positioning based on the soon promised
implementation of release 16 and the fast development of data science approaches such as DNN. In this
paper we have presented a platform for collecting smartphone sensor motion data and cellular network
measurements, which works under the L5IN mobile application on the spot. Then by developing a web
application, we could extend the cellular positioning simulation up to even the simulation of latencies
due to a high number of users, providing a new benchmark dataset that is large and sparse. We then
trained a new ResNet neural model with the combination of the data we collected and a benchmark
dataset. The result was a model that can estimate a position based on IMU readings which is more
robust to noise from sensor readings and can use the noisy label data coming from a 5G network, for
instance. In the future, the proposed model would be tested through an ablation study, in which the
relation between the countless human walking patterns and the amount of training data would be
explained. We also optimized the inertial odometry model result with absolute positions, using a KF
which showed improvement in the overall evaluation. The KF model is light enough to work on the
smartphones in real time applications. In the future, we will also focus on the stochastic model. The
main limitations of current machine learning approaches come from the start pose initialization, which
we intend to improve in future works using the 5G network readings.

Acknowledgment
   This research and L5IN project were funded by the Federal Ministry of Transport and Digital
Infrastructure (BMVI), grant number VB5GFHAMB. We would like to thank the other project
members, who did not participate as authors of this work.

References

[1]       P. G. Savage, “Strapdown inertial navigation integration algorithm design part 1: Attitude
          algorithms,” J. Guid. Control. Dyn., vol. 21, no. 1, pp. 19–28, 1998, doi: 10.2514/2.4228.
[2]       K. Koide, J. Miura, and E. Menegatti, “A portable three-dimensional LIDAR-based system for
          long-term and wide-area people behavior measurement:,” vol. 16, no. 2, Apr. 2019, doi:
          10.1177/1729881419841532.
[3]       X. Chen, A. Milioto, E. Palazzolo, P. Gigù, J. Behley, and C. Stachniss, “SuMa++: Efficient
          LiDAR-based Semantic SLAM,” Accessed: May 09, 2022. [Online]. Available:
          https://github.com/PRBonn/semantic_suma/.
[4]       S. Sun, D. Melamed, and K. Kitani, “IDOL: Inertial Deep Orientation-Estimation and
          Localization,” 2021, [Online]. Available: http://arxiv.org/abs/2102.04024.
[5]       H. Shoushtari, C. Askar, D. Harder, T. Willemsen, and H. Sternberg, “3D Indoor Localization
          using       5G-based    Particle     Filtering      and     CAD       Plans,”     2021,    doi:
          10.1109/IPIN51156.2021.9662636.
[6]    H. Shoushtari, T. Willemsen, and H. Sternberg, “Many ways lead to the goal—possibilities of
       autonomous and infrastructure‐based indoor positioning,” Electron., vol. 10, no. 4, pp. 1–17,
       2021, doi: 10.3390/electronics10040397.
[7]    A. A. Abdallah, K. Shamaei, and Z. M. Kassas, “Assessing real 5G signals for opportunistic
       navigation,” in ION GNSS, Sep. 2020, pp. 2548–2559, doi: 10.33012/2020.17702.
[8]    “Release 16.” https://www.3gpp.org/release-16 (accessed Nov. 05, 2020).
[9]    “Release 17.” https://www.3gpp.org/release-17 (accessed Dec. 09, 2020).
[10]   A. García, S. Maier, and A. Philips, Location-Based Services in Cellular Networks: from GSM
       to 5G NR. 2020.
[11]   C. Chen, P. Zhao, C. X. Lu, W. Wang, A. Markham, and N. Trigoni, “Deep-Learning-Based
       Pedestrian Inertial Navigation: Methods, Data Set, and On-Device Inference,” IEEE Internet
       Things J., vol. 7, no. 5, pp. 4431–4441, 2020, doi: 10.1109/JIOT.2020.2966773.
[12]   S. Herath, H. Yan, and Y. Furukawa, “RoNIN: Robust Neural Inertial Navigation in the Wild:
       Benchmark, Evaluations, & New Methods,” in 2020 IEEE International Conference on
       Robotics      and      Automation     (ICRA),      May     2020,    pp.     3146–3152,     doi:
       10.1109/ICRA40945.2020.9196860.
[13]   B. Rao, E. Kazemi, Y. Ding, D. M. Shila, F. M. Tucker, and L. Wang, “CTIN: Robust Contextual
       Transformer Network for Inertial Navigation,” in 2022 Preceedings of the AAAI conference on
       Artificial Intelligence.
[14]   “Position                sensors              |             Android               Developers.”
       https://developer.android.com/guide/topics/sensors/sensors_position (accessed May 09, 2022).
[15]   T. Willemsen, F. Keller, and H. Sternberg, “A topological approach with MEMS in smartphones
       based on routing-graph,” 2015, doi: 10.1109/IPIN.2015.7346952.
[16]   C. Kjellson, M. Larsson, K. Astrom, and M. Oskarsson, “Accurate Indoor Positioning Based on
       Learned Absolute and Relative Models,” 2021 Int. Conf. Indoor Position. Indoor Navig. IPIN
       2021, 2021, doi: 10.1109/IPIN51156.2021.9662534.
[17]   S. Cortes, A. Solin, and J. Kannala, “Deep Learning Based Speed Estimation for Constraining
       Strapdown Inertial Navigation on Smartphones,” IEEE Int. Work. Mach. Learn. Signal Process.
       MLSP, vol. 2018-September, Aug. 2018, doi: 10.48550/arxiv.1808.03485.
[18]   D. Harder, H. Shoushtari, and H. Sternberg, “Real-Time Map Matching with a Backtracking
       Particle Filter Using Geospatial Analysis,” Sensors 2022, Vol. 22, Page 3289, vol. 22, no. 9, p.
       3289, Apr. 2022, doi: 10.3390/S22093289.
[19]   S. O. H. Madgwick, “An efficient orientation filter for inertial and inertial / magnetic sensor
       arrays,” 2010.
[20]   M. Kok, J. D. Hol, and T. B. Schön, “Using inertial sensors for position and orientation
       estimation,” Found. Trends Signal Process., vol. 11, no. 1–2, pp. 1–153, 2017, doi:
       10.1561/2000000094.
[21]   R. K. Srivastava, K. Greff, and J. Schmidhuber, “Highway Networks,” 2015, Accessed: May
       11, 2022. [Online]. Available: http://arxiv.org/abs/1507.06228,.
[22]   K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in
       Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern
       Recognition, 2016, vol. 2016-Decem, pp. 770–778, doi: 10.1109/CVPR.2016.90.
[23]   G. Wang et al., “A GNSS/INS Integrated Navigation Algorithm Based on Kalman Filter,”
       IFAC-PapersOnLine,         vol.   51,    no.    17,    pp.   232–237,     Jan.    2018,    doi:
       10.1016/J.IFACOL.2018.08.151.
[24]   H. Yan, Q. Shan, and Y. Furukawa, “RIDI: Robust IMU double integration,” arXiv. pp. 1–16,
       2017.
[25]   “AWS | Cloud Server.” https://aws.amazon.com/ (accessed May 15, 2022).
[26]   “Cloud Application Platform | Heroku.” https://www.heroku.com/ (accessed May 09, 2022).
[27]   “Plotly: The front end for ML and data science models.” https://plotly.com/ (accessed May 09,
       2022)