Upload
internet
View
105
Download
1
Embed Size (px)
Citation preview
Métodos para instanciar stops e moves
• IB-SMoT
• CB-SMoT
• DB-SMoT
A Clustering-based Approach for Discovering Interesting Places in Trajectories (Andrey Palma, Vania Bogorny, Bart Kuijpers and Luis Otavio Alvares), Proc. of the ACM 23rd Annual Symposium on Applied Computing, (ACM-SAC'08), Fortaleza, Brazil, 16-20 March 2008, p.863-868.
79 citações em 18/10/2012
A Clustering-Based Approach forDiscovering Interesting Places in
Trajectories
Andrey Luis T. Palma
Prof Dr. Luis Otavio Alvares (Orientador)Prof Dra. Vania Bogorny
(Co-Orientadora)
Objetivo
• Considerar a velocidade no processo de atribuição de semântica
Uso de clusterização para identificação de trechos lentos da trajetória (cluster=subtrajetória com baixa velocidade)
Algoritmo CB-SMoT
Dois passos principais:
1. Encontrar as partes lentas da trajetória (clusters)
2. Atribuir mais semântica aos clusters encontrados
CB-SMoT: Clusterização
Pontos são tratados tanto espacial como temporalmente
Clusters são encontrados dentro da trajetória – as partes lentas da trajetória
Idéia geral• Encontrar as partes (subtrajetórias) lentas da
trajetória• Partes lentas = com velocidade média menor que
um certo limite – parâmetro maxAvgSpeed (relativo a velocidade média
da trajetória)• Partes lentas tem que ter uma duração mínima
– Parâmetro minTime • Não queremos pontos de alta velocidade no cluster
– Parâmetro maxSpeed (relativo a velocidade média da trajetória)
Exemplo de trajetória
x
y
velocidade
tempop11
maxSpeed
p12p2p1
p3
p5p4p6
p10
p8
p7
p9
p17p16
p15
p14p13
p20
p19
p18
1. Calcula-se a velocidade em cada ponto (depende do tipo de dado de entrada)
2. Inicia-se o processamento com pontos de baixa velocidade (eficiência): p11 no exemplo
3. A partir deste ponto, pega-se, sucessivamente, o seu vizinho mais lento (desde que sua velocidade não seja superior a maxSpeed e o ponto não pertença a outro cluster): p10,p12,p9,p13, p14,… até que a subtrajetória tenha duração maior que minTime
Passos do algoritmo:
tempo
maxSpeed
velocidade
p11
p12p2p1
p3
p5p4p6
p10
p8
p7
p9
p17p16
p15
p14p13
p20
p19
p18
minTime
4. Se a velocidade média da subtrajetória não for superior a maxAvgSpeed, temos um cluster, que vai ser expandido com o vizinho mais lento que não pertença a outro cluster, enquanto a sua velocidade média não for superior a maxAvgSpeed
Passos do algoritmo (cont.):
Resultado
velocidade
p11
p12p2p1
p3
p5p4p6
p10
p8
p7
p9
p17p16
p15
p14p13
p20
p19
p18
maxSpeed
tempo
CB-SMoT: Tolerância a perdas de sinal
1) Trajetória entra em uma contrução
2) Sinal do GPS é perdido na construção
3) Ao se recuperar o sinal é possível identificar uma baixa velocidade naquele período de perda
Algoritmo CB-SMoTCBSMoT(T,avg,MT,SL,A)INPUT:T : Trajectory avg: maxAverageSpeed MT : minTime SL : maxSpeed
A : Application
1: SpeedClustering(T,avg,MT,SL);2: T.unifyAdjacentClusters();3: Points = T.clusterPoints();4: Points.sortByTime();5: FOR EACH p IN Points DO6: IF p intersects some candidate stop C THEN7: List.add(new Association(p,C));8: ELSE9: List.add(new Association(p,null));10: ENDIF11: ENDFOR12:StopsDiscovering(List);
CB-SMoT: Atribuição de Semântica
• Primeiro significado semântico é intrínseco ao passo de clusterização
Agregação de mais significado depende da aplicação (conjunto de RF)
passo 1: determinar os clusters
passo 2: adicionar semântica a cada cluster
2.1: se intersecta por t stop
Louvre 09-12
Orsay16-17
IbisH. 13-14
Unknown stop
2.2: senão unknown stop
Algoritmo CB-SMoT
Análise dos parâmetros
• Variação do parâmetro minTime
• Variação do parâmetro maxAvgSpeed
• Variação do parâmetro maxSpeed
Variação do MinTime com maxAvgSpeed = 0.8 e maxSpeed = 1.0
MinTime = 90 s
MinTime = 120 s
MinTime = 150 s
Variação do maxAvgSpeed com MinTime = 30s e maxSpeed = 1.0
maxAvgSpeed = 0.6
maxAvgSpeed = 0.7
maxAvgSpeed = 0.8
Variação do parâmetro maxSpeed
maxAvgSpeed = 0.7MinTime = 30s
maxSpeed = 0.9
maxAvgSpeed = 0.7minTime = 30smaxSpeed = 1.5
maxAvgSpeed = 0.8minTime = 30s
maxSpeed = 1.0
maxAvgSpeed = 0.8minTime = 30smaxSpeed = 1.5
(a) 16:00 – 16:10
(b) 17:46 – 18:00
(c) 09:02 – 09:14
(d) 08:04 – 08:10
Clusters em Copacabana
(a) (b)
(c) (d)
Exemplo com dados reais do Rio de Janeiro
Anexos
Anexos
Anexos
• DB-SMoT: a Direction-based spatio-temporal clustering method (Jose Antonio Manso, Valeria Times, Gabriel Oliveira, Luis Otavio Alvares and Vania Bogorny), Proc. of the Fifth IEEE International Conference on Intelligent Systems (IEEE IS 2010), London, 7-9 July 2010.
Motivação• Análise em trajetórias de barcos de pesca com o objetivo de
determinar as zonas onde o barco estava efetivamente pescando
• Tentativas com o CB-SMoT não foram boas:
Motivação
• Especialista em pesca diz que durante a pesca o barco muda bastante de direção, o que não ocorre quando ele está navegando de um ponto a outro
• Idéia geral:
Fazer um algoritmo “similar ao CB-SMoT”, em que o atributo importante fosse a variação da direção
Algoritmo DB-SMoT
Dois passos principais:
1. Encontrar as partes da trajetória com grande variação de direção (clusters)
2. Atribuir mais semântica aos clusters encontrados (semelhante ao CB-SMoT)
Passo 1: clusterização - Idéia geral
• Os clusters correspondem a partes da trajetória em que há grande variação na direção
• Grande variação = variação de direção não inferior a um certo limite parâmetro minDirChange
• Cluster tem que ter uma duração mínima Parâmetro minTime
• Tolerância, em número máximo de pontos contíguos sem grande variação da direção, aceitável em um cluster. Parâmetro maxTol
pi-1
pi+1
pi
Variação de direção
variação da direção
tempo
minDC
p1
p2
p3 p4
p5
p6
p7
p8 p9
p10
p15p14
p13p12
p11
variação da direção
tempo
minDC
p1
p2
p3 p4
p5
p6
p7
p8 p9
p10
p15p14
p13p12
p11
Exemplo de formação de cluster com maxTol = 1
Exemplo da pesca (dados reais)
Outro exemplo de trajetória de barco de pesca
Pesca efetiva Gerado pelo DB-SMoT