Cleaning GPS trajectories using machine learning techniques
Creators: name: Sbetti Davide
Publisher: name: Zenodo
Year: 2022
Subjects: machine learning
GPS
GPS cleaning
Kalman Filters
LSTM

description: Nowadays, the wide availability of GNSS enabled portable devices, such as smartphones and smartwatches, enables professional athletes and outdoor enthusiasts to track and analyse their activities. However, although the nominal precision of the system is high enough for a precise analysis, various environmental factors can affect it, resulting in incorrect positions that could have a negative impact on the resulting trace. Most of the commercial services providing analysis of outdoor activities offer techniques that can be used to "clean" the uploaded traces. Generally, these techniques exploit the huge amount of data collected by the service, but still manifest problems in their outcomes.<br> The goal of this thesis project is to investigate the application of machine learning methods to the field of GPS signal processing, identifying areas, without exploiting geographical knowledge, in which a GPS trace could have been affected by a positional error, applying then a correcting technique on the discovered areas. The reason behind the decisions of not exploiting geographical knowledge and big data techniques is twofold. From one side, we aim at developing a technique that can be applied also on low powered devices. On the other hand, we would like to consider also activities which are not constrained by networks of roads or paths (e.g. ski touring or kayaking), for which it would not be possible to apply geographical knowledge. Firstly, the absence of an already existing dataset containing annotated GPS traces, therefore traces where the errors were explicitly marked, resulted in the development of a web platform used for collecting over 60 traces related to eight different outdoor activities. In our work, we focused on two kinds of errors often present in the recorded traces, namely pauses and positional errors.<br> Following, the collected data were employed in a comparison of various machine learning techniques on a simple activity recognition task, to understand their ability of modelling GNSS properties. The results of the comparison led us to focus on LSTM based approaches, investigated further in the evaluation of two architectures derived from the literature and a custom proposed one, based on bidirectional LSTM cells. The evaluation of the various techniques was performed on segments obtained by applying a sliding window approach on the collected traces, a strategy that allowed the<br> models to focus on a limited number of points and context, and resulted in the custom architecture obtaining the larger accuracy. The final model, which obtained a mean accuracy of over 0.97, was converted, without performance loss, to a TensorFlow Lite model to enable its execution on low powered mobile devices.<br> After obtaining a light model able to distinguish between various types of errors, a visual comparison between correcting approaches, including interpolation techniques and Kalman Filters based methods, outlined how a custom bidirectional application of Kalman Filters, on areas marked as positional errors, performed the best. On the other hand, the detected pauses were removed and replaced by the mean position of the recorded points, since they represent a situation in which the user’s position was stationary. This approach was so selected and combined, along with the trained<br> model, in a light Python package released on GitHub under the name of GPSClean. <br> Further developments of this project could include an expansion of the used dataset, both in terms of number of traces and location in which they have been collected, since most of them were recorded in the Trentino-South Tyrol region. Furthermore, the usage of traces metadata, such as the activity type and device, could be investigated. Moreover, other machine learning approaches could be included in the comparison and the definition of an objective metric to assess the quality of a GPS trace, which is still an open question, could allow a more objective comparison of the correcting techniques.