Atrajectory is a set of positional information for a moving object, ordered by time. This kind of multidimensional data is prevalent in many fields and applications, for example, to understand migration patterns by studying trajectories of animals, predict meteorology with hurricane data, improve athletes performance, etc. Our study is concentrated on vehicle trajectories within a road network. The growing use of GPS receivers and WIFI embedded mobile devices equipped with hardware for storing data enables us to collect a very large amount of data, that has to be analyzed in order to extract any relevant information. The complexity of the extracted data makes it a difficult challenge. In this context, the goal of this work is to construct, in a data driven way, a collection of trajectories that will model the behaviors of car drivers. These models will be learned from a data set of time-stamped locations of cars. We focus in this work at the clustering of trajectories of vehicles. The natural application of this work is the forecast of the destination of drivers according to the shape of their trajectories. To achieve this goal, the first step is to cluster trajectories having similar paths. This clustering is based on comparison between trajectory objects. This requires a new definition of distance between these objects which are studied.
A large amount of work has been done to give new definitions of trajectory distance. Tiakas et al.(2009) , Rossi et al. (2012), Han et al.(2012) or Hwang et al.(2005) propose road network based distances. They assume that the trajectories studied are perfectly mapped on the road network. However, this task is strongly dependent on the precision of the GPS device. When the time interval between two GPS locations is significant, several paths on the graph are possible between locations, especially when the network is dense. Moreover it requires the knowledge of the road network. Here, we focus on completely data driven methods without any a priori information. Several methods have been used to cluster data set of trajectories. Clustering methods using the Euclidean distance lead to bad results mainly due to the fact that trajectories have different lengths. Hence, several methods based on warping distance have been defined , Berndt (1994), Vlachos et al. (2002), Chen et al. (2004), and Chen et al. (2005 ). These methods reorganize the time index of trajectories to obtain a perfect match between them. Another point of view is to focus on the geometry of the trajectories, in particular on their shape. Shape distances like Hausdorff and Fréchet distances can be adapted to trajectories but fail to compare them as a whole. Lin et al. (2005) proposed a method based exclusively on the shape of the trajectory but at high computational cost.
In section II of this paper several distances are studied and compared. A new distance will be presented in section III: the Symetrized Segment-Path Distance (SSPD). SSPD is a shape-based distance that does not take into account the time index of the trajectory. It compares trajectories as a whole, and is less affected by incidental variation between trajectories. It also takes into account the total length, the variation and the physical distance between two trajectories. To evaluate our distances, and compare them to others, clustering results of some trajectory sets are analyzed in section V.
I Model for trajectory clustering
A continuous trajectory is a function which gives the location of a moving object as a continuous function of time. In our case we will only consider discrete trajectories defined here after.
A trajectory is defined as
where and is the length of the trajectory .
The exact locations between time and are unknown. When these locations are required, a piece wise linear representation is used between each successive location and resulting in a line segment between these two points. This new representation is called a piece wise linear trajectory. In this representation, no assumption is made about time indexing of segment .
A piece wise linear trajectory is defined as : , where and is the length of the trajectory.
The length of the trajectory is the sum of the lengths of all segments that compose it : .
The notation used in this paper are summarized in Table I.
|The set of trajectories|
|The trajectory of set|
|The piece wise linear representation of|
|Length of trajectory|
|Length of the|
|The location of|
|The set of continuous points that compose|
|The line segment between and|
|The time index of location|
|The Euclidean distance between and|
There are many ways to define how close two objects are far one from another. Beyond the notion of mathematical distance, many functions can be used to qualify this dissimilarity. The terminology used in literature to define them is not completely standardized. Therefore we will use the definition established in Deza et al. (2009) as a reference.
Let be a set of trajectories. A function d : is called a on if for all
If all of these conditions are satisfied and d is considered to be a . If the triangle inequality is also satisfied, d is called a . These notations are summarized in Table II.
|Identity of indiscernible||X||X|
X indicates the required properties for each distances, while indicates properties that are automatically satisfied (by the presence of the other required properties for the metric).
I-C Desired properties of clustering and distances
Our aim is to be able to predict the most probable next location of a moving object given few location data points. This prediction should be based on groups of past trajectories that have been gathered together sharing a similar behavior. Hence we aim at finding a clustering method that should regroup trajectories
with similar shape and length
which are physically close to each other
which are similar as a whole with more than just similar sub-parts
all of these properties should be considered without regard to their time indexing
Moreover we want to design a very general procedure able to treat all trajectories data, without a prior knowledge on the particular geographical location where they are collected. To obtain such clustering, the issue of this work is to find a distance that respects such properties and succeed in extracting these features. Actually, the desired distance should have the following properties,
it compares distances as a whole
the compared trajectories can be of different lengths,
the time indexing can be very different from one trajectory to another
the trajectories can have similar shapes but can be physically far from each other and vice versa
extra parameters should not be required.
Ii Distance on trajectories: a review
Three main kind of distances have been introduced in the literature. The first uses the underlying road network, Network-Constrained Distance
. Theses distances will not be detailed in this paper. They assume that the road network is known and that trajectory data are perfectly map on it. Distances that do not use the underlying road network can also be classified into two categories: those who only compare the shape of the trajectory,Shape-Based Distance and those who take into account the temporal dimension; Warping based Distance.
Performance of clustering algorithms using these distances will be compared section I, as well as their computation cost and their metric properties.
Ii-a Warping based Distance
Euclidean distance, Manhattan distance or other -norm distances are the most obvious and the most often used distances. They compare discrete objects of the same length. They can be used to look for common sub-trajectories of a given length but they can not be used to compare entire trajectories. Moreover, these distances will compare locations with common indexes one by one. At a given index , location of trajectory will be compared only to location of trajectory . However, these locations can be strongly different according to the speeds of the trajectories. Hence, it makes no sense to compare them without taking this into account. This problem is also common in time series analysis and not only in trajectory analysis.
Warping distance aims to solve this problem. For this purpose, they enable to match locations from different trajectories with different indexes. Then, they find an optimal alignment between two trajectories, according to a given cost between matched location. Several warping based distance have been defined. DTW (Berndt et al., (1994 )) and later (Vlachos et al., 2002), (Chen et al., 2005) and (Chen et al., 2005). These distances are defined the same way, but they use different cost functions.
In order to define a warping distance, two compared time series trajectories, , are arranged to form a grid . The grid cell, , corresponds to the pair (,).
A warping path, , crosses the grid such that
if , then is equal to , or .
The order of the locations in a trajectory are maintained but they can be repeated, deleted or replaced by an arbitrary value, a , along the warping path. The distance is then computed by minimizing or maximizing the sum of a given cost between all pair of locations that make a warping path , among all existing warping path.
A warping distance is defined as
where is the cost function and is a warping path.
They are generally computed by dynamic programming. Table III displays the cost functions as well as the dynamic formulation of these distances.
On contrary to the three other distances, is a similarity. The exact similarity used in Vlachos et al., 2002 is , which is between and . We will then use the distance
to compare distances to each other.
The metric types of these distance functions, and computational cost for the four methods are summarized in table IV.
All of these distances handle local time shifting.
The cost function uses the Euclidean distance. Some of this distances have been defined using a L1-norm, but Euclidean distance is more adapted for real values.
and ’s cost function count the number of occurence where the Euclidean distance between matched location does not match a spatial threshold, . The former counts similar locations, the latter the difference. This threshold makes the distance robust to noise. However, it has a strong influence on the final results. If the threshold is large, all the distances will be considered similar and if low, only those having very close locations will be considered similar.
In comparison, and put a weight to these differences by computing the real distance between the locations. In this sense they can be viewed as more accurate.
is the only distance which is a regardless of the norm used, yet it works better for normalized sequences, especially for defining the gap value . It does not apply for vehicle trajectories.
In addition, these distances may include a time threshold,
. Thus, two locations will not be compared if the difference between their time indexing is too large. However, it is very hard to estimate the value of this threshold when comparing trajectories due to the presence of noise.
Ii-A2 Pros and Cons
The main advantage of these distances is that they enable comparison of sequences of different lengths.
The two main limitations of warping based distance are the following
Warping methods are based on one-to-one comparison between sequences. Hence, it often requires the choice of a particular series that will be used as a reference, onto which all other sequences will be matched. The indexed of two sequences that are compared should be well balanced in order to capture best the variability. For instance to detect if there were accelerations and decelerations during the measurement of the time series. Hence the choice of the reference sequence is very important.
The performance of usual methods based on warping techniques is hampered by the large amount of noise inherent to road traffic data, which is not the case when studying time series.
Instead of correcting the time index, the solution is to use distances that have the effect of time removed.
Ii-B Shape-Based Distance
These distances try to catch geometric features of the trajectories, in particular, their shape. Among Shape-Based Distances, the Hausdorff distance (Hausdorff, 1914 ), and the Fréchet distance (Fréchet, 1906) are likely the most well known.
The Hausdorff distance is a metric. It measures the distance between two sets of metric spaces. Informally, for every point of set 1, the infimum distance from this point to any other point in set 2 is computed. The supremum of all these distances defines the Hausdorff distance.
The Hausdorff distance between two sets of metric spaces is defined as
This distance is complicated and resource intensive to calculate when applied to most existing sets. But in the case of polygonal curves like trajectories, some simplification can be made due to the monotonic properties of a segment. Distance from a point to a segment is defined as follows.
Where is the orthogonal projection of on the segment .
Hence, the Hausdorff distance between two line segments is
Indeed, a segment is monotonic. As seen in Fig. 1, the supremum of the distance from any points of a segment to a segment occurs at one of the end points of the segment . The Hausdorff distance between two trajectories can then be computed with the following formula.
Hausdorff distance between two discrete trajectories.
The Hausdorff distance can then be computed in a computational time.
Ii-B2 Frechet and discrete Fréchet
The Frechet distance measures similarity between curves. It is often known as the ”walking-dog distance”. Imagine a dog and its owner walking on two separate paths without backtracking from one endpoint to one other. The Fréchet distance is the minimum length of leash required to connect a dog and its owner. While the Hausdorff distance takes distance between arbitrary point, the Fréchet metric takes the flow of the two curves into account.
The Frechet distance between two curves is defined as
As well as the Hausdorff distance, the Frechet distance is a metric. It is also resource intensive. Alt et al. (1995) developed an algorithm measuring the exact Fréchet distance for polygonal curves based on the free space definition.
A free space between two trajectories is the set of all pairs of points whose distance is at most .
The Fréchet distance between two trajectories and is the minimum value of for which a curve exists within the corresponding from to with the property of being monotone in both trajectories. Computing the Fréchet distance means finding this minimum value of . By exploiting the monotonic property of the segments and the definition of the free space, this task can be accomplished more efficiently.
Indeed, the Frechet distance between segments is equal to the Hausdorff distance between segments, i.e.
To compute the Frechet distance between trajectories and , we only look among the set of Frechet distances between all pairs of segments of and . . This simplification enables us to compute the Frechet distance between trajectories and in . We highlight that this computational cost is higher than all the other distance studied.
Eiter et al. (1994) describes an approximation of this distance for polygonal curves called the discrete Fréchet distance. This distance is close to the definition of the warping based distance.
The discrete Fréchet distance is defined as
with , the warping path defined in definition 5. The discrete Fréchet distance can be computed in time.
This distance is bounded as follows.
For any trajectories and 
Ii-B3 One Way Distance
Lin et al. 2005 defines the One-Way-Distance, OWD, from a trajectory to another trajectory . It is defined as the integral of the distance from points of to trajectory divided by the length of
The OWD distance is defined as
where is the distance from the point to the trajectory so that
The OWD distance is not symmetric, but is. This distance is a because it does not satisfy the triangle inequality.
Lin et al., have defined two algorithms to compute the OWD in case of piecewise linear trajectories.
The first consists in finding the parametrized OWD function from a segment of to all segments of and for all segments of
with a complexity.
The second one uses a grid representation of the trajectory. The space is discrete as we see in Fig. 2. Trajectory are defined as the succession of grids they crossed
A grid representation trajectory is defined as
where are cells of the discrete space.
This representation simplifies the computation and reduces the complexity to where is the number of local min points. Local min points of a grid cell are the grids with distances to shorter than those of their neighbors’ grid cell.
Table V displays the metric types and the computational cost of these distances.
Ii-B4 Pros and Cons
Frechet and Hausdorff distances are both metrics, meaning they satisfy triangular inequality. With clustering algorithms like dbscan or K-medoid this is a necessary property for the distance used if we want the clustering algorithm to be efficient. They have been widely used in many domains where shape comparison is needed. But they can fail to compare trajectories as a whole. Indeed both Fréchet and Hausdorff distance return a maximum distance between two objects at given points of the two objects. As we can see in Fig. 3, despite the fact that the trajectories and are well separated at the maximum value of x, they are clearly more similar to each other than to . But with Hausdorff calculated distance, there are no strong differences between , and . With Frechet, is even bigger than and .
The Discrete Fréchet distance requires considerably less computing time compared to the Frechet distance. But Discrete Frechet is not a metric. Moreover, due to its similarity with the warping distance it inherits the same inconveniences.
The distance present in Lin et al. (2005) is by far the one that best meets our requirements. It compares trajectories as a whole, taking into account their shapes and their physical distances, the required features for our distance. However, its complexity makes it computationally slow. The algorithm for grid representation is faster. Its computational time is . Yet it does not take into account the computation time required for matching the trajectory to the grid. Moreover, the size of the grid chosen strongly influences the final result and makes it imprecise. Moreover, the distance gives the same ”weight” to all points defining the trajectory: points directly issued from the GPS location, and points which compose the piece wise linear representation. The greater the length of the segment is, the stronger its influences on the trajectory is. The more separated the endpoints of a segment
is, the less confident the interpolation between them is.
In the following section, a new distance will be established inspired from both the OWD and the Hausdorff distances.
Iii A new distance : Symmetrized Segment-Path Distance (SSPD)
The shape based distances are by far the distances that best fit the desired properties defined in section I-C. However none of them matches it perfectly. Hence, a new distance that fits these requirements is provided in this section. The Symmetrized Segment-Path Distance. This distance is a shape based distance.It takes into account the whole trajectories, and is less affected by noise.
The distance from a point to a trajectory is the minimum of distances between this point and all segments that compose . The Segment-Path distance from trajectory to trajectory is the mean of all distances from points composing to the trajectory
distance is defined as
If is a sub trajectory of , .
If is a sub trajectory of , all points of lie within segments that compose . By definition . It follows that and finally ∎
This distance is not symmetric. If is a very small sub-trajectory of , , can be very large. By taking the mean of these distances, the ”Symmetrized Segment-Path Distance”, SSPD, is defined and is symmetric.
Symmetrized Segment-Path Distance distance
In definitions 14 and 15, distances SPD and SSPD are computed by taking the mean of the Point-to-Trajectory distance and the SPD distance. If the maximum is used instead of the mean, one recovers the Hausdorff function between two trajectories. Computing only one distance between two locations makes it very sensitive to noise. Yet our method computes the mean of such quantities which makes it less sensitive to this noise. For example, for the trajectories in Fig. 3, the SSPD distance between and is lower than the distance between and or and ().
SSDP is a symmetric.
SSDP is quite similar to OWD but its definition resolves most of the problems of OWD regarding the desired properties defined in I-C
The points coming from the interpolation of two observed locations of a trajectory are less trustworthy that the real observations. Hence, it is natural to strengthen the importance of the observed points.
SSPD distance does not require any additional parameters such as a threshold or a grid to be computed.
Its computation cost is . It only depends on the number of locations.
To evaluate these different distances, we will study different clustering obtained with the same algorithm but with distances computed using all previous distances. The different selected clustering methods and the quality of cluster criterion are exposed in this section.
The choice of the clustering method is restricted by the characteristics of the trajectory object. Indeed, trajectories have different lengths which prevents an easy definition of a mean trajectory object. The k-means method cannot be used on our trajectory set, nor spectral clustering methods. k-medoid can be used but an efficient algorithm, like partitioning around medoids, or dbscan method, require a valid metrics. Indeed, these algorithms are based on nearest neighbor and require the distance used to satisfy the triangular inequality. Most of the studied distances, SSPD, LCSS, DTW, are not metrics. In this way, dbscan or partitioning around medoids algorithms will not be used. Moreover, dbscan depends on two extra parameters that are hard to estimate in this case.
To perform the clustering of the trajectories, we will focus on two methodologies : hierarchical cluster analysis
hierarchical cluster analysis(HCA) and affinity propagation (AP). As a matter of fact, HCA and AP can use distance/similarity which does not satisfy the triangle inequality. We point out that the choice of the clustering method is restricted to the trajectory object we deal with. Actually, trajectories have different lengths. HCA and AP are both methods which only require the distance/similarity matrix, and thus can cluster objects of different lengths. Both these methods will be used to evaluate our distance.
Iv-B Quality criterion of cluster result
A clustering algorithm aims at gathering objects into homogeneous groups that are far one from another. Hence, the optimal number of cluster is usually selecting by looking at the between and within variance of the obtained clusters. In this particular case, they can not be computed here because of the impossibility to compute the mean of the trajectory object. Yet, we approximate this mean by considering an exemplar of a set of a trajectoryof length , defined as
Let be a set of clusters of . Hence, the between and within variance are replace by the Between-Like and the variance-like.
Between-Like and Within-Like
The Within-Like criterion shows the spread of elements belonging to the same cluster while the Between-Like criterion shows the spread between clusters. As for the variance, for a given number of clusters, we want the Within-Like criterion to be as small as possible, and the Between-Like criterion to be as big as possible.
V Experimental evaluation
In this section, we evaluate and compare distances LCSS, DTW, Hausdorff, Frechet, Frechet Approximation, and the SSDP. All this distance have been implemented in both python and cython and are available in the traj-dist package (https://github.com/bguillouet/traj-dist).
We also use python for the implementation of the chosen clustering algorithms, the sklearn library for affinity propagation and scipy library for hierarchical clustering analysis. For the latter, weighted, average, ward and single linkage criteria have been compared.
V-a The Data
This subset is a blend of 2802 trajectories. They all have the same pickup location, the Caltrain station, and all have their drop-off location in downtown San-Francisco.
V-B Computation cost
In Table VI we can observe the computation time needed to compute the matrix distance for trajectories composed of between 3 and 36 locations, most having around 10.
Fréchet distance is the distance that takes most computation time. It is the only method that runs in . With python, DTW, LCSS and Discrete Fréchet distances are the fastest methods, while Hausdorff and SSPD are the fastest with cython because of its ability to declare static variables and to use the C math library. DTW, LCSS and Discrete Fréchet each have a backtracking step which is not improved with the cython implementation. This explains the faster computing time for Hausdorff and SSPD.
V-C Analysis of the number of cluster selection
In Fig. 7 we can observe the evolution of the within- and the between- like criterion described section IV for the distance SSPD and for the selected methods AP and CAH. Both the Between-Like and the Within-Like criterion are displayed because the sum of these two criteria is not constant as opposed to the sum of the between and within variance.
The CAH single method gives poor results. All other methods have the same evolution of the studied criterion depending on the cluster size. A plateau can be observed starting from a clusters size between and . Adding more cluster does not decrease significantly the Within-Like Criterion. Twenty is a good cluster size for the CAH method.
CAH Ward and AP give the best results. But the latter does not find any clustering with less than clusters which is a too large cluster size.
The same conclusions can be made with the six studied distances.
The CAH Ward method with cluster size of and the AP method with the preference parameter fixed to the minimum of the computed matrix distance will be used to compare the studied distances in more details.
V-D Analysis of the distances
We can observe the evolution of the Within-Like and the Between-Like criteria for the two selected clustering methods as well as for all studied distances. The CAH WARD results are display in Fig. 8, and the AP results in Fig. 9.
The minimum of cluster size found by the AP method differs significantly according to the used distance. No more thant clusters are found with the DTW distance, and with SSPD or with Hausdorff.
The Warping-based distances, LCSS and DTW, give the poorest results with LCSS being significantly worse than DTW. The two shape-based distances Frechet and Hausdorff give better results. The evolution of their criteria is very similar to each other. The Discrete Fréchet distance is between these two types of distances. These results confirm that shape-based distances are better adapted than warping-based distances for our objectives.
Finally, the new distance SSDP gives the best results. It has the lowest value of Within-Like Criterion for all cluster sizes and with both CAH WARD and AP clustering methods.
We can observe that trajectories are well classified according to their path. In Fig. 11, clusters found with CAH WARD seems to be consistent. The cluster size with AP method is . This is a large number according to the whithin-Like criterion computed with CAH. In fact, the Within-Like criterion does not decrease much between and . However, we can see that clusters found with AP are still consistent.
A cluster computed with the CAH WARD method based on a matrix distance computed with SSPD gives best result. The Between-Like and Within-Like criteria show that this method is good to regroup cluster around exemplar.
Clustering of non Euclidean objects deeply relies of the choice of a proper distance. For trajectories analysis, we presented different distances focusing on different features of such objects. To cope with their different weakness we propose a new distance, the Symmetrized Segment-Path Distance. This distance is time insensitive, and compares the shape and the physical distance between two trajectory objects. It enables to obtain a good clustering using either hierarchical clustering and affinity propagation methods. Hence the clusters obtained are homogeneous with regard to shape and seem to properly capture the behaviours of the drivers. We have thus obtained a partition of the network based on the uses of the drivers that can still be interpreted as vehicles trajectories. Using such features to forecast the final destination of the drivers will be tackled in a following work.
-  E. Tiakas, A. Papadopoulos, A. Nanopoulos, Y. Manolopoulos, D. Stojanovic, and S. Djordjevic-Kajan, “Searching for similar trajectories in spatial networks,” Journal of Systems and Software, vol. 82, no. 5, pp. 772–788, 2009.
-  M. K. El Mahrsi and F. Rossi, “Graph-based approaches to clustering network-constrained trajectory data.” in NFMCP. Springer, 2012, pp. 124–137.
-  B. Han, L. Liu, and E. Omiecinski, “Neat: Road network aware trajectory clustering,” in Distributed Computing Systems (ICDCS), 2012 IEEE 32nd International Conference on. IEEE, 2012, pp. 142–151.
-  J.-R. Hwang, H.-Y. Kang, and K.-J. Li, Spatio-temporal similarity analysis between trajectories on road networks. Springer, 2005.
-  D. J. Berndt and J. Clifford, “Using dynamic time warping to find patterns in time series.” in KDD workshop, vol. 10, no. 16. Seattle, WA, 1994, pp. 359–370.
-  M. Vlachos, G. Kollios, and D. Gunopulos, “Discovering similar multidimensional trajectories,” in Data Engineering, 2002. Proceedings. 18th International Conference on. IEEE, 2002, pp. 673–684.
-  L. Chen and R. Ng, “On the marriage of lp-norms and edit distance,” in Proceedings of the Thirtieth international conference on Very large data bases-Volume 30. VLDB Endowment, 2004, pp. 792–803.
-  L. Chen, M. T. Özsu, and V. Oria, “Robust and fast similarity search for moving object trajectories,” in Proceedings of the 2005 ACM SIGMOD international conference on Management of data. ACM, 2005, pp. 491–502.
-  B. Lin and J. Su, “Shapes based trajectory queries for moving objects,” in Proceedings of the 13th annual ACM international workshop on Geographic information systems. ACM, 2005, pp. 21–30.
-  M. M. Deza and E. Deza, Encyclopedia of distances. Springer, 2009.
-  F. Hausdorff, “Grundz uge der mengenlehre,” 1914.
-  M. M. Fréchet, “Sur quelques points du calcul fonctionnel,” Rendiconti del Circolo Matematico di Palermo (1884-1940), vol. 22, no. 1, pp. 1–72, 1906.
-  H. Alt and M. Godau, “Computing the fréchet distance between two polygonal curves,” International Journal of Computational Geometry & Applications, vol. 5, no. 01n02, pp. 75–91, 1995.
-  T. Eiter and H. Mannila, “Computing discrete fréchet distance,” Citeseer, Tech. Rep., 1994.
-  M. Piorkowski, N. Sarafijanovic-Djukic, and M. Grossglauser, “CRAWDAD data set epfl/mobility (v. 2009-02-24),” Downloaded from http://crawdad.org/epfl/mobility/, Feb. 2009.
-  S.-L. Lee, S.-J. Chun, D.-H. Kim, J.-H. Lee, and C.-W. Chung, “Similarity search for multidimensional data sequences,” in Data Engineering, 2000. Proceedings. 16th International Conference on. IEEE, 2000, pp. 599–608.
-  J.-G. Lee, J. Han, and K.-Y. Whang, “Trajectory clustering: a partition-and-group framework,” in Proceedings of the 2007 ACM SIGMOD international conference on Management of data. ACM, 2007, pp. 593–604.
-  C.-B. Shim and J.-W. Chang, “Similar sub-trajectory retrieval for moving objects in spatio-temporal databases,” in Advances in Databases and Information Systems. Springer, 2003, pp. 308–322.
-  A. Srivastava, E. Klassen, S. H. Joshi, and I. H. Jermyn, “Shape analysis of elastic curves in euclidean spaces,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 33, no. 7, pp. 1415–1428, 2011.