<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Context-Matching in Mobility Trajectories Using Particle Filters</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mohammadreza Amini</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mahmoud Sakr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ain Shams University</institution>
          ,
          <addr-line>Cairo</addr-line>
          ,
          <country country="EG">Egypt</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Université Libre de Bruxelles</institution>
          ,
          <addr-line>Brussels</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we propose a novel kind of trajectory analysis, so called context matching. It matches a given trajectory against a movement model, which is given as a Markov chain, capturing what we call the movement context. Particle filters are then used to match a given trajectory against its movement context with the ultimate goal of inferring semantic properties of the movement trajectory. Firstly, we introduce the method in its generality by illustrating multiple showcases. Secondly, we develop the formal model of context-matching. Finally, we illustrate an example use-case for annotating trajectories of ifshing vessels into fishing and sailing segments. By doing so, we show the efectiveness of context matching and its use in enriching real-world trajectory datasets.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Trajectory</kwd>
        <kwd>Context Matching</kwd>
        <kwd>Particle Filters</kwd>
        <kwd>Markov Chains</kwd>
        <kwd>Mobility Data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>matching the observed spatiotemporal trajectory against
the modeled context, i.e., context-matching.</p>
      <p>Location tracking of moving objects is becoming more This paper aims to propose a general methodology
and more feasible, thanks to the recent advancement that solves the problem of context-matching. Particle
filof various technologies, including GPS, Wi-Fi-tracking, ters [4] are generally used to solve estimation problems,
Bluetooth, etc. The data collected from these devices are with wide adoption in the fields of robotics and
trajectypically sequences of location and time. The seman- tory guessing. The proposed methodology uses particle
tics of the movement, such as the purpose of the trip ifltering in its core alongside Hidden Markov Models and
and the mode of transport, are not captured during the concepts seen in Map-Matching [5] in order to match a
observation process. This gap has been identified and defined set of context to a given set of trajectory data.
addressed by extensive research work under the title of To represent the context, we use Markov chain which
semantic trajectories, where one major task is to annotate is a statistical model consisting of a set of states and the
trajectory segments by some behavioral properties. probabilities of moving between them. The model defines</p>
      <p>In the literature, many papers approach the matching the context that needs to be matched to the
spatiotempoof semantic representation to a given trajectory dataset ral trajectory. After defining the model, particle filtering
by using segmentation algorithms [1, 2, 3]. Although algorithm is applied to the spatiotemporal trajectory in
these papers show promising results, the methodologies order to match a context to each trajectory point. The
that they propose are specified uniquely to a given dataset particle filtering process allows us to generate particles
or a given context and do not work in a generalized way. for each given observation and with the help of our model
The objective of this paper is to generalize the problem representation, we can choose the best particle between
and approach it in a unified way. particles (filtering process) and keep it as the context</p>
      <p>The abstract idea of this work is that the object is mov- result associated with that given observation. With the
ing in two spaces: it is moving in the geospatial space, as above considerations, our main contributions are:
observed by the location tracking device, and in parallel,
it moves in a semantic space changing its semantic prop- • the introduction of context-matching, as a generic
analerties, which we call context. We assume that this context ysis for inferring trajectory semantics
space can be modeled, using domain knowledge. The task
of inferring the movement semantics is thus mapped into
• a generalized technique based on particle filtering in
order to match context to the trajectory data</p>
      <sec id="sec-1-1">
        <title>Section 4 provides the formal development of contextmatching. We then illustrate a showcase in Section 5. Lastly, Section 6 concludes this paper and discusses possible future directions on the topic.</title>
        <p>Wij</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Context-Matching</title>
      <p>Landing on
runway 28L/R</p>
      <p>...</p>
      <p>Landing on
runway n</p>
      <p>Turnaround
operations 1</p>
      <p>...</p>
      <p>Turnaround
operations k</p>
      <p>Takeoff from
runway 19L/R</p>
      <p>...</p>
      <p>Takeoff from
runway m
This section casually describes the idea of
contextmatching, through examples in diferent mobility
domains, and diferent application focus. The first example eFriaglumreod2e:l oAfnfleigxhamtgprloeuMndarokpoevraCtihoanisn.
cEavpetruyrfinligghtthuengdeenr-(Figure 1a, Figure 1b), presented in [6], tries to infer the goes three main steps: (1) landing on a selected runway, (2)
lfight operations in San Francisco airport. The ADS-B tra- turnaround operations on the ground, i.e., operations for
jectories of aircraft are analyzed in order to identify the handling inbound and outbound exchanges of passengers,
combination of landing, turnover, and take-of resources crew, catering, cargo, and baggage, (3) taking-of from a
se(e.g., runways) used by the aircraft. This analysis is impor- lected runway. For every step, there are multiple choices,
tant for addressing the challenges of airspace monitoring. i.e., landing/take-of runway, and turnaround operations. The
The paper proposes a non-supervised waypoint-based transitions/edges are weighted. Weights might come from
trajectory clustering to identify and group the turning the operations manual of the airport, or observed in the data
points into diferent configurations. Fig. 2 illustrates a history. An operations-mode is abstracted in this diagram as
simplistic Markov chain that represents the semantic se- tNhoeticcoemtbhiantatthioisn iosfalasnimdipnlgif,iteudrn‘parroooufn-odf,-acnodncteapkte’odfsiatagtreasm.,
quence of events through which flight operations can that might be further detailed, e.g., by further breaking down
be determined. We call this Markov chain, the context- turnaround operations.
diagram. The proposed context-matching will
stochastically devise a correct assignment of the labels in this
context diagram to the trajectory points. Such semantic
enrichment of the trajectory points would thus enable
the identification of flight operations.</p>
      <p>Context-matching is proposed as an abstraction of
these analyses. Abstractly speaking, these applications
try to infer semantic properties of the moving trajectory,
which were lost during the observation process.
Contextmatching assumes that these analyses, and alike, can be
carried out through matching the trajectories to models
that capture their movement mode/behavior/semantics,
here called context. While the movement model can vary
across data and application domains, the matching
algorithm remains the same. The analysis task then
transforms into defining a movement model that best captures
the context. As such, we are able to carry them out in a
unified way using the same algorithm.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Related Work</title>
      <p>(a) San Francisco airport di- (b) Northern California TRA- Moving object databases are mainly focused on storing
agram with take-of and CON (NCT) standard trafic trajectories as location sequences [7, 8, 9]. Understanding
landing direction in the patterns, west configuration the movement semantics is however essential for many
west configuration [6] [6] analyses. In the literature, diferent methodologies are
Figure 1: Example patterns of flight operations used for inferring the trajectory semantics. The common
aspect of these methodologies is that they are specific to
a certain data modality and certain semantic properties.</p>
      <p>A second work that can be achieved by context- In [10, 11], each trajectory point is assigned to a specific
matching is the segmentation of fishing vessel trajecto- label describing the activity of the fishing vessel at that
ries. For instance, [3] proposes window-based trajectory point. On another class of applications, [2, 12, 1, 3, 13, 14]
segmentation algorithm that aims to detect fishing ac- deal with trajectory segmentation problem and partition
tivities as completely as possible. This example will be the trajectory data into segments and label each segment
illustrated in the experiments in Section 5. with a given activity. These approaches are not
generalizable, as they are tightly fitted to specific domains. its movement semantic.</p>
      <p>The proposed context-matching methodology inspires
by the methods introduced in the Map-Matching domain 4.1. Input definition
[5, 15]. The problem of map-matching is defined as the
procedure that determines which road a vehicle is on We start by defining the input for the context-matching
utilizing data from sensors. Hence, in the context of map- analysis. As mentioned earlier, this methodology uses a
matching, we are matching the trajectory data with the Markov chain as a representation of state-space, which
underlying road network. This is similar to what we describes the movement context. A Markov Chain is a
desire to achieve in context-matching which is matching stochastic process that undergoes transitions from one
a given set of labels to trajectory data. In [15], a state state to another. The Markov property restricts that each
of the art is given for diferent methods used to solve step in the process is memory-less. In other words, only
the problem of map-matching. These methods range the current state of the process is afecting its successor
from geometric approaches to topological approaches state, and not the long history of the state transitions.
and probabilistic approaches. This stochastic process may thus be described as a</p>
      <p>In [15], a Hidden Markov Model is used as a probabilis- Bayesian systems where the probability of the current
tic model to solve the problem of map-matching. We state depends only on the previous state. We describe
inspire from this approach in our methodology in order this context, i.e., the Markov chain, by a weighted
dito define how context is defined and how to transition rected graph, where the edges indicate the transition
from one context to another by using the Markov chain. probabilities of going from one state  to another. In the
In HMM map-matching, the Viterbi algorithm [16] is sequel, we call the Markov chain used for representing
used generally in order to procure the most probable the movement context as the context-diagram.
lattice through the hidden state and output it as the re- As input, we also get a spatiotemporal trajectory in the
sult. This algorithm works fine in map-matching but form of a sequence of observations &lt; (, ) &gt;. Other
in context-matching it is dificult to apply it because of spatiotemporal properties of the moving objects may be
added context to the state space. This is why we opted available or computed, such as the speed, heading,
disto use particle filter which is more flexible. tance from certain geospatial objects, etc. In an abstract</p>
      <p>Particle filtering [ 17] is a sequential Monte Carlo algo- sense, a list of observations, either recorded by sensors
rithm that is a probabilistic model used in the method- or derived is available, denoted as  = {1, ..., }.
ology to assign context to a given point by using the What makes context-matching complex in its
modeldefined model’s transition probabilities. Particle filtering ing is the state space. In addition to geographic
inforis a genetic algorithm. Its objective is to find the most mation such as the speed, direction, and coordinates, a
probable sequence of hidden states in a given model. label feature is added as well to represent the context.
Hence we need a genetic algorithm that could consider
this when finding an optimal path through the model
4. Proposed Methodology lattice.</p>
      <p>Context-Matching consists of matching a given set of
semantic properties (context) to a given sequence of
spatiotemporal points. We assign labels to each trajectory
point which describes its movement semantics. Hence,
the input data is a set of trajectory points that should
at least provide spatiotemporal coordinates. In addition,
each trajectory point could have the necessary
information regarding the context such as speed, heading,
time, distance from the last collected trajectory point,
etc. Based on this input, the methodology decides how
to assign the semantic representation to each trajectory
point. The output of the methodology is the annotated
trajectory, in which each trajectory point is augmented
by labels that represent its semantic (context).</p>
      <p>The methodology has two main parts. Firstly we need
to define the model by specifying its Markov chain. Then,
we need to apply particle filtering to this model in order
to obtain the matching of trajectory data in which each
trajectory instance has a label assigned to it that describes</p>
      <sec id="sec-3-1">
        <title>4.2. Particle filters</title>
        <p>A particle filter, similar to the Kalman filter, is a
technique for estimating the state of a dynamic system. It
is a recursion-based filter which takes the current belief
and updates it based on so-called motion information or
control commands and based on observations. In
contrast to the Kalman, it relaxes the assumption that we
are in a Gaussian space. It actually allows you to
describe arbitrary probability distributions and it uses a
non-parametric form in order to do this.</p>
        <p>What the particle filter does is that it just uses a
number of so-called particles, which are hypotheses for the
system being in one single state. Every particle refers to
one guess that the system is in that state. For
contextmatching, the state represents some semantic properties
of a moving object. Then a thousand particles will be a
thousand guesses or a thousand hypotheses about what
the object’s state could be in the real-world.</p>
        <p>The particle filtering process aims at estimating the
most probable sequence of states from the given sequence
of observations. To do so, it applies the
weight-andresampling method to perform a kind of
survival-of-theifttest principle by injecting the tendency to replicate
particles which have a high importance weight and to forget
those particles which have a low importance weight. In
general, particle filtering process consists of three steps.
For each observation  at time , the particle filtering
process deals with multiple particles  = {1 , 2 , ..., },
each of which is weighted by an importance weight
 = {1 , 2 , ..., }. Assuming that the particles
and weights are already initialized at time 0, here are the
three steps of the particle filtering process:</p>
        <sec id="sec-3-1-1">
          <title>1. Sampling: particles in  are sampled with replace</title>
          <p>ment according to their weights in , i.e., bootstrapping.</p>
          <p>This shall result, as illustrated in Fig.3, that the
higherweight particles get selected multiple times, while some
lower-weight particles get never selected. The
resampling step can be compared to "natural selection" where
the best samples survive.
the particle and the observation, or involve other complex
similarity measures, depending on the application.
2. Update/Drift &amp; Difuse: for each particle  ∈  In other words, particle filters allow us to estimate the
a new particle +1 is generated. This step is broken into: internal states in dynamical systems when partial
observations are made and there are perturbations in the data.
a given the context-state of the selected particle , let The principle is to randomly generate particles following
it be denoted , draw a sample context-state +1 the transition probability laws, and then select the most
using the transition probabilities in the Markov chain likely ones according to the observations and the
emission probability laws defined in the model. The objective
b based on  and +1, generate a new particle +1 is to calculate the posterior process of a Markov model
by applying the corresponding motion model  . The given the observation state. This posterior state space
motion model will result in an update action +1, is represented by with temporal set  with  weighted
e.g., a translation with a certain speed and heading. particles. The sum of all importance weights at time 
This is denoted Drift in Fig. 3. Here we are assuming for a sample set  is 1. Mathematically particle filters are
the spatiotemporal properties of the movement are solving the following:
diferent per context-state. This is a realistic
assumption since otherwise, we know that there is no sufi- • given a set of particles  = {1 , 2 , ..., },
cient information to infer the movement semantics. representing the posterior () =
For instance, a fishing vessel will undergo diferent  (|1, ..., , 1, ..., )
speeds, turns, etc, when fishing than when sailing.</p>
          <p>Next, a noise model (Difuse) is applied in order to • generate a set of particles +1 =
cover some unlikely hypotheses and to diferentiate {1+1, 2+1, ..., +1} of () =
the particles that are copied from the same . In  (+1|1, ..., , zt+1, 1, ..., , ut+1)
practice, drift and difuse can be combined in the
motion model  . In such a case,  is represented as a
set of probability distributions of the motion delta of
every spatiotemporal property.</p>
          <p>Instead of attempting to solve the exact Bayes system
to find the posterior, particle filters represents the
distribution of the posterior by a set of particles drawn from
this distribution. Such a representation is approximate,
but it is non-parametric, and therefore can represent a
3. Measure: This is where the observation  comes much broader space of distributions than, for example,
into the play. A weight is assigned for each generated Gaussians, which is needed to enable a wide range of

particle +1 ∈ +1 proportional to the emission prob- applications for context-matching.
abilities of the model (+1, +1). Weights can be as As can be seen, in Drift &amp; Difuse step in Fig. 3, no
simple as the inverse of the euclidean distance between observation is taken into consideration and the particle
generation is based on the Markov chain context and
the motion model to generate particles. It is at this step updates. For context matching, we would like to track the
that we take into account the transition probabilities of history for performing the semantic annotation. For this,
the model. The Measure step is in charge of assigning we upgrade the particles with additional memory each
a weight to each generated particle. This step uses the  = {1 , 2 , ..., }. At every drift &amp; difuse step,
emission probabilities of the model in order to give each we append the sampled context-state in the memory of
sample a well-defined weight. Hence, during the first the particle in hand, (line 7 in Alg. 1). The mechanism of
step, new samples are generated from the previous ones, the survival-of-the-fittest shall result that the surviving
regardless of the observation +1. In context-matching particles at the end of the particle filter process being
application, the particle filtering process samples gen- the ones that mostly performed the correct state updates
erate many pseudo-random trajectory points associated during the filter iterations. We then perform an
averwith context-states and then select the ones that stick age, by means of majority voting, over the memory of
the most to the observation state. all surviving particles {1, 2, ..., } to predict the</p>
          <p>It should also be noted that for each time instant , state annotations of the trajectory observations, (lines
there are multiple sample candidates and even if they are 16-18 in Alg. 1). That is, the state  ∈  that will be
classified by the importance sampling step, there is not assigned as annotation for the observation , will be the
only one retained. This dynamic setup makes the system state which repeats the most in { }, 1 ≤  ≤ .
resilient to noise and observation errors. The practical design decisions, in terms of parameter
settings, that we choose for this model are as follows:</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>4.3. Context-Matching</title>
        <p>To sum-up, the proposed context-matching, as illustrated
in Algorithm 1, model consists of:
1. A movement context, given as a Markov chain  =
( = {1, ..., },  = { |1 ≤ ,  ≤ , 0 ≤  ≤
1})
2. A trajectory, given as a sequence of observations
 = {1, ..., }, where every observation contains the
spatiotemporal coordinates and possibly other movement
attributes.
3. A movement model  , computed from ground truth.
This model is used in the drift &amp; difuse step in order to
change the sampled particles.
4. The particle filter process, as follows:
a A set of particles  = {1 , 2 , ..., }, which
are initially randomized uniformally over the
statespace. Alongside, there is also the set of weights
 = {1 , 2 , ..., }. 0 is initialized with equal
weights 1/ for all particles. For both sets  iterates
in the range [1..[, where  is the number of
observations in , (lines 2,3 in Alg. 1).
b A bootstrapping routine for the weighted sampling
of particles, (line 5 in Alg. 1).
c A drift &amp; difuse routine for applying the movement
model  to the sampled particles, and producing
+1 = {1+1, 2+1, ..., +1}, (line 6).
d A measure routine to assign weights +1
{1+1, 2+1, ..., +1}, (line 9).
=
e Steps b – d are repeated until all the  trajectory
observations are consumed.
5. The particle filter is an online process that keeps
updating the hypotheses, without retaining the history of
• A trade-of has to be made between the number of
particles , and the eficiency of the particle filtering
process. A higher value for  would potentially improve
the approximation of the density distribution of the
state-space, but it would increase the computational
cost. In context-matching, we expect that the
statespace will consist of 10s of context-states. Therefore
a good number of particles would be in the order of
100s.
• Instead of asking the movement model  as input, we
compute it by means of data analysis of a ground-truth.
The ground-truth provided by the user, needs to be
labeled by the context-state. The analysis will then
learn statistical summaries about the spatiotemporal
proprieties of the motion refined at context-state level.
Many models exist for this analysis, in the fields of
robotics and location prediction e.g., [18, 19, 20].
• In the measure step, we use emission probabilities in
order to give a weight to each sample, (line 9 in Alg. 1).
This emission probability can be found in item 4.3
1
(, ,) = √2 
0.5( ||− ,||great circle )2
 
where   is the standard deviation of location error,
e.g., a widely accepted value for GPS error is 5 meters.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5. Experiments</title>
      <sec id="sec-4-1">
        <title>In this section, we showcase the context-matching</title>
        <p>method in an application for segmenting the
trajectories of fishing vessels. The goal is to annotate the points
in the AIS trajectory of a vessel by either fishing or sailing.
We illustrate the use of context-matching: data
preparation, parameter setting, etc. We also compare the results</p>
      </sec>
      <sec id="sec-4-2">
        <title>Algorithm 1 Algorithm context-matching</title>
        <p>Input list of observations  = [1...], Markov chain
, motion model 
Output annotation list [1, ..., ]
1: Initialize lists 1, 1
2: for  = 1 to  do
3: +1 = ,  = 0,  = ,  = num particles
4: for  = 1 to  do
5: = sample one particle in  using the weights

6: = sample one context-state in  setting the
current state equal to the state of 
7: Append  to the memory of 
8: ¯= sample a new particle from  (¯|, ),
where  is the motion model of state context

9: ¯=  (+1|¯) {measure}
10:  =  + ¯ {sum weights for normalization}
11: +1 = Append ¯ to +1
12: +1 = Append ¯ to +1
13: Normalize +1 by dividing all weights by 
{generate the annotation }
14: for  = 1 to  do
15:  = find the most recurring  in the ℎ-slot of
memory of the particles  = {1, 2, ..., }
16: return [1, ..., ]
with [3], which proposed a dedicated method for this
segmentation.</p>
        <sec id="sec-4-2-1">
          <title>5.1. Dataset</title>
          <p>We use the same labeled dataset in [3]. It consists of AIS
trajectories obtained from the Website of the Danish
Maritime Authority 1, then annotated into sailing, and fishing
segments. The data used is the AIS files of the week
between Nov 14, 2021, and Nov 20, 2021. The dataset is
restricted to the fishing vessels only, thus other types
of vessels are not included in the analysis. The dataset
contains 1, 080, 220 points and has an average sampling
interval of 10.63 seconds. It is made of 128 trajectories
that were manually labeled in [3].
ing segments and the sailing segments. This use case is in
fact a true issue because the detection of vessel activities
allows for combating illegal fishing activities. In addition,
depending on the model, boats must be equipped with
an automatic identification system (AIS), a system that
contains a GPS, so it is possible to track them.
Therefore this segmentation has been a point of attention in
research, e.g., in [21] a method based on Hidden Markov
Model is proposed for detecting ship activities. Note that
the goal of this experiment is not to propose a better
trajectory segmentation method. Rather, our goal is to
illustrate how the proposed context-matching method
can be specialized for a semantic annotation application.</p>
          <p>As discussed during section 4, we need to first design a
Markov Chain G, that captures the context of motion. In
this segmentation application, the context consists of two
states and the transition probabilities of these two states.
This model is presented in Figure 4. We can see that the
probability of staying in the same state for both states is
90% while the probability of transitioning from one state
to another for both states is 10%. They are obtained by
simple statistical analysis of the ground truth.
0.9
sailing
ifshing</p>
          <p>0.9
0.1
0.1</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Let us now describe the drift&amp;difuse process and how</title>
        <p>5.2. Context-matching of fishing vessels it is applied in this experiment. This process is the core
activities of the particle filters and this methodology as discussed
The goal of this analysis is to assign a label to each trajec- in section 4. The principle of this process is to randomly
tthorayt ppooiinntt. dAesscinrib[3in],gwtheecaocntsiivdietyr tohfethaectfisivhiitniegsvoefsssealilaintg tuhpedatrtaentshietiosanmpprloebabitloitythes(am,ple+1)+a1n.dTht hiseiMswarhkeorve
and fishing. From a sequence of AIS positions, a context- chain defined in Figure 4 are used. In this experiment,
matching algorithm should be able to distinguish the fish- the process is split into four parts, in order to update all
the attributes of the particle. Here are these four parts:
• Update heading: The heading change is randomly
drawn from − 22.91 to +22.91 degree from the
previous one. The distribution is uniform. This range is
meant to reflect the degree of the maneuverability of a
ifshing vessels.
• Update context: This is where we use the Markov
chain model (Figure 4) in order to update the context.</p>
        <p>(+1.(context) = sail, .(context) = fish ) =
(+1.(context) = fish , .(context) = sail) = 0.1</p>
        <p>(+1.(context) = sail, .(context) = sail) =
{︃ ( sailing,  sailing), if +1.(context) = sailing</p>
        <p>( fishing ,  fishing ), if +1.(context) = fishing
• Update position: The position is calculated using the
heading and the speed.
method
Proposed
methodology
WBS-RLE
purity</p>
        <p>coverage
⃗ ⃗  ⃗ Table 1
+1.(pos) = +1.(pos)+∆ × +1.(speed)× +1.(dir) Results of context matching for fishing vessels
⃗
Here +1.(dir) denotes the unit vector whereas
+1.(dir) is its argument.</p>
        <p>(a) MMSI #219002136</p>
        <p>(b) MMSI #219011321</p>
        <p>We observe however that the resulting number of
segments is very high on average. The results include many
short segments of a few points, e.g., short sailing
segments inside a longer fishing segment and vice versa, as
illustrated in the example in Fig. 5. Our best guess is that
this is an issue of parameter setting, such as the transition
probabilities in the Markov chain. This is an important
point of further research, that we note for future work.</p>
        <p>In Fig. 5, two examples of context-matched trajectories
for trajectories #219011321 − 3 and #219002136 − 3
can be found.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>6. Conclusions and Future Work</title>
      <sec id="sec-5-1">
        <title>The paper proposed a new tool for the analysis of mobil</title>
        <p>ity trajectories called context-matching. The theoretical
foundation is based on Markov models and particle filters.</p>
        <p>The Markov model enables users to describe a semantic
context of the motion. A memory-enriched particle filter
process is then applied to annotate the trajectory point [8] E. Zimányi, M. Sakr, A. Lesuisse, M. Bakli,
Mobiliwith the semantic states of this context. tydb: A mainstream moving object database system,</p>
        <p>Building on the flexibility of Markov models, it is possi- in: Proceedings of the 16th International
Sympoble to describe arbitrarily complex models. Also building sium on Spatial and Temporal Databases, 2019.
on the dynamics of particle filters, no assumptions are [9] M. Bakli, M. Sakr, E. Zimanyi, Distributed moving
made about the probability distribution of the resulting object data management in mobilitydb, in:
Proceedannotation. As a result, the proposed context-matching ings of the 8th ACM SIGSPATIAL, 2019.
is capable of accurately annotating trajectory points in a [10] F. Natale, M. Gibin, A. Alessandrini, M. Vespe,
variety of application scenarios. A. Paulrud, Mapping fishing efort through ais data,</p>
        <p>While this work is still in its beginning, the prelimi- PloS 10 (2015).
nary experiments in this paper show promising results, [11] G. Rovinelli, S. Matwin, F. Pranovi, E. Russo, C.
Silconfirming that the theory is correct. The experiments vestri, M. Simeoni, A. Rafaetà, Multiple aspect
illustrate context-matching in application to trajectory trajectories: a case study on fishing vessels in the
segmentation. The results are almost as accurate as an northern adriatic sea., in: EDBT/ICDT Workshops,
algorithm which was developed in previous work specif- 2021.
ically for this task and for this data modality. [12] M. Etemad, A. Soares, E. Etemad, J. Rose, L. Torgo,</p>
        <p>The preliminary results in this paper encourage multi- S. Matwin, Sws: an unsupervised trajectory
segple directions for continuing this work. One challenge mentation algorithm based on change detection
that a lot of context authoring is required. Our impression with interpolation kernels, GeoInformatica 25
is that it is possible to automate most of it by incorporat- (2021) 269–289.
ing other exploratory analysis methods. Secondly, some [13] N. Magdy, M. A. Sakr, K. El-Bahnasy, A generic
debugging tool is needed to help analysts unpack the trajectory similarity operator in moving object
stochastic process of particle filters, and fine-tune it. A databases, Egyptian Informatics Journal 18 (2017).
third direction would be to experiment with other data [14] M. Attia Sakr, R. H. Güting, Spatiotemporal pattern
and use cases, including the ones mentioned in this paper. queries in secondo, in: Advances in Spatial and
Temporal Databases: 11th SSTD, Springer Berlin
Heidelberg, 2009, pp. 422–426.</p>
        <p>Acknowledgement [15] M. A. Quddus, W. Y. Ochieng, R. B. Noland,
Current map-matching algorithms for transport
appliThe authors acknowledge the contribution of Marceau cations: State-of-the art and future research
direcCaron, who has developed a first version of this work. tions, Transportation Research Part C: Emerging
Technologies 15 (2007) 312–328.</p>
        <p>References [16] C. Sammut, G. I. Webb (Eds.), Viterbi Algorithm,
Springer US, Boston, MA, 2010, pp. 1025–1025.
[1] J. A. M. R. Rocha, V. C. Times, G. Oliveira, L. O. [17] K. Kempinska, T. Davies, J. Shawe-Taylor,
ProbaAlvares, V. Bogorny, DB-SMoT: A direction-based bilistic map-matching using particle filters, 2016.
spatio-temporal clustering method, in: 5th IEEE [18] P. P. Choi, M. Hebert, Learning and predicting
International Conference Intelligent Systems, 2010. moving object trajectory: a piecewise trajectory
[2] L. A. Leiva, E. Vidal, Warped k-means: An algo- segment approach, Robotics Institute 337 (2006).
rithm to cluster sequentially-distributed data, In- [19] B. Krekelberg, M. Lappe, Temporal recruitment
formation Sciences 237 (2013) 196–210. along the trajectory of moving objects and the
per[3] S. Wu, E. Zimányi, M. Sakr, K. Torp, Semantic seg- ception of position, Vision Research 39 (1999).
mentation of ais trajectories for detecting complete [20] A. Elnagar, K. Gupta, Motion prediction of moving
ifshing activities, in: 23rd IEEE MDM, 2022. objects based on autoregressive model, IEEE
Trans[4] H. R. Künsch, Particle filters, Bernoulli 19 (2013). actions on Systems, Man, and Cybernetics - Part A:
[5] P. Newson, J. Krumm, Hidden markov map match- Systems and Humans 28 (1998) 803–810.
ing through noise and sparseness, in: 17th ACM [21] E. N. de Souza, K. Boerder, S. Matwin, B. Worm,
SIGSPATIAL, November 4-6, Seattle, WA, 2009. Improving fishing pattern detection from satellite
[6] M. Gariel, A. Srivastava, E. Feron, Trajectory clus- ais using data mining and machine learning, PLOS
tering and an application to airspace monitoring, ONE 11 (2016) 1–20.</p>
        <p>IEEE Transactions on Intelligent Transportation [22] A. Soares Júnior, B. N. Moreno, V. C. Times,
Systems - TITS 12 (2010). S. Matwin, L. d. A. F. Cabral, Grasp-uts: an
al[7] M. S. Bakli, M. A. Sakr, T. H. A. Soliman, A spa- gorithm for unsupervised trajectory segmentation,
tiotemporal algebra in hadoop for moving objects, International Journal of Geographical Information
Geo-spatial information science 21 (2018) 102–114. Science 29 (2015) 46–68.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>