Étude de similarité et clustering de trajectoires d objets mobiles Mohamed Khalil EL MAHRSI Télécom ParisTech - BILab, Département Informatique et Réseaux Tutoriel sur l extraction de connaissances des traces d objets mobiles - EGC 2010 Similarité et clustering de trajectoires Tutoriel EGC 2011
Introduction Il y a quelques années... Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Introduction!"#"$%&'())* +"#&%,-./&0 12-#,-. -03 12-#,&4+562&%-. 7-#-/8,0,09 :1;;74())*< ( Aujourd hui : un "boom" dans les technologies de communications mobiles et de géolocalisation...!"# $%&#'#(()*+,'-(%-.):?&@A-/B,-00&##,/())C/D EEEF95&2G33F5"< D-*9-1*1'%*)"9*-4*=;%'%*(%$#?%'*T D-*9-1*%$%&*4%%,*=;)=*9-1*)&%*=&)?<%(T!"#"$%&'())* +"#&%,-./&0 12-#,-. -03 12-#,&4+562&%-. 7-#-/8,0,09 :1;;74())*< > Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Introduction LBS : foursquare, Gowalla, Facebook places... Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Introduction Waze : aide à la navigation avec cartes construites et mises à jour par les remontées GPS des utilisateurs... Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Motivations et intérêt Plusieurs domaines applicatifs ; Trafic routier : Détection et étude de situations de congestion ; Covoiturage. Biologie Étude du comportement migratoire des animaux ; Étude de l effet de la planification des routes sur la faune sauvage. Météorologie Étude du comportement des ouragans. etc. Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Pourquoi le clustering? Extraction de connaissances cachées ; Mouvements de groupes ; Tendances et patterns ; Un moyen pour résumer l information... Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références Similarité et clustering de trajectoires Introduction Tutoriel EGC 2011
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Objectif de l étude de similarité entre trajectoires "In terms of similarity-based retrieval, we are interested in the movement shape of the trajectories ; sequences of sampled vectors are important in measuring similarity between two trajectories and time components can be ignored." [Chen et al., 2005] l intérêt porte sur la dimension spatiale ; la dimension temporelle est negligée ; les fonctions de distance doivent être robustes face à différents facteurs : bruit ; différence entre taux d échantillonnage ; facteurs d échelle, etc. Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Distance Euclidienne Distance Euclidienne (ED) : Soient T et T deux trajectoires de même longueur n : ED(T, T ) = q Pn i=1 dist(p i, P i ) où dist(p i, P i ) = (x i x i )2 + (y i y i )2. Les deux trajectoires doivent avoir la même longueur (c.à-d. le même nombre de points) ; Pas de gestion de la distorsion du temps ; Très sensible au bruit. Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Dynamic Time Warping Dynamic Time Warping (DTW ) 1 Soient T et T deux trajectoires de longueurs respectives n et n : DTW (T, T ) = 0 si n = n = 0 si n = 0 ou n = 0 dist(p 1, P 1 )+ min{dtw (Reste(T ), Reste(T )), DTW (Reste(T ), T ), DTW (T, Reste(T ))} sinon Implémentation par programmation dynamique ; Capable de gérer la distorsion du temps ; Sensible au bruit. 1. Reste(T ) : reste de la trajectoire T après suppression de son premier point Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Longest Common Subsequence [Vlachos et al., 2002] Longest Common Subsequence (LCSS) Soient T et T deux trajectoires de longueurs respectives n et n : 0 si n = 0 ou n = 0 LCSS(T, T LCSS(Reste(T ), Reste(T ) = )) + 1 max{lcss(reste(t ), T ), si dist(p 1, P 1 ) ɛ sinon LCSS(T, Reste(T ))} Capable de gérer la distorsion temporelle ; Robuste en présence de bruit ; Ne donne pas de renseignements sur la taille des parties différentes entre sous-séquences communes. Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Edit Distance with Real Penalty [Chen and Ng, 2004] Edit Distance with Real Penalty (ERP) Soient T et T deux trajectoires de longueurs respectives n et n : P n 1 dist(p i, g) si n = 0 P n ERP(T, T 1 ) = dist(p i, g) si n = 0 min{erp(reste(t ), Reste(T )) + dist(p 1, P 1 ), ERP(Reste(T ), T ) + dist(p 1, g), sinon ERP(T, Reste(T )) + dist(p 1, g)} Basée sur la distance d édition ; Capable de gérer la distorsion du temps ; Sensible à la présence du bruit ; Le recours à une distorsion du temps est pénalisé (constante dist(, g)). Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Edit Distance on Real Sequence [Chen et al., 2005] Edit Distance on Real Sequence (EDR) Soient T et T deux trajectoires de longueurs respectives n et n : n si n = 0 EDR(T, T n si n = 0 ) = min{edr(reste(t ), Reste(T )) + cout 2, EDR(Reste(T ), T ) + 1, sinon EDR(T, Reste(T )) + 1} Capable de gérer la distorsion du temps ; Robuste en présence de bruit. 2. cout = 0 si dist(p 1, P 1) ɛ sinon cout = 1 Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
x Exemple I Soient les trajectoires : Q = [(t 1, 1), (t 2, 2), (t 3, 3), (t 4, 4)] ; R = [(t 1, 10), (t 2, 9), (t 3, 8), (t 4, 7)] ; S = [(t 1, 1), (t 2, 40), (t 3, 2), (t 4, 3), (t 5, 4)] ; P = [(t 1, 1), (t 2, 40), (t 3, 41), (t 4, 2), (t 5, 4)] 1 2 3 4 5 0 10 20 30 40 t Q R S P Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Exemple II x 0 10 20 30 40 Q R S P 1 2 3 4 5 t Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Exemple III x 0 10 20 30 40 Q R S P 1.0 1.5 2.0 2.5 3.0 3.5 4.0 t Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
x Exemple IV Classement des trajectoires R,S et P par rapport à leur similarité à Q (ɛ = 1) : ED : R < S < P ; DTW : R < S < P ; ERP : R < S < P ; LCSS : S = P < R ; EDR : S < P < R. 0 10 20 30 40 Q R S P 1 2 3 4 5 t Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Résumé Distance Distorsion du temps Bruit Métrique Complexité ED non non oui O(n) DTW oui non non O(n 2 ) LCSS oui oui non O(n 2 ) ERP oui non oui O(n 2 ) EDR oui oui non O(n 2 ) Table: Caractéristiques des différentes fonctions de distance. Distances définies sur la totalité des trajectoires et non pas sur des parties (c.à-d. sous-trajectoires) ; Dimension temporelle non prise en compte. Similarité et clustering de trajectoires Recherche de similarité entre trajectoires Tutoriel EGC 2011
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références
Clustering (Cluster Analysis) Définition : Clustering Organiser un ensemble d individus X en classes C 1,..., C k telles que : Les individus similaires appartiennent à une même classe ; Les individus dissimilaires appartiennent à des classes différentes. Le clustering est une méthode de classification non supervisée.
Étapes clés du clustering Choix de la représentation des données ; Définition d un critère de similarité pour le regroupement des individus ; Algorithme de clustering ; Abstraction des résultats ; Évaluation de la qualité des clusters générés.
Différents clusters construits à partir d un même jeu de données
Quelques approches Par partitionnement des données : Les données sont divisées en un ensemble de clusters disjoints. Chaque individu appartient à un et un seul cluster. Hiérarchiques : Une hiérarchie de clusters est établie et représentée sous forme d un arbre (dendrogramme). Basées sur la densité : Les clusters sont construits à partir des régions denses dans le jeu de données. etc.
k-means 234*"$(! " # $!"#"$%&'())* +"#&%,-./&0 12-#,-. -03 12-#,&4+562&%-. 7-#-/8,0,09 :1;;74())*< =?
Clustering hiérarchique Deux 6#*+"+01#0"& approches %&'()*+#$, : ascendante (agglomérative) et descendante ; Clustering UB& A"%' $;51-V*)((4&A1#"$%,1 hiérarchique agglomératif "'+ >%,%-%,1 : Commencer avec des clusters formés par les objets individuels ; )((4&A1#"$%,1 À chaque itération, fusionner les deux clusters les plus proches ; S$"#$*B%$9 "44 &/012$- "-*%'+%,%+6"4*246-$1#- Jusqu à avoir un seul cluster global. )$ 1"29 -$15G*A1#(1*$91 $B& A&-$ -%A%4"#*246-$1#- W'$%4 #1-$- &'1 246-$1#*7&# C*246-$1#-8 % " " # %!! # & '(# '(&$ '(& '('$ $ $ '! " # $ % & &/012$-!"#"$%&'())* +"#&%,-./&0 12-#,-. -03 12-#,&4+562&%-. 7-#-/8,0,09 :1;;74())*< >@ Figure: Clustering hiérarchique ascendant et dendrogramme
DBSCAN [Ester et al., 1996] Algorithme basé sur la densité ; Capable de construire des clusters de forme quelconque ; Le nombre de clusters n est pas spécifié à l avance. database 1 database 2 database 3 Figure: Exemple figure de6: résultats Clusterings obtenus discovered par application by DBSCAN de DBSCAN à des données spatiales. To test the efficiency of DBSCAN and CLARANS, we use the SEQUOIA 2000 benchmark data. The SEQUOIA 2000 benchmark database (Stonebraker et al. 1993) uses real data sets that are representative of Earth Science tasks. There are four types of data in the database: raster data, point data, and on r sults of nificant shape th more, th forms C ciency. Futur First, w bases, h polygon an Eps- DBSCA mension
DBSCAN : Notions Densité : nombre de points dans un voisinage de rayon ɛ ; Point principal (core point) : point dont le voisinage contient au moins minpts points ; Point périphérique (border point) : point dont le voisinage contient moins de minpts points mais qui appartient au voisinage d un point principal ; Les points restants sont considérés comme du bruit.!! "#$%!&#'()!!*#$+%$!&#'()!!,#'-%!.minpts = 6/!
DBSCAN : Exemple (1/7) Un point est choisi (au hasard) parmi l ensemble des données ; Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
DBSCAN : Exemple (2/7) Un point est choisi (au hasard) parmi l ensemble des données ; L ɛ-voisinage du point (c.à-d. les points à une distance ɛ) est inspecté ; Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
DBSCAN : Exemple (3/7) Un point est choisi (au hasard) parmi l ensemble des données ; L ɛ-voisinage du point est inspecté ; Si minpts points (au moins) sont présents dans l ɛ-voisinage, un cluster contenant tous ces points est créé ; Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
DBSCAN : Exemple (4/7) Un point est choisi (au hasard) parmi l ensemble des données ; L ɛ-voisinage du point est inspecté ; Si minpts points (au moins) sont présents dans l ɛ-voisinage, un cluster contenant tous ces points est créé ; Les ɛ-voisinages des points appartenant au cluster sont inspectés... Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
DBSCAN : Exemple (5/7) Un point est choisi (au hasard) parmi l ensemble des données ; L ɛ-voisinage du point est inspecté ; Si minpts points (au moins) sont présents dans l ɛ-voisinage, un cluster contenant tous ces points est créé ; Les ɛ-voisinages des points appartenant au cluster sont inspectés, s ils contiennent suffisamment de points, ces derniers sont ajoutés au cluster ; Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
DBSCAN : Exemple (6/7) Un point est choisi (au hasard) parmi l ensemble des données ; L ɛ-voisinage du point est inspecté ; Si minpts points (au moins) sont présents dans l ɛ-voisinage, un cluster contenant tous ces points est créé ; Les ɛ-voisinages des points appartenant au cluster sont inspectés, s ils contiennent suffisamment de points, ces derniers sont ajoutés au cluster ; Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
DBSCAN : Exemple (7/7) Un point est choisi (au hasard) parmi l ensemble des données ; L ɛ-voisinage du point est inspecté ; Si minpts points (au moins) sont présents dans l ɛ-voisinage, un cluster contenant tous ces points est créé ; Les ɛ-voisinages des points appartenant au cluster sont inspectés, s ils contiennent suffisamment de points, ces derniers sont ajoutés au cluster ; Les points non attribués à des clusters sont considérés comme du bruit. Figure: Principe de fonctionnement de DBSCAN (minpts = 7).
Clustering de trajectoires Plusieurs facteurs entrent dans la définition de la problématique du clustering de trajectoires ; Choix de la représentation des données : géométrique ou symbolique ; Les dimensions considérées : spatiale, temporelle, spatio-temporelle ; Granularité : trajectoires entières, sous-trajectoires, etc. Supposition d un mouvement libre vs intégration des contraintes d un réseau sous-jacent.
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références
dicates the major behavior of the trajectory partitions (i.e., line segments) that belong to the cluster. Notice that a representative trajectory indicates a common sub-trajectory. Partition and Group Framework /* Grouping [Lee Phase et al., */ 2007] Example 3. Figure 3 shows the overall procedure of trajectory clustering in the partition-and-group framework. First, each trajectory is partitioned into a set of line segments. Second, line segments which are close to each other according to our distance measure are grouped together into a cluster. Then, a representative trajectory is generated for each cluster. TR TR TR 4 5 3 (1) Partition A set of trajectories TR 2 TR 1 A representative trajectory Get a set L of line segments using the result; 03: Accumulate L into a set D; /* Figure 12 */ 04: Execute LineSegmentClustering for D; Get a set O of clusters as the result; 05: for each (C O) do /* Figure 15 */ 06: Execute Representative Trajectory Generation; Get a representative trajectory as the result; si Algorithme TRACLUS Figure (TRAjectory 4: The algorithm CLUstering) TRACLUS. en deux phases ; ej 2 2 " 1 " 2 Lj d" = d! l" 1 + l" 2 Partitionnement l"2 sj! : compression d = MIN( l 1, l 2 ) l"1 e i individuelle des trajectoires d! = Lj # sin(! ) (par Li l 2 (2) Group 1 s p l e A cluster A set of line segments Figure 5: Three components of the distance function for lineregroupement segments. : construction Figure 3: An example of trajectory clustering in the partition-and-group Figure: Principe framework. du order 2. Suppose des clusters the projectionavec points ofun the points algorithme sj and ej onto Li are ps and pe, respectively. l 1 is the Euclidean 2.2 Partition-and-Group The TRACLUS Algorithm Framework. distancebasé between sj sur and ps; lal 2 densité is that between (version ej and pe. Figure 4 shows the skeleton of our trajectory clustering d (Li,Lj) = l2 1 + l 2 modifiée de DBSCAN) 2 algorithm TRACLUS. As illustrated in Figure 3, it goes l 1 + ; l 2 (1) through the two phases. It executes three algorithms to Definition 2. The parallel distance between Li and Lj is perform the subtasks (lines 2, 4, and 6). We explain these À l issue de la seconde phase, defined une as Formula trajectoire (2). Suppose the représentative projection points of the est algorithms in Sections 3.3, 4.2, and 4.3. points sj and ej onto Li are ps and pe, respectively. l1 is the minimum of the Euclidean distances of ps to si and ei. 2.3 Distance construite Function pour chaque cluster. Likewise, l2 is the minimum of the Euclidean distances of We now define the distance function used in clustering line pe to si and ei. segments, which is composed of three components: (i) the perpendicular distance (d ), (ii) the parallel distance (d), d(li,lj) = MIN(l1,l2) (2) and (iii) the angle distance (dθ). These components are Remark: The parallel distance in Definition 2 is designed adapted from similarity measures used in the area of pattern to be robust to detection errors, especially broken line segments. recognition [4]. They are intuitively illustrated in Figure 5. Similarité We formally et clustering define thede three trajectoires components through Defini- If we use MAX(l1, l2) instead of MIN(l1, l2), the Clustering de trajectoires Tutoriel EGC 2011 l + l un algorithme de type MDL) ;
ectory. TraClus : Fonction /* Figure de 12 */ distance of trajecrk. First, nts. Secccording a cluster. ach clus- s ajectory /* Grouping Phase */ 04: Execute Line Segment Clustering for D; Get a set O of clusters as the result; Distance 05: for divisée each (Cen trois O) docomposantes : /* Figure 15 */ 06: Distance Execute perpendiculaire Representative d ; Trajectory Generation; Distance Getparallèle a representative d ; trajectory as the result; Distance angulaire d θ ; dist(l i, L j ) = w d + w d + w θ d θ. Figure 4: The algorithm TRACLUS. si sj l"1! Lj d! ej l"2 Li l 1 l 2 s e ei l d" = l d 2 " 1 " 1 + l + l! = Lj # 2 " 2 " 2 d = MIN( l 1, l 2 ) sin(! ) p p luster Figure: Figure Composantes 5: Three decomponents la fonction deof distance the distance utiliséefunction dans TraClus for line segments. g in the order 2. Suppose the projection points of the points s j and e j onto L i are p s and p e, respectively. l 1 is the Euclidean
algorithm in Section 3.3. TraClus : Phase de partitionnement 3.1 Desirable Properties We aim at finding the points where the behavior of a trajectory changes rapidly, which we call characteristic points. Échantillonnage From a trajectory des trajectoires TR i = p 1p 2pd origine 3 p j ppour leni, we nedeter- mine points a set of caractéristiques characteristic points ; {p c1, p c2, p c3,, p cpari conserver que les } (c 1 <c 2 <c 3 < <c pari ). Then, the trajectory TR i is Pointpartitioned caractéristique at every= characteristic point où un point, changement and each partition considérable de vitesse is represented ou de direction by a line s est segment produit between ; two consecutive characteristic points. That is, TR i is partitioned into a set of Utilisation (par i 1) d un linealgorithme segments {p c1 de p c2 type, p c2 p c3 MDL,,(Minimal p cpari Description 1 pcpar }. i Length) We; call such a line segment a trajectory partition. Figure 6 shows an example of a trajectory and its trajectory partitions. pc 2 pc pc 4 3 p5 7 p6 p4 p p3 p2 : characteristic point : trajectory partition p8 p1 pc1 TRi Figure 6: An example of a trajectory and its trajectory partitions. de partitionnement du partition-and-group framework Figure: Phase The length The optimal partitioning of a trajectory should possess we encode th two desirable properties: preciseness and conciseness. Pre- the encoded the MDL pr Figure 7 Suppose a tr of characteri we formulate notes the le clidean dista resents the s On the oth L(D H) repr jectory and jectory parti this trajecto k c j+1 1 difference, w the angle dis since a traje L(D H) =
TraClus : Phase de regroupement Extension des concepts de DBSCAN aux segments ; Un segment est dit segment principal s il y a au moins minseg segments dans son ɛ voisinage ; Un cluster n est retenu définitivement que si un nombre suffisant de trajectoires y ont participé.
gain full practical potential from trajectory clustering, this representative trajectory is absolutely required. TraClus : Construction Figure 13 illustrates de trajectoires our approach of generating représentatives a representative trajectory. A representative trajectory is a sequence of points RT R i = p 1p 2p 3 p j p leni (1 i num clus). These points are determined using a sweep line approach. While sweeping a vertical line across line seg- Pour chaque mentscluster, in the direction une trajectoire of the major axis représentative of a cluster, we fictive est count the number of the line segments hitting the sweep générée ; line. This number changes only when the sweep line passes a starting point or an ending point. If this number is equal Une lignetodeor balayage greater than MinLns, est utilisée we compute pourtheparcourir average coor-ldinate of those line segments with respect to the major axis cluster (perpendiculairement à sa direction moyenne) ; and insert the average into the representative trajectory; otherwise, we skip the current point (e.g., the 5th and 6th positions in Figure 13). Besides, if a previous point is located too close (e.g., the 3rd position in Figure 13), we skip the current point to smooth the representative trajectory. Des points sont créés au début/fin d un segment. 1 2 3 4 5 6 7 sweep MinLns = 3 Figure 13: An example of a cluster and its representative trajectory. Figure: Principe de la construction d une trajectoire représentative We explain the above approach in more detail. To represent the major axis of a cluster, we define the average direction vector in Definition 11. We add up vectors instead of their direction vectors (i.e., unit vectors) and normalize the result. This is a nice heuristic giving the effect of a longer 8! x" 1 x 1 Figure 14: Rota Figure 15 shows the a Generation. We first c tor and rotate the axes sort the starting and end rotated axis (lines 3 4) ending points in the sor line segments and comp line segments (lines 5 1 Algorithm Representa Input: (1) A cluster C i (3) A smoothing Output: A representati Algorithm: 01: Compute the averag 02: Rotate the axes so t 03: Let P be the set of t the line segments in /* X -value denotes 04: Sort the points in th 05: for each (p P) do /* count num p 06: Let num p be th that contain the 07: if (num p Min 08: diff := the d and i 09: if (diff γ)
Variantes TraClass, algorithme de classification de trajectoires par clustering hiérarchique (basé sur les régions et sur les trajectoires) [Lee et al., 2008b]. TRAOD, algorithme de détection d outliers utilisant le principe partition-and-detect [Lee et al., 2008a].
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références
Clusters mobiles [Kalnis et al., 2005] Définition : Cluster mobile Un cluster mobile est une séquence de clusters spatiaux denses qui apparaissent à des instants consécutifs et tels que deux clusters spatiaux possèdent un grand nombre d objets mobiles en commun. [Kalnis et al., 2005]
MC1 : Algorithme de base [Kalnis et al., 2005] À chaque instant t i l algorithme DBSCAN est exécuté pour générer les clusters spatiaux ; Ensuite, l intersection des clusters spatiaux avec les candidats retenus à t i 1 est calculée ; Si un candidat est étendu (par l existence d un cluster spatial qui partage avec lui un nombre important d objets) alors il est retenu pour l itération d après ; Sinon, il est immédiatement signalé et retiré des candidats.
MC1 : Exemple!!!!!! "! " " "! #!! #!$!!! & " #! $ # "!!% "! %! $! %!!! "! # Figure: Exemple d un cluster Fig. 1. Example mobileof sur a moving 3 snapshots cluster consécutifs. O 1 quitte le CM à t 2 tandis que O 5 le rejoint. loss of generality, we assume that the locations of each object were sampled at every timestamp during o i.t. We refer to o i.t, as the lifetime of o i. A snapshot S i of H is the set of objects and their locations at time t i. S i is a subset of S, since not all objects in S necessarily existed at t i. Formally, S i = {o j S : t i o j.t }. Given a snapshot S i, we can employ a standard spatial clustering algorithm, like DBSCAN [5] to identify dense groups of objects in S i which are close to each other and Similarité et clustering the density trajectoires of the group meets the density Clustering constraints de(minpts trajectoires and ) of the clustering Tutoriel EGC 2011
Clusters mobiles Deux autres versions proposées : MC2 réduit le nombre de jointures (pour le calcul des intersections) ; MC3 réduit le nombre d exécutions de DBSCAN (mais résultats approximatifs). Des objets mobiles peuvent, à tout instant, rejoindre ou partir du cluster ; Aucune contrainte de durée minimale n est imposée.
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références
Flock Patterns Plusieurs définitions dans la littérature. Flock ([Benkert et al., 2006] et [Vieira et al., 2009]) Un Flock(minObj, ɛ, duree) est un groupe d au moins minobj objets mobiles dont les positions se trouvent dans un même disque de rayon ɛ pendant exactement duree instants successifs. g algorithms as the base erence between these two lusters are joined between ever, neither of them can e clusters do not assume le, in Figure 2(a) convoy T 3} for θ =3andfor3 ) it does not return noth- = 1 then moving clusters ) and (b). On the other T 1,T 2,T 3} in Figure 2(a) ut the last one is not a urn results based on the flock pattern it would rehe reason is that in both nse areas (t but 2 jusqu à they do not t 4 ). em. oduced in [5, 4, 17], withg time. Later [10] intro- Figure 3: Flock pattern example Figure: Deux flock patterns : f 1 = {T 1, T 2, T 3 } (t 1 jusqu à t 3 ) et f 2 = {T 4, T 5, T 6 } In the above definition, a flock pattern can be viewed as a tube shape formed by the centers c and expanded with diameter ɛ, andhavinglengthδ (consecutive time instants)
Travaux existants [Laube et al., 2004] Définition du flock pattern (sans notion de durée) ; [Benkert et al., 2006] Introduction de la notion de durée + plusieurs méthodes approchées pour découvrir des flock patterns ; [Gudmundsson and van Kreveld, 2006] Détection de flock patterns de durée maximale ; [Al-Naymat et al., 2007] Amélioration de [Benkert et al., 2006] par utilisation de projections aléatoires ; [Vieira et al., 2009] Méthodes exactes pour découvrir des flock patterns à la volée.
BFE (Basic Flock Evaluation) [Vieira et al., 2009] À chaque instant t tous les disques possibles (de rayon ɛ et contenant minobj objets mobiles sont générés) ; Une structure de grille est utilisée pour accélérer la génération des disques ; Les disques sont comparés (jointure) avec les flocks candidats à l instant t ; Tout flock qui satisfait la contrainte de durée est affiché directement (ne sera pas étendu davantage).
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références
Convoy Patterns t O 1 O 2 O 3 O 4 O 5 Définition : Convoy Un Convoy(minObjs, ɛ, mintemps) est un groupe d objets qui restent densément-connectés (par rapport à minobjs et ɛ) pendant au moins mintemps instants consécutifs. [Jeung et al., 2008] 3 2 1 y Figure: Exemple d un convoy contenant cinq objets (O 1, O 2, O 3, O 4 et O 5 ) pendant trois instants consécutifs. x
L algorithme CMC (Coherent Moving Clusters) pour découverte de convoy patterns Algorithme de construction séquentielle de convoy patterns ; Paramètres : minobjs : nombre minimum d objets mobiles dans un convoy (équivalent de minpts dans DBSCAN) ; ɛ : paramètre pour DBSCAN ; mintemps : durée minimale (en nombre d instants consécutifs) d un convoy.
CMC : Principe de fonctionnement À chaque instant t i : DBSCAN est exécuté (avec ɛ et minobjs) pour construire des clusters spatiaux ; Les clusters spatiaux sont comparés (opération d intersection) avec les convoys candidats retenus à t i 1 ; Un convoy candidat qui est étendu par un cluster spatial est retenu pour t i+1 ; Un convoy candidat non étendu est affiché s il satisfait toutes les conditions (rejeté sinon).
Exemple d exécution de CMC (1/3) O 1 O 2 O 3 O 4 t 3 Timestamp Clusters Candidats 1 {O 1, O 2, O 3 } (1 1, {O 1, O 2, O 3 }) 2 y 1 x Figure: Exécution de CMC (minobjs = 2, mintemps = 3).
Exemple d exécution de CMC (2/3) O 1 O 2 O 3 O 4 t 3 Timestamp Clusters Candidats 1 {O 1, O 2, O 3 } (1 1, {O 1, O 2, O 3 }) 2 {O 1, O 2 } (1 2, {O 1, O 2 }) 2 y 1 x Figure: Exécution de CMC (minobjs = 2, mintemps = 3).
Exemple d exécution de CMC (3/3) O 1 O 2 O 3 O 4 t 3 Timestamp Clusters Candidats 1 {O 1, O 2, O 3 } (1 1, {O 1, O 2, O 3 }) 2 {O 1, O 2 } (1 2, {O 1, O 2 }) 3 {O 1, O 2 }, (1 3, {O 1, O 2 }), {O 3, O 4 } (3 3, {O 3, O 4 }) 2 1 y x Figure: Exécution de CMC (minobjs = 2, mintemps = 3).
Plan 1 Introduction 2 Recherche de similarité entre trajectoires Distance Euclidienne Dynamic Time Warping (DTW) Longest Common Subsequence (LCSS) Edit Distance with Real Penalty (ERP) Edit Distance on Real Sequence (EDR) 3 Clustering de trajectoires TraClus Cluster mobiles Flock Patterns Convoy Patterns Clustering de trajectoires contraintes 4 Références
Clustering de trajectoires contraintes Dans plusieurs cas de figure, le mouvement des objets mobiles obéit aux contraintes d un réseau sous-jacent ; Ex. les véhicules se déplaçant sur un réseau routier ; Deux conséquences importantes : Représentation du réseau (graphe orienté ou non, etc.) et des trajectoires (symbolique, avec notion du temps, etc.) ; Choix d une mesure de similarité qui capture la nature du 2 Gook-Pil réseau. Roh et al. T A T B T C Fig. 1. Spatial proximity on road networks Figure: Dans le cas d un mouvement non contraint, T C est plus similaire à T B que T A contrairement au cas contraint. spatial proximity from the viewpoint of the road network (hereafter we call this proximity road-network proximity). To illustrate, Figure 1 presents three trajec-
Clustering hiérarchique de trajectoires [Roh and Hwang, 2010] Algorithme de clustering hiérarchique spatial pour trajectoires contraintes ; Choix de représentation : Réseau routier : graphe non orienté, les nœuds constituent les intersections et les arêtes constituent les segments routiers ; Trajectoires : suite des segments traversés.
Distances utilisées Distance entre deux segments R i et R j : { d d(r i, R j ) = max (Ri, R j ), } d (R j, R i ) ; d (Ri, R j ) = max {min { r i,s, r j,s, r i,s, r j,e }, min { r i,e, r j,s, r i,e, r j,e }}. 3 6 Gook-Pil Roh et al. R i R d (Ri,R j j ) d (Rj,R i ) Figure: Fig. 3. Distance An example entreof deux roadsegments distance R i et R j. 4.2 Trajectory 3. a, b estdistance le pcc entre les deux nœuds a et b
Distance entre deux trajectoires Distance entre deux trajectoires TR i = [ [ ] t1 i,..., n] ti et TR j = t j 1,..., tj m : { D D(TR i, TR j ) = max (TRi, TR j ), } D (TR j, TR i ) ; D (TRi, TR j ) = max t i a TR min i t j TR d(ti b j a, t j b ) ; NNCluster: An Efficient Clustering Algorithm for Road Network Trajectories 7 A B Figure: Fig. Distance 4. Meaning entre of deux trajectory trajectoires distance A et B. Proof. Given two trajectories TR i, TR j and TR k,equation3and4satisfythe following Similarité et properties. clustering de trajectoires Clustering de trajectoires Tutoriel EGC 2011
Procédure de clustering Une matrice de distance est générée pour tous les clusters (initialement les trajectoires individuelles) ; Les clusters les plus proches sont fusionnés et la matrice est mise à jour ; Les fusions s arrêtent lorsque le tout est compris dans le même cluster ; Une version alternative NNCluster (utilisant le principe des NN) est également présentée dans [Roh and Hwang, 2010].
L algorithme NETSCAN [Kharrat et al., 2008] Algorithme de clustering spatial pour trajectoires contraintes, basé sur la densité ; Clustering effectué en deux phases : Découverte de "chemins denses" (Clustering des segments) ; Affectation des trajectoires aux chemins denses (Clustering des trajectoires).
tures with the DBSCAN algorithm and it is based on two steps: Étapes du!" clustering #$%&'()*+,&-$.')+/*0')1*&-$*)$&2(.3*4,&-5*&-,&*,.$*&-$*1$)5$5&*')*&$.65* (0*6(7')+*(89$%&5*&.,)5'&')+*()*&-$6"* :" ;.,9$%&(.<*+,&-$.')+/*0(.*$,%-*4,&-=*+,&-$.*&-$*&.,9$%&(.<*5'6'>,.*&(*'&"* Cluster trajectories (Culs i ) Road Network Clus 2 Clus 1 C 1 Tr 1 C 2 Tr 2 Set of dense roads C 1 C 2 Fig. 2. Trajectory clustering Example by NETSCAN Algorithm Figure: Les deux phases de l algorithme NETSCAN.." /(,0(+'-#$%&'()*+,- The first part of the proposed algorithm, NETSCAN-PHASE 1, which is described here, performs the segment clustering.
Représentation des données Le réseau routier est un ensemble de sections à partir duquel une matrice de transitions M est calculée. Clustering Algorithm for Network Constraint Trajectories""""""! S 1 S 2 S 3 70 S1 & 0 10 0 # S 1 S2 85 S $! 2 $ 70 0 85 10 S 3! S $ % 0 90 0! 3 " 90 Figure: Exemple d une matrice de transitions M associée au réseau routier. Fig. 1. Transitions Matrix assigned to the road network. We adopt a symbolic representation of the trajectories (Du Mouza and Rigaux, 2004), (Savary et al., 2004). In this representation, moving objects appear as a sequence of symbols where each one refers to one road section. TR=<S i1,..,s in> The symbols order shows the movement direction. Une trajectoire TR est une séquence de transitions :!"# $%&%'()%*+,-.(/0)., TR =< S i1, S i2,..., S in >. The similarity is the base of the clustering operation. We define the similarity at two levels. At the network level, the similarity is computed between two transitions as the difference of their density values. This measure concerns only the consecutive transitions. Sim_segment (M(i,j) = M(i,j) M(j,k) $3.2.1#
Mesures de similarité Similarité entre deux transitions : Sim(S ij, S uv ) = M(i, j) M(u, v) (si u = j ou v = i, 0 sinon) ; Similarité entre deux trajectoires : Sim_traj(Traj1, Traj_Ref ) = longueur(partie commune) longueur(traj_ref ) ;
Phase 1 : clustering des segments Paramètres : ɛ : différence maximale entre les densités de deux transitions voisines ; α : densité minimale pour une transition ; Principe : Sélectionner la transition la plus dense ; Essayer d étendre la transition dans les deux sens (avec les transitions qui la suivent et qui la précèdent) ; Répéter ce traitement jusqu à inspection de toutes les transitions.
Phase 2 : clustering des trajectoires Paramètre : σ seuil de similarité minimale. Chaque trajectoire est comparée avec tous les chemins denses générés dans phase 1 ; Lorsque la similarité entre la trajectoire et le chemin dense est supérieure à σ alors elle est ajoutée au cluster représenté par ce dernier ;
DENSITYLINK [Kharrat et al., 2009] Extension des travaux dans [Kharrat et al., 2008] ; Intégration de la notion du temps ; Définition 3 : La période couverte par le jeu de données est divisée en intervalles de temps réguliers ; Une matrice de transitions est générée pour chaque intervalle. S S S Algorithme NETSCAN S S 1 S S2 S 2 S S3 S 3 S S S Figure 1 : Similarité et clustering de trajectoires Clustering de trajectoires Tutoriel EGC 2011
DENSITYLINK [Kharrat et al., 2009] NETSCAN est exécuté sur chaque intervalle pour trouver les chemins denses ; Les chemins denses sont corrélés sur les différents intervalles pour générer un graphe décrivant leur évolution temporelle. Figure 9:
Conclusions Trop de formulations possibles ; Une majorité de méthodes sont basées sur le concept de densité ; Evaluation des résultats du clustering? Exploitation des résultats fournis?
Références I Al-Naymat, G., Chawla, S., and Gudmundsson, J. (2007). Dimensionality reduction for long duration and complex spatio-temporal queries. In SAC 07 : Proceedings of the 2007 ACM symposium on Applied computing, pages 393 397, New York, NY, USA. ACM. Benkert, M., Gudmundsson, J., Hübner, F., and Wolle, T. (2006). Reporting flock patterns. In ESA 06 : Proceedings of the 14th conference on Annual European Symposium, pages 660 671, London, UK. Springer-Verlag. Chen, L. and Ng, R. (2004). On the marriage of lp-norms and edit distance. In VLDB 04 : Proceedings of the Thirtieth international conference on Very large data bases, pages 792 803. VLDB Endowment. Chen, L., Özsu, M. T., and Oria, V. (2005). Robust and fast similarity search for moving object trajectories. In SIGMOD 05 : Proceedings of the 2005 ACM SIGMOD international conference on Management of data, pages 491 502, New York, NY, USA. ACM. Ester, M., Ester, M., Kriegel, H.-p., S, J., and Xu, X. (1996). A density-based algorithm for discovering clusters in large spatial databases with noise. pages 226 231. Gudmundsson, J. and van Kreveld, M. (2006). Computing longest duration flocks in trajectory data. In GIS 06 : Proceedings of the 14th annual ACM international symposium on Advances in geographic information systems, pages 35 42, New York, NY, USA. ACM. Similarité et clustering de trajectoires Références Tutoriel EGC 2011
Références II Jeung, H., Yiu, M. L., Zhou, X., Jensen, C. S., and Shen, H. T. (2008). Discovery of convoys in trajectory databases. Proc. VLDB Endow., 1(1) :1068 1080. Kalnis, P., Kalnis, P., Mamoulis, N., and Bakiras, S. (2005). On discovering moving clusters in spatio-temporal data. IN SSTD, pages 364 381. Kharrat, A., Popa, I. S., Zeitouni, K., and Faiz, S. (2008). Clustering algorithm for network constraint trajectories. In Ruas, A. and Gold, C. M., editors, SDH, Lecture Notes in Geoinformation and Cartography, pages 631 647. Springer. Kharrat, A., Popa, I. S., Zeitouni, K., and Faiz, S. (2009). Caractérisation de la densité de trafic et de son évolution à partir de trajectoires d objets mobiles. In Menga, D. and Sedes, F., editors, UbiMob, volume 394 of ACM International Conference Proceeding Series, pages 33 40. ACM. Laube, P., van Kreveld, M., and Imfeld, S. (2004). Finding remo - detecting relative motion patterns in geospatial lifelines. In 11th International Symposium on Spatial Data Handling, pages 201 214. Lee, J.-G., Han, J., and Li, X. (2008a). Trajectory outlier detection : A partition-and-detect framework. In ICDE 08 : Proceedings of the 2008 IEEE 24th International Conference on Data Engineering, pages 140 149, Washington, DC, USA. IEEE Computer Society. Similarité et clustering de trajectoires Références Tutoriel EGC 2011
Références III Lee, J.-G., Han, J., Li, X., and Gonzalez, H. (2008b). Traclass : trajectory classification using hierarchical region-based and trajectory-based clustering. Proc. VLDB Endow., 1(1) :1081 1094. Lee, J.-G., Han, J., and Whang, K.-Y. (2007). Trajectory clustering : a partition-and-group framework. In SIGMOD 07 : Proceedings of the 2007 ACM SIGMOD international conference on Management of data, pages 593 604, New York, NY, USA. ACM. Roh, G.-P. and Hwang, S.-w. (2010). Nncluster : An efficient clustering algorithm for road network trajectories. In Kitagawa, H., Ishikawa, Y., Li, Q., and Watanabe, C., editors, Database Systems for Advanced Applications, volume 5982 of Lecture Notes in Computer Science, pages 47 61. Springer Berlin Heidelberg. Vieira, M. R., Bakalov, P., and Tsotras, V. J. (2009). On-line discovery of flock patterns in spatio-temporal data. In GIS 09 : Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 286 295, New York, NY, USA. ACM. Vlachos, M., Gunopoulos, D., and Kollios, G. (2002). Discovering similar multidimensional trajectories. In ICDE 02 : Proceedings of the 18th International Conference on Data Engineering, page 673, Washington, DC, USA. IEEE Computer Society. Similarité et clustering de trajectoires Références Tutoriel EGC 2011